FSK解调Verilog的实现及仿真_第1页
FSK解调Verilog的实现及仿真_第2页
FSK解调Verilog的实现及仿真_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、FSK解调Verilog的实现及仿真1Verilog语言及modelsim简介VerilogHDL语言是硬件描述语言之一,常用的硬件描述语言有VHDL和Verilog,在欧美国家VHDL!勺使用要大于Verilog,而在中国Verilog所占份额要大于VHDLVerilog语言与C语言非常相似,可以说是基于C语言的结构而发展起来的,VHDLL吾言的格式没有Verilog通俗易懂,但是VHDLM接近硬件,综合起来要优于Verilog。可以说Verilog和VHDL各有所长1o早期的集成电路模板是工程师根据电路原理图手工绘制的,由于早期的电路简单,所以这种手工绘制的方法暂时可以满足需求,但是随着集

2、成电路的集成度和复杂度的增加,手工绘制越来越不能满足设计的需要,并且时常会出现一些错误。这样硬件描述语言就应运而生,早期硬件描述语言只是起到仿真和验证的作用,随着运用越来越广泛和后期添加功能,Verilog逐渐被设计者使用。到了今天,硬件描述语言Verilog已经广泛的运用于大规模、超大规模集成电路的设计。电子设计自动化也越来越不能离开硬件描述语言,并且衍生出新的语言比如:SystemVerilog。等高级语言。总而言之,Verilog解放人的大脑,让计算机强大的功能来实现人的电路思想1。Mentor公司的ModelSim是作为一款最优秀最精准的仿真软件,不仅仅能给用户提供一个简单易操作的界面

3、环境,而且支持VHD团:Verilog混仿仅有的单内核软件。这个软件优化了仿真技术、可以使用Tcl/Tk命令,modelsim具有速度快编译代码普适性的特点,有利于用户使用并保护IP核,是FPGA/ASIC设计的首选仿真软件2。2FSK解调系统总体设计解调算法具体的设计指标为:(1)输入信号码率10Kbps;(2)中频为fc=30KHz;(3)频率偏差?驻f=5KHz;根据第差分解调算法原理,建立解调算法Verilog系统框图,其中包括量化单元、差分滤波器、乘法器、低通滤波器等模块。2.1量化模块量化模块将前端RF接收到的数字化后的调制信号进行量化。其采样的周期,量化的位数直接影响解调的性能和

4、最终的芯片面积。这里对量化位数进一步说的。前级量化按照表1所示来量化,其中x是采样输入数据。表1接收信号量化编写抽样量化Verilog代码。其中base_in是基带接收信号默认为经过采样的9位信号,由于没有调制模块,这里通过添加DDS然后将数据导入modelsim测试文件。然后经过量化模块,实现位数的降低,最终输出为3位。量化模块最主要的是比较器模块。通过modelsim后仿真,最后综合得到量化模块的综合RTL级电路。2.2低通滤波器及IP核使用低通滤波器的作用的滤除谐波分量。基于码率为10Kbps只需要滤除10Kbps以上的频率分量3。首先要利用fdatool工具获得抽头系数:首先进入fda

5、tool工具设置好滤波器的参数。FPASS9600。FSTOP12000specifyorder:60。Responsetype:lowpass。在设置好以上参数后,点击设计滤波器。然后生成滤波器的系数。得到的数据都是浮点数经过定点过后的数值。并且在低通滤波器中还可以输入滤波器的截断方式以及累乘加法的定点位数。这里选择的是与输入相同的位数也就是8位。然后通过与差分滤波器设计一样的流程设计了低通滤波器模块其Verilog代码其中输入数据data_in为乘法器输出的8位信号。data_out为输出为8位的信号,这里由于运算的需要通过饱和截断模块之后运算结果由最初的20位变为8位,以减少后级处理的负

6、担和开销。在通过低通滤波器后,由于后级有维特比译码处理单元,而维特比译码比较的是欧式距离而不是汉明距离,因此在这里未采用抽样判决模块,而是直接将8位数据输入到维特比译码模块,而维特比译码模块在前级会将8位信号进行量化,变为3位8级的输入,然后判断欧式距离。由于FPG哗身带有乘法器IP核,因此这里直接例化乘法器模块添加到系统中,直接供给系统使用。3仿真前面完成了从算法设计到Verilog实现的步骤,并针对数字集成电路的低功耗优化进行了Verilog代码设计,下面主要完成代码的仿真验证。通过MATLABsimulink、modelsim、QuartusII等软件联合仿真测试电路功能的正确性。首先通

7、过在modelsim软件中添加testbench文件测试解调模块、维特比译码模块的功能,并严格对比MATLAB勺输出来判定代码的正确性。然后选取Altera公司的CycloneIV系列FPGAK片EP4CGX22CF19C6为目标芯片,通过QuartusII软件综合整个解调解码系统生成报告。通过分析系统性能满足设计要求。3.1量化模块仿真图1Verilog量化模块仿真图从图1可以看到输入基带信号由“0”变为“T的过程中,量化后的调制信号周期缩短为原来的一半。并且量化的位数和范围符合表1所示。3.2差分滤波器仿真首先在MATLAB立的差分滤波器模型中输入5000个随机信号,然后将MATLAB型输

8、出的5022个结果保存到data.txt文件里。将输入MATLAB模型的5000个随机信号生成testbench文件tb3.v,通过modelsim软件测试差分滤波器模块。将modelsim仿真结果导出到data_out.txt。这个过程是通过下面的Verilog代码实现的:w_file=$fopen("dataout.txt");$fmonitor(wfile,"%b”,filterout);然后对比分析MATLABmodelsim的输出。由于对比数量巨大无法通过肉眼观察,因此通过ultraedit软件的比较工具实现MATLAB勺滤波器输出和modelsim仿真

9、滤波器的输出。一般设置输出数据文档data.txt是MATLAB的输出,data_out.txt为modelsim的输出。通过最后比对可以得到MATLAB模型与modelsim输出结果完全一致有5023行匹配,0行差异。那么用Verilog建立的FIR滤波器模块能正确实现所要求的滤波器功能。文章设计的滤波器可以修改抽头系数、输出位宽、输入位宽,为通用型滤波器。低通滤波器就是在此滤波器的基础上改变参数得到。因此其仿真结果不再展示。3.3差分解调仿真输入信号以9位二进制的形式进入滤波器模块,通过量化模块量化为3位二进制信号,在分别进入乘法器和差分滤波器,通过差分滤波器的一路信号经过差分滤波之后为1

10、1位二进制信号,然后与进入乘法器(3*11位)的另外一路信号相乘,再做截断处理得到8位信号。通过低通滤波器做卷积相乘,得到16位信号,也做截断处理得到8位信号。最后通过量化判断得到基带原始信号3。通过波形的对比,证明能模块能正确解调信号。通过前仿真后通过为了验证代码的正确性,首先通过MATLABfc成原始基带信号,然后调制成20KHz和40KHz的调频信号,将调频信号取离散采样,将得到的数据输入testbench作为采样过后的信号,通过modelsim级联仿真验证代码时序正确性。选Altera公司的CycloneIV系列FPGAt*片EP4CGX22CF19C帝Altera公司开发的集成开发工

11、具QuartusII中输入代码,进行综合和布局布线,提取器件的延时参数,根据QuartusII的静态时序分析报告所示。然后得到sdf/sdn文件导入modelsim4,验证代码的时序正确性。报告得到,驱动时钟”clk”时间裕量非常充足,其最高工作速度可以达到220MHz而解调周期是32个时钟周期,解调速度满足10kpbs的要求5。4结束语文章通过分析FSK解调的部分模块,通过MATLAEBt立解调的各个模块,并用Verilog代码实现,主要内容是根据建立的FSK解调算法模型设计各个模块的逻辑结构,重点分析了量化模块、低通滤波器模块以及乘法模块。仿真验证中,通过搭建一个联系起modelsim、MATLABsimulink的平台来验证代码的正确性,通过对比代码的输入输出与MATLABsimulink的输入输出得到代码的功能是否正确。首先验证了设计的正确性,其次在以后的前仿真中也可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论