FFT and smoothing of signal
    47 ビュー (過去 30 日間)
  
       古いコメントを表示
    
Hi, I have the attached signal (TENS_LOW). I would like to obtained the smoothed FFT of the signal. How can I smooth the spectrum?
Thanks
5 件のコメント
  Adam
      
      
 2017 年 1 月 16 日
				How to smooth the spectrum depends what you want to do with it really. There are plenty of ways to do it, depending how aggressive you want to be. A simple mean filter would do if you just want aggressive smoothing, but not if you want to retain certain information in peaks etc
採用された回答
  Star Strider
      
      
 2017 年 1 月 16 日
        Now I understand what you want to do. This is most easily done with the Signal Processing Toolbox sgolayfilt function to create the Savitzky-Golay filtered spectrum.
The Code —
D = load('Isma_gp TENS_LOW.mat');  
sig = D.TENS_LOW_42;
sig = sig - mean(sig);                                      % Remove d-c Offset
L = length(sig);
Fs = 1/0.0117;                                              % Sampling Frequency
Fn = Fs/2;                                                  % Nyquist Frequency
FTsig = fft(sig)/L;
Fv = linspace(0, 1, fix(length(FTsig)/2)+1)*Fn;             % Frequency Vector
Iv = 1:length(Fv);                                          % Index Vector
FTsiga = double(abs(FTsig(Iv))*2);                          % Truncate, Magnitude, Convert To Double
sgf_sm = sgolayfilt(FTsiga, 5, 501);                        % Create ‘sgolayfilt’ Filtered FFT
figure(1)
plot(Fv, FTsiga)
hold on
plot(Fv, sgf_sm, '-r', 'LineWidth',2)
hold off
axis([0  1    ylim])
grid
xlabel('Frequency')
ylabel('Amplitude')
legend('Original Spectrum', 'Savitzky-Golay Filtered Spectrum')

Experiment with the sgolayfilt parameters to get the result you want.
12 件のコメント
  SYML2nd
 2022 年 12 月 1 日
				Hi @Star Strider, I think this is a brilliant solution to smooth the fft for which there are not so much other oprions to smooth it, such as for the PSD where we can use pwelch and a windowing. Are there any reference (literature) where this method of smoothing is used?
  Star Strider
      
      
 2022 年 12 月 2 日
				@SYML2nd — Not to my knowledge, although I did not do a literature search.  My approach here is essentially empirical.  
その他の回答 (0 件)
参考
カテゴリ
				Help Center および File Exchange で Signal Generation, Analysis, and Preprocessing についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!






