- 169
- 0
- 约2.64千字
- 约 8页
- 2016-12-09 发布于重庆
- 举报
84扩展汉明译码器1
(8,4)扩展汉明译码器的设计与实现
学院:通信工程学院
班级:01072班
组员 刘吉龙
雒燕柯 贾 磊
(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开发板完成。
实验目的
学会熟练使用Quartus II软件,通过软件的使用,进一步了解数电元器件的功能,和VHDL程序的编译,以及小模块电路和程序的封装。
通过对(8,4)汉明译码器的设计,简单了解纠错码译码的基本实现原理。
进一步了解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与汉明码有以下关系:
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-
原创力文档

文档评论(0)