smooth

Perform windowed smoothing on a vector using mathematical functions
2.5K 次下载
更新时间 2018/5/5

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.

引用格式

Christopher Hummersone (2024). smooth (https://github.com/IoSR-Surrey/MatlabToolbox), GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2009a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Curve Fitting Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明
1.0.0.0

Migrated to GitHub.

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库