/*:cacode_module.cc
*******************************************************
* CA code module for L1 GPS signal structure
*
* This class is used to generate the CA prn code for certain PRN number
* It can output prn code of three phases: early, prompt, delay,
* seperated by 1/2 chip, relatively
*
* Author:
* Yu Lu, luyu1974@gmail.com
* Jan, 2005
*******************************************************/
#include "./includes/cacode_module.h"
#include "./includes/prncode_generator.h"
#include "./includes/square_nco.h"
#include <iostream>
#include <fstream>
using namespace std;
const unsigned int CAcodeModule::MAX_PHASE = 0xFFFFFFFF;
CAcodeModule::CAcodeModule()
{
samplingfreq = 5e6; //default sampling freq is 5MHz
HalfchipOSC = new SquareNCO;
FullchipOSC = new SquareNCO;
prn_cg = new PRNcodeGenerator;
prn_cg->set_prnnum(1); //defalut prn num =1
reset_module();
FullchipOSC->set_phasestep( MAX_PHASE/2 );
}
CAcodeModule::~CAcodeModule()
{
delete HalfchipOSC;
delete FullchipOSC;
delete prn_cg;
}
void CAcodeModule::reset_module()
{