资源简介
用来画斯密斯圆图的程序,
很不错。
需要的下载吧

代码片段和文件信息
function[A]=smithch(argzKmla);
%用法一:A=smithch(z1)是已知归一化特性阻抗z1
%用法二:A=smithch([VSWR zmin Zc] 是已知驻波比、电压波节点的位置zmin(单位是波长)和特性阻抗Zc
if nargin<4; la=1/8; end; %1/8波长
if nargin<3; Km=0; end;
if nargin<1; arg=1; end;
if length(arg)==3;
z1=arg(1); zmin=arg(2); Zc=arg(3); Km=0; ph=(1-zmin*4)*pi; %arg()是取幅角
gm=(z1-1)/(z1+1)*exp(-j*ph); z=(1+gm)/(1-gm); Kz=1; %gm是反射系数
else;
z1=arg(1); Zc=1; Kz=0;
end;
%..................................................................绘制圆图
t=(0:360)*pi/180; x=cos(t); y=sin(t); r=[0.99 1.02];
plot(xy‘k‘); hold on; whitebg(‘w‘); axis equal; axis off; %绘制最外的等圆,whitebg为用色风格设置
H=plot([-1.02 1.02][0 0]); set(H‘color‘[0 0.5 0]);
for i=1:6; %将外圆等分为24份
u=r*cos(pi*i/12); v=r*sin(pi*i/12);
plot(uv‘k‘u-v‘k‘-uv‘k‘-u-v‘k‘);
end;
text(-1.060‘0‘‘fontname‘‘arial‘‘fontsize‘10 ... %给主要的4个分点做标注
‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(-0.061.04‘0.125‘‘fontname‘‘arial‘‘fontsize‘10 ...
‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(1.030‘0.25‘‘fontname‘‘arial‘‘fontsize‘10 ...
‘color‘[0 0 0.5]‘fonta‘‘italic‘);
text(-0.06-1.04‘0.375‘‘fontname‘‘arial‘‘fontsize‘10 ...
‘color‘[0 0 0.5]‘fonta‘‘italic‘);
i=150:170; xi=x(i)*1.1; yi=y(i)*1.1;
H=plot([-1 xi][0.5 yi]‘k‘[-1 xi][-0.5 -yi]‘k‘); %绘制向源和向负载箭头
text(-10.78‘向源‘‘fontname‘‘arial‘‘fontsize‘9); %箭头类型标注
text(-1-0.7‘向负载‘‘fontname‘‘arial‘‘fontsize‘9);
plot(0.5*x+0.50.5*y‘b‘); %绘制r=1的圆,因为外圆半径为1,所以这里用0.5做半径
text(0.020.33‘1‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
if Km<1;
i=1:10:361; xi=x(i); yi=y(i);
gm=1/3; H=plot(gm*xigm*yi‘:‘); set(H‘color‘[0 0.5 0]); %绘制模值为1/3和2/3的反射系数圆
gm=2/3; H=plot(gm*xigm*yi‘:‘); set(H‘color‘[0 0.5 0]);
text(-0.230.19‘1/3‘‘fontname‘‘arial‘‘fontsize‘10 ...
‘color‘[0 0.5 0]);
text(-0.580.48‘2/3‘‘fontname‘‘arial‘‘fontsize‘10 ...
‘color‘[0 0.5 0]);
a=1/(1+2); plot(a*x+1-aa*y‘b‘); %r=2,绘制电阻圆图
a=1/(1+0.5); plot(a*x+1-aa*y‘b‘); %r=0.5,绘制电阻圆图
text(0.360.033‘2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
text(-0.420.033‘0.5‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
text(-0.970.033‘0‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘b‘);
xx=x+1; yy=y+1; I=find((xx.*xx+yy.*yy)<=1.001); %用find函数返回所有小于等于1.001的圆图
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘); %x=-11,绘制电抗圆图
a=1/2; xx=a*x+1; yy=a*y+a; I=find((xx.*xx+yy.*yy)<=1.001);
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘); %x=-22,电抗圆图
a=1/0.5; xx=a*x+1; yy=a*y+a; I=find((xx.*xx+yy.*yy)<=1.001);
plot(xx(I)yy(I)‘r‘xx(I)-yy(I)‘m‘); %x=-0.5 0.5,电抗圆图
text(0.530.79‘2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(-0.040.95‘1‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(-0.630.72‘1/2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘r‘);
text(0.52-0.79‘-2‘‘fontname‘‘arial‘‘fontsize‘10‘color‘‘m‘);
text(-0.05-0.95‘-1‘‘fontnam
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 9091 2009-04-09 20:37 smithch.m
- 上一篇:精通MATLAB最优化计算源代码
- 下一篇:用matlab实现音频水印的嵌入与提取
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论