- gcc to VC 2010 got LNK 2019 error
- using SPUC::baud_eq_env;
- using SPUC::noise;
- baud_eq_env ddfse_env(paths);
- noise random_offset;
- #include <iostream>
- #include <fstream>
- #include <iomanip>
- using namespace std;
- #include "baud_eq_env.h"
- #include <spuc.h>
- #include "noise.h"
- using namespace SPUC;
- void baud_eq_env::loop_init(long equalizer_type, long data_delay,
- double delay_spread)
- {
- long mlse_len;
- output_delay = data_delay;
- eq_type = equalizer_type;
- var = sqrt(2.0)*pow(10.0,-0.05*snr); // Unfiltered noise std dev
- BER_mon = new bpsk_ber_test;
- tx_data_source = new max_pn;
- multipaths = new fading_channel(paths,delay_spread);
- mlse_len = paths-1;
- // PICK EQUALIZER Type
- DUT = new mle<complex<double> >((char)(mlse_len));
- multipaths->exp_decay.coeff[0] = 0.9;
- multipaths->exp_decay.coeff[1] = 0.1;
- #ifndef NEWNOISE
- n = new SPUC::noise;
- #endif
- // initialise CIR from Channel CIR
- DUT->set_cir(multipaths->exp_decay);
- rcv_symbols=0; // Number of symbols decoded
- count=0; // index of sample number at input rate
- phase_acc=0;
- }
- #ifndef NOISE
- #define NOISE
- namespace SPUC {
- #include "complex.h"
- #define M 714025
- #define IA 1366
- #define IC 150889
- #define LM 2147483647
- #define LAM (1.0/LM)
- #define LA 16807
- #define LR 2836
- #define LQ 127773
- /*!
- addtogroup miscfunc Miscellaneous DSP classes
- */
- /*! brief Gaussian noise routine
- ingroup miscfunc random
- */
- //! Gaussian noise routine
- //! Can create (double) gaussian white noise
- //! complex<double> gaussian white noise
- //! or (double) uniform noise
- //! Requires complex class
- class noise
- {
- protected:
- char s; //! Switch
- double x; //! Saved calculated value
- long idum; //! Random seed
- public:
- //! Constructor
- noise(double i=1349555.0); // Constructor
- //! Gaussian noise
- double gauss();
- //! complex gaussian noise
- complex<double> Cgauss(void);
- //! Uniform noise
- double uni();
- //! Uniform noise
- double uniform();
- //! Change seed
- void set_seed(double i=1349555.0) { idum = (long)i;}
- //! Change seed
- void set_seed(unsigned i=1349555) { idum = i;}
- } ;
- //#endif
- } // namespace SPUC
- #endif