gi.cpp
来自「有关卷积编码的维特比算法,是硬判决的啊,希望大家」· C++ 代码 · 共 70 行
CPP
70 行
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include "GI.h"
GI::GI()
{
}
GI::~GI()
{
}
//--------------------GI insert----------------------------
void GI::insert(double*idata,double*qdata,int size)
{
double *tmp_i,*tmp_q;
tmp_i=new double [size*(Nfft+Ngi)];
tmp_q=new double [size*(Nfft+Ngi)];
for(i=0;i<size;i++)
{
for(j=0;j<Ngi;j++)
{
*(tmp_i+i*(Nfft+Ngi)+j)=*(idata+i*Nfft+Nfft-Ngi+j);
*(tmp_q+i*(Nfft+Ngi)+j)=*(qdata+i*Nfft+Nfft-Ngi+j);
}
for(j=Ngi;j<Nfft+Ngi;j++)
{
*(tmp_i+i*(Nfft+Ngi)+j)=*(idata+i*Nfft+j-Ngi);
*(tmp_q+i*(Nfft+Ngi)+j)=*(qdata+i*Nfft+j-Ngi);
}
}
for(j=0;j<(Nfft+Ngi)*size;j++)
{
*(idata+j)=*(tmp_i+j);
*(qdata+j)=*(tmp_q+j);
}
delete [] tmp_i;
delete [] tmp_q;
}
void GI::remove(double*idata,double*qdata,int size)
{
double *tmp_i,*tmp_q;
tmp_i=new double [size*Nfft];
tmp_q=new double [size*Nfft];
for(i=0;i<size;i++)
{
for(j=0;j<Nfft;j++)
{
*(tmp_i+i*Nfft+j)=*(idata+i*(Nfft+Ngi)+Ngi+j);
*(tmp_q+i*Nfft+j)=*(qdata+i*(Nfft+Ngi)+Ngi+j);
}
}
for(i=0;i<Nfft*size;i++)
{
*(idata+i)=*(tmp_i+i);
*(qdata+i)=*(tmp_q+i);
}
delete [] tmp_i;
delete [] tmp_q;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?