(7,4)汉明码课程设计要点

合集下载

线性分组码(7,4)码设计说明书

线性分组码(7,4)码设计说明书


设计数字通信系统时,应首先合理选择信道编译码码组种类,这样才可以在信号的 传输,以及接收环节达到较好的效果,线性分组码具有编译码简单,封闭性好等特点, 采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制 编码技术。 分组码是一组固定长度的码组,可表示为(n , k) ,通常它用于前向纠错。在分组 码中,监督位被加到信息位之后,形成新的码。在编码时,k 个信息位被编为 n 位码组 长度,而 n-k 个监督位的作用就是实现检错与纠错。 对于长度为 n 的二进制线性分组码,它有种可能的码组,从种码组中,可以选择 M= 个码组(k<n)组成一种码。这样,一个 k 比特信息的线性分组码可以映射到一个长度 为 n 码组上, 该码组是从 M=个码组构成的码集中选出来的, 这样剩下的码组就可以对这 个分组码进行检错或纠错。
上述方法构造的能纠正单个误码的线性分组码又称为汉明码。它具有以下一些特 点:码长 n=2m-1,最小码距为 d=3,信息码长 k=2n-m-1,纠错能力 t=1,监督码 长 r=n-k=m。这里 m 为≥2 的正整数。给定 m 后,就可构造出汉明码(n,k)。
5
第三章 推导过程
3.1 编码过程
监督阵 H 与生成矩阵 G 的关系: 由 H 与 G 的分块表示的矩阵形式 H [ P I n k ]
其中 A 为纠错输出码序列,E 为错码矩阵,B 为信道输出码。 对接收到的信息进行改正求出正确的编码,从而再提去更正后的接收序列的前四 位来提取信息位,以至获得信息矩阵 I。
8
第四章 仿真过程及结果分析
4.1 程序流程图
4.1.1 主程序流程图 主程序一开始就有欢迎界面,并对用户显示出了选择提示语句,可以选择编码器、 译码器、退出三种选择,当用户做出选择后便会进入各自的子程序,执行相应的功能, 整个主程序的流程如下:

(7,4)汉明码编译码系统设计

(7,4)汉明码编译码系统设计

南华大学电气工程学院《通信原理课程设计》任务书设计题目:(7, 4)汉明码编译码系统设计专业:通信工程学生姓名: 马勇学号:起迄日期:2013 年12月20日~2014年1月3日指导教师:宁志刚副教授系主任:王彦教授《通信原理课程设计》任务书3.主要参考文献:[1]樊昌信.通信原理(第6版)[M].北京:电子工业出版社,2012,12.[2]樊昌信,曹丽娜 .通信原理教程(第3版)[M].北京:国防工业出版社,2006,9.[3]刘学勇 .详解MATLAB/Simulink通信系统建模与仿真[M].北京:电子工业出版社,2011,11.[4]张水英 ,徐伟强 .通信原理及MATLAB/Simulink仿真[M].北京:人民邮电出版社,2012,9.[5]赵鸿图,茅艳 .通信原理MATLAB仿真教程[M].北京:人民邮电出版社,2010,11.[6]赵静 ,张瑾 .基于MATLAB的通信系统仿真[M].北京:北京航空航天大学出版社,2010,1.[7]赵谦 .通信系统中MATLAB基础与仿真应用[M].西安:西安电子科技大学出版社,2010,3.[8]徐明远 ,邵玉斌 . MATLAB仿真在现代通信中的应用[M].西安:西安电子科技大学出版社,2011,4.[9]邵玉斌 .Matlab/Simulink通信系统建模与仿真实例分析[M].北京:清华大学出版社,2008, 6.[10]邵佳 ,董辰辉 . MATLAB/Simulink通信系统建模与仿真实例精讲[M].北京:电子工业出版社,2009, 6.[11]黄智伟 .基于NI Multisim的电子电路计算机仿真设计与分析(修订版)[M].北京:电子工业出版社,2011, 6.[12]孙屹 ,戴妍峰 . SystemView通信仿真开发手册[M].北京:国防工业出版社,2004,11.[13]青松,程岱松,武建华 .数字通信系统的SystemView仿真与分析[M].北京:北京航空航天大学出版社,2001,6.4.课程设计工作进度计划:序号起迄日期工作内容2013.12.20~2013.12.24 系统方案设计12013.12.25~2013.12.28 利用Matlab/Systemview/Multisim等软件进行仿真设计22013.12.29~2013.12.31 通信系统的调试和测量,排除故障,分析实验结果32014.1.1 ~2014.1.3 整理设计报告4指导教师宁志刚日期:2013年12 月18日《通信原理课程设计》设计说明书格式一、纸张和页面要求A4纸打印;页边距要求如下:页边距上下各为2.5 厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

(7,4)汉明码编译码系统设计.doc

(7,4)汉明码编译码系统设计.doc

南华大学电气工程学院《通信原理课程设计》任务书设计题目:(7, 4)汉明码编译码系统设计专业:通信工程学生姓名: 马勇学号:20114400236 起迄日期:2013 年12月20日~2014年1月3日指导教师:宁志刚副教授系主任:王彦教授《通信原理课程设计》任务书《通信原理课程设计》设计说明书格式一、纸张和页面要求A4纸打印;页边距要求如下:页边距上下各为2.5 厘米,左右边距各为2.5厘米;行间距取固定值(设置值为20磅);字符间距为默认值(缩放100%,间距:标准)。

二、说明书装订页码顺序(1)任务书 (2)论文正文 (3)参考文献,(4)附录三、课程设计说明书撰写格式见范例引言(黑体四号)☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(首行缩进两个字,宋体小四号)1☆☆☆☆(黑体四号)正文……(首行缩进两个字,宋体小四号)1.1(空一格)☆☆☆☆☆☆(黑体小四号)正文……(首行缩进两个字,宋体小四号)1.2 ☆☆☆☆☆☆、☆☆☆正文……(首行缩进两个字,宋体小四号)2 ☆☆☆☆☆☆ (黑体四号)正文……(首行缩进两个字,宋体小四号)2.1 ☆☆☆☆、☆☆☆☆☆☆,☆☆☆(黑体小四号)正文……(首行缩进两个字,宋体小四号)2.1.1☆☆☆,☆☆☆☆☆,☆☆☆☆(楷体小四号)正文……(首行缩进两个字,宋体小四号)(1)……图1. 工作波形示意图(图题,居中,宋体五号)…………5结论(黑体四号)☆☆☆☆☆☆(首行缩进两个字,宋体小四号)参考文献(黑体四号、顶格)参考文献要另起一页,一律放在正文后,不得放在各章之后。

只列出作者直接阅读过或在正文中被引用过的文献资料,作者只写到第三位,余者写“等”,英文作者超过3人写“et al”。

几种主要参考文献著录表的格式为:⑴专(译)著:[序号]著者.书名(译者)[M].出版地:出版者,出版年:起~止页码.⑵期刊:[序号]著者.篇名[J].刊名,年,卷号(期号):起~止页码.⑶论文集:[序号]著者.篇名[A]编者.论文集名[C] .出版地:出版者,出版者. 出版年:起~止页码.⑷学位论文:[序号]著者.题名[D] .保存地:保存单位,授予年.⑸专利文献:专利所有者.专利题名[P] .专利国别:专利号,出版日期.⑹标准文献:[序号]标准代号标准顺序号—发布年,标准名称[S] .⑺报纸:责任者.文献题名[N].报纸名,年—月—日(版次).附录(居中,黑体四号)☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(首行缩进两个字,宋体小四号)(另起一页。

汉明码awgn通信课程设计

汉明码awgn通信课程设计

汉明码awgn通信课程设计一、课程目标知识目标:1. 理解汉明码的基本原理,掌握其在通信系统中的应用;2. 学习AWGN(加性高斯白噪声)信道模型,了解噪声对通信系统的影响;3. 掌握利用汉明码进行错误检测和纠正的方法。

技能目标:1. 能够运用汉明码对信息进行编码和解码;2. 能够分析AWGN信道下的通信性能,评估通信系统的可靠性;3. 能够运用所学知识解决实际通信问题,进行课程相关的实验设计。

情感态度价值观目标:1. 培养学生对通信工程的兴趣,激发其探索精神;2. 培养学生的团队合作意识,提高沟通与协作能力;3. 引导学生关注通信技术在现实生活中的应用,认识科技发展对社会进步的推动作用。

课程性质:本课程为实践性较强的课程,结合理论教学和实验操作,旨在帮助学生将所学知识应用于实际问题。

学生特点:学生具备一定的电子信息和数学基础,对通信原理有一定了解,但可能缺乏实际操作经验。

教学要求:注重理论与实践相结合,通过课程设计,使学生能够掌握汉明码在通信系统中的应用,培养其实际操作能力和解决问题的能力。

教学过程中,注重引导学生主动参与,鼓励创新思维和团队合作。

二、教学内容1. 汉明码基本原理:讲解汉明码的编码规则、生成矩阵和校验矩阵,以及错误检测和纠正能力。

教材章节:《通信原理》第6章“信道编码与解码”第2节“线性分组码”。

2. AWGN信道模型:介绍AWGN信道的数学模型,分析噪声对信号传输的影响。

教材章节:《通信原理》第5章“信道与噪声”第3节“加性高斯白噪声信道”。

3. 汉明码在AWGN信道下的性能分析:通过理论推导和仿真实验,分析汉明码在AWGN信道下的通信性能。

教材章节:《通信原理》第7章“通信系统的性能分析”。

4. 实际通信系统中的应用:介绍汉明码在实际通信系统中的应用案例,如数字电视、卫星通信等。

教材章节:《通信原理》第8章“典型通信系统与应用”。

5. 课程实验设计:指导学生进行汉明码的编码、解码及在AWGN信道下性能分析的实验。

(7,4)汉明码编译码程序说明讲诉

(7,4)汉明码编译码程序说明讲诉

(7,4)汉明码编译码原理程序说明书1、线性分组码假设信源输出为一系列二进制数字0和1.在分组码中,这些二进制信息序列分成固定长度的消息分组(message blocks )。

每个消息分组记为u ,由k 个信息位组成。

因此共有2k种不同的消息。

编码器按照一定的规则将输入的消息u 转换为二进制n 维向量v ,这里n>k 。

此n 维向量v 就叫做消息u 的码字(codeword )或码向量(code vector )。

因此,对应于2k种不同的消息,也有2k种码字。

这2k个码字的集合就叫一个分组码(block code )。

一个长度为n ,有2k个码字的分组码,当且仅当其2k个码字构成域GF (2)上所有n维向量空间的一个k 维子空间时被称为线性(linear )(n ,k )码。

对于线性分组码,希望它具有相应的系统结构(systematic structure ),其码字可分为消息部分和冗余校验部分两个部分。

消息部分由k 个未经改变的原始信息位构成,冗余校验部分则是n-k 个奇偶校验位(parity-check )位,这些位是信息位的线性和(linear sums )。

具有这样的结构的线性分组码被称为线性系统分组码(linear systematic block code )。

本实验以(7,4)汉明码的编译码来具体说明线性系统分组码的特性。

其主要参数如下:码长:21mn =- 信息位:21m k m =-- 校验位:m n k =-,且3m ≥ 最小距离:min 03d d ==由于一个(n ,k )的线性码C 是所有二进制n 维向量组成的向量空间n V 的一个k 维子空间,则可以找到k 个线性独立的码字,0,1,1k g g g -…… ,使得C 中的每个码字v 都是这k 个码字的一种线性组合。

(7,4)汉明码的生成矩阵如下,前三位为冗余校验部分,后四位为消息部分。

0123 1 1 0 1 0 0 00 1 1 0 1 0 01 1 1 0 0 1 01 0 1 0 0 0 1g g G g g ⎧⎫⎧⎫⎪⎪⎪⎪⎪⎪⎪⎪==⎨⎬⎨⎬⎪⎪⎪⎪⎪⎪⎪⎪⎩⎭⎩⎭如果()0123u u u u u =是待编码的消息序列,则相应的码字可如下给出:()0101230011223323g g v u G u u u u u g u g u g u g g g ⎧⎫⎪⎪⎪⎪===+++⎨⎬⎪⎪⎪⎪⎩⎭编码结构即码字()0123456v v v v v v v v =,对于(7,4)线性分组码汉明码而言,3456,,,v v v v 为所提供的消息序列,而0356v v v v =⊕⊕,1345v v v v =⊕⊕,2456v v v v =⊕⊕。

【精品】(7-4)汉明码课程设计要点

【精品】(7-4)汉明码课程设计要点

(7-4)汉明码课程设计要点【摘要】本文主要介绍利用ALTERA公司的Quartus II软件实现(7,4)汉明码的编码和译码的设计,设计共分为三个模块:m序列产生与分组模块、编码模块、译码模块,实现m序列的分组输出。

在QuartusII编辑环境下用VHDL文本输入的输入方法编制程序,经编译正确后进行波形仿真,调试,从而验证设计的正确性。

关键字:汉明码,编码,译码,VHDL【Abstract】T his article propose a method for Hamming encoder and Hamming decoder which is based on the VHDL language. It introduces the theory of Hamming encoder and Hamming decoder and the source program based on VHDL, and the way simulated and checked through QuartusII.Throughout the whole design is totally divided into three modules: the m sequence generated and the Packet Module,the encoding module,the decoding Module.Keywords: Hamming, coder,encoder, decoder ,VHDL目录第1章问题的提出及方案论证 (4)1.1 问题的提出 (4)1.2 方案论证 (4)1.2.1 Quartus II和VHDL简介 (4)1.2.2 软件设计方案介绍 (7)第2章设计方案的实施 (9)2.1 m序列模块 (9)2.1.1 m序列简介 (9)2.1.2 m序列模块设计流程 (10)2.2 (7,4)汉明码知识介绍 (11)2.2.1基本概念 (11)2.2.2监督矩阵 (13)2.2.3生成矩阵 (13)2.2.4 伴随式(校正子)S (14)2.3 汉明码编码模块 (14)2.3.1汉明码编码原理 (14)2.3.2 汉明码编码程序设计流程 (15)2.4 汉明码译码模块 (17)2.4.1汉明码译码原理 (17)2.4.2汉明码译码程序设计流程 (18)第3章软件调试及遇到的问题 (21)3.1 软件调试仿真波形图 (21)3.2 软件调试过程中遇到的问题 (23)第4章总结体会 (24)附录: (25)参考文献 (33)第1章问题的提出及方案论证1.1 问题的提出在上学期的通信原理课程中,我们学习了线性码的基本理论知识。

汉明码课程设计

汉明码课程设计

汉明码课程设计一、课程目标知识目标:1. 让学生理解汉明码的基本概念,掌握其编码原理和校验方式;2. 学会运用汉明码进行数据传输和错误检测,了解其在通信领域的应用;3. 了解计算机科学中其他常用的编码方式,对比分析汉明码的优缺点。

技能目标:1. 培养学生运用汉明码进行数据传输和错误检测的能力,提高实际问题解决能力;2. 培养学生通过查阅资料、合作学习等途径,获取汉明码相关知识的能力;3. 培养学生运用所学知识,对实际通信问题进行分析和讨论的能力。

情感态度价值观目标:1. 激发学生对计算机科学和通信领域的兴趣,培养其探索精神;2. 培养学生严谨、细致的学习态度,养成科学的学习方法;3. 增强学生团队合作意识,培养沟通、交流、协作的能力。

课程性质:本课程为信息技术领域的一门专业课程,旨在帮助学生了解汉明码的原理和应用,提高数据传输和错误检测能力。

学生特点:六年级学生具有一定的信息技术基础,思维活跃,好奇心强,对新鲜事物充满兴趣。

教学要求:结合学生特点,注重理论与实践相结合,以实际案例为主线,引导学生主动探究,培养学生的实际操作能力和解决问题的能力。

通过分解课程目标,为教学设计和评估提供具体依据。

二、教学内容1. 汉明码基本概念:介绍汉明码的定义、原理及其在通信领域的作用;- 教材章节:第三章第四节“编码与校验”2. 汉明码编码过程:讲解汉明码的编码步骤,包括信息位和校验位的确定;- 教材章节:第三章第五节“汉明码的编码方法”3. 汉明码错误检测与纠正:分析汉明码的错误检测和纠正能力,介绍错误定位和纠正方法;- 教材章节:第三章第六节“汉明码的错误检测与纠正”4. 汉明码应用案例分析:通过实际案例,展示汉明码在通信系统中的应用;- 教材章节:第三章第七节“汉明码的应用”5. 汉明码与其他编码方式对比:分析汉明码与奇偶校验、循环冗余校验等其他编码方式的优缺点;- 教材章节:第三章第八节“编码方式的比较与应用”教学进度安排:第一课时:汉明码基本概念、编码过程;第二课时:汉明码错误检测与纠正;第三课时:汉明码应用案例分析;第四课时:汉明码与其他编码方式对比。

matlab(74)汉明码和(74)循环码的编程设计

matlab(74)汉明码和(74)循环码的编程设计

二、创新实验设计创新实验一:(7,4)汉明码的编码与译码实现1、实验目的实现(7,4)汉明码的编码与译码,通过这次实验不但加深了对汉明码编码和译码原理了解,而且对线性分组码有所了解。

2、实验原理线性分组码的构造方法比较简单、理论较为成熟,应用比较广泛。

汉明码是一种能够纠正一个错码的效率比较高的线性分组码,下面以(7,4)码为例就汉明码的编码与译码分别进行介绍:(1)编码原理一般来说,若汉明码长为n ,信息位数为k ,则监督位数r=n-k 。

若希望用r 个监督位构造出r 个监督关系式来指示一位错码的n 种可能位置,则要求21r n -≥或211rk r -≥++ (1)设汉明码(n,k )中k=4,为了纠正一位错码,由式(1)可知,要求监督位数r ≥3。

若取r=3,则n=k+r=7。

这样就构成了(7,4)码。

用6543210a a a a a a a 来表示这7个码元,用123s s s 的值表示3个监督关系式中的校正子,则123s s s 的值与错误码元位置的对应关系可以规定如表1所列。

表2.1 校正子和错码位置的关系则由表1可得监督关系式:16542s a a a a =⊕⊕⊕()226531s a a a a =⊕⊕⊕()3 36430s a a a a =⊕⊕⊕()4 在发送端编码时,信息位6543a a a a 的值决定于输入信号,因此它们是随机的。

监督位2a 、1a 、0a 应根据信息位的取值按监督关系来确定,为使所编的码中无错码,则123,,S S S 等于0,即65426531643000(5)0a a a a a a a a a a a a ⊕⊕⊕=⎧⎪⊕⊕⊕=⎨⎪⊕⊕⊕=⎩方程组(5)可等效成如下矩阵形式6543210111010001101010010110010a a a a a a a ⎡⎤⎢⎥⎢⎥⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎢⎥⎣⎦(6)式(6)可简化为0T T HA =,H 为监督矩阵,则由式(6)可得到监督矩阵11101001101010=[P I ] (7)1011001r H ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦因为生成矩阵'=[I Q]=[I ]k k G P ,所以由(7)得生成矩阵G 如下:[]k 10001110100110[']00101010001011k G I Q I P ⎡⎤⎢⎥⎢⎥===⎢⎥⎢⎥⎣⎦然后利用信息位和生成矩阵G 相乘产生整个码组,即有[][]65432106543=(8)A a a a a a a a a a a a G=其中A 为整个码组矩阵,6543a a a a 是信息位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【摘要】本文主要介绍利用ALTERA公司的Quartus II软件实现(7,4)汉明码的编码和译码的设计,设计共分为三个模块:m序列产生与分组模块、编码模块、译码模块,实现m序列的分组输出。

在QuartusII编辑环境下用VHDL文本输入的输入方法编制程序,经编译正确后进行波形仿真,调试,从而验证设计的正确性。

关键字:汉明码,编码,译码,VHDL【Abstract】T his article propose a method for Hamming encoder and Hamming decoder which is based on the VHDL language. It introduces the theory of Hamming encoder and Hamming decoder and the source program based on VHDL, and the way simulated and checked through QuartusII.Throughout the whole design is totally divided into three modules: the m sequence generated and the Packet Module,the encoding module,the decoding Module.Keywords: Hamming, coder,encoder, decoder ,VHDL目录第1章问题的提出及方案论证 (3)1.1 问题的提出 (3)1.2 方案论证 (3)1.2.1 Quartus II和VHDL简介 (3)1.2.2 软件设计方案介绍 (6)第2章设计方案的实施 (8)2.1 m序列模块 (8)2.1.1 m序列简介 (8)2.1.2 m序列模块设计流程 (9)2.2 (7,4)汉明码知识介绍 (10)2.2.1基本概念 (10)2.2.2监督矩阵 (11)2.2.3生成矩阵 (12)2.2.4 伴随式(校正子)S (12)2.3 汉明码编码模块 (13)2.3.1汉明码编码原理 (13)2.3.2 汉明码编码程序设计流程 (14)2.4 汉明码译码模块 (15)2.4.1汉明码译码原理 (15)2.4.2汉明码译码程序设计流程 (16)第3章软件调试及遇到的问题 (19)3.1 软件调试仿真波形图 (19)3.2 软件调试过程中遇到的问题 (21)第4章总结体会 (22)附录: (23)参考文献 (30)第1章问题的提出及方案论证1.1 问题的提出在上学期的通信原理课程中,我们学习了线性码的基本理论知识。

通过学习,我们知道线性码是按照一组线性方程构成的。

汉明(Hamming)码又是一种能够纠正一位错码效率较高的线性分组码。

本次课程设计的任务就是利用EDA技术在Quartus II软件下用VHDL语言实现(7,4)汉明码的编译码设计和仿真。

从而在实践过程中,加深对汉明码编译码原理的理解。

1.2 方案论证1.2.1 Quartus II和VHDL简介1.Quartus II 软件简介QuartusⅡ是Altera公司推出的CPLD/FPGA的开发工具,Quartus Ⅱ提供了完全集成且与电路结构无关的开发环境,具有数字逻辑设计的全部特性。

Altera的Quartus II可编程逻辑软件属于第四代PLD开发平台。

该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。

Quartus平台与Cadence、ExemplarLogic、MentorGraphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。

改进了软件的LogicLock模块设计功能,增添了FastFit编译选项,推进了网络编辑性能,而且提升了调试能力。

支持MAX7000/MAX3000等乘积项器件其中,Quartus II软件5.1支持可编程逻辑和结构化ASIC设计达到最佳效能的新特性包括:●Stratix II GX器件支持:设计人员采用Quartus II软件5.1,现在可以开始进行Stratix II GX全系列产品设计。

●PowerPlay技术包:随着PowerPlay技术包的全面推出,Quartus II软件用户现在具备了业界可编程逻辑功耗分析和优化的最高级工具。

与Quartus II软件5.0相比,5.1版的功耗优化特性平均降低了20%的动态功耗,而Altera Stratix II器件则达到了60%。

此外,5.1版包括了新的功耗优化向导,完善了Quartus II软件4.1引入的面积和性能优化向导,在优化Quartus II软件设计应用方面,为用户提供实时、循序渐进的帮助。

●渐进式设计流程:渐进式编译使设计人员能够将设计分为物理和逻辑分区,然后进行综合和适配。

5.1版引入了渐进式编译自下而上的流程,每个工程师可以独立的开发和优化功能,然后轻松将其集成在一个完整的设计中。

这种特性完善了年初引入的自上而下基于模块的流程,使设计人员在优化其他模块时,能够保留专用模块的性能不变。

●流行的IP模块:Altera订购包现在含有对部分流行MegaCore功能的全面许可,帮助设计人员缩短设计时间。

此外, Quartus II 软件网络版和订购版现在均包括一套嵌入式外设——已经同Nios II嵌入式处理器一起,分别进行了许可。

外部逻辑分析仪接口:Quartus II设计人员不但可以使用SignalTap® II嵌入式逻辑分析仪特性,还可以使用新的逻辑分析仪接口功能,在利用逻辑分析仪进行板级调试时,能够掌握内部FPGA节点的情况。

2. VHDL语言简介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,被IEEE和美国国防部确认为标准硬件描述语言。

VHDL主要用于描述数字系统的结构,行为,功能和接口,除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。

VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。

在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。

这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。

应用VHDL进行工程设计的优点如下几点:(1)与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。

强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。

(2)VHDL丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。

(3)VHDL语句的行为描述能力和程序结构决定了他具有支持大规模设计的分解和已有设计的再利用功能。

符合市场需求的大规模系统高效,高速的完成必须有多人甚至多个代发组共同并行工作才能实现。

(4)对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。

(5)VHDL对设计的描述具有相对独立性,设计者可以不懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。

1.2.2 软件设计方案介绍软件设计方案流程如下图所示图1-1 软件设计流程图4级m序列的最长周期为15,而(7,4)汉明码所需的数据位是4位,当一个周期的m序列一位一位移出,放入一个长度为4的数组,要分四次组,但还缺少一个数据,使得分组没有周期性,故在程序设计中进行第四次分组时,在数组的最低位补0,使其在一个m 序列周期内正好分为4组。

这样循环移位输出的m序列满足周期性,在观察波形时易于发现误码的现象,一目了然。

分组后的一串数据即数组就进入下一级作为(7,4)编码器的信息位进行编码。

在编码过程中加入监督位。

这样,信息位和监督位就组成了七位码。

经译码后便可输出汉明码的数据位以及译码的m序列。

第2章设计方案的实施2.1 m序列模块2.1.1 m序列简介m序列是最长线性反馈移位寄存器序列的简称,它是由线性反馈的移存器产生的周期最长的序列。

一般说来,一个n级反馈移位寄存器可能产生的最大周期等于(2n-1).现在我们引入m序列的本原多项式的概念。

若一个n次多项式f(x)满足以下条件(1)f(x)为既约的;(2)f(x)可整除(x m+1),m=2n-1;(3)f(x)除不尽(x q+1),q<m 。

则f(x)为本原多项式。

m序列通过线形反馈移位寄存器产生如图:图 2-1 m序列产生原理框图设n级移位寄存器的初始状态:a-1 ,a-2,a-3,a-4,...a-n经过一次移位后,状态变为a0,a1,...a-n+1,经过n次移位以后状态变为a-n-1,a-n-2, (1)a0。

当n=4时,产生的m序列的长度为m=2n-1=15。

我们可以取x4++x+1为本原多项式。

2.1.2 m 序列模块设计流程m 序列流程图:图2-2 m 序列设计流程图在时钟信号触发下,4级m 序列一位一位地移出,因为m 序列的周期长度为15,(7,4)汉明码要求的信息位为4位,周期长度不能整除4,因而在m 序列移出15位后在数组a 中的最后一位添加一CLK`EVENT AND CLK = 1个“0”。

这样一个周期的m 序列就可以周期性的分成4组,易于观察分组码是否正确或波形图是否吻合。

2.2 (7,4)汉明码知识介绍2.2.1基本概念线性分组码是一类重要的纠错码,应用很广泛。

在(n ,k )分组码中,若监督码元是按线性关系模2相加而得到的,则称其为线性分组码。

现在以(7,4)分组码为例来说明线性分组码的特点。

设其码字为A=[a6,a5,a4,a3,a2,a1,a0],其中前4位是信息码元,后3位是监督码元,可用下列线性方程组来描述该分组码产生监督元:显然,这3个方程是线性无关的。

根据公式2-1可得(7,4)码的全部码组,如表1所示。

表 2-1(7,4)汉明码的全部码组⎪⎩⎪⎨⎧⊕⊕=⊕⊕=⊕⊕=346035614562a a a a a a a a a a a a根据线性码封闭性,再由表1可知(7,4)码的最小码距d0=3,它能纠1个错或检测2个错。

汉明码是能够纠正单个错误的线性分组码,其特点是:最小码距d0=3,码长n 与监督位满足n<=2r -1的关系,说明上述的(7,4)线性分组码就是一个汉明码。

相关文档
最新文档