About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
  • License: Freeware
  • Last update: 6 years ago
  • Total downloads: 126
  • Price: Free |
  • Operating system: Linux, Mac OS X, Win All, BSD, Solaris
  • Publisher: Jan Simon (32 other programs)
See full specifications

scripts default iconfSGolayFilt (Scripts) Publisher's description

fSGolayFilt is a fast polynomial smoothing filter for uniformly spaced signals

fSGolayFilt is a fast polynomial smoothing filter for uniformly spaced signals. This implementation offers less flexibility than other versions found in the MATLAB Central (eg. from Jianwen Luo, YangQuan Chen or Vassili Pastushenko), but it is optimized for speed by using a C-Mex function for the calculations.

Y = fSGolayFilt(X, K, F, [W], [Dim])
X: Noisy data, real DOUBLE or SINGLE vector or array.
K: Polynomial order.
F: Length of the moving window.
W: Weighting factors, optional.
Dim: Dimension to operate on, optional.
Y: Smoothed data, same size and type as X.

Compared to SGOLAYFILT of the Signal Processing Toolbox of Matlab 2009a, this implementation is 70% to 85% faster for short [100 x 1] and large [1E7 x 1] vectors (see screenshot taken on a single threaded machine). Multi-threading can increase the speed remarkably, but Matlab's filter method benefits from multiple cores also.

The C-mex have to be compiled as usual: mex -O fSGolayCore.c
Unfortunately multi-threading is implemented for Windows only. For OS-X and Linux a single-thread version is included. For futher help see fSGolayCore.c, e.g.: how to set the maximum number of threads at compile time and limit the number of used threads at run time.
After compiling run the unit-test TestfSGolayFilt to test validity and speed on your machine. The test does not need the Signal-Processing-Toolbox anymore.

Mar-2009: This new version is compatible with 32 and 64 bit addressing. Now the initial and final phases are computed in the Mex also to improve the performance by about 10%.
Jun-2010: Optimized for MSVC 2008 (30% faster). Multi-threading increases the speed in addition. Input [Dim]. Computes DOUBLE and SINGLE arrays.

I'd appreciate suggestions for improvements and bug reports sent through email - thanks.

System Requirements:

MATLAB 7.8 (R2009a)
Program Release Status: Major Update
Program Install Support: Install and Uninstall

fSGolayFilt (Scripts) Tags:

Click on a tag to find related softwares

Is fSGolayFilt (Scripts) your software?

Manage your software

Most Popular

scripts default icon ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation 1.1
ASK, OOK, FSK, BPSK, QPSK, 8PSK modulation contain several functions for digital modulation simulation
scripts default icon Simulink Communication Labs 1.1
Simulink Communication Labs allows you to learn communication systems in greater depth.
scripts default icon M-QAM modulation and demodulation 1.1
M-QAM modulation and demodulation is the QAM modulation and demodulation tech.
scripts default icon LZW Compression/Decompression 1.1
LZW Compression/Decompression - Updated LZW compressor and decompressor with reasonable performance
scripts default icon InSPIRE utility to plot a 2D displacement field (Scripts) 1.0
This program plots the deformation field (displace vectors) contained in vector.txt.