• 正文
  • 相关推荐
申请入驻 产业图谱

史密斯圆图,边画边学!

03/07 15:55
2111
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

我们在《详解衡量阻抗匹配的几个关键参数》中,复习了一下衡量阻抗匹配的几个参量: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,把它表示在原图上就是:

% 定义负载阻抗(示例值)
Z_load =20+1j*30;
Z0 =50;% 特性阻抗
% 归一化负载阻抗
z_load = Z_load / Z0;
% 计算负载阻抗对应的反射系数
gamma_load =(z_load -1)/(z_load +1);
% 绘制负载阻抗点
plot(real(gamma_load),imag(gamma_load),'go','MarkerSize',10,'LineWidth',2);
text(real(gamma_load)+0.02,imag(gamma_load),'负载阻抗','FontSize',10);

运行一下就可以了。我们先串联一个电感,将负载阻抗zL的实部匹配到1,加入代码:

r = 1;
x_series =-imag(z_load)+sqrt(1-real(z_load)^2);
z_new =real(z_load)+1j*(imag(z_load)+ x_series);
gamma_new =(z_new -1)/(z_new +1);
% 绘制串联电抗后的阻抗点
plot(real(gamma_new),imag(gamma_new),'mo','MarkerSize',10,'LineWidth',2);
text(real(gamma_new)+0.02,imag(gamma_new),'串联电抗后','FontSize',10);

plot([real(gamma_load), real(gamma_new)], [imag(gamma_load), imag(gamma_new)], 'g-', 'LineWidth', 2);

 

运行得到然后在并联一个电容,将虚部匹配到1,加入代码如下:

% 再通过并联电纳将虚部匹配到 0
y_new =1/ z_new;
b_shunt =-imag(y_new);
y_final =real(y_new)+1j*(imag(y_new)+ b_shunt);
z_final =1/ y_final;
gamma_final =(z_final -1)/(z_final +1);
% 绘制最终匹配后的阻抗点
plot(real(gamma_final),imag(gamma_final),'co','MarkerSize',10,'LineWidth',2);
text(real(gamma_final)+0.02,imag(gamma_final),'匹配完成','FontSize',10);
plot([real(gamma_new), real(gamma_final)], [imag(gamma_new), imag(gamma_final)], 'm-', 'LineWidth', 2);

% 添加图例
legend('阻抗圆', '导纳圆', '等反射系数圆', '负载阻抗', '串联电抗后', '匹配完成');
 

当然,上述代码都是AI直接生成,有兴趣的同学可以实验一下,对你理解史密斯圆图很有帮助啊 。

版权声明:射频学堂原创或者转载的内容,其版权皆归原作者所有,其观点仅代表作者个人,射频学堂仅用于知识分享。

如需转载或者引用,请与原作者联系。射频学堂转述网络文章,皆著名来源和作者,不可溯源文章除外,如有异议,请与我们联系。转载,商务合作,广告推广,射频社群等,请加微信:RF_Centered,并注明合作事项即可。



	
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录