




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 基于VHDL的卷积码编解码器的设计 长沙理工大学通信电路EDA课程项目报告 系 别 计通系 专 业 通信工程 班 级 通信1203班 指导教师 单树民 项目组组长 历洋 学 号 201254080312 项目组成员 刘鼎新 学 号 201254080330 项目组成员 陈士怡 学 号 201254080324 项目组成员 侯耀文 学 号 201254080323 完成日期2014年11月5日1 基于VHDL的卷积码编解码器的设计 目 录1 引 言31.1项目背景32 卷积码编解码器的结构概述4 2.1 卷积码编码器的结构42.2 卷积译码器的结构43 卷积码编解码器的VHDL 设计53.1
2、VHDL 设计的优点与设计方法53.2 卷积码编解码器的VHDL 实现53.2.1 卷积编解码器顶层建模的VHDL 描述53.2.2 用MAX+PLUS编译后生成的编解码器图形符号73.2.3 卷积编解码器VHDL仿真波形74 后记10基于VHDL的卷积码编解码器的设计1 引 言1.1项目背景现代数字通信有两个基本的理论基础,即信息论和纠错编码理论,它们几乎是同时在第二次世界大战结束后不久诞生的。前者首先由Shannon以他的不朽名著“通信的数学理论”为标志建立起来的,而后者则以Hamming的经典著作“纠错和检错编码”为代表。Shannon信息论主要讨论信息的度量,以及对于信息表示和信息传输
3、的基本限制。信道编码定理告诉我们,只要信息传输速率小于信道容量,则信息传输可以以任何小的错误概率进行。但是,Shannon信息论并没有告诉我们如何去实现这一点。Hanmming提出的纠错编码理论正是为了解决这个问题。科学技术的发展使人类跨入了高度发展的信息化时代。在政治、军事、经济等各个领域,信息的重要性不言而喻,有关信息理论的研究正越来越受到重视。20世纪50年代信息论在学术界引起了巨大的反响。20世纪60年代信道编码技术有了较大进展,成为信息论的又一重要分支。信道编码技术把代数方法引入到纠错码的研究,使分组码技术的发展到了高峰,找到了大量可纠正多个错误的码,而且提出了可实现的译码方法。20
4、世纪70年代卷积码和概率译码有了重大突破,提出了序列译码和Viterbi译码方法,并被美国卫星通信系统采用。信道编码器的作用是在信源编码器输出的代码组上有目的地增加一些监督码元,使之具有检错或纠错能力。信道译码器具有检错或纠错的功能,它能将落在其检错或纠错范围内的错传码元检测出来并加以纠正 ,以提高传输消息的可靠性。1955年埃里斯(Elias)最早提出的卷积码使信道编码既简单又具有高性能。1967年维特比(Viterbi)提出了最大似然译码,它对存储器级数较小的卷积码的译码很容易实现,人们后来称它为维特比算法或维特比译码,并被广泛地应用于现代科技中。2 卷积码编解码器的结构概述2.1 卷积码
5、编码器的结构 通常把卷积码记为:(n,k,N),其编码效率为k/n,N 称为约束长度。(n,k,N)卷积码可用k个输入、n个输出、输入存储为N的线性有限状态移位寄存器及模2加法计数器电路来实现。卷积码的编码方法有两类:图解法和解析表示。图解法包括:树图、状态图、网格图。解析法包括:离散卷积法、生成矩阵法、多项式乘积法。本项目设计的编码器选择了多项式乘积法,其结构如图1所示。图 1 卷积编码器结构2.2 卷积译码器的结构卷积码的解码方法主要有两种:代数译码和概率译码。代数译码是根据卷积码的本身编码结构进行译码,译码时不考虑信道的统计特性。概率译码在计算时要考虑信道的统计特性。大数逻辑解码器是代数
6、解码最主要的解码方法,它既可用于纠正随机错误,又可用于纠正突发错误。本项目所选系统卷积码的大数逻辑解码器如图2 所示。图 2 卷积解码器3 卷积码编解码器的VHDL 设计3.1 VHDL 设计的优点与设计方法设计的优点与设计方法卷积器是数字信号处理系统中常用的部件。它对模拟输入信号实时采样,得到数字信号序列。然后对数字信号进行卷积运算,再将卷积结果存入RAM中。对模拟信号的采样由A/D转换器来完成,而卷积过程由卷积器来实现。为了设计卷积器,首先要设计RAM和A/D转换器的VHDL模型。在电子工业发达的国家,可以通过商业渠道得到非常准确的外围器件的虚拟模型。如果没有外围器件的虚拟模型,就需要仔细
7、地阅读和分析RAM和A/D转换器的器件说明书,来自行编写。因为RAM和A/D转换器不是我们设计的硬件对象,所以需要的只是它们的行为模型,精确的行为模型需要认真细致地编写,并不比可综合模块容易编写。它们与实际器件的吻合程度直接影响设计的成功。在这里我们把重点放在卷积器的设计上,直接给出RAM 和A/D转换器的VHDL模型和它们的器件参数(见附录),可以对照器件手册,认真阅读RAM 和A/D转换器的VHDL模型。对RAM 和A/D转换器的VHDL模型的详细了解对卷积器的设计是十分必要的。到目前为止,我们对设计模块要完成的功能比较明确了。总结如下:首先它要控制AD变换器进行AD变换,从AD变换器得到
8、变换后的数字序列,然后对数字序列进行卷积,最后将结果存入RAM。 3.2 卷积码编码器的VHDL 实现卷积码编码器通常记作(n,k,N),对应于每段k个比特的输入序列,输出n个比特;这n个输出比特不仅与当前的k个输入比特有关,而且还与以前的(N-1)k个输入比特有关。(n,k,N)卷积码编码器包括:一个由N段组成的输入移位寄存器,每段有k级,共Nk位;一组n个模2加法器;一个由n级组成的输出移位寄存器。整个编码过程可以看成是输入序列与由移位寄存器和模2加法器连接方式所决定的另一个序列的卷积。 卷积码的解码方法主要有两种:代数译码和概率译码。代数译码是根据卷积码的本身编码结构进行译码,译码时不考
9、虑信道的统计特性。概率译码在计算时要考虑信道的统计特性。大数逻辑解码器是代数解码最主要的解码方法,它既可用于纠正随机错误,又可用于纠正突发错误。 选择8位输入总线,输出到RAM的数据总线也选择8位,卷积值为16位,分高、低字节分别写到俩个RAM中,地址总线为11位。为了理解卷积器设计中的状态机,必须对A/D转换器和RAM的行为模块有深入的理解。卷积码的编码器是由一个有k个输入端、n个输出端、m节移位寄存器所构成的有限状态的有记忆系统,通常称它为时序网络。描述这类时序网络的方法很多,大致可分为两大类型:解析表示法与图形表示法。解析法又可分为离散卷积法、生成矩阵法、码多项式法等;描述卷积码编译码的
10、过程,可以用不同的描述方法,如矩阵法、码树法、状态图法和篱状图法等。采用何种方法描述卷积码的编码器,与其译码方法有很大关系。 编码器为串入串出结构,这里一共定义四个端口信号,它们分别data_in : IN STD_LOGIC; -信息数据输入 clk_in : IN STD_LOGIC; -时钟输入 start : IN STD_LOGIC; -编码使能 data_out : OUT STD_LOGIC;-编码数据输出 定义内部状态信号state,表示mj、mj-1、mj-2: SIGNAL state :STD_LOGIC_VECTOR(2 down to 0); 定义内部信号dtat_i
11、nternal,用以暂存x1,j、x2,j: SIGNAL data_internal : TD_LOGIC_VECTOR (1 down to 0); 于是,由、式可知,data_internal与state的关系为: data_internal(1)=state(0)state(1)state(2) data_internal(0)=state(0)state(2)当编码使能start为0时不进行编码,并将状态state清零;start为1时进行编码,此时每2个时钟周期输入一个新的信息比特,同时状态信号改变,输出2位已编码比特,即每个时钟周期输出1位已编码比特。通过前面的分析我们已经知道,
12、用高层次的设计方法来设计复杂的时序逻辑,重点是把时序逻辑抽象为有限状态机,并用可综合风格的Verilog HDL把这样的状态机描述出来。 下面我们将通过注释来介绍整个程序的设计过程。我们选择8位输入总线,输出到RAM的数据总线也选择8位,卷积值的高、低字节被分别写到两个RAM中。地址总线为11位。为了理解卷积器设计中的状态机,必须对A/D转换器和RAM的行为模块有深入的理解。3.2.1 卷积编解码器建模的VHDL 描述1、顶层编码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY bianma ISPORT(datmin: IN STD_LOGIC
13、; CLK,CLR: IN STD_LOGIC; dataout: OUT STD_LOGIC); END;ARCHITECTURE one OF bianma IScomponent shift_16port (a,clk:in std_logic; b:out std_logic_vector(2 downto 0);end component;component mux2port(c1,c2:in std_logic;a:in std_logic;c:out std_logic);end component;component xor3 port (co:in std_logic_vec
14、tor(2 downto 0 );fo:out std_logic_vector(1 downto 0);end component;signal c:std_logic_vector(2 downto 0);signal f:std_logic_vector(1 downto 0);beginu1:shift_16 port map(a=>datmin,clk=>clk,b=>c);u2:xor3 port map(co=>c,fo=>f);u3:mux2 port map(c1=>f(0),c2=>f(1),a=>clk,c=>data
15、out);end one;2、寄存器:library ieee;use ieee.std_logic_1164.all;entity shift_16 isport (a,clk:in std_logic; b:out std_logic_vector(2 downto 0);end shift_16;architecture sample of shift_16 is component dff port (d,clk:in std_logic; q:out std_logic); end component; signal z:std_logic_vector (0 to 2);begin
16、 z(0) <= a; g1:for i in 0 to 1 generate dffx:dff port map (z(i),clk,z(i+1); end generate; b <= z;end sample;D触发器:library ieee;use ieee.std_logic_1164.all;entity dff_logic is port ( d, clk: in std_logic; q: out std_logic);end dff_logic;architecture dff1 of dff_logic isbegin p1: process (clk) be
17、gin if (clk ' event and clk = '1' ) then q <= d; end if; end process p1;end dff1;3、异或LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;entity xor3 isport (co:in std_logic_vector(2 downto 0);fo:out std_logic_vector(1 downto 0);end xor3;architecture two of xor3 isbeginfo(0)<=(co(0) xor co(1)
18、xor co(2);fo(1)<=co(0) xor co(2);end two;4、合并输出library ieee;use ieee.std_logic_1164.all;entity mux2 isport(c1,c2:in std_logic;a:in std_logic;c:out std_logic);end mux2;ARCHITECTURE rt1 OF mux2 ISbeginprocess(c1,c2,a)beginif a='1'thenc<=c1;elsec<=c2;end if;end process;end ;3.2.2 卷积编码器
19、VHDL仿真波形因测试程序已经包括了各模块,只需编译测试程序并运行它。通过仿真器中的菜单(如ModelSim仿真器中功能列表中view的下拉菜单选择structure, signal和wave),可以根据需要看到各种信号的波形,由此检测程序。仿真波形如下:图 4 卷积编码器仿真波形顶层代码器件图:寄存器器件图:4 设计总结科学技术的发展使人类跨入了高度发展的信息化时代。在政治、军事、经济等各个领域,信息的重要性不言而喻,有关卷积码的研究将越来越受到重视。在编写程序的过程中,我深入学习了VHDL语言的仿真及应用环境,掌握了操作的基本过程与步骤,并能用VHDL语言进行编程及仿真,结合VHDL语言,
20、充分了解到卷积码编译码器的原理和应用。通过这次设计,使我对Verilog数字系统设计这门课程有了更深入的理解。Verilog数字系统是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强实践。一个人的力量是有限的,要想把设计做的更好,就要学会参考一定的资料,吸取别人的经验,让自己和别人的思想有机的结合起来,得出属于你自己的灵感。 程序的编写需要有耐心,有些事情看起来很复杂,但问题需要一点一点去解决,分析问题,把问题一个一个划分,划分成小块以后就逐个去解决。再总体解决大的问题。这样做起来不仅有条理也使问题得到了轻松的解决。 在这个过程中,我曾经失落过,也曾热情高涨过。生活就是这样,汗水预示着结果也见证着收获。劳动是人类生存生活永恒不变的话题。虽然这只是一次的课程论文的编写,并没有验证方案是否可行,可是平心而论,也耗费了我不少的心血,这就让我不得不佩服开发技术的前辈,才意识到老一辈对我们社会的付出,为了人们的生活更加美好,他们付出多少心血啊! 对我而
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年辽宁普通高中学业水平选择性考试化学试题【含答案】
- 向量基底变换题目及答案
- 物业保安经理试题及答案
- 2024译林版八年级英语上册Unit 2 School life 校园生活(话题阅读)含答案
- 2025年中小学教师心理健康网络知识竞赛试题库及答案(共80题)
- 2025年3月动物性食品检验模拟考试题(附答案)
- 物料泄露试题及答案
- 营销业务知识培训课件
- 2025公司借款合同纠纷起诉状
- 2025设备租赁合同解除协议
- 水利信息化水质监测系统单元工程质量验收评定表、检查记录
- 人教版六年级数学上册【全册教案】
- 合同法风险防范培训
- 管理会计学(第6版) 课件 郭晓梅 第1-3章 管理会计导论、成本性态分析与变动成本计算法、作业成本计算法
- 2024版门面租赁合同书范本下载
- 中小学教师专业技术岗位聘任考核方案
- 2024-2025学年高三上学期《为什么要上一个好大学?》主题班会课件
- 九年级化学开学第一课
- 建筑施工安全技术操作规程
- 2024-2030年全球与中国发泡稀奶油行业竞争动态及营销动态研究报告
- 农村屋面琉璃瓦工程包工包料承包合同
评论
0/150
提交评论