《数字信号处理》课程设计-语音信号的处理与滤波.docx
《《数字信号处理》课程设计-语音信号的处理与滤波.docx》由会员分享,可在线阅读,更多相关《《数字信号处理》课程设计-语音信号的处理与滤波.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录摘要3一、课程设计目的:3二、课程设计内容:3三、基本步骤:3四、滤波流程图5五、具体内容与实现步骤:61. 录制、存储、回放声音信号62. 分别取 8000 个和 16000 个数据进行频谱分析73. 对声音进行滤波9六、学习心得15摘要:本次课程设计主要是利用 MATLAB 工具对歌曲语音进行录制, 然后设计IIR 滤波器,并通过所设计的滤波器进行语音信号滤波以及分析等,对以前所学的知识信号与线性系统、MATLAB7.0进行一个系统的归纳和进一步理解,并且在实际应用操作当中体会数字信号处理这门课程的相关知识。一、课程设计目的:综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论
2、推导得出相应结论,并利用 MATLAB 作为工具进行实现,从而复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,并从实践上初步实现对数字信号的处理。二、课程设计内容:1. 熟悉并掌握 MATLAB 中有关声音(wave)录制、播放、存储和读取的函数。2. 在 MATLAB 环境中,使用声音相关函数录制 2 秒左右自己的声音,抽样率是 8000Hz/s。(考虑如何解决一个实际问题:录制刚开始时,常会出现实际发出声音落后录制动作半拍的现象,如何排除对这些无效点的采样?)3. 分别取 8000 个和 16000 个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因。4. 针对电话信道
3、(最高 3500Hz),设计一个 FIR 或 IIR 滤波器进行滤波,把抽样率转变为 7000Hz/s,并进行频谱分析,得到幅度和相位谱。5把处理后的所有数据储存为声音文件,与原始声音进行比较。三、基本步骤:1 语音信号的采集熟悉并掌握 MATLAB 中有关声音(wave)录制、播放、存储和读取的函数, 在 MATLAB 环境中,使用声音相关函数录制 3 秒左右自己的声音。(考虑如何解决一个实际问题:录制刚开始时,常会出现实际发出声音落后录制动作半拍的现象, 如何排除对这些无效点的采样?)2. 语音信号的频谱分析要求首先画出语音信号的时域波形;然后对语音号进行快速傅里叶变换,得到信号的频谱特性
4、,从而加深对频谱特性的理解。3. 设计数字滤波器并画出其频率响应给出各滤波器的性能指标:(1) 低通滤波器性能指标:f 1000 Hz,f 1200 Hz,A 100dB,A 1dB。bcsp(2) 高通滤波器性能指标:f 4800 Hz,f 5000 Hz A 100dB,A 1dB。c(3) 带通滤波器性能指标:fp13200Hz,A 100dB,A 1dB。b1200 Hz,fp2s3000 Hz,fsc1p1000 Hz,fsc2sp要求用窗函数法和双线性变换法设计上面要求的 3 种滤波器。在 Matlab 中, 使用函数 butter,cheby1 等函数设计 IIR 滤波器;利用M
5、atlab 中的函数 freqz 画出各滤波器的频率响应。4. 用滤波器对信号进行滤波要求用自己设计的各种滤波器分别对采集的信号进行滤波,在 Matlab 中, FIR 滤波器利用函数 fftfilt 对信号进行滤波,IIR 滤波器利用函数 filter 对信号进行滤波。5. 比较滤波前后语音信号的波形及频谱要求在一个窗口同时画出滤波前后的波形及频谱。6. 回放语音信号在 Matlab 中,使用相关声音函数对声音进行回放。辨别滤波前后的声音有何变化。四、滤波(低通、带通、高通)流程图如下:矗由信号频率及所要取 得的信号频率确定滤波器技术指标由技术指标确定滤波器类型观察滤波后的信号频谱图(与滤波
6、嘈前频谱图对比,播放滤波后语音) 画出信号频谱图并对信号滤波设计 IIR 滤波器五、具体内容与实现步骤:(1) 录制、存储、回放声音信号(韩红-青藏高原)。代 码 如 下 : fs=8000;%采样频率t=5;%录音时间fprintf(5 秒钟录音中); x=wavrecord(t*fs, fs,double);%wavrecord 为声音采集函数,开始录制声音wavwrite(x,fs,F:shengyinyin.wav);%存放所录声音fprintf(n 录 音 结 束 n); y=wavread(F:shengyinyin.wav);%读取此前声音信号路径sound(y);%播放声音信号
7、y1=wavread(F:shengyinyin.wav,1 40000); %读取声音文件subplot(2,1,1);plot(y1);title(原始声音信号时域图形); xlabel(时间);ylabel(幅值); grid;y2=wavread(F:shengyinyin.wav,5000 30000); %读取声音文件subplot(2,1,2);plot(y2);title(截取后的有效声音信号时域图形); xlabel(时间);ylabel(幅值); grid;录制刚开始时,出现一些幅值比较小的点,后面也出现一些。出现这种现象的原因主要是录音开始时,未播放声音所致,出现了一些无
8、效点,而后面出现的无效的点,主要是已经没有声音了,但如果我们一直播放声音再开始录音就不会出现这类情况。我们首先要想办法要去掉这些无效点(2) 分别取 8000 个和 16000 个数据进行频谱分析,得到幅度和相位谱,比较二者异同并分析原因。代码如下:y=wavread(F:shengyinyin.wav); %读取声音文件d=fft(y,8000);%快速傅里叶变换%对语音信号做 8000 点的 FFT 变换,FFT 是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。k=0:7999;wk=2*k/8000;
9、%关于的归一化figure();%窗口图subplot(2,2,1); plot(wk,abs(d);%绘制幅频特性图axis(0 1 0 100);%关于 xy 轴的取值xlabel( / );%关于 x 轴的标注ylabel(幅度谱);%关于 y 轴的标注title(取 8000 个数据进行频谱分析);%备注标题grid;%打网格subplot(2,2,2);plot(wk,angle(d);%绘制相频特性图xlabel( / );%关于 x 轴的标注ylabel(相位谱);%关于 y 轴的标注axis(0 1 -4 4);%关于 xy 轴的取值title(取 8000 个数据进行频谱分析
10、);%备注标题grid;%打网格y=wavread(F:shengyinyin.wav );% 读取声音文件d=fft(y,16000); k=0:15999;wk=2*k/16000;%关于 的归一化subplot(2,2,3); plot(wk,abs(d); %绘制幅频特性图axis(0 1 0 200); ;%关于 xy 轴的取值xlabel( / ); %关于 x 轴的标注ylabel(幅度谱);%关于 y 轴的标注title(取 16000 个数据进行频谱分析);%备注标题grid;%打网格subplot(2,2,4);plot(wk,angle(d); %绘制相频特性图xlabe
11、l( / );%关于 x 轴的标注ylabel(相位谱);%关于 y 轴的标注axis(0 1 -4 4); ;%关于 xy 轴的取值title(取 16000 个数据进行频谱分析);%备注标题grid%打网格取 8000 点进行频谱分析和取 16000 点进行频谱分析所得的幅度谱和相位谱的图形基本上是相同的;不同之处是 8000 点图形线比 16000 点的图形线梳。(3) IR 滤波器进行滤波,把抽样率为 fs=7000Hz/s,并进行频谱分析,得到幅度和相位谱。低通滤波器: 代码如下:fs=7000;%采样频率y=wavread(F:shengyinyin.wav ); % 读取声音文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号处理 数字信号 处理 课程设计 语音 信号 滤波
限制150内