课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计

上传人:pu****.1 文档编号:510428510 上传时间:2023-08-08 格式:DOC 页数:18 大小:1.69MB
返回 下载 相关 举报
课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计_第1页
第1页 / 共18页
课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计_第2页
第2页 / 共18页
课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计_第3页
第3页 / 共18页
课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计_第4页
第4页 / 共18页
课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计》由会员分享,可在线阅读,更多相关《课程设计论文基于MATLAB的语音信号录制采集和分析的程序设计(18页珍藏版)》请在金锄头文库上搜索。

1、摘要随着计算机和信息科学的飞速发展,数字信号处理逐渐发展成为一门独立的学科,成为信息科学的重要组成部分,在语音处理、雷达、图像处理、通信、生物医学工程等众多领域中得到广泛应用。 Matlab语言是一种广泛应用于工程计算及数值分析领域的新型高级语言,Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的喜爱。特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行语音信号分析、处理和设计。语音信号的抽样、频谱分析,滤波器的设计及语音信号的滤波,通过数字信号处理课程的理论知识的综合运用。从实践上初步实现对数字信号的处理。关键词: 语音处理 抽样 频谱分析 滤波器

2、目 录摘要I第一节 设计要求1第二节 设计方案1第二章 语音信号的采集及加噪2第一节 语音信号的录制2第二节 语音信号的时域分析3第三节 语音信号加噪和频谱分析5第三章 滤波器设计7第一节 FIR和IIR数字滤波器的选择7第二节 用FIR滤波器语音信号进行滤波9一 滤波器的程序设计9二 滤波前后信号比较10第三节 比较回放语音信号12第四章 心得体会13参考文献14第一章 课程设计方案提出第一节 设计要求要求录制一段自己的语音信号后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图;对所采集的信号加入干扰噪声,对加入噪声进行播放,并进行时域和频谱分析;对比及早前后

3、的时域图和频谱图,分析讨论采用什么的滤波器进行滤除噪声。第二节 设计方案Windows自带的录音机声音麦克风声卡滤波采样A/D转换 Wav 图1.1 语音信号录制流程图首先,录制一段语音信号(如图1.1);然后,利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析;随后,利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。最后;再依据实际情况对它进行滤波。对于波形图与频谱图(包括滤波前后的对比图)都可以用 MATLAB画出。我们还可以通过sou

4、nd命令来对语音信号进行回放,以便在听觉上来感受声音的变化。第二章 语音信号的采集及加噪第一节 语音信号的录制利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度,点击放音按钮,可以实现所录音的重现。以文件名“shijiebei”保存入D: MATLAB work 中。文件存储器的后缀默认为. wav ,这是WINDOWS 操作系统规定的声音文件存的标准。具体操作如下:a.打开 开始/程序/附件/娱乐/录音机(如图3.1); 图3.1 b.用

5、windows media player播放一首音乐并用MIC对着耳机录音或自已说话录音(按键),到10秒时停止(按键)(如图3.1); 图3.2 图3.3 c.将录制文件加存为D:/MATLAB7/work中,文件名为shijiebei.wav(如图3.2、图3.3和图3.4); 图3.4 第二节 语音信号的时域分析在MATLAB软件平台下,利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。通过使用wavread函数,可以深入理解采样频率、采样位数等概念,下面介绍Wavread 函数几种调用格式。(1)y=wavre

6、ad(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中。接下来,对语音信号shijiebei.wav进行采样。其采样程序如下: y,fs,nbits=wavered (E:shejishijiebei);即把语音信号加载入Matlab 仿真软件平台中。然后,画出语音信号的时域波形,再对语音

7、信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式如下:Xk=fft(xn,N)参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下:y,fs,nbits=wavread ( E:shejishijiebei);sound(y,fs,nbits); %回放语音信号N= length (y) ; %求出语音信号的长度Y=fft(y,

8、N); %傅里叶变换subplot(2,1,1);plot(y);title(原始信号波形);subplot(2,1,2);plot(abs(Y);title(原始信号频谱)程序运行结果如下图:图3.5 原始信号波形及频谱第三节 语音信号加噪和频谱分析MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数 。我们可以直接应用两个函数:一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。也可直接用randn函数产生高斯分布序列。在本次课程设计中,我们是利用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语

9、音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生nn服从标准高斯分布的随机数矩阵,后者产生mn的随机数矩阵。在这里,我们选用Randn(m,n)函数。语音信号添加噪声及其频谱分析的主要程序如下:y,fs,nbits=wavread ( E:shejishijiebei);N = length (y) ; %求出语音信号的长度Noise=0.01*randn(n,2); %随机函数产生噪声Si=y+Noise; %语音信号加入噪声 sound(Si);subplot(2,1,1);plot(Si);title(加噪语音信号的时域波形

10、);S=fft(Si); %傅里叶变换subplot(2,1,2);plot(abs(S); title(加噪语音信号的频域波形);程序运行结果如下图:图3.6 加噪后的波形及频谱分析第三章 滤波器设计第一节 FIR和IIR数字滤波器的选择IIR滤波器和FIR滤波器的设计方法完全不同。IIR滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。FIR滤波器必须采用间接法,常用的方法有窗函数法、频率采样发和切比雪夫等波纹逼近法。对于线性相位滤波器,经常采用FIR

11、滤波器。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在极点处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。FIR数字滤波器是有限的单位响应也有利

12、于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。 FIR滤波器因具有系统稳定,易实现相位控制,允许设计多通带(或多阻带)滤波器等优点收到人们的青睐。IIR滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。下面我们着重介绍

13、用窗函数法设计FIR滤波器的步骤。如下:(1)根据对阻带衰减及过渡带的指标要求,选择串窗数类型(矩形窗、三角窗、汉宁窗、汉明窗、凯塞窗等),并估计窗口长度N。先按照阻带衰减选择窗函数类型。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。(2)构造希望逼近的频率响应函数。(3)计算h(n).。(4)加窗得到设计结果。接下来,我们根据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz,As=100dB,Ap=1dB;带通滤波器的性能指标:fp1

14、=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB在Matlab中,可以利用函数fir1设计FIR滤波器,利用函数butter,cheby1和ellip设计IIR滤波器,利用Matlab中的函数freqz画出各步步器的频率响应。hn=fir1(M,wc,window),可以指定窗函数向量window。如果缺省window参数,则fir1默认为哈明窗。其中可选的窗函数有Rectangular Barlrtt Hamming Hann Blackman窗,其相应的都有实现函数。函数butter,cheby1和ellip设计IIR滤波器时都是默认的双线性变换法,所以在设计滤波器时只需要代入相应的实现函数即可第二节 用FIR滤波器语音信号进行滤波一 滤波器的程序设计由频谱图可以看出信号能量集中在低频部分,为了减少无用的高频分量我设计了以下的FIR低通滤波器将其滤除。该设计采用窗函数法(汉明窗)来完成以下指标的低通滤波器。通带截频fp=3000Hz,阻带截频fs=3500Hz,通带最大衰减0.3dB,阻带最小衰减50dB,采样频率fs为信号源采样频率22050Hz。源程序如下:Wp=3000*2*pi;Ws=3500*2*pi;Ap=0.3;As=50;fs=22050;wp=Wp/fs;ws=Ws/fs; %归一化通带截频,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

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