当前位置:首页 > 工业控制 > 电子设计自动化

摘要:频移键控(FSK)是用不同频率的载波来传递数字信号,并用数字基带信号控制载波信号的频率。提出一种基于流水线CORDIC算法的2FSK调制器的FPGA实现方案,可有效地节省FPGA的硬件资源,提高运算速度。最后,给出该方案的硬件测试结果,验证了设计的正确性。

0 引言

频移键控(FSK)是用不同频率的载波来传送数字信号,并用数字基带信号控制载波信号的频率。具有抗噪声性能好、传输距离远、误码率低等优点。在中低速数据传输中,特别是在衰落信道中传输数据时,有着广泛的应用。传统上以硬件实现载波的方法都是采用直接频率合成器(DDS)实现。但是DDS传统的实现方式是基于查找表思想,即通过查找预先存储的正余弦表来产生需要的正余弦值。当频率、精度要求越高,需要存储的值也就越多,考虑FPGA的RAM资源有限,传统的DDS实现方式就有了应用瓶颈。因此导致开发成本过高,甚至无法实现,不适合现代通信系统的发展。

本文提出了应用CORDIC(Coordinate Rotation Digital Computer)算法实时计算正弦值的方案,并基于CORDIC算法在FPGA芯片上设计了2FSK调制器。这不仅能够节省大量的FPGA逻辑资源,而且能很好地兼顾速度、精度、简单、高效等方面。

1 CORDIC算法原理及结构

1.1 CORDIC算法原理

CORDIC算法是由J.Volder于1959年提出的。该算法适用于解决一些三角学的问题,如平面坐标的旋转和直角坐标到极坐标的转换等。C-ORDIC算法的基本思想是通过一系列固定的、与运算基数有关的角度的不断偏摆以逼近所需的旋转角度。从广义上讲,CORDIC方法就是一种数值计算的逼近方法。该算法实现三角函数的基本原理如图1所示。

设初始向量(x0,y0)逆时针旋转角度θ后得到向量(xn,yn),如图1所示。则:

为了避免复杂的乘法运算,用一系列微旋转来处理,第i次旋转可表示为:

式中:θi表示第i次旋转的角度,并且满足tanθi=2-i;zi表示第i次旋转后与目标角度的差;δi表示向量的旋转方向,由zi的符号位来决定,即δi=sign zi。为每一级的校正因子,也就是每一级旋转时向量模长发生的变化,对于字长一定的运算,总的校正因子是一个常数。若总的旋转次数为n,则总校正因子用k表示为:

由式(7)可知:xn,yn分别为输入角θ的余弦和正弦值,故基于CORDIC算法可产生正弦载波信号,而且由式(5)可以看出所有运算简化成加减法和移位操作,因此很容易用硬件实现。

1.2 CORDIC流水线结构

CORDIC算法的实现方式有2种:简单状态机法和高速全流水线处理器法。如果计算时间的要求不严格,可以采用状态机结构。这一结构中最复杂的就是两个桶状移位器,而桶状移位器的面积大约和它所包含的传输门的数目成正比。尽管可以通过改进CORDIC算法来减小CORDIC处理器的总面积,但桶状移位器所占的面积并不能减小。另外,这种结构由于只在时间上复用资源,因此,数据吞吐率不高。

由于CORDIC算法的内部数据流规则,决定了在CORDIC处理器解决方案中非常适合采用流水线型微旋转结构。采用流水线可将一个算术操作分解成一些小规模的加减法和移位操作,并在多个比较高速的时钟内完成。另一方面,输出信号的精度只与CORDIC算法的旋转次数或流水单元数有关,即与级数有关。如需提高精度,只需简单地增加流水单元即可,其扩展性很好,而且这并不会大量增加FPGA的资源耗费。CORD-IC流水线结构的每一级迭代旋转的硬件实现基本单元如图2所示。

2 基于CORDIC算法正弦载波发生器的总体结构

正弦载波发生器系统结构如图3所示。

在该系统结构图中,CORDIC计算单元是核心。CORDIC计算单元的输入由相位加法器提供。相位加法器不间断地产生角度值,由CORDIC计算单元计算出相应的三角函数值,即可在其输出端产生连续的数字正弦载波。

通过频率控制字,改变相位累加器的步长,这样即可改变正弦载波的频率。具体的数学推导如下:

设相位累加器的字长为N,频率控制字即步长为step,则2N就相当于2π rad,N位中的最低有效位相当于2π/2N rad,即最小的相位增量,step对应的相位为step×(2π/2N)rad,完成一个周期的正弦载波输出需要2N/step个参考时钟周期。所以输出正弦载波的周期为:

可见改变相位累加器的步长step,可以改变正弦载波的频率;改变相位累加器的字长N,可控制正弦载波的频率分辨率。在相位累加器后加入相位加法器,通过改变相位控制字P,可以控制输出信号的相位;通过设置幅度控制字A,可控制最终输出的正弦载波的幅度大小。因此,通过对相位控制字、频率控制字或幅度控制字进行多路选择,可以形成不同进制的调制方式。可以看出,使用该结构可以很容易实现频率调制、相位调制和幅值调制。

3 2FSK调制器的FPGA设计

图4为2FSK调制器顶层工程原理图。该原理图主要由三个模块组成:2选1数据选择器MUX21、相位累加器adder、正弦载波生成模块eor-dic。其中,clk为系统时钟信号,rst为系统清零信号,step1,step2为2个不同的频率控制字,s为系统频率控制字选通端。2选1数据选择器的选通端s受基带信号控制,当基带信号为‘0’时,选通控制字step1;当基带信号为‘1’时,选通控制字step2。通过对step1,step2的选择,可以实现频率的切换。

在QuartusⅡ环境中,三个子模块均用VHDL语言进行设计,系统顶层工程采用原理图进行设计,对系统顶层工程进行器件选择、引脚锁定、编译、综合后下载到Cyclone系列EP1C12Q240C8器件中,通过在频率控制字的引脚选择不同参数即可在FPGA器件中完成2FSK调制器的设计。

4 系统硬件实时测试

调制器的输出信号为数字信号,经D/A转换后可以通过示波器进行测试,也可以直接采用QuartusⅡ软件中的嵌入式逻辑分析仪Signal-TapⅡ进行测试。

采用SignalTapⅡ进行芯片测试,用户无需外接专用仪器,就可以对FPGA器件内部所有信号和节点进行捕获分析,而又不影响原硬件系统的正常工作。经测试得到的实时波形如图5所示。测试结果表明,基于FPGA和CORDIC算法的2FSK调制器设计方案是正确可行的,且波形流畅,在转换处能快速进行切换。

5 结语

用FPGA和CORDIC算法实现信号调制,既克服了传统方法耗费资源、运行速度低等缺点,还具有静态可重复编程和动态在系统重构的特性,极大地提高了电子系统设计的灵活性和通用性,大大缩短了系统的开发周期。

作者:雷能芳 渭南师范学院 来源:现代电子技术

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Bourns® TLVR1005T 和 TLVR1105T 系列采用双绕组结构和低感值设计,可提供快速瞬态响应,并可依据 CPU、FPGA 和 ASIC 负载要求进行延展

关键字: 数据驱动 电感器 FPGA

对于大规模数据处理,最佳性能不仅取决于原始计算能力,还取决于高存储器带宽。 因此,全新 AMD Alveo™ V80 计算加速卡专为具有大型数据集的内存受限型应用而设计,这些应用需要 FPGA 硬件灵活应变能力以实现工作...

关键字: 自适应计算 FPGA

8b10b编码作为数字通信领域中的一项重要线路编码方案,其核心理念在于将每8位数据映射到10位编码中。这个映射过程严格按照特定规则进行,旨在保证编码中的电平转换足够,以维持信号的直流平衡,并提供足够的时钟信息,使接收端能...

关键字: FPGA 8b/10b编码 IC设计

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

2024 年5月13日 – 专注于推动行业创新的知名新品引入 (NPI) 代理商™贸泽电子 (Mouser Electronics) 是英特尔®产品的全球授权代理商。英特尔®宣布正式成立Altera™,作为其独立运营的全...

关键字: FPGA 人工智能 以太网

Bluespec支持加速器功能的RISC-V处理器将Achronix的FPGA转化为可编程SoC

关键字: RISC-V处理器 FPGA SoC

为无处不在的端侧设备插上AI的翅膀,AMD发布第二代Versal™ 自适应 SoC

关键字: AMD FPGA 自适应SoC AI 边缘计算

Pmod接口可以说是数字电路板的连接革命。随着科技的飞速发展,数字电路板间的通信与连接技术也在不断创新和进步。Pmod接口,作为一种新兴的数字接口标准,正逐渐成为数字电路板间通信的桥梁,为电子设备的连接和通信带来了革命性...

关键字: pmod接口 FPGA 数字电路板

近日举办的GTC大会把人工智能/机器学习(AI/ML)领域中的算力比拼又带到了一个新的高度,这不只是说明了通用图形处理器(GPGPU)时代的来临,而是包括GPU、FPGA和NPU等一众数据处理加速器时代的来临,就像GPU...

关键字: FPGA AI 图形处理器
关闭
关闭