## smooth

Version 1.0.0.0 (150 KB) by
Perform windowed smoothing on a vector using mathematical functions

Updated 5 May 2018

From GitHub

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 (2023). smooth (https://github.com/IoSR-Surrey/MatlabToolbox), GitHub. Retrieved .

##### MATLAB Release Compatibility
Created with R2009a
Compatible with any release
##### Platform Compatibility
Windows macOS Linux
##### Categories
Find more on Curve Fitting Toolbox in Help Center and MATLAB Answers

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!