资源简介
用来画斯密斯圆图的程序,
很不错。
需要的下载吧
代码片段和文件信息
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实现音频水印的嵌入与提取
- 精通MATLAB最优化计算源代码
- 自适应卡尔曼滤波器的matlab实现
- hmm算法matlab实现和
- 思典-粒子群优化Matlab工具箱
- 实现2DPSK功能的matlab程序
- 最优潮流Matlab程序
- matlab最小二乘法滤波
- DSP计算机作业 自适应噪声抵消LMS算法
- matlab中实现雷达信号处理
- 马氏距离判别法matlab
- QAM调制的matlab实现
- SVPWM驱动异步电机matlab2008a
- matlab_neat源程序
- 人脸分割matlab
- 图像稀疏表示matlab193095
- matlab BP神经网络的动量梯度下降算法
- 隐马尔科夫模型程序范例
- DES的MATLAB实现
- 免疫遗传算法matlab工具箱.rar
- 基于matlab的0-1背包程序贪婪法,带输
- 克里金及协同克里金插值__matlab代码
- 国外资源 基于PCA的人脸识别matlab代码
- mimo matlab
- 四阶Runge-Kutta法解常微分方程组实验报
- 自编Matlab函数实现图像缩放
- RBM玻尔兹曼机的matlab简单演示程序
- 利用pts降低papr的matlab代码
- 基于matlab的人工蜂群算法
- LEACH算法相关代码
评论
共有 条评论