Do I need to use repmat to plot the RMS at every point in a signal?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Can you please tell me how to plot the RMS at every point in the signal. I think I might need to use the repmat function to do it but I'm not sure.
clear all;
Array=csvread('Pencilbreak-63dB.csv');
col1 = Array(:, 1);
col2 = Array(:, 2);
plot(col1, col2)
end
7 Kommentare
dpb
am 18 Feb. 2014
The file is of little help/interest...as we're telling you, you'll have to choose a sampling window based on the response time of your system you need.
There are several (actually a veritable plethora) of submissions on File Exchange--do a search for "moving rms".
Antworten (1)
Chad Greene
am 18 Feb. 2014
The rms of a single point is not terribly interesting. There are many ways to do what you're trying to do, but you could take a "moving rms", which would be the rms of a small segment of the signal. To center a 101-point rms of your signal (below call it signal ) about point n, you could do
signalrms = NaN(size(signal)); % preallocates the array
for n = 51:length(signal)-51
signalrms(n) = rms(signal(n-50:n+50));
end
2 Kommentare
Chad Greene
am 18 Feb. 2014
Yes, we can assume column 1 represents time and column 2 is your signal. In the code above, indices of each value are given by n. That's about as much as I can tell you without actually doing your homework for you.
Siehe auch
Kategorien
Mehr zu Matrix Indexing 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!