1 / 11
文档名称:

matlab卷积码程序.docx

格式:docx   大小:18KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

matlab卷积码程序.docx

上传人:buzaiwuzhuang123 2020/5/18 文件大小:18 KB

下载得到文件列表

matlab卷积码程序.docx

文档介绍

文档介绍:1、卷积码编码function[output]=cnv_encd(input)%v_encd(g,k0,input)卷积码编码函数%g生成矩阵%k0输入码长%input输入信源序列%output输出卷积编码序列g=[111;101];编码矩阵k0=1;input=[1101];ifrem(length(input),k0)>0input=[input,zeros(size(1:k0-rem(length(input),k0)))];endn=length(input)/k0;ifrem(size(g,2),k0)>0error('Error,gisnotoftherightsize.')endli=size(g,2)/k0;n0=size(g,1);u=[zeros(size(1:(li-1)*k0)),input,zeros(size(1:(li-1)*k0))];u1=u(li*k0:-1:1);fori=1:n+li-2u1=[u1,u((i+li)*k0:-1:i*k0+1)];enduu=reshape(u1,li*k0,n+li-1);output=reshape(rem(g*uu,2),1,n0*(n+li-1));2、Viterbi译码程序1)functiony=bin2deci(x)l=length(x);y=(l-1:-1:0);y=2.^y;y=x*y';2)functiony=deci2bin(x,l)y=zeros(1,l);i=1;whilex>=0&i<=ly(i)=rem(x,2);x=(x-y(i))/2;i=i+1;endy=y(l:-1:1);3)functiondistance=metric(x,y)ifx==ydistance=0;elsedistance=1;end4)function[next_state,memory_contents]=nxt_stat(current_state,input,L,k)binary_state=deci2bin(current_state,k*(L-1));binary_input=deci2bin(input,k);next_state_binary=[binary_input,binary_state(1:(L-2)*k)];next_state=bin2deci(next_state_binary);memory_contents=[binary_input,binary_state];5)function[decoder_output,survivor_state,cumulated_metric]=viterbi(channel,snr_db)G=[111;101];%G卷积编码矩阵,如(2,1,3)卷积码生成矩阵[111;101],可以根据自己的需要输入编码矩阵k=1;%k信息源输入端口数k=1channel=[1**********];%信源编码snr_db=6;%信噪比,可以通过调节信噪比大小观察viterbi译码的性能%bpsk调制channel_output=bpsk(channel,snr_db);%调用bpsk函数,得到信道编码n=size(G,1);%n编码输出端口数量,(2,1,3)中n=2ifrem(size(G,2),k)~=0%当G列数不是k的整数倍时error('SizeofGandkdonotagree')%发出出错信息endifrem(size(channel_output,2),n)~=0%当输出量元素个数不是输出端口的整数倍时error('channeloutputnotoftherightsize')endN=size(G,2)/k;%得出移位数,即寄存器的个数M=2^k;number_of_states=2^(k*(N-1));%状态数forj=0:number_of_states-1%j表示当前寄存器组的状态因为状态是从零%开始的,所以循环从0到number_of_states-1form=0:M-1%m为从k个输入端的信号组成的状态,总的状%态数为2^k,所以循环从0到2^k-1%nxt_stat完成从当前的状态和输入的矢量得出下寄存器组的一个状态[next_state,memory_contents]=nxt_stat(j,m,N,k);%调用nxt_stat函数input(j+1,next_state+1)=m;branch_output=rem(memory_contents*G',2);nextstate(j+1,m+1)=next_state;output(j+1,m+1)=bin2deci(branch_output);endend%state_metric数组用于记录译码过程在每

最近更新

广播词心得体会8篇 15页

2024年事业单位招聘考试广西省梧州市职业能力.. 24页

当代鄂西土家族大学生国家认同研究——以湖北.. 2页

家乡新变化社会实践报告(小编整理) 4页

2024年事业单位招聘考试山西省忻州市职业能力.. 25页

2024年事业单位招聘考试河南省鹤壁市职业能力.. 22页

2024年事业单位招聘考试甘肃省白银市职业能力.. 23页

2024年事业单位招聘考试江西省抚州市职业能力.. 24页

2024年事业单位招聘考试山东省济宁市职业能力.. 21页

1100kV交流气体绝缘金属封闭输电线路现场交接.. 16页

2024年商务服务项目资金申请报告代可行性研究.. 60页

80塔吊专项施工方案 22页

3建设工程项目安全生产标准化自评报告 9页

大学生预备党员思想汇报范文(5篇) 13页

工作转正自我鉴定100字(9篇) 12页

梦想与现实800议论文(6篇) 10页

小学开学新学期寄语56条 83页

2024年抗风湿类药品项目资金需求报告代可行性.. 74页

锂电池厂用蒸汽的作用 8页

江苏省常州市钟楼实验中学七年级英语下册 Uni.. 35页

接单员制度 5页

铝酸盐水泥水化机理 13页

学校党风廉政建设一岗双责工作新版制度 4页

浅谈马蜂窝的处置学习教案 23页

梯形、矩形渠道水力计算表 3页

稀土矿工业品味与质量标准模板 7页

明人星案研究(库古合一) 55页

蒋纬国眼里的“国共战争”.pdf 4页