多通道频率检测仪如何设计?(下篇)
扫描二维码
随时随地手机看文章
在下述的内容中,小编将会对基于FPGA的多通道频率检测仪实现方案部分予以详细,如果频率检测仪的设计是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。
注意哦,本文是仅是实现方案部分,设计部分请参阅《多通道频率检测仪如何设计?(上篇)》。
本设计选用的FPGA芯片是Xilinx公司的Virtex-4SX55,根据上篇文章中所示的结构,得到一种基于DFT多相滤波器组的信道化解决方案,其具体实现结构如图4所示。
1、延时器的实现
延时器(Delay)是产生混响或回声的效果器,在延时器内,从直播室机房的调音台出来的音频模拟信号进入延时器后,模拟信号首先进行A/D转换,将模拟信号转换为数字信号,经过编解码后进入DsP模块,在模块内部自动调整延时量,主板的单片机模块对该信号进行删除延时、退出延时、重建延时等功能的实现,之后信号再经过D/A转换器转换,由数字信号转为原模拟信号。
本延时器采用FPGA提供的专用存取模块FIFO来实现32周期延时,其架构体系如图5所示。在本设计中,级延迟器的输出数据将作为下一个延迟器的输入数据,就相当于级FIFO的数据按先进先出的顺序依次向第二级FIFO压入,相邻两级的将满标志与读使能信号进行握手协议,从而实现数据的延迟输出。
2、系数存储模块
低通滤波器是容许低于截止频率的信号通过, 但高于截止频率的信号不能通过的电子滤波装置。对于256阶原型低通滤波器,可分成八组,每组32个,分别存储到八个存储器当中。存储器可使用逻辑(LUT)实现,也可使用专用存储模块Block RAM来实现。FIFO中的目标数据和存储器中系数做乘法运算时,两者的对应关系如图6所示(以7号存储器为例)。
当8个数据存储器的一个单元数据被读出时,8个系数存储器的0号地址单元的系数也将同时被读出,然后分别作乘累加,作为y(0)输出。同理,当8个数据存储器的第二个数据被读出时,8个系数存储器的1号地址单元的系数也同时被读出,然后分别作乘累加,的结果作为y(1)输出,以此类推,得出全部y(2)~y(31)的输出。将y(0)~y(31)作为FFT的输入数据进行32点FFT运算。
3、FFT的实现
FFT是一种DFT的高效算法,称为快速傅里叶变换。傅里叶变换是时域一频域变换分析中最基本的方法之一。在数字处理领域应用的离散傅里叶变换是许多数字信号处理方法的基础。
设计中的FFT变换可通过调用Xilinx的IP核来实现。FFT核的输入输出的引脚关系如图7所示。
最后,小编诚心感谢大家的阅读。你们的每一次阅读,对小编来说都是莫大的鼓励和鼓舞。最后的最后,祝大家有个精彩的一天。