论文部分内容阅读
随着电子技术的发展,数字滤波器以其良好的特性被广泛地应用在各个领域。它属于数字信号处理的基本模块之一。在工程实践中,对信号处理的灵活性和实时性要求很高,而现有的一些软件和硬件设计方式难以同时达到这两方面的要求。随着可编程逻辑器件和EDA技术的发展,利用FPGA来实现数字滤波器,可以同时兼顾系统的灵活性和实时性,越来越多的电子工程师采用FPGA器件来实现滤波器。然而当滤波器的滤波参数改变时,还是需要硬件工程师进行重新编写代码,这造成了很大的设计资源浪费。
针对这一问题,本文研究了基于FPGA平台的各种数字滤波器的设计算法,通过对这些算法的研究得出一个以各种算法实现的滤波器代码库,并基于这个代码库开发出能够自动生成滤波器硬件代码的软件系统,从而杜绝了因设计参数改变而导致的设计浪费,大大缩短了滤波器设计周期。本论文所做的工作如下:
1、研究了分布式算法在数字滤波器(包括FIR和IIR)设计中的应用。实现了基于分布式串行算法、分布式并行算法、芯片自带乘法器等方法的数字滤波器。并对这些方法实现数字滤波器的性能、特点以及资源耗费等方面进行了分析和比较。
2、采用了Verilog硬件描述语言和自顶向下的数字系统设计方法,利用FPGA器件以各种算法(MAC,分布式串行/并行算法)进行数字滤波器系统的设计,对每个模块进行了详细的逻辑仿真。搭建了一个测试平台,对滤波结果进行了测试。测试结果验证了设计的正确性。
3、数字滤波器RTL代码构件库的建立。通过建立这个构件库,把数字滤波器的各种实现方法做了分类,并在每个分类中对代码进行了切分,把代码划分成若干部分,从而让滤波器的设计结构一目了然,这为后来的滤波器RTL代码的自动生成系统奠定了基础。
4、滤波器RTL代码的自动生成系统设计。数字滤波器在数字信号处理领域经常用到,但因为滤波参数以及性能的要求不同,设计好的滤波器不能够重复使用,如果需求变化还要重新设计。本系统通过MATLAB的GUI设计,把滤波器设计与FPGA硬件实现进行了集成。使用者可以通过系统的软件界面设定滤波参数以及所选用的FPGA芯片,调用MATLAB中滤波器设计函数以及FPGA芯片资源文件库,得出相应的滤波系数以及芯片资源消耗等参数,根据这些不同的系数调用滤波器RTL代码构件库,生成实际设计所需要的滤波器。