Wilkinson功分器分析 matlab
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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));
程序运行如下: