线性分组编码码中,接收端收到分组r的位数为,伴随式s可能的值有几种

VHDL/VERILOG编程--基于VHDL语言的汉明码编码器和译码器的设计-电子制作|电子毕业设计|毕业设计|单片机设计|QQ
&&|&&&&|&& &&|&&&&|&&
&&本站承接:
电子类项目设计,计算机毕业设计,毕业设计,电子毕业设计,电子线路设计,难题攻关,单片机设计,电子套件,VHDL编程等 &&&
&● 产品类别
& && VHDL/VERILOG编程
基于VHDL语言的汉明码编码器和译码器的设计
双击自动滚屏
发布者:1fun &&发布时间: &&阅读:
次 【字体:
专做,。熟悉51、ARM、电路设计、电路仿真等,欢迎咨询!
基于VHDL语言的汉明码编码器和译码器的设计
数字信号在传输过程中,由于受到干扰的影响,码元波形将变坏。接收端收到后可能发生错误判决。由乘性干扰引起的码间串扰,可以采用均衡的办法纠正,而加性干扰的影响可以采用差错控制的措施了。汉明码就是一种能纠正一位错码且编码效率较高的线性分组码,它能纠正一个错码或检测两个错码。而文章提出了一种基于VHDL语言的汉明码的编码器和译码器的设计与实现。在介绍汉明码编码和译码原理的基础上,给出了基于VHDL语言的实现的源程序,并通过Quartus II 5.1软件进行仿真验证。
[关键词]:
m序列,汉明码,编码,译码,VHDL语言
1&&&&&&&& 绪论 1.1&&&& 国内外研究及需求状况
1961年,Gorenstein和Zierler扩展了二进制编码理论来解决多进制码的问题,从而产生了突发纠错码。他们还悉心研究算法组合,即Peterson-Gorenstein-Zierler(PGZ)算法。1960年,Reed和Solomon发现了BCH码的一个子集,他们命名为RS码。
Turbo编码是一种并行级联码。更特别的是,Berrou建议使用的是并行的递归系统卷积码。在译码时使用的是一种修改过的MAP算法,用于这种并行级联码的译码。自从1993年,大量的研究工作再次围绕降低译码器的复杂性。Koch和Baier等人提出了可行的低复杂度的译码器,他们还建议使用这些编码的同时联合带宽有限调制机制。将来的进展在于加深对这种编码的良好性能的理解。1990年代中期,Hagenauer等人拓展了turbo码概念到并行级联分组码。Nickl的研究表明香农限可以通过使用简单的turbo汉明码接近到0.27dB的程度。
近年来,对高效可靠的数字传输和存储系统的需求日益增长。这种需求随着在商业、政府和军事领域面向数字信息的交换、处理和存储的大规模高速数据网的出现而变得更加迫切。通信系统得主要质量指标是通信的有效性和可靠性。在有噪声和损失存在的信道中,输入符号与接收符号不能一一对应,传输错误和判断错误的情况总会存在。可靠数字传输系统的设计要求通信与计算机技术的融合,系统设计者所关心的一个主要问题就是如何控制差错以使得数据能够可靠重现。
在数字通信系统中,编码器分为两大类:一类是信源编码,另一类是信道编码。信源编码的目的是解决通信的有效性问题。信道编码的目的是解决通信可靠性问题。采用信道编码后,在信息码后增加了监督位,这样就可以增加了码元之间的相互关联,在接收端根据相应的译码规则,就能够察觉传输中有无误码,甚至能自动纠正错误。我们把建立在代数学基础上的编码称为代数码。在代数码中,常见的是线性码。在线性码中信息位和监督位是由一些线性代数方程联系着的。增加了冗余,必然降低了传输效率,却赢得了提高可靠性的好处。那么为了纠正一位错码,在分组码中最少要增加多少监督位才行呢?编码效率能否提高呢?从这种思想出发进行研究,便导致汉明码的诞生。汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。那么怎么实现汉明码的编码与译码呢?本文将介绍基于VHDL语言的汉明码的编码与译码系统,实现汉明码的编码与译码,从而实现传输的差错控制。
信道编码和前向纠错编码的历史可以追溯到1948年香农的早期工作[2],他预测通过信道编码增加冗余信息,可以实现可靠的通信。然而香农没有给出可应用于实际的信道编码机制。而且,随着冗余度的增加,传输延迟也相应增大,香农没有指出香农限能够容忍的最大延迟。近年来,研究人员在努力减少潜在的影响因素,例如使用turbo码。
分组码方面,纠1个错的汉明码不足以满足实际应用需要。1960年前后,BCH码系列的发现是一个重要的里程碑,它能纠多个错误。1960年Peterson发现这些BCH码具有循环结构,这就意味着所有合法码字循环移位后得到的码也是合法的。第一种构造交织线形分组码的方法于1978年由Wolf提出,由于非常复杂,对于线形分组码的网格译码方面的研究不多。1988年Forney发现有些分组码具有相对简单的网格结构。基于Forney的研究,Honary等人提出各种方法以减少相关的解码复杂性。Chase算法是其中一种最流行的技术用于分组码的最大似然译码。
1.2&&&& 问题的研究及解决
本设计研究基于VHDL语言的汉明码的编码与译码系统。根据汉明码的构成原理,我们需在信息位的后面加上监督位来监督码组中出现错码的位置,这样就方便在接收端对接收到的码组进行纠错以便得到正确的信息位,达到可靠的通信。在本设计中,我们采用m序列循环产生预编码信号,经过汉明码编码系统产生带监督位的线性分组码。发送这些码组,经过信道后这些码组由于受到干扰的影响,某些码元波形会变坏,在接收端经过汉明码译码系统来检验错码及纠正错码,它能纠正一个错码或者检测两个错码。经过译码系统的检错与纠错,接收端就可以接收到正确的码组。1.3&&&& 设计研究的目的
通过运用Quartus II 5.1软件仿真对汉明码的编码译码有更深入的了解和认识,掌握汉明码的构造原理,了解汉明码在实际生活中的应用,掌握差错控制的基本方法,即在发送端的信息码元序列中,以某种确定的编码规则加入一些码元(称为监督码元),使信息序列与监督码元之间具有某种相关性。在不断学习新的知识以及归纳复习老知识的同时,加强自身对通信系统设计的能力。
2&&&&&&&& &VHDL语言与Quartus II软件简介 2.1&&&& VHDL语言概述
&&& 随着信息技术的不断发展,电子技术面临着严峻的挑战,为了跟上快速变化的步伐,电子产品的设计不得不非常快。模拟设计依然是很特殊的职业,数字设计已变得非常依赖于计算机辅助设计――也称为设计自动化(DA)或电子设计自动化(EDA)。
&&& 电子设计自动化的重要特征就是要求采用形式化语言来描述硬件电子电路的功能,即使用硬件描述语言来描述硬件电子电路。目前,作为硬件描述语言之一的VHDL(Very_High_Speed Integrated Circuit Hardware Description Language)已经成为各家EDA工具和集成电路厂商所普遍认同和共同推广的标准化硬件描述语言。
&&& VHDL语言是一种标准化的硬件描述语言,它自身必然有很多其他硬件描述语言所不具备的优点:(1)VHDL语言功能强大,设计方式多样。(2)VHDL语言具有强大的硬件描述能力。(3)VHDL语言具有很强的移植能力。(4)VHDL语言的设计描述与期间无关。(5)VHDL语言程序易于共享和复用。
虽然VHDL语言具有很多其他硬件描述语言所不具备的优点,但是它也并不是一种完全理想的硬件描述语言。同样,它也具有一些自身的缺点,或者说VHDL语言还有一些需要不断完善的地方:(1)VHDL语言有时不能准确地描述硬件电路。(2)VHDL语言的系统级抽象描述能力较差。(3)VHDL语言不能描述模拟电路。
&&& 作为一种标准化的硬件描述语言,VHDL语言描述硬件电路时具有一定的流程可以遵循。对于设计人员来说,掌握VHDL语言的开发流程图和开发步骤具有重要的指导作用。2.2&&&& Quartus II软件概述
Quartus II是Altera公司在21世纪初推出的CPLD/FPGA集成开发环境,它是该公司前一代CPLD/FPGA集成开发环境MAX+PUS II的更新换代产品。Quartus II提供了一种与结构无关的设计环境,其界面使设计者能方便地进行设计输入、快速处理和器件编程。Quartus II还包含许多十分有用的参数化的模块库,它们是复杂或高级系统构建的重要组成部分。Quartus II加强了网络功能,它具有最新的Internet技术,设计人员可以直接通过Internet获得Altera的技术支持。
Quartus II集成开发环境包括:系统级设计、嵌入式软件开发、可编程逻辑器件设计、综合、布局布线、验证和仿真等内容。
3&&&&&&&& (7,4)汉明码的编码与译码系统整体设计方案 3.1&&&& 汉明码的编码与译码系统的设计框图
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&
&& 图3.1& 汉明码编码/译码系统方框图3.2&&&& m序列 3.2.1&&& m序列的产生原理
m序列是最长线形反馈移存器序列的简称。它是由带线性反馈的移存器产生的周期最长的序列。
先引入本原多项式的概念。若一个n次多项式f(x)满足下列条件:
1)&&&&& f(x)为既约的;
2)&&&&& f(x)可整除(xm+1),m=2n-1;
3)&&&&& f(x)除不尽(xq+1),q&m;
则称f(x)为本原多项式。一个线性反馈移存器能产生m序列的充要条件为:反馈移存器的特征多项式为本原多项式。
&& m序列通过线形反馈移位寄存器产生如图:&&&&&&&&& &&&&&&&&&&&&&&&&&& &图 3.3 &m序列产生方框图3.2.2&&& m序列的产生
&&& 本设计中,根据要求我们需要用三级移位寄存器产生m序列,此m序列的周期为7。那么由查表可知此反馈移存器的特征多项式为f(x)=
&&&& 那么由特征多项式可画出此m序列的产生方框图:
图3.4 &3级移位寄存器产生m序列
初始状态&&&&&&&& 1&&& 1&&& 1&&&& 输出&&&& 1
&&&&&&&&&&&&&&&& 0&&& 1&&& 1&&&&&&&&&&&&& 1
1&&& 0&&& 1&&&&&&&&&&&&& 1
0&&& 1&&& 0&&&&&&&&&&&&& 0
0&&& 0&&& 1&&&&&&&&&&&&& 1
1&&& 0&&& 0&&&&&&&&&&&&& 0
1&&& 1&&& 0&&&&&&&&&&&&& 0
1&&& 1&&& 1&&&&&&&&&&&&& 1
& 所以由3级反馈移存器可产生……周期为7的m序列。3.3&&&& 汉明码的编码及译码原理 3.3.1&&& 汉明码的基本概念
&& &将被编信息分组,每组信息分别各自建立与码字之间的对应关系,这种编码方式叫分组码。分组码一般分组长度不变,k位信息为一组,符号次序不变,后面添加r位冗余(称为监督位),合成来构成一个码长为 n=k+r的码字。在线性码中信息位和监督位是由一些线性代数方程联系着的。而汉明码是一种能够纠正一位错码且编码效率较高的线性分组码。3.3.2&&& 汉明码的编码原理
&& &&一般来说,若码长为n,信息位数为k,则监督位数r=n-k。下面以(7,4)汉明码来说明汉明码的编码原理。
&&&& 我们用a6a5……a0表示这7个码元,用S1、S2和S3表示3个监督关系式中的校正子,则S1、S2和S3的值与错码位置的对应关系可以规定如下:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 表1
那么可以得出:S1=a6a5a4a2,S2=a6a5a3a1,S3=a8a4a3a0
由此可见:监督矩阵H= =[P ],式中:P为r*k阶矩阵; 为r*r阶单位方阵。Q为一个k*r阶矩阵,它为P的转置,即 ,我们在Q的左边加上一个k*k阶单位方阵,就构成一个矩阵G,矩阵G也称为生成矩阵。
所以生成矩阵G= =
那么由它可以产生整个码组,有式
所以监督位计算结果可由下表所示:
&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&表2
由以上分析可得出,汉明码编码器电路原理图如下:&&
&&&&&&&&&&&&&&&&& 图3.53.3.3&&& 汉明码的译码原理
发送码组A,在传输过程中有可能出现误码,这时接收端接收到的码组为B。则收发码组之差为 =E
其中,E称为错误图样。可见,若E=0,则B=A,传输无误码。令S= ,称为伴随式或校正子。则接收端利用接收到的码组B计算校正子S=
,因此,校正子S仅与E有关。若某一码组为许用码组,则它必然满足上式。利用这一关系,在接收端将接收到的码组B和事先在发送端约定好的监督矩阵 相乘,看是否为零,若为零,则认为接收正确;反之,则认为传输过程中发生了错误,进而设法确定错误的数目和位置。由此可见,伴随式S与错误图样E之间有确定的线性变换关系,与发送码组A无关。接收端译码器的任务就是从伴随式确定错误图样,然后从接收到的码字中减去错误图样。(7,4)线性分组码的伴随式S与错码图样E的对应关系如表3所示。
从以上分析可以得出线性分组码译码的基本步骤如下:
1)& 计算接收码组B的伴随式S
2)& 根据S从表中找出错误图样E,判定误码位置
3)& 根据E纠正错误,得到正确的码组A=E+B(模2加)
(7,4)汉明码的译码电路框图如下图所示:
&&&&&&&&&&&&&&&&&&&&&& 图3.6&&&
3.4&&&& 码型变换的实现
相对码-绝对码转换方框图如图3.7。
根据上面码型变换及反变换原理运用VHDL语言设计出的变换程序参见附录。变换波形参见图3.12。
图3.12 绝对码转换成相对码
xin表示绝对码的输入,yout表示相对码,由上图可以看到相对码输出滞后系统时钟一个脉冲周期,而相对码的参考相位是‘0’相位。
图3.13 相对码转换成绝对码
由图3.12和图3.13,实现了码型的变换和反变换。
4&&&&&&&& 用VHDL语言实现汉明码的编码与译码 4.1&&&& &用VHDL语言实现m序列的发生
为了实现m序列的连续正确地发生,我们可以用D触发器来组成反馈移存器,由此产生正确的m序列。D触发器产生m序列的框图可以如下图所示:
&&&&&&&&&&&&&&&&&&&&&&&&&&&& 图 4.1
那么用VHDL语言来实现上图功能可用如下语句:
use ieee.std_logic_1164.
entity d is
&&&& clk:in std_
&&&& d:in std_
&&&& q:out std_logic);
architecture art of d is
process(clk)
if(clk'event and clk='1')then
use ieee.std_logic_1164.
entity xm is
&&&& clk:in std_
&&&& q:out std_logic);
architecture art of xm is
component d is
&&&& clk:in std_
&&&& d:in std_
&&&& q:out std_logic);
signal q0,q1,q2:std_
u0:d port map(clk,((not((q0 or q1) or q2)) or (q0 xor q2)),q0);
u1:d port map(clk,q0,q1);
u2:d port map(clk,q1,q2);
4.2&&&& 用VHDL语言实现m序列的串并转换
在编码器中4位信息位必须是并行输入的,可是m序列却是串行输出的,所以在进入编码器之前,m序列必须进行串并转换。串并转换的思想就是:设定一个长度为4的数组,在时钟脉冲的作用下,使串行的m序列一位位地输给数组,当计数值从0达到3时,将数组输出,那么输出的数组即为m序列以4为长度的分组序列。那么我们可以用VHDL语言实现以上功能。
use ieee.std_logic_1164.
use ieee.std_logic_unsigned.
entity chuanbing is&&&&&&&&&&&&&&&&&
port(data:in std_--输入的m序列
&&&& reset:in std_
&&&& clk:in std_
&&&& qout:out std_logic_vector(3 downto 0));--输出的分组序列
architecture art of chuanbing is
& signal dout:std_logic_vector(3 downto 0);
& process(reset,clk) is
& variable count:integer:=0;
& if reset='1' then
&&&& qout&="0000";
&&&& count:=0;
& elsif clk'event and clk='1' then
&&& case count is
&&& when 3=&dout(0)&=
&&&&& qout&=
&&&&& count:=0;
&&& when others =&
&&& dout(0)&=
&&& count:=count+1;
&&& for i in 3 downto 1 loop
&&&&& dout(i)&=dout(i-1);
4.3&&&& &用VHDL语言实现汉明码的编码
现在我们已知监督矩阵H= ,故由H我们可以知道生成矩阵G= = ,那么由[a6a5a4a3a2a1a0]=[a6a5a4a3]?G,这样我们就可以用VHDL语言来实现汉明码的编码。
use ieee.std_logic_1164.
entity bianma is
port(clk:in std_
&&&& x:in std_logic_vector(3 downto 0);
&&&& p:out std_logic_vector(6 downto 0));
architecture art of bianma is
process(clk)
if(clk'event and clk='1') then
&&&& p(0)&=x(3) xor x(1) xor x(0);
&&&& p(1)&=x(3) xor x(2) xor x(0);
&&&&&&&&&& &p(2)&=x(3) xor x(2) xor x(1);
&&&&&&&&&& &p(3)&=x(0);
&&&&&&&&&& &p(4)&=x(1);
&&&&&&&&&& &p(5)&=x(2);
&&&&&&&&&& &p(6)&=x(3);
&&&&&&&&&&
&&&&&&&&&&
4.4&&&& &用VHDL语言实现汉明码的译码
&& 在数字通信系统中,因编码经过信道传输后可能会在接收端出现错码,所以在汉明码译码系统中,我们首先要对接收码组进行检错与纠错。由第3章所述的汉明码的译码原理,我们可以先算出接收码组所对应的校正子,然后由校正子来指示错误码元位置,通过取反来纠错,那么实现程序如下:
use ieee.std_logic_1164.
entity yima is
&&&& m:in std_logic_vector(6 downto 0);
&&&& n:out std_logic_vector(0 to 3));
architecture art of yima is
signal s:std_logic_vector(2 downto 0);
signal t:std_logic_vector(6 downto 0);
component jiao is
&&&& x:in std_logic_vector(6 downto 0);
&&&& y:out std_logic_vector(2 downto 0));
component jiucuo is
&&&& k:in std_logic_vector(2 downto 0);
&&&& l:in std_logic_vector(6 downto 0);
&&&& j:out std_logic_vector(6 downto 0));
u0:jiao port map(m,s);
u1:jiucuo port map(s,m,t);
n&=t(6 downto 3);
use ieee.std_logic_1164.
entity jiucuo is
&&&& k:in std_logic_vector(2 downto 0);
&&&& l:in std_logic_vector(6 downto 0);
&&&& j:out std_logic_vector(6 downto 0));
architecture art of jiucuo is
signal s:std_logic_vector(6 downto 0);
process(k) is
if (k="000") then j&=s;
elsif (k="001") then j&=s(6 downto 1)&(not s(0));
elsif (k="010") then j&=s(6 downto 2)&(not s(1))&s(0);
elsif (k="011") then j&=s(6 downto 3)&(not s(2))&s(1 downto 0);
elsif (k="100") then j&=s(6 downto 4)&(not s(3))&s(2 downto 0);
elsif (k="101") then j&=s(6 downto 5)&(not s(4))&s(3 downto 0);
elsif (k="110") then j&=s(6)&(not s(5))&s(4 downto 0);
elsif (k="111") then j&=(not s(6))&s(5 downto 0);
use ieee.std_logic_1164.
entity jiao is
&&&& x:in std_logic_vector(6 downto 0);
&&&& y:out std_logic_vector(2 downto 0));
architecture art of jiao is
&&&& y(2)&=x(6) xor x(5) xor x(4) xor x(2);
&& &&y(1)&=x(6) xor x(5) xor x(3) xor x(1);
&&&& y(0)&=x(6) xor x(4) xor x(3) xor x(0);
4.5&&&& &用VHDL语言实现译码输出的并串转换
现在我们已经成功地完成了汉明码的编码与译码,但是此时译码输出是并行的,而实际下载到芯片看效果时只是一根输出线,所以我们有必要把译码输出改为串行的。
use ieee.std_logic_1164.
use ieee.std_logic_unsigned.
entity cd is
& port(din:in std_
&&&&&& clk:in std_
&&&&&& haming1:out std_logic);
architecture art of cd is
& signal z:std_
& signal z2:std_
& signal cc:std_logic_vector(3 downto 0);
& signal cd:std_logic_vector(2 downto 0);
& wait until clk'event and clk='1';
& if cd="100" then
&&& z2&='1';
&&& cd&="000";
&&& cd&=cd+1;
& process(z2,cc,clk) is
&&& if z2='1' then
&&&&& if clk'event and clk='1' then
&&&&&&& if cc="1001" then
&&&&&&& cc&="0000";
&&&&&&& z&='1';
&&&&&&& else
&&&&&&& cc&=cc+1;
&&&&&&& z&='0';
&&& wait until z='1';
&&& haming1&=
use ieee.std_logic_1164.
use ieee.std_logic_unsigned.
entity bingchuan is
&port(clk:in std_
&&&&&& reset2:in std_
&&&&&& datain:in std_logic_vector(3 downto 0);
&&&&&& data:out std_logic);
architecture art of bingchuan is
signal dout:std_logic_vector(3 downto 0);
signal count:integer:=0;
& process(clk)
&&& if clk'event and clk='1' then
&&&&& if count=3 then
&&&&&&& count&=0;
&&&&& else
&&&&& count&=count+1;
& process(reset2,count,dout,datain)
&&& dout&=
&&& if reset2='1' then
&&&&& data&='0';
&&& case count is
&&&&& when 0=&data&=dout(3);
&&&&& when 1=&data&=dout(2);
&&&&& when 2=&data&=dout(1);
&&&&& when 3=&data&=dout(0);
&&&& &when others=&
那么至此,我们用VHDL语言把汉明码的编码与译码成功地实现了。5&&&&&&&& 系统仿真
用VHDL实现汉明码编码与译码的相关仿真图形如下。5.1&&&& m序列的顶层图
5.2&&&& m序列的仿真波形
5.2.1&&& m序列的串并转换顶层图
5.2.2&&& m序列串并转换的波形
5.3&&&& 编码顶层图
5.4&&&& 编码波形图
5.5&&&& 译码顶层图
5.6&&&& 译码波形图
5.7&&&& 总图
6&&&&&&&& 总结及致谢 6.1&&&& 小结
通过设计这套汉明码的编码译码系统,我有以下几方面的心得体会:
首先,通过这次的设计,将三年来所学的课程(电工、数字电子、模拟电子等),融会贯通在一起,可谓是一次真正意义的知识应用与实践。与此同时,还加深了对所学知识的进一步理解,对以前学习过程遇到的模糊的概念,疑难问题也迎刃而解,可谓是一次知识的升华。
其次我个人认为在这次设计中最重要的收获是无形中形成的一套电子电路知识体系和设计思路。而知识体系和设计思路的形成也真正的达到了大学学习的目的:学会学习。这为以后无论是继续学习,还是从事相关工作都奠定了基础。
最后,通过这次设计我也发现了很多不足之处:
知识欠缺,还不完善,还有很多需要去认真学习、钻研。
对设计过程中的很多部分还只停留在定性分析阶段,不能进行定量分析。
6.2&&&& 致谢
首先感谢各位指导老师,各位同学给我的支持和帮助,感谢他们在这几个月份给与的关键性指导和提议。
同时我也感谢家里的父母,为我提供了一个很好的学习环境,和无微不至的关怀,在我感到困难和灰心时,他们对我的鼓励,我的成功有他们不可以或缺的功劳。
感谢我的指导老师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。&
感谢同学们对我的帮助和指点。没有他们的帮助和提供资料对于我一个对网络知识一窍不通的人来说要想在短短的几个月的时间里学习到电子知识并完成毕业论文是几乎不可能的事情。&
岁月如流,流走的是时光,流不动的是永存于心底的这份情愫!
7&&&&&&&& 参考文献
[1]苏长赞主编:《实用遥控技术手册》,北京:人民邮电出版社,1996年。
[2]陈永甫主编:《红外探测与控制电路》,北京:人民邮电出版社,2004年。
[3]无线电爱好者丛书编委会,黄继昌等主编:《实用识别电路》,北京:&&&& 人民邮电出版社,2005年。
[4]华中理工电子学教研室编,康华光主编:《电子技术基础》(模拟部分)(第四版),北京:高等教育出版社,1999年。
[5]华中理工电子学教研室编,康华光主编:《电子技术基础》(数字部分)(第四版),北京:高等教育出版社,2000年。
[6]秦曾煌主编:《电工学》上册,电工技术(第五版),北京:高等教育出版社,1999年。
[7]秦曾煌主编:《电工学》下册,电子技术(第五版),北京:高等教育出版社,1999年。
[8]万福君.单片机微机原理系统设计与应用.中国科学技术大学出版社,2003.
[9]宏晶科技.STC89CS1RC-RD+- GUIDE. http://www..cn. 2005.
[10]基于Keil CS 1高级语言的TKS系列仿真器使用指南.广州致远电子有限公司,2004.
[11]袁希光.传感器技术手册.国防工业出版社,1986.
[12]强锡福.传感器.机械工业出版社,2000.
[13]徐爱均.Keil Cx51 V7.0单片机高级语言编程与u Vision2应用实践.电子工业出版社,2004.
[14]赖麒文.8051单片机C语言彻底应用.科学出版社,2002.
[15]周航慈.单片机应用程序设计技术.北京航空航天大学出版社,1991,
[16]马忠梅,籍顺心.单片机的C语言应用程序设计.北京航空航天大学出版社,1999.
[17]刘光斌,刘冬,姚志成.单片机系统实用抗干扰技术.人民邮电出版社,2003.
[18]张伟,王力,赵晶.Protel DXP入门与提高.人民邮电出版社,2003.
[19]阎石.数字电子技术基础.高等教育出版社,1998.
上一条新闻:
下一条新闻:
 ?&&?&&? &?&&?&&?&&?&&? &? & ?&&? &? &?&&?&&?&&?&& ?&&? &? &?&&?&&?&&& ?&&&? &? &? &? &?  友情链接交换:|||||||||
     
--------------------------------------------------------------------广告位---------------------------------------------------------复习题;1选择题(共10分,每小题2分);x2x3x4??X??x1、有一离散无记忆信源X;则其无记忆二次扩展信源的熵H(X2)=();A、1.75比特/符号;B、3.5比特/符号;;C、9比特/符号;D、18比特/符号;0000??P(y1/x1)P(y2/x1)?,;3242???000P(y5/x3)P(y6/x;中P(yj/xi)两两不相等,则该信道
1选择题(共10分,每小题2分)
x2x3x4??X??x1、有一离散无记忆信源X,其概率空间为????1,??P??0.50.250.?
则其无记忆二次扩展信源的熵H(X2)=(
A、1.75比特/符号;
B、3.5比特/符号;
C、9比特/符号;
D、18比特/符号。
0000??P(y1/x1)P(y2/x1)?,其00P(y/x)P(y/x)002、信道转移矩阵为?
3242???000P(y5/x3)P(y6/x3)??0?
中P(yj/xi)两两不相等,则该信道为
A、一一对应的无噪信道
B、具有并归性能的无噪信道
C、对称信道
D、具有扩展性能的无噪信道
3、设信道容量为C,下列说法正确的是:(
A、互信息量一定不大于C
B、交互熵一定不小于C
C、有效信息量一定不大于C
D、条件熵一定不大于C
4、在串联系统中,有效信息量的值(
A、趋于变大
B、趋于变小
5、若BSC信道的差错率为P,则其信道容量为:(
p??1?plog2??1?p?p????? B、
C、 1?H?p?
D、?Plog(P)
6、设信道输入为 xm,输出为y,若译码准则是当P(y | xm’)≥P(y | xm),对所有m ≠ m’时,将 y判为m’,则称该准则为(
最大后验概率译码准则
B 最小错误概率准则
最大相关译码准则
D 最大似然译码准则
7、 线性分组码不具有的性质是(
任意多个码字的线性组合仍是码字
最小汉明距离等于最小非 0重量
最小汉明距离为3
任一码字和其校验矩阵的乘积 cmHT=0
8.条件熵H(XOY)H(X)。
(C)小于等于
(D)大于等于
(C)小于等于
(D)大于等于
3.相对熵总是
1. 是最佳码。
(A)Fano 编码
(B)Huffman编码
(C)Shannon编码
(D)算术编码
2.字母表为∑={0,1},情况下的Shannon
(A) L(x)=-logp(x)
(D) L(x)=[-logp(x) ]
3..字母表为∑={0,1},情况下的Shannon-Fano-Elias编码码长为。
(B)L(x)=-logp(x)+1
1.译码错误概率最小的译码为
(A) 最大似然译码
(B)最大后验概率译码
(C) 最小距离译码
(D)择多译码
(A) 非负性
(C) 三角不等式
(D)反对称性
2填空题(20分,每空2分)
1、 (7,4)线性分组码中,接受端收到分组R的位数为,伴随式S可能的值有____
种,差错图案e的长度为
,系统生成矩阵Gs
行的矩阵,系统校验矩阵Hs为____
行的矩阵,Gs和Hs满足的关系式是
2、 一张像素的16位彩色BMP图像能包含的最大信息量为
3、 香农编码中,概率为P(xi)的信源符号xi对应的码字Ci的长度Ki应满足不等式
?0.250.50.25??,则它是
信0.250.250.53、设有一个信道,其信道矩阵为 ?????0.50.250.25??
道(填对称,准对称),其信道容量是
比特/信道符号。 4
1948年,美国数学家 发表了题为“通信的数学理论”的长篇论文,从而创立了信息论。
必然事件的自信息是
6 离散平稳无记忆信源X的N次扩展信源的熵等于离散信源X的熵的
7 对于离散无记忆信源,当信源熵有最大值时,满足条件为_。
8 若一离散无记忆信源的信源熵H(X)等于2.5,对信源进行等长的无失真二进制编码,则编码长度至少为
9 对于香农编码、费诺编码和霍夫曼编码,编码方法惟一的是码
10 已知某线性分组码的最小汉明距离为3,那么这组码最多能检测出个码元错误,最多能纠正___1__个码元错误。
11 设有一离散无记忆平稳信道,其信道容量为C,只要待传送的信息传输率R__(大于、小于或者等于),则存在一种编码,当输入序列长度n足够大,使译码错误概率任意小。
12 平均错误概率不仅与信道本身的统计特性有关,还与___译码规则____________和码方法___有关
13必然事件的自信息量是________,不可能事件的自信息量是_________。
14一信源有五种符号{a, b, c, d, e},先验概率分别为 Pa=0.5, Pb=0.25, Pc=0.125, Pd=Pe=0.0625。符号“a”的自信息量为________bit,此信源的熵为________bit/符号。
15如某线性分组码的最小汉明距 dmin=6,最多能纠正____
__个随机错。
16平均互信息量 I(X;Y)与信源熵和条件熵之间的关系是________________。
17克劳夫特不等式是唯一可译码_________的充要条件。{00,01,10,11}是否是唯一可 译码?_________。
18.在Shannon信息论中,最重要的概念是
19.通信系统一般由信源―编码器―信道―译码器―信宿
5个部分组成。
1.字母表为∑={0,1},且取值空间χ={a, b, c, d, e}下的概率分布为
则C(χ)的一种可行的Huffman编码是
3.唯一可译码的码长必须满足
1.二元无噪信道的信道转移矩阵为
2.二元对称信道的信道转移矩阵为
3.二元删除信道的信道转移矩阵为?1?p?0?p0?p1?p??。
1.信道转移矩阵为
时,该信道的容量为。
2.信道转移矩阵为
时,该信道的容量为。
三亿文库包含各类专业文献、文学作品欣赏、应用写作文书、中学教育、专业论文、高等教育、信息论复习题52等内容。 
 信息论复习资料_教育学_高等教育_教育专区。光纤通信复习 基本概念 考试题型: ...二、 判断题 1、 信息就是一种消息。 ( ? ) 2、 信息论研究的主要问题是...  信息论 复习题_工学_高等教育_教育专区。信息论 复习题【3.2】设8个等概率分布的消息通过传递概率为p的BSC进行传送,8个消息 相应编成下述码字: M1=0000,M2=...  信息论试题7_理学_高等教育_教育专区。《信息论基础》参考答案一、填空题(共 15 分,每空 1 分) 1、信源编码的主要目的是提高有效性,信道编码的主要目的是...  信息论试题2_教育学_高等教育_教育专区。《信息论基础》答案一、填空题(共 15 分,每空 1 分) 1、 若一连续消息通过某放大器, 该放大器输出的最大瞬时电压...  信息论期末复习资料_教育学_高等教育_教育专区。书中: 1.信息科学,材料科学,能源科学仪器被称为当代的“三大支柱”。 2.带宽与数据传输速率 信道带宽与数据传输速...  信息论概念复习 5页 2财富值 信息论大复习() 231页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...  信息论试题4_工学_高等教育_教育专区。《信息论基础》试卷答案一、填空题(共 25 分,每空 1 分) 1.离散无记忆信源在进行无失真变长信源编码时,码字长度是...  信息论复习题_教育学_高等教育_教育专区。考试时间:120 分钟 考试方式: 闭卷 一、填空题(每小题 3 分,共 30 分) 1.自动控制系统的基本要求是___、___、...  信息论概念复习题一、填空 1、 1948 年,美国数学家 香农 发表了题为“通信的数学理论”的长篇论文,从而创立了 信息论。 2、 人们研究信息论的目的是为了 高效...

我要回帖

更多关于 线性分组码译码 的文章

 

随机推荐