8-4扩展汉明译码器 (3)1

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

(8,4)扩展汉明译码器的设计与实现
学院:通信工程学院
班级:01072班
组员:01072035 刘吉龙
01072043 雒燕柯
01072045 贾磊
(8,4)扩展汉明译码器的设计与实现
引言:纠错码是一门新的擦错控制技术,目前已广泛应用于各种通信系统和计算机系统中。

提高信息传输的有效性和可靠性,始终是通信工作所追求的目标。

纠错码是提高信息传输可靠性的一种重要手段。

这次课程设计所设计的是(8,4)扩展汉明译码器。

根据纠错码的相关知识(8,4)扩展汉明码是由(7,4)汉明码加一位全校验位得到的。

它的码字(c7,c6,c5,c4,c3,c2,c1,c0)中的前七位码元(c7,c6,c5,c4,c3,c2,c1)是汉明码的一个码字,c0是全校验位。

扩展汉明码的码长是8 的整数倍,特别适用于计算机或者微机组成的数据处理或数据传输系统。

扩展汉明吗能纠正一个错误同时发现两个错误,虽然它不是循环码,但它编译电路的主要部分与循环汉明码的译码器相同。

本次实验利用Quartus II软件和相应的FPGA开发板完成。

一、实验目的
1.学会熟练使用Quartus II软件,通过软件的使用,进一步了解数电元器件的功能,和VHDL程序的编译,以及小模块电路和程序的封装。

2.通过对(8,4)汉明译码器的设计,简单了解纠错码译码的基本实现原理。

3.进一步了解FPGA的使用,为以后的FPGA的开发打好基础。

二、(8,4)汉明译码的原理及其框图,结果图
首先将已做好的(8,4)汉明码编码器封装
(8,4)汉明码编码器
封装之后
突发噪声产生模块突发噪声+汉明编码
输入的M序列
输入的汉明编码
噪声
加噪的汉明编码
汉明码译码模块
汉明译码
将接收到的汉明串码转换成并行码,之后进行译码。

汉明译码器的模块图
将并行码转换成串行码:
module ym_ipo11(pi_hm,clk,cb_out);
input clk;
input pi_hm;
output [7:0] cb_out;
reg [7:0] cb_out;
reg [7:0] temp;
integer counter = 0;
always @(posedge clk)
begin
if(counter ==8) begin cb_out <= temp; counter = 0;
end
temp[7-counter] <= pi_hm
counter = counter + 1;
end
endmodule
校正字产生:
校正字ss 与汉明码有以下关系:
34563x x x x s ⊕⊕⊕= 24572x x x x s ⊕⊕⊕= 14671x x x x s ⊕⊕⊕=
012345670x x x x x x x x s ⊕⊕⊕⊕⊕⊕⊕=
012345670x x x x x x x x s ⊕⊕⊕⊕⊕⊕⊕=library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ss is
port (cb_out: in std_logic_vector(7 downto 0); clk:in std_logic;
ss: out std_logic_vector(3 downto 0)); end ss;
architecture myarch of ss is begin
process(clk,cb_out) begin
if rising_edge(clk) then
ss(3)<=cb_out(6) xor cb_out(5) xor cb_out(4) xor cb_out(3);
ss(2)<=cb_out(7) xor cb_out(5) xor cb_out(4) xor cb_out(2);
ss(1)<=cb_out(7) xor cb_out(6) xor cb_out(4) xor cb_out(1);
ss(0)<=cb_out(7) xor cb_out(6) xor cb_out(5) xor cb_out(4) xor cb_out(3) xor cb_out(2) xor cb_out(1) xor cb_out(0);
end if;
end process;
end
myarch;
并串转换
原M序列:
加噪后汉明码
并行汉明码
并行恢复M序列
译码后恢复出M序列
在同一时间轴比较:m-out是原M序列,mm-out是译码得到的M序列
三:在完成汉明编译码系统中出现的问题及解决的方法。

在实验过程中,我们是在(7,4)汉明编译码的原理上做了稍微修改完成(8,4)汉明译码器的设计的,在实验过程中,由于对数电元件的理解不深入,造成了对于一些小问题就束手无策,最后向老师咨询后,对电路图做了进一步的修改,然后,问题虽然有所改善,经过
随后对波形的分析,又不知道问题所在,经过老师指点,发现原来时钟没统一,等时钟修改好之后,输出波形的始终又出问题,耐心分析之后,在通过编码的输入,终于调出了正确的译码信息。

四:实验心得
通过这次的课程设计,对quartusII软件又有了进一步了了解,对FPGA开发板的使用又进行了复习,意识到了VHDL的强大,及它对硬件电路的完美诠释。

在设计中,运用以前做(7,4)汉明编译码器的设计方法,在电路图和程序的基础上进行很多次大大小小的修改,最终输出了正常的译码波形图。

通过对数电元器件的进一步了解。

这一点也让我意识到只是与知识之间是相同的,只有打好坚实的基础,由易到难,一步一个台阶,慢慢的往上走,很多看似没有头绪的问题都可以穿起来,最后连成一个整体,进而实现要完成的结果。

在设计过程中,老师耐心指导,同学的新质疑新看法不断提出,才使得看似凌乱的波形骤减清晰起来,我们意识到不懂就要更积极跟老师去沟通,以及听取别人意见的重要性,团队合作的重要性,最然这是一次比较简单的设计,但是从中体会到了不少东西,以及自己以后应该加强的哪些方面。

相关文档
最新文档