matlab课程设计--循环码的性能分析.docx

课程设计任务书学生姓名 专业班级 指导教师 工作单位 题目 循环码的性能分析 初始条件 MATLAB,速率为100Bd的矩形输入信号,AWGN信道要求完成的主要任务 1、画出编码器输入、输出信号,信道的输出信号,译码器的输出信号的波形、频谱。2、画出误码率与译码器输入信噪比的关系曲线;时间安排1、 第十三周查阅资料2、 第十四周仿真及撰写报告。3、 第十五周答辩指导教师签名 2011 年 12 月 15 日系主任(或责任教师)签名 2011 年 12 月 15 日目录摘要3Abstract41 Matlab简介52 设计项目分析62.1 数字通信系统模型62.2 数字基带系统62.3 AWGN信道72.4 循环码82.5 误码率和信噪比133.matlab建模设计143.1 信源模块143.2 循环码编码153.3 awgn信道加噪163.4循环码译码173.5误码率与信噪比183.6功率谱204.总结23参考文献24附录 程序清单25 摘要循环码是线性分组码中一种重要的编码。它是在严密的代数理论基础上建立起来的。其编码和解码相对简单,但检纠错的能力较强。循环码除了具有线性码的一般性质外,还具有循环性。目前发现的大部分线性码与循环码有密切关系,本设计利用MATLAB对信号源序列生成,循环码编解码过程,AWGN信道加噪过程建模,分析各个模块波形与功率谱,并画出误码率与信噪比关系曲线。对仿真数据,波形进行综合分析,达到设计目的。关键词MATLAB,循环码,AWGN,方波Abstract Cycle code is one of the important code between linear block code,which is built on the base of strict algebraic theory.Its coding and decoding is relatively simple,but takes advantage of error detection and correc-tion.Besides of university of linear block code,cycle code is provided with cyclicity.Most of known linear code is closely related to this code.This design model sequence generating as ination source,coding and decoding of cycle code,process of adding noise to ination channel all by utilizing MATLAB.Wave and power spectrum of each module areanalyzed,relation curve of between SNR and error rate is printed. Comprehensive analysis of the simulation waves and data leads to accomplishment of purpose for design. Key wordsMATLAB,cycle code,AWGN channel,square wave1 Matlab简介 MATLAB是matrix (2)根据伴随式sx找出对应的估值错误图样; (3)计算,得到估计码字。若,则译码正确,否则,若,则译码错误。由于gx 的次数为n - k 次,gx 除Ex 后得余式(即伴随式)的最高次数为n-k-1次,循环码错误图样表错误图样错误图样码字伴随式Sx伴随式E6xx61000000 x2100E5xx50100000 x2x110E4xx40010000 x2x1111E3xx30001000 x1011E2xx20000100 x21101E1xx10000010 x010E0xx000000011001Ex000000000000表1 BCH(7,4)循环码错误图样表 上式指出了系统循环码的译码方法将收到的码字Rx 用gx 去除,如果除尽则无错;否则有错。如果有错,可由余式Sx 一一找出对应图样,然后将错误图样Ex 与Rx 模2 和,即为所求码字Cx,从而实现纠错目的。根据前面的讨论,可得(7,4)循环码译码的程序框图如图2.3.1 所示初始化由Rx确定SxSx0,无误码误码否由Sx确定错误图样Ex纠错存储cx图2.3.1 译码程序框图2.5 误码率和信噪比 误码率(BERbit error ratio)是衡量数据在规定时间内数据传输精确性的指标,是衡量一个数字系统可靠性的主要的判断依据。虽然现在手机系统有许多仪器都可以直接对该项作直接的测量,但是对数字对讲机以及新兴的采用新的协议模式的设备,误码率的测试就会比较繁琐。而很多现有的设备都是基于模拟指标的测量,如果能找到模拟的指标与误码率之间的关系,那么将更方便我们的调试。在之前我们已经能直观的能观察到误码率BER 与模拟的信噪比SNR 以及射频中的噪声干扰存在一种相对应的关系。3.程序主体设计3.1 伪随机序列产生模块对于精度要求不高的伪随机序列,可以采用如下函数 rand功能 生成伪随机数序列。调用格式randiimax,m,n说明返回一个m*n阶矩阵,m和n都必须是非负整数值,如果m,n任一为负数,将被当做0处理。stairs功能在matlab中stairs函数用于绘制阶梯状图。调用格式stairsX,Y程序与仿真结果如下r3;n2r-1;kn-r;sig0randi0 1,k*1000,1; figure2t1lengthsig0;stairst-1,sig0axis0 4*3 minsig0-0.5 maxsig00.5title编码器输入信号波形 图3.1 编码器输入信号波形3.2 循环码编码encode功能完成汉明码,循环码,线性码等的编码调用格式code encodemsg,n,k,cyclic/fmt,genpoly说明用指定的方法完成纠错编码。其中msg代表信息码元,是一个K列矩阵,N是编码后的码字长度;K是信息位的长度;opt是有些编码方式需要的参数。使用如下语句 sig1encodesig0,n,k,cyclic测试结果输入3组4位序列000011100101输出3组7位序列000000010011101000101查表得满足循环码编码规则,仿真结果正确。仿真波形图3.2 编码器输入输出信号3.3 awgn信道加噪awgn功能在某一信号中加入高斯白噪声y awgnx,SNR 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。为便于观察,取snr10程序段如下snr10;sig2awgnsig1,snr0.5*1;subplot4,2,5t1lengthsig2;stairst-1,sig2axis0 7*3 minsig2-0.5 maxsig20.5title信道输出信号 仿真波形如图3.3 图3.3 信道输出信号设置信噪比为10,编码信号加入高斯白噪声后失真严重。足以突出循环码作用。3.4循环码译码decode函数功能译码函数语法msgdecode(code,N,K,,opt1,opt2,opt3,opt4); 说明这个函数对接收到的码字进行译码,恢复出原始的信息,译码参数和方式必须和编码时采用的严格相同。它对接收到的码字,按指定的方式进行译码;opt1opt4是可选项的参数。sig3 decodesig2,n,k,cyclic;subplot4,2,7t1lengthsig3;stairst-1,sig3axis0 4*3 minsig3-0.5 maxsig30.5title译码器输出信号 仿真结果图3.4 译码器输出信号波形观察波形得,译码器输出信号波形与编码器输入信号波形相同,符合实际情况。3.5误码率与信噪比symerr功能计算错误符号的个数和误符号率。调用格式number,ratiosymerrx,y说明number是一个标量或者是一个向量,它指出了x和y两组数据集相比不同符号的个数;ratio为误符号率,它等于number除以总符号数(x和y中较小数)。snr0.10.120;ratio;for var11200sig2awgnsig1,snrvar0.5*1;sig3 decodesig2,n,k,cyclic;number,ratiovarsymerrsig0,sig3endfigure2plotsnr,ratio;title误码率与信噪比关系曲线 仿真结果 图3.5 信噪比与误码率关系曲线3.6频谱计算函数fft功能一维基2快速傅里叶变换。调用格式yfftx利用FFT算法计算矢量x的离散傅里叶变换。当x为2的幂次方时,采用高速基2FFT算法,否则为稍慢的混合算法。yfftx,N采用n点FFT。当x的长度小于N时,FFT函数在x的尾部补零,以构成N点数据,当x的长度大于N时,FFT函数在x的尾部截断,以构成N点数据。fftshift功能对FFT的输出进行重新排列,将零频分量移到频谱的中心。调用格式yfftshiftx对FFT的输出进行重新排列,将零频分量移到频谱的中心。function sigfftx Summary of this function goes here Detailed explanation goes hereclcNlengthx; N512;fs300;df100/N;f0lengthx-1*fs/lengthx;plotf,absfftshiftfftx/N;axis149 151 0 1end仿真结果 数字基带信号是一个随机脉冲序列,没有确定的频谱函数,所以只能用功率谱来描述它的频谱特性。功率谱是随机过程的统计平均概念,平稳随机过程的功率谱是一个确定函数;频谱只是随机过程样本的Fourier变换,查阅资料找到另一种表现形式功率谱密度。函数定义如下functionf,sf T2Ft,st dt t2-t1; Ttend; df 1/T; N lengthst; f-N/2*dfdf/2dfN/2*df-df/2;f-N/2*dfdfN/2*df-df; sf fftst; sf T/N*fftshiftsf; 在序列中插入M-1个0的函数定义如下functionoutsigexpandd,M N lengthd; out zerosM,N; out1, d; out reshapeout,1,M*N; 修改后的功率谱密度函数主要代码function sigfftxclcTs1; N_sample 100;dt Ts/N_sample; N lengthx; t 0dtN*N_sample-1*dt; T N*N_sample*dt; gt1 ones1,N_sample; data sigexpandx,N_sample; st1 convdata,gt1; f,st1f T2Ft,st11lengtht; plotf,absst1f.2;semilogyf,absst1f.2 ; axis-5 5 0 1000; end功率谱仿真结果如下4.总结本次课程设计主要使用了MATLAB软件,使我对MATLAB的运用更加熟练。对循环码的设计也使我投入到对课本知识的再一次探讨中去,从不同的角度讲所学应用到实践中去。加深了我对这部分知识的理解,锻炼了对于资料的收集整理运用的能力。对MATLAB自带帮助文档的运用更是提高了我对英语学习重要性的认知。设计初,查阅资料,构建基本模型,完成程序主要流程并成功运行下来耗时一天,这个过程并不漫长,在学校基于MATLAB的DSP实验课上,我积累了一定的基础认知,可以初步简单运用该软件,为这一环节打下了基础。然后接下来日子将重点放在各个模块的精细改进,各种程序之间的优劣,编程效率也纳入自己的考虑之中,这一阶段我忙于对各个部分功能以及网上资料的测试,真正印证了“矩阵实验室”的意义。此阶段耗时最长,收获也最多,改变了平时学习中浮于表面,毛毛躁躁的习惯。撰写报告过程是自己对这次设计的一个完整回顾,又从一个新的角度整理实验数据与资料。将林林总总的实验程序、数据的整合过程中锻炼了自己的综合素质。对于问题的考虑还不够全面,诸如没有备份程序,修改后程序已经面目全非也使自己的心情极为烦躁。克服这些问题其实也可以学到其他方面的知识,终将使自己的能力得到全方位的提高。诚然,自己的设计还有许许多多不完善的地方,各个方面也不一定面面俱到,但总体来讲,过程中的收获大于结果,更是培养了自己对于学习的兴趣。参考文献1樊昌信,曹丽娜,通信原理(第六版,国防工业出版社,2007年出版。2刘泉,阙大顺,郭志刚,数字信号处理原理与实现,电子工业出版社,2009.年出版。3 Vinay K.Ingle,数字信号处理及其MATLAB实现,电子工业出版社,1998年出版。 4 Sanjit K. Miltra,Digital Signal Processing Laboratory Using Matlab,McGraw-Hill出版社,2000年出版。附录 程序清单1. 主程序clcclearclf r3;n2r-1;kn-r;sig0randi0 1,k*1000,1; subplot4,2,1t1lengthsig0;stairst-1,sig0axis0 4*3 minsig0-0.5 maxsig00.5title编码器输入信号 subplot4,2,2;sigfftsig0;title编码器输入信号功率谱密度 sig1encodesig0,n,k,cyclic; subplot4,2,3 t1lengthsig1;stairst-1,sig1axis0 7*3 minsig1-0.5 maxsig10.5title编码器输出信号波形 subplot4,2,4;sigfftsig1;title编码器输出信号功率谱密度snr10;sig2awgnsig1,snr0.5*1;subplot4,2,5t1lengthsig2;stairst-1,sig2axis0 7*3 minsig2-0.5 maxsig20.5title信道输出信号波形 subplot4,2,6;sigfftsig2;title信道输出信号功率谱密度 sig3,err,ccode,cerr decodesig2,n,k,cyclic;subplot4,2,7t1lengthsig3;stairst-1,sig3axis0 4*3 minsig3-0.5 maxsig30.5title译码器输出信号波形subplot4,2,8;sigfftsig3;title译码器输出信号功率谱密度dispTranspose of err is; disperrdispTranspose of cerr is; dispcerr setgcf,color,white2. 误码率与信噪比程序clc sig0randi0 1,k*1000,1;sig1encodesig0,n,k,cyclic; snr0.10.120;ratio;for var11200sig2awgnsig1,snrvar0.5*1;endsig3 decodesig2,n,k,cyclic;number,ratiovarsymerrsig0,sig3endfigure2plotsnr,ratio;title误码率与信噪比曲线 setgcf,color,white3. T2F函数 functionf,sf T2Ft,st dt t2-t1; Ttend; df 1/T; N lengthst; f-N/2*dfdfN/2*df-df; sf fftst; sf T/N*fftshiftsf; 4.sigexpand函数functionoutsigexpandd,M 将输入序列扩展成间隔为0的序列N lengthd; out zerosM,N; out1, d; out reshapeout,1,M*N; 5,功率谱密度计算函数function sigfftxclcTs1; N_sample 100;dt Ts/N_sample; N lengthx; t 0dtN*N_sample-1*dt; T N*N_sample*dt; gt1 ones1,N_sample; data sigexpandx,N_sample; st1 convdata,gt1; f,st1f T2Ft,st11lengtht; plotf,absst1f.2;semilogyf,absst1f.2 ; axis-5 5 0 1000; end6.测试用单极性不归零信号波形与功率谱密度程序clear all; close all; Ts1; N_sample 8; dt Ts/N_sample; N 1000; t 0dtN*N_sample-1*dt; T N*N_sample*dt; gt1 ones1,N_sample; d sign randn1,N 1/2; data sigexpandd,N_sample; st1 convdata,gt1; d 2*d-1; data sigexpandd,N_sample; f,st1f T2Ft,st11lengtht; figure1 subplot121 plott,st11lengtht ;axis0 20 -0.1 1.1; ylabel单极性不归零信号波形; subplot122; plotf,absst1f.2 ;axis-5 5 0 1000; ylabel单极性不归零信号功率谱密度;

matlab 课程设计循环码性能分析,matlab课程设计--循环码的性能分析.docx相关推荐

  1. matlab 课程设计循环码性能分析,matlab课程设计--循环码的性能分析

    matlab课程设计--循环码的性能分析 课程设计任务书 学生姓名学生姓名 专业班级专业班级 指导教师指导教师 工作单位工作单位 题目题目 循环码的性能分析 初始条件初始条件 MATLAB,速率为 1 ...

  2. 潮流分析matlab课程设计小结,电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析...

    电力系统暂态分析课程设计--基于MATLAB的电力系统复杂潮流分析 电力系统稳态分析课程设计 题 目基于 MATLAB 的电力系 统 复杂潮流分析 学生姓名 学 号 专 业电气工程及其自动化 班 级 ...

  3. matlab关于噪声课设,基于matlab的有噪声的语音信号处理的课程设计.doc

    基于matlab的有噪声的语音信号处理的课程设计.doc DSP实验课程设计实验报告DSP实验课程设计实验报告姓名学号班级1课程设计题目基于MATLAB的有噪声的语音信号处理的课程设计.2课程设计的目 ...

  4. 基于matlab的pcm设计实验报告,基于MATLAB的PCM系统仿真课程设计

    基于MATLAB的PCM系统仿真课程设计 通信专业课程设计一 课课 程程 设设 计(论计(论 文)文) 设计设计 论文论文 题目题目基于基于 MATLABMATLAB 的的 PCMPCM 系统仿真系统 ...

  5. qam已调信号matlab相干解调,通信原理课程设计-基于MATLAB的M-QAM调制及相干解调的设计与仿真.doc...

    通 信 原 理 课 程 设 计 报 告 题 目:基于MATLAB 的M-QAM调 制及相干解调的设计与仿真 班 级:通信工程 1411 姓 名: 成 绩: 日 期:2016 年 12 月 21 日 基 ...

  6. matlab程序的幂法,数值分析课程设计+幂法与反幂法MATLAB

    数值分析课程设计+幂法与反幂法MATLAB 1一.问题的描述及算法设计(一)问题的描述本次课程设计我所要做的课题是对称矩阵的条件数的求解设计1.求矩阵 A 的二条件数问题 A 2102.设计内容1)采 ...

  7. matlab设计激光腔,激光原理课程设计--平行平面腔自再现模Fox-Li数值迭代解法及MATLAB实现...

    激光原理课程设计--平行平面腔自再现模Fox-Li数值迭代解法及MATLAB实现 激光原理课程设计激光原理课程设计 题目方形镜平行平面腔自再现模 Fox-Li 数值迭代解法及 MATLAB 实现 院院 ...

  8. MATLAB相干成像系统,Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真.docx...

    Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真 东 北 石 油 大 学课 程 设 计课课 程 Matlab光学仿真课程设计 题 目 基于Matlab相干与非相干照明 成像系 ...

  9. matlab 频率抽样,matlab课程设计(基于频率抽样发设计滤波器)

    matlab课程设计(基于频率抽样发设计滤波器) 武汉理工大学<MATLAB 课程设计>报告 课程设计 题 目 MATLAB 课程设计--利用 MATLAB 结合频率取样法设计一 个数字高 ...

最新文章

  1. 领跑交互新时代 蓦然认知助力传统产业智能化升级
  2. Android ListView 设置
  3. 合并流程处理及逆向操作
  4. python集合例题_python练习题集合-2
  5. data transformation python_Python数据分析(方睿)
  6. python语言实现飞机大战
  7. Positional Encodings in ViTs 近期各视觉Transformer中的位置编码方法总结及代码解析 1
  8. 想唱你就唱卡拉ok_如何将电唱机与其他设备连接起来
  9. Oracle数据库连接、退出缓慢问题查询与处理
  10. 怎么编译shell_运维如何才能学好 Shell?
  11. 涉密文件检查工具_保密文件销毁咨询
  12. 内置函数(内嵌函数或内联函数)
  13. ranger文件管理器修改默认文本编辑器为vim
  14. java编程手册_java编程手册下载
  15. SQL中使用UNION ALL一定比OR效率高吗?
  16. 第一步:文献阅读与翻译
  17. 大学计算机基础:信息处理技术实验教程,大学计算机基础实验教程
  18. lol手游账号服务器,英雄联盟手游
  19. 人工智能:确定性推理
  20. Elastic添加APM监控

热门文章

  1. python之-下载各种包失败(pycharm)最简便解决办法
  2. 搞好SEO内部链接是第一步
  3. python管理微信公众号_个人微信公众号搭建Python实现 -个人公众号搭建-永久素材管理(14.3.5)...
  4. 1、docker 概念
  5. ros系列-解决节点处理bag文件,输出无内容问题
  6. 百亿级实时查询优化实战,让你的Elasticsearch飞起来
  7. Linux安装禅道最新版
  8. 【python做个录屏软件】2.用PyQt5做个漂亮的GUI
  9. 小程序云开发实现搜索功能
  10. Openlayers使用Proj4js坐标转换cgcs2000分带(zone)投影的问题