2FSK调制解调器的FPGA与MATLAB设计与实现_第1页
2FSK调制解调器的FPGA与MATLAB设计与实现_第2页
2FSK调制解调器的FPGA与MATLAB设计与实现_第3页
2FSK调制解调器的FPGA与MATLAB设计与实现_第4页
全文预览已结束

下载本文档

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

文档简介

2FSK调制解调器的FPGA与MATLAB设计与实现贺炜【摘要】文章介绍了相位连续的2FSK调制解调的原理利用FPGA,采用键控法设计了可以根据检测到的脉冲码元分时输出不同频率正弦波的DDS发生器.利用MATLAB窗函数设计了FIR滤波器,研究了不同窗函数及量化位数对于FIR滤波器频率响应曲线的影响,求出FIR滤波器抽头系数并导入FPGAFIRIP核,实现了全并行分布式结构的FIR低通及带通滤波器.最后采用Veriloghdl语言实现了基于FPGA的2FSK调制及非相干解调,通过Modelsim仿真得到非相干解调各节点信号的波形.仿真及实验结果表明基于FPGA和MATLAB设计的相位连续2FSK调制解调器是正确的,具有较高的实用性和可靠性.【期刊名称】《信息记录材料》【年(卷),期】2018(019)002【总页数】3页(P78-80)【关键词】FPGA;MATLAB;2FSK;FIR;调制;解调【作者】贺炜【作者单位】西安石油大学电子工程学院陕西西安710065【正文语种】中文【中图分类】TN713随着EDA技术的高速发展,现场可编程门阵列(Field-ProgrammableGateArray,FPGA)因其具有可编程性、开发周期短、集成化程度高、灵活性强等特点,在通信领域的应用越来越广[1]。频移键控(Frequency-shiftkeying,FSK)调制解调技术是现代通信中一项关键的技术[2-3],调制解调效果的好坏更是直接关系着通信是否成功。文章以Altera型号FPGA作为硬件核心,硬件与软件相结合,采用veriloghdl语言及MATLAB仿真,设计了DDS发生器及FIR滤波器,实现了相位连续的2FSK调制解调器,具有较高的实用性、可靠性和灵活性。频移键控(FSK)是利用载波的频率变化来传递数字信息,在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。由于在FSK信号中提取相干相干载波相对困难,因此实际工程中多采用非相干解调法[4]。本节利用20KHz和40KHz正弦波作为载波,根据上节所述2FSK调制解调原理,采用键控法设计一^分辨率为0.012Hz的DDS(DirectDigitalSynthesis)发生器,可以根据检测到的码元输出两种相位均为0且频率为20KHz和40KHz的正弦波,即2FSK调制。采用AlteraEP4CE15F17C8型号FPGA,时钟频率为50MHz。使用MATLAB将一个周期正弦波分成256个点,计算频率50M/256,分辨率约等于195.31kHz,则DDS只能输出频率为195.31KHz^倍的正弦波,显然达不到我们设计20KHz和40KHz正弦波的要求,因此需要采用相位控制字pword、频率控制字fword及地址计数器N分别来改变相位、频率与分辨率。如式(1)所示,其中Fout为输出频率,Fclk为50M,N=32为地址计数器,分辨率为50M/232约等于0.012Hz,DDS能够输出频率为0.012Hz整数倍的正弦波,满足设计要求。在QuartusH中例化一个256x8位的ROMIP核,将通过MATLAB得到的256个点的值初始化到ROM中。让地址计数器每次增加一定的值后把高8位当作有效地址送给ROM将相位控制字设置为0,因此根据式(1),20KHz和40KHz对应的fword大约分别为3333333和1666666。为了得到相位连续且初始相位为0的2FSK调制波,利用PC通过串口发送1个8bit数据,在FPGA接收到数据以后,经过脉冲扩展使得每位码元能保持1ms,即频率为1KHz,由于每个码元持续的时间分别为载波一个周期时间的40倍和20倍,由于pword为0,所以初始相位为0。检测到高电平则输出40KHz的正弦载波,检测到低电平则输出20KHz的正弦载波。以FPGA接收到一个字节01011011为例,脉冲扩展后通过开关电路对20KHz和40KHz两个不同的正弦载波源进行选通,即为2FSK调制。非连续FSK调制,采用键控法产生相位连续的调制信号(CPFSK)频谱宽度小且主瓣宽度明显小于FSK,旁瓣衰落更快,因此能够有效避免杂波产生,提高信号传输的稳定性和识别率。本节为了实现2FSK解调,利用MATLAB对FIR滤波器进行仿真,求出低通及带通滤波器系数,导入到FPGAFIRIP核,利用Veriloghdl语言实现了基于FPGA的2FSK调制及非相干解调,并通过Modelsim仿真给出了非相干解调各节点信号的波形。数字滤波器分为无限脉冲响应(IIR)滤波器和有限脉冲响应(FIR)滤波器。在FPGA设计中,由于可以采用IP核进行设计,使得FIR滤波器设计更为简便。FIR滤波器的设计方法有频率取样法、窗函数法(包括矩形窗、汉宁窗、海明窗、凯塞窗等)及等纹波优化设计方法等。文章采用窗函数法设计实现了FIR低通及带通滤波器。通过MATLAB仿真,得到矩形窗、汉宁窗、海明窗、凯塞窗等窗函数设计的滤波器,频率响应曲线如图1所示,由图1可以看出相同滤波器阶数情况下的凯塞窗具有更好的性能;利用凯塞窗等三种方法设计的滤波器,频率响应曲线由图2所示,由图2可以看出对比窗函数法与最优设计方法,相同滤波器阶数下凯塞窗滤波器的阻带纹波逐减小,因此采用凯塞窗滤波器;滤波器系数未量化、12位和14位量化的滤波器频率响曲线如图3所示,由图3可以看出,量化位数对滤波器的阻带纹波有较大的影响,且量化位数越高影响越小,故采用14位量化。考虑到FPGA的逻辑资源以及实验的易实现性及精度等问题,滤波器参数选取如表1所示。首先采用kaiserord(fc,mag,dev,fs)函数获取满足要求的最小滤波器阶数,然后利用凯塞窗函数设计滤波器,将生成的滤器抽头系数分别写入txt文档中。文章设计实现了一个2KHz低通滤波器和两个20KHz、40KHz带通滤波器。文章采用AlteraEP4CE15F17C8型号FPGA作为硬件核心,利用QuartusH软件中的FIRIP核来实现FIR低通及带通滤波器。该IP核提供了4种不同的实现结构:全串行、全并行、多比特及多时钟周期结构,不同结构速度和所占的芯片资源不同,文章利用全并行分布式算法结构,所占资源较大但是速度最快。将上述3.1节MATLAB仿真得到的滤波器抽头系数分别导入IP核,生成低通及带通滤波器,FIRIP核相关参数如表2所示。文章设计了可以分时输出不同频率正弦波的DDS发生器,利用键控法使得DDS发生器根据检测到的码元产生两种不同频率的正弦波,利用MATLAB仿真FIR滤波器分别求得了低通及带通滤波器的抽头系数,并导入FIRIP核,将MATLAB与FPGA结合使得FPGA实现了全并行分布式结构的FIR低通及带通滤波器。最后采用Veriloghdl语言实现了基于FPGA的2FSK非相干解调,将解调出的8bit数据通过串口发送到PC,通过Modelsim仿真给出了非相干解调各节点信号的波形,仿真及实验结果表明基于FPGA和MATLAB设计的2FSK调制解调器是正确的,具有较高的实用性和可靠性。【相关文献】罗杰.VerilogHDL与FPGA数字系统设计[M].北京:机械工业出版社,2015:1-2.应亚萍,许建凤.2FSK调制解调系统的FPGA设计与实现[J].浙江工业大学学报,2010,38(3):282-285.周志法,

温馨提示

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

评论

0/150

提交评论