信号与系统课程设计报告概要
- 格式:doc
- 大小:369.65 KB
- 文档页数:21
0 信号与系统课程设计报告
《基于IIR的有噪声语音信号处理》
班 级:电子 121 班 姓 名:
成 绩: 指导教师: 日 期:2015年1月6日 1
目 录 1、摘要及关键字…………………………………………………………………2 2、 实验目的与具体任务…………………………………………………………3 3、MATLAB设计与运行结果及分析……………………………………………4 3.1 基于IIR滤波器的语音信号的处理…………………………………………4 3.1.1 语音信号的采集与播放 ………………………………………………4 3.1.2 语音信号的时域分析及频谱分析 ……………………………………5 3.2 加噪后的语音信号时域及频谱分析 ………………………………………6 3.3 用滤波器对加噪语音信号进行滤波 ………………………………………7 3.3.1 滤波器的设计 …………………………………………………………7 3.3.2 滤波后的时域及频谱分析……………………………………………10 3.3.3 比较滤波前后的语音信号的频谱波形………………………………12 3.3.4 IIR滤波器的处理结果的分析…………………………………………12 3.4 设计的GUI界面……………………………………………………………14 3.5 流程图………………………………………………………………………15 4、LABVIEW仿真及结果分析…………………………………………………16 4.1 LABVIWE的仿真 ………………………………………………………16 4.1.1 LABVIEW仿真程序框图 ……………………………………………16 4.1.2 LABVIEW仿真前面板 ………………………………………………17 4.2 LABVIEW结果分析 ……………………………………………………17 5、实验总结 ……………………………………………………………………19 6、参考文献 ……………………………………………………………………20 2
1、摘要及关键字 摘要 本课题基于MATLAB有噪音语音信号处理的设计与实现,综合运用数字信号处理的理论知识对加噪声语音信号进行时域、频域分析和滤波。通过理论推导得出相应结论,再利用 MATLAB 作为编程工具进行计算机实现。在设计实现的过程中,用巴特沃斯、切比雪夫和双线性变法设计IIR数字滤波器,在设计IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。并利用MATLAB 作为辅助工具完成设计中的计算与图形的绘制。然后再利用LABVIEW软件进行相应的实体仿真,通过对对所设计滤波器的仿真和频率特性分析,可知利用MATLAB以及LABVIEW可以有效快捷地设计IIR数字滤波器,最终实验结果的各项性能指标均达到指定要求。 ABSTRACT This topic noisy speech signal processing based on MATLAB, the design and implementation of the integrated use of theoretical knowledge of digital signal processing to add noise speech signal in time domain, frequency domain analysis and filtering. Corresponding conclusions through theoretical derivation, using MATLAB as a programming tool for computer implementation. In the process of design implementation, using butterworth, chebyshev, and bilinear reform IIR digital filter design, in the design of IIR digital filter, we first write in the formula of analog filter based on index, and then through a certain transformation, converts analog filter formula into digital filter formula. And by using the MATLAB as an auxiliary tool to complete the design of computing and graphics drawing. Then using the LABVIEW software corresponding physical simulation, through a simulation for the designed filter and frequency characteristic analysis, using MATLAB and LABVIEW can quickly and effectively IIR digital filter design, finally the experimental results of various performance indicators are to meet the specified requirements.
关键字:语音信号、加噪处理、IIR滤波器、MATLAB、LABVIEW 3
2、实验目的及具体任务 实验目的 本设计课题主要研究数字语音信号的初步分析方法、IIR数字滤波器的设计及应用。本设计研究的主要内容是先进行语音信号的采集,然后对语音信号进行频谱分析,再利用IIR两种滤波器对语音信号进行过滤和频谱分析,画出滤波之后的频谱图与时域波形,并对信号滤波前后进行分析比较,分析信号的变化,得出几种滤波器的滤波性能。通过完成本课题的设计,主要达到以下几个目的: (1)掌握Matlab软件的特点和使用方法。 (2)掌握对信号和系统的时域、频域特性进行分析的方法。 (3)掌握IIR数字滤波器的设计方法及应用。 (4)了解语音信号的特性及分析方法。 (5)了解LabVIEW虚拟仪器的特点以及采用LabVIEW进行仿真的方法。 (6)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。 实验具体任务 选择一个语音信号或录制一段语音信号作为分析的对象,对其进行频谱分析;利用MATLAB产生正弦波噪声加入到语音信号中,模仿语音信号被干扰,并对其进行频谱分析;设计IIR数字滤波器, 并对被噪声干扰的语音信号进行滤波, 分析滤波后信号的时域和频域特征,最后回放语音信号。课题具体任务如下: (一)利用Matlab设计基于IIR滤波的数字语音信号处理系统。 其基本功能包括:利用GUI设计友好的图形用户界面,实现语音信号读取,时域波形显示,频谱分析,设计IIR数字滤波器(巴特沃斯、切比雪夫、椭圆滤波器任选)实现噪声滤除。具体任务如下: (1)对语音信号进行采集(读取),对数字语音信号加入干扰噪声,画出原始信号及带噪信号的时域波形,利用FFT进行频域分析,画出相应波形,并对语音进行播放。 (3)分析语音信号频谱及噪声频率,根据实际情况设计IIR数字滤波器实现噪声的滤除。 (4)分析、对比噪声滤除前后的语音时域、频域特性,并对噪声滤除前后语音进行播放。 (5)利用GUI设计图形用户界面(包含以上功能)。 (二)利用LabVIEW进行仿真设计。 4
实现简单数字语音信号处理系统的功能,要求给出系统的前面板和框图,并记录仿真结果。 3、MATLAB设计与运行结果及分析 3.1 基于滤波器的语音信号的处理 3.1.1语音信号的采集与播放 本实验选择已有的语音信号ai2.wav作为分析对象对其进行原始语音信号的采集与分析以及加噪后频谱分析,利用MATLAB中的“wavread”命令来读入(采集)语音信号,利用Wavread 函数的调用格式为y=wavread(file)读取file所规定的wav文件,返回采样值放在向量y中。然后画出语音信号的时域波形,再对语音信号进行频谱分析。 在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。 源程序: H={'*.wav'};
[filename,pathname]=uigetfile(H,'请选择打开信号'); file=strcat(pathname,filename); y=wavread(file);
plot(y);title('原信号时域波形'); 播放原始语音信号源程序: fs=16000; sound (y,fs);
3.1.2原始信号时域分析及频谱分析 所得原始语音信号的时域波形如图3-1 5
图 3-1 原始语音信号频谱分析 X=fft(y); N=length(y); k=0:N-1;
plot(k,abs(X));title('原始语音信号频谱图') 波形如图3-2
图3-2 6
3.2 加噪后的语音信号的播放,时域及频谱分析 播放加噪声后的语音信号: sound(s,16000); 加噪声后的信号时域分析 N=length(y); t=0:N-1; d=[0.05*cos(0.03*t)]'; s=y+d;
plot(s,'r');title('加噪后信号时域图'); 波形如下图3-3
图3-3 加噪声后的信号频谱分析 N=length(y); t=0:N-1; d=[0.05*cos(3*t)]'; s=y+d; S=fft(s);