本科毕业设计--基于matlab的常用滤波算法研究含代码
高斯平滑滤波器(含matlab代码)(数据参考)

Gaussian Smoothing Filter高斯平滑滤波器一、图像滤波的基本概念图像常常被强度随机信号(也称为噪声)所污染.一些常见的噪声有椒盐(Salt & Pepper)噪声、脉冲噪声、高斯噪声等.椒盐噪声含有随机出现的黑白强度值.而脉冲噪声则只含有随机的白强度值(正脉冲噪声)或黑强度值(负脉冲噪声).与前两者不同,高斯噪声含有强度服从高斯或正态分布的噪声.研究滤波就是为了消除噪声干扰。
图像滤波总体上讲包括空域滤波和频域滤波。
频率滤波需要先进行傅立叶变换至频域处理然后再反变换回空间域还原图像,空域滤波是直接对图像的数据做空间变换达到滤波的目的。
它是一种邻域运算,即输出图像中任何像素的值都是通过采用一定的算法,根据输入图像中对用像素周围一定邻域内像素的值得来的。
如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。
线性平滑滤波器去除高斯噪声的效果很好,且在大多数情况下,对其它类型的噪声也有很好的效果。
线性滤波器使用连续窗函数内像素加权和来实现滤波。
特别典型的是,同一模式的权重因子可以作用在每一个窗口内,也就意味着线性滤波器是空间不变的,这样就可以使用卷积模板来实现滤波。
如果图像的不同部分使用不同的滤波权重因子,且仍然可以用滤波器完成加权运算,那么线性滤波器就是空间可变的。
任何不是像素加权运算的滤波器都属于非线性滤波器.非线性滤波器也可以是空间不变的,也就是说,在图像的任何位置上可以进行相同的运算而不考虑图像位置或空间的变化。
二、图像滤波的计算过程分析滤波通常是用卷积或者相关来描述,而线性滤波一般是通过卷积来描述的。
他们非常类似,但是还是会有不同。
下面我们来根据相关和卷积计算过程来体会一下他们的具体区别:卷积的计算步骤:(1)卷积核绕自己的核心元素顺时针旋转180度(2)移动卷积核的中心元素,使它位于输入图像待处理像素的正上方(3)在旋转后的卷积核中,将输入图像的像素值作为权重相乘(4)第三步各结果的和做为该输入像素对应的输出像素相关的计算步骤:(1)移动相关核的中心元素,使它位于输入图像待处理像素的正上方(2)将输入图像的像素值作为权重,乘以相关核(3)将上面各步得到的结果相加做为输出可以看出他们的主要区别在于计算卷积的时候,卷积核要先做旋转。
导向滤波算法说明(含代码)

导向滤波算法说明目录导向滤波算法说明................................................................................................................... - 1 - 一概述..................................................................................................................................... - 1 - 二导向滤波原理..................................................................................................................... - 1 -2.1导向滤波特点 (1)2.2导向滤波计算步骤 (1)2.3导向滤波公式推导 (2)三导向滤波实现代码............................................................................................................. - 4 - 四导向滤波效果..................................................................................................................... - 6 -导向滤波算法说明一概述本文分为算法原理、Maltab实现代码和算法效果三个部分,对导向滤波算法进行详细说明。
二导向滤波原理2.1导向滤波特点导向滤波有些场合也被称为引导滤波,是何恺明提出的一种保边滤波算法。
中值和均值滤波论文(附代码)

基于MATLAB 的带噪图像的中值和均值滤波摘要:图像是一种重要的信息源,通过图像处理可以帮助人们了解信息的内涵。
本文将纯净的图像加入椒盐噪声,然后采用中值和均值滤波的方法对其进行去噪。
在图像处理中,中值和均值滤波对滤除脉冲干扰噪声都很有效。
文章阐述了中值和均值滤波的原理、算法以及在图像处理中的应用。
MATLAB 是一种高效的工程计算语言,在数据处理、图像处理、神经网络、小波分析等方面都有广泛的应用。
关键词:图像,中值滤波,均值滤波,去噪,MATLAB1. 引言20世纪20年代,图像处理首次得到应用。
上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。
60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。
图像处理中输入的是质量低的图像,输出的是改善质量后的图像。
为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。
根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。
经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。
这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。
2. 中值滤波中值滤波是一种典型的低通滤波器,属于非线性滤波技术,它的目的是保护图像边缘的同时去除噪声。
所谓中值滤波,是指把以某点(x,y )为中心的小窗口内的所有象素的灰度按从大到小的顺序排列,若窗口中的象素为奇数个,则将中间值作为(x ,y)处的灰度值。
若窗口中的象素为偶数个,则取两个中间值的平均值作为(x ,y)处的灰度值。
中值滤波对去除椒盐噪声很有效。
中值滤波器的缺点是对所有象素点采用一致的处理,在滤除噪声的同时有可能改变真正象素点的值,引入误差,损坏图像的边缘和细节。
该算法对高斯噪声和均匀分布噪声就束手无策。
设有一个一维序列1f ,2f ,…,n f ,取窗口长度为m(m 为奇数),对此序列进行中值滤波,就是从输入序列中相继抽出m 个数,v i f -,…,1-i f ,…,1f ,…,1+i f ,…,v i f +,其中i 为窗口的中心位置,21-=m v ,再将这m 个点按其数值大小排列,取其序号为正中间的那作为输出。
基于MATLAB的数字图像课程设计-图像频域增强高通滤波器算法设计

基于MATLAB的数字图像课程设计-图像频域增强高通滤波器算法设计目录1 设计任务及目的 (2)1.1 设计任务 (2)1.2 设计目的 (2)2 课程设计相关知识 (3)2.1 数字图像处理简介 (3)2.1.1 数字图像发展概述 (3)2.1.2 数字图像处理内容 (3)2.1.3 数字图像处理技术 (4)2.2 MATLAB简介 (5)2.2.1 MATLAB基本功能 (5)2.2.2 MATLAB产品应用 (6)2.2.3 MATLAB特点 (6)2.2.4 MATLAB系列工具优势 (6)3 图像频域高通滤波原理 (7)3.1 频域滤波增强步骤及流程框图 (7)3.2 傅立叶变换原理 (8)3.3 高通滤波器原理 (9)3.3.1 理想高通滤波 (9)3.3.2 巴特沃斯高通滤波 (9)3.3.3 指数高通滤波 (10)3.3.4 梯形高通滤波 (10)3.3.5 高斯高通滤波 (10)4 MATLAB程序代码 (10)5 仿真结果与分析 (15)5.1 仿真结果 (15)5.2 结果分析 (19)结论 (20)参考文献 (21)图像频域增强算法设计——高通滤波1设计任务及目的1.1设计任务利用所学的数字图像处理技术,建立实现某一个主题处理的系统,利用MATLAB软件系统来实现图像的频域滤波技术,要求:(1)学习和熟悉MATLAB软件的使用方法;(2)熟悉和掌握MATLAB 程序设计过程;(3)利用所学数字图像处理技术知识和MATLAB软件对图像进行高通滤波处理;(4)能对图.jpg、.bmp、.png格式进行打开、保存、另存、退出等一系列功能操作;(5)在程序开发时,必须清楚主要实现函数目的和作用,需要在程序书写时做适当注释说明,理解每一句函数的具体意义和使用范围;(6)比较几种高通滤波器对图像数字化处理效果的异同。
1.2 设计目的本次课程设计的目的在于提高发现问题、分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
基于MATLAB的数字滤波器的设计与仿真分析

毕业设计基于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小波滤波器代码 -回复

matlab小波滤波器代码-回复MATLAB是一种强大的数学计算工具和编程语言,广泛应用于科学研究、工程设计、数据分析和算法开发等领域。
在信号处理中,MATLAB提供了许多函数和工具箱,其中包括用于小波滤波的函数和工具。
本文将介绍MATLAB中小波滤波器的基本原理及其代码实现。
在信号处理中,小波滤波器是一种能够将信号分解成不同频率带的滤波器。
小波分析通过对信号进行连续或离散的小波变换,将信号分解为多个不同频率的小波子带。
小波滤波器是一种能够在不同频率范围内改变信号幅度的滤波器,可以用于信号去噪、信号压缩、边缘检测等应用。
MATLAB中提供了许多小波滤波的函数,其中最常用的是`wavedec`函数。
`wavedec`函数可以将信号进行小波变换,将信号分解成多个频带的小波系数。
该函数的基本语法如下:[c,l] = wavedec(x,n,wname)其中,`x`是输入信号,`n`是小波分解的级别,`wname`是小波函数的名称。
函数的输出结果包括小波系数`c`和分解层数`l`。
小波函数是小波变换中的一个重要组成部分,它决定了小波分解的性质。
MATLAB中有许多内置的小波函数,如`haar`、`db`、`coif`、`sym`等。
可以通过`wfilters`函数查看所有可用的小波函数及其参数。
下面是一个示例:[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters(wname)其中,`Lo_D`是分解低通滤波器的系数,`Hi_D`是分解高通滤波器的系数,`Lo_R`是重构低通滤波器的系数,`Hi_R`是重构高通滤波器的系数。
这些滤波器用于将信号分解为不同频率的小波子带,并通过小波逆变换将其重构。
除了小波分解外,MATLAB还提供了小波重构函数`waverec`,用于将小波系数重构为原始信号。
该函数的基本语法如下:xrec = waverec(c,l,wname)其中,`c`是小波系数,`l`是分解层数,`wname`是小波函数的名称。
matlab滤波函数详解 -回复
matlab滤波函数详解-回复Matlab滤波函数详解滤波是信号处理中的重要任务之一,它可以用来去除噪声、强调信号的特定频率成分、或者改变信号的频谱分布。
Matlab作为一款强大的数学计算软件,提供了丰富的滤波函数以供使用。
本文将主要介绍Matlab中常用的滤波函数,并逐步回答关于这些函数的一系列问题。
一、fir1函数fir1函数用于设计FIR滤波器的零点增益。
它采用了窗函数法,通过选择合适的窗函数和截止频率,可以得到所需的滤波器。
1. 如何使用fir1函数设计一个低通滤波器?使用fir1函数设计一个低通滤波器的示例代码如下:matlabfs = 1000; 采样频率fc = 100; 截止频率N = 100; 滤波器的阶数b = fir1(N, fc/(fs/2));以上代码中,fs表示采样频率,fc表示截止频率,N表示滤波器的阶数。
fir1函数会返回滤波器的系数b。
2. fir1函数有哪些可选参数?如何选择窗函数?fir1函数还可以接受其他参数,用于指定窗函数的类型和参数。
常用的窗函数有'hamming'、'hanning'、'blackman'等。
可以使用help fir1查看fir1函数的帮助文档,其中有关于可选参数的详细说明。
二、butter函数butter函数用于设计IIR(无限脉冲响应)滤波器。
它基于巴特沃斯滤波器的设计方法,可以用来设计各种类型的滤波器。
1. 如何使用butter函数设计一个带通滤波器?使用butter函数设计一个带通滤波器的示例代码如下:matlabfs = 1000; 采样频率f1 = 100; 通带1的下限频率f2 = 200; 通带2的上限频率Wn = [f1, f2]/(fs/2);[N, Wn] = buttord(Wn(1), Wn(2), 1, 40);[b, a] = butter(N, Wn);以上代码中,fs表示采样频率,f1和f2分别表示通带的下限和上限频率,Wn表示归一化的通带频率范围,N表示滤波器的阶数,b和a分别表示滤波器的分子和分母系数。
matlab小波滤波器代码 -回复
matlab小波滤波器代码-回复在MATLAB中实现小波滤波器的代码,可以通过以下步骤来完成:第一步:导入信号数据在MATLAB中,首先需要导入待处理的信号数据。
可以使用`wavread`函数读取声音文件,或者使用`load`函数导入其他格式的数据。
matlab[data, fs] = wavread('sound.wav');这里`data`是读取到的信号数据,`fs`是采样率。
第二步:选择小波基函数小波滤波器通过对信号进行小波变换来实现滤波效果。
在MATLAB 中,可以选择不同的小波基函数进行变换。
常用的小波基函数包括`haar`、`dbN`(N是小波基的阶数)、`coifN`、`symN`等。
这里以`haar`小波基为例。
matlabwaveletName = 'haar';第三步:进行小波变换使用`wavedec`函数进行小波变换,将信号分解为多个尺度的小波系数。
matlab[level1, level2, level3, level4] = wavedec(data, 4, waveletName);这里将信号分解为4个尺度的小波系数,分别存储在`level1`、`level2`、`level3`和`level4`变量中。
第四步:滤波在小波变换后,可以对小波系数进行滤波操作。
可以通过设定一个阈值,将小波系数中小于该阈值的部分设为0,从而达到去噪的效果。
matlabthreshold = 0.5;level1(filteredLevel1 < threshold) = 0;level2(filteredLevel2 < threshold) = 0;level3(filteredLevel3 < threshold) = 0;level4(filteredLevel4 < threshold) = 0;这里使用了一个阈值为0.5的例子,小于该阈值的小波系数将被设为0。
常见滤波器Matalab程序
%写上标题%设计低通滤波器:[N,Wc]=buttord()%估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc[a,b]=butter(N,Wc); %设计Butterworth低通滤波器[h,f]=freqz(); %求数字低通滤波器的频率响应figure(2); % 打开窗口2subplot(221); %图形显示分割窗口plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图title(巴氏低通滤波器'');grid; %绘制带网格的图像sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数subplot(222);plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形xlabel('时间(seconds)');ylabel('时间按幅度');SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换w= %新信号角频率subplot(223);plot()); %绘制叠加函数S经过低通滤波器以后的频谱图title('低通滤波后的频谱图');%设计高通滤波器[N,Wc]=buttord()%估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc[a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器[h,f]=freqz(); %求数字高通滤波器的频率响应figure(3);subplot(221);plot(f,abs(h)); %绘制Butterworth高通滤波器的幅频响应图title('巴氏高通滤波器');grid; %绘制带网格的图像sf=filter(); %叠加函数S经过高通滤波器以后的新函数subplot(222);plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形xlabel('Time(seconds)');ylabel('Time waveform');w; %新信号角频率subplot(223);plot()); %绘制叠加函数S经过高通滤波器以后的频谱图title('高通滤波后的频谱图');%设计带通滤波器[N,Wc]=buttord([)%估算得到Butterworth带通滤波器的最小阶数N和3dB截止频率Wc[a,b]=butter(N,Wc); %设计Butterworth带通滤波器[h,f]=freqz(); %求数字带通滤波器的频率响应figure(4);subplot(221);plot(f,abs(h)); %绘制Butterworth带通滤波器的幅频响应图title('butter bandpass filter');grid; %绘制带网格的图像sf=filter(a,b,s); %叠加函数S经过带通滤波器以后的新函数subplot(222);plot(t,sf); %绘制叠加函数S经过带通滤波器以后的时域图形xlabel('Time(seconds)');ylabel('Time waveform');SF=fft(); %对叠加函数S经过带通滤波器以后的新函数进行256点的基—2快速傅立叶变换w=( %新信号角频率subplot(223);plot(')); %绘制叠加函数S经过带通滤波器以后的频谱图title('带通滤波后的频谱图');实例应用:matlab设计的带通滤波器方法改变参数就行了cheb1% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40% =============双线型变换法=========================================wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp1=tan(wp1/2); Wp2=tan(wp2/2);Ws1=tan(ws1/2); Ws2=tan(ws2/2);BW=Wp2-Wp1; W0=Wp1*Wp2; W00=sqrt(W0);WP=1; WS=WP*(W0^2-Ws1^2)/(Ws1*BW);[N,Wn]=cheb1ord(WP,WS,Rp,Rs,'s');[B,A]=cheby1(N,Rp,Wn,'s');[BT,A T]=lp2bp(B,A,W00,BW);[num,den]=bilinear(BT,A T,0.5);[h,omega]=freqz(num,den,64);subplot(2,2,1);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,2);stem(omega/pi,20*log10(abs(h)));xlabel('\omega/\pi');ylabel('增益.dB');%=============双线性变化法2=================================ws=0.6*pi;Ap=1;As=25;wp=0.4*pi;T=0.001;Fs=1/T;wp=wp/T;ws=ws/T;N=buttord(wp,ws,Ap,As,'s');fprintf('\nN=%d\n',N);wc=wp/((10^(0.1*Ap)-1)^(1/2/N));fprintf('\nwc=%.4e\n',wc);[numa,dena]=butter(N,wc,'s');fprintf('\n');disp('A numerator polynomial');fprintf('%.4e\n',numa);fprintf('\n');disp('A Denominator polynomial');fprintf('%.4e\n',dena);[numd,dend]=bilinear(numa,dena,Fs);w=linspace(0,pi,512);h=freqz(numd,dend,w);norm=max(abs(h));numd1=abs(h)/norm;plot(w/pi,20*log10(numd1));grid;%xlable('Normalized frequency');%ylable('Gain,dB');fprintf('\n');disp('D numerator polynomial');fprintf('%.4e\n',numd);fprintf('\n');disp('D numerator polynomial');fprintf('%.4e\n',dend);% =============直接法================================= wp1=0.45*pi; wp2=0.65*pi;ws1=0.3*pi; ws2=0.75*pi;Rp=1; Rs=40;Wp=[wp1/pi,wp2/pi]; Ws=[ws1/pi,ws2/pi];[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs);[B,A]=cheby1(N,Rp,Wn);[h,omega]=freqz(B,A,64);subplot(2,2,3);stem(omega/pi,abs(h));xlabel('\omega/\pi');ylabel('|H(z)|');subplot(2,2,4);stem(omega/pi,20*log10(abs(h)));xlabel('\omega/\pi');ylabel('增益.dB');%cheby2%% wp1=0.45*pi;wp2=0.65*pi;ws1=0.3*pi;ws2=0.75*pi;Rp=1;Rs=40% =============脉冲响应不变法的程序================================= wp=0.4*pi;ws=0.6*pi;Ap=1;As=25;wp=0.4*pi;T=0.001;Fs=1/T;wp=wp/T;ws=ws/T;N=buttord(wp,ws,Ap,As,'s');fprintf('\nN=%d\n',N);wc=wp/((10^(0.1*Ap)-1)^(1/2/N));fprintf('\nwc=%.4e\n',wc);[numa,dena]=butter(N,wc,'s');fprintf('\n');disp('A numerator polynomial');fprintf('%.4e\n',numa);fprintf('\n');disp('A Denominator polynomial');fprintf('%.4e\n',dena);[numd,dend]=impinvar(numa,dena,Fs);w=linspace(0,pi,512);h=freqz(numd,dend,w);norm=max(abs(h));numd1=abs(h)/norm;plot(w/pi,-20*log10(numd1));grid;%xlable('Normalized frequency');%ylable('Gain,dB');fprintf('\n');disp('D numerator polynomial');fprintf('%.4e\n',numd);fprintf('\n');disp('D numerator polynomial');fprintf('%.4e\n',dend);各种滤波器形式的MATLAB参考程序和仿真内容%*******************************************************************%%mode: 1--巴特沃斯低通;2--巴特沃斯高通;3--巴特沃斯带通;4--巴特沃斯带阻% 5--契比雪夫低通;6--契比雪夫高通;7--契比雪夫带通;8--契比雪夫带阻%fp1,fp2:通带截止频率,当高通或低通时只有fp1有效%fs1, fs2:阻带截止频率,当高通或低通时只有fs1有效%rp: 通带波纹系数%as: 阻带衰减系数%sample: 采样率%h: 返回设计好的滤波器系数%*******************************************************************% function[b,a]=iirfilt(mode,fp1,fp2,fs1,fs2,rp,as,sample)wp1=2*fp1/sample;wp2=2*fp2/sample;ws1=2*fs1/sample;ws2=2*fs2/sample;%得到巴特沃斯滤波器的最小阶数N和3bd频率wnif mode<3[N,wn]=buttord(wp1,ws1,rp,as);elseif mode<5[N,wn]=buttord([wp1 wp2],[ws1 ws2],rp,as);%得到契比雪夫滤波器的最小阶数N和3bd频率wnelseif mode<7[N,wn]=cheb1ord(wp1,ws1,rp,as);else[N,wn]=cheblord([wp1 wp2],[ws1 ws2],rp,as);end%得到滤波器系数的分子b和分母aif mode= =1[b,a]=butter(N,wn);endif mode= =2[b,a]=butter(N,wn,/high/);endif mode= =3[b,a]=butter(N,wn);endif mode= =4[b,a]=butter(N,wn,/stop/);endif mode= =5[b,a]=cheby1(N,rp,wn);endif mode= =6[b,a]=cheby1(N,rp,wn,/high/);endif mode= =7[b,a]=cheby1(N,rp,wn);endif mode= =8[b,a]=cheby1(N,rp,wn,/stop/);endset(gcf,/menubar/,menubar);freq_response=freqz(b,a);magnitude=20*log10(abs(freq_response));m=0:511;f=m*sample/(2*511);subplot(3,1,1);plot(f,magnitude);grid; %幅频特性axis([0 sample/2 1.1*min(magnitude) 1.1*max(magnitude)]); ylabel('Magnitude');xlabel('Frequency-->');phase=angle(freq_response);subplot(3,1,2);plot(f,phase);grid; %相频特性axis([0 sample/2 1.1*min(phase) 1.1*max(phase)]);ylabel('Phase');xlabel('Frequency-->');h=impz(b,a,32); %32点的单位函数响应t=1:32;subplot(3,1,3);stem(t,h);grid;axis([0 32 1.2*min(h) 1.1*max(h)]);ylabel('h(n)');xlabel('n-->');。
基于matlab的数字信号滤波处理(推荐文档)
数字信号处理课程设计---------------------------基于matlab的语音信号滤波处理学院:班号:姓名:学号:目录:一.设计内容 (3)二.设计原理 (3)1.运用快速傅里叶变换 (3)2.采用矩形窗设计滤波器 (3)三.设计过程 (1)1.语音信号的采集 (4)2.语音信号的频谱分析 (4)3.用滤波器对语音信号进行滤波 (5)4.回放语音信号 (11)四.总结 (11)五.参考文献 (12)摘要语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。
通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。
Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。
信号处理是Matlab 重要应用的领域之一。
本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。
一.设计内容首先采集一段语音信号(.wav 格式),时间在几十秒内,运用MATLAB 软件,调用函数功能画出它的时域波形和频谱特性。
然后设计滤波器对语音信号进行滤波,比较滤波前后的波形和特性。
最后,调用sound 函数回放信号,感觉滤波前后的声音变化。
二.设计原理1.运用快速傅里叶变换(FFT )对信号进行傅里叶变换,得到频谱特性。
2.采用矩形窗设计滤波器。
矩形窗的定义:一个N 点的矩形窗函数定义为如下1010()[()]()1()[()]()N kN n N kn N k X k DFT x n x n Wx n IDFT x n X k W N -=--=====∑∑n{1,00,()n Nw n ≤<=其他矩形窗的主瓣宽度小(4*pi/N ),具有较高的频率分辨率,旁瓣峰值-13dB,过渡带宽为1.8*pi/N,阻带最小衰减-21dB 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文) UNDERGRADUATE PROJECT (THESIS)
题 目: 冲击测试常用滤波算法研究 学 院 专 业 学 号 学生姓名 指导教师 起讫日期 毕业设计(论文)
1 目录 摘要 ............................................................................................................................... 2 ABSTRACT .................................................................................................................. 3 第一章 绪论.................................................................................................................. 4 1.1课题背景 ............................................................................................................................ 4 1.2国内外相关领域的研究 .................................................................................................... 4 1.3主要研究内容与创新 ........................................................................................................ 5 1.3.1研究内容与意义 .................................................................................................... 5 1.3.2课题的创新点 ........................................................................................................ 5 1.3.3 研究目的与技术指标 ........................................................................................... 6 第二章 数字滤波基础.................................................................................................. 7 2.1数字滤波算法概念 ............................................................................................................ 7 2.2数据采样与频谱分析原理 ................................................................................................ 8 2.2.1 时域抽样定理 ....................................................................................................... 8 2.2.2 离散傅立叶变换(DFT) ......................................................................................... 8 2.2.3 快速傅立叶变换(FFT) ......................................................................................... 9 2.2.4 频谱分析原理 ....................................................................................................... 9 2.3常用数字滤波算法基础 .................................................................................................. 10 2.3.1常用数字滤波算法分类 ...................................................................................... 10 2.3.2常用数字滤波算法特点 ...................................................................................... 11 2.3.3常用滤波算法相关原理 ...................................................................................... 13 2.4 冲击测试采样数据 ......................................................................................................... 16 2.4.1噪声的特点与分类 .............................................................................................. 16 2.4.2冲击测试采样数据特点 ...................................................................................... 17 2.5 MATLAB简介 .................................................................................................................... 17 2.5.1 MATLAB功能简介 ................................................................................................ 18 2.5.2 MATLAB的发展 .................................................................................................... 18 第三章、冲击测试滤波算法设计及滤波效果分析.................................................. 20 3.1 冲击测试采样数据的分析 ............................................................................................. 20 3.2 滤波算法设计及效果分析 ........................................................................................... 21 3.2.1 中位值平均法的设计 ......................................................................................... 21 3.2.2限幅法和限速法的设计 ...................................................................................... 23 3.2.3一阶滞后法的设计 .............................................................................................. 25 3.2.4低通法的设计 ...................................................................................................... 26 第四章 结论与展望.................................................................................................... 34 4.1冲击测试的滤波算法总结 .............................................................................................. 34 4.2冲击测试的滤波算法展望 .............................................................................................. 34 致 谢............................................................................................................................ 36 参考文献...................................................................................................................... 37 附录:程序代码清单.................................................................................................. 38