滤波器:根据耦合矩阵画出S参数原程序
05-08
clc;
clear;
M_K=[0.0000 0.0056 -0.000 -0.00019 0.0000 0.0001
0.0056 0.0000 0.0038 0 -0.0013 -0.0000
0.0000 0.0038 0.0000 0.0048 0.0000 -0.0000
-0.00019 0 0.0048 -0.0000 0.0038 0.0000
0.0000 -0.0013 0.0000 0.0038 -0.0000 0.0056
0.0001 -0.0000 -0.0000 -0.0000 0.0056 0.0000
]
R1=1.0698
Rn =1.0698
M=M_K;
Freq_0=1905;
FBW=12.4;
Freq_start=1820;
Freq_stop=1980;
Freq_step=0.1;
Q=7500;
r_Q=Freq_0/(Q*FBW);
Freq=Freq_start:Freq_step:Freq_stop;
Freq_N=(Freq_stop-Freq_start)/Freq_step+1;
[N_r,N_c]=size(M);
N=N_r;
for i_i=1:1:N
for j_j=1:1:N
R(i_i,j_j)=0;
end
end
R(1,1)=R1;
R(N,N)=Rn;
fbw_1=Freq_0/FBW;
for i_i=1:1:Freq_N
W_1=Freq(i_i)/Freq_0;
W_2=Freq_0/Freq(i_i);
P=fbw_1*(W_1-W_2);
A_1=%i*P*eye(N,N);
A_2=R;
A_3=%i*M*fbw_1;
for k_k=1:1:N
A_3(k_k,k_k)=A_3(k_k,k_k)-%i*r_Q;
end
A=A_1+A_2+A_3;
In_A_1=inv(A);
S_21(i_i)=2/sqrt(R1*Rn)*In_A_1(N,1);
S_11(i_i)=1-2/R1*In_A_1(1,1);
r_S_21(i_i)=abs(S_21(i_i));
r_S_11(i_i)=abs(S_11(i_i));
dB_S_21(i_i)=20*log10(r_S_21(i_i));
dB_S_11(i_i)=20*log10(r_S_11(i_i));
end
plot(Freq,dB_S_21,'r',Freq,dB_S_11,'b');
xgrid ;
画红的地方是要输入的参数.这个程序当时是在scilab中写的.
有什么问题就留言吧
clear;
M_K=[0.0000 0.0056 -0.000 -0.00019 0.0000 0.0001
0.0056 0.0000 0.0038 0 -0.0013 -0.0000
0.0000 0.0038 0.0000 0.0048 0.0000 -0.0000
-0.00019 0 0.0048 -0.0000 0.0038 0.0000
0.0000 -0.0013 0.0000 0.0038 -0.0000 0.0056
0.0001 -0.0000 -0.0000 -0.0000 0.0056 0.0000
]
R1=1.0698
Rn =1.0698
M=M_K;
Freq_0=1905;
FBW=12.4;
Freq_start=1820;
Freq_stop=1980;
Freq_step=0.1;
Q=7500;
r_Q=Freq_0/(Q*FBW);
Freq=Freq_start:Freq_step:Freq_stop;
Freq_N=(Freq_stop-Freq_start)/Freq_step+1;
[N_r,N_c]=size(M);
N=N_r;
for i_i=1:1:N
for j_j=1:1:N
R(i_i,j_j)=0;
end
end
R(1,1)=R1;
R(N,N)=Rn;
fbw_1=Freq_0/FBW;
for i_i=1:1:Freq_N
W_1=Freq(i_i)/Freq_0;
W_2=Freq_0/Freq(i_i);
P=fbw_1*(W_1-W_2);
A_1=%i*P*eye(N,N);
A_2=R;
A_3=%i*M*fbw_1;
for k_k=1:1:N
A_3(k_k,k_k)=A_3(k_k,k_k)-%i*r_Q;
end
A=A_1+A_2+A_3;
In_A_1=inv(A);
S_21(i_i)=2/sqrt(R1*Rn)*In_A_1(N,1);
S_11(i_i)=1-2/R1*In_A_1(1,1);
r_S_21(i_i)=abs(S_21(i_i));
r_S_11(i_i)=abs(S_11(i_i));
dB_S_21(i_i)=20*log10(r_S_21(i_i));
dB_S_11(i_i)=20*log10(r_S_11(i_i));
end
plot(Freq,dB_S_21,'r',Freq,dB_S_11,'b');
xgrid ;
画红的地方是要输入的参数.这个程序当时是在scilab中写的.
有什么问题就留言吧
大概介绍一下,可能有的朋友还不太了解这个.
这个程序可以根据耦合矩阵在scilab中画出S参数(大家可以转换为matlab程序,只是一些标记需要修改一下).
作用有两个,一是验证我们提取的耦合矩阵是否正确,满足S参数的要求.
二是可以在实际滤波器设计完成后,通过实测的S参数来判断所得到的耦合矩阵和我们设计的耦合矩阵的差别,快速找到差别的地方,比如M21有差别,就可以知道12之间的耦合需要调整.
三是可以做为滤波器机辅调试的理论依据.当然这个是通过测量的S参数插值后转换到耦合矩阵.基本原理一样吧
我喜欢
谢谢小编
看了一下,这是算N阶矩阵的,小编其实还不如把原始公式贴出来呢
相关文章:
- 光纤和同轴线能正常耦合吗?(05-08)
- 定向耦合器一问?(05-08)
- 现在用谱域法计算波导和微带的耦合的还多吗?(05-08)
- 同轴线到谐振腔的耦合是怎么搞得(05-08)
- 一个关于耦合微带线的问题(05-08)
- hfss仿真双层耦合微带天线问题请教】(05-08)
射频专业培训教程推荐