Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

cmplx_allpass_halfband.h

Go to the documentation of this file.
00001 /*
00002  * SPUC - Signal processing using C++ - A DSP library
00003  * 
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 2, or (at your option)
00007  * any later version.
00008  * 
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  * 
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program; if not, write to the Free Software
00016  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00017 */
00018 #ifndef CMPLX_ALLPASS_HALFBAND
00019 #define CMPLX_ALLPASS_HALFBAND
00020 #include <allpass_halfband.h>
00021 namespace SPUC {
00026 class cmplx_allpass_halfband
00027 {
00028         public:
00029                 allpass_halfband<double> A_i,A_q;
00030         
00031                 cmplx_allpass_halfband() : A_i(0.25,0.75), A_q(0.25,0.75) { }
00032 
00033                 complex<long> clock(complex<long> input) {
00034                         return( round(complex<double>(A_i.clock(input.re),A_q.clock(input.im)),0) );
00035                 }
00036                 char ready(void) { return(A_i.even); };
00037 
00038 };                                    
00039 } // namespace SPUC 
00040 #endif

Generated on Fri Sep 16 11:02:23 2005 for spuc by  doxygen 1.4.4