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

  DSP Builder是Altera公司提供的一个系统级(或算法级)设计工具。它架构在多个软件工具之上,并把系统级(算法仿真建模)和RTL级(硬件实现)两个设计领域的设计工具连接起来,最大程度地发挥了两种工具的优势。DSP Builder可以帮助设计者完成基于FP-GA的DSP设计。除了图形化的系统建模外,DSPBuilder还可以自动完成大部分的设计过程和仿真,直到把设计文件下载至DSP开发板上。该设计采用DSPBuilder开发工具,首先实现输出频率变化可控的直接数字合成(DDS)模块;然后根据Chirp函数的变化规律,控制DDS的输出频率变化规律。

  1 Chirp函数的一般特性

  电磁波在传输过程中,经过色散介质,如不均匀的波导,在高空电离层时会发生色散现象。Chirp函数在射电天文信号的消色散处理中发挥着重要的作用,研究在FPGA中实现Chirp函数是基于FPGA的射电宇宙信号处理的重要组成部分,如图1所示。

  根据输出频率与当前采样时刻对应递变规律,Chirp函数一般分线性(Linear)Chirp函数和非线性(Nonlinear)chirp函数两种。图2,图3是两种Chirp函数在频域上的表现图。

  从图2,图3可以看出,Chirp函数的频率输出与时间关系f-t关系可以总结为:对于线性Chirp函数,在连续域时间域内有关系式:

  式中:k为常数;f0为初始输出频率;t为连续时间。

  在离散时间域有关系式:

  式中:k为常数;f0为初始输出频率;n为采样点。

  对于非线性Chirp函数,在连续域时间域内有关系式:

  式中:f(t)为非线性函数;f0为初始输出频率;t为连续时间。

  在离散时间域有关系式:

  式中:f(n)为非线性函数;f0为初始输出频率;n为采样点。

  2 DDS模块的设计

  数字式频率合成器(DDS)模块的工作原理是:将0~2π的正弦函数值分为N份,将各点的幅度值存入ROM中,再用一个相位累加器每次累加相位值ωT,得到当前的相位值,通过查找ROM得到当前的幅度值,其系统框图如图4所示。

  DDS的主要参数包括:系统时钟频率、频率控制字长、频率分辨率、ROM单元数、ROM字长。该设计的DDS是10位的,时钟频率为转化为VHDL文件后的输入时钟频率。这是一个很灵活的输入频率。在此,假设输入频率为fin,频率控制字长为16位,ROM单元数为210,ROM字长为9位,而且频率分辨率为:

  式中:fc为系统时钟频率。

  频率控制字为:

  式中:f为要合成的频率;T为系统时钟。可见,当输入频率控制字发生变化时,输出频率fout也发生相应的变化,从DDS到Chirp信号源的设计就是基于这一思想,如图5所示。

  其中,输入端口1为初始相位控制字输入端,它的输入值决定了信号源的初始输出相位。输入口2为频率控制字FTW输入端,若在该输入端写入不同的频率控制字值,则可以在输出端口得到不同的输出频率。输入端口3为初始频率控制字输入端,它的输入值决定了信号源的初始偏置频率。

  LUT为正弦数据查找表模块(Look Up Table)。根据DSP Builder的算法将一个完整的正弦波周期进行1 024次采样,并存储于LUT中。在Matlab中设置Matlab array:511*sin([0:2*pi/(2^10):2*pi]),左边的输入端为查找数据的地址输入端,右边的输出端为离散正弦波信号输出端。

  第一个并行累加器模块(Parallel Adder Subtrac-tor)作为相位累加器,采用Altera提供的总线结构(AltBus)模块决定了该累加器的长度为16位,即该累加器最大可输出范围为216,由此决定了公式(5)。

  第二个并行累加器模块(Parallel Adder Subtractor1)作为初相位偏置累加器,将初相位控制字与频率控制字累加,为输出频率提供一个初始偏置相位。

  第三个并行累加器模块(Parallel Addersubtractor 2)作为初始频率偏置累加器,给输入的频率控制字提供一个偏置,是输出频率从一个用户自己可定义的初始频率开始变换运行。

  利用总线位宽转换模块(Bus Conversion)只取出总线信号的高10位,用作驱动数据查找表模块的地址驱动信号。为了方便下一步设计,将图5封装成子系统模块(Subsystem Block),并命名为:DDS_Subsystem,如图6所示。

  图6中in1为初始相位输入端,in2为输入频率控制字端,in3为初始频率输入端。

  3 变频控制模块的设计

  根据Chirp函数在频域上的性质,可以得出输入控制字与输出频率之间的对应关系有线性和非线性两种:

  首先采用DSP Builder库中的单步增/减子模块(Increment/Decrement Block)建立采样点控制字产生单元。该模块能按照阶梯式规律步进逐一产生控制字信号,并保持一段时间在模块设置项(Clock Phase Se-lection)中设置,当增减方向(Direction)设置为Incre-ment时得时域输出,其表现如图7所示。

  其次根据需要建立控制字变换模块,即对Incre-ment/Decrement模块输出的采样点控制字进行换算,转化为DDS的频率控制字。这需要根据不同Chirp函数的变化规律,例如:如果是线性频率的输出,则采样点应该与输出频率有线性的函数对应关系;如果是非线性频率的输出,则采样点应该与输出频率有非线性的函数对应关系。根据不同的传输函数建立该子模块:

  例如:fout=kn+f0。当k=3时,建立子模块如图8所示。

  将上述模块向上生成子模块后,连接的整体仿真如图9所示。

  并在DDS的输出端建立FFT观测窗口。

  4 验证与仿真

  假设现在的初始相位为0,初始频率也为0,采样点步进控制字设置为输出12为步进循环增加模式。在时域输出观测窗口(Scope)中观察到图形如图10所示。

  从图11中可见,输出信号的频率发生了周期性并且有规律的变化,证明了该设计能很好地实现Chirp信号源的功能。并且通过Altera DSP Builder提供的SignalComplier工具,能很轻松地生成HDL(VHDL或者Verilog HDL)代码下载到FPGA中运行,大大简化了FPGA设计。

  5 结 语

  根据Chirp函数特定的输入/输出(线性和非线性)关系,计算得出当前输入字与输出频率的对应关系,然后设计控制字子模块产生DDS模块的频率控制字,驱动DDS产生不同的输出频率,通过在Matlab的Simu-link环境下的仿真验证,得出不同时刻输出的频谱图,验证了该设计能很好地实现Chirp信号源。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭