文档库 最新最全的文档下载
当前位置:文档库 › 基于FPGA的FIR数字滤波器设计与仿真

基于FPGA的FIR数字滤波器设计与仿真

基于FPGA的FIR数字滤波器设计与仿真
基于FPGA的FIR数字滤波器设计与仿真

基于FPGA的FIR数字滤波器设计与仿真

技术分类:可编程器件模拟设计 | 2009-01-23

王静鱼云岐

1 引言

实现数字化是控制系统的重要发展方向,而数字信号处理已在通信、语音、图像、自动控制、雷达、军事、航空航天等领域广泛应用。数字信号处理方法通常涉及变换、滤波、频谱分析、编码解码等处理。数字滤波是重要环节,它能满足滤波器对幅度和相位特性的严格要求,克服模拟滤波器所无法解决的电压和温度漂移以及噪声等问题。而有限冲激响应FIR 滤波器在设计任意幅频特性的同时能够保证严格的线性相位特性。利用FPGA可以重复配置高精度的FIR滤波器,使用VHDL硬件描述语言改变滤波器的系数和阶数,并能实现大量的卷积运算算法。结合MATLAB工具软件的辅助设计,使得FIR滤波器具有快速、灵活、适用性强,硬件资源耗费少等特点。

2 基本原理

分布式算法(Distributed ArithmeTIc,简称DA)是一项重要的FPGA技术,广泛应用在计算乘积和之中。该算法基本原理如下:

一线性时不变网络输出:

点击看原图

设系数c[n]是已知常数,x[n]是变量,在有符号DA系统中假设变量x[n]的表达式为:

点击看原图

式中xb[n]为x[n]的第b位,而x[n]也就是x的第n次采样。于是,内积y可以表示为:

点击看原图

分布式算法是一种以实现乘加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序。该算法利用一个查找表(LUT)实现映射,即用一个2N

字宽、预先编好程序的LUT接收一个N位输入向量xb=[xb[0]],xb[1],…,xb[N-1]]的映射,经查找表的查找后直接输出部分积。与传统算法相比,分布式算法可极大的减少硬件电路的规模,提高电路的执行速度。

3 FIR滤波器的设计与实现

3.1 FIR滤波器系数的提取

线性相位FIR滤波器通常采用窗函数法设计。这里采用MATLAB窗函数进行设计。窗函数设计的基本思想是要选取某一合适的理想频率选择性滤波器,然后将其脉冲响应截断获得一个线性相位和因果的FIR滤波器。根据给定的滤波器技术指标,选用凯泽(Kaiser)窗设计,其幅频特性和相频特性如图1所示。

点击看原图

由于从MATLAB算出的系数h(n)的值是一组浮点数,而FPGA器件只是定点数计算,所以要将浮点数转换为定点数。为了获得最佳滤波器系数,转换时需对其进行处理,转换后系

点击看原图

3.2 FPGA实现FIR滤波器

FPGA采用FLEXlOK系列中的EPF10K10 2C84—3器件。EDA 工具使用QuartusⅡ5.1。使用FIR滤波器描述编程,从而实现FIR滤波器的顶层原理图,如图2所示。

点击看原图

4 FIR滤波器实验电路

完成FIR滤波器程序设计后,可将程序编译时生成的配置文件下载到选用的器件中,配置后的器件就能够执行FIR滤波器的功能。为了验证设计的FIR滤波器的实际滤波效果,设计了一个实验电路,并利用测试仪器,组成了测试系统,如图3所示。该测试系统包含交流信号发生器、实验电路和示波器。而实验电路包括MD转换电路、FIR数字滤波电路和D/A 转换电路,它是整个测试系统的重要部分。

点击看原图

4.1 A/D转换电路

A/D转换电路可将模拟信号转换为数字信号,其电路如图4所示。该转换电路中选用MAXIM公司的12位逐次逼近式A/D转换器MAXl83,其转换时间为3μs。MAXl83设置为双极性工作模式,模拟信号的输入范围是±5 V。

点击看原图

交流信号发生器发送的信号从连接器进入转换电路,经运算放大器OP07构成的反向比例放大电路送至MAXl83的模拟信号输入端AINl。在一定时序的控制下,完成将模拟信号转换为数字信号,并将其数字信号XIN[11..0]输出。该A/D转换器MAXl83的模拟信号输入端接入一个单级的RC低通滤波器,它实际上是一个简单的抗混叠滤波器。

4.2 D/A转换电路

D/A转换电路可将数字输入信号转换为模拟信号,其电路如图5所示。该电路选用MAXIM 公司的电压输出型D/A转换器MX7245,其输出的模拟信号为电压信号,并具有12位的数据输入端。电路中,MX7245被配置成双极性工作模式,模拟电压信号的输出范嗣为±5 V。在一定时序的控制下,D/A转换器将输入端接收到的数字信号YOUT[11..0]转换成模拟信号输出。在模拟信号的输出端连接由电阻和电容构成的一个低通滤波器,具有平滑滤波的作用。

点击看原图

4.3 FIR数字滤波电路

图6给出FIR数字滤波电路。该电路包括高密度可编程逻辑器件、有源品体振荡器、10针插座以及多只电阻和按键开关。这里选用的高密度可编程逻辑器件为AIXERA公司FLEXlOK 系列的EPF10K20RC 240—3。

点击看原图

配置的滤波器设计后,利用器件中的剩余资源,即由EPFl0K20RC240—4型FPGA控制A /D转换器和D/A转换器的功能。因此RD、ADCS、WR、LDAC、DACS这些引脚就是用于控制A/D转换器电路和D/A转换器电路的输出引脚。其中,引脚RD、ADCS分别与A/D转换器的引脚RD、CS相连,而引脚WR、LDAC、DACS分别与D/A转换电路的引脚WR、LDAC、CS

相连。

5 滤波效果测试

将设计的低通滤波器的配置文件下载到器件中进行实际滤波测试,用示波器观察各个频率点上输出信号的幅值大小。由滤波测试结果可知,该FIR滤波电路完全达到低通滤波器5 MHz的采样频率,1.5 MHz的截止频率,以及16阶的技术指标参数。图7为原始波形,图8为滤波后的波形。

点击看原图

6 结语

研究了在FPGA中采用分布式算法实现FIR滤波器的原理和方法,设计了FIR滤波器并借助Altera公司的FPGA器件和0uartusⅡ软件对设计方案进行仿真验证,测试结果完全能满足系统设计要求。

FIR数字滤波器设计函数

FIR 数字滤波器设计函数 1. fir1 功能:基于窗函数的FIR 数字滤波器设计——标准频率响应。 格式:b=fir1(n,Wn) b=fir1(n,Wn,'ftype') b=fir1(n,Wn,Window) b=fir1(n,Wn,'ftype',Window) 说明:fir1函数以经典方法实现加窗线性相位FIR 滤波器设计,它可设计出标准的低通、带通、高通和带阻滤波器。 b=fir1(n,Wn)可得到n 阶低通FIR 滤波器,滤波器系数包含在b 中,这可表示成: n z n b z b b z b --++???++=)1()2()1()(1 这是一个截止频率为Wn 的Hamming(汉明)加窗线性相位滤波器,0≤Wn ≤1,Wn=1相应于0.5fs 。 当Wn=[W1 W2]时,fir1函数可得到带通滤波器,其通带为W1<ω< W2。 b=fir1(n,Wn,'ftype')可设计高通和带阻滤波器,由ftype 决定: ·当ftype=high 时,设计高通FIR 滤波器; ·当ftype=stop 时,设计带阻FIR 滤波器。 在设计高通和带阻滤波器时,fir1函数总是使用阶为偶数的结构,因此当输入的阶次为奇数时,fir1函数会自动加1。这是因为对奇数阶的滤波器,其在Nyquist 频率处的频率响应为零,因此不适合于构成高通和带阻滤波器。 b=fir1(n,Wn,Window)则利用列矢量Window 中指定的窗函数进行滤波器设计,Window 长度为n+1。如果不指定Window 参数,则fir1函数采用Hamming 窗。 Blackman 布莱克曼窗 Boxcar 矩形窗 Hamming 海明窗 Hann 汉宁窗 Kaiser 凯瑟窗 Triang 三角窗 b=fir1(n,Wn,'ftype',Window)可利用ftype 和Window 参数,设计各种加窗的滤波器。 由fir1函数设计的FIR 滤波器的群延迟为n/2。 例如: n=32;wn=1/4;window=boxcar(n+1) b=fir1(n,wn,window)

【开题报告】基于FPGA的CIC滤波器的设计与仿真

开题报告 电子信息工程 基于FPGA的CIC滤波器的设计与仿真 一、综述本课题国内外研究动态,说明选题的依据和意义 基于多速率信号处理原理,设计了用于下变频的CIC抽取滤波器,由于CIC滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现。滤波器的结构简单, 需要的存储量小, 是被证明在高速抽取和插值系统中非常有效的单元。 随着数字信号处理算法的不断优化,数字信号处理器(Digital Signal Processors, DSPs)性能的不断提高,数字信号处理技术越来越被广泛地应用在各个领域。数字信号处理技术正朝着高速高性能方向发展,因此这对数字信号处理的手段和工具也提出了更高的要求。 随着现场可编程门阵列(Field Programmable Gate Array, FPGA)制造工艺的不断改进,其集成度和性能的不断提高,采用FPGA对数字信号进行处理越来越受到重视。与DSP相比,FPGA有着不可比拟的优势。一方面,与DSP靠程序指针来运行程序相比,FPGA执行算法的本质是靠电路并行执行的,因此在同样的时钟频率下,使用FPGA完成数字信号处理算法要比使用DSP快得多。另一方面,由于FPGA编程灵活,资源可重新配置,使得在实现数字信号处理时更加灵活,成本更低。因此,FPGA性能的不断提高,能够满足未来复杂数字信号高速实时处理的要求。 用FPGA设计滤波器,无非是是设计一些乘累加单元,其滤波器的各种特性即滤波参数可以通过MATLAB仿真获得。所以首先要做的是确定你滤波器的设计要求,在MATLAB中仿真设计出该滤波器,从而导出滤波器系数,才能在FPGA中使用。 CIC滤波器由于其无需乘法器以及结构特殊,在移动电视直放站的数字信号处理中,可以高效地胜任抽取滤波的任务。然而C1C滤波器也有缺陷,一者通带下垂严重,二者信号折叠带衰减不充分,而且此两者难以兼顾。RS修正法和Kaiser—Hamming补偿法联合使用于CIC滤波器的改进技术中,有效地解决了该问题。 在移动通信系统中,软件无线电的概念已显得越来越重要。众所周知SRC滤波部分的一个重点就是抑制潜在的混叠部分,有一种时变CIC滤波器,他同样是通过先A倍内插再B倍抽样来实现采样率的转换。因此,改进的CIC滤波器在软件无线电中有大的重

FIR数字滤波器设计与使用

实验报告 课程名称:数字信号处理指导老师:刘英成绩:_________________实验名称: FIR数字滤波器设计与使用同组学生姓名:__________ 一、实验目的和要求 设计和应用FIR低通滤波器。掌握FIR数字滤波器的窗函数设计法,了解设计参数(窗型、窗长)的影响。 二、实验内容和步骤 编写MATLAB程序,完成以下工作。 2-1 设计两个FIR低通滤波器,截止频率 C =0.5。 (1)用矩形窗,窗长N=41。得出第一个滤波器的单位抽样响应序列h 1(n)。记下h 1 (n) 的各个抽样值,显示h 1 (n)的图形(用stem(.))。求出该滤波器的频率响应(的N 个抽样)H 1(k),显示|H 1 (k)|的图形(用plot(.))。 (2)用汉明窗,窗长N=41。得出第二个滤波器的单位抽样响应序列h 2(n)。记下h 2 (n) 的各个抽样值,显示h 2(n)的图形。求出滤波器的频率响应H 2 (k),显示|H 2 (k)|的 图形。 (3)由图形,比较h 1(n)与h 2 (n)的差异,|H 1 (k)|与|H 2 (k)|的差异。 2-2 产生长度为200点、均值为零的随机信号序列x(n)(用rand(1,200)0.5)。显示x(n)。 求出并显示其幅度谱|X(k)|,观察特征。 2-3 滤波 (1)将x(n)作为输入,经过第一个滤波器后的输出序列记为y 1(n),其幅度谱记为|Y 1 (k)|。 显示|X(k)|与|Y 1 (k)|,讨论滤波前后信号的频谱特征。 (2)将x(n)作为输入,经过第二个滤波器后的输出序列记为y 2(n),其幅度谱记为|Y 2 (k)|。 比较|Y 1(k)|与|Y 2 (k)|的图形,讨论不同的窗函数设计出的滤波器的滤波效果。 2-4 设计第三个FIR低通滤波器,截止频率 C =0.5。用矩形窗,窗长N=127。用它对x(n)进行滤波。显示输出信号y

FPGA实现FIR抽取滤波器的设计

FPGA实现FIR抽取滤波器的设计FIR(fini te impulse response)滤波器是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,系统稳定。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。在工程实践中,往往要求对信号处理要有实时性和灵活性,而已有的一些软件和硬件实现方式则难以同时达到这两方面的要求。随着可编程逻辑器件的发展,使用FPG A来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。 1 FIR滤波器工作原理 在进入FIR滤波器前,首先要将信号通过A/D器件进行模数转换,使之成为8bit的数字信号,一般可用速度较高的逐次逼进式A/D转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换,因此由FPGA构成的FIR滤波器的输出须外接D/A模块。FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好,利用FPGA乘累加的快速算法,可以设计出高速的FIR数字滤波器。

2 16阶滤波器结构 在滤波过程中实现抽取,对于抽取率为N的抽取滤波器而言,当进来N个数据时滤波器完成1次滤波运算,输出1次滤波结果。抽取滤波器的结果和先滤波后抽取的结果是一致的,只是对于同样的数据,进行滤波运算的次数大大减少。在数字系统中采用拙取滤波器的最大优点是增加了每次滤波的可处理时间,从而达到实现高速输入数据的目的。采样数据与滤波器系数在控制电路的作用下,分别对应相乘并与前一个乘积累加,经过多次(有多少阶就要多少次)反复的乘累加最后输出滤波结果,将相同系数归类,16阶滤波器公式: 乘法器的数量减少一半,但加法器的数量增多了,但相对乘法运算来说,加法运算所占用的资源少的多,运算的速度也快得多。 3 滤波器系数的求取 使用Matlab集成的滤波器设计工具FDAtool,可以完成多种滤波器的数值设计、分析与评估,设计16阶低通滤波器参数如下:

FIR数字滤波器设计与软件实现(精)讲解学习

实验二:FIR 数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1掌握用窗函数法设计 FIR 数字滤波器的原理和方法。 (2掌握用等波纹最佳逼近法设计 FIR 数字滤波器的原理和方法。 (3掌握 FIR 滤波器的快速卷积实现原理。 (4学会调用 MA TLAB 函数设计与实现 FIR 滤波器。 2. 实验内容及步骤 (1认真复习第七章中用窗函数法和等波纹最佳逼近法设计 FIR 数字滤波器的原理; (2调用信号产生函数 xtg 产生具有加性噪声的信号 xt ,并自动显示 xt 及其频谱,如图 1所示;

图 1 具有加性噪声的信号 x(t及其频谱如图 (3请设计低通滤波器,从高频噪声中提取 xt 中的单频调幅信号,要求信号幅频失真小于 0.1dB ,将噪声频谱衰减 60dB 。先观察 xt 的频谱,确定滤波器指标参数。 (4根据滤波器指标选择合适的窗函数,计算窗函数的长度 N ,调用 MATLAB 函数 fir1设计一个 FIR 低通滤波器。并编写程序,调用 MATLAB 快速卷积函数 fftfilt 实现对 xt 的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (5 重复 (3 , 滤波器指标不变, 但改用等波纹最佳逼近法, 调用MA TLAB 函数 remezord 和 remez 设计 FIR 数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○ 1MA TLAB 函数 fir1的功能及其调用格式请查阅教材; ○ 2采样频率 Fs=1000Hz,采样周期 T=1/Fs;

○ 3根据图 1(b和实验要求,可选择滤波器指标参数:通带截止频率 fp=120Hz,阻带截 至频率 fs=150Hz, 换算成数字频率, 通带截止频率 p 20.24 p f ωπ =T=π, 通带最大衰为 0.1dB , 阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为 60dB 。 3、实验程序框图如图 2所示,供读者参考。 图 2 实验程序框图 4.信号产生函数 xtg 程序清单(见教材 二、滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率 fp=120Hz,阻带截至频率 fs=150Hz。代入采样频率 Fs=1000Hz,换算成 数字频率,通带截止频率 p 20.24 p f

cic滤波器的fpga实现

cic滤波器的FPGA实现 发布时间:2016-01-26 15:07:21 技术类别:CPLD/FPGA 一、关于多采样率数字滤波器 很明显从字面意思上可以理解,多采样率嘛,就是有多个采样率呗。前面所说的FIR,IIR滤波器都是只有一个采样频率,是固定不变的采样率,然而有些情况下需要不同采样频率下的信号,具体例子我也不解释了,我们大学课本上多速率数字信号处理这一章也都举了不少的例子。 按照传统的速率转换理论,我们要实现采样速率的转换,可以这样做,假如有一个有用的正弦波模拟信号,AD采样速率是f1,现在我需要用到的是采样频率是f2的信号,传统做法是将这个经过f1采样后的信号进行DA转换,再将转换后的模拟信号进行以f2采样频率的抽样,得到采样率为f2的数字信号,至此完成采样频率的转换 但是这样的做法不仅麻烦,而且处理不好的话会使信号受到损伤,所以这种思想就被淘汰了,现在我们用到的采样率转换的方法就是抽取与内插的思想。 二、抽取 先来总体来解释一下抽取的含义:前面不是说,一个有用的正弦波模拟信号经采样频率为f1的抽样信号抽样后得到了数字信号,很明显这个数字信号序列是在f1频率下得到的,现在,假如我隔几个点抽取一个信号,比如就是5吧,我隔5个点抽取一个信号,是不是就是相当于我采用了1/5倍f1的采样频率对模拟信号进行采样了?所以,抽取的过程就是降低抽样率的过程,但是我们知道,这是在时域的抽样,时域的抽样等于信号在频域波形的周期延拓,周期就是采样频率,所以,为了避免在频域发生频谱混叠,抽样定理也是我们要考虑的因素 下面来具体来介绍 如上图所示,假如上面就是某一有用信号经采样频率f1抽样得到的频谱,假设这时候的采样频率为8 Khz ,可以通过数格子得到,从0到F1处有8个空格,每个空格代表1Khz,有些朋友可能会问,这不是在数字频域吗,单位不是π吗,哪来的hz?是的,这里是数字频域,采样频率F1处对应的是2π,这里只是为了好解释,我们用模拟频率来对应数字频率。 上面是采样频率为8K的数字信号频域图,现在我要对这个数字信号进行时域抽取,从而来降低信号的采样率,我们知道,一旦我们对数字信号进行时域抽取,那么采样率下降,而采样率就是数字信号频域的波形周期,那么也就是周期下降,所以,我们对信号进行抽取要有个度,要在满足抽样定理的条件下对信号进行抽取,否则就会发生频谱混叠。

FIR数字滤波器设计及MATLAB使用要点

数字信号处理课程设计 《数字信号处理》 课程设计报告 FIR数字滤波器设计及MATLAB实现 专业:通信工程 班级:通信1101班 组次:第9组 姓名及学号: 姓名及学号:

目录 一、设计目的 (3) 二、设计任务 (3) 三、设计原理 (3) 3.1窗函数法 (3) 3.2频率采样法 (4) 3.3最优化设计 (5) 3.3.1等波纹切比雪夫逼近准则 (5) 3.3.2仿真函数 (6) 四、设计过程 (7) 五、收获与体会 (13) 参考文献 (13)

FIR数字滤波器设计及MATLAB实现 一、设计目的 FIR滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基 本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性, 同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。滤波器设 计是根据给定滤波器的频率特性,求得满足该特性的传输函数。 二、设计任务 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR 数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 三、设计原理 FIR滤波器设计的任务是选择有限长度的() H e满足一定 h n,使传输函数()jw 的幅度特性和线性相位要求。由于FIR滤波器很容易实现严格的线性相位,所以FIR数字滤波器设计的核心思想是求出有限的脉冲响应来逼近给定的频率响应。 设计过程一般包括以下三个基本问题: (1)根据实际要求确定数字滤波器性能指标; (2)用一个因果稳定的系统函数去逼近这个理想性能指标; (3)用一个有限精度的运算去实现这个传输函数。 3.1窗函数法 设计FIR数字滤波器的最简单的方法是窗函数法,通常也称之为傅立叶级数法。FIR数字滤波器的设计首先给出要求的理想滤波器的频率响应()jw H e,设计 d

基于FPGA的FIR滤波器设计与实现

目录 引言 (4) 第一章FPGA的设计流程 (5) 1.1 FPGA概述 (5) 1.2 FPGA设计流程 (9) 1.3硬件描述语言HDL(Hardware Description Language) (10) 1.4 FPGA开发工具Quartus Ⅱ软件设计流程 (13) 第二章有限冲激响应(FIR)滤波器的原理及设计 (16) 2.1数字信号处理基础原理 (16) 2.2 FIR滤波器背影知识 (19) 2.3 FIR数字滤波器原理 (21) 2.4 利用窗函数法设计FIR滤波器 (26) 第三章FIR 数字滤波器的FPGA实现 (31) 3.1串行FIR滤波器原理 (31) 3.2分布式算法基础 (32) 3.3直接型FIR滤波器的原理结构图 (34) 3.4具有转置结构的FIR滤波器 (36) 第四章结论与总结 (40) 谢辞 (42) 参考文献 (43)

摘要:本论文课题是《基于FPGA的FIR滤波器设计与实现》。数字滤波器是语音与图象处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和线性相位的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。因此在许多应用领域都显示了强大的生命力,具有重要应用意义。本文介绍了用VHDL实现线性相位FIR(有限长单位冲激响应)滤波器。提出了一种基于FPGA的FIR滤波器设计方案。介绍了基于FPGA的FIR滤波器的数字信号处理的算法设计,采用直接型和转置型的基本结构来设计,其运算效率明显提高,并结合先进的EDA软件进行高效的设计和实现,并给出了用Quartus Ⅱ运行的仿真结果。该设计对FPGA硬件资源的利用高效合理,用VHDL编程,在PFGA中实现了高采样率的FIR滤波器。关键字:FIR滤波器;FPGA;VHDL;MATLAB;Quartus Ⅱ

FPGA的CIC滤波器的设计要点

基于FPGA的CIC数字滤波器的设计 摘要:级联积分梳状(Cascade Integrator Comb,CIC)滤波器是数字系统中实现大采样率变化的多速率滤波器,已经证明是在高速抽取和插值系统中非常有效的单元,在数字下变频(DDC)和数字上变频(DUC)系统中有广泛的应用。它不包含乘法器,只是由加法器,减法器和寄存器组成,而且需要的加法器的数目也减少了许多,因此CIC滤波器比FIR和IIR滤波器更节省资源,并且实现简单而高速。本文主要讨论了CIC滤波器的基本原理和基于FPGA的仿真实现方法,具体是采用Verilog HDL语言编程,将滤波器分为积分器模块和梳状器模块2个部分,对每个模块进行具体的功能分析和设计实现,最后通过Modelsim 仿真对滤波器的性能进行分析,验证了设计的正确性。 关键词:CIC滤波器;抽取;FPGA;Verilog HDL the Design of Cascade Integrator Comb Filter Based on FPGA Abstract:CIC (Cascade Integrator Comb, CIC) filter is a digital system to achieve large changes in multi-rate sampling rate filter, which has been proven to be a very effective unit in the high-speed extraction and interpolation system. It is widely used in the digital down conversion (DDC ) and digital up conversion (DUC) systems. It does not contain the multiplier, but just composes by adders, subtractors and registers, and the number of needing adders is reduced a lot. So it takes fewer resources than FIR filter and IIR filter. And the speed of CIC filter is very high and it is also very convenient to realize.This article discusses the basic principles of CIC filter and the simulation way based on FPGA. The modules were described with Verilog HDL. Firstly, the filter was divided into two parts which were integration module and the comb module. Then the function of each module were analyzed and designed. Finally the performance of the filter was analyzed under ModelSim and the correctness of the design was verified. Keywords:CIC filter; Decimation; FPGA; Verilog HDL 1. 引言: 数字滤波是数字信号分析中最重要的组成部分之一,数字滤波与模拟滤波相比,具

FIR数字滤波器设计与实现

FIR 数字滤波器设计与实现 一.摘要:数字滤波器是一种具有频率选择性的离散线性系统,在信号数字处理中有着广泛的应 用。其中FIR 滤波器是一种常用的滤波器,它在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性,在语音分析、图像处理、雷达监测等对信号相位要求高的领域有着广泛的应用,能实现IIR 滤波器不能实现的许多功能。 二.关键词:FIR 窗函数系统函数MATLAB 三.内容提要: 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列,因此数字滤波器的结构系 统中就必须包括一定数量和性能的运算器件和运算单元,而运算器件和运算单元的配置必须由数字滤波器的结构特点和性能特点来决定,因此在进行FIR 数字滤波器的设计之前,有必要介绍和总结FIR 数字滤波器的基本结构和相关特性(包括频响曲线(幅度和相位),单位冲激响应等),在介绍完其基本结构和相关特性后,就进行FIR 数字滤波器的设计和实现。 (一)FIR 滤波器的基本结构 在讨论任何一种滤波器时,都要着重分析其系统函数,FIR 滤波器的系统函数为: n N n z n h z H ∑-==1 0)()(。从该系统函数可看出,FIR 滤波器有以下特点: 1)系统的单位冲激响应h(n)在有限个n 值处不为零; 2)系统函数H(z)在|z|>0处收敛,极点全部在z=0处(稳定系统); 3)结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包 含有反馈的递归部分。 1.FIR 滤波器实现的基本结构有: 1) 横截型(卷积型、直接型) a.一般FIR 滤波器的横截型(直接型、卷积型)结构: 若给定差分方程为: 。则可以直接由差分方程得出FIR 滤波器结构如 下图所示: 这就是FIR 滤波器的横截型结构,又称直接型或卷积型结构。 b .线性相位FIR 滤波器的横截型结构

FIR带通滤波器的FPGA实现

FIR带通滤波器的FPGA实现 时间:2009-11-11 09:14:40 来源:现代电子技术作者:石兴华,吴光敏引言 在FPGA应用中,比较广泛而基础的就是数字滤波器。根据其单位冲激响应函数的时域特性可分为无限冲击响应(Infinite Impulse Response,IIR)滤波器和有限冲击响应(Finite Impulse Response,FIR)滤波器。DSP Builder集成了Altera和Matlab/Simulink基于FPGA的信号处理的建模和设计。该工具可以将数字信号处理算法(DSP)系统表示成为一个高度抽象的模块,在不降低硬件性能的前提下,自动将系统映射为一个基于FPGA的硬件设计方案。即支持设计者在Matlab中完成算法设计,在Simulink软件中完成系统集成,然后通过SignalCompiler(模块名)生成在QuartusⅡ软件中可以使用的硬件描述语言,最终实现硬件系统的设计。FIR滤波器是DSPBuilder应用中最为常用的模块之一,在此基于上述基础,设计实现了基于模块的FIR数字带通滤波器。 1 基于DSP Builder的滤波系统设计 1.1 FIR滤波器原理 有限冲激响应(Finite Impulse Response,FIR)滤波器是由有限个采样值组成,实现的方式是非递归、稳定的,在满足幅频响应要求的同时,可以获得严格的线性相位特性,因此在高保真的信号处理等领域得到广泛应用。 对于一个FIR滤波器系统,它的冲击相应总是有限长的,其系统函数可记为: 最基本的FIR滤波器可表示为: 式中:z(n)是输入采样序列;h(n)是滤波器系数;L是滤波器阶数;y(n)表示滤波器输出序列,为x(n)和h(n)的卷积。FIR滤波器基本结构如图1所示。 对于一个4阶滤波器子系统其输出可表示为: 可见在这个子系统中共需要4个延时器,4个乘法单元和一个4输入的加法器,并可以根据实际需要选择调用子系统构成多阶滤波器。 1.2 滤波的总体要求及实现

FIR数字滤波器设计与软件实现

实验二:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。(3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。

(4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。(4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止 频率 p 20.24 p f ωπ =T=π,通带最大衰为0.1dB,阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为60dB。 ○4实验程序框图如图2所示,供读者参考。

CIC插值滤波器的FPGA设计与实现

CIC插值滤波器的FPGA设计与实现 摘要:基于多速率信号处理原理,设计了用于下变频的CIC插值滤波器,由于CIC 滤波器结构只用到加法器和延迟器,没有乘法器,很适合用FPGA来实现,所以本文分析了CIC滤波器的原理,性能及影响参数,借助MATLAB设计符合系统要求CIC 滤波器,并利用Modelsim软件建模仿真,验证CIC滤波器性能是否达到要求。(一)CIC滤波器基本原理 A.CIC滤波器的基本单元 CIC滤波器主要由积分滤波Integrator和梳状滤波Comb两个基本单元部分构成。 典型的CIC滤波器的结构,它由两个基本单元I(积分滤波器)和C(梳状滤波器)级联构成。本设计主要针对插值滤波器,所以插值滤波器的结构示意图如图1-1所示: 图 1-1 3级级联的CIC插值滤波器结构示意图 积分器和梳状滤波器之间是一个采样率转换器,对于CIC插值器而言,它完成在每一个样值后补上R-1个0值的工作,,对于CIC抽取器来说,它完成在实际的抽取工作,每R个样值中取样一个。 R(插值倍数),M(延迟因子,一般取1或者2)以及N(级联级数)是影响CIC 滤波器的三个参数,它们的值需根据通带性能的需求而设定。 (二)CIC插值滤波器的设计流程 根据CIC滤波器的原理,本设计的流程如图2-1所示:

图2-1 CIC 插值滤波器的设计流程图 (三)模型的建立和测试 A .位宽策略 对于数字滤波器,一个不得不考虑的问题是为防止溢出每一级所需的位宽。对于抽取器来说,CIC 滤波器的输出增益为 (*)N G R M = (3-1) 所以,在全精度的情况下,最后一级输出的位宽为 2log (*)out in B B N R M =+ (3-2) 其中in B 表示输入数据的宽度,为了保证精度,每一个积分器和梳状滤波器的输入输出位宽都为out B 。 对于插值器而言,输出增益为 212,1,2,....2(*)/,1, 2......2i i N i N i N G R M R i N N N --?? == ? ? =++?? (3-3) 因此,第i 级为避免溢出所需要的位宽为 2log ()i in i W B G =+ (3-4) 最后一级输出位宽为 22log (*)log out in B B N R M R =+- (3-5) 在实际当中,当差分延时M=1时,为保证稳定,所有积分器的位宽在理论值的基础上加一。 max B 不仅是滤波器输出的最大可能的位数,也是每一级滤波器的最大可能位

FIR数字滤波器课程设计报告

吉林建筑大学 电气与电子信息工程学院 数字信号处理课程设计报告 设计题目:FIR数字滤波器的设计 专业班级: 学生姓名: 学号: 指导教师: 设计时间:

目录 一、设计目的 (3) 二、设计内容 (3) 三、设计原理 (3) 3.1 数字低通滤波器的设计原理 (3) 3.1.1 数字滤波器的定义和分类 (3) 3.1.2 数字滤波器的优点 (3) 3.1.3 FIR滤波器基本原理 (4) 3.2变换方法的原理 (7) 四、设计步骤 (8) 五、数字低通滤波器MATLAB编程及幅频特性曲线 (9) 5.1 MATLAB语言编程 (9) 5.2 幅频特性曲线 (10) 六、总结 (11) 七、参考文献 (13)

一、设计目的 课程设计是理论学习的延伸,是掌握所学知识的一种重要手段,对于贯彻理论联系实际、提高学习质量、塑造自身能力等于有特殊作用。本次课程设计一方面通过MATLAB 仿真设计内容,使我们加深对理论知识的理解,同时增强其逻辑思维能力,另一方面对课堂所学理论知识作一个总结和补充 二、设计内容 (1)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 , 阻带衰减dB A s 30>。 (2)设计一线性相位FIR 数字低通滤波器,截止频率 ,过渡带宽度 ,阻带衰减dB A s 50>。 三、设计原理 3.1数字低通滤波器的设计原理 3.1.1 数字滤波器的定义和分类 数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。 从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF) [4]。 3.1.2 数字滤波器的优点 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP 处理器(Digital Signal Processor)的出现和FPGA(FieldProgrammable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 数字滤波器具有以下显著优点: 精度高:模拟电路中元件精度很难达到10-3,以上,而数字系统17位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤0.2c ωπ=0.4ωπ?<0.2c ωπ=0.4ωπ?<

基于FPGA的FIR滤波器设计

长春理工大学毕业设计 摘要 在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用, 随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR 滤波器。 本论文对基于FPGA的FIR数字滤波器实现进行了研究,以FIR数字滤波器的基本理论为依据,并且采用查找表以及线性FIR波器的对称性特点使得硬件规模极大的减小。为了验证仿真结果的正确性,文中应用了MATLAB和VHDL联合仿真方法对设计的电路进行仿真测试,结果达到设计指标。并用MATLAB对仿真结果进行了分析,证明了所设计的FIR数字滤波器功能正确。 关键词: 有限脉冲响应现场可编程门阵列查找表窗函数仿真 ABSTRACT In the modern electrical system, the FIR digital filter is used for many practical applications for its good linear phase character, Along with the development of PLD device and EDA technology, more and more electrical engineers use FPGA to implement FlR filter, as it not only meet the real-time requirement, but also has some flexibility. In this paper, a method to implement the FIR filter using FPGA is proposed. According to the basic theory of FIR filters, the thesis reduces it with the use of multiple coefficient memory banks and the symmetry characteristic of linear FIR filter. In order to make the verification more available, the complex simulation with Matlab and VHDL is used to testify the design whether fulfills the requirement. And also the result of the simulation is analyzed with the use of MATLAB, and it proved that the function of the design is correct. KEYWORDS: FIR FPGA Windows Function Simulation

线性相位FIR数字滤波器设计

一、设计目的 1.掌握窗函数法设计FIR滤波器的原理和方法,观察用几种常用窗函数设计的 FIR数字滤波器技术指标; 2.掌握FIR滤波器的线性相位特性; 3.了解各种窗函数对滤波特性的影响。 二、设计原理 如果所希望的滤波器的理想频率响应函数为H d(e j J,则其对应的单位脉冲 1 响应为h d(n)=——f H (e恋)e j^dB,用窗函数W N(n)将h d(n)截断,并进行加权处 2兀7 理,得到实际滤波器的单位脉冲响应h(n)=h d(n)w N(n),其频率响应函数为 N _! H (e j ^ h(n)e」n。如果要求线性相位特性,贝U h(n)还必须满足 nM h(n)= h(N-1- n)。可根据具体情况选择h(n)的长度及对称性。 可以调用MATLAB工具箱函数firl实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft来计算滤波器的频率响应函数。 fir1是用窗函数法设计线性相位FIRDF hn=fir1(N, wc, ‘ ftype ' , window) fir1实现线性相位FIR滤波器的标准窗函数法设计。 hn=fir1(N,wc)可得到6 dB截止频率为wc的N阶(单位脉冲响应h(n)长度为 N+1)FIR低通滤波器,默认(缺省参数windows)选用hammiing窗。其单位脉冲响应 h(n)满足线性相位条件:h(n)=h(N-1-n) 其中wc为对n归一化的数字频率,OW wc< 1。 当wc= [wc1, wc2]时,得到的是带通滤波器。 hn=fir1(N,wc, ' ftype ') 当ftype=high时,设计高通FIR 当ftype=stop时,设计带阻FIR滤波器。 应当注意,在设计高通和带阻滤波器时,阶数N只能取偶数(h(n)长度N+1 为奇数)。不过,当用户将N设置为奇数时,fir1会自动对N加1。 hn=fir1(N,wc,window)可以指定窗函数向量window。如果缺省window参数,则 fir1默认为hamming窗。可用的其他窗函数有Boxcar, Hanning, Bartlett, Blackman, Kaiser和Chebwin 窗。例如:

基于matlab的FIR数字滤波器设计(带通,窗函数法)

数字信号处理 课程设计报告 设计名称:基于matlab的FIR数字滤波器设计 彪

一、课程设计的目的 1、通过课程设计把自己在大学中所学的知识应用到实践当中。 2、深入了解利用Matlab设计FIR数字滤波器的基本方法。 3、在课程设计的过程中掌握程序编译及软件设计的基本方法。 4、提高自己对于新知识的学习能力及进行实际操作的能力。 5、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。 三、设计原理 FIR 滤波器具有严格的相位特性,对于信号处理和数据传输是很重要的。 目前 FIR滤波器的设计方法主要有三种:窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求高的时候是比较灵活方便的。 如果 FIR 滤波器的 h(n)为实数, 而且满足以下任意条件,滤波器就具有准确的线性相位: 第一种:偶对称,h(n)=h(N-1-n),φ (ω)=-(N-1)ω/2 第二种:奇对称,h(n)=-h(N-1-n), φ(ω)=-(N-1)ω/2+pi/2 对称中心在n=(N-1)/2处 四、设计步骤 1.设计滤波器 2.所设计的滤波器对多个频带叠加的正弦信号进行处理 3.比较滤波前后信号的波形及频谱 五、用窗函数设FIR 滤波器的基本方法 基本思路:从时域出发设计 h(n)逼近理想 hd(n)。设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能

FIR数字滤波器设计的综述

FIR数字滤波器设计方法的综述 摘要:在数字信号处理中,数字滤波器是一种被广泛使用的信号处理部件,可改变信号中所含频率分量的相对比例或滤除某些频率分量,使其达到所需的效果,具有举足轻重的作用。在数字信号处理系统中,FIR(有限冲激响应)数字滤波器是一类结构简单的最基本的原件,具有严格的相频特性,能保证信号在传输过程中不会有明显的失真,是相当稳定的系统,其确保线性相位的功能进一步使它得到了广泛的应用。本综述分析了FIR数字滤波器的特征和设计的基本原理,得到了满足系统要求的数字滤波器的设计方法。 关键词:数字信号处理,FIR数字滤波器,设计方法

1引言 1.1背景 现在几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。数字滤波技术可以在放大信号的同时去除噪声和干扰,而在模拟信号号和噪声同时被放大,数字信号还可以不带误差地被存储和恢复、发送和接收、处理和操纵。许多复杂的系统可以用高精度、大信噪比和可重构的数字技术来实现。目前,数字信号处理已经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统,如通讯、故障检测、语音、图像、自动化仪器、航空航天、生物医学工程、雷达等。 数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。所谓数字滤波,是指其输入、输出均为数字信号,通过一定的运算关系改变输入信号所含的频率成分的相对比例或滤除某些频率成分,达到提取和加强信号中的有用成份,消弱干扰成份的目的。数字滤波作为数字信号处理的重要组成部分有着十分广泛的应用前景,可作为应用系统对信号的前置处

理。数字滤波器无论是在理论研究上还是在如通讯、雷达、图象处理、数字音频等实际应用上都有着很好的技术前景和巨大的实用价值。 1.2现状与前沿 在近代电信设备和各类控制系统中,滤波器应用极为广泛。在所有的电子部件中,使用最多,技术最为复杂的即为滤波器。滤波器的优劣直接决定产品的优劣,所以,对滤波器的研究和生产历来为各国所重视。 目前,国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark 大学的研究小组正在从事FPGA实现数字滤波器的研究。而我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展。 随着电子工业的发展,对滤波器的性能要求越来越高。我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。总之,滤波器的发展始终是顺应电子系统的发展趋势的。如何进一步实现滤波器的小型化、集成化、高效化将是今后很长一段时间不变的研究和发展主题。 2 FIR数字滤波器的原理 2.1 FIR数字滤波器的结构特点 如果滤波器的输人和输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,这种滤波器称之为数字滤波器。该滤波器通过对时域中离散的采样数据作差分运算实现滤波。与IIR滤波器相比,FIR(有限长单位冲激响应)的实现是非递归的,总是稳定的。FIR数 字滤波器的特征是冲激响应只能延续一定时间并且很容易实现严格的线性相位,使信号经过处理后不产生相位失真、舍入误差小、稳定等优点,能够设计具有优良特性的多带通滤波器、微分器和希尔伯特变换器。FIR数字滤波器有以下几个特点: (1)系统的单位冲激响应h(n)在有限个值处不为零; (2)系统函数H(z)在处收敛,在处只有零点,有限z平面只有零点,而全部极点都在z=0处; (3)结构上主要是非递归结构。

相关文档
相关文档 最新文档