用MATLAB设计及FPGA实现FIR滤波器的方法

合集下载

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计在数字信号处理中,滤波器是一种常用的工具,用于处理信号的频率特性。

其中,FIR(有限脉冲响应)滤波器是一种常见的滤波器类型之一。

MATLAB提供了方便的工具和函数来设计和实现FIR滤波器。

在本文中,我们将介绍MATLAB中如何使用fir1函数来设计FIR滤波器。

要使用fir1函数设计FIR滤波器,需要指定滤波器的阶数和截止频率。

阶数决定了滤波器的复杂度,而截止频率则决定了滤波器的频率响应特性。

通过调整这两个参数,可以设计出不同类型的滤波器,如低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

接下来,我们可以使用fir1函数来设计一个简单的低通滤波器。

例如,我们可以指定一个4阶低通滤波器,截止频率为0.5(归一化频率,取值范围为0到1)。

通过调用fir1函数并传入相应的参数,即可得到设计好的滤波器系数。

设计好滤波器系数后,我们可以将其应用于信号处理中。

例如,我们可以使用filter函数来对信号进行滤波。

将设计好的滤波器系数和待处理的信号作为输入参数传入filter函数,即可得到滤波后的信号。

这样,我们就可以实现对信号的滤波处理。

除了fir1函数外,MATLAB还提供了其他用于滤波器设计的函数,如firpm、fircls、firls等。

这些函数可以实现更复杂的滤波器设计,满足不同的需求。

通过选择合适的函数和参数,可以设计出性能优越的滤波器,用于各种信号处理应用中。

MATLAB提供了强大的工具和函数来设计和实现各种类型的滤波器。

通过合理选择滤波器的阶数和截止频率,以及使用适当的函数来设计滤波器系数,可以实现对信号的有效滤波处理。

希望本文能够帮助读者了解MATLAB中fir1函数的使用方法,进一步掌握滤波器设计的技巧,提高信号处理的效率和质量。

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计MATLAB是一个高级编程语言和交互式环境,被广泛应用于各种科学和工程问题的数值分析、数据可视化和编程开发等领域。

FIR滤波器是数字信号处理中经常使用的一种滤波器,它是基于有限长冲激响应的滤波器。

在MATLAB平台上,我们可以使用fir1函数来设计FIR滤波器。

一、FIR滤波器设计基础1.1 什么是FIR滤波器FIR滤波器是有限长冲激响应滤波器,由于其具有线性相位特性和可控阶数等优点,在数字信号处理中得到了广泛的应用。

一般来说,FIR滤波器的频率响应特性由滤波器的系数函数确定。

FIR滤波器的设计一般采用窗函数法、最小二乘法、频率抽取法等方法。

窗函数法是最常见的一种方法,大部分情况下选择的是矩形窗、汉宁窗、布莱克曼窗等。

1.3 fir1函数介绍fir1函数是MATLAB中用于FIR滤波器设计的函数,用法为:h = fir1(N, Wn, type)N为滤波器的阶数,Wn是用于指定滤波器截止频率的参数,type指定滤波器类型,可以是低通、高通、带通、带阻等。

二、使用fir1函数设计FIR滤波器2.1 设计要求采样率为300Hz;滤波器阶数为50;截止频率为50Hz。

2.2 实现步骤(1)计算规范化截止频率规范化截止频率是指在数字滤波器设计中使用的无单位量,通常范围为0到1。

在本例中,我们需要将50Hz的截止频率转化为规范化截止频率。

Wn = 2*50/300 = 1/3根据计算出的规范化截止频率和滤波器阶数,我们可以使用fir1函数来进行滤波器设计。

此处滤波器的阶数为50,规范化截止频率为1/3,类型为低通。

(3)绘制滤波器的幅频响应图为了验证设计的低通FIR滤波器是否符合要求,我们需要绘制其幅频响应图。

freqz(h,1,1024,300)经过上述步骤后,我们就得到了一张低通FIR滤波器的幅频响应图,如下图所示:图1.低通FIR滤波器的幅频响应图三、总结通过上述例子,我们可以看出在MATLAB中与fir1函数可以非常方便的进行FIR滤波器的设计。

使用MATLAB设计FIR滤波器

使用MATLAB设计FIR滤波器

使⽤MATLAB设计FIR滤波器1. 采⽤fir1函数设计,fir1函数可以设计低通、带通、⾼通、带阻等多种类型的具有严格线性相位特性的FIR滤波器。

语法形式:b = fir1(n, wn)b = fir1(n, wn, ‘ftype’)b = fir1(n, wn, ‘ftype’, window)b = fir1(n, wn, ‘ftype’, window, ‘noscale’)参数的意义及作⽤:b:返回的FIR滤波器单位脉冲响应,脉冲响应为偶对称,长度为n+1;n:滤波器的介数;wn:滤波器的截⽌频率,取值范围为0<wn<1,1对应信号采样频率⼀半。

如果wn是单个数值,且ftype参数为low,则表⽰设计截⽌频率为wn的低通滤波器,如果ftype参数为high,则表⽰设计截⽌频率为wn的⾼通滤波器;如果wn是有两个数组成的向量[wn1wn2],ftype为stop,则表⽰设计带阻滤波器,ftype为bandpass,则表⽰设计带通滤波器;如果wn是由多个数组成的向量,则根据ftype的值设计多个通带或阻带范围的滤波器,ftype为DC-1,表⽰设计的第⼀个频带为通带,ftype为DC-0,表⽰设计的第⼀个频带为阻带;window:指定使⽤的窗函数,默认为海明窗;noscale:指定是否归⼀化滤波器的幅度。

⽰例:N=41; %滤波器长度fs=2000; %采样频率%各种滤波器的特征频率fc_lpf=200;fc_hpf=200;fp_bandpass=[200 400];fc_stop=[200 400];%以采样频率的⼀半,对频率进⾏归⼀化处理wn_lpf=fc_lpf*2/fs;wn_hpf=fc_hpf*2/fs;wn_bandpass=fp_bandpass*2/fs;wn_stop=fc_stop*2/fs;%采⽤fir1函数设计FIR滤波器b_lpf=fir1(N-1,wn_lpf);b_hpf=fir1(N-1,wn_hpf,'high');b_bandpass=fir1(N-1,wn_bandpass,'bandpass');b_stop=fir1(N-1,wn_stop,'stop');%求滤波器的幅频响应m_lpf=20*log(abs(fft(b_lpf)))/log(10);m_hpf=20*log(abs(fft(b_hpf)))/log(10);m_bandpass=20*log(abs(fft(b_bandpass)))/log(10);m_stop=20*log(abs(fft(b_stop)))/log(10);%设置幅频响应的横坐标单位为Hzx_f=0:(fs/length(m_lpf)):fs/2;%绘制单位脉冲响应%绘制单位脉冲响应subplot(421);stem(b_lpf);xlabel('n');ylabel('h(n)');subplot(423);stem(b_hpf);xlabel('n');ylabel('h(n)');subplot(425);stem(b_bandpass);xlabel('n');ylabel('h(n)');subplot(427);stem(b_stop);xlabel('n');ylabel('h(n)');%绘制幅频响应曲线subplot(422);plot(x_f,m_lpf(1:length(x_f)));xlabel('频率(Hz)','fontsize',8);ylabel('幅度(dB)','fontsize',8);subplot(424);plot(x_f,m_hpf(1:length(x_f)));xlabel('频率(Hz)','fontsize',8);ylabel('幅度(dB)','fontsize',8);subplot(426);plot(x_f,m_bandpass(1:length(x_f)));xlabel('频率(Hz)','fontsize',8);ylabel('幅度(dB)','fontsize',8);subplot(428);plot(x_f,m_stop(1:length(x_f)));xlabel('频率(Hz)','fontsize',8);ylabel('幅度(dB)','fontsize',8);2. 采⽤fir2函数设计,函数算法是:⾸先根据要求的幅频响应向量形式进⾏插值,然后进⾏傅⾥叶变换得到理想滤波器的单位脉冲响应,最后利⽤窗函数对理想滤波器的单位脉冲响应激进型截断处理,由此得到FIR滤波器系数。

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

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

二、实验平台Matlab7.1三、实验原理以低通滤波器为例,其常用的设计指标有:1.通带边缘频率f p(数字频率为Ωp)2.阻带边缘频率f st (数字频率为Ωst)3.通带内最大纹波衰减δp=-20log10(1-αp),单位为dB4.阻带最小衰减αs=-20log10(αs),单位为dB5.阻带起伏αs6.通带峰值起伏αp其中,以1、2、3、4条最为常用。

5、6条在程序中估算滤波器阶数等参数时会用到。

数字频率= 模拟频率/采样频率四、实例分析例1 用凯塞窗设计一FIR低通滤波器,通带边界频率Ωp=0.3pi,阻带边界频率Ωs=0.5pi,阻带衰减δs不小于50dB。

方法一:手动计算滤波器阶数N和β值,之后在通过程序设计出滤波器。

第一步:通过过渡带宽度和阻带衰减,计算滤波器的阶数B和β值。

第二步:通过程序设计滤波器。

程序如下:b = fir1(29,0.4,kaiser(30,4.55));[h1,w1]=freqz(b,1);figure (1)plot(w1/pi, abs(h1));grid;xlabel('归一化频率/p') ;ylabel('幅度/dB') ;figure (2)plot(w1/pi,angle(h1));grid;xlabel('归一化频率/p') ;ylabel('相位') ;波形如下:例2 利用雷米兹交替算法设计等波纹滤波器,设计一个线性相位低通FIR数字滤波器,其指标为:通带边界频率fc=800Hz,阻带边界fr=1000Hz,通带波动阻带最小衰减At=40dB,采样频率fs=4000Hz。

一般调用MATLAB信号处理工具箱函数remezord来计算等波纹滤波器阶数N和加权函数W (ω),调用函数remez可进行等波纹滤波器的设计,直接求出滤波器系数。

函数remezord中的数组fedge为通带和阻带边界频率,数组mval是两个边界处的幅值,而数组dev是通带和阻带的波动,fs是采样频率单位为Hz。

基于FPGA与Matlab的最优FIR数字滤波器设计

基于FPGA与Matlab的最优FIR数字滤波器设计

图 1 直 接 l F R 滤 波 器 结 构 型 I
- 4
从 滤波器的系统函数可知它是恒稳定 的, 需要反馈 , 不 只要 加 权


| 。
: : \
系 数 hi hN 1 i0 ≤N一 ) I (= (一 一) ≤i ) ( 1, R滤 波 器 就具 有 严格 的线 性 相 位 。一 F 般 而 言, 常用 的 FR滤 波 器 是线 性 相 位 的 , 滤 波 器 的 系 数 满 足某 种对 I 即
三 、 R 滤 波器 的 F FI PGA设 计 与 实 现
曲 ∑ ( ) : 一
其 中 xng 输 入 采 样 序 列 ,(是 滤 波 器 系 数 , () hi ) L是 滤 波 器 的 系 数 长度 ,() 示 滤 波器 的 输 出 序 列 。也 可 以用 卷 积 来 表示 输 出序 列 y ) y 表 n ( n 与 xn、( 的关 系 。 ( hn ) )
^p I 目 ,l i奢 l 31参数 提取 设 计 指 标 如下 : . 通 带 类 型: 陷波 通 带衰 减 :.1 B O0d 采 样频 率:.k z 75 h 通 带 边 频率 1 7 kz和 215 h . 5h 5 .7 k z
陷 波 频率 :.7 k z 1 5h 8 阶 数: 8 6
102 3 0 2)
要 】I 滤波器是一种被广泛应用的基本 的数字信号处理部件, FR 针对常用的软 、 硬件方法设计实现 FR 滤波器存在 的问题, 出采用 I 提
M a小 的 切 比 雪 夫等 波 纹 逼 近 方 法. 计 并 在 F GA 上 高速 并 行 实现, 格 线性 相 位 FR 滤 波 器 的 方案 。 d 设 P 严 I
滤 波 器设 计 工 具 箱 (l r eintobx 。faol 以设 计 几 乎所 有 的 ied g o ft s lo ) dt 可 基 本 的 常规 滤 波 器 , 括 缶 和 . 的 各 种 设计 方 法 。它 操 作 简 单 , 便 包 i r 方 灵活。

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器

基于MATLAB设计FIR滤波器FIR(Finite Impulse Response)滤波器是一种数字滤波器,它具有有限的冲激响应长度。

基于MATLAB设计FIR滤波器可以使用signal工具箱中的fir1函数。

fir1函数的语法如下:b = fir1(N, Wn, window)其中,N是滤波器的阶数,Wn是截止频率,window是窗函数。

要设计一个FIR低通滤波器,可以按照以下步骤进行:步骤1:确定滤波器的阶数。

阶数决定了滤波器的截止频率的陡峭程度。

一般情况下,阶数越高,滤波器的陡峭度越高,但计算复杂度也会增加。

步骤2:确定滤波器的截止频率。

截止频率是指在滤波器中将信号的频率限制在一定范围内的频率。

根据应用的需求,可以选择适当的截止频率。

步骤3:选择窗函数。

窗函数是为了在时域上窗口函数中心增加频率衰减因子而使用的函数。

常用的窗函数有Hamming、Hanning等。

窗函数可以用来控制滤波器的幅度响应特性,使得它更平滑。

步骤4:使用fir1函数设计滤波器。

根据以上步骤确定滤波器的阶数、截止频率和窗函数,可以使用fir1函数设计FIR滤波器。

具体代码如下:N=50;%设定阶数Wn=0.5;%设定截止频率window = hanning(N + 1); % 使用Hanning窗函数步骤5:使用filter函数对信号进行滤波。

设计好FIR滤波器后,可以使用filter函数对信号进行滤波。

具体代码如下:filtered_signal = filter(b, 1, input_signal);其中,input_signal是输入信号,filtered_signal是滤波后的信号。

以上,便是基于MATLAB设计FIR滤波器的简要步骤和代码示例。

根据具体需求和信号特性,可以进行相应的调整和优化。

用Matlab设计FIR滤波器的三种方法

用Matlab设计FIR滤波器的三种方法

用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法摘要介绍了利用MATLAB信号处理工具箱进行FIR滤波器设计的三种方法:程序设计法、FDATool设计法和SPTool设计法,给出了详细的设计步骤,并将设计的滤波器应用到一个混和正弦波信号,以验证滤波器的性能。

关键词 MATLAB,数字滤波器,有限冲激响应,窗函数,仿真1 前言数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

根据其单位冲激响应函数的时域特性可分为两类:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

与IIR滤波器相比,FIR的实现是非递归的,总是稳定的;更重要的是,FIR滤波器在满足幅频响应要求的同时,可以获得严格的线性相位特性。

因此,它在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。

2 FIR滤波器的窗函数设计法 FIR滤波器的设计方法有许多种,如窗函数设计法、频率采样设计法和最优化设计法等。

窗函数设计法的基本原理是用一定宽度窗函数截取无限脉冲响应序列获得有限长的脉冲响应序列,主要设计步骤为:(1) 通过傅里叶逆变换获得理想滤波器的单位脉冲响应hd(n)。

(2) 由性能指标确定窗函数W(n)和窗口长度N。

(3) 求得实际滤波器的单位脉冲响应h(n), h(n)即为所设计FIR滤波器系数向量b(n)。

(4) 检验滤波器性能。

本文将针对一个含有5Hz、15Hz和30Hz的混和正弦波信号,设计一个FIR带通滤波器,给出利用MATLAB实现的三种方法:程序设计法、 FDATool设计法和SPTool设计法。

参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。

2 程序设计法MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。

基于MATLAB的FIR和IIR数字滤波器的设计

基于MATLAB的FIR和IIR数字滤波器的设计

基于MATLAB的FIR和IIR数字滤波器的设计一、本文概述随着数字信号处理技术的飞速发展,数字滤波器作为其中的核心组件,已经广泛应用于通信、音频处理、图像处理、生物医学工程等诸多领域。

在数字滤波器中,有限脉冲响应(FIR)滤波器和无限脉冲响应(IIR)滤波器是最常见的两种类型。

它们各自具有独特的优点和适用场景,因此,对这两种滤波器的深入理解和设计掌握是工程师和研究人员必备的技能。

本文旨在通过MATLAB这一强大的工程计算工具,详细介绍FIR 和IIR数字滤波器的设计原理、实现方法以及对比分析。

我们将简要回顾数字滤波器的基本概念和分类,然后重点阐述FIR和IIR滤波器的设计理论,包括窗函数法、频率采样法、最小均方误差法等多种设计方法。

接下来,我们将通过MATLAB编程实现这些设计方法,并展示如何根据实际应用需求调整滤波器参数以达到最佳性能。

本文还将对FIR和IIR滤波器进行性能对比,分析它们在不同应用场景下的优缺点,并提供一些实用的设计建议。

我们将通过几个典型的应用案例,展示如何在MATLAB中灵活应用FIR和IIR滤波器解决实际问题。

通过阅读本文,读者将能够深入理解FIR和IIR数字滤波器的设计原理和实现方法,掌握MATLAB在数字滤波器设计中的应用技巧,为未来的工程实践和研究工作打下坚实的基础。

二、FIR滤波器设计有限脉冲响应(FIR)滤波器是一种数字滤波器,其特点是其脉冲响应在有限的时间后为零。

因此,FIR滤波器是非递归的,没有反馈路径,从而保证了系统的稳定性。

在设计FIR滤波器时,我们主要关注的是滤波器的阶数、截止频率和窗函数的选择。

在MATLAB中,有多种方法可以用来设计FIR滤波器。

其中,最常用的方法是使用fir1函数,该函数可以设计一个线性相位FIR滤波器。

该函数的基本语法是b = fir1(n, Wn),其中n是滤波器的阶数,Wn是归一化截止频率,以π为单位。

该函数返回一个长度为n+1的滤波器系数向量b。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N/ 2 - 1
现 FIR 滤波器 ,由于实现的是硬件并行算法 , 因此特别适合 那些实时性要求高或计算量很大的场合 , 而且解决方案便 宜 ,灵活 ,集成度高 ,稳定性好 ,可以根据具体情况 ,按系统要 求编程设计出最合适的滤波器 。本文采用 MAT LAB 计算机 辅助设计在 FPG A 上实现 FIR 滤波器的方法 。
— 144


© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved.
波动 、 增加阻带的衰减 , 达到改善频率特性的目的 。常用窗 函数的参照数据如表 1 所示 [2 ] 。
ded Array Block) 可提供 4096 比特 ( 最多可达 49 ,152bits) 的存
相位 FIR 滤波器设计的经典方法 ,fir1 主要用于常用的标准 通带滤波器设计 , 包括低通 、 带通 、 高通和带阻数字滤波器 。 除此之外 ,MAT LAB 还提 供 了 多 带 FIR 滤 波 器 的 设 计 函数

的优点之一 。 为了防止溢出 , 保证电路的正常工作 , 这里将 8 位输入进 行符号位的扩展 。 于是输入序列 x ( n) 可以用二进制表示为
{ s8 ( n) …s1 ( n) s0 ( n) } , 即 x ( n) =
地址
0000 0001 0010 0011
8
表2 基于 ROM 的查找表
N- 1
b(
n - i) h ( i) 2
b
……
1111
……
h[ 4n + 3 ] + h[ 4n + 2 ] + h[ 4n + 1 ] + h[ 4n + 0 ]
近似基础上 ,不同的逼近方法构成不同的设计方案 , 如有限 项傅氏级数逼近法 、 差值逼近法 、 最小平方逼近法等等 。其 中有限项傅氏级数逼近法是常用的设计方法之一 。由于 FIR 滤波器是将一个无限宽度的脉冲响应截尾而得到的近似结 果 ,可能会产生振荡 , 因而通常都选用窗函数来减少通带的
收稿日期 :2003 - 09 - 12
y ( n) =
i =0
∑h ( i) [ x ( n -
i) + x ( n - N + 1 + i) ] ( 3)
( N 为偶数)

( N - 1) / 2 - 1
2 FIR 滤波器设计基础
FIR 滤波器的基本结构是一个分节的延时线 , 每一节的
y ( n) = h
i =0

2
h ( i) [ x ( n - i) + x ( n - N + 1 + i) ] + x n N - 1
第 20 卷 第 12 期
文章编号 :1006 - 9348 (2003) 12 - 0144 - 03
计 算 机 仿 真
2003 年 12 月
用 MATLAB 设计及 FPGA 实现 FIR 滤波工程学院 ,北京 100083)
摘要 :FIR 滤波器是一种被广泛应用的基本的数字信号处理部件 。针对采用常用的软 、 硬件方法设计实现 FIR 滤波器存在的 问题 ,提出采用 MAT LAB 的窗函数方法设计并在 FPG A 上高效实现严格线性相位 FIR 滤波器的方案 。通过编程调试得到满 意的结果 。该方法实现 FIR 滤波器器件体积小 、 性能可靠 、 价格低廉 、 设计周期短 ,可作为高速数字滤波设计的较好方案 。 关键词 : 滤波器 ; 计算机辅助设计 ; 现场可编程门阵列器件 中图分类号 :TP39 文献标识码 :A
的 ,因而非常适合这种需要大量布线资源的并行算法的数据 型系统 。它的 I/ O 最高可工作于 250MHz 的频率 , 完全可以 满足高速 FIR 的要求 。 每个 ACEX1K 系列的器件包含用来实现存储器和专用 的逻辑功能的嵌入式阵列和用来实现通用逻辑的逻辑阵列 。 当用来实现存储器功能时 , 每个嵌入式阵列块 EAB ( Embed2
图2 线性相位 FIR 滤波器简化结构图( N 为偶数) 表1 常用窗函数的性能比较 窗类型 矩形窗 三角窗 海宁窗 海明窗
Blackman 窗
= 31 ,用函数 fir1 ( n ,wn) 可以设计出海明窗的 FIR 低通滤波器 。
在设计出滤波器之后 ,最好用 freqz 求出频率响应来验证是否 满足指标要求 。本例中若用 31 阶滤波器通带波动为 Rp = 0.
MAT LAB 是一个交互式的以矩阵为基础的软件 , 它广泛
4 在 FPGA 上实现 FIR 滤波器
美国 ALTERA 公司的 ACEX1K 系列 FPG A ,采用柔性互连 技术 ( Flexible Interconnect) ,用大量的快速互连通道 ( Fast Track
Interconnect) 进行连续快速的布线 ,并且布线的延迟是可预测
应用于教学 、 科研和工程设计等各个领域 。随着 MAT LAB 的 不断完善 ,尤其是 MAT LAB 的信号处理工具箱 ( signal process2
ing toolbox) 的推出 ,如今 MAT LAB 已经成为数字信号处理 DSP (Digital Signal Processing) 应用中分析和仿真设计的主要工具 。 MAT LAB 提供了丰富的函数 , 其中 fir1 函数实现了加窗线性
1 引言
FIR ( 有限长单位冲激响应) 滤波器被广泛应用于各类数
字信号处理系统 ,它可以满足滤波器对幅度和相位特性的严 格要求 ,避免模拟滤波器温漂和噪声等问题 , 具有精确的线 性相位 ,容易用硬件实现 ,并且系统总是稳定的 。 在非实时或低速系统中 ,FIR 算法可以在 DSP 或 CPU 上 用软件实现 ,但是在一些实时性要求较高的如雷达控制或无 线通讯等系统中 , 由于程序的顺序执行 , 软件方式的实时性 往往不能满足要求 ,此时要求直接用硬件高速实现 。定制 A2
SIC 芯片虽然能解决问题 , 但费用太高 , 周期较长且不够灵
图 1 FIR 滤波器的基本结构
于是可以得出 , FIR 滤波器的传递函数为
H( z) = Y ( z) = X ( z)
N- 1
活 ,而用单片通用数字滤波器如 TDC1028 虽然使用简单方 便 ,价格便宜 , 但集成度不够高 , 字长和阶数规格较少 , 在实 际应用中都受到了限制 。在这种情况下 ,随着可编程逻辑器 件的容量和速度不断增加 ,实现单片系统集成 ( System - On Chip ) 已经成为可能 。利用 FPG A ( 现场可编程门阵列器件 ) 实
FIR 滤波器的设计建立在对期望滤波器频率特性的某种
其结构如图 1 所示 。 图 1 中 x ( n) 是最近 ( t = nT) 的输入信号 , x ( n - i) 是延 时了 i 个采样周期的输入信号 , h ( i ) 是第 i 个延时节的加权值
( 即滤波器系数) , y ( n) 是时刻 t = nT 时滤波器的输出信号 。
ROM(n) (n = 0. . 4)
存储数据
0 h[ 4n ] h[ 4n + 1 ] h[ 4n + 1 ] + h[ 4n + 0 ]
b =0
∑s
b(
n) 2 , FIR 滤波器的
b
输出可表示为 :
N- 1
y ( n) =
i =0
∑h ( i) x ( n -
i) =
b =0
∑ ∑s
i =0
8
fir2 、 Hilbert 变换器及其它具有奇对称系数的滤波器设计函数 firls 和 remez 等 。
储空间 ,支持双口 RAM 方式 。ACEX1K 系列基于查找表 LUT
(Look - Up Table ) 的结构 , 非常适合于脉动阵列并行处理结
数字滤波器的设计要经过三步 : 确定指标 、 逼近和实现 。 通常在设计滤波器之前 ,应该先根据具体的应用确定一些技 术指标 。然后就可以根据数学知识和滤波器的基本原理提 出一个滤波器的模型来逼近给定的指标 ,逼近的结果通常是 得到以差分方程或脉冲响应描述的滤波器 。最后可以根据 这个描述用硬件或软件实现 。至此完成一个滤波器设计的 全过程 。本文就是结合具体例子 ,用 MATALB 的信号处理工 具箱进行参数的设计 ,然后用 FPG A 器件实现 。 ω 根据工程经验 , 滤波器指标一般给定参数为 ωp 、 s ( 或直 接给出 ωn 和 Δ Rp 和 As 。 则窗函数设计的经验公式为滤波 f) 、
N - 1
输出加权累加 ,得到滤波器的输出 。数学上可以表示为
N- 1
2
( N 为奇数)
( 4)
这样 , 只需要做 N/ 2 ( 当 N 为奇数时为 ( ( N + 1) / 2) ) ) 次而不
i) ( 1)
y ( n) =
i =0
∑h ( i) x ( n -
是 N 次乘法就可以实现滤波器的功能 , 可以大大地节约硬件 资源的消耗 , 还可以提高速度 。 简化结构如图 2 所示 。
器阶数 N =
As - 7 . 95 + 1。 14 . 36Δ f
下面以一个简单的例子来说明低通 FIR 滤波器的设计 方法 。 该滤波器指标要求为 :低通 ,ωn = 0 . 4 ,Δ f = 0 . 1 , Rp =
0 . 25dB , As = 50dB 。 输入数据八位 。
由表 1 可以知道 ,海明窗的最小阻带衰减在 50dB 以上 ,相 对 Blackman 窗来说 ,它提供了较小的过渡带 ,因此实现相同指 标的滤波器可以有较小的阶数 。由滤波器阶数公式可求得 n
相关文档
最新文档