欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    线性分组码实验报告(共10页).doc

    • 资源ID:29976151       资源大小:40.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    线性分组码实验报告(共10页).doc

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

    注意事项

    本文(线性分组码实验报告(共10页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开