Code covered by the BSD License  

Highlights from
Interactive Fourier Filter (version 1.5)

image thumbnail
from Interactive Fourier Filter (version 1.5) by Tom O'Haver
Interactive Fourier Filter for time-series signals.

iffsignal(n,h)
function iffsignal(n,h)
% Re-draws graph when the signal slider is moved
% The Signal slider selects from five different signals,
% which you can change in the switch statement below. 
% Tom O'Haver, version 1.3, October 15, 2006

global x
global y
global center
global width
global shape
global mode
global ry
global signalstring

m=length(x);
signaltype=round(n);
switch signaltype
    case 1
        signalstring='Single sine wave';
        y=sin(10*pi.*x./m);
        % y=sign(sin(10*pi.*x./m));  % Square wave
    case 2
        signalstring='Amplitude modulated sine wave';
        y=(1+sin(10*pi.*x./m)).*sin(100*pi.*x./m); 
    case 3
        signalstring='Gaussian band + 3 sine waves';
        y=sin(20*pi.*x./m)+sin(40*pi.*x./m)+sin(60*pi.*x./m)+5.*gaussian(x,length(x)/2,length(x)/10); 
    case 4
        signalstring='Random white noise';
        y=randn(size(x)); 
    case 5
        signalstring='Sine wave with random white noise (SNR=1)';
        y=sin(10*pi.*x./m)+randn(size(x));  
end
ry=RedrawFourierFilter(x,y,center,width,shape,mode);
axes(h);
  h2=gca;

Contact us at files@mathworks.com