- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一卷积编码器这个部分比较简单主要参考论文中的说明无线光
一:卷积编码器
这个部分比较简单,主要参考论文中的说明,《无线光通信》这篇论文第38页。
对应代码为JuanJi.v
基本原理如下所示:
卷积码为(2,1,7)标准卷积码,信息位为1比特,编码后变成2比特,编码比率,约束长度为7比特,码生成矢量,(反相后输出),该码型共有64个状态。(2,1,7)卷积码的编码结构图如图1所示,该编码器中的寄存器的初值全为0,,输入1比特,根据生成多项式进行运算后,得到2比特的输出,输出后移位寄存器向右移位一次,并重复编码过程。
图1(2,1,7)卷积码编码器结构图
其管脚如下所示:
Clk :卷积码的编码器的时钟信号,输入数据在时钟的上升沿取样,并在时钟的上升沿输出数据。
reset:卷积码的编码器的异步复位信号,当reset为0时,编码器的所有触发器全部清零。
En :卷积码编码器的使能信号,当en为1时,编码器正常工作,当en为0时,编码器处于停止状态。
Din :卷积码编码器的数据输入端口,其位宽为1比特。
Iout :卷积码编码器的编码数据1的输出端口,其位宽为1比特。
Qout :卷积码编码器的编码数据2的输出端口,其位宽为1比特。
Val :卷积码编码器输出数据有效信号,当val为1时,表示输出数据有效,反之则无效。
其功能仿真如下所示:
图2 卷积编码仿真结果图
二:viterbi译码器
图3 卷积码译码器的结构框图
·分支度量计算单元
分支度量计算单元是用来计算输入信号序列与卷积码各个可能输出信号序列的似然度量,维特比的似然准则就是在寻找具有最小距离的路径。若译码器采用硬判决译码时,分支度量计算采用汉明距离,而采用软判决译码时,则是采用欧氏距离,即计算
(1)
其中是t时刻的接收码字,表示t时刻的译码输出码字,在本设计中采用软判决译码,所以必须使用欧氏距离作为加比选的距离,虽然采用欧氏距离具有很好的性能,但是在FPGA中实现乘方和开方运算难度较大。因此在设计中采用一种简化的方法来计算分支度量。因为输入的量化数据是0到7之间的数据,若接收码字为,而编码器的编码码字可能是,,,,经过调制器,信道,解调器,经过3比特量化后,若无噪声干扰,接受的码字为,,,,则接收码字与可能发送的码字的距离采用下面的计算公式:
, , , (2)
采用这种方法,与采用欧氏距离相比,对译码器的性能影响不大,该译码器的性能与采用欧氏距离的译码器性能差仅有0.1~0.2dB。
由上式可以看出,如果采用8电平量化软判决方式,则此时路径度量值扩展为0到14,所以分支度量单元的输入是3比特数据,而输出则是4比特数据,这样硬件实现比较简单,可以减少硬件开销。
其硬件实现电路结构如图4所示。由于本设计中采用的是(2,1,7)卷积码,所以一级中共有64个结点,需要64个分支度量计算单元,在实现中,采用了全并行的结构,这样在一个时钟周期内,可以更新所有64个结点的分支度量值。
图4 分支度量计算单元的硬件电路结构
其代码如下所示:
//BM00 a+b
function[3:0] bm00;
input[2:0] i,q;
reg [2:0] ibm,qbm;
begin
ibm = i;
qbm = q;
bm00 = ibm + qbm;
end
endfunction
//BM10 (7-a)+b
function[3:0] bm10;
input[2:0] i,q;
reg [2:0] ibm,qbm;
begin
ibm = {i[2]^1b1,i[1]^1b1,i[0]^1b1};
qbm = q;
bm10 = ibm + qbm;
end
endfunction
//BM01 a+(7-b)
function[3:0] bm01;
input[2:0] i,q;
reg [2:0] ibm,qbm;
begin
ibm = i;
qbm = {q[2]^1b1,q[1]^1b1,q[0]^1b1};
bm01 = ibm + qbm;
end
endfunction //BM11 (7-a)+(7-b)
function[3:0] bm11;
input[2:0] i,q;
reg [2:0] ibm,qbm;
begin
ibm = {i[2]^1b1,i[1]^1b1,i[0]^1b1};
qbm = {q[2]^1b1,q[1]^1b1,q[0]^1b1};
bm11= ibm + qbm;
end
endfunction
assign I = (en) ? Iin : 0;
您可能关注的文档
- 00预算编列说明会.ppt
- 00年绩优人员优良事蹟简介 人事室.ppt
- 02环境教育宣导.ppt
- 01月乙级病案原因分析医疗质量管理科.ppt
- 00生命教育探索营.ppt
- 04八下第一次段考国文试题.doc
- 04备审暨面试准备讲座.ppt
- 03年南投国民教育辅导团语文学习领域英语.ppt
- 058 俄罗斯 006耐高温甲基苯基硅氧烷漆生产技术.doc
- 05服务学习说明会.ppt
- 2022年乡镇党员的个人工作计划5篇 .pdf
- 2020部编人教版六年级道德与法治下册教案教学设计(全册)-精修版.pdf
- 2023-2024学年上海市张江集团学校九年级上册英语开学模拟试卷含答案.pdf
- 2022疫情防控工作方案(真题6篇) .pdf
- 精编汽车维修工(考评员、高级考评员) 练习题题库(易错题).docx
- 精编汽车维修工(考评员、高级考评员) 练习题完整题库(考试直接用).docx
- 精编汽车维修工(考评员、高级考评员) 练习题大全含答案(必威体育精装版).docx
- 精编汽车维修工(考评员、高级考评员) 练习题题库及答案【精品】.docx
- 精编汽车维修工(考评员、高级考评员) 练习题完整题库精编.docx
- 精编汽车维修工(考评员、高级考评员) 练习题王牌题库A4版可打印.docx
文档评论(0)