Magnitude data of S-parameters

61 Ansichten (letzte 30 Tage)
Anna
Anna am 12 Feb. 2015
Kommentiert: WIlliam Main am 13 Aug. 2017
I'm analyzing data from s-parameters using the rf toolbox and I was wondering if there is a simple command for extracting the magnitude data of the parameters without having to extract it from the rfplot handle?
BR, Anna

Akzeptierte Antwort

Giorgia Zucchelli
Giorgia Zucchelli am 13 Feb. 2015
Hi Anna,
I think I would recommend the following approach:
S = sparameters('Data.s2p'); % read the touchstone file
s_param = S.Parameters; % extract the S-parameters from the data structure
% (for convenience)
f = S.Frequencies; % extract the frequency vector from the data structure
% (for convenience)
s_param_mag = abs(s_param); % compute the magnitude of the S-parameters
% this is a standard MATLAB function
plot(f, squeeze(s_param_mag(2,1,:))); % plot the S21 as a funtion of frequency
I hope that this helps, With best regards, Giorgia
  1 Kommentar
WIlliam Main
WIlliam Main am 13 Aug. 2017
I was expecting that if I convert s_param_mag to dB (i.e. log10(s_param_mag(2,1,frequency)*10 it would give the same value as I see in the plot generated by rfplot at frequency. But it does not, what am I missing? Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Joe Wargo
Joe Wargo am 18 Feb. 2015
Bearbeitet: Joe Wargo am 18 Feb. 2015
Hi Anna,
Just to extend the good advice Giorgia gave, if you want to look at just one of the Sij parameters (s21, for instance) you can use the rfparam() function:
S = sparameters('Data.s2p'); % Read the touchstone file
s21 = rfparam(S,2,1); % Extract the s21 data
s21_mag = abs(s21);
s21_db = 20*log10(s21_mag);
I hope that helps!
Joe

Kategorien

Mehr zu Visualization and Data Export finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by