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

qam_tx.h

Go to the documentation of this file.
00001 // SPUC - Signal processing using C++ - A DSP library
00002 /* 
00003  * This program is free software; you can redistribute it and/or modify
00004  * it under the terms of the GNU General Public License as published by
00005  * the Free Software Foundation; either version 2, or (at your option)
00006  * any later version.
00007  * 
00008  * This program is distributed in the hope that it will be useful,
00009  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00011  * GNU General Public License for more details.
00012  * 
00013  * You should have received a copy of the GNU General Public License
00014  * along with this program; if not, write to the Free Software
00015  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00016 */
00017 // $Id: qam_tx.h,v 1.2 2005/09/16 17:00:44 spuc Exp $
00018 #include <stdio.h>
00019 #include <stdlib.h>
00020 #include <math.h>
00021 #include <complex.h>
00022 #include <max_pn.h>     
00023 #include <fading_channel.h>
00024 #include <fir_interp.h>
00025 #include "qam_mod.h"
00026 namespace SPUC {
00033 //
00034 class qam_tx
00035 {
00036         public:
00037   
00038         qam_mod ENC;
00039         max_pn preamble_source;
00040         max_pn training_source;
00041         fir_interp< complex<double> > tx_filter;
00042         complex<double> tx_data; 
00043         double data_level;
00044         const long preamble_pn; // Number of symbols used for pre-amble PN
00045         const long training_interval;
00046         long tx_symbols;       // Counter for transmitted symbols
00047         const long over; // Oversampling rate
00048         double training_scale;
00049         double alpha;
00050         long count;
00051         long rate;
00052         
00053         qam_tx(long sym_span=5, long over=8, long rate=0, long c=0, double tx_filter_bw=0.25);
00054         void loop_init(long x, long y);
00055         complex<double> clock();
00056 };                       
00057 }
00058 

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