%USB3p1_37324_IRL_ver1.m
clear all;
%% Read S-parameter
%[freq1,Smat1,Zterm]=read_spara('SUN_JCE_HDMI_30M_R004.s16p',16);
% matrix conversion to 2D
%k=0;
%for m=1:16
% for n=1:16
% k=k+1;
% Smat_1(m,n,:)=Smat1(:,k);
% end
%end
ckt = read(rfckt.passive,'type_c_v7_modifiedbyJK_nport_2_150203_HFSSDesign1_s32p2s20p_MA.s20p');
%MA format.
Smat_1 = ckt.NetworkData.Data;
freq1 = ckt.NetworkData.Freq;
port=20;
freq2=300e3:300e3:15e9;
Smat_2=spline(freq1,Smat_1,freq2);
sweeppoint=length(freq2);
%% pin definition %%
%%%%%%%%%% mixed mode martix %%%%%%%%%% a,b -----> m,n
% 1 TX1p ----- TXp 11
% 2 TX1n ----- TXn 12
% 3 RX1p ----- RXp 13
% 4 RX1n ----- RXn 14
% 5 TX2p ----- TXp 15
% 6 TX2n ----- TXn 16
% 7 RX2p ----- RXp 17
% 8 RX2n ----- RXn 18
% 9 Dp ----- Dp 19
% 10 Dn ----- Dn 20
%smix=s2smm(Smat_1);
s_dd=zeros(port/2,port/2,sweeppoint);
for m=1:port/2
for n=1:port/2
for k=1:sweeppoint
s_dd(m,n,k)=(Smat_2(m*2-1,n*2-1,k)+Smat_2(m*2,n*2,k)-Smat_2(m*2,n*2-1,k)-Smat_2(m*2-1,n*2,k))/2;
end
end
end
IL=zeros(sweeppoint,port/4);
for m=1:port/4
IL(:,m)=20*log10(abs(s_dd(m,m+port/4,:)));
end
%this equation IL and ILfit ref to dB.
freq=freq2.';
freq_s=freq.^2;
freq_ss=freq.^0.5;
F=[freq_ss,freq,freq_s];
A=(F.'*F)\F.'*IL;
ILfit=zeros(sweeppoint,port/4);
for m=1:port/4
ILfit(:,m)=A(1,m)*freq_ss+A(2,m)*freq2.'+A(3,m)*freq.^2;
end
%%%%%%%%%% Vin(f) martix %%%%%%%%%%
Vin=zeros(sweeppoint,1);
for k=1:sweeppoint
Vin(k,1)= abs(sin(freq2(1,k)*pi*(2e-11))*sin(freq2(1,k)*pi*(5e-11))/((freq2(1,k)*(2e-11))*pi^2*(freq2(1,k)*(5e-11))));
end
sum_irl_numerator=zeros(port/4,1);
sum_irl_denominator=zeros (port/4,1);
irl_numerator=zeros(sweeppoint,port/4);
irl_denominator=zeros(sweeppoint,port/4);
IRL=zeros(port/4,1);
for m=1:port/4
for k=1:sweeppoint
irl_numerator(m,1)=(abs(Vin(k,1)))^2*(abs(s_dd(m,m+port/4,k)))^2*((abs(s_dd(m,m,k)))^2+(abs(s_dd(m+port/4,m+port/4,k)))^2);
irl_denominator(m,1)=(abs(Vin(k,1)))^2;
sum_irl_numerator(m,1)=sum_irl_numerator(m,1)+irl_numerator(m,1);
sum_irl_denominator(m,1)=sum_irl_denominator(m,1)+irl_denominator(m,1);
%clear imr_numerator(m,k) imr_denominator(m,k)
end
IRL(m,1)=20*log10(sqrt(sum_irl_numerator(m,1)/sum_irl_denominator(m,1)));
end
for m=1:port/4
IRLlimit(m,1)=0.046*(ILfit(12e9/300e6,m))^2+1.812*ILfit(12e9/300e6,m)-15.825;
end
IRL.rar_IRL
版权申诉
88 浏览量
2022-09-24
20:35:15
上传
评论
收藏 1KB RAR 举报
Kinonoyomeo
- 粉丝: 77
- 资源: 1万+
最新资源
- JAVA-线程的入门记录
- Python毕设基于Django网络在线求职招聘网站+源代码+文档说明+数据库.zip
- Python基于Django网络在线求职招聘网站+源代码+文档说明+数据库.zip
- 春节主题社交媒体情绪分析电商销售分析*新闻媒体报道分析
- 实验2 修改表结构和插入记录.docx
- Dockerfile: Ubuntu18.04 + Python3.10
- Invicti Professional v24.6.0
- Python毕业设计-基于深度学习的水果识别系统的源代码+文档说明+数据集+模型(高分项目)
- YOLO 一种流行的实时目标检测算法快速且准确地检测图像中的对象
- PyTorch 开源的机器学习框架结合了动态计算图的灵活性和深度学习库的强大功能
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈