循环码编译码器设计思路
㈠ 基于systemview的循环码编码器的设计
基于systemview的循环码编码器的设计
本课程设计主要深入了解循环码的编译原理和SystemView的使用,并在通信系统仿真软件平台上设计循环编码器。在课程设计中,系统仿真平台为System View Evaluation Edition V4.5,程序运行平台为Windows XP。对于循环码编码器采用了SystemView进行仿真,最后对仿真结果和编译码理论进行分析对比的程序设计。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以解决实际问题。
㈡ 求解 怎样用c语言实现循环码的纠错希望有高手详细解答~~!
纠错码的译码是该编码能否得到实际应用的关键所在。译码器往往比编码较难实现,对于纠错能力强的纠错码更复杂。根据不同的纠错或检错目的,循环码译码器可分为用于纠错目的和用于检错目的的循环码译码器。 通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODEM传输文件的协议如ZMODEM、XMODEM协议中均用到了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。 在SystemView中没有提供专用的CRC循环冗余校验码编码器,读者可根据有关参考书设计一个相应的仿真电路。如果不想亲自动手设计,可以在CDMA库(IS95)中找到一个现成的专用的CRC编码器和译码器。该图符(FrameQ)是的接入信道的数据帧品质指示编码器,其中使用了多种不同比特率的数据模型,通过CRC校验来判断接入信道的质量好坏。其中规定每一帧的长度为20ms的数据。一个典型IS-95-A标准规定的9600信道的CRC测试码的长度为192比特,其中信息位172位、校验位12比特、尾部全零8比特。感兴趣的读者可以加入一个速率为860bps(192bit/0.2ms=860)的PN数据,然后观察经过CRC编码后的波形。并可用对应的译码器译码观察输出波形是否与输入的PN码一致。
㈢ 设计一个(15,11)系统汉明码的生成矩阵G,再设计一个由g(x)=1+x+x^4 生成的(15,11)循环汉明码的编译器。
x15 + 1 = g(x)h(x):
h(x) = x11 + x8 + x7 + x5 +x3+ x2 + x + 1
例:已知 (7,3) 循环码的g(x)=x 4 +x 3 +x 2 +1,试求其标准生成阵,一致校验阵及全部 码字 。 举例:求 (7,3) 循环码的生成 多项式 。
解: v分解多项式 x7 +1,取其 4 次因式作生成多项式 vx7+1= ( x +1) ( x 3 + x 2 +1) ( x 3 + x +1) v 可将一次和任一个三次因式的乘积作为生成多项式,因而可取 g 1 ( x )= ( x +1) ( x 3 + x 2 +1) = x 4 + x 2 + x +1 或 g 2 ( x )= ( x +1) ( x 3 + x +1) = x 4 + x 3 + x 2 +1。
(3)循环码编译码器设计思路扩展阅读:
给出(7,4)循环码,由于循环码是线性分组码的一种,所以它也具有封闭性,任意两个码字相加之和必是另一码字。所以它的最小码距也就是非零码字的最小码重。
在表1给出的(7,4)循环码中,dmin=3。而且根据定义,任一码字的每一循环移位的结果都是(7,4)循环码的一个码字。但某一码字的循环移位,并不能生成所有的码字。对于一个循环码来说,可以同时存在多个循环圈。
㈣ 用verilog语言实现FPGA的循环码编码器设计
摘 要
随着电子技术的发展,具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。电子密码锁与普通机械锁相比,具有许多独特的优点:保密性好,防盗性强,可以不用钥匙,记住密码即可开锁等。目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。在实际应用中,由于程序容易跑飞,系统的可靠性能较差。
本文主要阐述了一种基于现场可编程门阵列FPGA器件的电子密码锁的设计方法。用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。因此,采用FPGA开发的数字系统,不仅具有很高的工作可靠性,而且升级也极其方便。
本文采用EDA技术,利用Quartus II工作平台和硬件描述语言,设计了一种电子密码锁,并通过一片FPGA芯片实现。
关键词:电子密码锁;FPGA;硬件描述语言;EDA
目 录
1 绪 论 1
1.1 国内外现状及其发展 1
1.2 电子密码锁的原理 2
1.3 电子密码锁的系统简介 4
1.4 系统设计要求 4
1.5 本课题的研究目的和意义 5
2 现场可编程门阵列FPGA 6
2.1 FPGA的基本结构 6
2.2 FPGA的优点 10
2.3 FPGA的设计流程 11
2.4 自顶向下设计法 17
2.5用模块化设计FPGA 18
3 VHDL硬件描述语言 20
3.1 VHDL语言的基本结构 20
3.2 结构体的描述方式 21
3.3 自上而下(TOP DOWN)的设计方法 22
4 电子密码锁的设计与仿真 24
4.1 硬件设备 24
4.2 几个主要功能模块的设计 25
4.3 计算机仿真 32
结 束 语 38
参考文献 39
附录1英文原文 41
附录2中文译文 50
附录3源程序 57
1.1 国内外现状及其发展
随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这种锁是通过键盘输入一组密码完成开锁过程。研究这种锁的初衷,就是为提高锁的安全性。由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。
20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显进展。
目前,在西方发达国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用[1]。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式[2]。在实际应用中,由于程序容易跑飞,系统的可靠性能较差。基于现场可编程逻辑门阵列FPGA器件的电子密码锁,用FPGA器件构造系统,所有算法完全由硬件电路来实现,使得系统的工作可靠性大为提高。由于FPGA具有现场可编程功能,当设计需要更改时,只需更改FPGA中的控制和接口电路,利用EDA工具将更新后的设计下载到FPGA中即可,无需更改外部电路的设计,大大提高了设计的效率。
1.3 电子密码锁的系统简介
通用的电子密码锁主要由三个部分组成:数字密码输入电路、密码锁控制电路和密码锁显示电路。
(1) 密码锁输入电路包括时序产生电路、键盘扫描电路、键盘弹跳消除电路、键盘译码电路等几个小的功能电路。
(2)密码锁控制电路包括按键数据的缓冲存储电路,密码的清除、变更、存储、激活电锁电路(寄存器清除信号发生电路),密码核对(数值比较电路),解锁电路(开/关门锁电路)等几个小的功能电路。
(3)密码显示电路主要将显示数据的BCD码转换成相对应的编码。如,若选用七段数码管显示电路,主要将待显示数据的BCD码转换成数码器的七段显示驱动编码[4]。
1.4 系统设计要求
设计一个具有较高安全性和较低成本的通用电子密码锁,具体功能要求如下:
(1)数码输入:每按下一个数字键,就输入一个数值,并在显示器上的显示出该数值,同时将先前输入的数据依序左移一个数字位置。
(2)数码清除:按下此键可清除前面所有的输入值,清除为“0000”。
(3)密码更改:按下此键时会将目前的数字设定成新的密码。
(4)激活电锁:按下此键可将密码锁上锁。
(5)解除电锁:按下此键会检查输入的密码是否正确,密码正确即开锁。
1.5 本课题的研究目的和意义
随着人们生活水平的提高,对家庭防盗技术的要求也是越来越高,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的欢迎。现在市场上主要是基于单片机技术的电子密码锁,但可靠性较差。FPGA即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物,是一种超大规模集成电路,具有对电路可重配置能力。通常FPGA都有着上万次的重写次数,也就是说现在的硬件设计和软件设计一样灵活、方便。相对于基于单片机技术的电子密码锁,用FPGA器件来构成系统,可靠性提高,并且由于FPGA具有的现场可编程功能,使得电子密码锁的更改与升级更为方便简单[3]。
通过本次设计掌握FPGA系统设计的方法,熟悉FPGA设计的相关软件,以及硬件描述语言的使用,了解电子密码锁的系统构成,利用FPGA实现电子密码锁的设计与实现,可以加深自己对所学专业的认识,关联知识,增强自己的动手能力,积累实践经验,为以后的工作打好基础。
参考文献
[1] 李连华.基于FPGA的电子密码锁设计.中国科技信息,2006,(01):64
[2] 许琦.基于FPGA的电子密码锁的设计.科技信息,2006,(10):240-241
[3] 王卫兵,刘克刚,朱秋萍.用FPGA的电子密码锁.电子技术,2005,(01):26-28
[4] 赵益丹,徐晓林,周振峰.电子密码锁的系统原理、设计程序及流程图.嘉兴学院学报,2003,15(S1):103-105
[5] 陆重阳,卢东华.FPGA技术及其发展趋势.微电子技术,2003,(01):5-7
[6] 王晓勇.FPGA的基本原理及运用.舰船电子工程,2005,(02):82-85
[7] 程耀林.FPGA的系统设计方法解析.现代电子技术,2005,(19):90-93
[8] K. Benkrid, A. Benkrid and S. Belkacemi .Efficient FPGA hardware development: A multi-language approach .Journal of Systems Architectur -e, 2007(04):184-209
[9] Altera, Novas Team for FPGA Visibility Enhancement .Electronic News (North America).2006,(11):12
[10] 张忠.自顶向下的FPGA设计.电子产品世界,1998,(11):33-34,72
[11] 路而红.专用集成电路设计与电子设计自动化.北京:清华大学出版社,2004:162-181,239-280,329-332
[12] 罗杰,康华光.两种硬件描述语言VHDL/Verilog的发展及其应用.电气电子教学学报, 2002,24(04):1-5
[13] 曹建国, 王威, 王丹. 一种基于VHDL的电子密码锁的设计与实现.沈阳大学学报 , 2006,18(04):77-79
[14] 谭会生,瞿遂春.EDA技术综合应用实例与分析.西安:西安电子科技大学出版社,2004.1-42,64-85
[15] 梁丽.电子密码锁的计算机仿真设计.计算机仿真,2005,22(02):218-220
㈤ 基于MATLAB的循环码编译码器的仿真
fa,shou,caina
㈥ 跪求如何做 基于VHDL语言的循环码编解码器的设计怎么弄····
要学vhdl的话,还是先看vhdl的教程吧,教材随便找一本,我这有VHDl实用教程(潘松_王国栋_编着)的电子书。我可以发给你邮箱。现在手头没有,明天可以发。。。。,
软件肯定是仿真用modelsim了,现在版本6.7了吧,在官网就能下载到,我这只有6.3和6.5的crack。网上找一下教程还是很多的。需要的话可以给我回邮件。
网址:http://model.com/content/modelsim-se-high-performance-simulation-and-debug
安装后需要破解,修改环境变量等等,按照crack的read me做就好。
使用教程也比较多其实总共也没几个步骤:
1 新建一个目录,在该目录下添加源代码。
2 打开modelsim file--》change directory ,改到新建的文件夹
3 建工作库:vlib work
4 编译 vcom
5 仿真 vsim
6 添加波形 addwave
7 运行 run 2000 ns
就这几步 很简单
㈦ 如何产生一个系统码结构的循环码
通常,将接收到的循环码组进行除法运算,如果除尽,则说明正确传输;如果未除尽,则在寄存器中的内容就是错误图样,根据错误图样可以确定一种逻辑,来确定差错的位置,从而达到纠错的目的。用于纠错目的的循环码的译码算法比较复杂,感兴趣的话可以参考一些参考书。而用于检错目的循环码,一般使用ARQ通信方式。检测过程也是将接受到的码组进行除法运算,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错,要求发送端重发。用于这种目的的循环码经常被成为循环冗余校验码,即CRC校验码。CRC校验码由于编码电路、检错电路简单且易于实现,因此得到广泛的应用。在通过MODEM传输文件的协议如ZMODEM、XMODEM协议中均用到了CRC校验技术。在磁盘、光盘介质存储技术中也使用该方法。