Why the length of power spectrum is fixed at 4096 when the signal's length varies ?
34 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chuguang Pan
am 12 Jun. 2025 um 11:54
Verschoben: Walter Roberson
am 13 Jun. 2025 um 0:01
I was using pspectrum function to obtain the power spectrum of time series signals. However, I find that when I set different length of time series signal, the power spectrum return by the pspectrum function has fixed length 4096. I want to konw what underlying mechanism is causing this result ?
diffSignalLengths = 50:50:5000; % different signal length for experiment
Fs = 3e3; % sampling frequency
lenPS = zeros(numel(diffSignalLengths),1);
for ii = 1:numel(diffSignalLengths)
x = rand(diffSignalLengths(ii),1);
P = pspectrum(x,Fs);
lenPS(ii) = length(P);
end
disp(all(lenPS == 4096))
0 Kommentare
Akzeptierte Antwort
Mathieu NOE
am 12 Jun. 2025 um 13:59
Verschoben: Walter Roberson
am 13 Jun. 2025 um 0:01
hello
in "auto" mode (i.e when you don't specify the frequency resoltion) , the fft is done with 4096
this is visible in the pspectrum code :
if isempty(opts.FrequencyResolution)
% Auto mode
Npoints = uint32(4096);
else
% Set Npoints to achieve desired resolution
fspan = 4*Fs;
Npoints = uint32((1+fspan/opts.FrequencyResolution(1)));
end
2 Kommentare
Mathieu NOE
am 12 Jun. 2025 um 14:37
Verschoben: Walter Roberson
am 13 Jun. 2025 um 0:01
my pleasure !
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!