卷积码编码c语言实现,卷积码编码程序的c语言实现.docx

本文详细介绍了一种基于C语言的卷积码编码程序,包括如何定义状态转换表、输入序列处理以及具体编码过程。通过实例展示了不同码长的卷积码构造,并提供关键函数如chartobits和convolution的实现。适合理解卷积编码原理和编程实践者阅读。
摘要由CSDN通过智能技术生成

卷积码编码程序的c 语言实现

#include

using namespace std;

int table1[8]={1,2,4,8,16,32,64,128};

int myn=0;

int stalen=0;

int stan0[256][2]={0};//输入 0 时个状态的输出

int stan1[256][2]={0};//输入 1 时各状态的输出

int stachn[256][2]={0};//状态装换表

int myg1[10]={0};

int myg2[10]={0};

int myout[100]; //

int myoutsym=0;

void chartobits(char ch,int *bits);

char bitstochar(int *bits);

void convolution(void);

void creatsta(void);

void myinput(void);

int main(){

char exit_char;

myinput();

creatsta();

convolution();

cin>>exit_char;

}

void myinput(void){

int i,j;

cout<

cin>>myn;

stalen=int(pow(2 、0,myn-1));

cout<

cin>>i;

if(i==1){

switch(myn){

case 3:myg1[0]=1,myg1[1]=1,myg1[2]=1;

myg2[0]=1,myg2[1]=0,myg2[2]=1;

break;

case 4:myg1[0]=1,myg1[1]=1,myg1[2]=1,myg1[3]=1;

myg2[0]=1,myg2[1]=0,myg2[2]=1,myg2[3]=1;

break;

case 5:myg1[0]=1,myg1[1]=0,myg1[2]=1,myg1[3]=1,myg1[4]=1;

myg2[0]=1,myg2[1]=1,myg2[2]=0,myg2[3]=1,myg2[4]=1;

break;

case 6:myg1[0]=1,myg1[1]=0,myg1[2]=1,myg1[3]=1,myg1[4]=1,myg1[5]=1;

myg2[0]=1,myg2[1]=1,myg2[2]=0,myg2[3]=1,myg2[4]=0,myg2[5]=1;

卷积码编码程序的c 语言实现

break;

case7:

myg1[0]=1,myg1[1]=0,myg1[2]=0,myg1[3]=1,myg1[4]=1,myg1[5]=1,myg1[6]=1;

myg2[0]=1,myg2[1]=1,myg2[2]=0,myg2[3]=1,myg2[4]=1,myg2[5]=0,myg2[6]=1;

break;

case8:

myg1[0]=1,myg1[1]=0,myg1[2]=0,myg1[3]=1,myg1[4]=1,myg1[5]=1,myg1[6]=1,myg1[7]=1;

myg2[0]=1,myg2[1]=1,myg2[2]=1,myg2[3]=0,myg2[4]=0,myg2[5]=1,myg2[6]=0,myg2[7]=1;

break;

case9:

myg1[0]=1,myg1[1]=1,myg1[2]=0,myg1[3]=1,myg1[4]=0,myg1[5]=1,myg1[6]=1,myg1[7]=1,m

yg1[8]=1;

myg2[0]=1,myg2[1]=0,myg2[2]=0,myg2[3]=0,myg2[4]=1,myg2[5]=1,myg2[6]=1,myg2[7]=0,m yg2[8]=1;

break;

}

}

else{

cout<

for(j=0;j

cin>>myg1[j];

cout<

for(j=0;j

cin>>myg2[j];

}

cout<

for(j=0;j

cout<

cout<

cout<

for(j=0;j

cout<

cout<

cout<

cout<

}

void creatst

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值