1 / 12
文档名称:

综合性设计性实验报告.docx

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

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

分享

预览

综合性设计性实验报告.docx

上传人:sssmppp 2021/1/2 文件大小:104 KB

下载得到文件列表

综合性设计性实验报告.docx

文档介绍

文档介绍:综合性设计性实验报告
专 业:_
学 号:
姓 名:
实验所属课程: 信息论与编码
实验室(中心):信息技术软件实验室
扌旨导教y帀 :
教师评阅意见:
签名: 年 月 日
实验成绩:
一、题目
线性分组码编译码实验
二、 仿真要求
分别用不同的生成矩阵进行(7,4 )线性分组码的编码,经调制解调后译码, 并比较两种线性分组码的纠错能力。
掌握线性分组码的编码原理、编码步骤和译码方法。
熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码 和译码。
三、 仿真方案详细设计
编码:
本实验采用的是(7,4)线性分组码,线性分组码的编码由监督矩阵和生
成矩阵实现,监督矩阵H为(3x4 )的矩阵,由监督方程和(34 )的单位矩阵
构成,生成矩阵G为(4x7)的矩阵,由(4x4)的单位矩阵和监督矩阵的转置 矩阵构成。实现过程为:
1、 将要编码的序列先整形,整为4列
2、 如果序列不能被4整除在后边补0使其能被4整除
3、 将整形后的序列与生成矩阵G相乘即得到编码后的码字
在本实验中,分别生成两种生成矩阵,在产生了生成矩阵后根据输入的四位信 息位和生成矩阵相乘即可得到编码矩阵。 译码:
在译码过程中,我们利用错误图样和伴随式来进行纠错。
仁设一个接收码字矩阵为R , R*H*=S (模2乘),则S为码字对应的伴随 式矩阵如果
S=0则说明接受码字无差错;
2、 如果S不为0 ,查看矩阵S中不为0的那行所在行数,该行即收码字错 误所在行i ;
3、 将S转置,将不为0的一列与H每一列进行比较,找到H中相同列, 该列的列数即为错误所在列;
4、 由步骤2和3得到错误具体位置,模2加对应的错误图样就可得到正确 码字。
BPSK调制:
BPSK调制利用载波的相位变化来传递数字信息,振幅和频率保持不变。双 极性的全占空矩形脉冲序列与正弦载波相乘就得到调制信号。因此进行调制时 首先进行码形变换变为双极性的,再经乘法器与载波相乘得到调制信号。其具 体实现方法如下:
将0、1序列变为-仁1序列;
2、将序列与载波相乘,为叩时与载波相位相同,为"'时与载波相位相反。
BPSK解调:
解调是产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号 相乘,得到解调信号,进而通过抽样判决得出原始信号。解调是调制的逆过程, 其作用是从接受信号中恢复出原基带信号。解调的方法分为两类:相干解调和 非相干解调(如包络检波'相干解调也称同步检波,适用于所有线性调制信号 的解调。其关键是必须在已调信号的接收端产生与信号载波同频同相的本地载 波。本次仿真实验采用的是相干解调法,调制信号与想干载波相乘,经过低通 滤波器,再抽样判决得到原信号。通过产生一个与载波频率相同的本地载波, 与经信道加噪后的调制信号相乘,得到解调信号,然后通过低通滤波器滤波器 再抽样判决,得出解调后的原始信号。
I、仿真结果及结论
实验仿真图如下:
10
10 3
10
-1
10
-2
-15 -14 -13 -12 -11 -10 -9 -8 ・7 -6
信噪比
-5
通过上面仿真图我们可以看出,通过随机产生30000个数据,再经过重复 统计误比特数100次,并取其平均值,得到了误码率曲线,最终生成两条线并 可以进行直观的对比。在仿真过程中,在我发现,随机产生的数据量越大,两 条曲线重合的就越紧密,这说明即使是在不同的生成矩阵中,用同一种编码和 调制方式产生的误码率曲线都相差不大。
五、总结与体会
本次仿真实验是进行不同(7,4 )线性分组码的纠错能力的比较,通过进行 随机数据的产生、生成矩阵的产生以及信道编码译码等步骤,最终仿真得出实 验结果。刚开始的时候对于线性分组码的编码还不太理解,通过查阅资料以及 看老师的课件最终了解了这次编码实验的原理,也有了思路。之后就是进行 matlab程序的编写和调试,在调试程序时也遇到了许多问题,比如编译码老是 出错,最后通过查阅资料和和同学讨论才得到了解决。
通过这次仿真实验,我认真地学习了有关线性分组码的编码原理,并且通
过对实验的仿真对其有了更加深入的了解。这次实验不仅使我巩固了理论知识, 也锻炼了自己对编码问题的解决能力。
六、主要仿真代码
主函数:
clear all;
clc;
N=300;
alter=100;
datarate=1000;
fc=datarate;
fs=fc*16;
Gl=eye(4,4); %产生4*4的单位矩阵
g2=[0,l,l;l,l,0;l,l,l;0,l,0];
G=[G1,G2]; %设置生成矩阵为G
g=[Gl,g2];