我们在《详解衡量阻抗匹配的几个关键参数》中,复习了一下衡量阻抗匹配的几个参量:VSWR,S11,RL等,根据每个人的习惯,这些参量在我们的设计中都可能用到,有的喜欢用驻波比VSWR,有的喜欢用回波损耗RL,但无论用哪个参量,那么目的都是让信号能够最大的传输,减少引反射引起的能量损耗。
射频设计中的很多问题都是因为阻抗不匹配导致的,这也是射频电路和低频电路最大的区别。为了解决阻抗匹配的问题,我们的老前辈们发明了很多工具,其中最受欢迎的当属菲利普史密斯在1939年发明的圆图。遥想当年,老前辈们一手持图,一手画圈搞射频的情景,是不是还挺有趣的。
别被上面的史密斯圆图吓坏,其实很简单的。我们把它拆解开来,就不复杂了。首先我们来看一下阻抗圆图。阻抗圆图也成为Z图,也就是把归一化的阻抗线表征在复反射系数平面上,并且用极坐标表示,如下图所示。每一个圆对应一个阻抗值,最右边的点,表示开路点,归一化阻抗为无穷大,最左边的点表示短路点,归一化阻抗为0。中心点归一化阻抗为1,是全匹配点。上半圆表示感抗区,即表示电感电抗,下半圆属于容抗区,即表示电容电抗。
在射频设计中,我们通常把50欧姆作为标准阻抗,也就是阻抗是以50欧姆来归一化的,这样,阻抗圆中心的点就是50欧姆。如果你以其他阻抗值归一化的,那直接返归一就好了。阻抗圆在计算串联电路匹配的时候,非常有用。拆解的第二个就是导纳圆,也叫Y圆,是 Γ 平面中的归一化导纳 (Y=C+iS ),其中 (C,S) 表示 Y 的电导率和电能率。通过将阻抗图旋转 180° 可以获得导纳图。图表的上半部分表示 S 的负值(或负电纳率)。下图代表导纳史密斯圆图。
导纳圆在计算并联匹配的时候,常常会用到。因为在电路设计中,通常即用到串联匹配,也会用到并联匹配,所以我们就把阻抗圆和导纳圆叠在了一起,这样看起来就更复杂一点了,但是用起来方便啊,你就串联看绿色线,并联看红色线就行了。
下面是一个用matlab制作史密斯圆图的代码
% 清除工作区、命令窗口,关闭所有图形窗口
clear; clc; close all; % 定义每个圆的采样点数,数值越大圆越平滑 n_points = 1000; % 生成从 0 到 2π 的角度序列,用于绘制圆 theta = linspace(0, 2 * pi, n_points); % 定义要绘制的归一化电阻值 r_values = [0, 0.2, 0.5, 1, 2, 5, 10]; % 定义要绘制的归一化电导值 g_values = [0, 0.2, 0.5, 1, 2, 5, 10]; % 定义要绘制的反射系数模值 gamma_values = [0, 0.2, 0.4, 0.6, 0.8, 1]; % 开启图形保持模式,允许在同一图形中绘制多个对象 hold on; % 绘制阻抗圆 for r = r_values % 计算不同电抗值对应的阻抗圆 for x = -10:0.1:10 % 计算归一化阻抗 z = r + 1j * x; % 计算反射系数 gamma = (z - 1) / (z + 1); % 提取反射系数的实部和虚部 real_gamma = real(gamma); imag_gamma = imag(gamma); % 绘制阻抗圆上的点 plot(real_gamma, imag_gamma, 'b.', 'MarkerSize', 1); end end % 绘制导纳圆 for g = g_values % 计算不同电纳值对应的导纳圆 for b = -10:0.1:10 % 计算归一化导纳 y = g + 1j * b; % 根据导纳和阻抗的倒数关系计算阻抗 z = 1 / y; % 计算反射系数 gamma = (z - 1) / (z + 1); % 提取反射系数的实部和虚部 real_gamma = real(gamma); imag_gamma = imag(gamma); % 绘制导纳圆上的点 plot(real_gamma, imag_gamma, 'r.', 'MarkerSize', 1); end end % 绘制等反射系数圆 for gamma = gamma_values % 计算等反射系数圆上各点的横坐标 x_gamma = gamma * cos(theta); % 计算等反射系数圆上各点的纵坐标 y_gamma = gamma * sin(theta); % 绘制等反射系数圆,颜色为黑色虚线,线宽为 0.5 plot(x_gamma, y_gamma, 'k--', 'LineWidth', 0.5); end % 绘制实轴,颜色为黑色,线宽为 1.5 plot([-1.2, 1.2], [0, 0], 'k', 'LineWidth', 1.5); % 绘制虚轴,颜色为黑色,线宽为 1.5 plot([0, 0], [-1.2, 1.2], 'k', 'LineWidth', 1.5); % 设置坐标轴比例相等,保证图形显示正常 axis equal; % 设置坐标轴的范围 axis([-1.2, 1.2, -1.2, 1.2]); % 显示网格线 grid on; % 设置图形的标题 title('史密斯圆图'); % 添加图例,说明不同颜色曲线代表的含义 legend('阻抗圆', '导纳圆', '等反射系数圆'); |
运行的结果如下:如果在对一个阻抗为ZL=20 + 1j * 30,把它表示在原图上就是:
|
运行一下就可以了。我们先串联一个电感,将负载阻抗zL的实部匹配到1,加入代码:
plot([real(gamma_load), real(gamma_new)], [imag(gamma_load), imag(gamma_new)], 'g-', 'LineWidth', 2);
|
运行得到然后在并联一个电容,将虚部匹配到1,加入代码如下:
|
当然,上述代码都是AI直接生成,有兴趣的同学可以实验一下,对你理解史密斯圆图很有帮助啊 。
版权声明:射频学堂原创或者转载的内容,其版权皆归原作者所有,其观点仅代表作者个人,射频学堂仅用于知识分享。
如需转载或者引用,请与原作者联系。射频学堂转述网络文章,皆著名来源和作者,不可溯源文章除外,如有异议,请与我们联系。转载,商务合作,广告推广,射频社群等,请加微信:RF_Centered,并注明合作事项即可。