File Exchange

image thumbnail

ifilter: Interactive Fourier filter function, version 4.1

version 1.6 (17.4 KB) by

Keyboard-operated interactive Fourier filter function for time-series signals.

9 Downloads

Updated

View License

ifilter(x,y) or ifilter(y) or ifilter([x y]) or ry=ifilter(x,y,center,width,shape,plotmode,filtermode)
Keyboard-operated interactive Fourier filter function for time-series signal (x,y), with keyboard controls that allow you to adjust the filter parameters continuously while observing the effect on your signal dynamically. Optinal input arguments set the intital values of center frequency, filter width, shape, plotmode (1=linear; 2=semilog frequency; 3=semilog amplitude; 4=log-log) and filtermode (Band-pass,Lowpass, Highpass, Bandpass, Band-reject, Comb pass, and Comb reject). Returns the filtered signal. Press K to list keyboard commands.
T. C. O'Haver (toh@umd.edu), Version 4 adds comb pass and comb reject filter modes.
Example 1:
x=0:100;y=sin(x);ifilter(x,y);
Example 2 uses optional input arguments to set intital values:
x=0:(1/8000):.3;
y=(1+12/100.*sin(2*47*pi.*x)).*sin(880*pi.*x)+(1+12/100.*sin(2*20*pi.*x)).*sin(2000*pi.*x);
ry=ifilter(x,y,132,31,18,3,'Band-pass');

KEYBOARD CONTROLS when figure window is topmost:
Adjust center frequency.......Coarse: < and >
Fine: left and right cursor arrows
Adjust filter width...........Coarse: / and "
Fine: up and down cursor arrows
Filter shape..................A,Z (A more rectangular, Z more Gaussian)
Filter mode...................B=bandpass; N or R=notch (band reject); H=High-pass; L=Low-pass; C-Comb pass; V=Comb reject.
Select plot mode..............1=linear; 2=semilog frequency
3=semilog amplitude; 4=log-log
Print keyboard commands.......K Pints this list
Print filter parameters.......Q Prints input arguments: center,width,shape,plotmode,filtermode
Print current settings........T Prints list of current settings
Switch SPECTRUM X-axis scale..X switch between frequency and period x scale on POWER SPECTRA
Switch OUTPUT Y-axis scale....Y switch between fixed or variable y scale on output plot
Play output as sound..........P or Enter
Save output as .mat file......S

Comments and Ratings (3)

Shea

Shea (view profile)

Great code!

However, I am having trouble submitting values for the freq and width etc. I guess that the width is just an arbitrary parameter rather than the FWHM for example. Also, if I want to have a notch filter at 10Hz, for example, what should I enter for the frequency? (10 does not seem to work)

ehsan

ehsan (view profile)

ehsan

ehsan (view profile)

Updates

1.6

Fixed a bug in the 'center' and 'width' input arguments (thanks to Forrest for the heads-up). Also added another example.

1.5

Version 4 adds comb pass and comb reject filter modes.

1.4

Version 3 adds X key to switch between frequency and period x scale on power spectrum plot.

1.3

Version 2, October, 2011. Additions
include increased input argument flexibility; 'Y' key chages y-axis
$ scale on OUTPUT plot; 'T' key prints current settings.

1.1

Reformatted description

MATLAB Release
MATLAB 7.8 (R2009a)

MATLAB Online Live Editor Challenge

Win cash prizes and have your live script featured on our website

Learn more

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video