"基于FPGA的FSK调制解调系统设计"
FSK(Frequency Shift Keying)是一种常用的数字调制方式,具有抗噪声性能好、传输距离远、误码率低等优点,在中低速数据传输中得到了广泛的应用。传统的FSK调制解调系统都是采用复杂的硬件电路来实现,系统体积较大,可靠性不高且调试不便。随着EDA技术的高速发展,大规模可编程逻辑器件应运而生,给设计人员带来了诸多方便。现场可编程门阵列(Field-Programmable Gate Array,FPGA)具有可编程性、开发周期短、集成化程度高等特点,它可以将部分器件完成的功能在该芯片内部实现,这样原有的系统体积大大减小的同时还提高了系统的稳定性。
基于FPGA的FSK调制解调系统设计旨在解决传统FSK调制解调系统的不足之处。该系统采用键控法设计调制器模块,利用过零检测法实现解调器模块。系统的设计思路是:设计FSK调制器模块,利用键控法实现FSK信号的调制;设计FSK解调器模块,利用过零检测法实现FSK信号的解调。利用VHDL语言在Altera公司的Cyclone系列的EP1C12Q240C6芯片上软件编程,完成了整个系统相应的时序仿真。
FSK调制器设计与仿真
FSK调制器模块的设计思路是:根据键控法调制的原理,FSK调制信号的实现框图如图1所示。在FPGA上实现对外部时钟信号进行分频,得到f1和f2频率的载波,利用要传输的基带信号控制二选一数据选择器选择不同载波信号输出作为FSK调制信号。此时FSK信号是载波为方波的数字信号。在实际过程中利用D/A转换模块完成模拟调制信号的转变。分频器采用参数可变的设置方式实现不同的分频数,二选一数据选择器直接调用Altera公司提供的宏功能模块(Library of Parameterized Module,LPM)即可实现。基带信号使用伪随机序列发生器来模拟测试。m序列是一种在数字通信中应用十分广泛的伪随机序列,由于具有随机性、规律性及良好的自相关性和互相关性,易实现等特点,所以采用m序列作为基带信号。
FSK解调器设计与仿真
FSK解调器模块的设计思路是:根据过零检测法的原理,FSK解调信号的实现框图如图3所示。过零检测法的基本思想是:单位时间内信号经过零点的次数,可以用来衡量频率的高低,故检出数字调频信号的过零点数即可得到相应的载波频率值,根据已知的载波频率确定基带信号。
系统实现
系统的实现主要包括两部分:FSK调制器模块和FSK解调器模块。FSK调制器模块的实现采用键控法设计调制器模块,利用过零检测法实现解调器模块。系统的设计思路是:设计FSK调制器模块,利用键控法实现FSK信号的调制;设计FSK解调器模块,利用过零检测法实现FSK信号的解调。利用VHDL语言在Altera公司的Cyclone系列的EP1C12Q240C6芯片上软件编程,完成了整个系统相应的时序仿真。
系统测试
系统的测试结果表明:FSK解调信号波形和调制信号波形一致,二者之间存在一定的延时,满足系统的设计要求,整个系统具有较高的可靠性和移植性。
结论
基于FPGA的FSK调制解调系统设计具有良好的可移植性及产品升级的系统性。该系统可以应用于中低速数据传输领域,具有广泛的应用前景。