BCH编解码器的设计和实现

BCH编解码器的设计和实现

ID:44811527

大小:3.54 MB

页数:20页

时间:2019-10-29

BCH编解码器的设计和实现_第1页
BCH编解码器的设计和实现_第2页
BCH编解码器的设计和实现_第3页
BCH编解码器的设计和实现_第4页
BCH编解码器的设计和实现_第5页
资源描述:

《BCH编解码器的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、【题目介绍】我们小组做的题目是BCH编解码器的设计和实现。系统分为四部分:1.单片机串并变换2.(7,4)BCH编码器3.FSK调制发射和FSK解调4.(7,4)BCH解码器首先,计算机通过串口向单片机发送串行ASCII码数据,单片机把这些串行数据进行串并变换后,把每个8位的ASCII码并行送入(7,4)BCH编码器,8位并行数据在编码后变为14位的串行数据,FSK调制模块将编码后的数据发射,然后解调模块进行接收(中途没有经过无线信道,因为无法模拟),解调后得到编码后的数据,送给(7,4)BCH解码器进

2、行解码,然后解码器将解码得到的8位ASCII码送给单片机,单片机将并行ASCII码进行并串变换后,将串行数据送入计算机串口,这时,在屏幕上将显示接收到的ASCII码。【分工】****************************【编码模块原理】编码方式:将信息码多项式i(x)升n-k次幂后除以生成多项式g(x),然后将所得余式置于升幂后的信息多项式i(x)之后。可以用下式表示:r(x)为监督码多项式系统循环码多项式为:要得到监督位,关键要进行多项式除法,可以用带反馈的线性移位寄存器来实现。u(n,k)

3、BCH码生成多项式g(x)=1+g1x+g2x2+...+gn-k-1xn-k-1+xn-k(n,k)BCH码编码电路:若前n-k次移位只是用于将信息码元输入移位寄存器,还需n-k次移位才能输出监督码元,其间存在n-k位间隙。通过时钟控制开关可以使编码过程流畅,不存在时间间隙。编码器的开关动作如下:Ø1到k个时钟节拍,信息比特直接输出(S2置于2)同时计算余式——监督码,每当一个“1”移出寄存器进入反馈线,相当于从被除式中减去除式。Øk+1到n个时钟节拍,监督码位输出(S2置于1),断开移位寄存器的反馈

4、线(S1--off)Øu(7,4)BCH码生成多项式g(x)=1+x+x3一次编码过程产生4位信息码元和3位监督码元,3位监督码指示的8种校正子图样中,一种代表无误码,其余7种能纠正一位误码。(7,4)BCH码编码电路:编码器的开关动作如下:Ø1到4个时钟节拍,信息比特直接输出(S2置于2)同时计算余式——监督码。Ø5到7个时钟节拍,监督码位输出(S2置于1),断开移位寄存器的反馈线(S1--off)Ø【编码模块系统框图】clk时钟节拍reset是来自单片机的数据有效信号(脉冲信号)din_v[7..0

5、]是单片机向FPGA发出的并行信号dout是编码后的串行信号,头三位为高电平帧信号当reset的上升沿到来时,读取单片机发出的并行数据信号din_v[7..0],首先产生3位高电平信号送至dout。然后启动编码电路,8位信息码分两组进行编码,历时14个时钟节拍,加上帧信号共17个时钟节拍。ureset信号上升沿的识别reset上升沿的识别捕捉是启动编码过程的关键,若采用同于捕捉时钟信号上升沿的方法(ifreset’eventandreset=’1’),会导致上升沿的嵌套捕捉,不能通过编译。用两路信号Q1

6、,Q2分别在时钟的上升沿和下降沿采集reset信号ProcessbeginWaituntilclk'eventandclk='1';Q1<=reset;Endprocess;ProcessbeginWaituntilclk'eventandclk='0';Q2<=reset;Endprocess;判断reset上升沿的标准是(Q1xorQ2)='1')andreset='1'即Q1,Q2不等且reset='1'时。Reset上升沿出现在时钟的高电平,Q1,Q2不等状态恰好卡住时钟信号上升沿Reset上升

7、沿出现在时钟的低电平Q1,Q2不等状态卡住时钟信号下降沿编码的控制信号往往是要靠reset上升沿起动,而后在时钟沿时有相应动作。倘若要先判断时钟沿的来临(比如上升沿),再判断是否有Q1,Q2不等的状态,有一半的概率会捕捉不到reset上升沿,因为显然Q1,Q2不等状态以0.5的概率卡住时钟信号下降沿。为了使判断Q1,Q2状态不受到时钟沿的限制,要先判断是否有Q1,Q2不等的状态,然后判断时钟沿的来临。If(((Q1xorQ2)='1')andreset='1')then。。。。Elsif(clk'EVE

8、NTandclk=‘1’)then。。。。Endif;udin_v[7..0]并行信号转换成编码电路的串行输入从单片机送入FPGA的是8位并行信号,为了满足移位寄存器的串行操作。必须转换成串行信号。在编码过程的每个时钟节拍,8位信号逐次向前移位,取出头位,即为串行信号移位条件:信息码输出时移位If(((Q1xorQ2)='1')andreset=‘1’)thenbufferv<=din_v;Elsif(clk'eventandclk='1'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。