基于MATLAB的语音信号分析与处理系统的设计

上传人:206****923 文档编号:43514745 上传时间:2018-06-06 格式:DOCX 页数:14 大小:1.06MB
返回 下载 相关 举报
基于MATLAB的语音信号分析与处理系统的设计_第1页
第1页 / 共14页
基于MATLAB的语音信号分析与处理系统的设计_第2页
第2页 / 共14页
基于MATLAB的语音信号分析与处理系统的设计_第3页
第3页 / 共14页
基于MATLAB的语音信号分析与处理系统的设计_第4页
第4页 / 共14页
基于MATLAB的语音信号分析与处理系统的设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于MATLAB的语音信号分析与处理系统的设计》由会员分享,可在线阅读,更多相关《基于MATLAB的语音信号分析与处理系统的设计(14页珍藏版)》请在金锄头文库上搜索。

1、数字信号处理大作业数字信号处理大作业基于基于 MATLABMATLAB 的语音信号分析与处理系统的设计的语音信号分析与处理系统的设计班级:物联网 1401学号:姓名:zk基于 MATLAB 的语音信号分析与处理系统的设计2目录一、设计目的.3二、设计内容及要求.32.1 设计内容.32.2 设计要求.3三、详细设计过程.43.1 语音信号的采集.43.2 原始语音信号的时域频域分析.43.3 原始语音信号加噪.53.4 设计滤波器.63.5 MATLAB 语音信号处理界面设计.83.6 利用 C 语言得出声音带宽 .11四、调试结果.12五、结论.12参考文献.13基于 MATLAB 的语音信

2、号分析与处理系统的设计3一、设计目的一、设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用 MATLAB 和 C 语言 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。二、设计内容及要求二、设计内容及要求2.1 设计内容设计内容录制一段自己的语音信号(我是物联网 1401 班的张坤) ,并对录制的信号进行采样。画出采样后语音信号的时域波形和频谱图。给定滤波器的性能指标,采用窗函数法或双线性变换设计滤波器,并画出滤波器的频率响应。利用设计的滤波器对采集的语音信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析

3、信号的变化,回放语音信号。用 MATLAB 设计一信号处理系统界面。 利用 C 语言对录制语音信号进行 FFT 变换(取其中的 1024 进行) ,计算出自己声带的带宽。2.2 设计要求设计要求 学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法。 掌握在 Windows 环境下语音信号采集的方法。 掌握数字信号处理的基本概念、基本理论和基本方法。 掌握 MATLAB 设计 FIR 和 IIR 数字滤波器的方法。 学会用 MATLAB 对信号进行分析和处理。 学会用 C 语言进行 FFT 程序的编写和算法效果的仿真。基于 MATLAB 的语音信号分析与处理系统的设计4三、详细设计过

4、程三、详细设计过程3.1 语音信号的采集语音信号的采集利用 PC 机上的声卡和 Windows 操作系统实现语音信号的的采集。打开“开始”菜单,选择“程序附件娱乐录音机”项,打开 Windows 中自带的录音机程序,点击录音机程序界面中的录音按钮,开始声音录制。录完后点击放音按钮,可以实现所录音的重现。以文件名“zhangkun”保存入 D: 中。文件存储器的后缀默认为.wav ,这是 Windows 操作系统规定的声音文件存的标准。3.2 原始语音信号的时域频域分析原始语音信号的时域频域分析利用MATLAB中的“audioread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采

5、样,记住采样频率和采样点数。根据help文档,下面介绍audioread函数三种调用格式。(1)y,Fs = audioread(filename)从指定filename,文件中读取数据并返回采样数据, y和对于该数据,Fs的采样率。(2)y,Fs = audioread(filename,samples)。读取所选的范围的音频采样在文件中,samples在哪里一个向量形式start,finish。(3)y,Fs = audioread(_,dataType)返回采样数据在数据范围对应dataType的native或double,及可以在以前的语法中包含的任何输入参数。对zhangkun.wa

6、v进行采样,选用方式(1)。程序如下:Fs=16000;x,Fs=audioread(D:ai.wav);然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB 提供了快速傅里叶变换算法 FFT 计算 DFT 的函数 fft,其调用格式如下:y=fft(x,N);参数 xn 为被变换的时域序列向量,N 是 DFT 变换区间长度,当 N 大于 xn的长度时,fft 函数自动在 xn 后面补零。当 N 小于 xn 的长度时,fft 函数计算基于 MATLAB 的语音信号分析与处理系统的设计5xn 的前 N 个元素,忽略其后面的元素。在本次设计中,利用 fft 对语音信号进行快速傅里叶

7、变换,即可以得到信号的频谱特性。其程序如下:figure(1)subplot(2,1,1)plot(x,b);title(原始语音信号的时域波形) N=length(x);n=0:N-1;q=n*2pi/N;y=fft(x,N);subplot(2,1,2)plot(q/pi,abs(y),b);title(原始语音信号频谱分析) %sound(x,Fs)0123456105-0.200.20.4原始语音信号的时域波形00.511.522.530200400600800原始语音信号频谱分析图1 原始信号波形及频谱3.3 原始语音信号加噪原始语音信号加噪由于条件有限,找不到适当频率的噪声源,所以

8、采用白噪声。MATLAB 中产生高斯白噪声非常方便,直接用 randn 函数产生高斯分布序列。randn 函数有两种基本调用格式:randn(n)和 randn(m,n),前者产生 nn 服从标准高斯分布的随机数矩阵,后者产生 mn 的随机数矩阵。实际选用 randn(m,n)函数。基于 MATLAB 的语音信号分析与处理系统的设计6语音信号添加噪声及其频谱分析的主要程序如下:Noise=zeros(N,2);Noise=0.01*randn(N,2);Si=x+Noise;figure(2)subplot(2,1,1)plot(Si,b);title(原始语音信号加噪时域波形); sound

9、(Si);S=fft(Si);subplot(2,1,2)plot(q/pi,abs(S),b)title(原始语音信号加噪频谱分析); 程序结果如下图:0123456105-0.200.20.4原始语音信号加噪时域波形00.511.522.530200400600800原始语音信号加噪频谱分析图2 语音信号添加噪声及其频谱分析3.4 设计滤波器设计滤波器用窗函数法设计FIR滤波器的步骤如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、哈明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗基

10、于 MATLAB 的语音信号分析与处理系统的设计7函数。(2)构造希望逼近的频率响应函数。(3)计算h(n)。(4)加窗得到设计结果。MATLAB信号处理工具箱提供了两个函数进行FIR数字滤波器的设计,分别为fir1和fir2。可以用来设计具有标准频率响应的FIR数字滤波器。这里采用fir1函数设计kaiser凯塞窗低通滤波器,fir1调用格式如下:b=fir1(n,Wn,window);参数window用来制定所用的窗函数的类型,其长度为n+1。默认时自动认为window为汉宁窗。在这里window应为kaiser根据语音信号的特点给出低通滤波器的技术指标设计低通滤波器指标为:fp=700H

11、z,fs=800Hz,,Ap=1dB,As=30dB,采样频率=+ 2= 60416000Hz。滤波器程序如下:fp=700;fs=800;rs=40;wp=2*pi*fp/Fs;ws=2*pi*fs/Fs;Bt=ws-wp;alph=0.5842*(rs-21)0.4+0.07886*(rs-21);M=ceil(rs-8)/2.285/Bt);wc=(wp+ws)/2/pi;hn=fir1(M,wc,kaiser(M+1,alph);凯塞窗滤波器频率响应图如下:00.10.20.30.40.50.60.70.80.91 Normalized Frequency (rad/sample)-4

12、000-3000-2000-10000Phase (degrees)00.10.20.30.40.50.60.70.80.91 Normalized Frequency (rad/sample)-150-100-50050Magnitude (dB)图3 凯塞窗滤波器频率响应基于 MATLAB 的语音信号分析与处理系统的设计8滤波前后语音信号时域波形对比:0123456105-0.200.20.4滤波前的时域波形0123456105-0.2-0.100.10.2滤波后的时域波形图4 滤波前后语音信号时域波形对比滤波前后语音信号频谱图对比:0123456 频率1050200400600800幅值

13、滤波前的频谱0123456 频率1050200400600800幅值滤波后的频谱图5 滤波前后语音信号频谱图对比滤波前后声音回放结果发现噪声被滤除还原之前没有噪声污染的语音信号。3.5 MATLAB 语音信号处理界面设计语音信号处理界面设计MATLAB提供了强大的集成GUI开发环境,图形用户界面(graphical user interfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象基于 MATLAB 的语音信号分析与处理系统的设计9(objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化。在MATLAB中GUI是一中包含多种对象的图形窗

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号