太原理工大学matlab课程设计二MATLAB用于语音信号的处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计二MATLAB用于语音信号的处理
一、设计目的
通过该设计,要求对用于信号的采集、处理、传输、显示和存储等有一个系统的掌握和理解。理解信号抽样频率的概念,掌握对语言信号进行时域和频域分析方法,了解滤波器的概念及原理。
二.设计及主要MA TlAB函数
1.语音信号的采集
利用wingdows下的录音机,录制一段自己的话音,时间在1s内。然后在MA Tlab软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数。理解采样频率、采样位数等概念。
Matlab函数:wavread功能对语音信号进行采样。Wavread函数的格式为:
Y=wavread(filename.wav,[n1,n2]),返回文件中语音信号从n1到n2之间的样本。
2.语音信号的频谱分析
要求首先画出语音信号的时域波形;然后对语音信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。
Matlab函数,fft功能是实现快速傅立叶变换,fft函数的格式为:
Y=fft(x),返回向量x的不连续fourier变换。
3.设计数字滤波器
低通滤波器的性能指标:
Fb=1000Hz,fc=1200Hz,Rs=100db,Rb=1db。
MATLAB函数:ellipord功能是求低通滤波器的参数,ellipord函数的格式为:[N,Wn]=ellipord (Wp,Ws,Rp,Rs)。返回设计滤波器的阶数和截止频率。
Ellip功能是设计IIR滤波器,ellip函数的格式为:
[b,a]=ellip(n,Rp,Rs,Wn).返回设计的低通滤波器的参数。
4.用滤波器对信号进行滤波
要求用设计的滤波器对采集的语音信号进行滤波。
MATLAB函数:filter功能对信号进行滤波,filter函数的格式为:y=filter(b,a,x),由给定的滤波器对x进行滤波
5.回放语音信号
对滤波前后的语音信号进行回放,对比滤波前后声音的变化。
MATlab函数:sound转化向量为音符的发声指令。
Sound(y,fs),把以采样频率fs的语音信号y以发声的形式播放
二、设计报告要求
1.按题目要求进行设计,写出设计报告,给出源程序
2.画出采样后语音信号的时域波形和频谱图
3.画出滤波器的频率响应。
4.画出滤波后信号的时域波形和频谱。
程序录入
y=wavread('123.wav');y=y(:,1);sound(y);
>> Wp=0.5;Ws=0.8;Rs=100,Rp=1;
>> [N,Wn]=ellipord(Wp,Ws,Rp,Rs);
>> [b,a]=ellip(N,Rp,Rs,Wn);
>> [h,f]=freqz(b,a,256,1000);
>> x=filter(b,a,y);
>> x1=fft(x);
>> subplot(121);plot(x)
>> subplot(122);plot(abs(x1))
>> figure;subplot(121);plot(abs(h));
>> subplot(122);plot(f,angle(h));sound(x)
采样的时域波形图采样的时域频谱图滤波后时域波形图滤波后时域频谱图