Wilkinson功分器分析 matlab

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab文件如下:

Z0 = 50;

Z1 = sqrt(2)*Z0;

Zr = 2*Z0;

S21 = [];

S32 = [];

S22 = [];

S11 = [];

for f_f0 =0.5:0.001:1.5;

[S21_m,S32_m,S22_m,S11_m] = Wilkinson(Z0,Zr,Z1,f_f0);

S21 = [S21,S21_m];

S32 = [S32,S32_m];

S22 = [S22,S22_m];

S11 = [S11,S11_m];

end;

k = 0.5:0.001:1.5;

plot(k,S21,'r');

grid on;

hold on;

plot(k,S32);

grid on;

axis([0.5 1.5 -80 0]);

hold on;

plot(k,S22,'k');

hold on;

plot(k,S11,'g');

xlabel('归一化频率f/f0');

ylabel('S曲线');

title('采用奇偶分析方法,分析Wilkinson功分器');

legend('S21','S32','S22','S11');

hold off;

函数文件如下:

function [S21,S23,S22,S11] = Wilkinson(Z0,Zr,Z1,f_f0)

%

% Z0:功分器电路阻抗;Zr:并联电阻阻抗;Z1:分支线阻抗;f_f0:归一化频率%

theta = pi/2*f_f0;

Zin2_e = Z1*(2*Z0 + j*Z1*tan(theta))/(Z1 + j*2*Z0*tan(theta));

V2_e = Zin2_e/(Zin2_e + Z0);

Zin2_o = (j*Z1*tan(theta)*Zr/2)/(j*Z1*tan(theta) + Zr/2);

V2_o = Zin2_o/(Zin2_o + Z0);

% 端口2的输入电压值

V2 = V2_o + V2_e;

Gamma1 = (2*Z0 - Z1)/(2*Z0 + Z1);

V1_e = (1 + Gamma1)/(exp(j*theta) + Gamma1*exp(-j*theta))*V2_e;

V1_o = 0;

V1 = V1_e + V1_o;

abs_S21 = abs(V1);

S21 = 20*log10(abs_S21);

V3 = V2_e - V2_o;

% 计算隔离度

S23 = 20*log10(abs(V3));

% 计算2端口的回波损耗

Gamma2_e = (Zin2_e - Z0)/(Zin2_e + Z0);

Gamma2_o = (Zin2_o - Z0)/(Zin2_o + Z0);

V2_e1 = Gamma2_e;

V2_o1 = Gamma2_o;

V2_1 = V2_e1 + V2_o1;

S22 = 20*log10(abs(V2_1));

% 计算一端口的回波损耗

Zin1_e = Z1*(Z0 + j*Z1*tan(theta))/(Z1 +j*Z0*tan(theta)); Gamma1 = (Zin1_e - 2*Z0)/(Zin1_e + 2*Z0);

S11 = 20*log10(abs(Gamma1));

程序运行如下:

相关文档
最新文档