Hi. It's been a while since I've used matlab. I have some graphs in .trc files and I've been given a function that is supposed to be able to plot these files, but I'm having a hard time figuring out how it's done. Here's the function:

1 Kommentar

Code is:
function ExamplePlotImpedances(code,no)
% function ExamplePlotImpedances(src)
%
% Example program
% Load and plot a group of impedance measurements from HP8753,
% saved as S11-parameters
% From functions written in LabVIEW at HBV-IMST
Zref = 50; % Ohm Reference impedance
%-- Build fileames --
Nf = length(no);
for k=1:Nf
src{k}= sprintf('%s%04d.trc', code, no(k));
end
for k=1:Nf
%--- Load raw data ---
trc(k)= readtrace(src{k});
%--- Create frequency vector, calculate Z, and plot impedance ---
f{k}= [0:trc.Np-1]*trc.dx+trc.x0; % Hz Frequency vector
end
S11{k} = double(trc.y(:,1)+ 1i*trc.y(:,2));
Z = Zref* (1+S11{k})./(1-S11{k}); % Ohm Complex impdance
end
keyboard
subplot(2,2,1)
semilogy(f,abs(Z));
xlabel('Frequency [Hz]')
ylabel('Impedance magnitude [Ohm]')
grid on
subplot(2,2,3)
phi = angle(Z);
plot(f,rad2deg(phi));
xlabel('Frequency [Hz]')
ylabel('Phase [deg]')
ylim([-90 90])
set(gca, 'ytick', [-90:30:90])
grid on
subplot(2,2,2)
plot(f, real(Z), 'b-', f, imag(Z), 'r-');
xlabel('Frequency [Hz]')
ylabel('Impedance [Ohm]')
grid on
subplot(2,2,4)
plot(f, real(S11), 'b-', f, imag(S11), 'r-');
xlabel('Frequency [Hz]')r
ylabel('S11')
ylim([-1 1])
grid on
keyboard
return

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 12 Mai 2017

0 Stimmen

8 Kommentare

Weifu
Weifu am 21 Nov. 2017
Hi, I'm using Matlab 2016b now and it seems this function does not correct due to textscan function error. Does textscan function changed for 2014 and 2016 Matlab? Thanks.
Walter Roberson
Walter Roberson am 21 Nov. 2017
What error message are you seeing?
Margareta Drozdikova
Margareta Drozdikova am 2 Mai 2018
Bearbeitet: Walter Roberson am 2 Mai 2018
Hi , I have some problem. I use readtrc function, I wrote readtrc('subor.trc') and error is
Subscript indices must either be
real positive integers or logicals.
Error in readtrc (line 20)
traces{k+1,1}=cell2mat(Columns(TracesIdx(size(TracesIdx))+4:size(Rows{1,1})));
Error in skuska1 (line 1)
readtrc('subor.trc')
how can I solve it?
thanks
Walter Roberson
Walter Roberson am 2 Mai 2018
Can you zip up the .trc file and attach the zip here?
Dear all,
have you been able to solve this problem? I have the same error:
Subscript indices must either be real positive integers or logicals.
Error in readtrc (line 20)
traces{k+1,1}=cell2mat(Columns(TracesIdx(size(TracesIdx))+4:size(Rows{1,1})));
Error in LeCroy_testy (line 5)
traces=readtrc('dane.trc');
I would be gratefull for your help!
Walter Roberson
Walter Roberson am 21 Jul. 2020
Can you attach or link to the .trc file for testing?
Alessandro Verniani
Alessandro Verniani am 15 Okt. 2021
The attached .trc file has both strings and integers, causing the readtrc function to error. If there are any solutions, please advise!
Walter Roberson
Walter Roberson am 15 Okt. 2021
That appears to be a binary .trc file, but the File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/48919-readtrc-read-r-s-trc-files-into-a-matlab-cell-array is expecting only text files.
Your .trc file is LECROY_2_3 format. You should get ReadLeCroyBinaryWav​eform by Jean-Daniel Deschênes from the File Exchange.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Import and Export finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 12 Mai 2017

Kommentiert:

am 15 Okt. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by