MATLAB Answers

Magnitude data of S-parameters

81 views (last 30 days)
Anna on 12 Feb 2015
Commented: WIlliam Main on 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

Answers (2)

Giorgia Zucchelli
Giorgia Zucchelli on 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 Comment
WIlliam Main
WIlliam Main on 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!

Sign in to comment.

Joe Wargo
Joe Wargo on 18 Feb 2015
Edited: Joe Wargo on 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!



Community Treasure Hunt

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

Start Hunting!

Translated by