File Exchange

## smooth

version 1.0.0.0 (715 KB) by Christopher Hummersone

### Christopher Hummersone (view profile)

Perform windowed smoothing on a vector using mathematical functions

Updated 05 May 2018

NOTE: this function is now available from the IoSR Matlab Toolbox as iosr.dsp.vsmooth.
-------------------------
SMOOTH Perform windowed smoothing on a vector using mathematical functions

SYNTAX

Y = smooth(X,FRAME)
Y = smooth(X,FRAME,MODE)

DESCRIPTION

Y = smooth(X,FRAME) smooths the input vector X by calculating the running RMS over a series of frames. FRAME specifies the frame characteristics; it can be set to:

a scalar - this will be used as the length of the frame, the window will be rectangular
a vector - this specifies the shape of the analysis window, the frame length will be length(frame).

Y = smooth(X,FRAME,MODE) allows the user to specify a different mathematical smoothing function. The options are:

'rms' - calculates the running rms (default)
'mean' - calculates the running mean (moving average filter)
'median' - calculates the running median

NOTE: SMOOTH uses a vectorized implementation that may be slow when X and/or FRAME_LENGTH are very large. The number of elements that are used for calculation is length(X)*FRAME_LENGTH. The algorithm vectorizes the operation by creating a matrix of indexes and extracting its diagonals. E.g. for a vector of length 4 and frame_length of 2, the algorithm creates a temporary zero-padded matrix x2 from which it creates a set of indexes:

1 1
2 2
3 3
4 4
5 5
6 6

It then extracts the diagonals where -length(x2)+frame_length<=k<=0, yielding:

1 2
2 3
3 4
4 5

this is used to index x2; operations are then performed along the rows.

### Cite As

Christopher Hummersone (2020). smooth (https://github.com/IoSR-Surrey/MatlabToolbox), GitHub. Retrieved .

Alexandra Jaros

### Alexandra Jaros (view profile)

Christopher Hummersone

### Christopher Hummersone (view profile)

Hi Victoria,

As it says in the overview above: “this function is now available from the IoSR Matlab Toolbox as iosr.dsp.vsmooth.”

Chris

Victoria

### Victoria (view profile)

There is no "smooth" function in this download. The closest is "smoothSpectrum" which doesn't have the same inputs.

 11 Aug 2016 1.0.0.0 Migrated to GitHub.
##### MATLAB Release Compatibility
Created with R2009a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux