数信课设报告_第1页
数信课设报告_第2页
数信课设报告_第3页
数信课设报告_第4页
数信课设报告_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数字信号处理课程设计 数字信号处理课程设计报告设计题目:语音信号去噪处理 专业班级 学 号 学生姓名 指导教师 教师评分 目录摘 要1一、设计目的与要求11.1设计目的11.2设计任务1二、设计流程框图流1三、设计原理、结果与分析23.1 去噪原理23.1.1 采样定理23.1.2 采样频率23.2频谱与仿真分析33.2.1 原始语音信号频谱分析及仿真33.2.2加噪语音信号频谱分析及仿真6四、去噪及仿真94.1 FIR滤波器法去噪94.2 IIR滤波器法去噪10五、 数据分析11六、总结11七、收获与体会12参考文献13附录14摘 要此次数字信号处理课程设计是利用MATLAB对语音信号进行分

2、析和处理,首先采集语音信号后,在MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号,并对其中的信号进行绘图和分析。其中涉及采样频率、采样位数的概念,采样定理; 时域信号的FFT分析;数字滤波器设计原理和方法,各种不同类型滤波器的性能比较等设计原理。关键词:MATLAB;语音信号;噪声;数字信号处理;滤波器;频谱分析第 1 页一、设计目的与要求1.1设计目的(1)巩固所学的数字信号处理理论知识, 理解信号的采集、处理、加噪、去噪过程;(2)综合运用专业及基础知识,解决实际工程技术问题的能力;(3)学习资料的收集与

3、整理,学会撰写课程设计报告。1.2设计任务(1).在Windows环境下利用录音机或其他软件,录制一段自己的语音信号,时间控制在1秒左右,并对所录制的语音信号进行采样处理;(2).对语音信号做频谱分析,即画出采样后语音信号的时域波形和频域图;在语音信号中加入噪声信号(至少两种不同噪声信号),画出加噪语音信号的时域波形和频域图;(3).根据上步加噪语音信号频谱分析结果,确定数字滤波器的技术指标,设计合适的数字滤波器滤除噪声信号,并画出滤波器的频率响应曲线;(4).用所设计的数字滤波器对加噪语音信号进行滤波,并画出滤波后语音信号的时域波形和频域图,对滤波前后的语音信号进行对比,分析信号的变化;(5

4、).利用MATLAB软件中的sound(x)函数实现对去噪语音信号的回放,验证设计效果。二、设计流程框图流图2-1 流程框图三、设计原理、结果与分析3.1 去噪原理3.1.1 采样定理在进行模拟/数字信号的转换过程中,当采样频率fs.max大于信号中,最高频率fmax的2倍时,即:fs.max>=2fmax,则采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的510倍;采样定理又称奈奎斯特定理。 1924年奈奎斯特(Nyquist)就推导出在理想低通信道的最高大码元传输速率的公式: 理想低通信道的最高大码元传输速率=2W*log2 N (其中W是理

5、想低通信道的带宽,N是电平强度)为什么把采样频率设为8kHz?在数字通信中,根据采样定理, 最小采样频率为语音信号最高频率的2倍频带为F的连续信号 f(t)可用一系列离散的采样值f(t1),f(t1±t),f(t1±2t),.来表示,只要这些采样点的时间间隔t1/2F,便可根据各采样值完全恢复原来的信号f(t)。 这是时域采样定理的一种表述方式。 时域采样定理的另一种表述方式是:当时间信号函数f(t)的最高频率分量为fM时,f(t)的值可由一系列采样间隔小于或等于1/2fM的采样值来确定,即采样点的重复频率f2fM。图为模拟信号和采样样本的示意图。 时域采样定理是采样误差理

6、论、随机变量采样理论和多变量采样理论的基础。对于时间上受限制的连续信号f(t)(即当t>T时,f(t)=0,这里T=T2-T1是信号的持续时间),若其频谱为F(),则可在频域上用一系列离散的采样值   (2-1)采样值来表示,只要这些采样点的频率间隔   (2-2)3.1.2 采样频率采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、

7、声音文件的质量标准。采样频率只能用于周期性采样的采样器,对于非周期性采样的采样器没有规则限制。 采样频率的常用的表示符号是 fs。 通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据采样定理,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。采样位数和采样率对于音频接口来说是最为重要的两个指标

8、,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度范围。每增加一个采样位数相当于力度范围增加了6dB。采样位数越多则捕捉到的信号越精确。对于采样率来说你可以想象它类似于一个照相机,44.1kHz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机摄取的图片越多,对于原始音频的还原也越加精确. 3.2频谱与仿真分析 3.2.1 原始语音信号频谱分析及仿真利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析,再依据实际情况对它进行滤

9、波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 MATLAB画出。我们还可以通过sound命令来对语音信号进行回放,以便在听觉上来感受声音的变化。选择设计此方案,是对数字信号处理的一次实践。在数字信号处理的课程学习过程中,我们过多的是理论学习,几乎没有进行实践方面的运用。这个课题正好是对数字语音处理的一次有利实践,而且语音处理也可以说是信号处理在实际应用中很大众化的一方面。这个方案用到的软件也是在数字信号处理中非常通用的一个软件MATLAB软件。所以这个课题的设计过程也是一次数字信号处理在MATLAB中应用的学习过程。课题用到了较多的MATLAB语句,而由于课题研究范围所限,真正与数字

10、信号有关的命令函数却并不多。sound(x,fs,bits); 用于对声音的回放。向量y则就代表了一个信号(也即一个复杂的“函数表达式”)也就是说可以像处理一个信号表达式一样处理这个声音信号。FFT的MATLAB实现:在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。下面介绍这些函数。函数FFT用于序列快速傅立叶变换。函数的一种调用格式为 y=fft(x)其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT。且和x相同长度。若x为一矩阵,则y是对矩阵的每一列向量进行FFT。如果x长度是2的幂次方,函数fft执行高速基2FFT算法;否

11、则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。函数FFT的另一种调用格式为y=fft(x,N)式中,x,y意义同前,N为正整数。函数执行N点的FFT。若x为向量且长度小于N,则函数将x补零至长度N。若向量x的长度大于N,则函数截短x使之长度为N。若x 为矩阵,按相同方法对x进行处理。经函数fft求得的序列y一般是复序列,通常要求其幅值和相位。MATLAB提供求复数的幅值和相位函数:abs,angle,这些函数一般和 FFT同时使用。函数abs(x)用于计算复向量x的幅值,函数angle(x)用于计算复向量的相角,介于 和 之间,以弧度表示。函数unwrap(p)用于展开弧度相位角p

12、 ,当相位角绝对变化超过 时,函数把它扩展至 。用MATLAB工具箱函数fft进行频谱分析时需注意:(1)函数fft返回值y的数据结构对称性一般而言,对于N点的x(n)序列的FFT是N点的复数序列,其点n=N/2+1对应Nyquist频率,作频谱分析时仅取序列X(k)的前一半,即前N/2点即可。X(k)的后一半序列和前一半序列时对称的。(2)频率计算 若N点序列x(n)(n=0,1,N-1)是在采样频率 下获得的。它的FFT也是N点序列,即X(k)(k=0,1,2,N-1),则第k点所对应实际频率值为f=k*f /N.(3)作FFT分析时,幅值大小与FFT选择点数有关,但不影响分析结果。下面的

13、一段程序是语音信号在MATLAB中的最简单表现,它实现了语音的读入打开,以及绘出了语音信号的波形频谱图。x,fs,bits=wavread('C:UsersAdministratorDesktop数字信号处理课程设计1.wav);sound(x,fs,bits);X=fft(x,4096);magX=abs(X);angX=angle(X);subplot(221);plot(x);title('原始信号波形');subplot(222);plot(X); title('原始语音信号采样后的频谱图)subplot(223);plot(magX);title(&#

14、39;原始信号幅值');subplot(224);plot(angX);title('原始信号相位');程序运行可以听到声音,得到的图形为:(图31 原始语音波形、幅值、相位以及采样后频谱图3.2.2加噪语音信号频谱分析及仿真(1)正弦波信号加入原始语音信号前面已经介绍了MATLAB软件相关知识,那么我们怎么在没没ATLAB平台上实现对一段原始语音信号加入一个正弦波信号呢? 下面一段程序实现了在原始语音信号加入正弦波信号。程序见附录1 分析此段程序可知,此程序是先对原始语音信号做时域波形分析和频谱分析,然后再对加噪的语音信号做时域波形分析和频谱分析。 首先通过MATLA

15、B中调用和回放语音信号命令来实现对原始语音信号的调用和回放,程序如下:y,fs,bits=wavread('C:UsersAdministratorDesktop数字信号处理课程设计1.wav');sound(y,fs) 由于在MATLAB中,如要实现两个信号的相加减,那么两个信号的长度和维度都要一样才能相加减。程序中:n=length(y) 用于计算信号的长度和选取变换的点数。然后用傅里叶变换到频域:y_p=fft(y,n);通过函数 f=fs*(0:n/2-1)/n;计算出对应点的频率,然后绘制出原始语音信号的时域波形和频谱图。图形如下:(图32)图32 原始语音信号采样后

16、时域波形和频谱图 上段程序中,函数noise是频率为3000Hz的正弦波信号噪音,语句y_z=y+noise实现了两个信号的相加,然后绘制加噪后的语音信号时域波形和频谱图并回放加噪后的语音信号。加噪后的时域波形和频谱图如下:(图33)图3-3 加噪语音信号时域波形和频谱图 如上所示,通过对加噪前和加噪后语音信号的图像的对比和对语音信号回放的人耳感知可以知道,加入正弦波信号后频谱图和时域波形并没有什么明显的变化,而人耳听到的声音也几乎没有什么变化。(2)随机噪音信号加入原始语音信号matlab函数randn:产生正态分布的随机数或矩阵的函数 产生均值为0,方差 2 = 1,标准差 = 1的正态分

17、布的随机数或矩阵的函数。用法: Y = randn(n) 返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y = randn(m,n) 或 Y = randn(m n) 返回一个m*n的随机项矩阵。Y = randn(m,n,p,.) 或 Y = randn(m n p.)产生随机数组。 Y = randn(size(A) 返回一个和A有同样维数大小的随机数组。 randn返回一个每次都变化的数量。下面一段程序实现了利用randn函数把一段随机噪音信号加入原始语音信号的信号处理过程:见附录2语句 L=length(y) noise=0.1*randn(L,2) y_z=y+no

18、ise;sound(y_z,fs)加噪后语音信号的时域波形、频谱图(图34)图3-4 加噪语音信号时域波形和频谱图通过对两张图片的对比,很明显可以看加噪后的语音信号时域波形比原始语音信号浑浊了许多,在时间轴上可以明显看出00.5S的幅值增大了;通过对原始语音信号的频谱图与加噪后的语音信号频谱图的对比,也可以看出在频率5000Hz以后的频率幅值发生了明显的增加。加噪后的语音信号在听觉上比原始语音信号要浑浊很多,而且还有吱吱嘎嘎的混杂音。四、去噪及仿真4.1 FIR滤波器法去噪通过对上一节中加噪语音信号和原始语音信号频谱图对比可以知道,噪音大部分是Hz大于5000的部分,故设计低通滤波器进行滤波处

19、理。接下来我们要用设计的FIR低通滤波器对上一节中加噪语音信号进行滤波处理。用自己设计的FIR数字低通滤波器对加噪的语音信号进行滤波时,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波。函数fftfilt用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列向量;M是有用户选择的输入序列的分段长度,缺省时,默认的输入向量的重长度M=512。用设计好的FIR数字低通滤波器对加噪语音信号的滤波程序:见附录3得到的图像如下:(图45)图4-1 FIR滤波前和滤波后波形及频谱分析:从以

20、上四图可以很明显和直观的看出原始语音信号和加噪语音信号时域波形和频谱图的区别。加噪后的语音信号的时域波形比原始语音信号要模糊得多,频谱图则是在频率5000Hz以后出现了明显的变化。再通过滤波前的信号波形和频谱图的对比,可以明显看出滤波后的波形开始变得清晰了,有点接近原始信号的波形图了。滤波后信号的频谱图也在5000Hz以后开始逐渐接近原始语音信号的频谱图。再从对语音信号的回放,人耳可以明显辨别出加噪后的语音信号比较浑浊,还有很明显嘎吱嘎吱的杂音在里面。滤波后,语音信号较加噪后的信号有了明显的改善,基本可以听清楚了,而且杂音也没有那么强烈,但是声音依然没有原始语音信号那么清晰脆耳。4.2 IIR

21、滤波器法去噪同样,也设计一个IIR低通滤波器对加噪语音信号进行内部处理。程序见附录4得到下面的图形:如(图4-6)图4-2 IIR滤波前和滤波后波形及频谱五、 数据分析IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。 (1)IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。FIR滤波器则要求较低。(2)IIR滤波器运算误差大,有可能出现极限环振荡,FIR相比之下运算误差较小

22、,不会出现极限环振荡。(3)IIR幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上; (4)与FIR滤波器的设计不同,IIR滤波器设计时的阶数不是由设计者指定,而是根据设计者输入的各个滤波器参数(截止频率、通带滤纹、阻带衰减等),由软件设计出满足这些参数的最低滤波器阶数。在MATLAB下设计不同类型IIR滤波器均有与之对应的函数用于阶数的选择。 (5)IIR单位响应为无限脉冲序列FIR单位响应为有限的 (6)FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。这是很好的性质。 (7)IIR滤波器有噪声反馈,而且噪声较

23、大,FIR滤波器噪声较小。FIR幅频特性精度较之于iir低,但是线性相位,就是不同频率分量的信号经过FIR滤波器后他们的时间差不变。这是很好的性质。六、总结语音信号处理是语音学与数字信号处理技术相结合的交叉学科,课题在这里不讨论语音学,而是将语音当做一种特殊的信号,即一种“复杂向量”来看待。也就是说,课题更多的还是体现了数字信号处理技术。从课题的中心来看,课题“基于MATLAB的有噪声语音信号处理”是希望将数字信号处理技术应用于某一实际领域,这里就是指对语音及加噪处理。作为存储于计算机中的语音信号,其本身就是离散化了的向量,我们只需将这些离散的量提取出来,就可以对其进行处理了。这一过程的实现,

24、用到了处理数字信号的强有力工具MATLAB。通过MATLAB里几个命令函数的调用,很轻易的在实际语音与数字信号的理论之间搭了一座桥。课题的特色在于它将语音信号看作一个向量,于是就把语音数字化了。那么,就可以完全利用数字信号处理的知识来解决语音及加噪处理问题。我们可以像给一般信号做频谱分析一样,来对语音信号做频谱分析,也可以较容易的用数字滤波器来对语音进行滤波处理。通过比较加噪前后,语音的频谱和语音回放,能明显的感觉到加入噪声后回放的声音与原始的语音信号有很大的不同,前者随较尖锐的干扰啸叫声。从含噪语音信号的频谱图中可以看出含噪声的语音信号频谱,在整个频域范围内分是布均匀。其实,这正是干扰所造成

25、的。通过滤波前后的对比,低通滤波后效果最好,高通滤波后的效果最差。由此可见,语音信号主要分布在低频段,而噪声主要分布在高频段。七、收获与体会本次课程设计选题及进行过程中得到符茂胜、金星老师等的悉心指导。对报告的书写格式及内容,老师多次帮助我分析思路,开拓视角。在我遇到困难的时候,老师给予我最大的支持和鼓励。指导老师严谨求实的治学态度,踏实坚韧的工作精神,值得我学习。在此,谨向符茂胜、金星老师等致以诚挚的谢意。同时还要感谢我的同学,尤其是我们同一课题的搭档,我们花费课很多的时间和精力。相互之间帮忙协作,上网搜索相关资料,到图书馆查阅相关文献,遇到难题,共同商讨。解决不了的问题,我们就像老师和其他

26、同学虚心请教。最终,我们一起解决了一个又一个难题,虽然,我们有过争吵,但是在真理面前,我们的行动是一致的。在二周的课程设计过程中, 学院的机房工作人员给我们提供的便利的条件,天气寒冷,实验室空调一直开放,我们觉得很温暖,在此,表达对工作人员的谢意。在遇到课题技术难题时,我和同组的同学到图书馆广泛查阅相关资料,图书馆也热情地老师帮助,在此,向他们表示致谢。当然,我们也要感谢信息工程学院,感谢他们给我们提供这次实习的机会。我院采取把理论知识与实践相结合教学模式,让学生的知识源于课堂而走出课堂,真正做到了“为了学生的一切,一切为了学生”。 最后,再次感谢所有帮助过我们的老师和同学!参考文献1楼顺天,

27、余卫.基于MATLAB的系统与设计控制系统M.西安.西安电子科技大学出版社.2云舟工作室.MATLAB教学建模基础教程M.北京:人民邮电出版社,2001,73高西全,丁玉美.数字信号处理(第三版).西安:西安电子科技大学出版社4张志涌,精通MATLAB6.5, 北京北航电子版,2002.125孙家广,杨长贵.,计算机图形学, 清华大学出版社,1995.56闫敬文,数字图像处理MATLAB版,国防工业出版社,2007.2 附录附录1y,fs,bits=wavread('C:UsersAdministratorDesktop数字信号处理课程设计1.wav');sound(y,fs)

28、n=length(y)y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(y);title('原始语音信号采样后时域波形');xlabel('时间轴')ylabel('幅值 A')subplot(2,1,2);plot(f,abs(y_p(1:n/2);title('原始语音信号采样后的频谱图');xlabel('频率Hz');ylabel('频率幅值');noise=1*sin(2*pi*3000*n);y_z=y+noise;so

29、und(y_z,fs)L=length(y_z);y_zp=fft(y_z,L);f=fs*(0:L/2-1)/L;figure(2)subplot(2,1,1);plot(y_z);title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值 A')subplot(2,1,2);plot(f,abs(y_zp(1:L/2);title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');附录2y,fs,bits=wavread('

30、C:UsersAdministratorDesktop数字信号处理课程设计1.wav');sound(y,fs)n=length(y)y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(y);title('原始语音信号采样后的时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(y_p(1:n/2);title('原始语音信号采样后的频谱图');xlabel('频率Hz');yl

31、abel('频率幅值');L=length(y)noise=0.1*randn(L,2);y_z=y+noise;sound(y_z,fs)n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(y_z);title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(y_zp(1:n/2);title('加噪语音信号频谱图');xlabel(&

32、#39;频率Hz');ylabel('频率幅值');附录3y,fs,bits=wavread(C:UsersAdministratorDesktop数字信号处理课程设计1.wav');sound(y,fs)n=length(y)y_p=fft(y,n);f=fs*(0:n/2-1)/n;figure(1)subplot(2,1,1);plot(y);title('原始语音信号采样后的时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2);plot(f,abs(y_p(1:n/

33、2);title('原始语音信号采样后的频谱图');xlabel('频率Hz');ylabel('频率幅值');L=length(y)noise=0.1*randn(L,2);y_z=y+noise;sound(y_z,fs)n=length(y);y_zp=fft(y_z,n);f=fs*(0:n/2-1)/n;figure(2)subplot(2,1,1);plot(y_z);title('加噪语音信号时域波形');xlabel('时间轴')ylabel('幅值A')subplot(2,1,2)

34、;plot(f,abs(y_zp(1:n/2);title('加噪语音信号频谱图');xlabel('频率Hz');ylabel('频率幅值');Ft=5000;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);b21=fir1(n21,wn21,Kaiser(n21+1,beta);h,w=freqz(b21,1);plot(w/pi,abs(h);ti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论