📄 convolcode.cpp
字号:
//****************************
//卷积编码类的实现
//(2,1,N)码,(2,1,3),(2,1,7)
//***************************
extern long length;
#include "ConvolCode.h"
ConvolCode::ConvolCode()
{
// convol_depth=N;//定义卷积深度
}
//********************************
//
//函数:coder(int* in,long inlength,int *out)
//功能:把输入的二进制数编码为卷积码输出
//输入输出:in为要编码二进制数据,out为编码后的二进制数据,inlenght为要编码数据的长度
////返回:无
//
//********************************
void ConvolCode::coder213(int* in,long inlength,int *out)
{
int D[2]={0,0};//移位寄存器的状态为0;
int outbit=0;//输入序列的序号(下标)
for(long inbit=0;inbit<inlength;inbit++)//逐一输入进行编码
{
out[outbit]=D[0]^D[1]^in[inbit];//模2加
out[outbit+1]=D[0]^in[inbit];
D[0]=D[1];//移位
D[1]=in[inbit];//移位
outbit=outbit+2;//输出下两个
}
length=inlength*2;//更新长度为原来的2倍
}
//********************************
//
//函数:ViterbiDecoder(int* in,long inlength,int *out)
//功能:维特比译码器,把输入的卷积码解码输出
//输入输出:in为要解码二进制数据,out为解码后的二进制数据,inlenght为要解码数据的长度
////返回:无
//
//********************************
void ConvolCode::ViterbiDecoder(int *in,long inlength,int *out)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -