汉明码编解码.doc_第1页
汉明码编解码.doc_第2页
汉明码编解码.doc_第3页
汉明码编解码.doc_第4页
汉明码编解码.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 汉明码编解码实验一、实验目的1、掌握汉明码的编解码原理。2、掌握汉明码的软件仿真方法。3、掌握汉明码的硬件仿真方法。4、掌握汉明码的硬件设计方法。二、预习要求1、掌握汉明码的编解码原理和方法。2、熟悉matlab的应用和仿真方法。3、熟悉Quatus的应用和FPGA的开发方法。三、实验原理 1、信道编码的概念通信信号是通过信道的传输,从信源传到信宿。由于信道有着不同的特征,这些特征将会影响传输中的通信信号,使信宿不能正确接受和识别信源的信号。因此需要采取各种方式抗信道干扰,信道编码就是一种广泛采用的抗信道干扰的方法。信道编码的思想是按照一定规律在待发送的信息码中加入一些冗余的信息,接收端根据这些冗余信息和信息码来恢复原来的信号。因此,信道编码的任务就是以最小的冗余代价来换取抗干扰性能最好的码。2、汉明码的原理汉明码是1949年提出的一种能纠正单个错误的线性分组码。实验中采用的含明码为(7,4)汉明码,其采用的本原多项式为。其生成矩阵为G=1011000,1110100,1100010,0110001。监督矩阵为:H=1001110,0100111,0011101。当输入编码序列为I时,输出编码序列RIG,输出的编码序列为系统码。接收的待译码序列DRE,E为错误序列。错误图样SDHT,根据错误图样S可以判决得到错误序列E。将错误序列和接收的待译码序列运算可以得到正确的译码输出。设(7,4)汉明码中共有4个信息码,3个监督码。我们用表示这7个码元,用S1,S2,S3表示三个监督关系式中的校正子,则S1,S2,S3的值与错码的位置的对应关系规定如下表所示:(其中;)S1S2S3错误位置S1S2S3错误位置001101010110100111011000无错下表是汉明码编码信息位与监督位的对应表:信息位监督位信息位监督位0000000100011100010111001100001010110100100011110101100101001101100001010110111010100110011111010001110001111111四、汉明码的波形和误码率仿真1、建立仿真文件(hammingsim.mdl)AWGN Channel的参数SNR设置为SNR;Bernoulli Binary Generator的参数Sample Time设置为SampleTime。2、仿真程序clear all;SampleTime=1;SNR=1;sim(hammingsim);figure(1);subplot(2,2,1);stem(hammingin);title(编码输入序列);subplot(2,2,2);stem(hammingen);title(编码输出序列);subplot(2,2,3);stem(hammingene);title(解码输出序列);subplot(2,2,4);stem(hammingde);title(解码输出序列);clear all;SampleTime=1/1000;for i=1:8 SNR=i-3; sim(hammingsim); biterr(i)=0; for j=1:length(err) biterr(i)=biterr(i)+err(j,1); end; biterr(i)=biterr(i)/length(err);end;figure(2);semilogy(-2:5,biterr,*);hold on;semilogy(-2:5,biterr);xlabel(SNR(dB);ylabel(BER);grid on;3、仿真结果(1)编解码波形(2)白高斯噪声信道误码率仿真结果五、实验中的汉明码编解码程序1、汉明编码(1)端口设置cs_hanming:输入汉明编码使能位,1电平有效;datain_hanming:输入4位编码输入位;dataout_hanming:输出16位编码输出位,低7位为编码输出位,高9位为0。 (2)主程序if cs_hanming=1thendataout_hanming(6 downto 3)=datain_hanming(3 downto 0); dataout_hanming(0)=datain_hanming(3) xor datain_hanming(1) xor datain_hanming(0); dataout_hanming(1)=datain_hanming(3) xor datain_hanming(2) xor datain_hanming(0); dataout_hanming(2)=datain_hanming(3) xor datain_hanming(2) xor datain_hanming(1);dataout_hanming(15 downto 7)=000000000;elsedataout_hanming(15 downto 0)=0000000000000000;end if;(3)输出结果如图所示:编码输入为0001,编码输出为0001011。2、汉明解码(1)端口设置 cs_hanming:输入汉明解码设置使能位,1电平有效;datain_hanming:输入7位汉明编码位;error_hanming:输出错误标志位,当信道加错时,输出1电平表示信道有错;dataout_hanming:输出4位汉明解码位。(2)主要程序-产生错误图样sel(2)=(datain_hanming(6) xor datain_hanming(5) xor (datain_hanming(4) xor datain_hanming(2);sel(1)=(datain_hanming(6) xor datain_hanming(5) xor (datain_hanming(3) xor datain_hanming(1);sel(0)=(datain_hanming(6) xor datain_hanming(4) xor (datain_hanming(3) xor datain_hanming(0);-输出错误序列with sel selectout38=0000000 when 000, 0000001 when 001, 0000010 when 010, 0000100 when 100, 0001000 when 011, 0010000 when 101, 0100000 when 110, 1000000 when 111;-输出错误标志with sel selecterror_flag=0 when 000, 1 when others;-纠错dataout_hanming(3)=out38(6) xor datain_hanming(6);dataout_hanming(2)=out38(5) xor datain_hanming(5);dataout_hanming(1)=out38(4) xor datain_hanming(4);dataout_hanming(0)=out38(3) xor datain_hanming(3);error_hanming=error_flag;如图所示:解码输入为0001011,解码输出为0001。六、实验操作说明开关置ON表明输入0,OFF表明输入1;LED亮表明输出1,暗表明输出0。1、编码输入:由SW101-8,SW101-7,SW101-6,SW101-5,SW101-4,SW101-3,SW101-2,SW101-1可以输入由高位到低位的8位编码输入位。2、编码方式选择SW102-2,SW102-1,SW102-0编码方式000汉明码编码001CRC编码010BCH码编码011卷积码编码100Turbo码编码101扩展用110扩展用111汉明码交织编码3、信道选择(选择加错位置)SW103-6,SW103-5,SW103-4,SW103-3加错位置0000从0位置加错0001从1位置加错0010从2位置加错0011从3位置加错.1111从15位置加错4、加错数目选择SW103-2,SW103-1加错位置00加0位错01加1位错10加2位错11加3位错从SW103-6,SW103-5,SW103-4,SW103-3指示的位置开始,每帧加错的位数有SW103-2,SW103-1的状态决定。5、编码输出设置D116,D115,D114,D113,D112,D111,D110,D109,D108,D107,D106,D105,D104,D103,D102,D101为16位编码输出位。TP102和TP103分别可以测量编码输出的帧和对应该帧的时钟信号。6、解码方式选择SW201-3,SW201-2,SW201-1解码方式000汉明码解码001CRC解码010BCH码解码011卷积码解码100Turbo码解码101扩展用110扩展用111汉明码交织解码7、解码数据输出端:D208,D207,D206,D205,D204,D203,D202,D201。错误指示灯(当判断出数据有错码时就指示):D220。8、其他:七段码显示表明维特比译码的四路路径度量。七、实验内容1、用matalab中的simulink对(7,4)汉明码进行软件仿真,绘制(7,4)汉明码的误码率图,分析它的纠错能力和码率;2、在Quatus中分别对(7,4)汉明码的编码和解码程序进行仿真,分析(7,4)汉明码的编解码过程;3、在实验系统中,分别置SW102-2,SW102-1,SW102-0为”000”和SW201-3,SW201-2,SW201-1为”000”,选择汉明码编解码方式。置SW103-6,SW103-5,SW103-4,SW103-3,SW103-2,SW103-1为”000000”,即不加任何错。4、由SW101-8,SW101-7,SW101-6,SW101-5,SW101-4,SW101-3,SW101-2,SW101-1任意输入8位数据,观察并记录D116,D115,D114,D113,D112,D111,D110,D109,D108,D107,D106,D105,D104,D103,D102,D101对应的编码后的输出数据。其中D115,D114,D113,D112,D111,D110,D109对应于SW101-8,SW101-7,SW101-6,SW101-5输入的四位数据的汉明码编码结果;D107,D106,D105,D104,D103,D102,D101对应于SW101-4,SW101-3,SW101-2,SW101-1输入的四位数据的汉明码编码结果。D116 和D108为保持一帧16位的补零数据。5、用示波器分别测量TP102和TP103,观察并编码输出的帧的帧格式。6、观察并记录解码数据输出端D208,D207,D206,D205,D204,D203,D202,D201的解码输出状态和错误指示灯(当判断出数据有错码时就指示)D220的输出状态。看是否译码正确。7、通过SW103-6,SW103-5,SW103-4,SW103-3,SW103-2,SW103-1选择在任意位置设置一位错误。8、看看解码模块的解码输出数据D208,D207,D206,D205,D204,D203,D2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论