Home > freetb4matlab > signal > decimate.m

decimate

PURPOSE

% error: y = decimate(x, q [, n] [, ftype])

SYNOPSIS

function y = decimate(x, q, n, ftype)

DESCRIPTION

```% error: y = decimate(x, q [, n] [, ftype])
%
% Downsample the signal x by a factor of q, using an order n filter
% of ftype 'fir' or 'iir'.  By default, an order 8 Chebyshev type I
% filter is used or a 30 point FIR filter if ftype is 'fir'.  Note
% that q must be an integer for this rate change method.
%
% Example
%    %% Generate a signal that starts away from zero, is slowly varying
%    %% at the start and quickly varying at the end, decimate and plot.
%    %% Since it starts away from zero, you will see the boundary
%    %% effects of the antialiasing filter clearly.  Next you will see
%    %% how it follows the curve nicely in the slowly varying early
%    %% part of the signal, but averages the curve in the quickly
%    %% varying late part of the signal.
%    t=0:0.01:2; x=chirp(t,2,.5,10,'quadratic')+sin(2*pi*t*0.4);
%    y = decimate(x,4);   % factor of 4 decimation
%    stem(t(1:121)*1000,x(1:121),'-g;Original;'); hold on; % plot original
%    stem(t(1:4:121)*1000,y(1:31),'-r;Decimated;'); hold off; % decimated```

CROSS-REFERENCE INFORMATION

This function calls:
• cheby1 % Generate an Chebyshev type I filter with Rp dB of pass band ripple.
• fftfilt %
• filtfilt % error: y = filtfilt(b, a, x)
• fir1 % error: b = fir1(n, w [, type] [, window] [, noscale])
This function is called by:

Generated on Sat 16-May-2009 00:04:49 by m2html © 2003