第一篇:课题六语音信号分析系统设计任务书(80人)
课题六语音信号分析系统设计
一、本课题的目的本设计课题主要研究语音信号初步分析的软件实现方法、滤波器的设计及应用。通过完成本课题的设计,拟主要达到以下几个目的:
1.了解Matlab软件的特点和使用方法。
2.掌握利用Matlab分析信号和系统的时域、频域特性的方法;
3.掌握数字滤波器的设计方法及应用。
4.了解语音信号的特性及分析方法。
5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。
二、课题任务
设计一个简单的语音信号分析系统,实现对语音信号时域波形显示、进行频谱分析,利用滤波器滤除噪声、对语音信号的参数进行提取分析等功能。采用Matlab设计语言信号分析相关程序,并且利用GUI设计图形用户界面。具体任务是:
1.采集语音信号。
2.对原始语音信号加入干扰噪声,对原始语音信号及带噪语音信号进行时频域分析。
3.针对语音信号频谱及噪声频率,设计合适的数字滤波器滤除噪声。
4.对噪声滤除前后的语音进行时频域分析。
5.对语音信号进行重采样,回放并与原始信号进行比较。
6.对语音信号部分时域参数进行提取。
7.设计图形用户界面(包含以上功能)。
三、主要设备和软件
1.PC机,一台
2.Matlab6.5以上版本,一套
第二篇:《信号与系统》课程设计——语音信号的分析和处理
《信号与系统》课程设计——语音信号的分析和处理
【设计题目】基于时频域的分析方法对语音信号进行分析和处理 【设计目标】尝试对语音信号进行时频域分析和处理的基本方法 【设计工具】MATLAB 【设计原理】
通过MATLAB的函数wavread()可以读入一个.wav格式的音频文件,并将该文件保存到指定的数组中。例如下面的语句(更详细的命令介绍可以自己查阅MATLAB的帮助)中,将.wav读入后存放到矩阵y中。y = wavread('SpecialEnglish.wav');
对于单声道的音频文件,y只有一行,即一个向量;对于双声道的音频文件,y有两行,分别对应了两个声道的向量。我们这里仅对一个声道的音频进行分析和处理即可。注意:.wav文件的采样频率为44.1KHz,采样后的量化精度是16位,不过我们不用关心其量化精度,因为在MATLAB读入后,已将其转换成double型的浮点数表示。
在获得了对应音频文件的数组后,我们可以对其进行一些基本的分析和处理。可以包括:
1、对语音信号进行频域分析,找到语音信号的主要频谱成分所在的带宽,验证为何电话可以对语音信号采用8KHz的采样速率。
2、分析男声和女声的差别。我们知道男声和女声在频域上是有些差别的,一般大家都会认为女声有更多高频的成分,验证这种差别。同时,提出一种方法,能够对一段音频信号是男声信号、还是女声信号进行自动的判断。
3、语音与乐器音频的差别。比较语音信号与乐器音频信号的差别,尤其是在频域上的差别。
4、.wav文件的采样速率为44.1KHz,仍然远远高于我们通常说的语音信号需要的频谱宽度,例如在电话对语音信号的采样中,我们仅仅使用8KHz的采样速率。对读入的音频数据进行不同速率的降采样,使用wavplay()命令播放降采样后的序列,验证是否会对信号的质量产生影响。降采样的方法很简单,例如命令y = wavread('SpecialEnglish.wav');将语音文件读入后保存在向量y中,这时对应的采样频率为44.1KHz。使用y1 = y(1:2:length(y))命令,就可以将原序列y每隔1个采样后放入序列y1中,这时y1序列对应的采样频率即为22KHz。
5、自己下载获得一段中文语音信号(可以使用诸如“千千静听”等工具将.mp3文件转换成.wav文件),对中文语音与英文语音进行比较。以下对提供的语音信号进行说明:
SpecialEnglish.mp3:原始的语音信号,.mp3格式 Q2.wav:男声信号
Q3.wav、Q5.wav:女声信号
Q4.wav、Q6.wav:带有乐器伴奏的男声歌声信号 Q7.wav:音乐信号
【MATLAB参考命令】
绘图命令:plot、stem等 求频谱、频率响应:fft、freqz等 卷积、滤波:conv、deconv、filter等
声音文件读写:wavread、wavwrite、wavplay等
具体使用方法可以查阅MATLAB的帮助或者MATLAB参考书的基本使用。
第三篇:--基于MATLAB的语音信号的频谱分析
DSP课程设计
——基于MATLAB的声音信号频谱分析
1. 课程设计目的
综合运用数学信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。
2. 理解设计基本要求
1)熟悉离散信号和系统的时域特性。
2)熟悉线性卷积和相关的计算编程方法。
3)掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散信号、系统和系统的响应进行频域分析。4)学会MATLAB的使用,掌握MATLAB的程序设计方法。5)利用MATLAB对wav文件进行频谱分析。6)分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。
3. 课程设计内容
选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。
4. 课程设计实现步骤
(1)语音信号的获取
选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,[y,fs,bits]=wavread('Blip',[N1 N2]);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。[N1 N2]表示读取的值从N1点到N2点的值。
sound(y);用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。
下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。
在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。其中,N是离散傅里叶变换用的点数,是采样的时间,前面在读取 wav文件时得到了采样频率。
既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波。由于没有考虑相位和其他的频谱分量,所以波形和原来的波形相差甚大,但大体的频率是没有错的。
fs=25600;
%语音信号采样频率为25600 [x,fs,bits]=wavread('C:Documents and SettingsAdministrator桌面语音音频.wav');
sound(x,fs,bits);
%播放语音信号
y1=fft(x,4096);
%对信号做2048点FFT变换 f=fs*(0:2047)/4096;figure(1)magy1=abs(y1);angy1=angle(y1);subplot(3,1,1),plot(x);title('原始信号波形')subplot(3,1,2),plot(magy1);title('原始信号幅值')subplot(3,1,3),plot(angy1);title('原始信号相位')figure(2)freqz(x)
%绘制原始语音信号的频率响应图 title('频率响应图')figure(3)plot(f,abs(y1(1:2048)));title('原始语音信号频谱')xlabel('Hz');ylabel('fudu');
axis([0 4500 0 400])
(2)wav语音信号加噪声
在MATLAB软件平台下,给原始的语音信号叠加上噪声,噪声类型分为如下几种:(1)单频噪色(正弦干扰);(2)高斯随机噪声。绘出加噪声后的语音信号时域和频谱图,在视觉上与原始语音信号图形对比,也可通过Windows播放软件从听觉上进行对比,分析并体会含噪语音信号频谱和时域波形的改变。本实验采用正弦干扰。
clc;clear;fs=22050;
%语音信号采样频率为22050 [x,fs,bits]=wavread('C:Documents and SettingsAdministrator桌面语音音频.wav');%读取语音信号的数据,赋给变量x y1=fft(x,4096);
%对信号做4096点FFT变换 f=fs*(0:511)/4096;t=(0:length(x)-1)/22050;x1=[0.05*sin(2*pi*10000*t)]';x2=x+x1;sound(x2,fs,bits);figure(1)subplot(2,1,1)plot(x)
%做原始语音信号的时域图形 title('原语音信号时域图')subplot(2,1,2)plot(x2)
%做原始语音信号的时域图形 title('加高斯噪声后语音信号时域图')xlabel('time n');ylabel('fudu');y2=fft(x2,4096);figure(2)subplot(2,1,1)plot(abs(y1))title('原始语音信号频谱');xlabel('Hz');ylabel('fudu');subplot(2,1,2)plot(abs(y2))title('加噪语音信号频谱');xlabel('Hz');ylabel('fudu');axis([0 4500 0 300]);wavwrite(x2,fs,'C:Documents and SettingsAdministrator桌面语音加噪.wav');
(3)巴特沃斯低通滤波
对加入高斯随机噪声和正弦噪声的语音信号进行滤波。用双线性变换法设计了巴特沃斯数字低通IIR滤波器对两加噪语音信号进行滤波,并绘制了巴特沃斯低通滤波器的幅度图和两加噪语音信号滤波前后的时域图和频谱图。clear all;fb = 1000;fc = 1200;fs = 22050;wp=0.1*pi;ws=0.4*pi;Rp=1;Rs=15;Fs=22050;Ts=1/Fs;wp1=2/Ts*tan(wp/2);%将模拟指标转换成数字指标 ws1=2/Ts*tan(ws/2);[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%选择滤波器的最小阶数
[Z,P,K]=buttap(N);%创建butterworth模拟滤波器 [Bap,Aap]=zp2tf(Z,P,K);[b,a]=lp2lp(Bap,Aap,Wn);[bd,ad]=bilinear(b,a,Fs);%用双线性变换法实现模拟滤波器到数字滤波器的转换 [h,w]=freqz(bd,ad);figure(1)subplot(111);plot(w*fs/(2*pi),abs(h))grid;title('滤波器的性能分析');pause;figure(2)[x,fs,bits]=wavread('C:Documents and SettingsAdministrator桌面语音加噪.wav');n=length(x);f=fs*(0:(n/2-1))/n;X=fft(x);z=filter(bd,ad,x);subplot(211);plot(x);title('原始信号的波形');subplot(212);plot(z);title('滤波后信号的波形');pause;figure(3)sound(z,fs,bits);subplot(211);plot(f,abs(X(1:n/2)));title('原始信号的频谱');xlabel('Hz');Z=fft(z);subplot(212);plot(f,abs(Z(1:n/2)));title('滤波后的信号频谱');xlabel('Hz');wavwrite(z,fs,'C:Documents and SettingsAdministrator桌面语音巴滤.wav');
(4)汉明窗的FIR低通滤波
使用窗函数法,选用海明窗设计了数字FIR低通滤波器对加了正弦噪声的语音信号进行滤波,并绘制了滤波器滤波后的语音信号时域图和频谱图。%FIR滤波
fs=22050;[x,fs,bits]=wavread('C:Documents and SettingsAdministrator桌面语音加噪.wav');wp=0.25*pi;ws=0.3*pi;wdelta=ws-wp;N=ceil(6.6*pi/wdelta);%取整 t=0:(size(x)-1);wn=(0.2+0.3)*pi/2;b=fir1(N,wn/pi,hamming(N+1));%选择窗函数,并归一化截止频率 f1=fftfilt(b,x);figure(1)freqz(b,1,512)[h1,w1]=freqz(b,1);plot(w1*fs/(2*pi),20*log10(abs(h1)));figure(2)subplot(2,1,1)plot(t,x)title('滤波前的时域波形');subplot(2,1,2)plot(t,f1);title('滤波后的时域波形');sound(f1);%播放滤波后的语音信号 F0=fft(f1,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x,1024);subplot(2,1,1);plot(f,abs(y2(1:512)));%画出滤波前的频谱图 title('滤波前的频谱')xlabel('Hz');ylabel('fuzhi');subplot(2,1,2)F1=plot(f,abs(F0(1:512)));%画出滤波后的频谱图 title('滤波后的频谱')xlabel('Hz');ylabel('fuzhi');wavwrite(f1,fs,'C:Documents and SettingsAdministrator桌面语音F滤.wav');
5. 课程设计心得体会
本设计采用了高效快捷的开发工具——MATLAB,实现了语音信号的采集,对语音信号加噪声及设计滤波器滤除噪声的一系列工作。从频率响应图中可以看出:巴特沃斯滤波器具有单调下降的幅频特性,通带内是平滑的。海明窗设计的FIR滤波器的频率特性几乎在任何频带上都比巴特沃斯滤波器的频率特性好,过渡带也比较小,只是海明窗设计的滤波器下降斜度较小对语言的过渡失真进行了补偿。
我们小组初步完成了设计任务,由于个人能力有限以及团队合作不够默契等诸多问题,还存在许多不足的地方,比如滤波器的设计种类还比较单一,没有做更多的滤波效果比较等。在以后的工作和学习中会更加努力来完善设计任务。
参考文献
[1]周辉,董正宏,数字信号处理及MATLAB实现,北京希望出版社,2006 [2]王树勋.数字信号处理处理基础及试验.北京:机械工业出版社,1992 [3]井上伸雄.数字信号处理的应用.北京:科学出版社,1991 [4]郑君里,杨为理.信号与系统(第二版),高等教育出版社,1981
第四篇:课题二心电信号分析系统的设计任务书--MATLAB(40人)
课题二 心电信号分析系统的设计(MATLAB)
一、本课题的目的本设计课题主要研究数字心电信号的初步分析方法及滤波器的应用。通过完成本课题的设计,拟主要达到以下几个目的:
1.了解MATLAB软件的特点和使用方法,熟悉基于Simulink的动态建模和仿真的步骤和过程;
2.了解人体心电信号的时域特征和频谱特征;
3.进一步了解数字信号的分析方法;
4.通过设计具体的滤波器进一步加深对滤波器的理解;
5.通过本课题的设计,培养学生运用所学知识分析和解决实际问题的能力。
二、课题任务
设计一个简单的心电信号分析系统。其基本功能包括:输入原始心电信号,对其做一定的数字信号处理,进行时域显示、分析及频谱分析。采用Matlab语言设计相关程序,要求分别采用两种方式进行仿真,即直接采用Matlab语言编程的静态系统仿真方式、采用Simulink进行动态建模仿真的方式。根据心电信号的具体特性参数设计系统各功能模块的源程序,进行调试。
1.对原始数字心电信号进行读取,由数字信号数据绘制出其时域波形并加以分析。
2.对数字信号数据做一次线性插值,使其成为均匀数字信号,以便后面的信号分析。
3.根据心电信号的频域特征(自己查阅相关资料),设计相应的低通、高通、带通滤波器。
4.编程绘制进行信号处理前后的频谱,做频谱分析,得出相关结论。
5.对系统功能进行综合测试,整理数据,撰写设计报告。
三、主要设备和软件
1.PC机一台。
2.MATLAB6.5以上版本,一套。
第五篇:实验二语音信号分析与处理2010
实验一语音信号分析与处理
学号姓名注:1)此次实验作为《数字信号处理》课程实验成绩的重要依据,请同学们认真、独立完成,不得抄袭。
2)请在授课教师规定的时间内完成;
3)完成作业后,请以word格式保存,文件名为:学号+姓名
4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。
1.实验目的(1)学会MATLAB的使用,掌握MATLAB的程序设计方法
(2)掌握在windows环境下语音信号采集的方法
(3)掌握MATLAB设计FIR和IIR滤波器的方法及应用
(4)学会用MATLAB对语音信号的分析与处理方法
2.实验内容
录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR滤波器和窗函数法设计出FIR滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。
3.实验步骤
1)语音信号的采集与回放
利用windous下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav格式保存,如wql.wav),时间控制再2秒之内,利用MATLAB提供的函数wavread对语音信号进行采样,提供sound函数对语音信号进行回放。
[y,fs,nbits]=wavread(file),采样值放在向量y中,fs表示采样频率nbits表示采样位数。Wavread的更多用法请使用help命令自行查询。
2)语音信号的频谱分析
利用fft函数对信号进行频谱分析
3)受白噪声干扰的语音信号的产生与频谱分析
①白噪声的产生:
N1=sqrt(方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因)然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号N2;
带通滤波器的冲激响应为:
hB(n)=c2
sinc(c2
(n))c1
sinc(c1
(n))其中ωc1为通带滤波器的下截止频率,ωc2为通带滤波器的上截止频率。其中下截止频率由每个人的语音信号的最高频率确定 滤波器的长度N由滤波器的过渡带确定,一般不宜太小(大于1000),α=(N-1)/2; ②信号y通过低通滤波器,得到信号为x1
低通滤波器的冲激响应为:
hL(n)c1sinc(c1
(n))其中的ωc1与上面的带通滤波器的下截止频率一致,滤波器的长度N也于上面的带通滤波器一致,α=(N-1)/2
③将N1加上x1得到一个受到噪声污染的声音信号
4)据语音信号的频带情况,设计FIR和IIR两种滤波器
5)用滤波器对受污染语音信号进行滤波
FIR滤波器fftfilt函数对信号进行滤波,IIR滤波器用filter函数对信号进行滤波
6)比较滤波前后信号的波形与频谱
7)回放滤波后的语音信号
4.实验数据及实验程序
实验数据
1)原始语音信号的时域波形和频谱图及语音信号的频带范围
2)带限白噪声信号的时域波形和幅频特性
3)受污染语音信号的时域波形和幅频谱图
4)滤波器的频响特性图
FIR滤波器的幅频响特性图
IIR滤波器的幅频响特性图
5)滤波后语音信号的时域波形和频谱图
6)滤波前后的语音信号时域波形对比图和幅频谱对比图
7)将实验的资料的电子文档交给班长(建立一个文件夹,里面包括:①实验报告的电子版;②采集的语音信号电子文件;③受污染的语音信号及滤波后的语音信号存在文件名为“姓名+学号.mat”文件的文件中)
实验程序:
1)实验主程序
2)FIR滤波器子程序
3)IIR滤波器子程序