当前位置: 首页 > news >正文

上海定制化网站开发公司免费稳定的云服务器

上海定制化网站开发公司,免费稳定的云服务器,新十条优化措施,上海的咨询公司排名#xff08;内容源自详解MATLAB#xff0f;SIMULINK 通信系统建模与仿真 刘学勇编著第八章内容#xff0c;有兴趣的读者请阅读原书#xff09; ​​​ ​ ​ ​ clear all N10;%信息比特的行数 n7;%hamming码组长度n2^m-1 m3;%监督位长度 [H,G]hammgen(m);%产生(n,n-…内容源自详解MATLABSIMULINK 通信系统建模与仿真   刘学勇编著第八章内容有兴趣的读者请阅读原书  ​​​ ​ ​ ​ clear all N10;%信息比特的行数 n7;%hamming码组长度n2^m-1 m3;%监督位长度 [H,G]hammgen(m);%产生(n,n-m)hamming码的效验矩阵和生成矩阵 xrandi([0 1],N,n-m);%产生比特数据 ymod(x*G,2);%hamming编码 y1mod(yranderr(N,n),2);%在每个编码码组中引入一个随机比特错误 mat1eye(n);%生成n*n的单位矩阵其中每一行的1代表错误比特位置 errvecmat1*H.;%校验结果对应的所有错误矢量 y2mod(y1*H.,2);%译码 %根据译码结果对应的错误矢量找出错误比特的位置并纠错 for indx1:Nfor indx11:nif(y2(indx,:)errvec(indx1,:))y1(indx,:)mod(y1(indx,:)mat1(indx1,:),2);endend end x_decy1(:,m1:end);%恢复原始信息比特 sfind(x~x_dec)%纠错后的信息比特与原始信息比特对比 首先(7,4)汉明码是指7个码元中携带了4个有效信息还有三个是冗余位是用奇偶校验留下来的检错信息。 先从最简单的情况开始假设我们需要传递的信息为[0 1 0 1] ​ 以偶校验的1,3,4位为例这三位的数据分别为0 0 1为了确保加上校验位后有偶数个1所以校验位为1后面的1 2 3位2 3 4位同理。 有了这三个校验位当四个信息位出现错误的时候我们可以根据校验位判断错误在什么地方。 ​ 可以看到1,3,4位和1,2,3位中的交集有错而2,3,4位没错所以错误只可能出现在1号位 这里我们利用三个校验位的情况成功的锁定了错误码元的所在位置。 这里没有讨论出现偶数个码元错误的情况和校验位错误的情况 现在回到代码 x是我们产生的数据其中的每一行可以称其为一组一组有4个信息码元。 ​ y是编码后的结果我们一行一行看绿色区域是每一组的校验位红色区域是每一组的信息位红色就是x ​  ymod(x*G,2); 这里的代码意思是x*G得到的矩阵每个元素对2取余其实就是异或也就是我们之前在进行校验位的计算时使用的方式 G就是生成矩阵把之前的我们从4个信息位编码成7个码元的过程用矩阵乘法进行表示 红色部分就是单位矩阵用来将信息部分原封不动的传进 黄色部分就是产生校验位的部分信息码元与它进行矩阵乘法再异或后就能得到上述的校验位。 这样就解释了为什么x*G再取异或后就能实现编码过程。 接下来来看解码过程解码需要用到校验矩阵H y2mod(y1*H.,2);%译码 可以发现由于在编码过程中的设计在乘上H’之后如果没有错误的情况下得到的矩阵中元素全都为0 现在我们假设信息码元中出现了一位错误。在解码之后得到的矩阵元素不全为0证明有错误我们需要用我们得到的 [0 ,1,1]找到错误出现的位置 总结译码的结果并不是原始数据而是表示错误情况的向量矩阵y2如果矩阵(y2)全为0 证明没有错误如果不全为0证明有错误我们通过逐行比较译码结果(y2)和所有的错误情况errvec观察每一行的译码结果与哪一行的errvec相同得到的errvec的行数就是y1中出现错误的位数 现在也可以解释为什么说errvec是校验结果对应的所有错误矢量因为errvec包含了所有含有非0元素错误的情况比对就能得到错误位数 如果译码得到的是0 0 0自然在errvec中没有对应的情况也表示y1这一行没有错误不需要修改。 clear all N1000000; %信息比特长度 M4;%QPSK调制 n7;%汉明码编码码组长度 m3;%汉明吗监督位长度 graycode[0 1 3 2];msgrandi([0 1],N,n-m);%信息比特 msg1reshape(msg.,log2(M),N*(n-m)/log2(M)).; msg1_debi2de(msg1,left-msb);%信息比特转化为10进制(1) msg1graycode(msg1_de1);%格雷编码 msg1pskmod(msg1,M);%qpsk调制 Eb1norm(msg1).^2/(N*(n-m));%计算比特能量 msg2encode(msg,n,n-m);%汉明编码(2) msg2reshape(msg2.,log2(M),N*n/log2(M)).; msg2bi2de(msg2,left-msb); msg2graycode(msg21);%汉明编码后的比特序列转化为十进制形式 msg2pskmod(msg2,M);%汉明码数据进行qpsk调制 Eb2norm(msg2).^2/(N*(n-m));%计算比特能量 EbNo0:10;%信噪比 EbNo_lin10.^(EbNo/10);%信噪比的线性值 for indx1:length(EbNo_lin)sigma1sqrt(Eb1/(2*EbNo_lin(indx)));%未编码的噪声标准差rx1msg1sigma1*(randn(1,length(msg1))j*randn(1,length(msg1)));%加入高斯白噪声y1pskdemod(rx1,M);%未编码QPSK解调y1_degraycode(y11);%未编码的格雷逆映射[err ber1(indx)]biterr(msg1_de.,y1_de,log2(M));%未编码的误比特率sigma2sqrt(Eb2/(2*EbNo_lin(indx)));%编码的噪声标准差rx2msg2sigma2*(randn(1,length(msg2))j*randn(1,length(msg2)));%加入高斯白噪声y2pskdemod(rx2,M);%编码qpsk解调y2graycode(y21);%编码格雷逆映射y2de2bi(y2,left-msb);%转换为二进制形式y2reshape(y2.,n,N).;y2decode(y2,n,n-m);%译码[err ber2(indx)]biterr(msg,y2);%编码的误比特率endsemilogy(EbNo,ber1,-ko,EbNo,ber2,-k*);legend(未编码,Hamming(7,4)编码)title(未编码和hamming(7,4)编码的QPSK在AWGN下的性能)xlabel(Eb/N0);ylabel(误比特率) (1)这里的转化为10进制是为了将二进制的信号转化为0-3的4进制情况这样就可以进行格雷编码进而qpsk调制 2 encode和decode编译码本质上就是例8.1中的过程这里使用现成的函数可以直接实现编译码
http://www.w-s-a.com/news/540686/

相关文章:

  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司
  • 东莞做网站系统购物网站建设精英
  • 建设vip网站相关视频网站营销建设公司
  • 微站直播平台杭州seo按天计费
  • seo 新旧网站 两个域名福州设计网站建设
  • 如何做网站客户端如何做网络营销网站
  • 苏州网站建设制度打鱼网站建设
  • 瓜子二手车直卖网上海小红书seo
  • 天津中小企业网站制作珠海做网站的
  • 网站排名影响因素最牛的科技网站建设
  • 长春网站建设公司怎么样电商网站建设与开发期末考试
  • 品牌网站建设搭建国内外网站建设
  • 辽宁人社app一直更新整站seo定制
  • 兰州网站建设论坛装修品牌
  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子
  • 赛罕区城乡建设局网站什么是新媒体运营
  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件