ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:25.26KB ,
资源ID:4354327      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4354327.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(线性分组码实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

线性分组码实验报告.docx

1、线性分组码实验报告综合性设计性实验报告专 业: 学 号: 姓 名: 实验所属课程: 信息论与编码 实验室(中心): 信息技术软件实验室 指 导 教 师 : 2 教师评阅意见:签名: 年 月 日实验成绩:一、 题目 线性分组码编译码实验二、仿真要求1.分别用不同的生成矩阵进行(7,4)线性分组码的编码,经调制解调后译码,并比较两种线性分组码的纠错能力。2.掌握线性分组码的编码原理、编码步骤和译码方法。3.熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码和译码。三、仿真方案详细设计编码:本实验采用的是(7,4)线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵

2、H为(34)的矩阵,由监督方程和(44)的单位矩阵构成,生成矩阵G为(47)的矩阵,由(44)的单位矩阵和监督矩阵的转置矩阵构成。实现过程为:1、将要编码的序列先整形,整为4列 2、如果序列不能被4整除在后边补0使其能被4整除 3、将整形后的序列与生成矩阵G相乘即得到编码后的码字在本实验中,分别生成两种生成矩阵,在产生了生成矩阵后根据输入的四位信息位和生成矩阵相乘即可得到编码矩阵。译码:在译码过程中,我们利用错误图样和伴随式来进行纠错。1、设一个接收码字矩阵为R,R*H=S(模2乘),则S为码字对应的伴随式矩阵如果S=0则说明接受码字无差错;2、如果S不为0,查看矩阵S中不为0的那行所在行数,

3、该行即收码字错误所在行i;3、将S转置,将不为0的一列与H每一列进行比较,找到H中相同列,该列的列数即为错误所在列;4、由步骤2和3得到错误具体位置,模2加对应的错误图样就可得到正确码字。BPSK调制:BPSK调制利用载波的相位变化来传递数字信息,振幅和频率保持不变。双极性的全占空矩形脉冲序列与正弦载波相乘就得到调制信号。因此进行调制时首先进行码形变换变为双极性的,再经乘法器与载波相乘得到调制信号。其具体实现方法如下:1、将0、1序列变为-1、1序列;2、将序列与载波相乘,为1时与载波相位相同,为-1时与载波相位相反。BPSK解调:解调是产生一个与载波频率相同的本地载波,与经信道加噪后的调制信

4、号相乘,得到解调信号,进而通过抽样判决得出原始信号。解调是调制的逆过程,其作用是从接受信号中恢复出原基带信号。解调的方法分为两类:相干解调和非相干解调(如包络检波)。相干解调也称同步检波,适用于所有线性调制信号的解调。其关键是必须在已调信号的接收端产生与信号载波同频同相的本地载波。本次仿真实验采用的是相干解调法,调制信号与想干载波相乘,经过低通滤波器,再抽样判决得到原信号。通过产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号,然后通过低通滤波器滤波器再抽样判决,得出解调后的原始信号。四、仿真结果及结论实验仿真图如下:通过上面仿真图我们可以看出,通过随机产生30000

5、个数据,再经过重复统计误比特数100次,并取其平均值,得到了误码率曲线,最终生成两条线并可以进行直观的对比。在仿真过程中,在我发现,随机产生的数据量越大,两条曲线重合的就越紧密,这说明即使是在不同的生成矩阵中,用同一种编码和调制方式产生的误码率曲线都相差不大。五、总结与体会本次仿真实验是进行不同(7,4)线性分组码的纠错能力的比较,通过进行随机数据的产生、生成矩阵的产生以及信道编码译码等步骤,最终仿真得出实验结果。刚开始的时候对于线性分组码的编码还不太理解,通过查阅资料以及看老师的课件最终了解了这次编码实验的原理,也有了思路。之后就是进行matlab程序的编写和调试,在调试程序时也遇到了许多问

6、题,比如编译码老是出错,最后通过查阅资料和和同学讨论才得到了解决。通过这次仿真实验,我认真地学习了有关线性分组码的编码原理,并且通过对实验的仿真对其有了更加深入的了解。这次实验不仅使我巩固了理论知识,也锻炼了自己对编码问题的解决能力。六、主要仿真代码主函数:clear all;clc;N=300;alter=100;datarate=1000; fc=datarate;fs=fc*16;G1=eye(4,4); %产生4*4的单位矩阵g2=0,1,1;1,1,0;1,1,1;0,1,0; G2=1,0,1;1,1,1;1,1,0;0,1,1; G=G1,G2; %设置生成矩阵为Gg=G1,g2

7、;H2=eye(3,3); %产生3*3的单位矩阵作为监督矩阵H和h的后三列H=G2,H2; %监督矩阵Hh=g2,H2; %监督矩阵hBER1=; %初始化误码率BER1,用来统计监督矩阵为H时的误码率BER2=; for snr=-15:0.5:-5 %信噪比 err1=0; err2=0; for i=1:alter ensignal_1,X1=information(N,G)%编码后数据X1为编码后生成的码组 signal_1=ensignal_1*2-1; %变为双极性 ensignal_2,X2=information(N,g) signal_2=ensignal_2*2-1; m

8、odusignal_1=modu(signal_1,datarate,fc, fs); %BPSK调制 modusignal_2=modu(signal_2,datarate,fc, fs); y1=awgn(modusignal_1,snr,measured); %加噪 y2=awgn(modusignal_2,snr,measured); demosignal_1=bpskdemo(datarate,fc,fs,y1); %BPSK解调 demosignal_2=bpskdemo(datarate,fc,fs,y2); error1,signal_yima=yima(demosignal_

9、1,H); %译码 error2,signal_yima=yima(demosignal_2,h); s1=; s2=; m,n=size(X1); for i=1:m %遍历每一行 s1=s1,X1(i,:); s2=s2,X2(i,:); end err1=err1+sum(abs(error1-s1) %error1为H下纠错后得到数据 err2=err2+sum(abs(error2-s2) end BER1=BER1,err1/(alter*N/4*7) %误码率计算 BER2=BER2,err2/(alter*N/4*7)endfigure(1)semilogy(-15:0.5:-

10、5,BER1,r);hold onsemilogy(-15:0.5:-5,BER2,g);xlabel(信噪比);ylabel(误码率);grid on功能函数:function signal,X=information(N,G)m=randint(1,N); x=reshape(m,length(m)/4,4);%分组编码X=mod(x*G,2); %进行编码n=length(m)/4*7; signal=reshape(X,1,n); %把编码后的码字信息转变为一维数组function modusignal=modu(signal, dataRate,fc, fs) %采用BPSK调制方式

11、 t=linspace(0,1,fs/fc); carrier=sin(2*pi*fc*t); modusignal=; for i=1:length(signal) modusignal=modusignal,carrier*signal(i); end endfunction demosignal=bpskdemo(datarate,fc,fs,signal) %BPSK解调t=linspace(0,1,fs/fc);c=sin(2*pi*fc*t);l=length(signal)/length(c);for i=1:l signal(i-1)*length(c)+1:i*length(

12、c)=signal(i-1)*length(c)+1:i*length(c).*c;ends=signal;load lowpass1 %载入低通滤波器s=s,zeros(1,fix(length(lowpass1)/2);spa=filter(lowpass1,1,s);lpfs=spa(fix(length(lowpass1)/2)+1:end);demosignal=;for i=0:length(c):length(lpfs)-length(c) if (lpfs(i+length(c)/2)0) demosignal=demosignal,1; else demosignal=dem

13、osignal,0; endendendfunction error,signal_yima=yima(demosignal,H)signal_yima=reshape(demosignal,length(demosignal)/7,7)error=; for j=1:length(demosignal)/7 E=1,1,1,1,1,1,1; %初始化错误图样 R=signal_yima(j,:) S=mod(R*(H),2); %S为伴随矩阵 for i=1:7 %用for循环取出H中每一列,然后与S相加 T=H(:,i); B=mod(S+T,2); if all(B(:)=0) E(1,i)=1; else E(1,i)=0; end; end; E %得到错误图样 if E=0 err=R; %纠错后得到七个数据 else err=mod(R+E,2) end error=error,err; %最终得到纠错后的数据end

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1