




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重 庆 交 通 大 学信息论与编码综合设计实验报告班 级: 级 班 姓 名: 学 号: 实验项目名称: 线性分组码编译码实验 实验项目性质: 设计性实验 实验所属课程: 信息论与编码理论 实验室(中心): 网络实验中心 指 导 教 师 : 实验完成时间: 年 月 日教师评阅意见: 签名: 年 月 日实验成绩:一、 设计题目 线性分组码编译码实验二、 实验目的:1. 掌握线性分组码的编码原理、编码步骤和译码方法2. 熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码和译码三、 实验主要内容及要求:设计(15,11)或(255,247)线性分组码,利用随机生成的二进制序列及BPSK调制方式,比较使用信道编码与未使用信道编码的误比特率曲线四、 实验设备及软件:PC机一台、Matlab 软件噪声五、 设计方案信道传输BPSK调制信道编码 信源编码 (15,11)线性分 解调信源译码信道译码 统计误码率 该实验系统框图如上图所示,其中信源编码在本实验不做讨论,编号采用线性分组码编码和译码,编号为不采用信道编译码,通过这两种方法的对比,得出误码率曲线。1. 线性分组码编码本实验采用的是(15,11)的线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵H为(411)的矩阵,由监督方程和(44)的单位矩阵构成,生成矩阵G为(1115)的矩阵,由(1111)的单位矩阵和监督矩阵的转置矩阵构成。具体实现方法如下: 将要编码的序列先整形,整为11列 如果序列不能被11整除在后边补0使其能被11整除 将整形后的序列与生成矩阵G相乘即得到编码后的码字其实现代码如下:function n,C=xxbm(n)a=randint(1,n); %生成01随机序列 disp(编码序列:);disp(a);subplot(3,2,1);stairs(a);axis(1 length(a) -0.5 1.5)title(编码序列);%判断生成的随机序列个数是否是11的整数倍if length(a)/11=fix(length(a)/11) %随机序列个数是11的整数倍,直接编码 b=reshape(a,11,(length(a)/11); M=b; F=eye(11); S=0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1; K=eye(4); G=F,S; H=S,K; C=rem(M*G,2); disp(生成矩阵G:); disp(G); disp(监督矩阵H:); disp(H); disp(码字:); disp(C);else %随机序列个数不是11的整数倍,补0后编码 s1=a,zeros(1,(fix(length(a)/11)+1)*11-length(a); %补0 b=reshape(s1,11,(length(s1)/11); M=b; F=eye(11); S=0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1; K=eye(4); G=F,S; H=S,K; %监督矩阵 C=rem(M*G,2) ; disp(生成矩阵G:); disp(G); disp(监督矩阵H:); disp(H); disp(码字:); disp(C);endsubplot(3,2,2);stairs(C);axis(1 length(C) -0.5 1.5);title(编码后的码字);2. BPSK调制BPSK调制实现方法为:将0、1序列变为-1、1序列;将序列与载波相乘,为1时与载波相位相同,为-1时与载波相位相反。其实现代码如下:function fc,fs,datarate,modusignal=BPSKmodu(bits,datarate)fc=datarate*2;fs=fc*8;modusignal=;t=linspace(0,2,16);carriar=cos(2*pi*t);bits=bits*2-1;for i=1:length(bits) modusignal=modusignal,bits(i)*carriar;endsubplot(3,2,3);plot(modusignal);title(BPSK调制后的波形);3. 信道加噪使用awgn函数对调制信号进行加噪,其实现代码如下:function cs=channel(modusignal,bits)cs=awgn(modusignal,1);subplot(3,2,4);plot(cs);title(相乘后信号频谱);title(加噪后的波形);4. BPSK解调产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号。然后通过低通滤波器滤波器再抽样判决,得出解调后的原始信号。(要减去滤波器的延时时间t,t=(滤波器长度+1)/2)其实现代码如下:function k=designal(modusignal)designal=;t=linspace(0,2,16);carrier=cos(2*pi*t);for i=1:16:length(modusignal) designal=designal,modusignal(i:i+15).*carrier;endsubplot(3,2,5);plot(designal);title(解调后的波形);load lppassL=(length(lppass)+1)/2;y=filter(lppass,1,designal);for i=1:length(y); if y(i)0 y(i)=-1; else y(i)=1; endendsubplot(3,2,6);plot(y);axis(L length(y)+L -1.5 1.5);title(抽样判决后的波形);%-%抽样判决for i=1:1:length(y)/16 k(i)=0; for j=1:16 k(i)=k(i)+y(i-1)*16+j); end k(i)=k(i)/16; if k(i)0 k(i)=0; else k(i)=1; endend5. 信道译码(线性分组码译码)译码原理:利用错误图样和伴随式纠错。本实验所采用的为(15,11)线性分组码,最小汉明距离为3,所以具有纠错1位检错两位的功能。设一个接收码字矩阵为R,R*H=S (模2乘),则S为码字对应的伴随式矩阵如果S=0则说明接受码字无差错;如果S不为0,查看矩阵S中不为0的那行所在行数,该行即收码字错误所在行i;将S转置,将不为0的一列与H每一列进行比较,找到H中相同列,该列的列数即为错误所在列;由步骤得到错误具体位置,模2加对应的错误图样就可得到正确码字。其实现代码如下:function I=xxym(n,C)a,b=size(C);S=0 0 1 1;0 1 0 1;0 1 1 0;0 1 1 1;1 0 0 1;1 0 1 0;1 0 1 1;1 1 0 0;1 1 0 1;1 1 1 0;1 1 1 1;K=eye(4);H=S,K;A=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;B=eye(15);E=A;B; %生成错误图样S=rem(C*H,2);Q=H; m=zeros(1,a);for i=1:a for j=1:b if S(i,:)=Q(j,:) %找出出错的位置 m(i)=j; %数组m记录出错的位置 end endendfor i=1:a %在错误的位置给出提示并纠错 switch(m(i) case 0 disp(没有出现错误!); G(i,:)=C(i,:)+E(1,:); case 1 disp(注意:第1位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(2,:); case 2 disp(注意:第2位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(3,:); case 3 disp(注意:第3位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(4,:); case 4 disp(注意:第4位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(5,:); case 5 disp(注意:第5位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(6,:); case 6 disp(注意:第6位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(7,:); case 7 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(8,:); case 8 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(9,:); case 9 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(10,:); case 10 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(11,:); case 11 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(12,:); case 12 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(13,:); case 13 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(14,:); case 14 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(15,:); case 15 disp(注意:第7位出现一个错误!已纠错!); G(i,:)=C(i,:)+E(16,:); endendG=rem(G,2); %求出正确的编码disp(检错并纠错后的码组:);disp(G); %显示正确的编码j=1;while j=11 %提取信息位 I(:,j)=G(:,j); j=j+1;endm1,n1=size(I);I=I;I=reshape(I,1,m1*n1);for i=1:n C1(i)=I(i);enddisp(译出的序列:);disp(C1); %显示原信息码六、 测试结果及说明:1. 信噪比为1时,结果如图:2. 信噪比为5时,结果如图:3. 信噪比为10时,结果如图:4. 译码时,当检测到误码时,结果如图:实验结果分析:由以上实验结果可知,该程序基本完成了线性分组码的编码、调制、加噪、解调、译码(包括检错纠错)等一系列操作。随着信噪比的降低解调信号错误率越高,由于(15,11)线性分组只能纠正一位错误,对于大于等于2位的错误不能纠正,所以信噪比低低的情况下,会出现教的误码。需要采取纠错能力更强的信道编码方法进行编码。七、 实验体会:该实验是综合了matlab编程,信息论与编码的知识,实验中涉及到编码与译码、调
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国化工用有机硅产品行业市场分析及投资价值评估前景预测报告
- 2025年中国护理和孕妇文胸行业市场分析及投资价值评估前景预测报告
- 2025年河北科技工程职业技术大学选聘工作人员52名考前自测高频考点模拟试题及答案详解1套
- 2025年江西省省直事业单位招聘工作人员笔试违纪违规处理意见模拟试卷及1套完整答案详解
- 2025江苏苏州市吴江区引进教育重点紧缺人才12人模拟试卷及完整答案详解一套
- 2025年南平政和县卫健系统事业单位公开招聘紧缺急需专业工作人员模拟试卷完整答案详解
- 2025年南平市供电服务有限公司招聘52人模拟试卷完整参考答案详解
- 2025福建省福州第十八中学招聘工作人员1人考前自测高频考点模拟试题及参考答案详解一套
- 2025湖南邵阳市洞口县黄桥镇中心卫生院面向社会公开招聘编外合同制影像(医师)技师考前自测高频考点模拟试题有答案详解
- 2025第二季度重庆医科大学附属大学城医院临床医技科室人员招聘考前自测高频考点模拟试题带答案详解
- 2025年10月“江南十校”2026届新高三第一次综合素质检测 化学试卷(含答案详解)
- 桩基冲击钻机施工方案
- 2025年七年级上学期语文第一个月月考试卷含答案
- FBS-GC-001-分布式光伏施工日志
- 月考试卷讲评课课件
- 读书分享读书分享哈利波特
- 游戏:看表情符号猜成语PPT
- 影视鉴赏-第一章-影视鉴赏的基本概念
- 电厂安全生产运行管理培训课件
- 输液室运用PDCA降低静脉输液患者外渗的发生率品管圈(QCC)活动成果
- 数星星的孩子习题精选及答案
评论
0/150
提交评论