Home > hfrc > matlab > utility > complex_demodulate.m

complex_demodulate

PURPOSE ^

COMPLEX_DEMODULATE - complex demodulation using a low pass filter.

SYNOPSIS ^

function r = complex_demodulate( ts, f, B, A, filt_func, varargin )

DESCRIPTION ^

 COMPLEX_DEMODULATE - complex demodulation using a low pass filter.

 Usage: res = complex_demodulate( time_series, frequency, B, A, filt_func );

 frequency should be in the same units as time series (i.e. if time series
 is hourly, frequency should be in inverse hours).  frequency can also be a
 row vector with as many elements as columns in time_series, in which case
 a different frequency will be used for each column.  filt_func defaults to
 @filttappered.  If time_series is a matrix with many columns, then it
 operates over columns.

 This function won't work on time_series arrays with more than 2
 dimensions.

 res is a structure with the following components:

   semimaj = amplitude of major axis
   semimin = amplitude of minor axis ( if time_series is complex )
   inc = inclination of major axis with respect to real no. line (if complex)
   phase = phase of time series (in radians).

 NOTE: Calculation of the inclination is a hack and I am not sure if
 phase is correctly calculated.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     $Id: complex_demodulate.m,v 1.2 2005-06-01 18:35:23 dmk Exp $    

 Copyright (C) 2005 David M. Kaplan
 Licence: GPL (Gnu Public License)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Mon 18-Dec-2006 07:26:46 by m2html © 2003