基于MATLAB的FIR数字滤波器的设计
用MATLAB设计FIR数字滤波器
实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。
2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。
3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。
二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。
由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。
FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。
重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。
本实验重要简介窗函数法。
用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。
(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。
可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。
程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。
如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。
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滤波器设计与实现
二、实验平台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。
基于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和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。
FIR滤波器的MATLAB设计与实现
FIR滤波器的MATLAB设计与实现FIR滤波器(Finite Impulse Response Filter)是一种数字滤波器,其特点是其响应仅由有限长度的序列决定。
在MATLAB中,我们可以使用信号处理工具箱中的函数来设计和实现FIR滤波器。
首先,需要明确FIR滤波器的设计目标,包括滤波器类型(低通、高通、带通、带阻)、通带和阻带的频率范围、通带和阻带的增益等。
这些目标将决定滤波器的系数及其顺序。
在MATLAB中,我们可以使用`fir1`函数来设计FIR滤波器。
该函数的使用方式如下:```matlabh = fir1(N, Wn, type);```其中,`N`是滤波器长度,`Wn`是通带边缘频率(0到0.5之间),`type`是滤波器的类型('low'低通、'high'高通、'bandpass'带通、'stop'带阻)。
该函数会返回一个长度为`N+1`的滤波器系数向量`h`。
例如,如果要设计一个采样频率为10kHz的低通滤波器,通带截止频率为2kHz,阻带频率为3kHz,可以使用以下代码:```matlabfc = 2000; % 通带截止频率h = fir1(50, fc/(fs/2), 'low');```上述代码中,`50`表示滤波器的长度。
注意,滤波器的长度越大,滤波器的频率响应越陡峭,但计算成本也更高。
在设计完成后,可以使用`freqz`函数来分析滤波器的频率响应。
例如,可以绘制滤波器的幅度响应和相位响应曲线:```matlabfreqz(h);```除了使用`fir1`函数外,MATLAB还提供了其他函数来设计FIR滤波器,如`fir2`、`firpm`、`firls`等,具体使用方式可以参考MATLAB的文档。
在实际应用中,我们可以将FIR滤波器应用于音频处理、图像处理、信号降噪等方面。
例如,可以使用FIR滤波器对音频信号进行去噪处理,或者对图像进行锐化处理等。
基于MATLAB的FIR数字低通滤波器设计综述
陕西理工学院课程设计基于MATLAB的FIR数字低通滤波器设计作者:周龙刚(陕西理工学院物理与电信工程学院通信工程专业 2011级4班,陕西汉中 723003)指导老师:井敏英[摘要]FIR数字滤波器是数字信号处理的一个重要组成部分,由于FIR数字滤波器具有严格的线性相位,因此在信息的采集和处理过程中得到了广泛的应用。
本文介绍了FIR数字滤波器的概念和线性相位的条件,分析了窗函数法、频率采样法和等波纹逼近法设计FIR滤波器的思路和流程。
在分析三种设计方法原理的基础上,借助Matlab仿真软件工具箱中的fir1实现窗函数法中的哈明窗设计FIR低通滤波器。
[关键词]FIR数字滤波器;线性相位窗函数;法哈明窗;MatlabDesigning FIR low-pass digital filter based on VHDLZhoulonggang(Grade11,Class4,Major of Communication Engineering,School of Physics and Telecommunication Engineering , Shaanxi University of Technology,Hanzhong 723003,Shaanxi)Tutor:JingYingMinAbstract:FIR digital filter is an important part of digital signal processing,the FIR digitalfilter with linear phase, so it has been widely applied in the collection and processing of information in the course of. This paper introduces the concept of FIR digital filter with linear phase conditions, analysis of the window functionmethod and frequency sampling method and the ripple approximation method ofFIR filter design ideas and processes. Based on analyzing the principle of three kinds of design method, using Matlab simulation software fir1 toolbox in design and implementation of FIR Hamming window window function method in the low pass filter.Keywords:FIR digital filter, linear phase,the window function method,Hamming window,Matlab目录引言 (1)1. 基本原理 ............................................................................................................................................... - 1 -1.1 FIR数字滤波器概述 ................................................................................................................... - 1 -1.2 FIR数字滤波器线性相位定义 ................................................................................................... - 2 -1.3 FIR数字滤波器线性相位时域条件 ........................................................................................... - 2 -2. 系统设计 ............................................................................................................................................... - 3 -2.1 FIR数字滤波器的窗函数设计方法 ........................................................................................... - 3 -2.1.1 窗函数法的设计思路....................................................................................................... - 3 -2.1.2 常见窗函数介绍............................................................................................................... - 3 -2.1.3 吉布斯效应....................................................................................................................... - 5 -2.2 FIR数字滤波器频率采样设计法 ............................................................................................ - 5 -2.3 FIR数字滤波器等波纹逼近设计法 ........................................................................................... - 6 -3 详细设计 ................................................................................................................................................ - 7 -3.1 程序设计流程.............................................................................................................................. - 7 -3.2 Matlab简介 .................................................................................................................................. - 7 -3.3窗函数法的Matlab实现 ............................................................................................................. - 8 -3.3.1 fir1函数介绍..................................................................................................................... - 8 -3.3.2基于fir1函数的窗函数法FIR滤波器设计.................................................................... - 8 -4 总结 .................................................................................................................................................. - 11 - 致谢 ...................................................................................................................................................... - 11 - 参考文献 .................................................................................................................................................. - 11 - 附录A . (14)引言随着信息科学和计算机技术的不断发展,数字信号处理(DSP ,Digital Signal Processing)的理论和技术也得到了飞速的发展,并逐渐成为一门重要的学科,它的重要性在日常通信、图像处理、遥感、声纳、生物医学、地震、消费电子、国防军事、医疗方面等显得尤为突出。
基于Matlab的FIR数字滤波器的设计与实现
“, 一 ቤተ መጻሕፍቲ ባይዱ d 一 , n
—
归一 化过 渡带
) ^ 1 ∑ ( ( ) 月 一。
¨ B ●
其 系统 函数 为
—
l
( 一∑^ 妞 # 》 ( ~ ^
口
滤 波器 的 阶数 当A s≥ 5 0时,B= 0・1 0 ( s 1 2 A 8・ ) 当 2 < s 5 7, 1 A < 0时 B= 0・ 5 4 2( s 2 ) 4 0・ 7 8 A 一 1 。 8 A ~ 1 0・ + 0 8 6( s 2 ) 最 后利用 计算机仿 真实 现设计 的滤波 器, 再分 析滤波 结果来 判断设计 是否 满 足要 求 。 3 用 M TA 对 F R 字滤 波器 进 行仿真 设计 ALB I数 M TA 是一 种科 学 计算软件 , 门 以矩阵 的形式 处理数 据, ALB 专 它将 高性 能的 数 值计 算和 可视 化集 成在 一起 , 并提供 了大 量 的 内置 函数, 而被广 泛地 应用 从
理 技 术, 它成 为一 个 非 常优 秀 的算 法研 究 与辅 助 设计 的 工具 。 使 3 1程 序代 码 的编 写流程 我们 以低 通数 字滤 波器 设 计为例 , 来介 绍用 M TA 对 F R 字滤波 器进 A LB I数
基于MATLAB的FIR数字滤波器的优化设计
。科教前沿0
SCIENCE&TECHNOLOGY INFORMATION
2008年 第 32期
基于 MATLAB的 FIR数字滤波器的优化设计
陈玲 玲 ’ 张 虹 (1.吉林化 工 学院 吉林 吉 林 132022;2.东 北 电力大 学 吉林 吉 林 132022)
【摘 要】本文主要介 绍 FIR 滤波 器的原 理,在此基础 上利用最 小二 乘法对 FIR 滤 波器进行优化设 计.同时在 MATLAB平台下以生动界 面 、丰 富 内容 、交 互 式人 机 对 话 对优 化后 FIR 滤 波 器进 行 仿 真 ,达 到 了预 期 理 想 滤 波 效 果 .
种方法均不易精确控制通带与阻带边界频率。所 以在实际应用 中有一 和式最小,即希望J (n)一^(n)l_0,D≤n≤Ⅳ_1.在这一条件下,就有e2
定 局 限性 [】J.为此 ,提 出 最 小 二 乘 优 化 设 计 法 ,它 可设 计 任 何 最 优 线 性 相
位 FIR滤 波 器 ,而 且 作 为 一 个 子 程 序 在 许 多 计 算 平 台 上 都 可 获 得 ,因 而 。mi e ’也 就是 说要满
fn一 )
丌
)]
n≠
则误差能量:lE( )I =IHa(ej ̄) ( )2(1)
2.3FIR数 字 滤 波 器 幅 度 特 性 推 导 由于 ^( )=h (n) ( ),所 以根 据 FTr性 质 ,时 域乘 积 ,在 频 域 卷 积
均方误差:e。= 『二I ( )一H(el ̄)l 如 (2)
2)高通 h(n)表达式 (n)= sin[oo (o
一
逼 近频 带 范 围 内,逼 近 误 差 绝 对 值 最 大 值 平 方 和 为 最小 ,从 而 得 到 唯 一
基于MATLAB的FIR数字滤波器设计
基于MATLAB 的FIR 数字滤波器设计摘自:张登奇,李望移.基于MATLAB 的FIR 数字滤波器设计[J]. 计算机时代,2007,(11)摘 要:数字滤波是数字信号处理的重要内容,数字滤波器可分为FIR 和IIR 两大类。
文章根据FIR 滤波器的设计原理,详细介绍了MATLAB 环境下FIR 数字滤波器的设计方法和操作步骤,并列出了设计实例程序及运行结果。
关键词:MATLAB ;数字信号处理;数字滤波器;有限脉冲响应2 FIR 数字滤波器的窗口设计法窗口设计法是从时域出发,将理想滤波器的单位脉冲响应截取一段作为传输函数的系数。
通常情况下,滤波器指标往往在频域给出,算出的理想单位脉冲响应一般是非因果、无限长、物理上不可实现的,需先截短再右移使之成为有限长因果序列,只要截取的长度和方法合理,总能满足频域指标要求。
截短就是加窗,矩形窗最简单,在频域属最小平方逼近,但峰肩和波纹不太理想。
一般希望窗函数的频谱主瓣尽可能地窄,以获得较陡的过渡带,同时能量又要尽量集中在主瓣,以减小峰肩和波纹,进而增加阻带衰减。
实际工程中常用窗的特性及MATLAB 函数比较如表1所示。
表1 常用窗函数性能比较利用窗口设计法设计FIR 数字滤波器的过程:)()()()()(ωωj D TFT n w d ID TFT j d e H n h n h e H −−→−−−→−−−→−⨯具体操作步骤如下:1、对设计指标进行归一化处理。
数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标对采样频率进行归一化处理,归一化公式为:2、根据阻带衰减要求和过渡带宽,由表1选择窗函数的类型并估计窗口长度M ,此时滤波器的阶数为M-1(注意窗口长度与滤波器类型的关系)。
3、根据滤波器的理想频响求出理想单位脉冲响应)(n h d 。
4、将理想单位脉冲响应与窗函数相乘,得系统单位脉冲响应。
5、用freqz 函数验算技术指标是否满足要求。
基于MATLAB的希尔伯特fir滤波器设计
本科毕业设计(论文)题目基于MATLAB的希尔伯特FIR滤波器设计_姓名专业电子科学与技术学号指导教师张庆辉郑州科技学院电气工程学院二○一四年五月目录摘要 (I)ABSTRACT (II)前言 (IV)1 设计的目的与意义 (1)2 Matlab概述 (3)2.1 MATLAB语言的发展 (3)2.2 MATLAB的主要功能 (3)2.3 matlab的程序结构 (4)3 希尔伯特变换的基本原理 (5)3.1希尔伯特变换的定义 (6)3.1.1 卷积积分 (6)相位 (6)3.1.2 23.1.3 解析信号的虚部 (7)3.2 希尔伯特变换的性质 (8)3.2.1 线性性质 (8)3.2.2 移位性质 (8)3.2.3 希尔伯特变换的希尔伯特变换 (8)3.2.4 逆希尔伯特变换 (8)3.2.5 奇偶特性 (9)3.2.6 能量守恒 (9)3.2.7 正交性质 (9)3.2.8 调制性质 (9)3.2.9 卷积性质 (10)4 Fir滤波器的基本原理及设计方法 (11)4.1 Fir滤波器的基本原理及其特点 (12)4.1.1 FIR数字滤波器的基本原理 (12)4.1.2 FIR滤波器的基本特点 (12)4.2 FIR数字滤波器的设计 (13)5 希尔伯特fir滤波器 (14)6 希尔伯特变换的应用 (18)6.1 希尔伯特变换在探地雷达数据处理中的应用 (18)6.1.1 公式 (18)6.1.2 算法 (19)6.2 数字I-Q下变频器 (20)6.2.1 希尔伯特变换 (21)6.2.2 基于希尔伯特变换的数字I-Q下变频器 (22)6.3 希尔伯特变换在解调中的应用 (22)6.3.1 希尔伯特变换 (22)6.3.2 在解调中的应用 (23)6.3.3 解调性能分析 (24)7 希尔伯特变换器的Matlab设计 (26)7.1 直接程序法 (26)7.2 利用FDATool工具设计法 (27)7.3 希尔伯特变换器的效果验证 (31)结论 (33)前景展望 (34)致谢 (35)参考文献 (36)附录 (37)基于MATLAB的希尔伯特FIR滤波器设计摘要在通信系统中,经常需要对一个信号进行正交分解,即分解为同相分量和正交分量,并能有效地提取复杂信号的瞬时参数——瞬时振幅、瞬时相位和瞬时频率。
matlabfir滤波器设计
matlabfir滤波器设计由于滤波器设计的复杂性,在matlab中完成滤波器设计过程可以减少大量的计算工作,下面将介绍在matlab中的FIR滤波器的设计。
一、matlab入口1. matlab工作环境:(1)安装matlab软件,在matlab中运行“dspstart”,启动数字信号处理的工作环境,包括了一些常用处理的函数和示例程序,在这种环境下可以进行滤波器设计的研究。
(2)matlab可以完成离散时间信号处理,因此,滤波器的设计需要在离散时间信号领域完成,即用离散时间信号的算法来完成滤波器设计。
2. matlab工具箱:(1)安装滤波器设计工具箱,这是一个专门用于滤波器设计的matlab库,包括了四种基本滤波器:抗谐波滤波器(notched filter),低通滤波器(low pass filter),带阻滤波器(band stop filter),以及带通滤波器(band pass filter)。
(2)安装滤波器设计高级工具箱,这是一个高级的matlab 库,可以支持滤波器的更复杂的设计,包括滤波器的参数优化,非线性滤波器,以及多种滤波器结构的数字滤波器。
3. matlab辅助性的工具:(1)安装滤波器设计助手,这是一个滤波器设计的可视化工具,可以帮助滤波器的初学者快速上手,了解滤波器设计的基本思想,并运行滤波器的例子及示例程序。
(2)安装滤波器设计指南,这是一个matlab脚本文件,可以帮助滤波器的更高级的使用者了解滤波器设计的原理,以及各种滤波器的不同之处,可以大大提高滤波器的设计效率。
二、 matlab 滤波器设计思路1. FIR滤波器的设计:(1)首先要明确滤波器的工作频率范围,记录滤波器的输入信号精度以及输出精度。
(2)设计滤波器的类型,选择适用于该频率范围内的滤波器类型,如低通滤波器,带阻滤波器等。
(3)定义滤波器的功率频谱,根据滤波器的类型,定义滤波器的功率频谱,包括最大值,超调因数以及滤波器的边带幅度。
基于MATLAB的FIR数字滤波器的设计
p e O t di t fi te des gn as uni ow r f he gi a1 l r i h a que dV nt e f a a ag o th co le o O t e es gn e mp ti n f h d i of cO ut ng mp i an d
3 10 ) 4 Oo
(n tt t f T cn l g , a n nN r a o l g ,J a g i G n hu 3 1O ) Is i u e0 e h o 0 y G na o m l c le e i n x a z o 4 OO
摘
要 :FR数字滤波器 是数 字滤波器 系统 中常见的滤波器 , I 本文介 绍通过 采用频率抽样设计法来设计 FR数字滤波器 , I
gr phi s en ri a c r de ng, th d i 0 t e Ov e es gn f h 1 、 —pa fi e f q nc c ar te s cs f si l io a an ys ss 1t r re ue y h ac ri ti O mu at n nd al is sh we t t O d ha ut iz M L t de g Di t Fi1 e ng s il e AT AB O si n gi a1 t ri i si mpl e and cO en en nV i t.
利用 HTA 语言 的强大功 能和在数字滤波器设 计上具有 的独特优势完成设计 中的计算 与图形的绘 制。对所设计 的低 通滤 波 ALB 器 的仿 真和 频率特性分析表 明, 利用 H TA 来设 计数 字滤波器简单、 ALB 方便。
关键词 :I 数 字滤波器: A LB FR H TA ;频率抽样法
基于MATLAB的数字滤波器的设计
基于MATLAB 的数字滤波器的设计1 引言数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散线性非时变系统,其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换或说处理的另一组数字量。
数字滤波器具有稳定性高、精度高、灵活性大等突出优点。
这里所说的数字滤波器是指理想带通,低通等的频率选择数字滤波器。
数字滤波器设计的一个重要步骤是确定一个可实现的传输函数H(z),这个确定传输函数H(z)的过程称为数字滤波器设计。
数字滤波器的一般设计过程为:(1)按照实际需要,确定滤波器的性能要求(通常在频域内给定数字滤波的性能要求)。
(2)寻找一满足预定性能要求的离散时间线性系统。
(3)用有限精度的运算实现所设计的系统。
(4)通过模拟,验证所设计的系统是否符合给定性能要求。
2 数字滤波器的设计滤波器分为两种,分别为模拟滤波器和数字滤波器。
数字滤波器可以理解为是一个计算程序或算法,将代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化的过程中,使信号按预定的形式变化。
数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR )和有限长冲激响应滤波器(FIR )。
数字滤波器指标:一般来说,滤波器的幅频特性是分段常数的,以低通为例,在通带内逼近于1,阻带内逼近与0,实际设计的滤波器并非是锐截止的通带和阻带两个范围,两者之间总有一个过渡带。
在设计滤波器时事先给定幅频特性允许误差,在通带范围内幅度响应以误差逼近于1,在阻带内幅1σ度响应以误差逼近于0。
2σ (1)πσσ≤≤≤≤≤≤-w w e H w w e H r jwc jw ,2|)(|,1|)(|11式中wc 和wr 分别为通带边界频率和阻带边界频率,wr-wc 为过渡带。
在具体的技术指标中往往用通带波动来表示,用最小阻带衰减At 来表示,其具体的对应公式这里就不详述了。
基于MATLAB的64阶FIR滤波器的设计
【 yw rs MA L L w ps l r6 rtodrFR Ke od ] T AB;o — as t ;4fs re;I i fe i —
cm ai n FR dgtl l r aes blyadl er p ae A 6 r —re I w ps l ri ds e ae nMA L B es n hc o p ro , I i a ft s r t it n n a hs, 4fs odrFR l — asft ei dbsdo T A . i a w i s i e i a i i it o ie s n g n1 gl h
主 要 介 绍 采 用 窗 函数 法 设 计 一 个 6 4阶 低 通 nR 滤 波 器 及 其 Ma a tb l
的 软件 实 现 的数 字滤 波 器 的单 位 脉 冲响 应 , ( 是 n 是 日 e ) J 希 望 逼 近 的 数字 滤 波 器 的 幅 频特 性 , ( ) 设 计 的 数 字 滤 波器 的单 位 hn是 脉 冲响 应 , n 是 我 们 选 取 的 窗 函数 。 截 断 过程 中 , 保 证 FR数 字 w( ) 在 要 I 滤波 器 的 稳定 性 和 线 性 相 位 的 特性 。 由于 截 断 效 应使 所 设 计 滤 波器 的
43 0 ) 5 0 7
要】 数字滤波 器在数字信号处理 中有着广泛的应用。它分为有限长脉冲响应( I FR)滤波器和无限长脉冲响应(I I R)滤波器。通过 比
较 , FR 数 字滤 波 器稳 定 性 和 线 性 相 位 的特 性 出发 , 用 MAT A 实现 6 从 I 利 L B 4阶 FR 低 通 滤 波 器的 设 计 . 对 被 高频 干 扰 的 信 号 进 行 滤 波 处 I 并
基于MATLAB的希尔伯特fir滤波器设计
本科毕业设计(论文)题目基于MATLAB的希尔伯特FIR滤波器设计_姓名专业电子科学与技术学号指导教师张庆辉郑州科技学院电气工程学院二○一四年五月目录摘要.............................................................................................................................. ABSTRACT . (I)前言..................................................................................................................................1 设计的目的与意义 02 Matlab概述 (2)2.1 MATLAB语言的发展 (2)2.2 MATLAB的主要功能 (2)2.3 matlab的程序结构 (3)3 希尔伯特变换的基本原理 (4)3.1希尔伯特变换的定义 (5)3.1.1 卷积积分 (5)相位 (5)3.1.2 23.1.3 解析信号的虚部 (6)3.2 希尔伯特变换的性质 (7)3.2.1 线性性质 (7)3.2.2 移位性质 (7)3.2.3 希尔伯特变换的希尔伯特变换 (7)3.2.4 逆希尔伯特变换 (7)3.2.5 奇偶特性 (8)3.2.6 能量守恒 (8)3.2.7 正交性质 (8)3.2.8 调制性质 (8)3.2.9 卷积性质 (9)4 Fir滤波器的基本原理及设计方法 (10)4.1 Fir滤波器的基本原理及其特点 (11)4.1.1 FIR数字滤波器的基本原理 (11)4.1.2 FIR滤波器的基本特点 (11)4.2 FIR数字滤波器的设计 (12)5 希尔伯特fir滤波器 (13)6 希尔伯特变换的应用 (17)6.1 希尔伯特变换在探地雷达数据处理中的应用 (17)6.1.1 公式 (17)6.1.2 算法 (18)6.2 数字I-Q下变频器 (19)6.2.1 希尔伯特变换 (20)6.2.2 基于希尔伯特变换的数字I-Q下变频器 (21)6.3 希尔伯特变换在解调中的应用 (21)6.3.1 希尔伯特变换 (21)6.3.2 在解调中的应用 (22)6.3.3 解调性能分析 (23)7 希尔伯特变换器的Matlab设计 (25)7.1 直接程序法 (25)7.2 利用FDATool工具设计法 (26)7.3 希尔伯特变换器的效果验证 (30)结论 0前景展望 (1)致谢 (2)参考文献 (3)附录 (4)基于MATLAB的希尔伯特FIR滤波器设计摘要在通信系统中,经常需要对一个信号进行正交分解,即分解为同相分量和正交分量,并能有效地提取复杂信号的瞬时参数——瞬时振幅、瞬时相位和瞬时频率。
基于Matlab的FIR数字滤波器的设计
应 用 Malb语 言 可 以快 捷地 设计 出 由软 件 t a 组成 的数 字滤 波器 , 容易 通 过 对 参 数 的修 改进 很
行 性能 的优化 。F R 滤波 器 ( 有 限 长 冲击 响应 I 即
滤 波 器 , ii mp leR s o s gtl ie ) F nt I us ep n eDii l r e aFt
(. 1 吉林 大学 机 械 科 学 与 工 程 学 院 ,吉林 长 春
摘
要 : 绍 了应 用 Malb语 言 设 计 F R数 字 滤 波 器 时 采 用 的两 种 方 法 — — 直 接 程 序 设 计 法 和 使 用 F A— 介 t a I D
to 界 面 的设 计 法 , ol 同时 介 绍 了 FR数 字 滤 波 器 几 种设 计 方 法 的 函数 调 用 格 式 ; 过 实 例 , 出 了程 序 设 计 法 I 通 给
维普资讯
第3 期
丁
吉 。 :基 于 Mal 等 t b的 FR数 字 滤 波 器 的设 计 a I
25 5
由此得 到 系统 的差分 方程 :
( )= 6 0 z( + 6 1 z( 一 1 + … + ( ) ) () )
容, 数字 滤波器 的 设计 已成 为 数 字 信 号处 理 研 究
中的热点 之一 。
6N — 1z n一 ( — 1] ( )E N )
若 F R 数 字 滤 波 器 的 单 位 脉 冲响 应 序 列 为 I ^ , ( ) 它就 是滤波 器 系数 向量 b n E () 引。 应 用 Mal t b设计 F R滤 波 器 的 主要 任务 就 a I
用MATLAB设计数字FIR低通滤波器(哈明窗)
用MATLAB设计数字FIR低通滤波器(哈明窗)设计数字FIR低通滤波器,技术指标如下:Wp=0.2pi.rp=0.25db;Ws=0.3pi,as=50db.求解,如下图:程序:wp=0.2*pi;ws=0.3*pi;trwidth=ws-wp;M=ceil(6.6*pi/trwidth)+1;%朝正无穷方向取整n=[0:1:M-1];wc=(ws+wp)/2%求的截止频率(弧度)hd=ideal_lp(wc,M) %调用计算理想低通滤波器的单位取样响应wham=(hamming(M))';%哈明窗函数h=hd.*wham;[H,w]=freqz(h,1,1000,'whole'); %求Z变换频率响应函数H=(H(1:1:501))';w=(w(1:1:501))'mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);grd=grpdelay(h,1,w);deltaw=2*pi/1000;Rp=-(min(db(1:1:wp/deltaw+1)))As=-round(max(db(ws/deltaw+1:1:501)))subplot(1,1,1)subplot(2,2,1),stem(n,hd);title('理想脉冲响应')axis([0 M-1 -0.1 0.3]);xlabel('N');ylabel('hd(n)');subplot(2,2,2),stem(n,wham);title('Hamming窗')axis([0 M-1 -0 1.1]);xlabel('N');ylabel('w(n)');subplot(2,2,3),stem(n,h);title('实际脉冲响应')axis([0 M-1 -0.1 0.3]);xlabel('N');ylabel('h(n)');subplot(2,2,4),plot(w/pi,db);title('相对标尺的幅度响应');grid on;axis([0 1 -100 10]);xlabel('frequency in pi units');ylabel('decibels');set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1])%设置或修改LTI对象的属性值set(gca,'XTickMode','manual','XTick',[-50,0])set(gca,'XTickLabelMode','manual','XTickLabels',['50';'0'])子程序:function hd=ideal_lp(wc,N);a=(N-1)/2;n=[0:1:(N-1)];m=n-a+eps;hd=sin(wc*m)./(pi*m);。
基于MATLAB与CCS的FIR滤波器的C语言实现
基于MATLAB与CCS的FIR滤波器的C语言实现FIR(Finite Impulse Response)滤波器是一种数字滤波器,其输出仅取决于有限长度的输入序列。
MATLAB和CCS都提供了强大的工具和函数来设计和实现FIR滤波器。
下面将以一个具体的例子来介绍如何使用MATLAB和CCS来实现FIR滤波器的C语言实现。
首先,在MATLAB中使用fir1函数进行FIR滤波器的设计:```matlabfs = 1000; % 采样频率fpass = 200; % 通带截止频率fstop = 250; % 阻带起始频率Rp=1;%通带最大纹波(dB)Rs=60;%阻带最小衰减(dB)%计算通带和阻带频率f1 = fpass / (fs / 2);f2 = fstop / (fs / 2);% 使用fir1函数设计FIR滤波器b = fir1(30, [f1 f2], 'stop', kaiser(31, 3));%输出滤波器系数```然后,使用MATLAB中的codegen函数将FIR滤波器系数转换为C代码:```matlabcodegen -config:dll FIRFilter -args {b} -report```这将生成一个名为FIRFilter.c的文件,在该文件中包含了FIR滤波器的C语言实现。
接下来,在CCS中创建一个新的project,并将FIRFilter.c文件添加到该project中。
在Source Files文件夹中右键单击,并选择“Add Existing Files to Project”,然后选择FIRFilter.c文件。
接着,点击Build按钮来编译并生成可执行文件。
最后,在CCS中使用FIR滤波器的C语言实现进行信号处理。
可以通过以下代码示例来实现:```c#include <stdint.h>#include "FIRFilter.h"#define BUFFER_SIZE 1000//输入信号int16_t inputSignal[BUFFER_SIZE];//输出信号int16_t outputSignal[BUFFER_SIZE];int main(void)//初始化输入信号//...//调用FIR滤波器实现函数FIRFilter(inputSignal, outputSignal, BUFFER_SIZE);//处理输出信号//...return 0;```上述代码中,首先定义了输入和输出信号的数组,然后在main函数中调用FIR滤波器实现函数,并传入输入和输出信号的数组以及信号的长度。
matlab的fir滤波器设计
matlab的fir滤波器设计FIR(Finite Impulse Response)滤波器是指响应有限长度序列输入的数字滤波器,它可以用于信号去噪、信号滤波和信号重构等领域。
MATLAB软件是目前应用广泛的数学软件工具箱,它可以实现数字信号处理、信号滤波和滤波器设计等功能。
下面我们来分步骤解析如何利用MATLAB完成FIR滤波器设计。
第一步,确定滤波器参数要设计FIR滤波器,需要明确设计的目的,例如信号去噪还是信号滤波。
同时,需要确定滤波器的参数,包括滤波器的采样率、通带边界、阻带边界等。
第二步,调用MATLAB工具箱并加载数据打开MATLAB软件,选择Digital Signal Processing Toolbox,调用fir1函数,该函数用于设计一般的低通、高通、带通和带阻FIR 滤波器。
加载需要滤波的数据,并将其存储在一个变量中。
第三步,进行滤波器设计在MATLAB命令行窗口中输入以下命令,来进行FIR滤波器的设计。
h = fir1(N, Wn, 'type');其中,N是滤波器的阶数,Wn是正规化的截止频率值,type是滤波器的类型,可以是低通、高通、带通和带阻滤波器。
例如,我们要设计一个30阶的低通滤波器,带通频带为0.3至0.7,采样率为1000Hz,输入以下命令:N = 30;Wn = [0.3 0.7];Btype = 'low';FIR_filter = fir1(N, Wn, Btype);第四步,使用FIR滤波器进行滤波使用filter函数,可以将设计好的FIR滤波器应用到加载的数据上,进行滤波操作。
Y_filtered = filter(FIR_filter, 1, X);其中,FIR_filter是设计好的FIR滤波器,X是加载的待滤波数据,Y_filtered是经过滤波器处理后的数据。
第五步,可视化输出结果通过绘制函数将滤波器的输入和输出信号进行可视化处理,观察滤波效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第12期2010年12月机械设计与制造M achi ner y D esi gn&M anuf act ur e87文章编号:100l一3997(20lO)12枷埘基于M A T L A B的FI R数字滤波器的设计梁辰(抚顺职业技术学院,抚顺113006)T he deSi gn of FI R djgi t aI f¨t e r baSed O n M A T L A BU A N G C hen(Fus hun V oc at i onal7re c hnol ogy Inst i t ut e,Fus hun1l3006,C hina);【摘要】介绍了一种利用M A TL A B信号处理工具箱设计肌肉电信号数字滤波器的方法,给出了;}使用M A T LA B语言进行程序设计和界面设计的详细步骤。
利用M A TLA B设计数字滤波器,有利于滤波{;器设计的优化和为硬件实现提供数据基础。
;{关键词:M A TL A B;肌电信号;数字滤波器{{【Abst r a ct】^i m r odw es口撇琥od加r如s话以i昭帆e艮cf r om妒gr叩^记si gn以d谚础∥kr6y眦i地i增口{;舰4z M B s匆以pr oces5i愕I|}豇删记p脚池s如£反2ed s即s扣r如s话田i昭p删即郴m d i眦e∥缸es.6y琊i ng;{t k删黝B z嘴M呼加^幻^括向D砌跆幻印£i m拓吆f胁肚er缸劬蒯p聊诚ng o抛口6∞e加t k5;舭砌埘n阳i,印如,聊n£m i on如r如s切i,蟛口di g£以∥f抛r.;{K ey w or ds:M A T LA B;E l ect r om yogr apl l i c s噜nal;Di李t a l nl t er{中图分类号:TH l6文献标识码:AM AⅡA B是一种矩阵运算为基础的交互式程序语言,着重M A l队B是进行科学研究常用且必不可少的工具。
针对科学计算、工程计算和绘图的需求。
与其他机器语言相比,其M A r I l A B软件由主包和各类工具箱构成。
其中,主包基本上特点是简洁和智能化,适应科技专业人员的思维方式和书写习是一个用c,C++等语言编写成的函数库。
该函数库提供矩阵(或惯,使得编程和调试效率大大提高。
它用解释方式工作,键入程序数组)的各种算法以及建立在此基础上的各种应用函数和一些相立即得出结果,人机交互性能好,为科学人员所乐于接受。
特别是关的用户友好操作界面。
而工具箱则从深度和广度上大大扩展了它可适应多种平台,并且随计算机硬、软件的更新而及时升级。
适M A T LA B主包的功能和应用领域。
从使用角度看,这些工具箱可用于工程应用各领域的分析设计与复杂计算,它使用方便,输入分为功能性工具箱和学科性工具箱两大类。
前一类工具箱通用于简捷,运算高效且内容丰富,很容易由各用户自行扩展。
因此,各个学科领域,如“符号工具箱”;后一类工具箱则与专门学科密★来稿日期:20l咖2—06大应力与装配过紧的程度无关;但是管道的一阶固有频率随着刚响,但使管道的最大直力和最大位移都变大并使应力和位移的分布发度系数的增大而增大,到达一定程度趋于稳定。
生改变;过松装配对管道的应力和位移的分布及管道的固有频率等都表4装配过松时位移荷载与管道特征量的关系表有所改变;并且装配缺陷的不同程度对管道强度影响不同。
因此管道!!塑塑!Q!堡!堡型!堡!竺:!!Q!!竺进行卡箍装配时应尽量减少产生缺陷,如果有缺陷产生应该重新计算』型L j釜堕—塑丝—竺型—羔垡L』丝三_』翌生』!Z:丝—三王!生管道的应力、位移和固有频率,并采取相应的补救措施。
88粱辰:基于M A TL A B的F I R数字滤波器的设计第12期切相关,如“信号处理工具箱”、“神经网络工具箱”、“金融分析工具箱”等,这也大大促进了M A T LA B语言在各个领域的应用。
M A l I A B提供了丰富的函数,其中f i r J函数实现了加窗线性相位nR滤波器设计的经典方法,f i r l主要用于常用的标准通带滤波器设计,包括低通、带通、高通和带阻数字滤波器。
除此之外,M A TLA B还提供了多带nR滤波器的设计函数f i r2、H il ber t变换器及其它具有奇对称系数的滤波器设计函数6r l s和r em ez等。
数字滤波器的设计要经过三步:确定指标、逼近和实现。
通常在设计滤波器之前,应该先根据具体的应用确定一些技术指标,然后就可以根据数学知识和滤波器的基本原理提出一个滤波器的模犁来逼近给定的指标,逼近的结果通常是得到以差分方程或脉冲响应描述的滤波器,最后可以根据这个描述用硬件或软件实现,至此完啦—个滤波器设计的全过程。
1FI R数字滤波器的设计指标以设计处理肌电信号的滤波器为例,需要根据肌电信号的特点来进行研究。
数字滤波器的核心思想是突出有效波,抑止干扰波。
肌电信号本身是一种比较微弱的电信号,加之皮肤和组织对肌电信号均有衰弱作用,更易受干扰影响。
对肌电信号的滤波处理就是要尽餐消除噪声和干扰的影响,提高信号的保真度。
有效的肌电信号大致在(10~500)H z范围,主要能量集中在(5叽150)H z范围内。
根据采样定理:采样间隔必须不大于导名,(∞f 2顽。
:7::l是信号“f)的最高频率成分),因此取滤波器的采样频率设为2000H z。
同时由于电源的干扰及其它仪器中电子元件电子噪声的存在,还要滤除50H z的工频信号。
2FI R数字滤波器的设计方法目前,F1R滤波器的主要设计方法是建立在对理想滤波器频率特性做某种近似的基础上的,这砦近似方法有窗函数法、频率抽样法和最佳一致法。
其中,窗函数法是一种基本的设计方法,其设计方法较为成熟。
如图l(a)所示,Fl R低通滤波器的理想冲激响应%(几)的非零值分布在(一∞,+*)的无限区间上,因此是无限序列。
但是,如图l(a)所示,也可以看出,随着n的绝对值的增加,“n)的值趋于零。
因此,我们可以忽略充分大的以后棘凡)的值,即选定某个充分大的正整数肼,构成—个新的序列风(n)。
嘶,=∥‘涮嚣:㈩显然,巩(n)是有限序列,它是由理想冲激响应序列%(n)截短以后得到的,称吼(厅)为截短冲激响应,其情形如图l(b)所示。
若用它作nR滤波器的冲激响应,则当朋增加时,相应的截短频率响应虬(,)可以无限地逼近理想频率响应巩(,)。
可是,截短冲激响应序列日。
(n)虽然是有限序列,却是非因果序列。
为了解决这个问题,我们将日..(凡)作一定的移位,构成一个新序列:|I l(n)=;日。
(珏.M)(一∞<n<+*)(2)所得到的新序列满足|Il。
(n埘)勘(,t):D,是因果的有限序列,如图l(c)所示。
^(,1)就是设计结果,以I l l(n)作冲激响应序列的字滤波器就是所设计的FIR数字滤波器。
这种从给出理想频率响应,计算理想冲激响应,最后将理想冲激响应截短、移位后得到所需要的w R数字滤波器冲激响应的设计方法,通常称为窗函数法。
(a)理想冲激响应序列(b)截短冲激响应序列(c)移位后的截短冲激响应序列图l理想冲激响应序列一截短和移位这种简单的截短方法在频率响应不连续处出现了所谓的吉布斯(G i bbs)现象,使逼近的频率响应具有确定百分率的尖冲振幅和波动波纹。
解决这一现象的一个有效方法是利用有限“加权”序列,即所谓的“窗”序列来修正式(1)。
这种方法被称为“加窗法”,通常也称之为傅立叶级数法。
枷)卜)一骘垃箍半(3)10其余的n式中:脚数。
这个截短过程可以认为是无限长的取样响应和有限长的窗函数埘(n)的乘积,即:^(n)勘。
(n协(n)(4)当然要作进一步的移位才能得到因果的。
经过变换可以得到所要设计的滤波器的幅度频率特性:.r1T日(∞)=1日(,)l=-杀f以(护)%(∞胡)棚(5)由式(5)可见,对实际FI R滤波器有影响的只是窗函数的幅度频率特性畎(∞)。
实际中的F I R滤波器的幅度频率特性是理想低通滤波器的频率特性和窗函数的幅度频率特性的复卷积。
复卷积给日(∞)带来过冲和波动,所以加窗函数后,对滤波器的理想特性的影响有以下几点:(1溜。
(甜)在截止频率的间断点变成连续的曲线,使出现了—个过渡带,宽度等于窗函数的主瓣的宽度。
由此可见,如果窗函数的主瓣越宽,过渡带就越宽。
(2)由于窗函数旁瓣的影响,使得滤波器的幅度频率特性出现了波动,波动的幅度取决于旁瓣的相对幅度。
旁瓣范围的面积越大,通带波动和阻带的波动就越大,换句话说,阻带的衰减减小。
而波动的多少,取决于旁瓣的大小。
(3)增加窗函数的长度,只能减小窗函数的幅度频率特性形(∞)的主瓣宽度,而不能减小主瓣和旁瓣的相对值,该值取决于窗函数的形状。
换句话说,增加截取函数的长度N只能相应的减小过渡带,而不能改变滤波器的波动程度。
为了满足工程上的需要,可以通过改变窗函的形状来改善滤波器的幅度频率特性,而窗函的选择原则是:N o.12D ec.2010机械设计与制造89①具有较低的旁瓣幅度,尤其是第—旁瓣的幅度。
②旁瓣的幅度下降的速度要快,以利于增加阻带的衰减。
③主瓣的宽度要窄,这样可以得到比较窄的过渡带。
通常上述的几个条件难以同时满足。
当选用主瓣宽度较窄时,虽然能够得到比较陡峭的幅度频率响应,但是通带和阻带的波动明显增加;当选用比较小的旁瓣幅度时,虽然能够得到比较平坦和匀滑的幅度频率响应,但是过渡带将加宽。
因此,实际中选用的窗函数往往是它们的折衷。
在保证主瓣宽度达到一定要求的条件下,适当地牺牲主瓣的宽度来换取旁瓣的波动减小。
实际中设计nR数字滤波器往往要求是线性相位的,因此要求满足线性相位条件,即要求埘(∞)满足:埘(,1)剐(^乙l川)(6)设计Fm滤波器常用的窗函数有:矩形窗函数、三角(B anlet t)窗函数、汉宁(H蝴i II g)窗函数、海明(H a舢i I lg)窗函数、布拉克曼(B l a ckm帅)窗函数和凯塞(K a i s er)窗函数。
具体指标如表1所示。
表1窗函数指标窗函数旁瓣峰值幅度(dB)过渡带宽度阻带最小衰减(dB)3FI R数字滤波器的实现根据滤波器的设计指标,阻带最大衰减>50dB,因此可以选择海明窗(H咖I ning)完成。
本文所设计的滤波器可以利用M AⅡA B 编程或直接利用其信号处理工具箱得到其单位脉冲响应,本次设计采用M A TLA B编程的方式来设计兀R数字滤波器,最后将单位脉冲响应提取出来,为硬件或软件实现滤波器提供滤波系数。
本次设计以设定的肌电信号FI R数字滤波器的设计指标为依据,把各项指标转换为M A T LA B对应参数,设计实现此滤波器。
根据肌电信号特点可以有两种设计方案:一种是分别设计低通、高通、带阻滤波器,从而实现保留(1啦500)H z频率范围的有效肌电信号,并滤除掉工频50H z信号;另一种方案则是直接设计—个两通带(即l O H z._49H z,51H z_ 500H z两个通频带)的滤波器。