FPGA 学习小组
直播中

杨芳

7年用户 287经验值
私信 关注

利用FPGA怎么实现数字信号处理?

DSP技术广泛应用于各个领域,但传统的数字信号处理器由于以顺序方式工作使得数据处理速度较低,且在功能重构及应用目标的修改方面缺乏灵活性。而使用具有并行处理特性的FPGA实现数字信号处理系统,具有很强的实时性和灵活性,因此利用FPGA实现数字信号处理成为数字信号处理领域的一种新的趋势。


回帖(3)

李超

2019-10-17 17:12:35
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

h1654155275.5969

2019-10-17 17:12:47
2 设计实例
FIR和IIR滤波器是当前数字信号处理巾最常用的2种滤波器,其中FIR因其具有精确的线性相位特性而得到广泛应用。下面以截止频率为5 kHz,采样频率为32 kHz,输入序列位宽为9位(最高位为符号位)的12阶FIR低通数字滤波器为例,阐述基于DSP Builder的数字信号处理器设计方案。
2.1 FIR数字滤波器结构模型
对于N阶FIR数字滤波系统,其冲击响应总是有限长的,系统函数为:

滤波器的差分方程为:

式中,x(n)是输入采样序列,h(n)是滤波器系数,N是滤波器的阶数,y(n)表示滤波器的输出序列。
设计滤波器的任务就是寻找一个因果、物理上可实现的系统函数H(z),使其频率响应满足所希望的频域指标。图1为阶FIR数字滤波器的结构图。可见,FIR的数字滤波过程就是一个信号逐级延迟的过程,将各级的延迟输出加权累计,即得到FIR的输出。

2.2 滤波器系数的确定
滤波器系数使用Matlab的FDNTool设计工具获得。FDATool即为Filter Design&Analysys Tool,可以完成多种滤波器的设计、分析和性能评估。
启动FDATool后就是滤波器的设计界面,设置相应参数,便可生成所需的系数。由于得到的系数均为介于[-1,1]区间的浮点数,而在DSP Builder下建立的FIR滤波器模型需要一个整数(有符号整数类型)作为滤波器系数,故需将其量化为整数。量化后滤波器系数为:

2.3 滤波器模型的建立
在DSP Builder平台上设计FIR滤波器,首先在Matlab的Simulink中建立一个.MDL模型文件,即根据所要设计FIR滤波器的结构调用Al-tera DSP Builder和其他Simulink库中的图形模块,构成设计框图文件。


如果把所有的模块放在一个Simulink图中,设计图会显得非常复杂、庞大,不利于阅读或排错,这时可以利用层次设计方法设计。对于12阶FIR数字滤波器,可以先设计一个3阶FIR滤波器子模块fir3(图2),然后调用3个fir3子模块构造成12阶nR数字滤波器。使用。DSPBuilder工具箱建立的12阶FIR数字滤波器模型,如图3所示。

2.4 基于Simnlink的系统VHDL代码生成
完成模型设计后,先在Simulink中对模型进行系统仿真,即通过Simulink中的2通道示波器Scope模块查看仿真结果。DSP Builder可提供QuartusⅡ软件和MATLAB/Simulink工具之间的接口,即Signal Compiler模块。
若通过系统仿真,该系统已达到设计要求,双击SignalCompiler模块,设置好相关参数后,即可将模型文件.mdl转化为硬件描述语言文件.vhd,并可对其进行综合。之后在OuartusⅡ环境中,打开DSP Builder,建立的QuartusⅡ工程文件,就可以对生成的VHDL代码进行器件配置、引脚设定、编译、时序仿真、硬件下载等工作。
2.5 基于QuartusⅡ的时序仿真
在Simulink中进行的系统仿真是针对算法实现的,与目标器件和硬件系统没有关系,其仿真结果并不能精确反映威廉希尔官方网站 的全部硬件特性,因此,需要对设计进行时序仿真。
在QuartusⅡ环境中,打开DSP Builder建立的QuartusⅡ工程文件,对上述的VHDL代码进行时序仿真。图4为在OuartusⅡ7.O环境下FIR数字滤波器时序仿真图。图4中clock为系统时钟,sclrp为清零信号,xin为输入数据,yout为滤波器的输出结果。

由式(2)知:若xin{1,-5},h(n)={-22,-33,-13,41,108,154,154,108,41,-13,-33,-22},则滤波器的输出yout的理论结果为:yout=xinh(n)={-14,-56,-14,53,128,180,178,124,42,-31,-64,-56,-14,28}。可见,所设计的FIR数字滤波器在QuarmsII 7.0中进行时序仿真得到的输出结果和理论上计算得到的结果是完全一致的。
举报

李欣媛

2019-10-17 17:12:49
3 实际硬件测试
只进行工程软件仿真远远不够,还必须进行硬件实时测试。在硬件实际运行时,可以从外部信号源接入器件内部或者在其内部存储正弦波数据。这里采用后者,即在顶层文件中引入LPM_ROM宏模块,在其中存入频率分别为0.5和8 kHz2个正弦波迭加信号数据的.hex文件.FIR滤波器模块直接从ROM中读取数据,测试威廉希尔官方网站 如图5所示。
在QuartusⅡ环境中,对测试威廉希尔官方网站 进行编译,下载到cyclone系列EP1C12Q240C8器件后,就可以对硬件进行测试。采用Ahem公司的Signal-TapⅡ嵌入式逻辑分析仪进行芯片测试,用户无需外接专用仪器,就可以通过FPGA器件内部所有信号和节点的捕获对系统故障进行分析和判断,而又不影响原硬件系统的正常工作。
经嵌入式逻辑分析仪得到的实时波形如图6所示。实际测试发现,经过设计的低通滤波器后,高频信号被滤除,只有低频信号输出,滤波效果满足系统要求。需要注意的是,SignalTapⅡ嵌入式逻辑分析需工作在JTAG方式,在调试完成后,需将SignalTapⅡ移除设计,以免浪费资源。

4 结束语
由以上设计过程可知,基于Matlab/Simulink/DSP Builder/OuartusⅡ的设计流程,可以帮助设计者完成基于FPGA的数字信号处理系统设计。使用相对独立功能的威廉希尔官方网站 模块和子系统进行模块化的设计,避免了繁琐的VHDL语言编程;设计者只要对DSP Builder模块库中相应模块的基本参数进行简单设置,而不需要对各模块具体的实现过程进行详细了解,甚至不需要了解FPGA本身和硬件描述语言,极大缩短了开发周期。而且随着技术的发展,FPGA的性能越来越高,价格则逐步降低,芯片的处理速度更快,片内资源更大,这将给FPGA在信号处理领域的应用提供更为广阔的空间。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分