基于matlab声音信号的滤波去噪处理
Matlab中的信号降噪与滤波技术详解
Matlab中的信号降噪与滤波技术详解正文部分:在信号处理的领域中,信号的降噪和滤波是非常重要的步骤。
Matlab作为一种常用的工具,提供了丰富的信号处理函数和工具箱,可以帮助我们实现高效的信号降噪和滤波。
本文将详细介绍Matlab中的信号降噪和滤波技术。
一、信号降噪技术1.1 经典的降噪方法在信号降噪的过程中,最常用的方法之一是使用滑动平均法。
该方法通过计算信号在一定窗口内的平均值来消除噪声的影响。
在Matlab中,可以使用smooth函数来实现该方法。
使用该函数时,需要指定窗口的大小。
较大的窗口可以平滑信号,但会导致信号的平均值偏移。
而较小的窗口则可以更有效地去除高频噪声,但可能会保留一些低频噪声。
此外,还可以使用中值滤波法来降噪,该方法能够消除信号中的离群值。
在Matlab中,可以使用medfilt1函数实现中值滤波。
该函数需要指定一个窗口大小,并对信号进行中值滤波处理。
较大的窗口可以更好地降噪,但可能会导致信号的细节信息丢失。
1.2 基于小波变换的降噪方法除了经典的降噪方法外,基于小波变换的降噪方法也是一种常用的技术。
小波变换是一种多分辨率分析方法,可以将信号分解为不同尺度的子信号。
在降噪过程中,可以通过滤除高频子信号中的噪声来实现降噪效果。
在Matlab中,可以使用wdenoise函数来实现基于小波变换的降噪。
该函数需要指定小波族,降噪方法和阈值等参数。
1.3 基于自适应滤波的降噪方法自适应滤波是一种根据信号的统计特性进行滤波的方法,它可以根据信号的自相关矩阵来调整滤波器的参数。
在Matlab中,可以使用wiener2函数来实现自适应滤波。
该函数需要指定一个噪声估计器,通过估计信号和噪声的自相关函数来调整滤波器的参数。
二、信号滤波技术2.1 无限脉冲响应滤波器无限脉冲响应滤波器(IIR滤波器)是一种常用的滤波器,它可以对信号进行低通、高通、带通或带阻滤波。
在Matlab中,可以使用butter函数来设计和应用IIR滤波器。
在Matlab中进行噪声抑制和降噪处理的方法
在Matlab中进行噪声抑制和降噪处理的方法引言:噪声是信号处理中的一个常见问题,它可以由多种因素引起,如传感器本身的噪声、电磁干扰等。
噪声的存在会影响到信号的质量和准确性,因此在许多应用中,我们需要进行噪声抑制和降噪处理。
对于Matlab来说,它提供了多种方法和工具来实现这一目标。
本文将介绍在Matlab中进行噪声抑制和降噪处理的方法。
一、频域滤波方法在Matlab中,频域滤波方法是一种常见且有效的噪声抑制和降噪处理方法。
该方法的基本思想是将信号从时域转换到频域,在频域中对信号进行滤波,并将滤波后的信号再转换回时域。
Matlab提供了丰富的频域滤波函数和工具,如fft、ifft、fftshift等。
通过这些函数,我们可以实现低通滤波、高通滤波、带通滤波等各种滤波操作,从而有效抑制和降噪信号。
二、时域滤波方法时域滤波方法是另一种常用的噪声抑制和降噪处理方法。
该方法的基本思想是在时域中对信号进行滤波,直接对信号进行抽样和滤波处理。
与频域滤波不同的是,时域滤波方法更加直观和易于理解。
在Matlab中,我们可以使用filter函数和fir1函数实现时域滤波。
其中,filter函数可以对信号进行FIR滤波,而fir1函数可以设计并生成FIR滤波器。
三、小波变换方法小波变换是一种非常有用的信号处理方法,它可以将信号在时间和频率上进行局部分析。
在噪声抑制和降噪处理中,小波变换可以帮助我们将信号分解成不同的频率成分,并对噪声进行抑制。
在Matlab中,我们可以使用wavelet函数和wdenoise函数来实现小波变换。
通过这些函数,我们可以选择不同的小波基函数,并设置适当的阈值来实现噪声抑制和降噪处理。
四、自适应滤波方法自适应滤波是一种根据信号特性自动调整滤波器参数的滤波方法。
它可以自动识别和适应信号中的噪声,并对其进行抑制和降噪处理。
在Matlab中,自适应滤波可以通过nlms函数和rls函数来实现。
这些函数基于LMS算法和RLS算法,可以快速、准确地对信号进行自适应滤波。
如何使用MATLAB进行频域滤波与去噪
如何使用MATLAB进行频域滤波与去噪使用MATLAB进行频域滤波与去噪引言:在数字信号处理领域,频域滤波与去噪是一项重要而常见的任务,在实际应用中有很多场景需要对信号进行去除噪声或者滤波处理。
MATLAB作为一种功能强大的科学计算软件,提供了丰富的工具和函数,可以帮助我们完成频域滤波与去噪的任务。
本文将介绍如何使用MATLAB进行频域滤波与去噪,并给出一些实用的例子。
一、频域滤波频域滤波是一种常用的信号处理方法,它通过将信号从时域转换到频域,对频域上的信号进行滤波处理,再将滤波后的信号转换回时域得到最终结果。
MATLAB提供了丰富的函数和工具箱,可以方便地进行频域滤波。
1. FFT(快速傅里叶变换)傅里叶变换是将信号从时域转换到频域的一种数学方法,而快速傅里叶变换(FFT)是对离散信号进行傅里叶变换的一种快速算法。
在MATLAB中,可以使用fft函数完成FFT变换,如下所示:```matlabY = fft(X);```其中,X为输入信号,Y为傅里叶变换后的结果。
通过FFT变换,我们可以将信号转换到频域进行进一步的处理。
2. 频域滤波器设计MATLAB提供了fir1、fir2、butter等函数用于设计常见的滤波器,根据滤波器的需求选择合适的函数进行滤波器设计。
以fir1函数为例,它可以设计出一种FIR (有限脉冲响应)滤波器,实现对频域信号的滤波。
下面是一个示例代码:```matlaborder = 32; % 滤波器阶数cutoff = 0.2; % 截止频率b = fir1(order, cutoff); % FIR滤波器设计```在上述代码中,我们指定了滤波器的阶数和截止频率,通过调用fir1函数进行滤波器设计,并得到滤波器的系数b。
将滤波器系数应用到信号上,可以实现对信号的频域滤波。
3. 频域滤波器应用设计好滤波器后,我们可以将滤波器应用到信号上,实现频域滤波。
MATLAB 提供了fftfilt函数用于对信号进行频域滤波,如下所示:```matlabY = fftfilt(b, X);```其中,b为滤波器系数,X为输入信号,Y为滤波后的结果。
基于MATLAB语音信号处理去噪毕业设计论文
基于MATLAB语音信号处理去噪毕业设计论文语音信号在实际应用中通常不可避免地受到噪音的干扰,这使得语音信号的处理变得困难。
因此,在语音信号处理领域,去噪技术一直是一个热门的研究方向。
本文将介绍一种基于MATLAB的语音信号处理去噪方法的毕业设计论文。
本文的主要内容分为以下几个部分。
首先,介绍语音信号处理的背景和意义。
在现实生活中,由于外界环境和设备的限制,语音信号往往会受到各种噪音的污染,如背景噪音、电磁干扰等。
因此,开发一种有效的语音信号处理去噪方法具有重要的实际意义。
其次,介绍基于MATLAB的语音信号处理去噪方法。
本文将采用小波降噪方法对语音信号进行去噪处理。
首先,对输入的语音信号进行小波变换,将信号转换到小波域。
然后,通过对小波系数进行阈值处理,将噪声系数置零,从而实现去噪效果。
最后,通过逆小波变换将信号转换回时域,并输出去噪后的语音信号。
接下来,介绍实验设计和结果分析。
本文将使用MATLAB软件进行实验设计,并选取一组含有不同噪声干扰的语音信号进行测试。
通过对不同噪声信号进行处理,比较不同参数设置下的去噪效果,评估提出方法的性能。
最后,总结全文并展望未来的研究方向。
通过本次研究,我们可以看到基于MATLAB的语音信号处理去噪方法在去除噪音方面具有较好的效果,并具有很大的应用潜力。
然而,该方法仍然有改进的空间。
未来的研究可以在算法优化、参数选择和应用场景等方面进行深入研究,进一步提高语音信号处理去噪的效果和性能。
总的来说,本文介绍了一种基于MATLAB的语音信号处理去噪方法的毕业设计论文。
通过对实验结果的分析和对未来研究方向的展望,本文为从事语音信号处理领域的研究人员提供了一定的参考和启示。
matlab去除录音噪声的方法
matlab去除录音噪声的方法下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!如何使用 MATLAB 去除录音噪声导言录音噪声是在声音录制过程中常见的问题之一,它可能来自环境因素、录音设备本身或信号传输过程中的干扰。
基于matlab的FIR滤波器设计(处理加噪音频-窗函数法)
基于matlab的FIR滤波器设计(处理加噪音频,窗函数法) 一、录制音频二、利用窗函数法设计的低通滤波器处理加有噪声的音频波形f3=7000;%所加噪声正弦函数的频率[Y,fs,bits]=wavread('D:\yinpin\nihao01.wav');%利用wavread产生音频的函数及采样频率L=length(Y);t=0:1/fs:(L-1)/fs;%定义时间的范围及步长y=0.005*sin(2*pi*f3*t); n1=floor(L/2);%所加噪声f1=(0:n1)*fs/L;Y=Y(:,1);sound(Y,fs);%输出加噪前音频Y1=y+Y';%给音频加噪声FY1=abs(fft(Y1,L));FY=abs(fft(Y,L));sound(Y1,fs);%输出加噪后的音频figure(1)subplot(211)plot(t(1:1000),Y(1:1000)); grid on;%加噪前音频的时域图xlabel('时间(t)');ylabel('幅度(Y)');title('加噪前录音波形的时域图');subplot(212)plot(f1,FY(1:n1+1)); grid on;%加噪前音频的频域图xlabel('频率(f)');ylabel('幅度(FY)');title('加噪前录音波形的频域图');figure(2)subplot(211)plot(t(1:1000),Y1(1:1000)); grid on;%加噪后音频的时域图xlabel('时间(t)');ylabel('幅度(Y1)');title('加噪声后录音波形的时域图');subplot(212)plot(f1,FY1(1:n1+1)); grid on;%加噪后音频的频域图xlabel('频率(f)');ylabel('幅度(FY1)');title('加噪声后录音波形的频域图');m=0.03; M=round(8/m);N=M-1;%定义滤波器的阶数b=fir1(N,0.6);figure(3)[h,f]=freqz(b,1,512);%滤波器的幅频特性图plot(f*fs/(2*pi),20*log10(abs(h)))%参数分别是频率与幅值xlabel('频率/赫兹');ylabel('增益/分贝');title('滤波器的增益响应');figure(4)sf=filter(b,1,Y1);%使用filter函数对信号进行滤波Fsf=abs(fft(sf,L));subplot(211)plot(t(1:1000),sf(1:1000)); grid on;%滤波后音频的时域图xlabel('时间(t)');ylabel('幅度(sf)');title('滤波后录音波形的时域图');axis([0.01 0.05 -0.002 0.002])subplot(212)plot(f1,Fsf(1:n1+1)); grid on;%滤波后音频的频域图xlabel('频率(f)');ylabel('幅度(Fsf)');title('滤波后录音波形的频域图');sound(sf,fs);三、运行结果加噪前录音波形的时域图和频域图加噪后录音波形的时域图和频域图窗函数法设计低通滤波器的增益响应滤波后录音波形的时域图和频域图。
matlab去噪声方法
matlab去噪声方法MATLAB中去噪声的方法有很多,以下列举了一些常用的方法:1. 均值滤波:均值滤波是一种简单且有效的去噪声方法,它通过计算邻域内像素的平均值来减小噪声。
具体操作是创建一个与输入图像大小相同的零矩阵,然后遍历图像的每个像素,将邻域内的像素值求和,最后除以邻域内像素的数量,得到滤波后的像素值。
2. 中值滤波:中值滤波主要用于去除图像中的脉冲噪声和椒盐噪声。
该方法的核心思想是将图像中相邻像素的灰度值进行排序,然后取中间值作为滤波后的像素值。
3. 高斯滤波:高斯滤波是一种广泛应用于图像去噪的方法,它通过在图像上滑动一个高斯核函数来降低噪声。
高斯核函数的宽度决定了滤波的效果,宽度越大,去噪效果越明显,但同时也会导致图像变得模糊。
4. 双边滤波:双边滤波是一种基于邻域的滤波方法,它同时考虑了像素的空间距离和灰度差异。
通过在图像上滑动一个双边核函数,可以有效地去除噪声并保留图像的细节。
5. 基于小波变换的方法:小波变换可以将图像分解为不同尺度、方向和频率的子带,通过对子带的处理,可以有效地去除图像中的噪声。
常用的有小波分解、小波合成和小波去噪等方法。
6. 基于深度学习的方法:深度学习方法,如卷积神经网络(CNN)和循环神经网络(RNN),在图像去噪领域也取得了很好的效果。
通过训练神经网络,可以学习到图像的复杂特征,从而在去噪的同时保留图像的细节。
在MATLAB中实现这些方法,可以利用内置的图像处理函数或自行编写代码。
例如,使用imfilter函数实现均值滤波,使用im2double函数将图像转换为双精度值等。
同时,可以借助图像处理工具箱中的各种滤波器和图像读取、显示函数,如sobel、roberts、prewitt算子等,来实现特定的去噪效果。
使用Matlab进行声音信号处理的基本技巧
使用Matlab进行声音信号处理的基本技巧声音信号处理是一门重要的领域,它涵盖了音频合成、语音识别、音频修复等多个应用方向。
Matlab是一款功能强大的数学软件,也可以用于声音信号处理。
本文将介绍使用Matlab进行声音信号处理的基本技巧,包括声音读取、时域分析、频域分析、滤波和音频合成等内容。
1. 声音读取首先,我们需要将声音文件读取到Matlab中进行处理。
Matlab提供了`audioread`函数用于读取声音文件。
例如,我们可以使用以下代码读取一个wav格式的声音文件:```matlab[y, Fs] = audioread('sound.wav');```其中,`y`是声音信号的向量,每个元素代表一个采样点的数值;`Fs`是采样率,即每秒采样的次数。
通过这个函数,我们可以将声音文件以数字信号的形式加载到Matlab中进行后续处理。
2. 时域分析在声音信号处理中,常常需要对声音信号在时域上进行分析。
我们可以使用Matlab的绘图函数来展示声音信号的波形。
例如,以下代码可以绘制声音信号的波形图:```matlabt = (0:length(y)-1)/Fs;plot(t, y);xlabel('Time(s)');ylabel('Amplitude');title('Sound waveform');```这段代码中,`t`是时间轴,通过除以采样率,我们可以得到每个采样点对应的时间。
`plot`函数用于绘制声音信号的波形图,横轴表示时间,纵轴表示振幅。
通过这种方式,我们可以直观地观察声音信号的时域特征。
3. 频域分析除了时域分析,频域分析也是声音信号处理中常用的方法。
通过对声音信号进行傅里叶变换,我们可以得到声音信号在频域上的表示。
Matlab提供了`fft`函数用于进行傅里叶变换。
以下代码可以绘制声音信号的频谱图:```matlabN = length(y);f = (-N/2:N/2-1)/N*Fs;Y = fftshift(fft(y));plot(f, abs(Y));xlabel('Frequency (Hz)');ylabel('Magnitude');title('Sound spectrum');```在这段代码中,`N`是声音信号的长度,`f`是频率轴,通过调整`f`的取值范围可以实现将零频移动到中心位置。
(完整版)基于MATLAB的FIR滤波器语音信号去噪
*****************实践教学******************兰州理工大学计算机与通信学院2013年春季学期《信号处理》课程设计题目:基于MATLAB的FIR滤波器语音信号去噪专业班级:姓名:学号:指导教师:成绩:摘要本次课程设计是基于MATLAB的FIR滤波器语音信号去噪,在设计过程中,首先录制一段不少于10秒的语音信号,并对录制的信号进行采样;其次使用MATLAB会出采样后的语音信号的时域波形和频谱图;然后在给原始的语音信号叠加上噪声,并绘出叠加噪前后的时域图及频谱图;再次设计FIR滤波器,针对语音信号的性质选取一种适合的窗函数设计滤波器进行滤波;最后对仿真结果进行分析。
设计出的滤波器可以满足要求。
关键词: FIR滤波器;语音信号;MATLAB仿真目录一 FIR滤波器设计的基本原理 (1)1.1滤波器的相关介绍 (1)1.1.1数字滤波器的概念 (1)1.1.2 IIR和FIR滤波器 (1)1.2利用窗函数法设计FIR滤波器 (1)1.2.1窗函数法设计FIR滤波器的基本思想 (1)1.2.2窗函数法设计FIR滤波器的步骤 (2)1.2.2窗函数法设计FIR滤波器的要求 (2)1.2.3常用窗函数的性质和特点 (3)1.2.4 语音处理中的采样原理 (3)二语音信号去噪实现框图 (5)三详细设计 (7)3.1 信号的采集 (7)3.2 语音信号的读入与打开 (7)3.3 语音信号的FFT变换 (8)3.4含噪信号的合成 (9)3.5 FIR滤波器的设计 (10)3.6 利用FIR滤波器滤波 (11)3.7 结果分析 (14)总结 (15)参考文献 (16)附录 (17)致谢 (21)一 FIR滤波器设计的基本原理1.1滤波器的相关介绍1.1.1数字滤波器的概念数字滤波器(Digital Filter,简称为DF)是指用来对输入信号进行滤波的硬件和软件。
所谓数字滤波器,是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。
数字信号处理课程设计--基于 MATLAB 的语音去噪处理
数字信号处理课程设计课程名称数字信号处理基于MATLAB 的语音去噪处理题目名称专业班级13级通信工程本一学生姓名学号指导教师二○一五年十二月二十七日引言滤波器设计在数字信号处理中占有极其重要的地位,FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分。
利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器。
课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。
通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现。
在设计实现的过程中,使用窗函数法来设计FIR数字滤波器,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。
通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器,过程简单方便,结果的各项性能指标均达到指定要求。
关键词数字滤波器 MATLAB 窗函数法巴特沃斯切比雪夫双线性变换目录1 绪论 (4)2 课程设计内容 (5)3 课程设计的具体实现 (5)3.1 语音信号的采集 (4)3.2 语音信号的时频分析 (4)3.3 语音信号加噪与频谱分析 (6)3.4 利用双线性变换法设计低通滤波器 (8)3.5 用滤波器对加噪语音信号进行滤波 (9)3.6 分析滤波前后语音信号波形及频谱的变化 (10)3.7回放语音信号 (10)3.8小结 (11)结论 ···········································································错误!未定义书签。
如何使用Matlab进行语音增强与去噪技术实现
如何使用Matlab进行语音增强与去噪技术实现引言:语音增强与去噪技术是人工智能领域的一个重要研究方向,它涉及到许多实际应用场景,如语音通信、语音识别、语音合成等。
Matlab作为一种强大的科学计算软件,具有丰富的信号处理工具箱,可以帮助研究人员实现语音增强与去噪技术。
本文将介绍如何使用Matlab进行语音增强与去噪技术的实现,旨在帮助读者了解语音增强与去噪技术以及如何利用Matlab进行研究与开发。
一、语音增强与去噪技术概述语音的增强与去噪是一种信号处理技术,旨在改善语音信号的质量和清晰度。
常见的噪声包括环境噪声、机器噪声、通信信道噪声等。
这些噪声会影响语音的识别和理解,因此去除噪声、增强语音的清晰度对于实际应用非常重要。
常用的语音增强与去噪技术包括:频域滤波法、小波变换法、自适应滤波法等。
这些技术都有各自的特点和适用范围,可以根据实际情况选择合适的方法进行处理。
其中,频域滤波法是一种较为常用的语音增强与去噪方法,它通过将语音信号从时域转换到频域,利用频域特性对噪声进行滤波,从而提升语音信号的清晰度和质量。
二、Matlab在语音增强与去噪中的应用Matlab提供了丰富的信号处理工具箱,包括音频处理、滤波器设计、小波分析等功能模块。
这些功能模块可以帮助研究人员进行语音增强与去噪的研究与开发。
1. 音频处理Matlab提供了音频处理工具箱,可以对语音信号进行读取、采样、播放等操作。
使用Matlab读取语音信号后,可以对其进行时间域和频域的分析,了解信号的时频特性。
2. 滤波器设计语音增强与去噪中,滤波器是非常重要的工具。
Matlab提供了滤波器设计工具箱,可以根据需要设计各种类型的滤波器,如低通滤波器、高通滤波器、带通滤波器等。
这些滤波器可以根据实际需求对语音信号进行滤波处理,去除噪声、增强语音的清晰度。
3. 小波分析小波变换是一种常用的信号处理方法,特别适用于非平稳信号的分析与处理。
Matlab提供了小波分析工具箱,可以对语音信号进行小波变换,并提取出信号的频域特征。
MATLAB中的信号去噪与信号恢复技巧
MATLAB中的信号去噪与信号恢复技巧导言:在现代科学和工程领域中,信号处理是一个重要的研究方向。
在这个由噪声干扰的世界中,如何准确地提取所需信号或恢复被噪声淹没的数据成为了一个关键问题。
而MATLAB作为一种高效强大的数值计算和数据可视化工具,为信号的去噪和恢复提供了丰富的技术支持。
本文将介绍MATLAB中常用的信号去噪与恢复技巧,以期帮助读者更好地掌握这一领域的知识。
一、信号去噪技巧1. 加性高斯白噪声的处理在很多实际应用中,信号受到加性高斯白噪声的干扰。
对于这类情况,常见的去噪方法是滤波器。
MATLAB中提供了一系列滤波器函数,如低通滤波器、中值滤波器、均值滤波器等。
通过选取适当的滤波器类型和参数,可以有效地去除噪声,同时保留信号的重要特征。
2. 基于小波变换的去噪方法小波变换是一种有效的信号分析工具,能够将信号分解成不同的频率成分。
基于小波变换的去噪方法利用信号在小波域中的稀疏性,通过滤除相应的小波系数来去除噪声。
MATLAB中提供了丰富的小波函数,例如dwt、idwt等,可以方便地实现小波去噪算法。
3. 自适应滤波方法自适应滤波是一种根据信号自身特性进行滤波的方法。
MATLAB中的自适应滤波函数提供了最小均方误差(Least Mean Square, LMS)和最小二乘(Least Square, LS)等算法,能够根据给定的信号模型自动调整滤波器参数以适应不同的信号特点。
二、信号恢复技巧1. 插值方法在信号采样过程中,可能会出现采样率不足或部分样本丢失的情况。
插值方法能够通过已知的样本数据推测未知的样本值,从而恢复完整的信号。
MATLAB中提供了许多插值函数,如线性插值、三次样条插值等,可以根据实际需要选择合适的插值方法进行信号恢复。
2. 基于稀疏表示的信号恢复方法稀疏表示是指将信号表示为尽可能少的非零系数线性组合的形式。
通过选择合适的稀疏表示字典和优化算法,可以从部分观测数据中恢复出原始信号。
matlab11种数字信号滤波去噪算法
matlab11种数字信号滤波去噪算法Matlab是一种强大的数学软件,广泛应用于信号处理领域。
在数字信号处理中,滤波去噪是一个重要的任务,可以提高信号的质量和准确性。
本文将介绍Matlab中的11种数字信号滤波去噪算法。
1. 均值滤波:该算法通过计算信号中一定窗口内的像素平均值来去除噪声。
它适用于高斯噪声和椒盐噪声的去除。
2. 中值滤波:该算法通过计算信号中一定窗口内的像素中值来去除噪声。
它适用于椒盐噪声的去除。
3. 高斯滤波:该算法通过对信号进行高斯模糊来去除噪声。
它适用于高斯噪声的去除。
4. 维纳滤波:该算法通过最小均方误差准则来估计信号的真实值,并去除噪声。
它适用于高斯噪声的去除。
5. 自适应滤波:该算法通过根据信号的局部特性来调整滤波器的参数,从而去除噪声。
它适用于非线性噪声的去除。
6. 小波去噪:该算法通过将信号分解为不同频率的小波系数,并对系数进行阈值处理来去除噪声。
它适用于各种类型的噪声的去除。
7. Kalman滤波:该算法通过对信号进行状态估计和观测更新来去除噪声。
它适用于线性系统的去噪。
8. 粒子滤波:该算法通过使用一组粒子来估计信号的状态,并通过重采样来去除噪声。
它适用于非线性系统的去噪。
9. 线性预测滤波:该算法通过使用线性预测模型来估计信号的未来值,并去除噪声。
它适用于平稳信号的去噪。
10. 自适应线性组合滤波:该算法通过对信号进行线性组合来估计信号的真实值,并去除噪声。
它适用于各种类型的噪声的去除。
11. 稀疏表示滤波:该算法通过使用稀疏表示模型来估计信号的真实值,并去除噪声。
它适用于各种类型的噪声的去除。
以上是Matlab中的11种数字信号滤波去噪算法。
每种算法都有其适用的场景和优缺点,根据具体的信号和噪声类型选择合适的算法进行去噪处理。
Matlab提供了丰富的函数和工具箱,可以方便地实现这些算法,并对信号进行滤波去噪。
通过合理选择和组合这些算法,可以有效提高信号的质量和准确性,为后续的信号处理任务提供更好的基础。
MATLAB中的回声消除与降噪方法详述
MATLAB中的回声消除与降噪方法详述引言:回声和噪声是我们在日常生活和通信中经常遇到的问题,它们对音频和语音的质量和清晰度产生了负面影响。
为了解决这一问题,MATLAB提供了一系列强大的回声消除和降噪方法。
本文将详细介绍这些方法的原理和应用。
一、回声消除算法回声是由于声音信号在传输路径中由于反射而产生的重复信号。
回声消除的目标是从接收到的信号中移除掉回声部分,以使得最终的信号质量达到最优。
MATLAB提供了几种回声消除算法,其中最常用的两种是自适应滤波器法和频域法。
1. 自适应滤波器法自适应滤波器法是一种实时回声消除算法。
它利用了信号的相关性和自适应滤波器的特性,通过不断调整滤波器的系数来估计和消除回声分量。
该方法的核心思想是使用最小均方(LMS)算法或最小误差(RLS)算法来更新滤波器的系数。
LMS算法是一种基于梯度下降的算法,通过不断调整滤波器系数来最小化预测误差。
RLS算法则是一种递推最小二乘(recursive least squares)算法,通过递推更新协方差矩阵和增益向量来实现快速的滤波器调整。
这两种算法在MATLAB 中都有对应的函数实现,可以根据具体的需求选择合适的算法进行回声消除。
2. 频域法频域法是一种非实时的回声消除算法,它通过对信号进行频谱分析和变换来消除回声成分。
在MATLAB中,常用的频域方法有自适应滤波法、谱减法和频率域滤波法。
自适应滤波法在频域利用滤波器的性质消除回声,谱减法通过对信号的短时傅里叶变换(STFT)分析,将回声成分和噪声成分分离出来,并进行相应的补偿和减弱处理。
频率域滤波法则是通过选择合适的滤波器,仅保留感兴趣频率段内的信号,而将回声成分滤除。
二、降噪方法除了回声消除,降噪也是音频和语音处理中一个重要的任务。
传统的降噪方法有统计学方法和频域滤波方法。
MATLAB提供了丰富的降噪函数和算法,包括使用小波变换、频谱减法、最小均方误差(MMSE)估计等方法。
使用MATLAB进行信号滤波和去除干扰
使用MATLAB进行信号滤波和去除干扰信号滤波是数字信号处理中一个重要的环节。
在实际应用中,信号经常会遭受到各种形式的干扰,例如噪声、其他信号的干扰等。
而滤波的目的就是从原始信号中去除干扰,提取出我们所关心的信号。
MATLAB作为一种功能强大的数学软件,提供了丰富的滤波函数和工具箱,以便我们方便地进行信号滤波操作。
下面将介绍一些常用的滤波方法和MATLAB中的应用。
首先,最常见的滤波方法之一是频率域滤波。
频率域滤波是将信号从时域转换到频域,通过操作频谱进行滤波。
在MATLAB中,我们可以使用fft函数对信号进行傅里叶变换,然后利用各种滤波器函数对频谱进行处理,最后再通过ifft函数将信号变换回时域。
常见的频率域滤波器有低通滤波器、高通滤波器、带通滤波器等。
我们可以根据信号的特点选择合适的滤波器类型和参数进行滤波操作。
除了频率域滤波,时域滤波也是常用的信号处理方法之一。
时域滤波是在时域上对信号进行直接处理,常见的时域滤波方法有移动平均滤波、中值滤波、卡尔曼滤波等。
在MATLAB中,我们可以使用filter函数对信号进行时域滤波。
例如,移动平均滤波可以通过设计一个移动窗口,然后将窗口内的数据取平均来平滑信号。
中值滤波则是通过将窗口内的数据排序,然后取其中位数值作为输出。
卡尔曼滤波则是一种递归滤波方法,可以用于估计信号的状态。
除了上述的常见滤波方法外,MATLAB还提供了一些高级滤波工具箱,例如信号处理工具箱、波形拟合工具箱等。
这些工具箱中包含了更多复杂和专业的滤波算法,可以用于处理特定领域的信号。
除了滤波方法之外,MATLAB还提供了一些降噪技术。
降噪是信号滤波中一个重要的任务,它的目标是将噪声从信号中去除,提高信号的质量。
MATLAB中常用的降噪技术有小波变换、奇异值分解等。
小波变换是一种多尺度的信号分析方法,它可以将信号分解成不同尺度的小波系数,然后通过处理小波系数来降低噪声。
奇异值分解则是将信号矩阵分解成三个矩阵的乘积,通过对奇异值进行阈值处理来降噪。
基于MATLAB的语音信号去噪(完整版)
基于MATLAB的语音信号去噪基于MATLAB的语音信号去噪h(n)= hd(n)(n)( 1-2 )(4)验算技术指标是否满足要求。
1]1.2.2窗函数法设计FIR滤波器的要求在使用窗函数法设计FIR滤波器时要满足以下两个条件:(1)窗谱主瓣尽可能地窄,以获得较陡的过渡带;(2)尽量减少窗谱的最大旁瓣的相对幅度,也就是使能量尽量集中于主瓣,减小峰肩和纹波,进而增加阻带的衰减。
在实际工程中常用的窗函数有五种,即矩形窗(Retangular)、三角窗(Triangular)、汉宁窗(Hanning)、汉明窗(Haing)及凯塞窗(Kaiser)。
.2.3常用窗函数的性质和特点(1)矩形窗矩形窗属于时间变量的零次幂窗。
矩形窗使用最多,习惯上不加窗就是使信号通过了矩形窗。
这种窗的优点是主瓣比较集中,缺点是旁瓣较高,并有负旁瓣,导致变换中带进了高频干扰和泄露漏,甚至出现负谱现象。
(2)三角形窗三角形窗又称费杰窗,是幂窗的一次文形式。
与矩形窗比较,主瓣宽约等于矩形窗的两倍,但旁瓣小,而且无负旁瓣。
(3)汉宁窗汉宁窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和。
汉宁窗优于矩形窗,但汉宁窗主瓣加宽,相当于分析带宽加宽,频率分辨力下降。
(4)哈明窗哈明窗与汉宁窗都是余弦窗,只是加权系数不同,哈明窗加权的系数能使旁瓣达到更小,所以哈明窗又称为改进的升余弦窗。
它的能量更加集中在主瓣中主瓣的能量约占99.96%第一主瓣的峰值比主瓣小dB,但主瓣宽度和汉宁窗相同仍为8*π/N,哈明窗与汉宁窗都是很有用的窗函数。
(5)凯塞窗以上几种窗函数是各以一定主瓣加宽为代价,来换取某种程度的旁瓣抑制,窗函数的主瓣宽度和旁瓣峰值衰耗是矛盾的,一项指标的提高总是以另一项指标的下降为代价,窗口选择实际上是对两项指标作权衡。
而两项指标是跳变的,于是有人提出可调整窗,适当修改参数,可在这两项指标间作连续的选择。
常用的可调整窗是凯塞(Kaiser)窗。
基于MATLAB的语音处理
基于MATLAB的语音滤波实验实验目的:1.在Matlab环境下对语音的频谱进行处理(数字滤波)并试听效果;2.在Matlab环境下对语音的抽样率进行处理(语音压缩)并试听效果实验步骤:一、音频文件的压缩(抽取)。
1.利用windows附件中的录音机功能录制8~10秒的.wav语音文件,并以lei为文件名保存到Matlab/work的文件夹中。
a.打开开始/程序/附件/娱乐/录音机;b.用windows media player播放一首音乐并用MIC对着耳机录音或自已说话录音(按键),到10秒时停止(按键);c.将录制的文件加存为C:/Matlab/work中,文件名为leii.wav;2.打开Matlab并新建一.m文件;3.在.m文件中用y=wavread(‘lei.wav’)命令读入语音文件。
4.语音压缩:在m命令窗中输入如下命令:5.运行sample2.m之后会在work文件夹中生成一个名为lei2的.wav文件,如下图:6.双击lei2音频文件,用耳机试听效果,并跟lei1的效果比较。
7.在sample2.m文件中改变抽取倍率s (必须为正整数),重复4、5、6步,观察在不同抽取倍率s下的音频质量,(注意:在运行sample2.m之前必须将work中名为lei2的.wav音频文件删除,或在.m文件中wavwrite()中的保存文件名改为其它的名字。
)二、音频信号的时域滤波(音频数据的时域卷积)。
(一)、低通滤波1.打开Matlab并新建一.m文件,在.m文件中用y=wavread(‘lei.wav’)命令读入语音文件。
2.在m命令窗中输入如下命令,并加存为sample3.m,运行该m文件。
3.双击lei3音频文件,用耳机试听效果,并跟lei1的效果比较。
4.再加一级h(n)的低通滤波,重复2、3步,如下图:(注意:在运行lei2.m之前必须将work中名为lei3的.wav音频文件删除,或在.m文件中wavwrite()中的保存文件名改为其它的名字。
用MATLAB实现语音信号降噪滤波
用MATLAB实现语音信号降噪滤波语音信号降噪是指通过滤波技术减少或消除语音信号中的噪声成分,以提高语音信号的质量和清晰度。
MATLAB作为强大的计算软件平台,提供了丰富的信号处理工具箱和函数库,可以用来实现语音信号降噪滤波。
语音信号降噪滤波的基本步骤包括:预处理、噪声估计、滤波处理和后处理。
下面将详细介绍每个步骤以及如何在MATLAB中实现。
1. 预处理:预处理通常包括读取语音信号、预加重和分帧处理。
MATLAB提供了读取音频信号的函数audioread(,可以将音频文件读取为一个向量。
预加重是为了强调高频部分,减小低频部分的能量,常用的预加重滤波器是一阶高通滤波器。
可以通过设计一个一阶IIR滤波器实现:```matlabfunction y = preemphasis(x, alpha)b = [1 -alpha];a=1;y = filter(b, a, x);end```分帧处理是将长时间的语音信号分成若干个短时段的音频帧,通常每帧长度为20ms-40ms。
可以使用函数buffer(实现分帧处理:```matlabframe_length = 0.02; % 20msframe_shift = 0.01; % 10msframe_samples = frame_length * fs; % fs为采样率frame_shift_samples = frame_shift * fs;frames = buffer(y, frame_samples, frame_shift_samples,'nodelay');```2. 噪声估计:噪声估计是为了获得噪声信号的特征,以便将其从语音信号中减去。
常用的噪声估计方法有简单平均法、中位数法等。
以简单平均法为例,可以使用函数mean(进行噪声估计:```matlabnoise_frames = frames(:, 1:noise_frame_num); % 噪声帧noise_spectrum = abs(fft(noise_frames)); % 噪声帧频谱noise_spectrum_mean = mean(noise_spectrum, 2); % 帧频谱平均```3. 滤波处理:滤波处理是将估计得到的噪声信号从语音信号中减去。
数字信号处理课程设计报告--基于MATLAB的语音去噪处理
数字信号处理课程设计报告--基于MATLAB的语音去噪处理《数字信号处理》课程设计报告基于MATLAB的语音去噪处理专业: 通信工程班级: 通信1101班组次: 第7组姓名及学号: 胡政权(2011013825) 姓名及学号: 潘爽(2011013836)第1页组员承担任务负责程序的编写,并检验程序是否错误,利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集胡政权与整理,对课程设计要求进行最后审核。
负责课程设计实验MATLAB仿真对实验结果进行分析,上网查阅材料对实验发表自己看法同时对实验要求进行扩展。
对论文进行抒写,排版潘爽使实验课程设计更加完善。
指导教师评价意见第2页基于MATLAB的语音去噪处理1、设计目的(1)巩固所学的数字信号处理理论知识,理解信号的采集、处理、加噪、去噪过程; (2)综合运用专业及基础知识,解决实际工程技术问题的能力; (3)学习资料的收集与整理,学会撰写课程设计报告。
2、设计任务(1)语音信号的录制。
(2)在MATLAB平台上读入语音信号。
(3)绘制频谱图并回放原始语音信号。
(4)利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。
(5)利用MATLAB 编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。
(6)通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。
其大概流程框图可如下表示:(图2-1)图2-1 课程设计的流程第3页3、设计原理3.1 去噪原理3.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5,10倍;采样定理又称奈奎斯特定理。
1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1?Δt),f(t1?2Δt),...来表示,只要这些采样点的时间间隔Δt?1/2F,便可根据各采样值完全恢复原来的信号f(t)。
基于matlab声音信号的滤波去噪处理
基于matlab声音信号的滤波去噪处理基于matlab声音信号的滤波去噪处理摘要滤波器设计在数字信号处理中占有极其重要的地位FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分Matlab功能强大简单易学编程效率高深受广大科技工作者的欢迎特别是Matlab还具有信号分析工具箱不需具备很强的编程能力就可以很方便地进行信号分析处理和设计利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器课题基于MATLAB有噪音语音信号处理的设计与实现综合运用数字信号处理的理论知识对加噪声语音信号进行时域频域分析和滤波通过理论推导得出相应结论再利用MATLAB作为编程工具进行计算机实现在设计实现的过程中使用窗函数法来设计FIR数字滤波器用巴特沃斯切比雪夫和双线性变法设计IIR数字滤波器并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制通过对对所设计滤波器的仿真和频率特性分析可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器过程简单方便结果的各项性能指标均达到指定要求目录摘要 ABSTRACT绪论 11研究的目的和意义12国内外同行的研究状况13本课题的研究内容和方法语音信号去噪方法的研究21去噪的原理22去噪的方法去噪和仿真的研究31语音文件在MATLAB平台上的录入与打开32 原始语音信号频谱分析及仿真33 加噪语音信号频谱分析及仿真34 去噪及仿真35 结合去噪后的频谱图对比两种方式滤波的优缺点总结致谢参考文献1绪论 11研究的目的和意义语音信号的采集与分析技术是一门涉及面很广的交叉科学它的应用和发展与语音学声音测量学电子测量技术以及数字信号处理等学科紧密联系语音是人类获取信息的重要来源和利用信息的重要手段在信号传输过程中由于实验条件或各种其他主观或客观条件的原因语音处理系统都不可避免地要受到各种噪声的干扰噪声不但降低了语音质量和语音的可懂度而且还将导致系统性能的急剧恶化严重时使整个系统无法正常工作MATLAB是由美国mathworks公司发布的主要面对科学计算可视化以及交互式程序设计的高科技计算环境它将数值分析矩阵计算科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中为科学研究工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案并在很大程度上摆脱了传统非交互式程序设计语言如CFortran的编辑模式代表了当今国际科学计算软件的先进水平其强大的数据处理能力可以极大程度上削弱噪声影响还原出真实的语音信号相符度在90以上12 国内外同行研究现状20世纪60年代中期形成的一系列数字信号处理的理论和算法如数字滤波器快速傅立叶变换FFT等是语音信号数字处理的理论和技术基础随着信息科学技术的飞速发展语音信号处理取得了重大的进展进入70年代之后提出了用于语音信号的信息压缩和特征提取的线性预测技术LPC并已成为语音信号处理最强有力的工具广泛应用于语音信号的分析合成及各个应用领域以及用于输入语音与参考样本之间时间匹配的动态规划方法80年代初一种新的基于聚类分析的高效数据压缩技术矢量量化VQ应用于语音信号处理中而用隐马尔可夫模型HMM描述语音信号过程的产生是80年代语音信号处理技术的重大发展目前HMM已构成了现代语音识别研究的重要基石近年来人工神经网络ANN 的研究取得了迅速发展语音信号处理的各项课题是促进其发展的重要动力之一他的各项成果也体现在语音信号处理的各项技术之中 13本课题的研究内容和方法maxcom 研究内容本论文主要介绍的是的语音信号的简单处理本论文针对以上问题运用数字信号学基本原理实现语音信号的处理在matlab70环境下综合运用信号提取幅频变换以及傅里叶变换滤波等技术来进行语音信号处理我所做的工作就是在matlab70软件上编写一个处理语音信号的程序能对语音信号进行采集并对其进行各种处理达到简单的语音信号处理的目的 maxcom 运行环境运行环境主要介绍了硬件环境和软件环境硬件环境① 处理器Inter Pentium B950 ② 内存2G ③ 硬盘空间460G④ 显卡NVIDIA GeForce GT520 操作系统Window 764位旗舰版 maxcom 开发环境开发环境主要介绍了本系统采用的操作系统开发语言操作系统Windows 7 2 开发环境Matlab 70 maxcom骤语音信号的录制在MATLAB平台上读入语音信号绘制频谱图并回放原始语音信号利用MATLAB编程加入一段正弦波噪音设计滤波器去噪利用MATLAB编程加入一段随机噪音信号设计FIR和IIR滤波器去噪并分别绘制频谱图回放语音信号6 通过仿真后的图像以及对语音信号的回放对比两种去噪方式的优缺点具体流程图如下所示图11论文设计流程 2语音信号去噪方法的研究21 去噪的原理maxcom 采样定理在进行模拟数字信号的转换过程中当采样频率fsmax大于信号中最高频率fmax的2倍时即fsmax 2fmax则采样之后的数字信号完整地保留了原始信号中的信息一般实际应用中保证采样频率为信号最高频率的5~10倍采样定理又称奈奎斯特定理1924年奈奎斯特Nyquist 就推导出在理想低通信道的最高大码元传输速率的公式理想低通信道的最高大码元传输速率2Wlog2 N 其中W是理想低通信道的带宽N是电平强度为什么把采样频率设为8kHz在数字通信中根据采样定理最小采样频率为语音信号最高频率的2倍频带为F的连续信号f t 可用一系列离散的采样值f t1 f t1±Δt f t1±2Δt 来表示只要这些采样点的时间间隔Δt≤12F便可根据各采样值完全恢复原来的信号f t 这是时域采样定理的一种表述方式时域采样定理的另一种表述方式是当时间信号函数f t 的最高频率分量为fM时f t 的值可由一系列采样间隔小于或等于12fM的采样值来确定即采样点的重复频率f≥2fM图为模拟信号和采样样本的示意图时域采样定理是采样误差理论随机变量采样理论和多变量采样理论的基础对于时间上受限制的连续信号f t 即当│t│ T时f t 0这里T T2-T1是信号的持续时间若其频谱为Fω则可在频域上用一系列离散的采样值采样值来表示只要这些采样点的频率间隔采样频率也称为采样速度或者采样率定义了每秒从连续信号中提取并组成离散信号的采样个数它用赫兹Hz来表示采样频率的倒数是采样周期或者叫作采样时间它是采样之间的时间间隔通俗的讲采样频率是指计算机每秒钟采集多少个声音样本是描述声音文件的音质音调衡量声卡声音文件的质量标准采样频率只能用于周期性采样的采样器对于非周期性采样的采样器没有规则限制采样频率的常用的表示符号是 fs 通俗的讲采样频率是指计算机每秒钟采集多少个声音样本是描述声音文件的音质音调衡量声卡声音文件的质量标准采样频率越高即采样的间隔时间越短则在单位时间内计算机得到的声音样本数据就越多对声音波形的表示也越精确采样频率与声音频率之间有一定的关系只有采样频率高于声音信号最高频率的两倍时才能把数字信号表示的声音还原成为原来的声音这就是说采样频率是衡量声卡采集记录和还原声音文件的质量标准采样位数和采样率对于音频接口来说是最为重要的两个指标也是选择音频接口的两个重要标准无论采样频率如何理论上来说采样的位数决定了音频数据最大的力度范围每增加一个采样位数相当于力度范围增加了6dB采样位数越多则捕捉到的信号越精确对于采样率来说你可以想象它类似于一个照相机441kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次显然采样率越高计算机摄取的图片越多对于原始音频的还原也越加精确在我们的日常交流和语音通信系统中加性宽带噪声严重影响了语音质量和可懂度从带噪语音中提取原始语音信号的方法很多在单信道条件下谱相减算法以其运算量小原理简单易于实现并且有不错的增强效果而得到了广泛的应用谱相减语音增强算法的核心是噪声检测和谱减规则在分析了语音增强算法理论的基础上本文首先研究了语音激活检测算法对基于短时能量和短时过零率双门限法语音激活检测的噪声估计算法做了研究及仿真同时还研究了一种基于最小子带能量的噪声估计方法然后通过分析经典谱减法的原理及其一般改进形式研究了一种基于噪声残差的谱相减改进算法和一种可以不以噪声是零均值的高斯分布为前提的谱减法改进算法最后通过大量的仿真实验验证了所研究的几种改进算法都能有效地提高增强效果在进入FIR滤波器前首先要将信号通过AD器件进行模数转换使之成为8bit的数字信号一般可用速度较高的逐次逼进式AD转换器不论采用乘累加方法还是分布式算法设计FIR滤波器滤波器输出的数据都是一串序列要使它能直观地反应出来还需经过数模转换因此由FPGA 构成的FIR滤波器的输出须外接DA模块FPGA有着规整的内部逻辑阵列和丰富的连线资源特别适合于数字信号处理任务相对于串行运算为主导的通用DSP芯片来说其并行性和可扩展性更好利用FPGA乘累加的快速算法可以设计出高速的FIR数字滤波器有限长单位冲激响应FIR 滤波器有以下特点位冲激响应h n 在有限个n值处不为零0处收敛极点全部在z 0处结构上主要是非递归结构没有输出到输入的反馈但有些结构中例如频率抽样结构也包含有反馈的递归部分设FIR滤波器的单位冲激响应h n 为一个N点序列0 ≤ n ≤N 1则滤波器的系统函数为H z ∑h n z-n 2-3 就是说它有N1阶极点在z 0处有N1个零点位于有限z 平面的任何位置FIR滤波器基本结构 FIR滤波器有以下几种基本结构横截型式的系统的差分方程表达式为y n ∑h m x n-m 2-4 很明显这就是线性移不变系统的卷积和公式也是x n 的延时链的横向结构称为横截型结构或卷积型结构也可称为直接型结构将转置定理用于可得到的转置直接型结构 FIR滤波器的横截型结构级联型其中[N2]表示取N2的整数部分若N为偶数则N1为奇数故系数B2K中有一个为零这是因为这时有奇数个根其中复数根成共轭对必为偶数必然有奇数个实根画出N为奇数时FIR滤波器的级联结构其中每一个二阶因子用图4-11的横型结构这种结构的每一节控制一对零点因而再需要控制传输零点时可以采用它但是这种结构所需要的系数B2kI 012k 12...[N2]比卷积型的系数h n 要多因而所需的乘法次数也比卷积型的要多 nfinite Impulse Response 数字滤波器又名无限脉冲响应数字滤波器或递归滤波器递归滤波器也就是IIR数字滤波器顾名思义具有反馈一般认为具有无限的脉冲响应IIR数字滤波器的设计利用分析工具 FDATool 可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器需要将MATLAB设计出的IIR数字滤波器进一步分解和量化从而获得可用FPGA实现的滤波器系数IIR数字滤波器的设计步骤由于采用了级联结构因此如何将滤波器的每一个极点和零点相组合从而使得数字滤波器输出所含的噪声最小是个十分关键的问题为了产生最优的量化后的IIR 数字滤波器采用如下步骤进行设计首先计算整体传递函数的零极点选取具有最大幅度的极点以及距离它最近的零点使用它们组成一个二阶基本节的传递函数对于剩下的极点和零点采用与相类似的步骤直至形成所有的二阶基本节通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小获得最优IIR数字滤波器系数为了设计出可用FPGA实现的数字滤波器需要对上一步分解获得的二阶基本节的滤波器系数进行量化即用一个固定的字长加以表示量化过程中由于存在不同程度的量化误差由此会导致滤波器的频率响应出现偏差严重时会使IIR滤波器的极点移到单位圆之外系统因而失去稳定性为了获得最优的滤波器系数采用以下步骤进行量化计算每个系数的B查找出每个系数绝对值中的最大值计算比此绝对值大的最小整数maxcom取反获得负整数计算需要表示此整数的最小位数计算用于表示系数值分数部分的余下位数除了系数存在量化误差数字滤波器运算过程中有限字长效应也会造成误差因此对滤波器中乘法器加法器及寄存器的数据宽度要也进行合理的设计以防止产生极限环现象和溢出振荡与FIR数字滤波器的设计不同IIR滤波器设计时的阶数不是由设计者指定而是根据设计者输入的各个滤波器参数截止频率通带滤纹阻带衰减等由软件设计出满足这些参数的最低滤波器阶数在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择利用MATLAB 中的wavread命令来读入采集语音信号将它赋值给某一向量 Wavread 函数可得出信号的采样频率为22500并且声音是单声道的利用Sound 函数可以清晰的听到毕业设计声音文件的语音采集数据并画出波形图在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换下面介绍这些函数函数FFT用于序列快速傅立叶变换函数的一种调用格式y fft x 其中x是序列y是序列的FFTx可以为一向量或矩阵若x为一向量y是x的FFT且和x相同长度若x为一矩阵则y是对矩阵的每一列向量进行FFT 如果x长度是2的幂次方函数fft执行高速基-2FFT算法否则fft执行一种混合基的离散傅立叶变换算法计算速度较慢函数FFT的另一种调用格式为y fft xN 式中xy意义同前N为正整数函数执行N点的FFT若x为向量且长度小于N则函数将x补零至长度N若向量x的长度大于N则函数截短x使之长度为N若x 为矩阵按相同方法对x进行处理经函数fft求得的序列y一般是复序列通常要求其幅值和相位MATLAB提供求复数的幅值和相位函数absangle 这些函数一般和FFT同时使用函数abs x 用于计算复向量x的幅值函数angle x 用于计算复向量的相角介于和之间以弧度表示用MATLAB 工具箱函数fft进行频谱分析时需注意1函数fft返回值y的数据结构对称性一般而言对N点的x n 序列的FFT是N点的复数序列其点n N21对应Nyquist频率作频谱分析时仅取序列X k 的前一半即前N2点即可X k 的后一半序列和前一半序列时对称的频率计算若N点序列x n n 01N-1 是在采样频率下获得的它的FFT也是N点序列即X k k 012N-1 则第k点所对应实际频率值为 f kf N 绘出了语音信号的波形频谱图[xfsbits] wavread wangqingtianwav sound xfsbits X fft x4096 magX abs X angX angle X subplot 221 plot x title 原始信号波形 subplot 222 plot X title 原始语音信号采样后的频谱图 subplot 223 plot magX title 原始信号幅值 subplot 224 plotangX title 原始信号相位程序运行可以听到声音得到的图形为atlab函数randn产生正态分布的随机数或矩阵的函数产生均值为0方差σ2 1标准差σ 1的正态分布的随机数或矩阵的函数用法Y randn n 返回一个nn的随机项的矩阵如果n不是个数量将返回错误信息Y randn mn 或 Y randn [m n] 返回一个mn的随机项矩阵 Y randn size A 返回一个和A有同样维数大小的随机数组randn返回一个每次都变化的数量[yfsbits] wavread chushiwav sound yfs n length y y_p fft yn f fs 0n2-1 n figure 1 subplot 211 plot y title 原始语音信号采样后的时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_p 1n2 title 原始语音信号采样后的频谱图 xlabel 频率Hz ylabel 频率幅值 L length y noise 01randn L2 y_z ynoise sound y_zfs n length y y_zp fft y_zn f fs 0n2-1 n figure 2 subplot 211 plot y_z title 加噪语音信号时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_zp 1n2 title 加噪语音信号频谱图 xlabel 频率Hz ylabel 频率幅值初始信号的时域波形频谱图与加噪后语音信号的时域波形频谱图分别如图3536所示图35 图36 通过对两张图片的对比很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多在时间轴上可以明显看出005S的幅值增大了通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比也可以看出在频率5000Hz以后的频率幅值发生了明显的增加再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比人耳可以明显辨别出两种语音信号不一样了加噪后的语音信号在听觉上比原始语音信号要浑浊很多而且还有吱吱嘎嘎的混杂音34 去噪及仿真1FIR滤波器法去噪通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道噪音大部分是Hz大于5000的部分故设计低通滤波器进行滤波处理接下来我们要用设计的FIR低通滤波器对上一节中加噪语音信号进行滤波处理用自己设计的FIR数字低通滤波器对加噪的语音信号进行滤波时在Matlab中FIR滤波器利用函数fftfilt对信号进行滤波函数fftfilt用的是重叠相加法实现线性卷积的计算调用格式为y fftfilter hxM 其中h是系统单位冲击响应向量x是输入序列向量y是系统的输出序列向量M是有用户选择的输入序列的分段长度缺省时默认的输入向量的重长度M 512 用设计好的FIR数字低通滤波器对加噪语音信号的滤波程序[yfsbits] wavread chushiwav sound yfs n length y y_p fft yn f fs 0n2-1 n figure 1 subplot 211 plot y title 原始语音信号采样后的时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_p 1n2 title 原始语音信号采样后的频谱图xlabel 频率Hz ylabel 频率幅值L length y noise 01randn L2 y_z ynoise sound y_zfs n length y y_zp fft y_zn f fs 0n2-1 n figure 2 subplot 211 plot y_z title 加噪语音信号时域波形xlabel 时间轴ylabel 幅值A subplot 212 plot fabs y_zp 1n2 title 加噪语音信号频谱图 xlabel 频率Hz ylabel 频率幅值 Ft 5000 Fp 1000 Fs 1200 wp2FpFt ws 2FsFt rp 1 rs 50 p 1-10 -rp20 s 10 -rs20 fpts [wp ws] mag [1 0] dev [p s] [n21wn21betaftype] kaiserord fptsmagdev b21 fir1 n21wn21Kaiser n211beta [hw] freqz b211 plot wpiabs h title FIR低通滤波器 x fftfilt b21y_z X fft xn figure 4 subplot 221 plot fabs y_zp 1n2 title 滤波前信号的频谱 subplot 222 plot fabs X 1n2 title 滤波后信号的频谱 subplot 223 plot y_z title 滤波前信号的时域波形subplot 224 plot x title 滤波后信号的时域波形sound xfsbits 而后得到图像如下图37 分析从以上四图可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别加噪后的语音信号的时域波形比原始语音信号要模糊得多频谱图则是在频率5000Hz 以后出现了明显的变化再通过滤波前的信号波形和频谱图的对比可以明显看出滤波后的波形开始变得清晰了有点接近原始信号的波形图了滤波后信号的频谱图也在5000Hz以后开始逐渐接近原始语音信号的频谱图再从对语音信号的回放人耳可以明显辨别出加噪后的语音信号比较浑浊还有很明显嘎吱嘎吱的杂音在里面滤波后语音信号较加噪后的信号有了明显的改善基本可以听清楚了而且杂音也没有那么强烈但是声音依然没有原始语音信号那么清晰脆耳2IIR滤波器法去噪同样也设计一个IIR低通滤波器对加噪语音信号进行内部处理程序如下Ft 8000 Fp 1000 Fs 1200 wp 2piFpFt ws 2piFsFt fp 2Fttan wp2 fs 2Fstan wp2 [n11wn11] buttord wpws150s 求低通滤波器的阶数和截止频率[b11a11] butter n11wn11s 求S域的频率响应的参数[num11den11] bilinear b11a1105 双线性变换实现S域到Z域的变换[hw] freqz num11den11 根据参数求出频率响应plot w800005piabs h legend 用butter设计grid [yfsnbits] wavread BYSJwav n length y 求出语音信号的长度 noise 001randn n2 随机函数产生噪声 s ynoise 语音信号加入噪声 S fft s 傅里叶变换 z11 filter num11den11s sound z11 m11 fft z11 求滤波后的信号 subplot 221 plot abs S g title 滤波前信号的频谱 grid subplot 222 plot abs m11 r title 滤波后信号的频谱grid subplot 223 plot s title 滤波前信号的波形 grid subplot 224 plot z11 title 滤波后的信号波形得到图像如下图38 通过程序运行我们可以听出滤波效果很不好失真现象严重并且出现了严重的寄生震荡 35 结合去噪后的频谱图对比两种方式滤波的优缺点IIR数字滤波器采用递归型结构即结构上带有反馈环路IIR滤波器运算结构通常由延时乘以系数和相加等基本运算组成可以组合成直接型正准型级联型并联型四种结构形式都具有反馈回路由于运算中的舍入处理使误差不断累积有时会产生微弱的寄生振荡1IIR数字滤波器的相位特性不好控制对相位要求较高时需加相位校准网络FIR滤波器则要求较低2IIR滤波器运算误差大有可能出现极限环振荡FIR相比之下运算误差较小不会出现极限环振荡3IIR幅频特性精度很高不是线性相位的可以应用于对相位信息不敏感的音频信号上4与FIR滤波器的设计不同IIR滤波器设计时的阶数不是由设计者指定而是根据设计者输入的各个滤波器参数截止频率通带滤纹阻带衰减等由软件设计出满足这些参数的最低滤波器阶数在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择5IIR单位响应为无限脉冲序列FIR单位响应为有限的6FIR幅频特性精度较之于iir低但是线性相位就是不同频率分量的信号经过FIR滤波器后他们的时间差不变这是很好的性质7IIR滤波器有噪声反馈而且噪声较大FIR滤波器噪声较小FIR幅频特性精度较之于iir低但是线性相位就是不同频率分量的信号经过FIR滤波器后他们的时间差不变这是很好的性质4总结本文对语音信号处理系统的设计作了详细的介绍采用一系列图像分析和处理技术实现了语音信号的基本处理的功能经过测试运行本设计圆满的完成了对语音信号的读取与打开较好的完成了对语音信号的频谱分析通过fft变换得出了语音信号的频谱图在滤波这一块课题主要是从滤波器入手来设计滤波器基本实现了滤波与课题的要求十分相符在此论文撰写过程中要特别感谢我的导师的指导与督促同时感谢的谅解与包容没有的帮助也就没有今天的这篇论文求学历程是艰苦的但又是快乐的感谢我的老师谢谢他在这四年中为我们全班所做的一切他不求回报无私奉献的精神很让我感动再次向表示由衷的感谢在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富在此也对他们表示衷心感谢本文参考了大量的文献资料在此向各学。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于matlab声音信号的滤波去噪处理摘要滤波器设计在数字信号处理中占有极其重要的地位FIR数字滤波器和IIR滤波器是滤波器设计的重要组成部分Matlab功能强大简单易学编程效率高深受广大科技工作者的欢迎特别是Matlab还具有信号分析工具箱不需具备很强的编程能力就可以很方便地进行信号分析处理和设计利用MATLAB信号处理工具箱可以快速有效地设计各种数字滤波器课题基于MATLAB有噪音语音信号处理的设计与实现综合运用数字信号处理的理论知识对加噪声语音信号进行时域频域分析和滤波通过理论推导得出相应结论再利用MATLAB作为编程工具进行计算机实现在设计实现的过程中使用窗函数法来设计FIR数字滤波器用巴特沃斯切比雪夫和双线性变法设计IIR数字滤波器并利用MATLAB作为辅助工具完成设计中的计算与图形的绘制通过对对所设计滤波器的仿真和频率特性分析可知利用MATLAB信号处理工具箱可以有效快捷地设计FIR和IIR数字滤波器过程简单方便结果的各项性能指标均达到指定要求目录摘要 ABSTRACT绪论 11研究的目的和意义12国内外同行的研究状况13本课题的研究内容和方法语音信号去噪方法的研究21去噪的原理22去噪的方法去噪和仿真的研究31语音文件在MATLAB平台上的录入与打开32 原始语音信号频谱分析及仿真33 加噪语音信号频谱分析及仿真34 去噪及仿真35 结合去噪后的频谱图对比两种方式滤波的优缺点总结致谢参考文献1绪论 11研究的目的和意义语音信号的采集与分析技术是一门涉及面很广的交叉科学它的应用和发展与语音学声音测量学电子测量技术以及数字信号处理等学科紧密联系语音是人类获取信息的重要来源和利用信息的重要手段在信号传输过程中由于实验条件或各种其他主观或客观条件的原因语音处理系统都不可避免地要受到各种噪声的干扰噪声不但降低了语音质量和语音的可懂度而且还将导致系统性能的急剧恶化严重时使整个系统无法正常工作 MATLAB是由美国mathworks公司发布的主要面对科学计算可视化以及交互式程序设计的高科技计算环境它将数值分析矩阵计算科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中为科学研究工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案并在很大程度上摆脱了传统非交互式程序设计语言如CFortran的编辑模式代表了当今国际科学计算软件的先进水平其强大的数据处理能力可以极大程度上削弱噪声影响还原出真实的语音信号相符度在90以上12 国内外同行研究现状20世纪60年代中期形成的一系列数字信号处理的理论和算法如数字滤波器快速傅立叶变换FFT等是语音信号数字处理的理论和技术基础随着信息科学技术的飞速发展语音信号处理取得了重大的进展进入70年代之后提出了用于语音信号的信息压缩和特征提取的线性预测技术LPC并已成为语音信号处理最强有力的工具广泛应用于语音信号的分析合成及各个应用领域以及用于输入语音与参考样本之间时间匹配的动态规划方法80年代初一种新的基于聚类分析的高效数据压缩技术矢量量化VQ应用于语音信号处理中而用隐马尔可夫模型HMM描述语音信号过程的产生是80年代语音信号处理技术的重大发展目前HMM已构成了现代语音识别研究的重要基石近年来人工神经网络 ANN 的研究取得了迅速发展语音信号处理的各项课题是促进其发展的重要动力之一他的各项成果也体现在语音信号处理的各项技术之中 13本课题的研究内容和方法 maxbook118com 研究内容本论文主要介绍的是的语音信号的简单处理本论文针对以上问题运用数字信号学基本原理实现语音信号的处理在matlab70环境下综合运用信号提取幅频变换以及傅里叶变换滤波等技术来进行语音信号处理我所做的工作就是在matlab70软件上编写一个处理语音信号的程序能对语音信号进行采集并对其进行各种处理达到简单的语音信号处理的目的 maxbook118com 运行环境运行环境主要介绍了硬件环境和软件环境硬件环境① 处理器Inter Pentium B950 ② 内存2G ③ 硬盘空间460G④ 显卡NVIDIA GeForce GT520 操作系统Window 764位旗舰版 maxbook118com 开发环境开发环境主要介绍了本系统采用的操作系统开发语言操作系统Windows 7 2 开发环境Matlab 70 maxbook118com骤语音信号的录制在MATLAB平台上读入语音信号绘制频谱图并回放原始语音信号利用MATLAB编程加入一段正弦波噪音设计滤波器去噪利用MATLAB编程加入一段随机噪音信号设计FIR和IIR滤波器去噪并分别绘制频谱图回放语音信号 6 通过仿真后的图像以及对语音信号的回放对比两种去噪方式的优缺点具体流程图如下所示图11论文设计流程 2语音信号去噪方法的研究21 去噪的原理 maxbook118com 采样定理在进行模拟数字信号的转换过程中当采样频率fsmax大于信号中最高频率fmax的2倍时即fsmax 2fmax则采样之后的数字信号完整地保留了原始信号中的信息一般实际应用中保证采样频率为信号最高频率的5~10倍采样定理又称奈奎斯特定理 1924年奈奎斯特 Nyquist 就推导出在理想低通信道的最高大码元传输速率的公式理想低通信道的最高大码元传输速率 2Wlog2 N 其中W是理想低通信道的带宽N是电平强度为什么把采样频率设为8kHz在数字通信中根据采样定理最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f t 可用一系列离散的采样值 f t1 f t1±Δt f t1±2Δt 来表示只要这些采样点的时间间隔Δt≤12F便可根据各采样值完全恢复原来的信号f t 这是时域采样定理的一种表述方式时域采样定理的另一种表述方式是当时间信号函数f t 的最高频率分量为fM时f t 的值可由一系列采样间隔小于或等于12fM的采样值来确定即采样点的重复频率f≥2fM图为模拟信号和采样样本的示意图时域采样定理是采样误差理论随机变量采样理论和多变量采样理论的基础对于时间上受限制的连续信号f t 即当│t│ T时f t 0这里T T2-T1是信号的持续时间若其频谱为Fω则可在频域上用一系列离散的采样值采样值来表示只要这些采样点的频率间隔采样频率也称为采样速度或者采样率定义了每秒从连续信号中提取并组成离散信号的采样个数它用赫兹Hz来表示采样频率的倒数是采样周期或者叫作采样时间它是采样之间的时间间隔通俗的讲采样频率是指计算机每秒钟采集多少个声音样本是描述声音文件的音质音调衡量声卡声音文件的质量标准采样频率只能用于周期性采样的采样器对于非周期性采样的采样器没有规则限制采样频率的常用的表示符号是 fs 通俗的讲采样频率是指计算机每秒钟采集多少个声音样本是描述声音文件的音质音调衡量声卡声音文件的质量标准采样频率越高即采样的间隔时间越短则在单位时间内计算机得到的声音样本数据就越多对声音波形的表示也越精确采样频率与声音频率之间有一定的关系只有采样频率高于声音信号最高频率的两倍时才能把数字信号表示的声音还原成为原来的声音这就是说采样频率是衡量声卡采集记录和还原声音文件的质量标准采样位数和采样率对于音频接口来说是最为重要的两个指标也是选择音频接口的两个重要标准无论采样频率如何理论上来说采样的位数决定了音频数据最大的力度范围每增加一个采样位数相当于力度范围增加了6dB采样位数越多则捕捉到的信号越精确对于采样率来说你可以想象它类似于一个照相机441kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次显然采样率越高计算机摄取的图片越多对于原始音频的还原也越加精确在我们的日常交流和语音通信系统中加性宽带噪声严重影响了语音质量和可懂度从带噪语音中提取原始语音信号的方法很多在单信道条件下谱相减算法以其运算量小原理简单易于实现并且有不错的增强效果而得到了广泛的应用谱相减语音增强算法的核心是噪声检测和谱减规则在分析了语音增强算法理论的基础上本文首先研究了语音激活检测算法对基于短时能量和短时过零率双门限法语音激活检测的噪声估计算法做了研究及仿真同时还研究了一种基于最小子带能量的噪声估计方法然后通过分析经典谱减法的原理及其一般改进形式研究了一种基于噪声残差的谱相减改进算法和一种可以不以噪声是零均值的高斯分布为前提的谱减法改进算法最后通过大量的仿真实验验证了所研究的几种改进算法都能有效地提高增强效果在进入FIR滤波器前首先要将信号通过AD器件进行模数转换使之成为8bit的数字信号一般可用速度较高的逐次逼进式AD转换器不论采用乘累加方法还是分布式算法设计FIR滤波器滤波器输出的数据都是一串序列要使它能直观地反应出来还需经过数模转换因此由FPGA构成的FIR滤波器的输出须外接DA模块FPGA有着规整的内部逻辑阵列和丰富的连线资源特别适合于数字信号处理任务相对于串行运算为主导的通用DSP芯片来说其并行性和可扩展性更好利用FPGA乘累加的快速算法可以设计出高速的FIR数字滤波器有限长单位冲激响应FIR滤波器有以下特点位冲激响应h n 在有限个n值处不为零0处收敛极点全部在z 0处结构上主要是非递归结构没有输出到输入的反馈但有些结构中例如频率抽样结构也包含有反馈的递归部分设FIR滤波器的单位冲激响应h n 为一个N点序列0 ≤ n ≤N 1则滤波器的系统函数为H z ∑h n z-n 2-3 就是说它有N1阶极点在z 0处有N1个零点位于有限z平面的任何位置FIR滤波器基本结构 FIR滤波器有以下几种基本结构横截型式的系统的差分方程表达式为y n ∑h m x n-m 2-4 很明显这就是线性移不变系统的卷积和公式也是x n 的延时链的横向结构称为横截型结构或卷积型结构也可称为直接型结构将转置定理用于可得到的转置直接型结构 FIR滤波器的横截型结构级联型其中[N2]表示取N2的整数部分若N为偶数则N1为奇数故系数B2K中有一个为零这是因为这时有奇数个根其中复数根成共轭对必为偶数必然有奇数个实根画出N为奇数时FIR滤波器的级联结构其中每一个二阶因子用图4-11的横型结构这种结构的每一节控制一对零点因而再需要控制传输零点时可以采用它但是这种结构所需要的系数B2kI 012k 12...[N2]比卷积型的系数h n 要多因而所需的乘法次数也比卷积型的要多 nfinite Impulse Response 数字滤波器又名无限脉冲响应数字滤波器或递归滤波器递归滤波器也就是IIR数字滤波器顾名思义具有反馈一般认为具有无限的脉冲响应IIR数字滤波器的设计利用分析工具 FDATool 可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器需要将MATLAB设计出的IIR数字滤波器进一步分解和量化从而获得可用FPGA实现的滤波器系数IIR数字滤波器的设计步骤由于采用了级联结构因此如何将滤波器的每一个极点和零点相组合从而使得数字滤波器输出所含的噪声最小是个十分关键的问题为了产生最优的量化后的IIR数字滤波器采用如下步骤进行设计首先计算整体传递函数的零极点选取具有最大幅度的极点以及距离它最近的零点使用它们组成一个二阶基本节的传递函数对于剩下的极点和零点采用与相类似的步骤直至形成所有的二阶基本节通过上面三步法进行的设计可以保证IIR数字滤波器中N位乘法器产生的量化舍入误差最小获得最优IIR数字滤波器系数为了设计出可用FPGA实现的数字滤波器需要对上一步分解获得的二阶基本节的滤波器系数进行量化即用一个固定的字长加以表示量化过程中由于存在不同程度的量化误差由此会导致滤波器的频率响应出现偏差严重时会使IIR滤波器的极点移到单位圆之外系统因而失去稳定性为了获得最优的滤波器系数采用以下步骤进行量化计算每个系数的 B查找出每个系数绝对值中的最大值计算比此绝对值大的最小整数 maxbook118com取反获得负整数计算需要表示此整数的最小位数计算用于表示系数值分数部分的余下位数除了系数存在量化误差数字滤波器运算过程中有限字长效应也会造成误差因此对滤波器中乘法器加法器及寄存器的数据宽度要也进行合理的设计以防止产生极限环现象和溢出振荡与FIR数字滤波器的设计不同IIR滤波器设计时的阶数不是由设计者指定而是根据设计者输入的各个滤波器参数截止频率通带滤纹阻带衰减等由软件设计出满足这些参数的最低滤波器阶数在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择利用MATLAB中的wavread命令来读入采集语音信号将它赋值给某一向量 Wavread函数可得出信号的采样频率为22500并且声音是单声道的利用Sound函数可以清晰的听到毕业设计声音文件的语音采集数据并画出波形图在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换下面介绍这些函数函数FFT用于序列快速傅立叶变换函数的一种调用格式y fft x 其中x是序列y是序列的FFTx可以为一向量或矩阵若x为一向量y是x的FFT且和x相同长度若x为一矩阵则y是对矩阵的每一列向量进行FFT 如果x长度是2的幂次方函数fft执行高速基-2FFT算法否则fft执行一种混合基的离散傅立叶变换算法计算速度较慢函数FFT的另一种调用格式为y fft xN 式中xy意义同前N为正整数函数执行N点的FFT若x为向量且长度小于N则函数将x补零至长度N若向量x的长度大于N则函数截短x使之长度为N若x 为矩阵按相同方法对x进行处理经函数fft求得的序列y一般是复序列通常要求其幅值和相位MATLAB提供求复数的幅值和相位函数absangle这些函数一般和 FFT同时使用函数abs x 用于计算复向量x的幅值函数angle x 用于计算复向量的相角介于和之间以弧度表示用MATLAB工具箱函数fft进行频谱分析时需注意 1函数fft返回值y的数据结构对称性一般而言对N点的x n 序列的FFT是N点的复数序列其点n N21对应Nyquist频率作频谱分析时仅取序列X k 的前一半即前N2点即可X k 的后一半序列和前一半序列时对称的频率计算若N点序列x n n 01N-1 是在采样频率下获得的它的FFT也是N点序列即X k k 012N-1 则第k点所对应实际频率值为 f kf N 绘出了语音信号的波形频谱图 [xfsbits] wavread wangqingtianwav sound xfsbits X fft x4096 magX abs X angX angle X subplot 221 plot x title 原始信号波形 subplot 222 plot X title 原始语音信号采样后的频谱图 subplot 223 plot magX title 原始信号幅值 subplot 224 plotangX title 原始信号相位程序运行可以听到声音得到的图形为atlab函数randn产生正态分布的随机数或矩阵的函数产生均值为0方差σ2 1标准差σ 1的正态分布的随机数或矩阵的函数用法Y randn n 返回一个nn的随机项的矩阵如果n不是个数量将返回错误信息 Y randn mn 或 Y randn [m n] 返回一个mn的随机项矩阵 Y randn size A 返回一个和A有同样维数大小的随机数组randn返回一个每次都变化的数量[yfsbits] wavread chushiwav sound yfs n length y y_p fft yn f fs 0n2-1 n figure 1 subplot 211 plot y title 原始语音信号采样后的时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_p 1n2 title 原始语音信号采样后的频谱图 xlabel 频率Hz ylabel 频率幅值 L length y noise 01randn L2 y_z ynoise sound y_zfs n length y y_zp fft y_zn f fs 0n2-1 n figure 2 subplot 211 plot y_z title 加噪语音信号时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_zp 1n2 title 加噪语音信号频谱图 xlabel 频率Hz ylabel 频率幅值初始信号的时域波形频谱图与加噪后语音信号的时域波形频谱图分别如图3536所示图35 图36 通过对两张图片的对比很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多在时间轴上可以明显看出005S的幅值增大了通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比也可以看出在频率5000Hz以后的频率幅值发生了明显的增加再通过对原始语音信号的回放效果与加噪后的语音信号回放的效果的对比人耳可以明显辨别出两种语音信号不一样了加噪后的语音信号在听觉上比原始语音信号要浑浊很多而且还有吱吱嘎嘎的混杂音 34 去噪及仿真1FIR滤波器法去噪通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道噪音大部分是Hz大于5000的部分故设计低通滤波器进行滤波处理接下来我们要用设计的FIR低通滤波器对上一节中加噪语音信号进行滤波处理用自己设计的FIR数字低通滤波器对加噪的语音信号进行滤波时在Matlab中FIR滤波器利用函数fftfilt对信号进行滤波函数fftfilt用的是重叠相加法实现线性卷积的计算调用格式为y fftfilter hxM 其中h是系统单位冲击响应向量x是输入序列向量y是系统的输出序列向量M是有用户选择的输入序列的分段长度缺省时默认的输入向量的重长度M 512 用设计好的FIR数字低通滤波器对加噪语音信号的滤波程序 [yfsbits] wavread chushiwav sound yfs n length y y_p fft yn f fs 0n2-1 n figure 1 subplot 211 plot y title 原始语音信号采样后的时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_p 1n2 title 原始语音信号采样后的频谱图 xlabel 频率Hz ylabel 频率幅值 L length y noise 01randn L2 y_z ynoise sound y_zfs n length y y_zp fft y_zn f fs 0n2-1 n figure 2 subplot 211 plot y_z title 加噪语音信号时域波形 xlabel 时间轴 ylabel 幅值A subplot 212 plot fabs y_zp 1n2 title 加噪语音信号频谱图 xlabel 频率Hz ylabel 频率幅值 Ft 5000 Fp 1000 Fs 1200 wp 2FpFt ws 2FsFt rp 1 rs 50 p 1-10 -rp20 s 10 -rs20 fpts [wp ws] mag [1 0] dev [p s] [n21wn21betaftype] kaiserord fptsmagdev b21 fir1 n21wn21Kaiser n211beta [hw] freqz b211 plot wpiabs h title FIR低通滤波器 x fftfilt b21y_z X fft xn figure 4 subplot 221 plot fabs y_zp 1n2 title 滤波前信号的频谱 subplot 222 plot fabs X 1n2 title 滤波后信号的频谱 subplot 223 plot y_z title 滤波前信号的时域波形 subplot 224 plot x title 滤波后信号的时域波形 sound xfsbits 而后得到图像如下图37 分析从以上四图可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别加噪后的语音信号的时域波形比原始语音信号要模糊得多频谱图则是在频率5000Hz 以后出现了明显的变化再通过滤波前的信号波形和频谱图的对比可以明显看出滤波后的波形开始变得清晰了有点接近原始信号的波形图了滤波后信号的频谱图也在5000Hz以后开始逐渐接近原始语音信号的频谱图再从对语音信号的回放人耳可以明显辨别出加噪后的语音信号比较浑浊还有很明显嘎吱嘎吱的杂音在里面滤波后语音信号较加噪后的信号有了明显的改善基本可以听清楚了而且杂音也没有那么强烈但是声音依然没有原始语音信号那么清晰脆耳 2IIR滤波器法去噪同样也设计一个IIR低通滤波器对加噪语音信号进行内部处理程序如下Ft 8000 Fp 1000 Fs 1200 wp 2piFpFt ws 2piFsFt fp 2Fttan wp2 fs 2Fstan wp2 [n11wn11] buttord wpws150s 求低通滤波器的阶数和截止频率[b11a11] butter n11wn11s 求S域的频率响应的参数 [num11den11] bilinear b11a1105 双线性变换实现S域到Z域的变换 [hw] freqz num11den11 根据参数求出频率响应 plot w800005piabs h legend 用butter设计 grid [yfsnbits] wavread BYSJwav n length y 求出语音信号的长度 noise 001randn n2 随机函数产生噪声 s ynoise 语音信号加入噪声 S fft s 傅里叶变换 z11 filter num11den11s sound z11 m11 fft z11 求滤波后的信号 subplot 221 plot abs S g title 滤波前信号的频谱 grid subplot 222 plot abs m11 r title 滤波后信号的频谱grid subplot 223 plot s title 滤波前信号的波形 grid subplot 224 plot z11 title 滤波后的信号波形得到图像如下图38 通过程序运行我们可以听出滤波效果很不好失真现象严重并且出现了严重的寄生震荡 35 结合去噪后的频谱图对比两种方式滤波的优缺点 IIR数字滤波器采用递归型结构即结构上带有反馈环路IIR滤波器运算结构通常由延时乘以系数和相加等基本运算组成可以组合成直接型正准型级联型并联型四种结构形式都具有反馈回路由于运算中的舍入处理使误差不断累积有时会产生微弱的寄生振荡 1IIR数字滤波器的相位特性不好控制对相位要求较高时需加相位校准网络FIR滤波器则要求较低 2IIR滤波器运算误差大有可能出现极限环振荡FIR相比之下运算误差较小不会出现极限环振荡 3IIR幅频特性精度很高不是线性相位的可以应用于对相位信息不敏感的音频信号上 4与FIR滤波器的设计不同IIR滤波器设计时的阶数不是由设计者指定而是根据设计者输入的各个滤波器参数截止频率通带滤纹阻带衰减等由软件设计出满足这些参数的最低滤波器阶数在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择 5IIR单位响应为无限脉冲序列FIR单位响应为有限的 6FIR幅频特性精度较之于iir低但是线性相位就是不同频率分量的信号经过FIR滤波器后他们的时间差不变这是很好的性质 7IIR滤波器有噪声反馈而且噪声较大FIR滤波器噪声较小 FIR幅频特性精度较之于iir低但是线性相位就是不同频率分量的信号经过FIR滤波器后他们的时间差不变这是很好的性质 4总结本文对语音信号处理系统的设计作了详细的介绍采用一系列图像分析和处理技术实现了语音信号的基本处理的功能经过测试运行本设计圆满的完成了对语音信号的读取与打开较好的完成了对语音信号的频谱分析通过fft变换得出了语音信号的频谱图在滤波这一块课题主要是从滤波器入手来设计滤波器基本实现了滤波与课题的要求十分相符在此论文撰写过程中要特别感谢我的导师的指导与督促同时感谢的谅解与包容没有的帮助也就没有今天的这篇论文求学历程是艰苦的但又是快乐的感谢我的老师谢谢他在这四年中为我们全班所做的一切他不求回报无私奉献的精神很让我感动再次向表示由衷的感谢在这四年的学期中结识的各位生活和学习上的挚友让我得到了人生最大的一笔财富在。