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: This function is called by:
Generated on Fri 22-May-2009 15:13:00 by m2html © 2003