无线通信系统维特比译码的FPGA仿真验证_高志斌
更新时间:2023-05-23 11:40:01 阅读量: 实用文档 文档下载
- 无线通信系统的工作原理推荐度:
- 相关推荐
无线通信系统维特比译码的FPGA仿真验证
高志斌,黄联芬
(厦门大学 福建厦门 361005)
摘 要:在设计宽带无线通信系统的基带平台中,采用一种基于FPGA仿真工具ActiveHDL和目前广泛用于数字信号处理、数值分析等的实用软件Matlab相结合的方法,通过实现(2,1,7)卷积编码的全并行维特比软判决译码的FPGA设计仿真和算法验证,提出一种利用Matlab进行测试向量的生成和验证,以简化仿真测试序列的手工输入,提高FPGA设计进程和保证代码质量的方法。
关键词:FPGA;ActiveHDL;Matlab;维特比译码
中图分类号:TN402 文献标识码:B 文章编号:1004373X(2006)1302003
FPGASimulationVerificationofViterbiDecoderinWirelessCommunicationSystem
GAOZhibin,HUANGLianfen
(XiamenUniversity,Xiamen,361005,China)
Abstract:Inthispaper,thebasebandplatformforwidebandwirelessusingFPGA.TheFPGAalgorithmsaresimulatedbyActiveHDL,asimulationtoolGA,andalsodigitalsignalpro2cessingandnumericanalysing.AfullparallelsoftdecisionViterbiof,1,7)codeissimulatedusingthesetoolsabove.Themethodproposedinthispaper,isofsimulationtestingsequence,soastopromotsthedevelopmentofFPGAdesignandcodes.
Keywords:FPGA;ActiveHDL ,采用各种高速信号件,比如数字信号处理器
(DSP),或现场可编程逻辑门阵列(FPGA),把中频信号下
成完整的FPGA设计项目。
MathWorks公司的Matlab软件,起源于矩阵计算,有(MatrixLaboratory)之称,Matlab在科学计“矩阵实验室”
变频,进行基带信号处理,可以给通信系统带来很大的灵活性、兼容性和可重构性。基带信号处理采用FPGA实现时,有必要对各个算法模块,比如CRC编码校验、卷积编码、维特比译码、交织、解交织等,进行功能仿真,通常也称为前仿真,本文提出一种利用ActiveHDL和Matlab结合的快速设计仿真的方法,实现对宽带无线通信系统中一个
(2,1,7)卷积编码的维特比软判决译码的前仿真,以验证
算、数据分析与可视化、系统建模与仿真、实时嵌入式系统开发与设计方面,得到了越来越广泛地应用。2 维特比译码算法流程2.1 (2,1,7)维特比译码
卷积编码是现代通信系统中最为常用的信道编码方式,他可以大大提高在加性高斯白噪声情况下的抗噪声能力,被广泛用于卫星通信和空间无线通信上。维特比译码算法是一种根据最大似然译码原理在所有可能路径中求得与接收序列最为相似的一条路径,用大数判决进行卷积码译码的方法[1]。本文实现的是一种全并行三级流水的
radix2蝶型加比选的维特比译码算法模块(针对约束长
该模块的正确性。
1 ActiveHDL与Matlab简介
Aldec公司的ActiveHDL软件,属于FPGA前端设
计工具。他可以结合其他公司的各种EDA工具,从而提供从程序代码编辑输入、网表综合、布局布线、甚至程序编程下载到CPLD或FPGA芯片上的整个设计平台。他简单方便的DesignFlowManager设计,可以引导设计者完
收稿日期:20060125
基金项目:厦门大学京信公司“宽带无线系统基带信号处理
通用平台”项目
度K=7的1/2卷积码的软判决译码),他具有以下特点:
(1)3b量化软判决。采用查表获得卷积编码值,根
据文献[2]化简欧氏距离,来计算各个分支度量值(BM)。
(2)全并行加比选(ACS)。对于6个状态寄存器的64个状态的卷积编码,采用32组4分支蝶型ACS单元。
(3)幸存路径(SM)截尾译码,译码深度60b,该参数
根据文献[1]设计。
20
(4)大数判决器,判决门限为31
。
和ActiveHDL对(2,1,7)卷积编码的维特比软判决译码模块进行仿真与验证。
其测试台(Testbench)仿真的激励信号,需要有两个
3b量化的输入码流,这两个码流必须符合卷积编码的规
律才能送入维特比译码器进行仿真,任意随机输入序列是不能正确仿真的。以下阐述如何得到所需的测试序列,以及如何判断维特比译码是否正确。
本文采用如下的方法:
(1)编辑一个Matlab环境下的m文件生成满足要求
图1 维特比译码框图
的卷积编码测试序列,并且把原始的信息序列打印出来,作为FPGA代码运行结果的参考。
(2)将Matlab生成的测试序列在ActiveHDL环境
图1中的din0k[2:0],din1k[2:0]表示k时刻输入的两个3b软量化的编码数据序列,BM0kx0,BM0kx1分别表示由k-1时刻x0与x1状态转移到k时刻0x状态的两个分支度量值。PMk表示k时刻加比选单元获得的转移到0x
0x状态的新路径度量值。Sk是k时刻0x状态幸存路径值。
0x
下,作为维特比译码模块仿真的输入测试序列的公式(for2
mula),仿真一定时间后,将输出波形与Matlab打印出来
的原始信息序列相比较,以验证仿真结果。
以下是本文需要的Matlab代码:
trel=poly2trellis(7,[171133]);%生成多项式
msg=randint(1,66);随机序列作为原始信息code=convenc(msg,trel);%卷积编码c0=code(1:end)2);len=(c0);
(d)soft(find(c0==1))=7;d);c1soft(find(c1==1))=7;(c0soft,3);%3bit量化=dec2bin(c1soft,3);
%生成simulator语句t0=200;clock=100;
);fprintf(′din0:′
form=1:lend-1 fprintf(′%s%dns,′,din0(m,:),t0+clock3(m-1));end
fprintf(′%s%dnsdin1:′,din0(lend),t0+clock3(lend-1));
form=1:lend-1 fprintf(′%s%dns,′,din1(m,:),t0+clock3(m-1)); end fprintf(′%s%dns′,din1(lend),t0+clock3(lend-1));
) disp(′正确译码序列:′
disp(msg)
其他分支和状态类推。2.2 维特比译码主要模块
将译码过程分为求分支度量、加比选、
大数译码3种相对独立的操作,采用三级流水线来实现。
分支度量模块,对每个状态的k时刻BM的计算,可以采用如下公式[2]:
din0+din1, 卷积码为00时not(din0)+not(din1), not(din0)+din1din0+( BM=
时
其中not(x)表示对x每个ACS单元如图图2 一个ACS单元
大数译码:幸存路径寄存器是一个60×64的移位寄存器。由帧同步启动计数控制器,对输入时钟计数,一旦计数到60,启动大数判决器。将移出的64b各状态译码值传递给大数判决器;大数判决器对数据进行判0或者判
1输出,判据是:输入的数大部分是0,输出0;输入的数大
运行上述代码,在Matlab的命令窗口下,打印出两个
3b测试序列:
din0:
111200ns,000300ns,000400ns,000500ns,111600ns,……(后续序列省略)din1:
111200ns,111300ns,111400ns,000500ns,111600ns,……(后续序列省略)
部分是1,输出1。设计成一个计算“1”个数的累加器,以
31为门限,累加结果大于31就输出1,否则输出0。具体
的维特比译码算法参考文献[1,2]。3 仿真流程
根据维特比译码算法设计的FPGA代码,编译生成顶层模块之后,提出一种便捷的仿真设计方法,利用Matlab
同时打印出原始序列作为译码结果的参照:
Columns1through24
1100010011……(后续序列省略)
在ActiveHDL中建立一个含有维特比软判决译码器的design之后,对源代码进行编译,然后在DesignFlow
21
level
Manager的options中设置要进行仿真的top列,在ActiveHDL下多次进行仿真,可以进一步验证算法结果。还可以在Matlab中进行编程,对测试序列引入一定干扰,使之在“000”“,111”的允许范围内有一定的抖动,进行误码率测试仿真等。完成了算法仿真之后,在此基础上进行代码的优化,再利用ActiveHDL与Matlab,或者其他工具,进行后仿真,编程下载,完成模块的最终实现。5 结 语
利用ActiveHDL在FPGA系统功能的设计和仿真上具有简单易用的特点,但是对于算法结构比较复杂的,需要严格的Testbench仿真序列的情况,仅仅使用手工规定测试序列或者定义宏,都显得比较麻烦,本文提出利用
Matlab进行测试向量的生成和验证,简化了仿真测试序
unit(s),在DesignFlowManager中点击functionalsimu2lation,就可以生成一个waveform,在这个波形图上对每个
输入信号配置“Stimulators”选项,设置时钟为100ns,对于
din0和din1,直接复制Matlab打印出来的测试序列作为formula,如图3。仿真一定时间,
就可以得到仿真波形。
图3 配置输入信号Stimulators的formula
列的手工输入,而且对验证结果正确性方面也有一定的借鉴。同时Matlab在通信系统模块和滤波器设计等等方面具有丰富的工具箱,对于FPGA算法设计人员而言,如果能充分利用这些资源,,加速设计进程,具有重要意义。
,.FPGA设计中参数确定
[J,2003,28(2):44
46.
]孙猛.VB高速译码算法及其FPGA实现[J].中国有线电
4 验证结果
图4是在ActiveHDL中得到的(2,1,7)卷积编码的维特比软判决译码仿真波形。din0和din1是输入的3b软量化的测试序列,dout0是输出的译码结果,和Matlab下卷积码的输入序列进行比较,从而判断FPGA算法仿真
结果正确与否。
视,2004(3):1318.
[3]刘虹.ActiveHDL612使用技巧小谈[J].鹭江职业大学学
报,2005,13(3):6366.
[4]程耀林.FPGA的系统设计方法解析[J].现代电子技术,
2005,28(19):90
93.
图4 维特比译码器仿真波形图[5]张志涌.精通Matlab615版[M].北京:北京航空航天大学
可以看出,在算法仿真下,维特比译码得到的译码序列和Matlab打印的原始信息序列一致。多次运行上述
matlab代码,生成随机的原始信息序列和两个输入测试序
出版社,2003.
[6]张俊.卷积码维特比译码算法最佳反馈深度研究[J].现代
电子技术,2006,29(3):4546,50.
作者简介 高志斌 男,1979年出生,研究生。主要从事无线通信基带信号处理与中频调制解调软硬件系统的研究。
(上接第19页)
智能、虚拟仪器、智能并口扩展、软件模块设计、多口RAM及直接数据写入等多种技术,实现了各种雷达分机的检测诊断及故障定位。系统采用USB总线实现了雷达分机脱机测试诊断的通用化和自动化,极大地提高了雷达装备维修的现代化水平。
参 考 文 献
[1]蒋旭,王志云,周静,等.USB在雷达功率中的测试研究[J].
[2]张爱国,肖文书,张兴敢.雷达接收机综合测试系统研究
[J].电子产品世界,2003(21):67
69.
[3]夏明飞,都学新,田冬,等.用VXI仪器组建通用雷达装备自
动测试系统[J].飞行器测控学报,2003,22(2).
[4]巩春源.CAT在雷达自动化测试系统中的应用[J].航天制
造技术,2003(6):2226.
[5]张红斌,马维华.基于VXI总线的某型雷达电路故障诊断系
统[J].兵工自动化,2004,23(1):46.
[6]蒋旭,黄允华,王洪锋.雷达故障的集成诊断应用研究[J].
飞行器测控学报,2003,22(1):7780.
电光与控制,2004,11(4):5052.
作者简介 薛兰柱 1964年出生,高级工程师,硕士研究生。主要从事雷达装备测试诊断研究。
22
正在阅读:
人物肖像描写02-16
全国农村科普工作先进个人事迹材料12-17
2016年天津中考24题专题复习12-18
2019年八年级语文下册 1 藤野先生导学案 新人教版 doc11-11
《华夏之祖》教案1002-28
山东省枣庄市概况介绍12-08
成果要报样稿08-09
作文拟题艺术1转载07-20
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 特比
- 高志
- 译码
- 无线通信
- 仿真
- 验证
- 系统
- FPGA
- 汽车安全驾驶记录仪设计
- “六一”关爱留守儿童活动总结总结
- 高清图详解英特尔最新22nm 3D晶体管
- 基于电机制动特性的闭式液压系统平衡调速回路的设计与应用
- 引航员胜任能力测评要素调查问卷
- 安全生产10月稿件
- 徐美荣外贸英语函电Chapter4 所有知识点及课后答案
- 星级酒店培训资料:酒店员工手册 第八版包含酒店部门岗位职责、星级酒店服务标准流程供酒店绩效考核
- 利用Poiseuille方程确定聚乙烯醇在粘度计毛细管管壁上吸附层的厚度
- 2014--2015学年下学期 青岛版五年级下册数学期末试题及答案
- 冬季施工技术交底
- VaR-GARCH模型在我国股指期货风险管理中的应用
- 高二数学必修3总复习(用)
- 数据库习题(含参考答案)
- 14 制药工艺放大研究
- 速冻地瓜项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案
- 办公室通报第1期
- 从我身边的生活变迁看新中国60年的巨变
- 万年历c语言源程序
- 销售团队激励口号大全 话不言多 2