




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
引 言二十一世纪是一个信息爆炸的时代,随之而来作为信息传输和处理的媒体与人们的生活息息相关,无处不在。电视、电话、移动通信、计算机多媒体技术等等都是为信息传输服务的。处于信息时代前沿阵地的电子学科的高等学府,如何培养未来信息工程专家学者,使他们能够在自己所处的领域叱咤风云,就必须使他们不但需要专业基础理论知识,还要有更扎实的专业实践技巧,把理论与实践相结合,才能使他们们有更多的创造发明。因此,为培养学生独立创新的能力,我们从信息工程系统的理论课程教学与实践教学的实际出发,考虑系统综合实验的特点,加强教学实践环节,体现实践课程的先进性,我们研制了信息系统综合实验平台。在实验平台中引入了DSP(数字信号处理器)、FPGA(可编程器件)、虚拟仪器等先进的设计理念。信息系统综合实验平台具有以下特点:传统的实验室都是单一题目内容各自独立的实验平台,信息系统综合实验平台,可跟均不同的专业、不同的课程、不同层次的学生十分方便灵活的组合,可简可繁。实验过程中的层次可根据需要选择,信号频率、幅度等等都由程序设计适时调节。整个实验课由一个平台独立完成,也可以有两个平台对接,做更复杂的系统实验。全部实验学生可独立设计、独立编成实现。也可自己做某一部分,而其它相关部分由实验室提供。信息系统综合实验平台系统可以完成以下内容:信道编码、随机信号分析、数据采样、信息处理、通信系统、自动控制、锁相环路、数字电路、虚拟仪器等。由于课程的设置,我们在这里主要涉及编码理论课实验。 编码理论对于学习电子信息工程、通信工程的同学来说是非常重要的专业基础课。它们为学习“信号处理”、“信号检测与估值”和“通信原理”等后续课程以及为将来的发展奠定坚实的基础。这门课程理论性很强,很抽象,学习它们需要较强的高等数学、概率论、线性代数、信号与系统等知识。过去我们主要限于课堂理论教学,学生缺乏对相关内容的理解,缺乏理论用于实践的能力。为了加强学生的实践和动手能力,增加学生对这两门课的直观印象,我们开设了这门课程的实验课。 第一章 电子信息工程综合实验扳简介11 硬件的基本配置 信息系统综合实验硬件平台的结构框图如下:实验平台包括如下结构:1 母板:母板包括信号采集与输出部分,FPGA接口部分,DSP接口部分,计算机接口部分,通用电源部分。 信号采集与输出部分包含模拟信号的采集与输出和数字信号采集与输出。模拟信号的采集与输出的作用:一是通过AD转换器采集模拟信号传输给FPGA进行处理,母板上提供两个独立的采集通道;二是通过DA转换器将从FPGA输出的数据信号转换为模拟信号输出,母板上提供的是两路DA转换后进行乘法调制输出。数字信号采集与输出的作用是由母板提供数据信号到FPGA的输入和FPGA的数据信号输出接口。 FPGA接口部分包含计算机下载接口,数据采集接口,数据输出接口,电源接口,DSP接口。计算机下载接口的作用是提供标准的并口数据到FPGA的数据转换,完FPGA的程序下载功能;数据采集接口作用是提供从AD转换器和数字信号输入接口到FPGA的连接;数据输出接口的作用是提供FPGA到DA转换器和数字输出接口的连接;电源接口的作用是给FPGA提供1.5V和3.3V的电源供应;DSP接口的作用是提供PGA与DSP的连接。 DSP接口部分包含计算机接口,FPGA接口,电源接口。计算机接口的作用是提供计算机的并口、串口和USB接口与DSP子模快的连接;FPGA接口的作用是提供DSP与FPGA之间的数据连接;电源接口的作用是给DSP提供5V和3.3V 电源供应。 计算机接口部分包含并口,串口,USB接口,作用是提供母板与计算机的数据连接。 通用电源部分的作用是提供系统所需的各种电源供应,包括+5VA、-5VA、+15VA、-15VA、+5V,+3.3V、+1.5V。2 DSP部分:DSP子板利用从主机下传的程序对从FPGA 子板获得的数据进行处理,主机的程序是通过并口并采用HPI方式传输的。在程序的下传过程中,程序同时存储在了FLASH存储器中,这样,可以保证在出现断电等意外情况时,程序不会丢失。数据处理后的结果通过USB接口和串行接口回复给主机,完成了对数据的数字信号处理。3 FPGA子板功能:FPGA子板从母板接收到数据(数据采集接口),经处理后将数据送到DSP子板(DSP接口)。DSP子板对数据进行运算后将数据返回到FPGA子板,FPGA将数据处理后再送回母板(数据输出接口)。4 FPGA子板接口: 计算机下载接口,数据采集接口,数据输出接口,DSP接口,电源接口。FPGA的程序可经由母板上的并口下载到FPGA内或者直接通过FPGA子板上的JTAG接口下载到FPGA内。下载模式采用AS模式和JTAG模式相结合的方式。FPGA子板主要芯片:EP1C20 FPGA芯片EPCS4 配置芯片信息系统综合试验平台模型如下:这块实验板能够完成:信道编码、随机信号分析、数据采样、信息处理、通信系统、自动控制、锁相环路、数字电路、虚拟仪器等,系统可扩展,在硬件平台不变的情况下,扩充软件使系统不断改进升级。下载方式采用USB下载,如图所示第二章 编码理论实验 提高信息传输的可靠性和有效性,始终是通信工作所追求的目标。编码技术是提高信息传输可靠性的一种重要手段。因此,学好编码课程对于从事通信方向的人员来说就显得非常重要。为了使大家能将理论用于实践,我们设置了编码实验课,希望大家通过实践更好的掌握这门课程。 编码分为信源编码和信道编码,它包括了许多内容,我们这里涉及霍夫曼(Huffman)编译码、循环码的编译码、RS编译码、卷积码的编译码及Turbo编译码器的设计与实现。信道编码的实验模型如下所示:这里讲述实验室提供的几种编译码模块、调制解调模块、误码测试模块的使用,供同学参考。 实验一 汉明码编码与译码器的设计与实现1 实验目的 了解汉明码的生成多项式g(x)与编、译码器之间的关系,码距与纠、检错能力之间的关系,掌握汉明码的编码及译码方法。 提高将编码理论应用到实践中的能力。2 实现原理及框图(1)分组码 分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。当分组码的信息码元与监督码元之间的关系为线性关系时,这种分组码就称为线性分组码。 对于长度为n的二进制线性分组码,它有种可能的码组,从种码组中,可以选择M= 个码组(kn)组成一种码。这样,一个k比特信息的线性分组码可以映射到一个长度为n码组上,该码组是从M= 个码组构成的码集中选出来的,这样剩下的码组就可以对这个分组码进行检错或纠错。 线性分组码是建立在代数群论基础之上的,各许用码的集合构成了代数学中的群,它们的主要性质如下: 任意两许用码之和(对于二进制码这个和的含义是模二和)仍为一许用码,也就是说,线性分组码具有封闭性; 码组间的最小码距等于非零码的最小码重。 奇偶监督码,就是一种最简单的线性分组码,由于只有一位监督位通常可以表示为(n,n-1)。在接收端解码时,实际上就是在计算: (1)其中, 表示接收到的信息位,表示接收到的监督位,若S0,就认为无错;若S1就认为有错。式(1)被称为监督关系式,S是校正子。由于校正子S的取值只有“0”和“1”两种状态,因此,它只能表示有错和无错这两种信息,而不能指出错码的位置。 设想如果监督位增加一位,即变成两位,则能增加一个类似于式(1)的监督关系式,计算出两个校正子和, 而共有4种组合:00,01,10,11,可以表示4种不同的信息。除了用00表示无错以外,其余3种状态就可用于指示3种不同的误码图样。 同理,由r个监督方程式计算得到的校正子有r位,可以用来指示 -1种误码图样。对于一位误码来说,就可以指示 -1个误码位置。对于码组长度为n、信息码元为k位、监督码元为rn - k位的分组码(常记作(n,k)码),如果希望用r个监督位构造出r个监督关系式来指示一位错码的n种可能,则要求: (2) 下面通过一个例子来说明线性分组码是如何构造的。设分组码(n , k)中k = 4,为了能够纠正一位错误,由式(2)可以看到,要求r 3,若取r = 3,则n = k+r = 7。因此,可以用表示这7个码元,用、表示利用三个监督方程,通过计算得到的校正子,并且假设、 三位校正字码组与误码位置的关系如表1(当然,也可以规定成另一种对应关系,这并不影响讨论的一般性): 由表中规定可已看到,仅当一错码位置在时,校正子为1;否则为0。这就意味着 四个码元构成偶数监督关系: (3a) 同理,构成偶数监督关系: (3b) 表1校正字与误码位置 以及构成有数监督关系: (3c) 在发送端编码时是信息码元,它们的值取决于输入信号,因此是随机的。是监督码元,它们的取值由监督关系来确定,即监督位应使式(3)的三个表达式中的、 和的值为零(表示编成的码组中应无错码),这样式(3)的三个表达式可以表示成下面的方程组形式: (4) 由上式经移项运算,接出监督位 (5) 根据上面两个线性关系,可以得到16个许用码组如表2所示: 表2许用码组 接收端收到每个码组后,计算出、和,如不全为0,则可按表8-4确定误码的位置,然后予以纠正。例如,接收码组为0000011,可算出 011,由表8-4可知在 位置上有一误码。 不难看出,上述(7,4)码的最小码距,因此,它能纠正一个误码或检测两个误码。如超出纠错能力,则反而会因“乱纠”而增加新的误码。 监督矩阵H和生成矩阵G 式(4)所述(7,4)码的三个监督方程式可以重新改写为如下形式: (6) 对于式(6)可以用矩阵形式来表示: (7) 上式可以记作:或 ,其中 (8a) (8b) (8c) 通常H称为监督矩阵,A称为信道编码得到的码字。在这个例子中H为rn阶矩阵,P为rk阶矩阵,Ir为rr阶单位矩阵,具有这种特性的H矩阵称为典型监督矩阵,这是一种较为简单的信道编译码方式。典型形式的监督矩阵各行是线性无关的,非典型形式的监督矩阵可以经过行或列的运算化为典型形式。 对于式(5)也可以用矩阵形式来表示: 或者 (9) 比较式(8a)和式(9)可以看到 ,如果在Q矩阵的左边在加上一个kk的单位矩阵,就形成了一个新矩阵G: (10) 这里G称为生成矩阵,利用它可以产生整个码组 (11) 由式(10)表示的生成矩阵形式称为典型生成矩阵,利用式(11)产生的分组码必为系统码,也就是信息码元保持不变,监督码元附加在其后。 校验子S 发送端信息码元M利用式(11),实现信道编码,产生线性分组码A;在传输过程中有可能出现误码,设接收到的码组为B。则收发码组之差为: (12) 这里,表示i位有错,表示i位无错。基于这样的原则接收端利用接收到的码组B计算校正子: (13) 因此,校正子仅与E有关,即错误图样与校正子之间有确定的关系。 对于上述(7,4)码,校正子S与错误图样的对应关系可由式(13)求得,其计算结果见表3所示。在接收端的译码器中有专门的校正子计算电路,从而实现检错和纠错。 表3(7,4)码校正子与错误图样的对应关系 (2) 汉明码 汉明码是一种能够纠正单个错误的线性分组码。它有以下特点: (1)最小码距,可以纠正一位错误; (2)码长n与监督元个数r之间满足关系式:。 如果要产生一个系统汉明码,可以将矩阵H转换成典型形式的监督矩阵,进一步利用Q = PT的关系,得到相应的生成矩阵G。通常二进制汉明码可以表示为: (14) 根据上述汉明码定义可以看到,(7,4)线性分组码实际上就是一个汉明码,它满足了汉明码的两个特点。 3 设计任务与达到的目标根据汉明编译码的原理,使用Quartus作为设计工具,设计汉明编译码器,所有模块用电路输入法或VHDL或Verilog语言程序实现(建议复杂的算法用语言实现而简单电路用电路输入法实现)。汉明编译码总模块如下:汉明码编码模块: 时钟:时钟信号由实验板提供20MHz时钟(仿真时也选用20MHz时钟)经4分频得到5MHz。 信源:产生周期为15的M序列作为消息的输入。信源时钟为5MHz经7分频得到(5MHz/7)。M序列发生器: 汉明编码:设计一种(7,4)汉明码,即4位信息码,3位监督码。汉明编码器实现的具体电路需要自己去设计。下面给出一个具体的例子仅供参考。下面的、为信息码元,、为监督码元。它们各关系如下:首先将信源m序列串行输出变换成4位并行码(verilog编写),时钟是5/7MHz。module bm_ipo11(mxulie,b,clk5000);input clk5000;input mxulie;output 0:3 b;reg 0:3 b;reg 0:3 temp;integer counter = 0;always (posedge clk5000)begin if(counter =4)beginb = temp;counter = 0;endtempcounter = mxulie;counter = counter + 1; end endmodule汉明编码电路(VHDL编写),时钟是5/28MHz。汉明编码原理图如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity hmbm is port (b: in std_logic_vector(3 downto 0); clk4:in std_logic; hm_out: out std_logic_vector(6 downto 0);end hmbm; architecture myarch of hmbm isbeginprocess(clk4,b)begin if rising_edge(clk4) then hm_out(0)=b(3) xor b(1) xor b(0);hm_out(1)=b(3) xor b(2) xor b(0);hm_out(2)=b(3) xor b(2) xor b(1); hm_out(3)=b(0) ; hm_out(4)=b(1); hm_out(5)=b(2); hm_out(6)=b(3); end if;end process;end myarch;经汉明编码器得到7位并行码,需要将汉明并行码砖换成串码,时钟是5MHz/4,1250MHz。发往信道。设计好的汉明编码器先仿真得到正确的结果,然后需要下载到实验板中用示波器观察编码信号。突发噪声产生模块:突发噪声+汉明编码汉明码译码模块: 汉明译码将接收到的汉明串码转换成并行码,之后进行译码。汉明译码器的模块图将并行码转换成串行码:module ym_ipo11(pi_hm,clk,cb_out);input clk;input pi_hm;output 0:6 cb_out;reg 0:6 cb_out;reg 0:6 temp;integer counter = 0;always (posedge clk)begin if(counter =7)begincb_out = temp;counter = 0;endtempcounter = pi_hm;counter = counter + 1; end endmodule校正子产生: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ss is port (cb_out: in std_logic_vector(6 downto 0); clk:in std_logic; ss: out std_logic_vector(2 downto 0);end ss; architecture myarch of ss is begin process(clk,cb_out) begin if rising_edge(clk) then ss(2)=cb_out(6) xor cb_out(5) xor cb_out(4) xor cb_out(2); ss(1)=cb_out(6) xor cb_out(5) xor cb_out(3) xor cb_out(1); ss(0)=cb_out(6) xor cb_out(4) xor cb_out(3) xor cb_out(0); end if; end process;end myarch;并串转换 设计好的译码器和编码器连接起来先仿真得到正确结果,最终将编译码器下载到实验板中,在示波器上观察编译码器的信号。 按系统方框图,将系统分成两部分:编码模块和译码模块。每部分都打包成模块,编译码模块又都有它自己的下层模块,最终完成汉明编译码器。将程序下载到实验板中调式的方法:可参考第三章Quartus开发软件部分。4. 实验报告要求 简述实验目的及实验原理。 写出汉明编译码器的设计思想,画出测试的相应个点的波形图,分析译码后,汉明译码的纠错能力。 在完成汉明编译码系统中出现的问题及解决的方法。 谈谈做设计性的实验对你学习的提高有没有帮助,你感觉设计性实验应该怎样做才能充分调动同学的积极性去参与?5 参考书 1曹志刚、钱亚生:现代通信原理,清华大学出版社出版。2黄正瑾等:CPLD系统设计计数入门与应用电子工业出版社出版3褚振勇、翁木云编著:FPGA设计及应用西安电子科技大学出版社出版。4使用电子电路手册数字电路分册,高等教育出版社出版。实验二 循环码编码与译码器的设计与实现1 实验目的 了解循环码的生成多项式g(x)与编、译码器之间的关系,码距与纠、检错能力之间的关系,掌握循环码的编码及译码方法。 提高将编码理论应用到实践中的能力。2 实现原理及框图循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。它有许多特殊的代数性质,这些性质有助于按所要求的纠错能力系统地构造这类码,且易于实现。同时循环码的性能也较好,具有较强的检错和纠错能力。循环码的特点就是码字的循环特性,所谓循环特性是指:循环码中任意位许用码组经过循环移位后,所得到的码组仍然是许用码组。若( )为一循环码组,则()、( )、还是许用码组。也就是说,不论是左移还是右移,也不论移多少位,仍然是许用的循环码组。下表给出了一种(7,3)循环码的全部码字。由此表可以直观地看出这种码的循环特性。例如,表中的第2码字向右移一位,即得到第5码字;第6码字组向右移一位,即得到第3码字。一种(7,3)循环码的全部码字序号码字序号码字信息位a6 a5 a4监督位a3 a2 a1 a0信息位a6 a5 a4监督位a3 a2 a1 a01000000051001011200101116101110030101110711001014011100181110010例如,表中的第7码字可以表示为:编码器的工作原理:在编码时,首先需要根据给定循环码的参数确定生成多项式g(x),也就是从的因子中选一个(n-k)次多项式作为g(x);然后,利用循环码的编码特点,即所有循环码多项式A(x)都可以被g(x)整除,来定义生成多项式g(x)。 根据上述原理可以得到一个较简单的系统循环编码方法:设要产生(n,k)循环码,m(x)表示信息多项式,则其次数必小于k,而m(x)的次数必小于n,用m(x)除以g(x),可得余数r(x),r(x)的次数必小于(n-k),将r(x)加到信息位后作监督位,就得到了系统循环码。下面就将以上各步处理加以解释。(1)用(监督码的最高位)乘m(x)(信息码)。这一运算实际上是把信息码后附加上(n-k)个“0”。例如,信息码为110,它相当于。当n-k7-34时,m(x)+,它相当于1100000。而希望的到得系统循环码多项式应当是A(x) = m(x) + r(x)。(2)求r(x)。由于循环码多项式A(x)都可以被g(x)整除,也就是因此,用m(x)除以g(x),就得到商Q(x)和余式r(x),即 (3) 编码输出系统循环码多项式A(x)为: 上述三步编码过程,在硬件实现时,可以利用除法电路来实现,这里的除法电路采用一些移位寄存器和模2加法器来构成。下面将以(7,3)循环码为例,来说明其具体实现过程。设该(7,3)循环码的生成多项式为:,则构成的系统循环码编码器如图1所示,图中有4个移位寄存器,一个双刀双掷开关e、f。当信息位输入时,开关位置“e”接2,“f”接2,输入的信息码一方面送到除法器进行运算,一方面直接输出;当信息位全部输出后,开关位置“e”接1,“f”接1,这时输出端接到移位寄存器的输出,是除法的余项,也就是监督位依次输出。 图1 循环码编码器原理循环译码过程 对于接收端译码的要求通常有两个:检错与纠错。达到检错目的的译码十分简单,通过判断接收到的码组多项式B(x)是否能被生成多项式g(x)整除作为依据。当传输中未发生错误时,也就是接收的码组与发送的码组相同,即A(x)=B(x),则接收的码组B(x)必能被g(x)整除;若传输中发生了错误,则A(x)B(x),B(x)不能被g(x)整除。因此,可以根据余项是否为零来判断码组中有无错码。需要指出的是,有错码的接收码组也有可能被g(x)整除,这时的错码就不能检出了。这种错误被称为不可检错误,不可检错误中的错码数必将超过这种编码的检错能力。在接收端为纠错而采用的译码方法自然比检错要复杂许多,因此,对纠错码的研究大都集中在译码算法上。我们知道,校正子与错误图样之间存在某种对应关系。如同其它线性分组码,循环码的译码可以分三步进行:(1)由接收到的码多项式B(x)计算校正子(伴随式)多项式S(x);(2)由校正子S(x)确定错误图样E(x);(3)将错误图样E(x)与B(x)相加,纠正错误。上述第(1)步运算和检错译码类似,也就是求解B(x)整除g(x)的余式,第(3)步也很简单。因此,纠错码译码器的复杂性主要取决于译码过程的第(2)步。基于错误图样识别的译码器称为梅吉特译码器,它的原理图如图2示。错误图样识别器是一个具有(n-k)个输入端的逻辑电路,原则上可以采用查表的方法,根据校正子找到错误图样,利用循环码的上述特性可以简化识别电路。梅吉特译码器特别适合于纠正2个以下的随机独立错误。图2中k级缓存器用于存储系统循环码的信息码元,模2加电路用于纠正错误。当校正子为0时,模2加来自错误图样识别电路的输入端为0,输出缓存器的内容;当校正子不为0时,模2加来自错误图样识别电路的输入端在第i位输出为1,它可以使缓存器输出取补,即纠正错误。 图2 梅吉特译码器原理 3 设计任务与达到的目标根据循环编译码的原理,使用Quartus4.0作为设计工具,设计循环编译码器,所有模块用电路输入法或VHDL语言程序实现(建议复杂的算法用VHDL语言实现而简单电路用电路输入法实现)。 时钟:时钟信号由实验板提供20MHz时钟(仿真时也选用20MHz时钟),经4分频得到5MHz方波信号。 信源:产生周期为15的M序列作为消息的输入。 循环编码:设计一种(7,3)循环码,即3位信息码,4位监督码。循环编码器实现的具体电路需要自己去设计。需要注意的是在电路设计时要考虑信号的连续性问题,不能由于插入监督码而中断信号。循环编码的原理图在循环编码器的原理部分以给出,下面给出循环编码器的模块框图仅供大家参考:设计好的循环编码器先仿真得到正确的结果,然后需要下载到实验板中用示波器观察编码信号。 循环译码:应用梅吉特译码器的原理进行译码,循环译码器实现的具体电路需要自己去设计,这里给出循环译码器的模块图仅供大家参考。 循环译码器的模块图 设计好的译码器和编码器连接起来先仿真得到正确结果,最终将编译码器下载到实验板中,在示波器上观察编译码器的信号。 按系统方框图,将系统分成两部分:编码模块和译码模块。每部分都打包成模块,编译码模块又都有它自己的下层模块,最终完成循环编译码器。4. 实验报告要求 简述实验目的及实验原理。 写出循环编译码器的设计思想,画出测试的相应个点的波形图,分析译码后,循环译码的纠错能力。 在完成循环编译码系统中出现的问题及解决的方法。 谈谈做设计性的实验对你学习的提高有没有帮助,你感觉设计性实验应该怎样做才能充分调动同学的积极性去参与?5 参考书 1曹志刚、钱亚生:现代通信原理,清华大学出版社出版。2黄正瑾等:CPLD系统设计计数入门与应用电子工业出版社出版3褚振勇、翁木云编著:FPGA设计及应用西安电子科技大学出版社出版。4使用电子电路手册数字电路分册,高等教育出版社出版。实验三 RS编译码器的设计与实现1 实验目的 掌握RS码的编码及译码方法。 了解RS码编码及译码在通信系统中所起的作用。2 实验原理为了在RS编译码的过程中能给大家建立通信系统的概念,本实验基本上是一个完整的通信系统。实验原理方框图如下:3 设计任务与达到的目标 考虑到RS编译码器设计的难易程度及时间因素,在以上通信系统的方框图中要求大家完成以下几部分设计。所有设计使用QuratusII软件,选择电路输入法或VHDL语言实现。设计M序列发生器作为数据流,其中M序列的周期为15,时钟周期为20KHz,仿真现并加以测试。 设计RS编码器,RS码参数选择1)域的选择GF(25)的域多项式g(x)=1+x2+x52)RS码生成多项式RS(31,15):genploy_type :=(23,13,0,8,3,1,21,25,7,4,23,14,23,22,18,12);编码器电路图图中b0,b2t-1为m位的移位寄存器。将设计好地RS编码器仿真并加以测试。 设计噪声发生器,产生4个突发噪声,仿真并加以测试。 以上通信系统框图中的其它模块均由实验室提供。 同学们将自己设计的M序列发生器、RS编码器、噪声发生器封装成模块,和实验室提供的其它模块按通信系统原理图连接起来。先仿真,经测试后如果没有错误,再将这些模块分成两部分,发送模块(原始数据、RS编码器、调制器)、接收模块(RS译码器、解调器、误码测试模块)封装成模块,分别下载到两块实验板中。外界一个延迟加噪信道,将两块实验板连接起来,用示波器来测试发送端信号和接收端信号,并检验RS码的纠错能力。 用逻辑分析仪详细测试接收端信号和发送端信号,观察RS编码器的纠错能力。4 实验报告要求 简述实验目的及实验原理。 写出M序列发生器、RS编码器、噪声发生器的设计思想,画出测试的相应个点的波形图,分析译码后,RS译码的纠错能力。 在完成通信系统中出现的问题及解决的方法。 谈谈做设计性的实验对你学习的提高有没有帮助,你感觉设计性实验应该怎样做才能充分调动同学的积极性去参与?实验四 卷积码的编码与译码器的设计与实现1 实验目的 掌握卷积码的编码及译码方法。 提高将编码理论应用到实践中的能力。2. 实验原理卷积码一般采用(n,k,m)来表示,其中k表示输入码元个数,n为输出码元个数,而且m为编码器存储的存储器数。典型的卷积码一般会选择n和k(n)值较小,但存储器可取较大值(m10,以获得既简单又高性能的信道编码。 卷积码与一般的分组码的区别是:在卷积码中,任何特定的时间单位内进入的信息组与前m个输入(记忆器中的存储器中存储的)有关。 由于在卷积码的束缚长度内,前后各组是密切相关的,一个组的监督元不仅取决于本组的信息元,而且也取决于前面m组的信息元。因此,虽然n,k比较小,但它的纠错能力却较强。 正是卷积码充分利用了各组之间的相关性,n和k才可以取较小的数,因此在与分组码同样的传输速信率和设备复杂性相同的条件下,卷积码的性能一般比分组码好。卷积码的编码器是一个有k个输入符号,n个输出符号,编码速率为R=k/n,且具有m节移位寄存器所构成的有限状有记忆系统,通常称作时序网络。卷积码的编码原理图如图下图所示。描述这类时序网络的方法很多,大致可分为两大类型,即:解析表示法与图形表示法。在解析法中有可分为离散卷积法、数图法、格图法等。 卷积编码器:下面的实验中涉及的卷积码为一个二元(2,1,3)卷积码结构。由图可知,它是由k=1(即一个输入符号),n=2(两个输出端),m=3(三级移位寄存器)所组成的有限状态的有记忆系统。卷积译码器:译码器的作用是采用可以使用误码率为最小的某种方法或准则,估计被编码的输入信息。在信息序列之间存在一对一的对应关系。卷积码的译码基本上可画分为两大类型:代数译码和概率译码。在我们的实验里使用概率译码,因为在实际中最常采用的卷积码的译码方法。1967年,维特比引入了一种卷积码的译码算法,这就是著名的维特比译码算法。后来有人证明维特比译码算法等价于求通过一个加权图的最短路径的动态规划解。富尼指出它事实上就是卷积码的最大似然译码算法。即,译码器所选择的输出总是能给出对数似然函数值为最大的码子。为了便于说明问题,仍用(2,1,3)卷积码为例,它可用图1.4.2来说明.格图共有L+m+1个时间段,其中L表示输入信息组长度,m为编码器中寄存器节数,由于系统是有记忆的,其影响可扩展到位。在图中分别以来表示。若假设编码器总是开始于状态并仍回到状态,则前个时间段对应于编码器从状态出发,而最后两个时间段是则相当于编码器返回到状态。因此,在前两个时间段与后两个时间段内是不可能达到可能到的所有的状态。但,在格图中心部分所有状态都可以到达。每个状态都有个分支的里去和进入。在时间段离开每个状态的上分支表示输入的,而下分支则表示。而维特比算法则是建立在这一格图上的一种算法。其基本思想是依次在不同时刻,对格图中相应列的每个点。按照最大似然准则比较所有以它为终点的路径(在(2,1,2)卷积码中各个节点只有两条路径),只保留一条具有最大似然值(或等效与最大似然值)的路径,称为幸存路径,而将其它路径删除。所以,到下一时刻,只对幸存路径保存下来的路径继续比较即可。即接收一段,计算一段,保留一段,保留下幸存路径,如此反复,一直进行到最后,在时刻所留下的一条路径就是所要求的最大似然译码解。这一算法的有效性是充分利用了卷积码的格图结构。维特比算法,即是找出通过格图中的具有最大度量值的最大似然路径。这个算法实际应用中是用迭代来处理的,在每一步中,它将进入每一状态的所有路径的幸存路径进行比较。并存储具有最大度量值的路径。其具体步骤可归纳如下:1) 从时刻开始,计算进入每个状态的单个路径的部分度量值,并存储每一状态下的幸存路径及其度量值;2) 增加1,将进入某一状态的分支度量值与前一段时间段的幸存幸存路径相加,然后计算进入该状态的所有的最大度量的路径,即幸存幸存路径及其度量值,并删掉其它的路径;3) 若,重复步骤2),否则停止;上述的三个步骤中,第1)步是第2)步的初始化,第3)步是第2)步的继续,所以关键是第2)步。它主要包括两部分:一是对每个状态进行关于度量比较与计算,从而决定幸存路径;另一个是对每一个状态记录幸存路径及其度量值。其中两部分中的第一部分,实质上是对网格图中间节点做局部优化判决,由于路径具有可分离性,即每条路径的度量值可写成组成它的各条分支的度量和,因此其满足动态规划的最优化原理,即这些局部优化运算等效于整体最优化。而第3)步则是重复计算第2)步,直至达到预定处理深度。上述维特比算法可进一步细化以便于实际操作。具体描述如下:1)从时刻开始,使格图充满状态,将路径存储器(PM)和路径度量存储器(MM)从到,进行初始化;2);3)接收到一组新的数据,它代表节点的分支上的接收符号组;4)对每个状态:1进行分支度量计算;2从MM寄存器中取出第个时刻的幸存度量值;3进行累加比较选择(ACS)基本运算,产生新的幸存路径及其度量值分别存入PM和MM。5)如果回到前面叙述的步骤2),否则往下做; 6)求MM中最大元素对应的路径,从PM中输出判决结果。下面,用(2,1,3)卷积码的格图来说明上面的维特比算法的步骤。如果,发送的信息序列是u=(10111),即L=5经过编码后的输出码子为: C=(11 10 00 01 10 11 )接收到的信息序列为:y=(10 10 01 01 10 11)在二进制对称信道下,最大似然译码就可以进一步转化为最小距离译码,其路径度量值可按照公式2.1.8及公式2.1.9来计算。其结果如图2.2.1及图2.2.2所示由上述格图可见,若输入信息序列为u=(10111)即L=5时,编码器的编码是:c=(11 10 00 01 10 01 11)若接收到的码子为y=(10 10 01 01 10 01 11)则 D(y,c)=1+0+1+0+0+0=2即最后得出的最小汉明即采用距离的路径如图2.2.2所示.。它可表示为:它们的长度为2。这时译码器的输出为:u=10111=u它与发送的信息序列完全相同。在具体实现维特比算法时,有三种不同的方式实现结构:1)全并行:即采用个ACS单元同时进行一次ACS及PMMM访问操作;2)全串行:即采用一个ACS单元,每时刻进行次ACS及PMMM访问操作;3)部分并行方案:即采用少于个ACS单元群,分数次完成每一时刻内的个状态的ACS运算以及PMMM访问操作;显然并行方案速度最高,但硬件量最大,全串行方案硬件量最小,但速度最低,第三种方案是前两种方案的折中。在全并行方案中由于采用了个ACS单元,和数量为的度量存储器,数量为的路径存储器,因此它的空间复杂性最大,但时间复杂性仅与L成正比,故最小。全串行方案中,其空间复杂性仅为一个ACS单元存储器数量与全并行相同,故最小,但其时间复杂性则与成正比,最大。时分方案则介于两者之间,其空间复杂性为,相应的时间复杂性为,其中为时分复用系数。由上述讨论可知,维特比译码方法中主要存在两个缺点:1) 要等全部接收的数据进入译码器后才能算处译码的结果,所以译码的时间延迟长; 2) 需要存储条幸存路径的全部历史数据,所以存储器很大。3 设计任务及达到的目标根据卷积码编译码的原理,使用Quartus4.0作为设计工具,设计卷积编译码器,所有模块用电路输入法或VHDL语言程序实现(建议复杂的算法用VHDL语言实现而简单电路用电路输入法实现)。 时钟:时钟信号由实验板提供20MHz时钟(仿真时也选用20MHz时钟),经4分频得到5MHz方波信号。 信源:产生周期为15的M序列作为消息的输入。 卷积编码:编码器采用(2,1,3)非系统卷积码,即编码器输入为1bit,输出为2bits,编码器的移位寄存器个数m=3。它的编码原理是用生成多项式与相应的信息序列卷积而得到的。(2,1,3)卷积码的生成多项式可用,表示。为了译码的方便,编码时,将每20组信息作为一段,进行编码。然后到下一段时,进行清零。如此反复一直编码下去。只是将编码器的编码分为三个状态,这样便于编码程序的编写,也与译码程序一致。卷积编码器实现的具体电路需要自己去设计。设计好的循环编码器先仿真得到正确的结果,然后需要下载到实验板中用示波器观察编码信号。 用FPGA设计噪声发生器,产生4个突发噪声。 卷积译码:卷积译码器采用维特比算法实现,由于算法比较复杂,实验的时间有限,所以卷积译码器由实验室提供。虽然实验室提供卷积译码器,但是还需要与同学设计的卷积编码器进行接口。 设计好的译码器和编码器连接起来先仿真得到正确结果,最终将编译码器下载到实验板中,在示波器上观察编译码器的信号。 按系统方框图,将系统分成两部分:编码模块和译码模块。每部分都打包成模块,编译码模块又都有它自己的下层模块,最终完成卷积编译码器。4 实验报告要求 简述实验目的及实验原理。 写出卷积编译码器的设计思想,画出测试的相应个点的波形图,分析译码后,卷积译码的纠错能力。 在完成卷积编译码系统中出现的问题及解决的方法。 谈谈做设计性的实验对你学习的提高有没有帮助,你感觉设计性实验应该怎样做才能充分调动同学的积极性去参与?实验五 Turbo编译码的设计与实现1 实验目的 掌握Turbo码的编码及译码方法。 提高在实践中的应用能力。2 实验原理为了在Turbo编译码的过程中能给大家建立通信系统的概念,本实验基本上是一个完整的通信系统。实验原理方框图如下:3 设计任务与达到的目标考虑到Turbo编译码器设计的难易程度及时间因素,在以上通信系统的方框图中要求大家完成以下几部分设计。所有设计使用QuratusII软件,选择电路输入法或VHDL语言实现。设计M序列发生器作为数据流,其中M序列的周期为15,时钟周期为20KHz,仿真现并加以测试。 设计Turbo编码器,Turbo编码器参数为:交织器为长度是256的随机交织器;分量编码器为递归系统卷积码(2,1,2)。编码速率为1/3;译码算法为MAX-Log-MAP算法 XXSXP2XP1信息序列u交织器分量编码器RSC1分量编码器RSC2删 余复用 turbo码编码器结构框图 将设计好的Turbo编码器仿真并加以测试。 设计噪声发生器,产生4个突发噪声,仿真并加以测试。 以上通信系统框图中的其它模块均由实验室提供。 同学们将自己设计的M序列发生器、Turbo编码器、噪声发生器封装成模块,和实验室提供的其它模块按通信系统原理图连接起来。先仿真,经测试后如果没有错误,再将这些模块分成两部分,发送模块(原始数据、Turbo编码器、调制器)、接收模块(Turbo译码器、解调器、误码测试模块)封装成模块,分别下载到两块实验板中。外界一个延迟加噪信道,将两块实验板连接起来,用示波器来测试发送端信号和接收端信号,并检验Turbo码的纠错能力。 用逻辑分析仪详细测试接收端信号和发送端信号,观察Turbo编码器的纠错能力。4 实验报告要求 简述实验目的及实验原理。 写出M序列发生器、Turbo编码器、噪声发生器的设计思想,画出测试的相应个点的波形图,分析译码后,Turbo译码的纠错能力。 在完成通信系统中出现的问题及解决的方法。 谈谈做设计性的实验对你学习的提高有没有帮助,你感觉设计性实验应该怎样做才能充分调动同学的积极性去参与?第三章 实验中所使用的软件简介2.1 MAX+PLUS开发软件 MAX+PLUS是Altera公司为其可编程器件推出的开发软件。它具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州经贸职业技术学院第十三届贵州人才博览会引才考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年阜阳临泉县陶老乡村干部招聘5人模拟试卷及答案详解(名师系列)
- 2025年河北承德辰飞供电服务有限公司招聘101人考前自测高频考点模拟试题及答案详解(有一套)
- 2025年蚌埠市教育局局属中学高层次人才招聘50人考前自测高频考点模拟试题附答案详解(考试直接用)
- 团队培训需求调查问卷模板
- 2025年临沂市电子科技学校公开招聘教师(35名)考前自测高频考点模拟试题及答案详解(必刷)
- 2025年六安金寨县人民医院招聘10人模拟试卷及参考答案详解
- 网络服务信息保护承诺书7篇
- 2025广东广佛产业园区运营管理有限公司招聘模拟试卷附答案详解(黄金题型)
- 2025年河北北方学院附属第二医院选聘工作人员6名模拟试卷及答案详解1套
- 2025年共青团员必背的100个重点知识汇编
- 【《离心泵叶轮的水力设计过程案例综述》2200字】
- 2025年新闻宣传、新闻采编专业及理论知识考试题(附含答案)
- 执法监督培训课件
- 股权投资基金培训课件
- 千川投手培训课件
- 2025年中国注塑机熔胶筒螺杆市场调查研究报告
- 皮肤科入科培训
- 职业培训班级管理制度
- 乡镇网络安全管理制度
- 高处坠落伤的急救与护理
评论
0/150
提交评论