matlab的fir高通数字滤波器的设计及分析

合集下载

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

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

基于MATLAB的FIR数字滤波器设计实验一离散时间系统的时域分析一、实验目的1.运用matlab仿真一些直观的线性时间系统,并研究它们的时域特性。

2.运用matlab中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。

二、实验原理离散时间系统其输入、输出关系可用以下差分方程描述:当输出信号为以太风信号时,系统的输入记为系统单位冲激响应n?dkk?0y[n?k]?m?k?0pkx[n?k]?[n]?h[n],则系统响应为如下的卷积计算式:y[n]?x[n]?h[n]?mx[m]h[n?m]当h[n]是有限长度的(n:[0,m])时,称系统为fir系统;反之,称系统为iir系统。

在matlab中,可以用函数y=filter(p,d,x)求解差分方程,也可以用函数y=conv(x,h)计算卷积。

例1clf;n=0:40;a=1;b=2;x1=0.1*n;x2=sin(2*pi*n);x=a*x1+b*x2;num=[1,0.5,3];den=[2-30.1];ic=[00];%设置零初始条件y1=filter(num,den,x1,ic);%计算输入为x1(n)时的输出y1(n)y2=filter(num,den,x2,ic);%计算输入为x2(n)时的输出y2(n)y=filter(num,den,x,ic);%计算输入为x(n)时的输出y(n)yt=a*y1+b*y2;%画出输出信号subplot(2,1,1)stem(n,y);ylabel(‘振幅’);title(‘加权输入a*x1+b*x2的输出’);subplot(2,1,2)stem(n,yt);ylabel(‘振幅’);title(‘平均值输入a*y1+b*y2’);(一)、线性和非线性系统对线性线性时间系统,若y1(n)和y2(n)分别就是输出序列x1(n)和x2(n)的积极响应,则输出即为合乎共振性,其中对任一x(n)?ax1(n)?bx2(n)的输入积极响应为y(n)?ay1(n)?by2(n),常量a和b以及任一输出x1(n)和x2(n)都设立,否则为非线性系统。

基于matlab窗函数的FIR带通滤波器设计

基于matlab窗函数的FIR带通滤波器设计
_
X l a b e l ( ’ f r e q u e n c y i n p i u n i t s ’ ) ; Y l a b d( 。 Ma g n i t u d e R e s p o n s e i n d b ’ ) ; s e t ( g c a , ’ X T i c k Mo d e ' , ' ma n u a l ' , ' X t i c k ’ , [ 0 , 0 . 2 , 0 . 3 5 , 0 . 6 5 , 0 . 8 , 1 1 ) s e t ( g c a , ’ Y T i e k Mo d e ’ , ’ ma J 1 u a l ’ , ’ Y t i c k ’ , [ - 6 0 , o ] ) 2 结 果 分 析
程序运算结果 : M =7 5 , R p= O . 0 0 2 8 , A s =7 5 , 运算结果 图如图 1 所 示。由图可知 , 7 5阶 布 莱 克 曼 窗 的最 小 阻带 衰 减 为 7 5 d b ( > 6 0 d b ) , 通带最大衰减 O . O 0 2 8 d b ( < < l d b ) , 符合设计题 目的技 术指标



限长 F I R( i f n i t e i m p u l s e r e s p o n s e ) 滤波 器 和 无 限 长 l i B( i n f i n i t e i m — p u l s e r e s p o n s e ) 滤波器 。F I R数字 滤波器幅频特性精 度 比 I I R低 , 且 滤波器所 需阶次 比较 高 , 但是 它拥有很好 的线性相位 特性 , 即不 同 昱 . 印 频率分量的信号经过 F I R滤波器后 其时间差 不变 。 MA T L A B是美 国 Ma t h Wo r k s 公司推 出 的一 套用 于工程计算 的可 视化高 性能语 言 与 软 件环境 , 是 数字信号处理技术 实现的重要手段 。本 文采用 M A T _ L A B窗 函数法实现 F I R数字滤波器的设计 。 至 1程序设计及运行结果 I 根 据研究任务 , 需设计 带通数字滤 波器 的性 能指标如 下 : 低通 阻带边界频 率 : w s l = 0 . 2 * p i , 高端阻带边界频率 : w s 2 = 0 . 8 p i ; 阻带最小 口 衰减: A s = 6 0 d b 。低端通带边 界频率 : w p l = 0 . 3 5 " p i , 高端 通带边界 频 率: w p 2 = 0 . 6 5 " p i ; 通带最大衰减 :R p = l a b 。 根 据窗 函数最小 阻带衰减 的特性 表[ 2 1 , 可采用布莱 克曼 窗提供 大于6 0 d B的衰减 。设 计程序如下 : p l o t ( w / p i , d b ) ; d ; %数字滤波器的参数

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滤波器系数。

FIR数字滤波器的设计与matlab实现

FIR数字滤波器的设计与matlab实现

W
(e
j
)

{0.5WR
()

0.25[WR
(

2 )
N 1
WR
(

2
)]}e N 1
j(
N 1) 2
W ()e ja
W
()

0.5WR
()

0.25[WR
(

2 )
N 1
WR
(

2 )]
N 1
(6-2-12b)
W () 是三项矩形窗的幅度响应 WR() 的移位加权和,
n0

H (z) z(N1)H (z1)
则有
H (z) 1 [H (z) z(N1)H (z1)] 2

1
N 1
h(n)[ z n

z (N 1) z n ]
2 n0

z ( N 1) / 2
N 1
h(n)
1
(n N 1)
[z 2

(n N 1)
❖ 滤波器设计任务的中心就是求得系统函数。 数字滤波器的系统函数最主要的特征有三个: 幅度平方响应、相位响应和群延迟。
❖ IIR滤波器可以用较少的阶数获得较好的幅度响应, 但由于其结构存在反馈,可能造成系统的不稳定, 其优异幅度响应一般是以相位的非线性为代价的, 非线性相位会引起频率色散。
❖ FIR系统的最主要特性之一就是可以构成具有线性 相位特性的滤波器。所谓线性相位特性是指滤波 器对不同频率的正弦波所产生的相移和正弦波的 频率成直线关系。因此,在滤波器通带内的信号 通过滤波器后,除了由相频特性的斜率决定的延 迟外,可以不失真地保留通带以内的全部信号。

实验11用MATLAB设计FIR数字滤波器综述

实验11用MATLAB设计FIR数字滤波器综述

实验11 用MATLAB 设计FIR 数字滤波器一、实验目的:1、加深对窗函数法设计FIR 数字滤波器的基本原理的理解。

2、学习用MA TLAB 语言的窗函数法编写设计FIR 数字滤波器的程序。

3、了解MATLAB 语言有关窗函数法设计FIR 数字滤波器的常用函数用法。

二、实验内容及步骤2、选择合适的窗函数设计FIR 数字低通滤波器,要求: w p =0.2π,R p =0.05dB ; w s =0.3π,A s =40dB 。

描绘该滤波器的脉冲响应、窗函数及滤波器的幅频响应曲线和相频响应曲线。

分析:根据设计指标要求,并查表11-1,选择汉宁窗。

程序清单如下: function hd=ideal_lp(wc,N)wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; tao=(N-1)/2; n=[0:(N-1)];m=n-tao+eps; hd=sin(wc*m)./(pi*m);function[db,mag,pha,grd,w]=freqz_m(b,a); [H,w]=freqz(b,a,1000,'whole'); H=(H(1:501))';w=(w(1:501))'; mag=abs(H);db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w);wp=0.2*pi;ws=0.3*pi;deltaw=ws-wp; wc=(ws+wp)/2;课程名称:数字信号处理 实验成绩: 指导教师:实 验 报 告院系: 信息工程学院 班级: 电信二班 学号: 姓名: 日期:N0=ceil(6.6*pi/deltaw);N=N0+mod(N0+1,2)windows=(hanning(N))';hd=ideal_lp(wc,N);b=hd.*windows;[db,mag,pha,grd,w]=freqz_m(b,1);n=0:N-1;dw=2*pi/1000;Rp=-(min(db(1:wp/dw+1))) %检验通带波动As=-round(max(db(ws/dw+1:501))) %检验最小阻带衰减subplot(2,2,1);stem(n,b);axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应'); xlabel('n');ylabel('h(n)');subplot(2,2,2);stem(n,windows);axis([0,N,0,1.1]);title('窗函数特性');xlabel('n');ylabel('wd(n)');subplot(2,2,3);plot(w/pi,db);axis([0,1,-80,10]);title('幅度频率响应');xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);set(gca,'YTickMode','manual','YTick',[-50,-20,-3,0]);grid subplot(2,2,4);plot(w/pi,pha);axis([0,1,-4,4]);title('相位频率响应');xlabel('频率(单位:\pi)');ylabel('\phi(\omega)');set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);set(gca,'YTickMode','manual','YTick',[-3.1416,0,3.1416,4]);gridN =67Rp =0.0706As = 44204060实际脉冲响应nh (n )窗函数特性nw d (n)0.20.31-50-20-30幅度频率响应频率(单位:π)H (e j ω)0.20.31-3.14163.14164相位频率响应频率(单位:π)φ(ω)3、用凯塞窗设计一个FIR 数字高通滤波器,要求: w p =0.3π,R p =0.1dB ;w s =0.2π,A s =50dB 。

基于matlab的fir数字滤波器的设计

基于matlab的fir数字滤波器的设计

一、引言数字滤波器是数字信号处理中至关重要的组成部分,它能够对数字信号进行滤波处理,去除噪音和干扰,提取信号中的有效信息。

其中,fir数字滤波器作为一种常见的数字滤波器类型,具有稳定性强、相位响应线性等特点,在数字信号处理领域得到了广泛的应用。

本文将基于matlab软件,探讨fir数字滤波器的设计原理、方法和实现过程,以期能够全面、系统地了解fir数字滤波器的设计流程。

二、fir数字滤波器的基本原理fir数字滤波器是一种有限长冲激响应(finite impulse response, FIR)的数字滤波器,其基本原理是利用线性相位特性的滤波器来实现对数字信号的筛选和处理。

fir数字滤波器的表达式为:$$y(n) = \sum_{k=0}^{M}h(k)x(n-k)$$其中,y(n)为输出信号,x(n)为输入信号,h(k)为滤波器的系数,M为滤波器的长度。

fir数字滤波器的频率响应特性由其系数h(k)决定,通过设计合适的系数,可以实现对不同频率成分的滤波效果。

三、fir数字滤波器的设计方法fir数字滤波器的设计方法主要包括窗函数法、频率抽样法、最小最大法等。

在matlab中,可以通过信号处理工具箱提供的fir1函数和firls函数等来实现fir数字滤波器的设计。

下面将分别介绍这两种设计方法的基本原理及实现步骤。

1. 窗函数法窗函数法是fir数字滤波器设计中最为常见的方法之一,其基本原理是通过对理想滤波器的频率响应进行窗函数加权来满足设计要求。

在matlab中,可以使用fir1函数实现fir数字滤波器的设计,其调用格式为:h = fir1(N, Wn, type)其中,N为滤波器的阶数,Wn为滤波器的截止频率,type为窗函数的类型。

通过调用fir1函数,可以灵活地设计出满足特定要求的fir数字滤波器。

2. 频率抽样法频率抽样法是fir数字滤波器设计中的另一种重要方法,其基本原理是在频域上对理想滤波器的频率响应进行抽样,并拟合出一个最优的滤波器。

用MAtlab实现FIR数字滤波器的设计

用MAtlab实现FIR数字滤波器的设计

设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
FIR 数 字 滤 波 器 的 文 件
一、fir1.m
• 本文件采用窗函数法设计FIR数字滤波器,其调用格式是
• 1)b=fir1(N ,W c)
• 2)b=fir1(N,W c ,’high’) • 3)b=fir1(N,W c ,’stop’)
实践课题
FIR 数 字 滤 波 器 的 设 计
实践目的


通过实践加深对Matlab软件的认识。 能熟练应用并基本掌握Matlab软件, 通过实践对课本以外的内容有初步的 了解。 通过设计FIR数字滤波器,对滤波器 的功能和原理有初步的认识和了解。
实践课题简介
在数字信号处理的许多领域中, 如图像处理、数字通信等领域,常 常要求滤波器具有线性相位。FIR数 字滤波器的最大优点就是容易设计 成线性相位特性,而且它的单位冲 激响应是有限长的,所以它永远是 稳定的。

Hale Waihona Puke 上式中N为滤波器的阶次,W c是通带截止频率,其值在0~1之间, 1对应采样频率的一半,b是设计好的滤波器系数(单位冲激响应序 列)其长度为N+1。
对于格式(1)若W c是一标量,则可用来设计低通滤波器;若W c 是 的向量,则用来设计带通滤波器。 格式(2)用来设计高通滤波器。 格式(3)用来设计带阻滤波器。
部分滤波器的例子(频率抽样法)

部分滤波器的例子(最小二乘逼近设计法)

Fircls1设计的低通滤波器,归一化截止频率 为0.3,通带波纹为0.02,阻带波纹为0.008。
实践总结

通过这次实践课题的设计与制作,使我 对Matlab这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。

FIR滤波器的MATLAB设计与实现

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数字高通滤波器的设计

基于MATLAB的FIR数字高通滤波器的设计[摘要]本文根据FIR高通滤波器的设计原理,提出了MATLAB 环境下基于窗函数法的FIR高通滤波器设计方法。

【关键词】FIR数字滤波器;高通滤波;窗函数;MATLAB一、数字滤波器1.1 数字滤波器概述数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。

数字滤波器分类的方法很多,可从以下几个方面进行分类:1.根据功能分类,可以分为低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

2.根据滤波器的单位脉冲响应分类,可以分为无限长脉冲响应数字滤波器和有限长脉冲响应数字滤波器,它们一般被称为IIR数字滤波器和FIR数字滤波器。

3.根据数字滤波器的实现方法分类,可以分为递归型数字滤波器RDF (Recursive Digital Filter)和非递归型数字滤波器NDF(Nonrecursive Digital Filter)。

1.2 数字滤波器的设计1.2.1 数字滤波器的设计要求数字滤波器的频响特性函数一般为复函数,所以通常表示为(1-1)其中,称为幅频特性函数;称为相频特性函数。

幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通过滤波器后在时间上的延时情况。

1.2.2 数字滤波器的设计方法IIR滤波器设计方法有两类,经常用到的一类设计方法是借助于模拟滤波器的设计方法进行。

其设计思路是:先设计模拟滤波器得到的传输函数,然后将按某种方法转换成数字滤波器的系统函数。

这一类方法是基于模拟滤波器的设计方法,相对比较成熟,它不仅有完整的设计公式,也有完整的图表供查阅,更可以直接调用MATLAB中的对应的函数进行设计。

另一类是直接在频域或者时域中进行设计的,设计时必须用计算机作辅助设计,直接调用MATLAB中的一些程序或设函数可以很方便地设计出所需要的滤波器。

二、FIR数字滤波器设计2.1 FIR数字滤波器的原理FIR滤波器的传递函数为:(2-1)可得FIR滤波器的系统系数差分方程,当FIR滤波器的系数满足下列中心对称条件时:(2-2)线性相位滤波器的相位滞后和延迟在整个频带上是相等且不变的。

FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现

时钟 输入模拟信号 输出模拟信号
DSP (TMS32 0C5410)
同步 FIFO
同步 FIFO
D/A 转换
A/D 转换
JTAG 接口
FLASE
RS232 接口 图3 系统总体框图
6
SRAM
JTAG(Joint Test Action Group) 联合测试行动小组)是一种国际标准测试协议 (IEEE 1149.1 兼容) ,主要用于芯片内部测试。基本原理是在器件内部定义一个 TAP(Test Access Port&#0;测试访问口)通过专用的 JTAG 测试工具对内部节点进 行测试。JTAG 测试允许多个器件通过 JTAG 接口串联在一起,形成一个 JTAG 链, 能实现对各个器件分别测试。 FLASE 存储器具有性价比高,体积小,功耗低,可电擦写,使用方便等优点。 在 DSP 应用系统中采用 Flash 存储器和固定数据是一种比较好的选择。 SRAM 静态存储器,读写速度快,但价格较高。适合于外部存放需要经常访问 或更新的临时数据。 RS232 电平转换模块,将外部电平转换为适合 DSP 芯片内部要求的电平。 图3是系统的总体框图。主要包括输入信号缓冲及调理电路、A/D 变换器、输 入缓冲 FIFO、DSP及外围电路、输出缓冲FIFO、D/A变换器等几部分。其中DSP及 外围电路包括程序存储器、串行口、显示及键盘接口等。串行口用于实现和PC机 的通信,可以通过PC机对滤波器的控制。 假定输入模拟信号为带限信号。该信号经缓冲和调理后经A/D变换进入输入缓 冲FIFO,当 FIFO中的数据达到一定数量时产生中断,DSP将数据读入内存中并进 行计算和处理,这里DSP主要实现FIR滤波运算。处理后的数据写入输出FIFO中, 之后通过D/A变换后输出模拟信号。输出的信号是低通滤波后的结果。 4.3 用DSP实现FIR滤波器的关键问题 4.3.1 定点数的定标 在滤波器的实现过程中,DSP所要处理的数可能是整数,也可能是小数或混合 小数;然而,DSP在执行算术运算指令时,并不知道当前所处理的数据是整数还是 小数,更不能指出小数点的位置在哪里。因此,在编程时必须指定一个数的小数 点处于哪一位,这就是定标。通过定标,可以在16位数的不同位置上确定小数点, 从而表示出一个范围大小不同且精度也不同的小数。 4.3.2 误差问题 因为在用定点DSP实现时,所有的数据都是定长的,运算也都是定点运算,因 而会产生有限字长效应。所产生的误差主要包括:数模转换引起的量化误差、系 数量化引起的误差以及运算过程中的舍入误差。在用定点DSP时,产生误差是不能 避免的。

基于MATLAB的FIR滤波器设计及实现.

基于MATLAB的FIR滤波器设计及实现.

1引言数字滤波是数字信号处理的一种重要算法,广泛用于对信号的过滤、检测与参数的估计等信号处理中。

数字滤波器是使用最为广泛的装置,在工业、农业和其他行业均有应用[1]。

数字滤波器按其单位脉冲响应的长度可分为有限脉冲响应(FIR )滤波器和无限脉冲响应(IIR )滤波器两类。

FIR 滤波器的线性与稳定性使其应用更为广泛。

本文主要介绍采用窗函数法设计FIR 滤波器及其MATLAB 的软件实现方法。

2FIR 数字滤波器设计原理FIR 数字滤波器可以用下面的差分方程来描述y (n )=N -1m =0∑ h (m )x(n -m )=x (n )*h (n )其中x (n )是输入序列,y (n )是输出序列,h(n )是系统的单位脉冲响应。

由于其采用卷积的方法得到输出,故可以采用快速算法FFT 进行卷积计算,提高信号处理速度。

FIR 数字滤波器满足线性相位的条件是其乘法器的系数关于中点对称,又因为其结构无反馈的回路,所以是无条件的稳定系统。

3窗函数法设计及MATLAB 实现FIR 滤波器目前常用的设计方法有窗函数法和频率采样法,窗函数法是从时域进行设计,而频率采样法是从频域进行设计。

窗函数法由于简单、物理意义清晰,因而得到了较为广泛的应用[2]。

窗函数法设计的基本思想是:首先根据技术指标要求,选取合适的阶数N 和窗函数的类型w (n ),使其幅频特性逼近理想滤波器幅频特性。

其次,因为理想滤波器的h d(n )是无限长的,所以需要对h d (n )进行截断,数学上称这种方法为窗函数法。

h d(n )=FT -1H d e j ω( [ ] h (n )=h d (n )w(n )其中h d (n )是希望逼近的滤波器的单位脉冲响应,H d e j ω( 是希望逼近的滤波器的幅频特性,h (n )是所设计的滤波器的单位脉冲响应,w(n )是窗函数。

在截断的过程中要保证FIR 滤波器的稳定性与线性邵毅温艳(宿州学院宿州234000)基金支持:宿州学院自然科学研究项目(2008yzk09);宿州学院硕士科研启动基金(2008yss14)。

matlab 信号过fir数字滤波器设计

matlab 信号过fir数字滤波器设计

一、概述Matlab 是一种用于算法开发、数据分析和可视化的高级技术计算语言和交互式环境。

在信号处理领域,Matlab 是一种非常强大的工具,可以用来设计和实现数字滤波器。

本文将重点介绍如何使用 Matlab 过FIR (Finite Impulse Response) 数字滤波器设计。

二、FIR 数字滤波器概述FIR 数字滤波器是一种常见的数字滤波器,它的特点是其单位脉冲响应有限,并且没有反馈。

FIR 滤波器的频率响应可以通过其线性相位特性来描述,因此在许多应用中非常有用。

三、Matlab 中的 FIR 数字滤波器设计工具Matlab 中提供了许多用于数字滤波器设计的工具,其中包括 fdatool 和 fir1 函数。

1. fdatoolfdatool 是 Matlab 中的一个交互式工具,可以帮助用户设计各种类型的数字滤波器。

用户可以通过图形界面选择滤波器类型、滤波器阶数、截止频率等参数,并实时查看滤波器的频率响应和单位脉冲响应。

使用 fdatool 可以快速方便地设计出所需的 FIR 数字滤波器。

2. fir1 函数fir1 函数是 Matlab 中用于设计标准的低通、高通、带通和带阻 FIR数字滤波器的函数。

用户可以通过指定滤波器类型、截止频率、滤波器阶数等参数来调用 fir1 函数,从而得到所需的数字滤波器的系数。

四、利用 Matlab 设计 FIR 数字滤波器的步骤1. 确定滤波器类型首先要确定所需的数字滤波器的类型,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

2. 确定滤波器的频率特性根据具体的应用需求,确定滤波器的截止频率、通带和阻带的大小,以及过渡带的宽度等参数。

3. 计算滤波器的系数根据所需的滤波器类型、频率特性和滤波器阶数等参数,使用 fdaool 工具或 fir1 函数计算出滤波器的系数。

4. 应用滤波器将得到的滤波器系数应用到需要滤波的信号上,即可得到滤波后的信号。

matlabfir滤波器设计

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高通数字滤波器的设计及分析

matlab的fir高通数字滤波器的设计及分析

摘要无限长脉冲数字滤波器的设计方法只考虑了幅度特性,没有考虑相位特性,所设的滤波器一般是某种确定的非线性相位特性。

有限脉冲响应(FIR)滤波器在保证了幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

本课题利用MATLAB软件实现。

MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,是一种科学计算软件,它使用方便,输入简捷,运算高效,内容丰富,因此利用MATLAB软件,通过一系列较为系统的函数法,根据已知的技术指标,就可以设计出满足要求的滤波器。

关键字:MATLAB;窗函数;FIR带阻数字滤波器;线性相位目录1.FIR滤波器简介 (3)1.1 FIR的特点 (3)2.2线性相位 (3)2.主要设计内容 (5)3.窗函数 (6)3.1常用窗函数 (6)3.2窗函数的指标 (9)4应用窗函数法设计 FIR 数字滤波器的步骤 (10)4.1数字高通滤波器的设计: (10)总结 (11)参考文献 (12)附录 (13)1.FIR 滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

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

1.1 FIR 的特点FIR 滤波器的主要优点为:系统总是稳定的,FIR 滤波器的系统函数可以表示为 (2-1) 易知,H (z ) 在 Z 平面上有 N -1个零点,z =0 是 N -1 阶极点,因此FIR 系统总是稳定的(极点都在单位圆内)。

FIR 滤波器的优点之二:容易实现线性相位。

当 FIR 系统的单位冲激响应满足 时,该系统具有线性相位。

(N 为奇数) (2-2)(N 为偶数) (2-3) FIR 滤波器的优点之三:允许设置多通带(或多阻带)滤波器。

FIR 滤波器的优点之四:FIR 滤波器可以采用 FFT 方法实现其功能,从而大大提高效率。

matlab的fir高通数字滤波器的设计和分析

matlab的fir高通数字滤波器的设计和分析

基于MATLAB的FIR高通数字滤波器的设计和分析陆锐勇(2009012303)通信工程09级02班摘要:以MATLAB中FIR高通数字滤波器为例,对滤波进行工作原理分析。

利用声音处理函数作为数据接口,使用FDAtool设计滤波器,对仿真前后的音频进行波形和频谱的对比分析,加深对滤波的理解。

关键词:高通滤波,数字滤波,matlab,FIR0、引言数字信号处理的目的包括设计某种设备或者建立某个算法用来处理信号序列,使序列具有一些确定的性质,这个设备或者算法结构就成为数字滤波器。

数字滤波器的主要功能是对数字信号进行处理,最常见的处理是保留数字信号中的有用频率成分,去除信号中的无用频率成分。

通常是用有限精度的算法实现的离散时间线性时不变系统,它本身既可以有硬件也可以由软件来实现,还可以用DSP处理器配合软件实现。

数字滤波器可以分为有限冲激响应FIR和无线冲激响应IIR两种。

FIR滤波器可以通过窗函数法、频率抽样法和最优化设计方案来设计【1】。

首先解释FIR 数字高通滤波的物理过程,然后用FDAtool采用窗函数法设计语音高通滤波器。

1、数字滤波器的工作原理数字滤波器具有一定传输特性的数字信号处理功能,它的输入以及输出都是离散的数字信号,并借助于数字器件和一定的数值计算方法,对输入信号进行处理,改变输入信号,进而达到除去信号中无用成分而保留有用成分的功能。

数字滤波器是一个离散的数字信号处理装置,也是一个离散的时间系统,输入和输出都是一个时间序列。

这里设H(z)为数字滤波器的系统函数,h(n)为其相应的脉冲序列,则在时域内有y(n)=x(n)*h(n)在z域内有Y(z)=H(z)*X(z)上式中,X(z),Y(z)分别为输入x(n)和输出y(n)的Z变换。

在频域内有Y(jw)=H(jw)X(jw)上式中,H(jw)为数字滤波器的频率特性;X(jw)和Y(jw)分别为输入x(n)和输出y(n)的频谱.由以上论述可知,一个合适的滤波器系统函数H(z)可以改变输入x(n)的频率特性,经数字滤波处理后得到信号y(n),保留x(n)中的有用频率成分,而去掉其中无用的成分。

用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)。

基于MATLAB的FIR数字高通滤波器分析和设计

基于MATLAB的FIR数字高通滤波器分析和设计

基于MATLAB的FIR数字高通滤波器分析和设计
雷学堂;徐火希
【期刊名称】《长春大学学报(自然科学版)》
【年(卷),期】2006(016)005
【摘要】以FIR数字高通滤波器为例,详细分析时域卷积运算和频域加权算法的物理意义.并利用MATLAB的声音处理函数作为数据接口,利用多媒体播放器作为交互界面,利用MATLAB的FDATool作为滤波器设计工具,设计一组语音高通滤波器,通过对比滤波前后的语音效果,可加深对数字信号处理的认识.
【总页数】4页(P34-37)
【作者】雷学堂;徐火希
【作者单位】黄冈师范学院,物理科学与技术系,湖北,黄冈,438000;黄冈师范学院,物理科学与技术系,湖北,黄冈,438000
【正文语种】中文
【中图分类】TN911.72
【相关文献】
1.基于MATLAB的FIR数字高通滤波器的设计 [J], 刘鸿旗
2.基于MATLAB的辅助教学课件设计与实现--以FIR数字滤波器设计为例 [J], 梁丽娟;冯国瑞;李永江
3.基于MATLAB的FIR数字低通滤波器分析和设计 [J], 雷学堂;方志雄
4.基于MATLAB的FIR数字高通滤波器分析和设计 [J], 雷学堂;徐火希
5.基于Hanning Window设计FIR数字高通滤波器 [J], 陈绍荣;徐舜;沈建国;朱行涛
因版权原因,仅展示原文概要,查看原文内容请购买。

Matlab设计FIR数字滤波器

Matlab设计FIR数字滤波器

FIR数字滤波器专业:学号:XX:一课题目的:1学会使用Matlab的各项功能。

2学会把自己在课堂上学习的知识运用到实践当中。

3了解利用Matlab设计FIR数字滤波器的基本方法。

4在课程设计的过程中掌握程序编译及软件设计的基本方法。

5提高自己对于新知识的学习能力及进行实际操作的能力。

二课题要求:在信号处理过程中所处理的信号往往混有噪音,从接受到的信号中消除或减弱噪音是信号处理过程中十分重要的问题。

根据有用信号和噪音的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。

而数字滤波器又是滤波器中运用极为广泛的一种滤波器。

数值滤波技术是数字信号处理的一个重要组成部分,滤波器的设计是信号处理的核心问题之一。

FIR数字滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

要求通过网络及各种资料解决实际问题设计一个符合要求的FIR数字滤波器。

三课题内容:数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型。

与模拟滤波器相比,数字滤波器除了具有数字信号处理固有优点外,还有滤波精度高、稳定性好、灵活性强等优点。

在数字信号处理中,由于信号中经常混有各种复杂成分,所以很多信号分析都是基于滤波器而进行的,FIR数字滤波器在数字信号处理中发挥着重要作用,采用Matlab软件对FIR数字滤波器进行仿真设计,简化了设计中繁琐的计算。

设计中采用窗函数法,频率采样法和优化设计方法,通过调用Matlab函数设计FIR数字滤波器。

绘制出滤波器的特性图。

利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。

最后录制一段语音信号,并对录制的信号进行采样和加噪,绘制出采样后语音信号的时域波形和频谱图,然后用所设计的滤波器对加噪后的信号进行滤波,绘制出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要无限长脉冲数字滤波器的设计方法只考虑了幅度特性,没有考虑相位特性,所设的滤波器一般是某种确定的非线性相位特性。

有限脉冲响应(FIR)滤波器在保证了幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。

本课题利用MATLAB软件实现。

MATLAB是“矩阵实验室”(MATrix LABoratoy)的缩写,是一种科学计算软件,它使用方便,输入简捷,运算高效,内容丰富,因此利用MATLAB软件,通过一系列较为系统的函数法,根据已知的技术指标,就可以设计出满足要求的滤波器。

关键字:MATLAB;窗函数;FIR带阻数字滤波器;线性相位目录1.FIR滤波器简介 (3)1.1 FIR的特点 (3)2.2线性相位 (3)2.主要设计内容 (5)3.窗函数 (6)3.1常用窗函数 (6)3.2窗函数的指标 (9)4应用窗函数法设计 FIR 数字滤波器的步骤 (10)4.1数字高通滤波器的设计: (10)总结 (11)参考文献 (12)附录 (13)1.FIR 滤波器简介数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

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

1.1 FIR 的特点FIR 滤波器的主要优点为:系统总是稳定的,FIR 滤波器的系统函数可以表示为 (2-1) 易知,H (z ) 在 Z 平面上有 N -1个零点,z =0 是 N -1 阶极点,因此FIR 系统总是稳定的(极点都在单位圆内)。

FIR 滤波器的优点之二:容易实现线性相位。

当 FIR 系统的单位冲激响应满足 时,该系统具有线性相位。

(N 为奇数) (2-2)(N 为偶数) (2-3) FIR 滤波器的优点之三:允许设置多通带(或多阻带)滤波器。

FIR 滤波器的优点之四:FIR 滤波器可以采用 FFT 方法实现其功能,从而大大提高效率。

FIR 滤波器的缺点:由于 FIR 系统只有零点,因此这类系统不像FIR 滤波器不像 IIR 滤波器那样容易取得比较好的通带与阻带衰减特性。

要取得较好的衰减特性,一般要求 H (z ) 的阶次较高。

综合起来看, FIR 滤波器具有IIR 滤波器没有的许多特点,得到了越来越广泛的应用。

FIR 滤波器的设计方法主要有三种:a.窗函数设计法;b.频率抽样发;c.最小平法抽样法;这里我主要讨论在MATLAB 环境下通过调用信号分析与处理工具箱的几类窗函数来设计滤波器并分析与比较其性能2.2线性相位一个单一频率的正弦信号通过一个系统,假设它通过这个系统的时间需要t ,则这个信号的输出相位落后原来信号wt 的相位。

从这边可以看出,一个正弦信号通过一个系统落后的相位等于它的w *t ;反过来说,如果一个频率为w 的正弦信号通过系统后,它的相位落后delta ,则该信号被延迟了delta /w 的时间。

在实111)1(10)()()()(--=-----=-===∑∑N N n n N N N n n z z f z n h z z n h z H )1()(n N h n h --±=2/)1()(--=N ωωϕ2/)1(2/)(--=N ωπωϕ际系统中,一个输入信号可以分解为多个正弦信号的叠加,为了使得输出信号不会产生相位失真,必须要求它所包含的这些正弦信号通过系统的时间是一样的。

因此每一个正弦信号的相位分别落后,w1*t,w2*t,w3*t。

因此,落后的相位正比于频率w,如果超前,超前相位的大小也是正比于频率w。

从系统的频率响应来看,就是要求它的相频特性是一条直线。

在FIR滤波器的设计中,为了得到线性相位的性质,通常利用实偶对称序列的相频特性为常数0和实奇对称序列为相频特性为常数90度的特点。

因此得到的是对称序列,不是因果序列,是不可实现系统,为了称为物理可实现系统,需要将它向右移动半个周期,这就造成了相移特性随时间的变化,同时也是线性变化。

单位脉冲响应h(n)(为实数)具有偶对称或奇对称性,则FIR数字滤波器具有严格的线性相位特性。

2.主要设计内容利用窗函数法、频率取样法及优化设计方法设计FIR滤波器,绘制出滤波器的特性图。

利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。

基本思路:从时域出发设计 h(n)逼近理想 hd(n)。

设理想滤波器的单位响应在时域表达为hd(n),则Hd(n) 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。

要想得到一个因果的有限长的滤波器单位抽样响应 h(n),最直接的方法是先将hd(n)往右平移,再迕行截断,即截取为有限长因果序列:h(n)=hd(n)w(n),并用合适的窗函数迕行加权作为FIR滤波器的单位脉冲响应。

按照线性相位滤波器的要求,线性相位FIR数字低通滤波器的单位抽样响应h(n)必须是偶对称的。

对称中心必须等于滤波器的延时常数,即用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,返个现象称为吉布斯(Gibbs)效应。

为了消除吉布斯效应,一般采用其他类型的窗函数。

MATLAB 设计 FIR 滤波器有多种方法和对应的函数。

窗函数设计法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。

3.窗函数加窗处理使得得滤波器的频率响应与理想滤波器的频率响应之间产生差异,表现为过渡带和波动的出现。

我们希望所设计的滤波器尽量逼近理想滤波器,就要设法减少波动的幅度,同时使过渡带变窄。

在设计 FIR 数字滤波器时,窗函数的频谱应该满足:1主瓣宽度尽可能的窄,以使过渡带尽量陡峭;2最大旁瓣相对于主瓣尽可能的小,使能量尽可能集中于主瓣内,这样能够使得波动减小。

3.1常用窗函数1汉宁(Hanning )窗汉宁窗函数的时域形式表示为:(3-1)频域形式为(3-2) 汉宁窗函数的最大旁瓣值比主瓣值低31dB ,但是主瓣宽度比矩形窗函数的主瓣宽度增加了1倍,为8π/N 。

hanning 函数:生成汉宁窗调用方式:(1) w = hanning (n ):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。

注意:此函数不返回是零点的窗函数的首尾两个元素。

(2) w = hanning (n ,'symmetric '):与上面相类似。

(3) w = hanning (n ,'periodic '):此函数返回包括为零点的窗函数的首尾两个元素。

1,,2,1,0 ),12cos(5.05.0)(-=--=N n N n n w πωπωπωωω21)2()2(25.0)(5.0)(--⎭⎬⎫⎩⎨⎧⎥⎦⎤⎢⎣⎡++-+≈Nj R R R e N W N W W j W图3-1汉宁窗及其频谱特性注释:汉宁窗又被称为升余弦窗,汉宁窗可以看做三个矩形时间窗的频谱之和,汉宁窗主瓣加宽并降低,旁瓣显著减小,分辨率下降2汉明(Hamming )窗:函数的时域形式可以表示为⎪⎭⎫ ⎝⎛--=1π2cos 46.054.0)(N k k w N k ,,2,1 = (3-3) 频域形式为:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--+=1π21π223.0)(54.0)(N W N W W W R R R ωωωω (3-4) 其中,)(ωR W 为矩形窗函数的幅度频率特性函数。

海明窗函数的最大旁瓣值比主瓣值低41dB ,但它和汉宁窗函数的主瓣宽度是一样大的。

Hamming 函数:生成海明窗调用方式(1) w = hamming (n ):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。

(2) w = hamming (n ,sflag ):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。

图3-2 汉明窗及其频谱特性 注释:汉明窗和汉宁窗都是余弦窗,只是加权系数不同,汉明窗旁瓣更小3布莱克曼窗函数的时域形式可以表示为⎪⎭⎫ ⎝⎛--+⎪⎭⎫ ⎝⎛---=11π4cos 08.011π2cos 5.042.0)(N k N k k w N k ,,2,1 = (3-5) 它的频域特性为=)(ωW 42.0()ωR W +25.0+⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1212N W N W R R πωπω⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-++⎪⎭⎫ ⎝⎛--1π41π404.0N W N W R R ωω(3-6)其中,)(ωR W 为矩形窗函数的幅度频率特性函数。

布莱克曼窗函数的最大旁瓣值比主瓣值低57dB ,但是主瓣宽度是矩形窗函数的主瓣宽度的3倍,为12π/N 。

Blackman 函数:生成海明窗调用方式(1) w = blackman (n ):输入参数n 是窗函数的长度;输出参数w 是由窗函数的值组成的n 阶向量。

(2) w = blackman (n ,sflag ):参数sflag 用来控制窗函数首尾的两个元素值;其取值为symmetric 或periodic ;默认值为symmetric 。

图3-3 布莱克曼窗及其频谱特性注释:布莱克曼窗最大旁瓣值比主瓣值滴57db,但主瓣宽度是矩形窗的3倍3.2窗函数的指标表3-1如图所示对于任意一个窗函数,求出它的频域值,并求出在主瓣边笫1个零点的位置;2,求出主瓣在-3dB处的位置;3,把笫1个零点的位置-(-3dB)处的位置,就是过渡带的精确带宽。

矩形窗最简单,但其 -21dB 的阻带最小衰减在实际应用中远远不够。

另外,矩形窗还会造成很强的吉布斯效应。

三角窗的阻带衰减性能与矩形窗相比有所改善,但代价是过度带加宽。

4应用窗函数法设计 FIR 数字滤波器的步骤4.1数字高通滤波器的设计:令高通滤波器的频率响应为(4-1) 则(4-2) 从上述结果可以看出,一个高通滤波器相当于用一个全通滤波器减去一个低通滤波器。

0 ,0 ,)(⎪⎩⎪⎨⎧<≤≤≤=-c c j d e j H ωωπωωωωτ[][]()()11()221cos[()]sin[()]221cos[()]sin[()]22sin ()sin ()()= c cc c c cj n j n d c h n e d e d j n d n d j n d n d n n n ωπωτωτπωωωππππωωωωππωτωωτωππωτωωτωπππτωτπτ--------=+-+-+-+----=-⎰⎰⎰⎰⎰⎰总结设计带通滤波器时首先要计算出过渡带,然后查表得到不同窗函数所需要的阶数,不同的窗函数所设计的滤波器的形状各有差异,尤其在主瓣宽度、旁瓣的形状以及主瓣与旁瓣的高度差上有比较明显得差别,实际应用中应根据实际情况,折衷处理,兼顾各项指标。

相关文档
最新文档