当前位置:首页 >> 信息与通信 >> 基于MATLAB的频谱分析和信号去噪

基于MATLAB的频谱分析和信号去噪

基于 MATLAB 的频谱分析和信号去噪





滤波器设计在数字信号处理中占有极其重要的地位, FIR 数字滤波器和 IIR 滤波器是 滤波器设计的重要组成部分。利用 MATLAB 信号处理工具箱可以快速有效地设计各种数字 滤波器。课题基于 MATLAB 有噪音语音信号处理的设计与实现,综合运用数字信号处理的 理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再 利用 MATLAB 作为编程工具进行计算机实现。 在设计实现的过程中, 使用窗函数法来设计 FIR 数字滤波器, 用巴特沃斯、 切比雪夫和双线性变法设计 IIR 数字滤波器, 并利用 MATLAB 作为辅助工具完成设计中的计算与图形的绘制。 通过对对所设计滤波器的仿真和频率特性 分析,可知利用 MATLAB 信号处理工具箱可以有效快捷地设计 FIR 和 IIR 数字滤波器,过 程简单方便,结果的各项性能指标均达到指定要求。

关键词

MATLAB/滤波器/频域分析/滤波

Based on the MATLAB spectrum analysis and signal denoising

ABSTRACT

Filter design in digital signal processing in occupies an extremely important status, FIR digital filters and filter IIR filter is the important component. MATLAB signal processing toolbox can effectively design of digital filter. Subject have noise based on MATLAB speech signal processing, the design and implementation of integrated use of digital signal processing theory knowledge of speech signal with noise adding time domain and frequency domain analysis and filtering. Through theoretical derivation corresponding conclusion as a programming tool, using MATLAB for computer implementation. In the design and implementation of process, USES window function method to design FIR digital filters, with bart leavenworth, chebyshev and bilinear anshi IIR digital filter, and design MATLAB as the auxiliary tool complete design of computing and graphics drawing. Through the design of the filter selvesor simulation and frequency characteristics were analyzed, using MATLAB signal processing toolbox that can effectively quickly design FIR and IIR digital filters, process is simple and convenient, results of various performance indicators are as specified requirements. KEY WORDS MATLAB, filter, frequency domain analysis, filtering







要...........................................................I

ABSTRACT ........................................................II 1 绪论...........................................................1 2 基于滤波器的语音信号的处理 .....................................2 2.1 语音信号的采集 .............................................2 2.2 设计 FIR 和 IIR 数字滤波器....................................2 2.3 用滤波器对加噪语音信号进行滤波 ..............................6 3 仿真及其结果分析 ..............................................7 3.1 语音信号的时频分析 .........................................7 3.2 加噪后的语音信号及其频谱分析................................8 3.3 通过滤波器处理的加噪语音信号的分析 ..........................9 3.4 IIR 与 FIR 滤波器处理结果的的比较分析 .......................12 第四章 结论 .....................................................13 致 谢..........................................................14

参考文献........................................................15 (附录)..........................................................16 附录 1:.......................................................16 附录 2:.......................................................16
1

附录 3:.......................................................17 附录 4:.......................................................18 附录 5:.......................................................18 附录 6:.......................................................19 附录 7:.......................................................20 附录 8:.......................................................21 附录 9:.......................................................22 附录 10: ......................................................23

2

1 绪论

数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发 展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器 处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无 法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的 时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无 限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收 敛,极点全部在z = 0处(因果系统) ,因而只能用较高的阶数达到高的选择性。FIR数字 滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信 号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响 应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很 重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波 器等优点收到人们的青睐。 IIR滤波器采用递归型结构, 即结构上带有反馈环路。 IIR滤波器运算结构通常由延时、 乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构 形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成 果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,在设计一个 IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模 拟滤波器的公式转换成数字滤波器的公式。 本文研究的主要内容中是利用一段语音信号对其进行加噪处理, 然后利用 FIR 和 IRR 两种滤波器对加有噪声的语音信号进行过滤和频谱分析, 画出滤波之后的频谱图与时域波 形,并对信号滤波前后进行分析比较,分析信号的变化,来进行比较 IIR 与 FIR 两种滤波 器对语音信号的处理的特点。

1

2 基于滤波器的语音信号的处理

选择一个语音信号作为分析的对象,或录制一段语音信号,对其进行频谱分析;利用 MATLAB 中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频 谱分析;设计 FIR 和 IIR 数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波 后信号的时域和频域特征,回放语音信号;最后,设计一个信号处理系统界面。在所设计 的系统界面上可以选择滤波器的类型。

2.1 语音信号的采集
利用 PC 机上的声卡和 WINDOWS 操作系统可以进行数字信号的采集。 将话筒输入计算 机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理”,说 完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。 以文件名“speech”保存入 g :\ MATLAB \ work 中。可以看到,文件存储器的后缀默认 为. wav ,这是 WINDOWS 操作系统规定的声音文件存的标准。

2.2 设计 FIR 和 IIR 数字滤波器
IIR 滤波器和 FIR 滤波器的设计方法完全不同。IIR 滤波器设计方法有间接法和直接 法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波 器得到系统函数 H(s) ,然后将 H(s)按某种方法转换成数字滤波器的系统函数 H(z)。 FIR 滤波器比鞥采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近 法。对于线性相位滤波器,经常采用 FIR 滤波器。 对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤 波器的频率转换设计一个所需类型的过渡模拟滤波器, 再经过双线性变换将其转换策划那 个所需的数字滤波器。具体设计步骤如下: (1)确定所需类型数字滤波器的技术指标。
2

(2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换 公式为Ω=2/T tan(0.5ω) (3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。 (4)设计模拟低通滤波器。 (5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。 (6) 采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。 我们知道, 脉冲响应不变法的主要缺点是会产生频谱混叠现象, 使数字滤波器的频响 偏离模拟滤波器的频响特性。为了克服之一缺点,可以采用双线性变换法。 下面我们总结一下利用模拟滤波器设计 IIR 数字低通滤波器的步骤: (1)确定数字低通滤波器的技术指标:通带边界频率、通带最大衰减,阻带截止频 率、阻带最小衰减。 (2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。 (3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。 (4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。 如前所述,IIR 滤波器和 FIR 滤波器的设计方法有很大的区别。下面我们着重介绍 用窗函数法设计 FIR 滤波器的步骤。如下: (1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉 宁窗、哈明窗、凯塞窗等) ,并估计窗口长度 N。先按照阻带衰减选择窗函数类型。原则 是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。 (2)构造希望逼近的频率响应函数。 (3)计算 h(n).。 (4)加窗得到设计结果。 接下来,我们根据语音信号的特点给出有关滤波器的技术指标: ①低通滤波器的性能指标: fp=1000Hz,fc=1200Hz,As=50db ,Ap=1dB ②高通滤波器的性能指标: fp=3500Hz,fc=4000Hz,As=50dB,Ap=1dB; 在 Matlab 中, 可以利用函数 fir1 设计 FIR 滤波器, 利用函数 butter,cheby1 和 ellip 设计 IIR 滤波器,利用 Matlab 中的函数 freqz 画出各步步器的频率响应。 hn=fir1(M,wc,window),可以指定窗函数向量 window。如果缺省 window 参数,则
3

fir1 默认为哈明窗。其中可选的窗函数有 Rectangular Barlrtt Hamming Hann Blackman 窗,其相应的都有实现函数。 MATLAB 信号处理工具箱函数 buttp buttor butter 是巴特沃斯滤波器设计函数,其 有 5 种调用格式,本课程设计中用到的是[N,wc]=butter(N,wc,Rp,As,’s’),该格式用于 计算巴特沃斯模拟滤波器的阶数 N 和 3dB 截止频率 wc。 MATLAB 信号处理工具箱函数 cheblap,cheblord 和 cheeby1 是切比雪夫 I 型滤波器设 计函数。我们用到的是 cheeby1 函数,其调用格式如下: [B,A]=cheby1(N,Rp,wpo,’ftypr’) [B,A]=cheby1(N,Rp,wpo,’ftypr’,’s’) 函数 butter,cheby1 和 ellip 设计 IIR 滤波器时都是默认的双线性变换法,所以在 设计滤波器时只需要代入相应的实现函数即可。 下面我们将给出 FIR 和 IIR 数字滤波器的 主要程序。 =========================IIR 低通滤波器======================= IIR 低通滤波器程序见附录 3

图 1 IIR 低通滤波器 ======================IIR 高通========================== IIR 高通滤波器程序见附录 4

4

图 2 IIR 高通滤波器

**************************FIR 低通滤波器***************************** FIR 低通滤波器程序见附录 5

图 3 FIR 低通滤波器

***************************%FIR 高通滤波器******************* FIR 高通滤波器程序见附录 6

5

图 4 FIR 高通滤波器

2.3 用滤波器对加噪语音信号进行滤波
用自己设计的各滤波器分别对加噪的语音信号进行滤波,在 Matlab 中,FIR 滤波器 利用函数 fftfilt 对信号进行滤波,IIR 滤波器利用函数 filter 对信号进行滤波。 函 数 fftfilt 用 的 是 重 叠 相 加 法 实 现 线 性 卷 积 的 计 算 。 调 用 格 式 为 : y=fftfilter(h,x,M)。其中,h 是系统单位冲击响应向量;x 是输入序列向量;y 是系统 的输出序列向量;M 是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重 长度 M=512。 函数 filter 的调用格式:yn=filter(B,A.xn),它是按照直线型结构实现对 xn 的滤 波。其中 xn 是输入信号向量,yn 输出信号向量。

6

3

仿真及其结果分析

3.1 语音信号的时频分析
利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。 再对其进行采样,记住采样频率和采样点数。下面介绍Wavread 函数几种调用格式。 (1)y=wavread(file) 功能说明:读取 file 所规定的 wav 文件,返回采样值放在向量 y 中。 (2)[y,fs,nbits]=wavread(file) 功能说明:采样值放在向量 y 中,fs 表示采样频率(hz) ,nbits 表示采样位数。 (3)y=wavread(file,N) 功能说明:读取钱 N 点的采样值放在向量 y 中。 (4)y=wavread(file,[N1,N2]) 功能说明:读取从 N1 到 N2 点的采样值放在向量 y 中。 接下来,对语音信号 OriSound.wav 进行采样。其程序如下: >> [y,fs,nbits]=wavered (‘OriSound’); %把语音信号加载入 Matlab 仿真软件平台 中 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB 提供了快速 傅里叶变换算法 FFT 计算 DFT 的函数 fft,其调用格式如下: Xk=fft(xn,N) 参数 xn 为被变换的时域序列向量,N 是 DFT 变换区间长度,当 N 大于 xn 的长度时, fft 函数自动在 xn 后面补零。 ,当 N 小于 xn 的长度时,fft 函数计算 xn 的前 N 个元素, 忽略其后面的元素。 在本次设计中, 我们利用 fft 对语音信号进行快速傅里叶变换, 就可以得到信号的频谱特 性。 其程序见附录 1。 程序结果如下图:

7

图5 原始信号波形及频谱

3.2 加噪后的语音信号及其频谱分析
本文中,利用 MATLAB 中的随机函数(rand 或 randn)产生噪声加入到语音信号中,模 仿语音信号被污染, 并对其频谱分析。 Randn 函数有两种基本调用格式: Randn(n)和 Randn (m,n),前者产生 n×n 服从标准高斯分布的随机数矩阵,后者产生 m×n 的随机数矩阵。 在这里,我们选用 Randn(m,n)函数。

语音信号添加噪声及其频谱分析的主要程序见附录 2.

程序结果如下图:

8

图6 加噪后的波形及频谱分析

3.3 通过滤波器处理的加噪语音信号的分析

*************************IIR 低通滤波器************************ IIR 低通滤波器主要程序见附录 7

9

图 7 IIR 低通滤波

%****************************IIR 高通滤波器***************************** IIR 高通滤波器主要程序见附录 8

图8 IIR高通滤波 分析:通过IIR滤波器滤波前后的频谱比较相近,但仔细观察仍可以看到途中结果滤掉了 相应的成分。通过声音回放能明显的听到前后两者声音的不同,IIR高通滤波后只能听到 少量的杂音,IIR低通能听到原来音乐,但是声音低沉发闷,但是很接近原来的声音。 **************************FIR低通滤波器**************************** FIR 低通滤波器主要程序见附录 9

10

图9

FIR低通滤波

****************************FIR 高通滤波器************************** FIR 高通滤波器主要程序见附录 10

图10 FIR高通滤波

分析:通过FIR高通滤波器滤波前后的频谱比较较大,FIR低通滤波器则是不太明显,结果 滤掉了相应的成分。通过声音回放能明显的听到前后两者声音的不同,FIR高通滤波后只 能听到的是杂音,原来音乐的声音很模糊低,FIR低通滤波后能听到原来音乐,但是其中 还掺杂少量杂音且低沉发闷。

11

3.4 IIR 与 FIR 滤波器处理结果的的比较分析
IIR 数字滤波器采用递归型结构,即结构上带有反馈环路。IIR 滤波器运算结构通常 由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型 四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生 微弱的寄生振荡。 (1)IIR 数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。 FIR 滤波器则要求较低。 (2)与 FIR 滤波器的设计不同,IIR 滤波器设计时的阶数不是由设计者指定,而是 根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等) ,由软件设计出 满足这些参数的最低滤波器阶数。在 MATLAB 下设计不同类型 IIR 滤波器均有与之对应的 函数用于阶数的选择。 (3)IIR 单位响应为无限脉冲序列 FIR 单位响应为有限的 (4)IIR 幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音 频信号上; (5)FIR 幅频特性精度较之于 iir 低,但是线性相位,就是不同频率分量的信号经 过 FIR 滤波器后他们的时间差不变。这是很好的性质。 (6)IIR 滤波器有噪声反馈,而且噪声较大,FIR 滤波器噪声较小。 (7)IIR 滤波器运算误差大,有可能出现极限环振荡,FIR 相比之下运算误差较小, 不会出现极限环振荡。 IIR 幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号 上; FIR 幅频特性精度较之于 iir 低,但是线性相位,就是不同频率分量的信号经过 FIR 滤波器后他们的时间差不变。这是很好的性质。

12

第四章 结论

语音信号处理是语音学与数字信号处理技术相结合的交叉学科, 课题在这里不讨论语 音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更 多的还是体现了数字信号处理技术。 从课题的中心来看,课题“基于 MATLAB 的频谱分析和信号去噪”是希望将数字信号 处理技术应用于某一实际领域, 这里就是指对语音及加噪处理。 作为存储于计算机中的语 音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进 行处理了。这一过程的实现,用到了处理数字信号的强有力工具 MATLAB。通过 MATLAB 里 几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。 课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,就可以 完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱 分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处 理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音 与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图 中可以看出含噪声的语音信号频谱,在整个频域范围内分是布均匀。其实,这正是干扰所 造成的。通过滤波前后的对比,低通滤波后效果最好,高通滤波后的效果最差。由此可见, 语音信号主要分布在低频段,而噪声主要分布在高频段。

13





在此论文撰写过程中, 要特别感谢我的导师老师的指导与督促, 同时感谢她的谅解与 包容。没有老师的帮助也就没有今天的这篇论文。求学历程是艰苦的,但又是快乐的。感 谢我的辅导员段老师,谢谢他在这四年中为我们全班所做的一切,他不求回报,无私奉献 的精神很让我感动, 再次向他表示由衷的感谢。 在这四年的学期中结识的各位生活和学习 上的挚友让我得到了人生最大的一笔财富。在此,也对他们表示衷心感谢。 本文参考了大量的文献资料,在此,向各学术界的前辈们致敬!

14

参考文献

[1] Wolfgang R.Podilchuk, C.Delp, E Perpetual watermarks for digital images and video 1999(07)

[2]Mallat S.Zhong, S Characterization of signals form multiscale edges 1992(07)

[3] Wang H-J M.Su, P-C.Kuo, C-C.J Wavelet-Based digital image watermarking 1998(12)

[4]高西全,丁玉美.数字信号处理.第 3 版.北京:西安电子科技大学出版社,2008

[5]刘泉,阙大顺.数字信号处理原理与实现.北京:电子工业出版社,2005

[6]张磊,毕靖,郭莲英.MATLAB实用教程.北京:人民邮电出版社,2008

[7]张威.MATLAB基础与编程入门.西安:西安电子科技大学出版社,2006

[5] 周利清,苏菲.数字信号处理基础.北京:北京邮电大学出版社,2005

15

附 录

附录 1:
clf; Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Fs*tan(wp/2); [n11,wn11]=buttord(wp,ws,1,50,'s'); [b11,a11]=butter(n11,wn11,'s'); %求低通滤波器的阶数和截止频率 %求 S 域的频率响应的参数

[num11,den11]=bilinear(b11,a11,0.5); %双线性变换实现 S 域到 Z 域的变换 [h,w]=freqz(num11,den11); plot(w*8000*0.5/pi,abs(h)); legend('用 butter 设计'); grid; %根据参数求出频率响应

附录 2:
clf; Ft=8000; Fp=4000; Fs=3500; wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft);
16

%高通到低通滤波器参数转换

wp=1; ws=wp1*wp/ws1; [n13,wn13]=cheb1ord(wp,ws,1,50,'s'); %求模拟的低通滤波器阶数和截止频率 [b13,a13]=cheby1(n13,1,wn13,'s'); [num,den]=lp2hp(b13,a13,wn13); %求 S 域的频率响应的参数 %将 S 域低通参数转为高通的

[num13,den13]=bilinear(num,den,0.5); %利用双线性变换实现 S 域到 Z 域转换 [h,w]=freqz(num13,den13); plot(w*21000*0.5/pi,abs(h)); title('IIR 高通滤波器'); legend(用 cheby1 设计');

附录 3:
clf; Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50; p=1-10.^(-rp/20); s=10.^(-rs/20); fpts=[wp ws]; mag=[1 0]; dev=[p s]; [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);%kaiserord 求阶数截止频率 b21=fir1(n21,wn21,Kaiser(n21+1,beta)); [h,w]=freqz(b21,1); plot(w/pi,abs(h)); title('FIR 低通滤波器');
17

%通带阻带波纹

%由 fir1 设计滤波器 %得到频率响应

附录 4:
clf; Ft=8001; Fp=4000; Fs=3500; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50; p=1-10.^(-rp/20); s=10.^(-rs/20); fpts=[ws wp]; mag=[0 1]; dev=[p s]; [n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev); b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); [h,w]=freqz(b23,1); plot(w*12000*0.5/pi,abs(h)); title('FIR 高通滤波器'); axis([3000 6000 0 1.2]); %由 fir1 设计滤波器 %得到频率响应 %通带阻带波纹

附录 5:
[y,fs,nbits]=wavread ('speech'); sound(y,fs,nbits); %回放语音信号 N= length (y) ; Y=fft(y,N); subplot(2,1,1);
18

%求出语音信号的长度 %傅里叶变换

plot(y);title('原始信号波形'); subplot(2,1,2); plot(abs(Y)); title('原始信号频谱')

附录 6:
[y,fs,nbits]=wavread ('speech'); sound(y,fs,nbits); %回放语音信号 N= length (y) ; Y=fft(y,N); subplot(2,1,1); plot(y);title('原始信号波形'); subplot(2,1,2); plot(abs(Y)); title('原始信号频谱') [y,fs,nbits]=wavread ('speech'); N = length (y) ; Noise=0.01*randn(N,2); Si=y+Noise; sound(Si); subplot(2,1,1); plot(Si);title('加噪语音信号的时域波形'); S=fft(Si); subplot(2,1,2); plot(abs(S)); title('加噪语音信号的频域波形');; %傅里叶变换 %求出语音信号的长度 %随机函数产生噪声 %语音信号加入噪声 %求出语音信号的长度 %傅里叶变换

19

附录 7:
clf; Ft=8000; Fp=1000; Fs=1200; wp=2*pi*Fp/Ft; ws=2*pi*Fs/Ft; fp=2*Ft*tan(wp/2); fs=2*Fs*tan(wp/2); [n11,wn11]=buttord(wp,ws,1,50,'s'); [b11,a11]=butter(n11,wn11,'s'); %求低通滤波器的阶数和截止频率 %求 S 域的频率响应的参数

[num11,den11]=bilinear(b11,a11,0.5); %双线性变换实现 S 域到 Z 域的变换 [h,w]=freqz(num11,den11); plot(w*8000*0.5/pi,abs(h)); legend('用 butter 设计'); grid; [y,fs,nbits]=wavread ('speech'); n = length (y) ; noise=0.01*randn(n,2); s=y+noise; S=fft(s); z11=filter(num11,den11,s); sound(z11); m11=fft(z11); subplot(2,2,1); plot(abs(S),'g'); title('滤波前信号的频谱'); grid; subplot(2,2,2);
20

%根据参数求出频率响应

%求出语音信号的长度 %随机函数产生噪声 %语音信号加入噪声 %傅里叶变换

%求滤波后的信号

plot(abs(m11),'r'); title('滤波后信号的频谱'); grid; subplot(2,2,3); plot(s); title('滤波前信号的波形'); grid; subplot(2,2,4); plot(z11); title('滤波后的信号波形');

附录 8:
clf; Ft=8000; Fp=4000; Fs=3500; wp1=tan(pi*Fp/Ft); ws1=tan(pi*Fs/Ft); wp=1; ws=wp1*wp/ws1; [n13,wn13]=cheb1ord(wp,ws,1,50,'s'); %求模拟的低通滤波器阶数和截止频率 [b13,a13]=cheby1(n13,1,wn13,'s'); [num,den]=lp2hp(b13,a13,wn13); %求 S 域的频率响应的参数 %将 S 域低通参数转为高通的 %高通到低通滤波器参数转换

[num13,den13]=bilinear(num,den,0.5); %利用双线性变换实现 S 域到 Z 域转换 [h,w]=freqz(num13,den13); plot(w*21000*0.5/pi,abs(h)); title('IIR 高通滤波器'); legend('用 cheby1 设计'); [y,fs,nbits]=wavread ('speech'); n = length (y) ;
21

%求出语音信号的长度

noise=0.01*randn(n,2); s=y+noise; S=fft(s); z13=filter(num13,den13,s); sound(z13); m13=fft(z13); subplot(2,2,1); plot(abs(S),'g'); title('滤波前信号的频谱'); subplot(2,2,2); plot(abs(m13),'r'); title('滤波后信号的频谱'); subplot(2,2,3); plot(s); title('滤波前信号的波形'); subplot(2,2,4); plot(z13); title('滤波后的信号波形');

%随机函数产生噪声 %语音信号加入噪声 %傅里叶变换

%求滤波后的信号

附录 9:
clf; Ft=8000; Fp=1000; Fs=1200; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50; p=1-10.^(-rp/20); s=10.^(-rs/20);
22

%通带阻带波纹

fpts=[wp ws]; mag=[1 0]; dev=[p s]; [n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev);%kaiserord 求阶数截止频率 b21=fir1(n21,wn21,Kaiser(n21+1,beta)); [h,w]=freqz(b21,1); plot(w/pi,abs(h)); title('FIR 低通滤波器'); [y,fs,nbits]=wavread ('speech'); n = length (y) ; noise=0.01*randn(n,2); s=y+noise; S=fft(s); z21=fftfilt(b21,s); sound(z21); m21=fft(z21); subplot(2,2,1); plot(abs(S),'g'); title('滤波前信号的频谱'); subplot(2,2,2); plot(abs(m21),'r'); subplot(2,2,3); plot(s); subplot(2,2,4); plot(z21); title('滤波后的信号波形'); title('滤波前信号的波形'); title('滤波后信号的频谱'); %求滤波后的信号 %求出语音信号的长度 %随机函数产生噪声 %语音信号加入噪声 %傅里叶变换 %由 fir1 设计滤波器 %得到频率响应

附录 10:
clf; Ft=8001;
23

Fp=4000; Fs=3500; wp=2*Fp/Ft; ws=2*Fs/Ft; rp=1; rs=50; p=1-10.^(-rp/20); s=10.^(-rs/20); fpts=[ws wp]; mag=[0 1]; dev=[p s]; [n23,wn23,beta,ftype]=kaiserord(fpts,mag,dev); b23=fir1(n23,wn23,'high',Kaiser(n23+1,beta)); [h,w]=freqz(b23,1); plot(w*12000*0.5/pi,abs(h)); title('FIR 高通滤波器'); axis([3000 6000 0 1.2]); grid; [y,fs,nbits]=wavread ('speech'); n = length (y) ; noise=0.01*randn(n,2); s=y+noise; S=fft(s); z23=fftfilt(b23,s); sound(z23); m23=fft(z23); subplot(2,2,1); plot(abs(S),'g'); subplot(2,2,2); plot(abs(m23),'r');
24

%通带阻带波纹

%由 fir1 设计滤波器 %得到频率响应

%求出语音信号的长度 %随机函数产生噪声 %语音信号加入噪声 %傅里叶变换

%求滤波后的信号

title('滤波后信号的频谱'); subplot(2,2,3); plot(s); title('滤波前信号的波形'); subplot(2,2,4); plot(z23); title('滤波后的信号波形');

25


更多相关文档:

基于MATLAB的频谱分析与信号去噪.doc

基于MATLAB的频谱分析与信号去噪 - 学生毕业设计报告 基于 MATLAB 的频谱分析与信号去噪 作专年学日 者业级号期 系(院) 指导教师 学生诚信承诺书 本人...

基于MATLAB的频谱分析和信号去噪.doc

基于MATLAB的频谱分析和信号去噪 - 本科毕业论文(设计) 本科毕业论文(设计) 题 目 基于 MATLAB 的频谱分析和信号去噪 职称 讲师 指导教师 学生姓名 专业 学号 ...

基于MATLAB的频谱分析及信号去噪仿真研究6-19.doc

基于MATLAB 的频谱分析及信号去噪仿真研究摘 要 本课题为基于 MATLAB 的频谱分析及信号去噪仿真研究,是综合运用数字信号 处理的理论知识, 对含噪声的信号进行去噪...

基于MATLAB的图像信号频谱分析与噪声消除方法设计_论文.pdf

基于MATLAB的图像信号频谱分析与噪声消除方法设计 - 信息管理 基于 MATLA B的图像信 号频谱分析与 噪声消 除方法 设计 李燃 辽 宁锦 州渤 海 大学 工学 ...

基于MATLAB的信号去噪研究(精).doc

基于MATLAB的信号去噪研究(精) - ※※※ 2009 届学生 ※毕业设计(

基于MATLAB的信号去噪研究.doc

基于MATLAB的信号去噪研究 - 江西理工大学应用科学学院毕业设计 基于 MATLAB 的信号去噪研究 摘要 随着现代计算机技术的研究和发展,人们对波形去噪技术的要求越来越...

基于MATLAB语音信号处理去噪毕业设计(含源文件).doc

基于MATLAB语音信号处理去噪毕业设计(含源文件) - 在 Matlab 平台上实现对语音信号的去噪研 究和仿真 摘要 语音信号在数字信号处理中占有极其重要的地位, 因此...

基于MATLAB的FIR滤波器的设计及应用(信号去噪).doc

基于MATLAB的FIR滤波器的设计及应用(信号去噪) - ※※※ ※ ※ ※

基于Matlab的语音信号去噪及仿真.doc

基于Matlab的语音信号去噪及仿真 - 数字信号处理综合实验报告 实验题目:基于 Matlab 的语音信号去噪及仿真 专业名称: 学姓日号: 名: 期: 报告内容: 一、 实验...

《数字信号处理》课程设计,基于MATLAB的音乐信号处理和....doc

对音乐信号的采样、抽取、调制解调、滤波、去噪等多种处理过程的 理论分析和 MATLAB 实现,使学生进一步巩固数字信号处理的基本概念、理论以及频谱分析 方法和数字滤波...

基于MATLAB的语音信号分析及滤波.doc

基于MATLAB的语音信号分析及滤波 - MATLAB实现语音信号的加噪滤波过程,有代码... 语音信号和去噪语音信号,分析信号的变化,回放语音信号;最后,用 MATLAB 设计一信号处...

基于MATLAB的信号消噪处理程序设计.doc

采用先进的科学计算软件 MATLAB 对含噪信号进行分解,并通过软件重构出 消后的信号,计算机仿真结果表明,利用 MATLAB 语言可以方便的得到信号 前后的频谱,并...

基于MATLAB的FIR滤波器语音信号去噪_毕业设计.doc

本次课程设计主要内容是基于 MATLAB 的 FIR 滤波器语音 信号去噪。主要运用麦克风采集一段语音信号,对其进行了时域分析和频谱分析,分析语音 信号的特性,并对语音...

基于matlab的信号消噪处理和程序设计.doc

基于matlab的信号处理和程序设计 - 郑州轻工业学院 课程设计说明书 题目:基于 MATLAB 的信号处理和程序设计 姓 名: 电子信息工程学院 院 (系) : 专业...

应用Matlab对含噪声的语音信号进行频谱分析及滤波.doc

应用Matlab对含噪声的语音信号进行频谱分析及滤波 - 信号分析与处理实验报告

基于MATLAB的有噪声的语音信号处理的课程设计要点.doc

学号: 班级: 1.课程设计题目:基于 MATLAB 的有噪声的语音信号处理的课程设计。...(4)污染信号频谱分析对被污染的加噪信号进行时域和频域分析。 加噪声并分析信号...

基于matlab的图像去噪算法研究与仿真-毕业论文设计.doc

基于matlab的图像去噪算法研究仿真-毕业论文设计 - 摘 要 图像在获取

基于matlab的语音信号滤波处理.doc

的产生、采集,能绘制语音信号的频率响应曲线及频谱图; 2、学会用 matlab 对语音信号进行分析和处理; 3、掌握用滤波器去除语音噪声的方法,观察去噪前后的语音信号...

基于MATLAB软件的图像去噪方法比较_王姣斐.pdf

基于MATLAB软件的图像去噪方法比较_王姣斐_信息...在频率域里是对图像频谱进行修正 , 一般采用低通...()3 otherwise0 与图 像信号的强度相比, 椒盐...

基于matlab声音信号的滤波去噪处理.doc

基于matlab声音信号的滤波去噪处理 - 基于 matlab 声音信号的滤波去噪处理 摘要 滤波器设计在数字信号处理中占有极其重要的地位 FIR 数字滤波器和 IIR 滤波器 是...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com