📄 conv_encode.h
字号:
/*
* viterbi译码9约束长度软判决 功率归一化
*
************************************************************************************************
* MODULE NAME: conv_encode.h
*************************************************************************************************
* DESCRIPTION 9约束长度编码
* FUNCTION conv_encode_m9()
*
*************************************************************************************************
*/
#include<iostream>
#include<math.h>
using namespace std;
unsigned b1[200]; //每个信息位产生的码元第1位
unsigned b2[200]; //每个信息位产生的码元第2位
unsigned l; //信息位长度
unsigned m; //归零信息位长度
//9约束长度编码器
void conv_encode_m9(unsigned *input,int len)//input输入信息 len总长度
{ unsigned reg[9]; //9位寄存器
int i, j;
for(i=0;i<9;i++)
reg[i]=0;
for(i=0;i<len;i++) //9位寄存器右移 0位读入新信息位
{
for( j=8;j>=1;j--)
reg[j]=reg[j-1];
reg[0]=input[i];
b1[i]=(reg[0]+reg[2]+reg[3]+reg[4]+reg[8])%2; //根据生成多项式产生码元
b2[i]=(reg[0]+reg[1]+reg[2]+reg[3]+reg[5]+reg[7]+reg[8])%2;
}
/* cout<<" 编码:"; //输出编码
for(i=0;i<m+l;i++)
cout<<b1[i]<<b2[i]<<',';
cout<<endl; */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -