How make this curve bit smooth or how to reduce some spikes?
    6 views (last 30 days)
  
       Show older comments
    
    Nisar Ahmed
 on 4 Sep 2021
  
    
    
    
    
    Commented: LALIT PANKAJ GROVER
 on 4 Sep 2021
            Hi,
I want to make this curve bit smoth by minimizing some spikes or I want remove some high frequency content from the curve.
How I can do it? I to do it by applying some moving average filter or band pass filter, etc.?

0 Comments
Accepted Answer
  Star Strider
      
      
 on 4 Sep 2021
        ‘I to do it by applying some moving average filter or band pass filter, etc.?’  
That depends entirely on the nature of the noise.  None of those will work with broadband noise because they are all essentially frequency-selective filters.  For broadband noise, use the Savitzky-Golay filter (Signal Processing Toolbox sgolayfilt function), or the 'sgfilt' option in the smoothdata function.  Wavelet denoising is also an option.  
The best way to determine if the noise is band-limited is to first takt the fft of it.  That plot will tell you.  
.
4 Comments
More Answers (1)
  Chunru
      
      
 on 4 Sep 2021
        Try the median filter, where X is your data, N could be around 10 (try it out).
Y = medfilt1(X,N) 
2 Comments
  LALIT PANKAJ GROVER
 on 4 Sep 2021
				You can use:
a = movmean(A,K)
A is vector or matrix on which you want apply mean average. 
 K is a silding window along which you receive your mean.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!