Why the length of power spectrum is fixed at 4096 when the signal's length varies ?
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
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 个评论
采纳的回答
  Mathieu NOE
      
 2025-6-12
        
      移动:Walter Roberson
      
      
 2025-6-13
  
      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 个评论
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Spectral Measurements 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

