基于matlab的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数字滤波器

实验八 用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-m mm=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 z 1+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数字滤波器的设计

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

其中,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数字滤波器设计

龙源期刊网
基于Matlab的FIR数字滤波器设计
作者:王春兴张彬
来源:《现代电子技术》2011年第18期
摘要:提出FIR数字滤波器的设计方案,并基于Matlab实现滤波仿真。

通过使用Matlab 信号处理工具箱提供的函数,选择适当的窗函数编写程序,其中窗函数按照实际信号的处理需求,参数折中选择。

实验获得了比较理想的滤波器特性,可以实现较好的滤波作用。

而且在实际应用中只需按需求修改滤波器参数,并结合程序的相应改动,即可实现不同功能的滤波器。

另外,介绍了利用FDATool设计滤波器的方法,简单修改参数即可实现多种滤波器。

基于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课程设计》报告目录摘要 (I)Abstract (II)1 原理说明 (1)1.1 数字滤波技术 (1)1.2 FIR滤波器 (1)1.3 窗函数 (2)1.4 MATLAB简介 (4)1.5 MATLAB结合窗函数设计法原理 (4)2 滤波器设计 (2)2.1 滤波器设计要求 (2)2.2 设计函数的选取 (2)2.3 窗函数构造 (3)2.4 设计步骤 (4)2.5 利用MATLAB自带函数设计 (4)3 滤波器测试 (9)3.1 滤波器滤波性能测试 (9)3.2 滤波器时延测量................................................................................错误!未定义书签。

3.3 滤波器稳定性测量............................................................................错误!未定义书签。

5 参考文献 (12)附件一: ........................................................................................................ 错误!未定义书签。

摘要现代图像、语声、数据通信对线性相位的要求是普遍的。

数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。

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

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

因此,具有线性相位的FIR数字滤波器在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域得到广泛应用。

基于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。

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

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

基于Matlab的FIR滤波器设计与实现⼀、摘要 前⾯⼀篇⽂章介绍了通过FDATool⼯具箱实现滤波器的设计,见“”,这⾥通过⼏个例⼦说明采⽤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);plot(w1/pi,20*log10(abs(h1)));axis([0,1,-80,10]);grid;xlabel('归⼀化频率/p') ;ylabel('幅度/dB') ;波形如下:⽅法⼆:采⽤[n,Wn,beta,ftype] = kaiserord(f,a,dev)函数来估计滤波器阶数等,得到凯塞窗滤波器。

这⾥的函数kaiserord(f,a,dev)或者kaiserord(f,a,dev,f s): f为对应的频率,f s为采样频率;当f⽤数字频率表⽰时,f s则不需要写。

a=[1 0]为由f指定的各个频带上的幅值向量,⼀般只有0和1表⽰;a和f长度关系为(2*a的长度)- 2=(f的长度) devs=[0.05 10^(-2.5)]⽤于指定各个频带输出滤波器的频率响应与其期望幅值之间的最⼤输出误差或偏差,长度与a相等,计算公式:阻带衰减误差=αs,通带衰减误差=αp,可有滤波器指标中的3、4条得到。

用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这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。

基于MATLAB的FIR数字滤波器的窗函数法设计与仿真

基于MATLAB的FIR数字滤波器的窗函数法设计与仿真

随着计算机和微 电子等学科的飞速发展 , 数字 信号处理已经成为当今极为重要的学科和技术 , 应 用范围也越来越广泛. 数字滤波器 的设计和应用在 数字信号处理 中有着非常重要的地位。 数字滤波器
按 照 长度 分类 可 以分 成有 线长 单 位 脉 冲 响 应 ( F I R) 滤波 器 , 和无 限 长 单 位 脉 冲 响应 ( I I R) 滤波器. F I R
利 用 MA T L A B软件 , 结 合 窗 函数法 设 计 F I R数 字 滤
波 器 的过程 .
( 1 ) 通带尽可能窄 ; ( 2 ) 阻带内的波动性可能小 , 增强阻带的衰减. 实 际常 用 的 窗 函数 有 矩 形 窗 、 三角形窗 、 汉 宁
窗、 哈明窗、 布莱 克 曼 窗 和凯 赛一 贝 塞 尔 窗 , 设 计 时 可参 考这 六 种窗 函数 基本参 数 , 如表 1 .
x l a b e l ( h ’ ;
t i t l e ( I t  ̄ mi n g 窗 函数 ,;
s u b p l o t ( 2 , 2 , 2 ) ; p l o t ( w / p i , 2 0 }l o g ( a b s ( h i ) / a b s ( h l ( 1 ) ) ) ) ;
表1 六 种 窗 函数 的基 本 参 数
1 F I R滤波器 的原理 j
实 际实 现 的滤波 器 的单位 取样 响 应 为 h ( n ) , 长 度 为 Ⅳ, 系统 函数 为 n( z ) , 显 然 我 们 用一 个 有 限长
窗函数
旁瓣 峰值 幅度/ d B 过度带宽 阻带最小 衰减/ d B
窗函数.
计软 件 , 优 点 很多 , 可 以进 行 数 值 运 算 、 符 号 运 算 和 图形 处理 等 功能 , 广 泛用 于各 领域 的分 析 、 设 计 和复

基于MATLAB的FIR滤波器设计探讨

基于MATLAB的FIR滤波器设计探讨

数字滤 波器是一种 用来过滤 时 间离 散信 号的数 字 系统 ,
通过 对抽 样数据 进行 数学处 理 来达 到频 域滤 波 的 目的 。根 据其 单位 冲激 响应 函数 的 时域 特性 可分 为两 类 :无 限 冲激

正弦波信 号
s k rb 1 s ; f e( , , )%对信 号 s  ̄ - 进行 滤波 。
四 、 P o l 计 法 S T o设
响应 (I 滤 波器和有 限冲激 响应 ( i 滤波 器 。 I I R) FR) 与 I R滤波
器相 比,I 的实现是 非递 归 的 , 是稳 定 的 ; 重 要 的是 , FR 总 更
S T o 是 MA L B信 号 处 理 工具 箱 中 自带 的交 互式 图 P ol TA
菜单 FlI p r将信 号 S 人并 取名为 s i/ ot em 导 。 ( 单击 Flr 列 表 下 的 N w, 照 参 数要 求设 计 出滤 2) ies t e 按 波器 f l 具体 步骤类 似于 321 i , h ..。 () 3 将滤波 器 f l 用到 s 号序列 。 i 应 h 信 分别 在 S nl、 ie 、 pc 列 表 中选 择 sf l ml- i a Flr S e妇 g s ts 、h 、 t i b
毓 u
基 于 MA L B FR T A 的 I滤波 器设计 探讨
于 永 钢 ( 鲁 木 齐 市城 市公 共照 明 管 理 中心 乌
摘 要
新 疆 乌 鲁木 齐
801 ) 3 0 1
D o l 计 AT o设
本文 简述使 用MAT A L B信 号处理 工具箱进 行FK滤 波器设计 的3 I 种方 法 : 序设 计法 、 S T o  ̄计法 程 FP oB

基于matlab海明窗的数字滤波器设计

基于matlab海明窗的数字滤波器设计

基于matlab海明窗的数字滤波器设计【摘要】本文利用matlab海明窗实现了FIR数字滤波器的设计,设计结果符合FIR数字带通滤波器技术指标要求。

【关键词】matlab滤波器FIR海明窗数字滤波是数字信号处理的基本方法,与模拟滤波器相比有很多优点,其精度高、成本低、稳定可靠性强、适应范围广,避免了模拟滤波固有的电压漂移、温度漂移和噪声等问题[1]。

数字滤波器包括有限长FIR(finite impulse response)滤波器和无限长IIR(infinite impulse response)滤波器。

FIR数字滤波器幅频特性精度比IIR低,且滤波器所需阶次比较高,但是它拥有很好的线性相位特性,即不同频率分量的信号经过FIR滤波器后其时间差不变。

MATLAB是美国MathWorks公司推出的一套用于工程计算的可视化高性能语言与软件环境,是数字信号处理技术实现的重要手段[2]。

本文采用窗函数法实现FIR数字带通滤波器的设计。

1 程序设计及运行结果根据研究任务,需设计数字带通滤波器的性能指标如下:低端阻带边缘:ws1=0.2π,As=60dB;低端通带边缘:wp1=0.35π,Rp=1dB;高端通带边缘:wp1=0.65π,Rp=1dB;高端阻带边缘:ws1=0.8π,As=60dB。

根据窗函数最小阻带衰减的特性表[3],可采用海明窗,设计程序如下:ws1=0.2*pi;wp1=0.35*pi; wp2=0.65*pi;ws2=0.8*pi;Ar=60;tr_width=min((wp1-ws1),(ws2-wp2));%过渡带宽度M=150; n=[0:1:M-1];wc1=(ws1+wp1)/2; wc2=(ws2+wp2)/2; %理想截止频率%hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); %设计滤波器w_bl=(hamming(M))’;%选择海明窗h=hd.*w_bl; %单位脉冲响应[db,mag,pha,grd,w]=freqz_m(h,[1]);%幅度响应delta_w=2*pi/1000;%画图subplot(1,1,1)subplot(2,2,1); stem(n,hd); title(‘理想脉冲响应’)axis([0 M-1 -0.4 0.4]); xlabel(‘n’); ylabel(‘hd(n)’);subplot(2,2,2); stem(n, w_bl); title(‘海明窗’)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.4 0.4]); xlabel(‘n’); ylabel(‘h(n)’);subplot(2,2,4); plot(w/pi,db); title(‘幅度响应(单位:dB)’)axis([0 1 -150 10]); xlabel(‘pi’); ylabel(‘分贝’);%检验Rp=-(min(db(wp1/delta_w+1:1: wp2/delta_w+1))) %检验实际的通带波动Ar=-round(max(db(ws/delta_w+1:1:501))) %检验最小阻带衰减2 结果分析程序运行结果:Rp=0.0277; Ar=60由程序运行结果可以看出,当滤波器长度M=150时,实际的通带波动为0.0277 dB,阻带衰减为60dB,满足设计要求,所设计的滤波器时域和频域曲线响应如图1所示。

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

基于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的FIR滤波器的设计

基于MATLAB的FIR滤波器的设计
线性相位 特性 ,且 可通过参 数来 改变 其主瓣 宽度 和旁瓣 衰减 。提出基于窗函数法设计滤波器 ,加入信号源 ,利
用F T o设计和分析模块 电路 ,经过S h k DA o l i n 仿真 ,对其进行时域 、频域 分析和滤波 。实验结果表明, 计 mu 本设
方法能够 有效 的滤除 无用信号 , 直观 简便 , 高了信号的提取效果 。 提
【] 王蔚 . 4 MAT A L B环境 下 的数字 滤波 器设 计及其 应用 【 . 州 : 州大学 ,0 23 — 8 D1 苏 苏 20 : 3 . 6
图 3滤 波 前 信 号 源 波 形
【] CO 1 E J G a b u M , n J H . 9 , r m s Y e , b O j Li 1 91 F O
2 1 年 8月 01 第 8期
电 子 测 试
EL EC T RON I C T EST
Aug. 2011 No8 .
基 于 MAT A L B的F R滤 波 器 的设 计 ★ I
段佳佳 ,樊龙龙 ,张波涛
( 中北大学 信息探测与处理技术研 究所 太原 0 0 5 ) 3 0 1 摘要 :基于MA L B信号处理工具 箱 ,设计一种 滤波器 ,针对 信号的分离和 滤除 ,要求有 良好的幅频特 和 TA
幅频特性为 l e I 1 且无相移的理想带通滤波器 H( ) , =
图2滤 波器 幅频特性
的 响应 HaP 表 频率 ( ) 达式为 :
, 『 、 w
从图 2中来看,对于 0 z 10 H , 1H 到 40 H H 到 00 z 40 z 2 00 z
I P , ll 一 1 , ≤W≤ ×
[】 M o a d M o h a i i h lM a i .M AT AB 与 3 h n k t r, c e M re L

FIR滤波器窗函数设计法详细步骤以及Matlab代码

FIR滤波器窗函数设计法详细步骤以及Matlab代码

FIR滤波器窗函数设计法详细步骤以及Matlab代码采⽤窗函数法设计理想低通,⾼通滤波器,参考北京交通⼤学陈后⾦主编的【数字信号处理】5.2节窗函数法设计线性相位FIR数字滤波器P164,和P188。

设计步骤如下:1)确定滤波器类型,不同的FIR类型可设计不同类型的滤波器,I型可设计LP(低通滤波器),HP(⾼通滤波器),BP(带通滤波器),BS(带阻滤波器)。

Fir I型Fir II型Fir III型Fir IV型LP,HP,BP,BS LP,BP BP HP,BP,BS2)确定设计的滤波器的参数Eg:若要设计⼀个低通滤波器,fp=20,fs=30;Ap=1,As=40,则3db截频Wc = 2*pi*(fs-fp)/Fs;Fs为采样频率。

3)确定窗函数窗的类型主瓣宽度近似过渡带宽度δp,δs Ap(dB)As(dB)矩形窗4pi/N 1.8pi/N0.090.8221Hann8pi/N 6.2pi/N0.00640.05644Hamming8pi/N7pi/N0.00220.01953Blackman12pi/N11.4pi/N0.00020.001774Kaiser可调窗,需要确定β值 50<A , β = 0.1102(A-8.7); 21<=A<=50, β=0.5842(A-21)^0.4 + 0.07886(A-21); A<21, β = 0;4) 确定滤波器的阶数M,⾸先确定滤波器的长度N。

对于除凯撒窗以外的窗函数,N值由以下公式确定:N>=(窗函数近似过渡带宽度)/(Wp-Ws)Fir I型Fir II型Fir III型Fir IV型脉冲响应h[k]为偶对称h[k]为偶对称h[k]为奇对称h[k]为奇对称窗函数长度:N=mod(N+1,2)+N N=mod(N,2)+N N=mod(N+1,2)+N N=mod(N,2)+N阶数M=N-1为偶数M=N-1为奇数M=N-1为偶数M=N-1为奇数若采⽤Kaiser窗,则M≈(A-7.95)÷ 2.285*|Wp-Ws|,A>21。

(完整版)基于Matlab的FIR滤波器的设计与仿真

(完整版)基于Matlab的FIR滤波器的设计与仿真

西南科技大学通信原理设计报告课程名称:通信原理课程设计设计名称:数字FIR滤波器设计与仿真分析姓名:XXXXXX学号: XXXXXXXX班级: XXXXXXXXXXX指导教师:XXXXXX起止日期:2014/6/26—2014/7/5西南科技大学信息工程学院制方向设计任务书学生班级:XXXXXXX 学生姓名:XXXXXX 学号:XXXXXXXXX 设计名称:数字FIR滤波器设计与仿真分析起止日期:2014/6/22-2014/7/5 指导教师:XXXXXXXX方向设计学生日志数字FIR滤波器设计与仿真分析一、摘要传统的数字滤波器设计计算繁琐,尤其是设计高阶滤波器时工作量大,利用Matlab可以快速有效地实现数字滤波器的设计与仿真。

本文介绍了有限长单位冲激响应FIR数字滤波器的传统设计思想和步骤,同时也介绍了利用MATLAB对FIR数字滤波器进行设计的方法、设计的操作步骤以及对设计的滤波器的仿真。

二、设计目的和意义1.通过此次专业方向设计,了解有限长单位冲激响应FIR数字滤波器的传统设计方法;2.了解Matlab信号处理箱并掌握FDATool专用滤波器设计分析工具;3.学习如何使用Matlab,学会用Matlab解决实际问题。

三、设计原理数字滤波器,是具有一定传输选择特性的数字信号处理装置,其输入和输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。

可以把它理解为是一个计算程序或算法,它把代表输入信号的数字时间序列转化为代表输出信号的数字时间序列,并在转化过程中,使信号按照预定的形式变化。

数字滤波器有多种分类,从数字滤波器功能上分可分为低通、高通、带阻、带通滤波器,根据数字滤波器冲激响应的时域特征,可将数字滤波器分为两种,即无限长冲激响应滤波器(IIR)和有限长冲激响应滤波器(FIR)。

1.有限长冲激响应滤波器FIR滤波器及其传统设计方法FIR滤波器的单位冲击响应是有限长的,h(n)在范围内有值,其系统函数为,它是的(N-1)阶多项式,H(z)在有限z平面()有N-1个零点;在z平面原点z=0处有N-1阶极点。

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

基于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 滤波器的单位脉冲响应。

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

用MATLAB设计数字FIR低通滤波器(哈明窗)

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

【FPGA】MATLAB生成FIR滤波器的操作步骤(包括生成VerilogHDL代码以及仿真过程)

【FPGA】MATLAB生成FIR滤波器的操作步骤(包括生成VerilogHDL代码以及仿真过程)

【FPGA】MATLAB⽣成FIR滤波器的操作步骤(包括⽣成VerilogHDL代码以及仿真过程)使⽤MATLAB⽣成滤波器有很多学问,这⾥只是作为初步的探索,和FPGA的更多结合,也正在探索中,相关博⽂例如:,该专题⽬录正在记录我学习FIR滤波器的过程。

MATLAB⽣成30阶低通1MHz海明窗函数设计步骤:(1)在MATLAB命令窗⼝中输⼊“fdatool”出现如下对话框:注意,在MATLAB2018以后的版本中输⼊:filterDesigner,即可打开上述界⾯。

(2)设定为低通滤波器。

(3)选择FIR滤波器的设计类型为窗函数。

设置FIR滤波器为30阶滤波器,选择窗函数的类型为海明窗函数,海明窗函数可以得到旁瓣更⼩的效果,能量更加集中在主瓣中,主瓣的能量约占99.963%,第⼀旁瓣的峰值⽐主瓣⼩40dB,但主瓣宽度与海明窗相同。

它定义为:(4)输⼊抽样频率和截⽌频率,分别是16MHz和1MHz。

(5)点击Design Filter 得到结果,如下图:(6)量化输⼊输出,点击⼯作栏左边的量化选项,即“set quantization parameters”选项,选择定点,设置输⼊字长为8,其他选择默认,如下图⽰:及测试⽂件:仿真结果如下图:如上图所⽰,当输⼊为线性,或者输⼊频率较低时,输出幅度不会被抑制,当输⼊频率较⾼,输出幅度会受到⼤幅度抑制,⽽当输⼊为⽩噪声或者混频信号时,滤波器会过滤掉⾼频信号。

这⾥分出来⼀⼩部分空间,引⽤点别⼈的内容来简单介绍下上述⼏个参数的意思:Response Type:选择FIR滤波器的类型:低通、、带通和带阻等。

在DDC/DUC模块设计中,抽取和内插需要使⽤Halfband Lowpass 类型,⽽channel filr需要使⽤Rsed-cosine类型。

Design Method:FIR滤波器设计⽅法有多种,最常⽤的是窗函数设计法(Window)、等波纹设计法(Equiripple)和最⼩⼆乘法(Least-Squares)等。

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

数字信号处理
课程设计报告
设计名称:基于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 滤波器的单位脉冲响应。

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

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

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

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

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

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

六、程序设计:
Rs=0.01;
fs=8000;%采样频率
fcuts=[1000 1300 2210 2410];
a=[0 1 0];
dev=Rs*ones(1,length(a));
[M,Wc,beta,ftype]=kaiserord(fcuts,a,dev,fs);
%M为能够满足设计要求的滤波器的最小阶数,Wc为滤波器的截止频率点
%第一个元素f为待设计滤波器的过渡带的起始点和结束点
%第二个元素a指定第一个元素频率段的理想幅度值
%第三个元素dev中的元素为各通带和阻带内允许的幅度最大误差
M=mod(M,2)+M;
window=Kaiser(M+1,beta);
b=fir1(M,Wc,ftype,window);
%输入的第一个参数是滤波器的阶数
%第二个参数是滤波器的截止频率
%第三个参数是滤波器的类型,stop为带阻滤波器
%第四个参数是采用的窗函数
[h,f]=freqz(b,1,512);%滤波器的幅频特性图
%[H,W]=freqz(B,A,N)当N是一个整数时函数返回N点的频率向量和幅频响应向量
figure(1)
plot(f*fs/(2*pi),20*log10(abs(h)))%参数分别是频率与幅值
xlabel('频率/赫兹');
ylabel('增益/分贝');
title('滤波器的增益响应');
f1=500;f2=1500;f3=2000;f4=3000;%待滤波正弦信号频率
t=(0:200)/fs;%定义时间的步长
s=sin(2*f1*pi*t)+sin(2*f2*pi*t)+sin(2*f3*pi*t)+sin(2*f4*pi*t);%滤波前信号
sf=filter(b,1,s);%使用filter函数对信号进行滤波
figure(2)
subplot(211)
plot(t,s);%滤波前的信号图像
xlabel('时间/秒');
ylabel('幅度');
title('信号滤波前时域图');
subplot(212)
Fs=fft(s,512);
AFs=abs(Fs);
f=fs/512*(0:255);
plot(f,AFs(1:256));%滤波前的信号频域图
xlabel('频率/赫兹');
ylabel('幅度');
title('信号滤波前频域图');
figure(3)
subplot(211)
plot(t,sf)%滤波后的信号图像
xlabel('时间/秒');
ylabel('幅度');
title('信号滤波后时域图');
axis([0.005 0.025 -4 4]);
subplot(212)
Fsf=fft(sf,512);%滤波后的信号频域图AFsf=abs(Fsf);%信号频域图的幅值
f=(0:255)*fs/512;%频率采样
plot(f,AFsf(1:256))%滤波后的信号频域图xlabel('频率/赫兹');
ylabel('幅度');
title('信号滤波后频域图');
七、运行结果
八、实验心得
1、对于MATLAB语句有了更加深刻的理解,也注意到了一些运算符号的使
用,例如数组的相乘需用(.*)来表示,而一般数字相乘应用*。

还有当运用数组的法时,必须保持数组是等长的,否则,不能相加。

2.想要改变图形的尺寸,可调用AXIS函数。

3.在编程过程中应该注意一些细节问题,例如中英文符号的区别,往往一
些错误都是由于粗心而导致的。

4.设计过程中,学习了许多数字信号处理课程中关于数字滤波器的设计的
内容,再通过利用参考文献与网络,完成了用Matlab进行数字信号处理课程设计。

5.通过课程设计,加深了对课堂抽象概念的理解,巩固了课堂上所学的理论
知识,并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。

同时掌握编程方法和解决实际问题的技巧。

6.与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设
计出具有严格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。

7.随着版本的不断提高,MATLAB在数字滤波器技术发挥着更大的作用。


时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。

相关文档
最新文档