Matlab Codes_s parameter to transmission line parameters conversion
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Consider two structures in cascade
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/153298/image.png)
I wil name the combined structure as C.
I have the s-parameters for the structure A and for the overall structure C. I want to extract the s-param for the structure B. i need to use matlab for the purpose.
The technique i have chosen is to convert S-param to transmission param (or ABCD param), since for a cascaded structure like above the ABCD parameters would be
[Tc]=[Ta][Tb]
where Tc=transmission param for combined structure Ta=transmission param for structure A Tb=transmission param for structure B
to find Tb i can do the following computations: [Tc][Ta]-1=[Tb]
So in the maTLAB code attached below, i have taken the s2p (sparam file) for structure A, converetd it to t param( infact the ABCD param), then taken the s2p file for C and multiplied both matrices. the end result is converted back to s-param file, since i want my answer in s-param. Please note that the matrices used here are 3D matrices.
i have written the code but the answers are wrong. there are no errors. but the answers are not matching with the s-param i have for structure B. Can neone plz help?
it doesnt matter if the code is slow etc. All i want is the correct ans.
file = 'C:\Users\abc\A.s2p'; h = read(rfdata.data,file); % Read s-param file containing the s-param for structure A into data object. [outmatrix, freq] = extract(h,'S',50); %extracting s-param from the file abcd_params_h = s2t(outmatrix); %converting to ABCD param
a=abcd_params_h
for j=1:127 bi=inv(a(:,:,j));
eval(['A' num2str(j) '=bi']);
end
%where A1, A2 etc are the inverse of transmission param for the test structure and have to be multiplied with the transmission param for total structure % c=cat (3,A1,A2,A3,A4,A5);
file2 = 'C:\Users\abc\C.s2p'; h1 = read(rfdata.data,file2); % Read s-param file containing the s-param for structure C into data object [outmatrix1, freq] = extract(h1,'S',50); %extracting s-param from the file abcd_params_h1 = s2t(outmatrix1); %converting
b=abcd_params_h1;
for j=1:127 bi=(b(:,:,j));
eval(['B' num2str(j) '=bi']);
end %where B1, B2 etc are the transmission param for the total structure and %have to be multiplied with the inverse transmission param generated above using %outmatrix
% c=cat (3,B1,B2,B3,B4,B5)
C1=A1*B1
C2=A2*B2
C3=A3*B3
C4=A4*B4
C5=A5*B5
C6=A6*B6
C7=A7*B7
C8=A8*B8
C9=A9*B9
C10=A10*B10
C11=A11*B11
C12=A12*B12
C13=A13*B13
C14=A14*B14
C15=A15*B15
C16=A16*B16
C17=A17*B17
C18=A18*B18
C19=A19*B19
C20=A20*B20
C21=A21*B21
C22=A22*B22
C23=A23*B23
C24=A24*B24
C25=A25*B25
C26=A26*B26
C27=A27*B27
C28=A28*B28
C29=A29*B29
C30=A30*B30
C31=A31*B31
C32=A32*B32
C33=A33*B33
C34=A34*B34
C35=A35*B35
C36=A36*B36
C37=A37*B37
C38=A38*B38
C39=A39*B39
C40=A40*B40 C41=A41*B41
C42=A42*B42
C43=A43*B43
C44=A44*B44
C45=A45*B45
C46=A46*B46
C47=A47*B47
C48=A48*B48
C49=A49*B49
C50=A50*B50
C51=A51*B51
C52=A52*B52
C53=A53*B53
C54=A54*B54
C55=A55*B55
C56=A56*B56
C57=A57*B57
C58=A58*B58
C59=A59*B59 C60=A60*B60
C61=A61*B61
C62=A62*B62
C63=A63*B63
C64=A64*B64
C65=A65*B65
C66=A66*B66
C67=A67*B67
C68=A68*B68
C69=A69*B69
C70=A70*B70
C71=A71*B71
C72=A72*B72
C73=A73*B73
C74=A74*B74
C75=A75*B75
C76=A76*B76
C77=A77*B77
C78=A78*B78
C79=A79*B79
C80=A80*B80
C81=A81*B81
C82=A82*B82
C83=A83*B83
C84=A84*B84
C85=A85*B85
C86=A86*B86
C87=A87*B87
C88=A88*B88
C89=A89*B89 C90=A90*B90
C91=A91*B91
C92=A92*B92
C93=A93*B93
C94=A94*B94
C95=A95*B95
C96=A96*B96
C97=A97*B97
C98=A98*B98
C99=A99*B99
C100=A100*B100
C101=A101*B101
C102=A102*B102
C103=A103*B103
C104=A104*B104
C105=A105*B105
C106=A106*B106
C107=A107*B107
C108=A108*B108
C109=A109*B109
C110=A110*B110
C111=A111*B111
C112=A112*B112
C113=A113*B113
C114=A114*B114
C115=A115*B115
C116=A116*B116
C117=A117*B117
C118=A118*B118
C119=A119*B119
C120=A120*B120
C121=A121*B121
C122=A122*B122
C123=A123*B123
C124=A124*B124
C125=A125*B125
C126=A126*B126
C127=A127*B127
outmatrix2=cat (3,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14, C15,C16,C17,C18,C19,C20,C21,C22,C23,C24,C25,C26,C2 7,C28,C29,C30,C31,C32,C33,C34,C35,C36,C37,C38,C39, C40,C41,C42,C43,C44,C45,C46,C47,C48,C49,C50,C51,C5 2,C53,C54,C55,C56,C57,C58,C59,C60,C61,C62,C63,C64, C65,C66,C67,C68,C69,C70,C71,C72,C73,C74,C75,C76,C7 7,C78,C79,C80,C81,C82,C83,C84,C85,C86,C87,C88,C89, C90,C91,C92,C93,C94,C95,C96,C97,C98,C99,C100,C101, C102,C103,C104,C105,C106,C107,C108,C109,C110,C111, C112,C113,C114,C115,C116,C117,C118,C119,C120,C121, C122,C123,C124,C125,C126,C127)
%now we have obtained the transmission parameters for B structure only %and we have to convert it to s-param and get the s2p file from which we %can plot curve etc
s_params_h2 = t2s(outmatrix2); %converting
txdata = rfdata.data; txdata.S_Parameters = outmatrix2; txdata.Freq=freq write(txdata,'C:\Users\abc\B.s2p')
somebody plz help :(
Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!