Do I need to use repmat to plot the RMS at every point in a signal?
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
dpb
il 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".
Risposte (1)
Chad Greene
il 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 Commenti
Chad Greene
il 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.
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!