基于MATLAB的巴特沃斯滤波器.
- 格式:doc
- 大小:329.14 KB
- 文档页数:14
数字图像处理三级项目—高通、低通、带通滤波器摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。
利用matlab软件,采用频域滤波的方式,对图像进行低通和高通滤波处理。
低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。
低通滤波器有巴特沃斯滤波器和高斯滤波器等等,本次设计使用的低通滤波器为****。
高通滤波器有巴特沃斯滤波器、高斯滤波器、Laplacian高通滤波器以及Unmask高通滤波器等等,本次设计使用巴特沃斯高通滤波器。
1、频域低通滤波器:设计低通滤波器包括 butterworth and Gaussian (选择合适的半径,计算功率谱比),平滑测试图像test1和2。
实验原理分析根据卷积定理,两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到,如果f(x, y)和h(x, y)分别代表图像与空间滤波器,F(u, v)和H(u, v)分别为响应的傅立叶变换(H(u, v)又称为传递函数),那么我们可以利用卷积定理来进行频域滤波。
在频域空间,图像的信息表现为不同频率分量的组合。
如果能让某个范围内的分量或某些频率的分量受到抑制,而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。
频域空间的增强方法的步骤:(1)将图像从图像空间转换到频域空间;(2)在频域空间对图像进行增强;(3)将增强后的图像再从频域空间转换到图像空间。
低通滤波是要保留图像中的低频分量而除去高频分量。
图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓。
理想低通滤波器具有传递函数:其中D0为制定的非负数,D(u,v)为点(u,v)到滤波器中心的距离。
毕业设计基于Matlab的数字滤波器的设计与仿真分析学院名称:新华学院专业名称:电子信息工程年级: 2007级学生学号: 12007247213学生姓名:张晋川指导教师:汤全武申请日期: 2011年5月10日摘要本文研究了IIR数字滤波器和FIR数字滤波器在Matlab环境下的设计方法及仿真分析。
在无限脉冲响应(IIR)数字滤波器设计中,先采用脉冲响应不变法及双线性Z变化法设计数字滤波器,最后进行滤波器的频带转换,即进行模拟滤波器的设计,然后进行模拟-数字滤波器转换。
在有限脉冲响应(FIR)数字滤波器设计中,研究了FIR线性相位滤波器的特点和用窗函数法设计FIR滤波器两个问题。
这两类滤波器全部设计过程都是由理论分析、编程设计、具体实现的步骤进行的。
数字滤波器的单位冲激响应是有限长的,可以用一个因果系统来实现,因而数字滤波器可以做成即是因果又是稳定的系统。
关键词:数字滤波器;Matlab;无限脉冲响应;有限脉冲响应AbstractIn this paper, designs of the Infinite Impulse Response digital filter (IIR) and Finite Impulse Response digital filter (FIR) under Matlab are studied. The design of IIR filters can be achieved through three steps: firstly, the design of analog low-pass filter; secondly, it is analog-to-digital filter conversion; lastly, it is the conversion of filter frequency band. In design of FIR filters, two questions are discussed: the characteristics of FIR linear phase filter and reasoning of related formulas; the other is about the design of the FIR filters by means of window functions. The design of FIR and IIR follows the procedures of theoretical analysis, programming design and realization.The unit impulse response of digital filter is limited, can be achieved by a causal system, so digital filter can make it that is causal and stable system.Key words:Digital Filter; Matlab; IIR; FIR目录第1章绪论 (1)1.1课题的背景及研究意义 (1)1.2国内外的研究综述 (1)1.3研究内容和预期目标 (2)1.4研究方法 (3)第2章数字滤波器的基本概念 (4)2.1 数字滤波器的定义 (4)2.2 数字滤波器的分类 (4)2.3 IIR数字滤波器设计方法 (4)2.3.1 模拟滤波器设计 (4)2.3.2 模拟-数字滤波器设计 (5)2.3.3 频带变换 (7)2.4 FIR数字滤波器设计方法 (8)2.4.1 线性相位条件 (8)2.4.2 线性相位FIR滤波器幅度特性的特点 (9)2.4.3 线性相位FIR滤波器零点分布特点 (10)2.4.5 各种窗函数的实现与比较 (12)2.5 本章小结 (12)第3章基于Matlab的IIR数字滤波器设计与仿真分析 (13)3.1 基于Matlab的模拟滤波器设计与仿真分析 (13)3.1.1 巴特沃斯低通滤波器设计与仿真分析 (13)3.1.2 切比雪夫低通滤波器设计与仿真 (14)3.1.3 椭圆低通滤波器设计与仿真 (17)3.2 基于Matlab的模拟-数字滤波器变换仿真 (19)3.2.1 脉冲响应不变法 (19)3.2.2 双线性Z变换法 (21)3.3 基于Matlab的频带变换仿真 (23)3.3.1 模拟低通滤波器转换成数字高通滤波器 (23)3.3.2 模拟低通滤波器转换成数字带阻滤波器 (25)3.3.3 模拟低通滤波器转换成数字带通滤波器 (26)第4章基于Matlab的FIR数字滤波器设计与仿真分析 (28)4.1.1 海明窗设计与仿真数字低通滤波器 (28)4.1.2 汉宁窗设计与仿真数字高通滤波器 (29)4.1.3 汉宁窗设计与仿真数字带阻滤波器 (33)4.1.4 布拉克曼窗及三角窗设计与仿真数字带通滤波器 (35)第5章工程实例 (40)5.1 IIR数字滤波器工程实例 (40)5.2 FIR数字滤波器工程实例 (41)第6章结论 (43)附录 (44)参考文献 (47)致谢 (48)第1章绪论1.1课题的背景及研究意义信号与信号处理是信息科学中近几十年来发展最为迅速的学科之一。
基于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滤波器的设计在信号处理中具有重要的作用,可以用于去除噪声、增强信号等。
MATLAB是一种强大的工具,可以用于滤波器设计和分析。
本文将介绍如何使用MATLAB进行滤波器设计,并通过示例展示具体的过程。
在MATLAB中,可以使用信号处理工具箱提供的函数来设计滤波器。
常用的函数有:- `fir1`:设计FIR滤波器。
- `butter`:设计巴特沃斯滤波器。
- `cheby1`:设计切比雪夫I型滤波器。
- `cheby2`:设计切比雪夫II型滤波器。
- `ellip`:设计椭圆滤波器。
这些函数的输入参数包括滤波器类型、阶数、截止频率等。
根据具体的需求选择不同的函数来设计滤波器。
下面以设计一个低通滤波器为例,演示如何使用MATLAB进行滤波器设计。
首先,创建一个信号作为输入。
可以使用`sin`函数生成一个正弦信号作为示例。
代码如下:```matlabfs = 1000; % 采样率t = 0:1/fs:1; % 时间向量f=50;%信号频率x = sin(2*pi*f*t); % 输入信号```接下来,使用`fir1`函数设计一个低通滤波器。
该函数的输入参数`n`表示滤波器的阶数,`Wn`表示归一化的截止频率。
代码如下:```matlabn=50;%滤波器阶数Wn=0.2;%截止频率b = fir1(n, Wn);```然后,使用`filter`函数对输入信号进行滤波。
该函数的输入参数是滤波器的系数和输入信号。
代码如下:```matlaby = filter(b, 1, x);```最后,绘制原始信号和滤波后的信号的时域和频域波形。
代码如下:```matlab%时域波形subplot(2, 1, 1)plot(t, x)hold onplot(t, y)legend('原始信号', '滤波后信号') xlabel('时间 (s)')ylabel('幅值')title('时域波形')%频域波形subplot(2, 1, 2)f = linspace(-fs/2, fs/2, length(x)); X = abs(fftshift(fft(x)));Y = abs(fftshift(fft(y)));plot(f, X)hold onplot(f, Y, 'r')legend('原始信号', '滤波后信号') xlabel('频率 (Hz)')ylabel('幅值')title('频域波形')```运行以上代码,可以得到原始信号和滤波后信号的时域和频域波形图。
低通滤波matlab
低通滤波是指只允许低于某一频率范围的信号通过的滤波器,而阻止高于该频率范围的信号通过。
在MATLAB中,可以使用以下函数来实现低通滤波:
1. butter()函数:用于设计巴特沃斯滤波器,可设置滤波器的阶数、截止频率等参数。
2. fir1()函数:用于设计FIR(有限脉冲响应)滤波器,可设置滤波器的截止频率、窗函数等参数。
3. filter()函数:用于应用滤波器,输入原始信号和滤波器的系数,输出滤波后的信号。
例如,以下代码可以实现对信号x进行低通滤波,保留频率在0-1000Hz范围内的信号:
matlab
fs = 10000; %采样频率
fc = 1000; %截止频率
Wn = fc/(fs/2); %归一化截止频率
[b,a] = butter(6,Wn,'low'); %设计6阶巴特沃斯滤波器
y = filter(b,a,x); %应用滤波器
其中,b和a分别代表巴特沃斯滤波器的Numerator和Denominator系数,6表示滤波器的阶数,x是原始信号,y是滤波后的信号。
需要注意的是,滤波器的阶数越高,滤波效果通常越好,但也会增加计算量和延迟时间。
巴特沃斯滤波器matlab自定义函数众所周知,巴特沃斯滤波器是一种常用的数字信号处理滤波器,可以用于去除信号中的噪音。
在MATLAB中,我们可以通过自定义函数来实现巴特沃斯滤波器,从而对信号进行滤波处理。
本文将介绍如何在MATLAB中编写自定义函数来实现巴特沃斯滤波器,并给出相应的使用案例。
一、巴特沃斯滤波器原理1.1 基本原理巴特沃斯滤波器是一种频域滤波器,其基本原理是通过设定截止频率和滤波器阶数来实现对信号频谱的调整,从而达到去除噪音的目的。
截止频率越低,滤波效果越好;滤波器的阶数越高,滤波效果也越好。
1.2 数学表达巴特沃斯滤波器的数学表达式如下所示:H(u, v) = 1 / [1 + (D(u, v) / D0) ^ (2n)]其中,H(u, v)为频域滤波器的传递函数,D(u, v)为频域点(u, v)到频谱中心的距离,D0为滤波器的截止频率,n为滤波器的阶数。
1.3 巴特沃斯滤波器的特点巴特沃斯滤波器具有平坦的幅频特性和相位特性,能够有效地保持信号的频率分量,对实时信号传输和快速信号处理具有重要的意义。
二、巴特沃斯滤波器MATLAB自定义函数的编写2.1 函数输入参数为了实现一个通用的巴特沃斯滤波器自定义函数,我们需要定义一些输入参数,以便灵活地调整滤波器的截止频率和阶数。
在MATLAB中,可以通过函数的输入参数来实现这一目的。
一般情况下,巴特沃斯滤波器自定义函数的输入参数包括:- 输入信号- 截止频率D0- 滤波器阶数n2.2 函数输出结果巴特沃斯滤波器自定义函数的输出结果通常是滤波处理后的信号,以便后续的信号分析和处理。
在MATLAB中,可以通过函数的输出参数来返回滤波处理后的信号。
巴特沃斯滤波器自定义函数的输出参数通常是滤波处理后的信号。
2.3 函数实现步骤在MATLAB中编写巴特沃斯滤波器自定义函数的实现步骤如下:- 读取输入参数,包括输入信号、截止频率D0和滤波器阶数n;- 计算输入信号的二维傅里叶变换,得到输入信号的频谱;- 根据巴特沃斯滤波器的数学表达式,计算频域滤波器的传递函数H(u, v);- 将输入信号的频谱与频域滤波器的传递函数相乘,得到滤波处理后的频谱;- 对滤波处理后的频谱进行反傅里叶变换,得到滤波处理后的信号;- 返回滤波处理后的信号作为函数的输出参数。
matlab中butter的用法在MATLAB中,butter函数是一个信号处理函数,用于设计巴特沃斯滤波器。
巴特沃斯滤波器是一种经常应用于数据滤波和信号处理中的滤波器。
butter函数的语法为:[b, a] = butter(n, Wn, 'ftype')其中,n是滤波器的阶数,Wn是滤波器的截止频率,'ftype'是滤波器的类型。
滤波器类型可以是低通滤波器('low'),高通滤波器('high'),带通滤波器('bandpass'),带阻滤波器('bandstop')。
butter函数返回两个系数向量b和a,用于表示滤波器的系统函数的分子和分母。
这些系数可以用来构建滤波器对象或者进行滤波操作。
下面是一些关于butter函数的具体用法和实例:1.设计一个二阶低通滤波器:n=2;%阶数为2Wn=0.5;%截止频率为0.5ftype = 'low'; % 低通滤波器[b, a] = butter(n, Wn, ftype);这个例子中,函数返回的b和a向量分别为[0.2929,0.5858,0.2929]和[1.0000,-0.1716,0.2929]。
2.使用设计好的滤波器对信号进行滤波:data = % 待滤波的信号%使用滤波器对象对信号进行滤波filtered_data = filter(b, a, data);这个例子中,我们使用之前得到的b和a向量对信号data进行滤波。
3.设计一个二阶高通滤波器:n=2;%阶数为2Wn=0.7;%截止频率为0.7ftype = 'high'; % 高通滤波器[b, a] = butter(n, Wn, ftype);这个例子中,函数返回的b和a向量分别为[0.2929,-0.5858,0.2929]和[1.0000,-0.1716,0.2929]。
数字信号处理课程设计2015年 6 月25 日目录一.设计目的: (3)二.设计要求: (3)三.设计内容: (4)3.1选择巴特涡斯低通数据滤波器及双线性变换法的原因 (4)3.2巴特沃思低通滤波器的基本原理 (4)3.3双线性变换法原理 (5)3.4数字滤波器设计流程图 (7)3.5数字滤波器的设计步骤 (7)四.用matlab实现巴特沃斯低通数字滤波器的仿真并分析 (9)4.1巴特沃斯低通数字滤波器技术指标的设置 (9)4.2用matlab实现巴特沃斯低通数字滤波器的仿真 (9)4.3波形图分析: (12)五.总结与体会 (13)六.附录参考文献 (14)2一.设计目的:该课程设计是测控技术与仪器专业的必修课,开设课程设计的目的使学生掌握数字信号处理的基本概念和基本理论,能够利用辅助工具进行FIR和IIR数字滤波器的设计,进行一维信号的频谱分析,并进行仿真验证。
加强实践教学环节,加强学生独立分析、解决问题的能力,培养学生动手能力和解决实际问题的能力,实现宽口径教育。
(1)理解低通滤波器的过滤方法。
(2)进一步熟悉低通滤波器的基本应用。
(3)用仿真工具matlab软件对设计的滤波器进行软件和硬件仿真。
(6)将对仿真结果进行比较,从而检验滤波器滤波性能的准确性。
二.设计要求:地震发生时,除了会产生地震波,还会由地层岩石在断裂、碰撞过程中所发生的震动产生次声波。
它的频率大约在每秒十赫兹到二十赫兹之间(可以用11Hz和15Hz的两个信号的和进行仿真,幅度可以分别设定为1、2)。
大气对次声波的吸收系数很小,因此它可以传播的很远,而且穿透性很强。
通过监测次声波信号可以监测地震的发生、强度等信息,因为自然界中广泛存在着各种次声波,这就对地震产生的次声波产生了干扰(可以用白噪声模拟,方差为5),需要采取一定的处理方法,才能检测到该信号,要求设计检测方案;并处理方法给出具体的软件(可以以51系列单片机、STM32F407、TMS320F28335或TMS320F6745为例)。
假设地震次声波信号为x,输入x=sin(2*π*11*t)+2*sin(2*π*15*t)和伴有白噪声的合成信号,经过滤波器后滤除15Hz以上的分量,即只保留x=sin(2*π*11*t)+2*sin(2*π*15*t)的分量信号,来验证设计的滤波器是否达到了设计要求。
34 三.设计内容:3.1选择巴特涡斯低通数据滤波器及双线性变换法的原因(1)由于低通滤波器是组成其它滤波器的基础,故选用低通滤波器; (2)在当今社会,数字信号的应用越来越广泛,故选用数字信号;(3)巴特沃斯滤波器的特点是通频带的频率响应曲线最平滑并且应用范围最广,故选巴特沃斯型滤波器;(4)为了不使数字滤波器在ω=π附近产生频谱混叠,故选用双线性变换法。
3.2巴特沃思低通滤波器的基本原理Na c22)(11)j (H ΩΩ+=Ω 式中,N 称为滤波器的阶数。
当Ω=0c Ω=c Ω是3dB 截止频率。
在c Ω=Ω附近,随Ω加大,幅度迅速下降。
幅度特性与Ω与N 的关系如图3.1所示。
幅度下降的速度与阶数N 有关,N 愈大,通带愈平坦,过渡带愈窄,过渡带与阻带幅度下降的速度愈快,总的频响特性与理想低通滤波器的误差愈小。
图3.1 巴特沃斯低通数字滤波器 图3.2 三阶巴特沃斯滤波器极点5 幅度特性与Ω与N 的关系 分布图Na a cj s s s 2)(11)(H )(H Ω+=- 复变量Ω+=j s σ,此式表示幅度平方函数有2N 个极点,极点k s 用下式表示:)21221(21()1(Nk j c Nk ec j s ++Ω=Ω-=π) (k =0,1,2,3….)2N 个极点等间隔分布在半径为c Ω的圆上(该圆称为巴特沃斯圆),间隔为N /πrad 。
例如N=3,极点间隔为π/3rad ,如图3.2所示。
为形成因果稳定的滤波器,2N 个极点中只取s平面左半平面的的N 个极点构成Ha(s), 而右半平面的的N 个极点构成Ha(-s),Ha (s )的表达式为)()(Ha 1k N k Ncs s s -Ω=∏-=为使设计公式和图表统一,将频率归一化。
巴特沃斯低通数字滤波器采用对3dB 截止频率c Ω归一化,归一化后的系统函数为∏=ΩΩ=Ω1-0k )cs -(1)(H N k cc s s a 令ληj p +=,c ΩΩ=/λ,λ称为归一化频率,p 称为归一化复变量,这样,巴特沃斯低通原型系统函数为∏==1-0)-(1Ga(p)N k kpp3.3双线性变换法原理双线性变换法是使数字滤波器的频率响应与模拟滤波器的频率响应相似的一种变换方法。
为了克服多值映射的缺点,采用把整个s 平面频率压缩方法,6 将整个频率轴上的频率范围压缩到-π/T ~π/T 之间,再用sT e Z =转换到Z 平面上。
也就是说,第一步先将整个S 平面压缩映射到S1平面的-π/T ~π/T 一条横带里;第二步再通过标准变换关系sT e Z =将此横带变换到整个Z 平面上去。
这样就使S 平面与Z 平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。
映射关系如图3.3所示。
设Ha (s ),Ω=j s ,经过非线性频率压缩后用^1)(s H a ,11Ω=j s 表示,这里用正切变换实现频率压缩: )21tan(21T T Ω=Ω图3.3 双线性变换的映射关系式中,T 为采样间隔,当1Ω从-π/T 经过0变化到π/T 时,Ω由-∞经过0变化到+∞,实现了s 平面上整个虚轴完全压缩到1s 平面上虚轴的+π/T 之间的转换。
即T j Tj T j T j tT j T j e e T ee e e T j 11111111222/2/2/2/Ω-Ω-ΩΩΩ-Ω+-=+-=Ω代入Ω=j s ,11Ω=j s ,得到Ts Ts e e T s 11112--+-=再通过T s e z1=从1s 平面转换到z 平面,得到7 11112--+-=z z T s s Ts T z -+=22上式是S 平面与Z 平面之间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换。
双线性变换法与冲激响应不变法相比,其主要的优点是避免了频率响应的混叠现象,虽然在线性方面有些欠缺,但是可以通过频率的预畸来加以校正且计算比冲激响应不变法方便,实现起来比较容易,所以,本设计选择用双线性变换法设计巴特沃斯低通滤波器。
3.4数字滤波器设计流程图3.5数字滤波器的设计步骤数字滤波器的设计步骤:根据数字滤波器的技术指标先设计过渡模拟滤波器得到系统函数Ha(s),然后将Ha(s)按某种方法(本实验采用双线性变换法)转换成数字滤波器的系统函数H (z )。
具体为:(1)确定巴特沃斯数字低通滤波器的技术指标:通带边界频率ωp,阻带截止频率ωs,通带最大衰减аp,阻带最小衰减аs 。
(2)将数字滤波器的技术指标转换为模拟滤波器的技术指标。
这里指ωp 和ωs 的变换而аp 和аs 保持不变。
本题采用双线性变换法,其转换公式为:2tan 2p T p ω=Ω8 2tan 2s T s ω=Ω (3)根据技术指标Ωp 、Ωs 、ωp 和ωs 用下面公式求出滤波器的阶数。
p sΩΩ=sp λ 11011010/10/--=p s sp k αα sp g sp g l k l λ=N(4)根据N 由表3.1求出归一化极点k p 和归一化低通原型系统函数Ga(p)。
表3.1巴特沃斯归一化低通滤波器参数(5)将Ga (p )去归一化,将csp Ω=代入Ga (p ),得到实际的滤波器系统函数: cs p p G s Ha Ω==)()(这里Ωc 为3dB 截止频率。
9 (6)用双线性变换法将模拟滤波器Ha(s)转换成数字低通滤波器系统函数H(z)。
转换公式为:)()(s Ha z H =s=11112--+-zz T 四.用matlab 实现巴特沃斯低通数字滤波器的仿真并分析4.1巴特沃斯低通数字滤波器技术指标的设置 通带截至频率ωp=15Hz, αp =1dB 阻带截至频率ωs=20Hz αs =30dB 采样频率为fs=1000Hz4.2用matlab 实现巴特沃斯低通数字滤波器的仿真 Matlab 程序如下: clear all;%模拟地震信号,频率是11hz 和15hz fs=1000;dt=1/fs; f1=11;f2=15; n=500;t=[0:n-1]*dt; %时间序列 x=sin(2*pi*f1*t)+2*sin(2*pi*f2*t); %信号 figure(1); subplot(511);plot(t,x); %显示原始信号 title('模拟地震信号'); %白噪声信号%rand 函数用来产生均值0.5,方差约为1/12,幅值在0~1的伪随机数 %修改为均值为0,方差为5的白信号。
p=5; %u1=rand(1,n);u1_mean=mean(u1);u1_var=var(u1);u=u1-u1_mean;u=u*sqrt(p/u1_var); %白噪声信号subplot(512);plot(u(1:100));title('均匀分布白噪声');%%%%地震信号和白噪声叠加y1=x+u; %叠加白噪声subplot(513);plot(t,y1);title('地震信号和白噪声叠加');%FIR带通%m=20;%f=[0 0.001 0.0015 0.004 0.005 1];%a=[0 0 1 1 0 0];%BB=firls(m,f,a);%bb=fftfilt(BB,y1);%subplot(313);%plot(t,bb);%fir低通%m=60;%f=[0 0.03 0.04 1];%a=[1 1 0 0];%BB=firls(m,f,a);10%bb=fftfilt(BB,y1);%subplot(313);%plot(t,bb);%B=fir1(45,0.025);%bb=fftfilt(B,y1);%subplot(313);%plot(t,bb);%巴特沃斯wp=2*20/fs;ws=2*30/fs;Rp=1;As=30;[N,wc]=buttord(wp,ws,Rp,As);[B,A]=butter(N,wc);bb=filter(B,A,y1);[H,W]=freqz(B,A);subplot(514);plot(W,abs(H));title('巴特沃斯幅频特性');subplot(515);plot(t,bb);title('巴特沃斯滤波');用matlab滤波前后的信号波形变化如图4.1所示:1112 00.20.40.60.8110输入信号00.51 1.52 2.53 3.512低通滤波器00.20.40.60.81230Hz图4.1 用matlab 滤波前后的信号波形变化4.3波形图分析:由技术指标得:设计的巴特沃斯低通数字滤波器为15Hz 以内的信号能通过,而高于15Hz 的信号将通不过滤波器。