信号与线性系统课程设计报告分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与线性系统课程设计
报告
课题五基于FIR滤波的语音信号处理系统设计
班级:
姓名:
学号:
组号及同组人:
成绩:
指导教师:
日期:
课题五基于FIR滤波的语音信号处理系统设计
摘要:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB 可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4)功能丰富的应用工具箱,为用户提供了大量方便实用的处理工具。
关键词:GUI界面,信号采集,内插恢复,重采样,滤波器
一、课程设计目的及意义
本设计课题主要研究数字语音信号的初步分析方法、FIR数字滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的:
(1)熟悉Matlab软件的特点和使用方法。
(2)熟悉LabVIEW虚拟仪器的特点以及采用LabVIEW进行仿真的方法。
(3)掌握信号和系统时域、频域特性分析方法。
(4)掌握FIR数字滤波器的设计方法(窗函数设计法、频率采样设计法)及应用。
(5)了解语音信号的特性及分析方法。
(6)通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。
二、课题任务
(一)简单数字语音信号处理系统的Matlab设计。
使用GUI进行系统的图形用户界面设计,在该界面中包括对语音信号的读取,对信号的时域,频域分析,添加噪声,设计FIR数字滤波器(利用窗函数设计法、频率采样设计法任选)实现噪声滤除。具体任务如下:
(1)对语音信号进行采集(读取),对数字语音信号加入干扰噪声,画出原始信号及带噪信号的时域波形,利用FFT进行频域分析,画出相应波形,并对语音进行播放。
(3)根据对语音信号及噪声的实际情况分析,选择适当的FIR数字滤波器进行设计,并对噪声进行滤除。
(4)分析、对比噪声滤除前后的语音时域、频域特性,并对噪声滤除前后语音进行播放比较。
(5)利用GUI设计图形用户界面(包含以上功能)。
(二)利用LabVIEW进行仿真设计。
实现简单数字语音信号处理系统的功能,要求给出系统的前面板和框图,并记录仿真结果。
(三)数字语音信号的参数计算(选作)。
对语音信号的短时能量,短时平均过零率等参数进行计算。
(四)整理数据,撰写设计报告。
三、主要设备和软件
1.PC机,一台
2.Matlab6.5以上版本,一套
3. LabVIEW 7.0以上版本软件,一套
四、设计原理
1设计GUI界面
2.信号采集
程序代码:
global x, global fs, global nbits
[x,fs,nbits]=wavread('C:\Users\lenovo\Desktop\语音信号\chi1.wav'); sound(x,fs,nbits); %回放语音信号
N=length(x)-1;
figure (101);
plot(x);
title('原始信号时域波形');
figure(102);
freqz(x) %绘制原始语音信号采样后的频率响应图
title('原始语音信号采样后频率响应图');
3.内插恢复
global x, global fs, global nbits
[x,fs,nbits]=wavread('C:\Users\lenovo\Desktop\语音信号\chi1.wav'); a=0:length(x)-1;%产生一个与x长度相等的向量,元素是0到x的长度-1 b=0:0.5:(2*(length(x))-1)/2;
y=interp1(a,x,b);
sound(y,16000,nbits);
figure(201)
plot(y);
title('原信号内插恢复');
4. 采样频率
global y1,global y2,global y3,global x, global fs, global nbits N=length(x)-1
i=1:2:N;
y1=x(i);
sound(y1,8000,nbits);
figure(301);
plot(y1);
title('采样频率8000HZ语音信号时域图');
figure(302);
freqz(y1);%求系统的频率响应
title('采样频率8000HZ语音信号频率响应图'); i=1:4:N;
y2=x(i);
sound(y2,4000,nbits);
figure(303);
plot(y2);
title('采样频率4000HZ语音信号时域图'); figure(304);
freqz(y2);
title('采样频率4000HZ语音信号频率响应图'); i=1:8:N;
y3=x(i);
sound(y3,2000,nbits);
figure(305);
plot(y3);
title('采样频率2000HZ语音信号时域图'); figure(306);
freqz(y3);
title('采样频率2000HZ语音信号频率响应图');