武汉大学教学实验报告电子信息学院电子信息工程专业2105年10月2日实验名称Wav信号的波形分析与合成指导教师邹炼姓名年级2013级学号成绩一、预习部分1.实验目的2.实验基本原理3.主要仪器设备(含必要的元器件、工具)一、实验目的1.巩固傅里叶变换及其反变换的知识,学习从时域和频域两个角度来观察信号。2.尝试利用短时傅里叶变换分析非平稳信号的频谱变化。3.熟悉MATLAB环境中wavread、wavrecord、wavplay、fft和ifft等函数的应用。二、实验基本原理音频信号(Audio)是通过麦克风、A/D等数据采集设备将声音转换而成的电信号,是声波频率、幅度变化的信息载体。声音的三个主观特性是音调、音强和音色。而声波的三个重要参数为频率ω0、幅度An和相位ψn,这也就决定了音频信号的特征定义如下:1.基频与音调基频指一个复杂声波中最低的一个频率(其他频率叫谐波)。音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。2.谐波与音色谐波是指周期函数或周期性的波形中不能用常数与原函数基频的正弦函数和余弦函数的线性组合表达的部分。nωO称为ωO的n次谐波分量,也称为(n-1)次泛音。音色是由混入基音的泛音所决定的,高次谐波越丰富,音色就越有明亮感和穿透力。不同的谐波具有不同的幅值An和相位偏移ψn,由此产生各种音色效果。3.幅度与音强人耳对于声音细节的分辨只有在强度适中时才最灵敏。人的听觉响应与强度成对数关系。常用音量来描述音强,以分贝(dB=20log)为单位。4.音宽与频带音频信号的频带宽度简称为音宽,它是描述组成复合信号的频率范围。借助傅里叶变换,信号可以时间函数或频率函数两种形式描述,特别是周期信号和准周期信号(前者由一个基频成分和若干谐波成分,后者虽可分解为几个正弦分量,但它们的周期没有公倍数),从频率域可以很清楚地了解它们由哪些正弦分量组成。而对于非平稳信号,最典型的例子就是语音信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。最直观的想法就是用中心在某一时刻的时间窗截取一段信号,对其做傅里叶变换,得到这一时刻的频谱;然后将窗在时间轴上移动,从而得到不同时刻的频谱,这就是短时频谱的原理。最简单的窗就是矩形窗,即直接从原信号中截取一段。三、主要仪器设备(含必要的元器件、工具)涉及的matlab函数:1.wavread功能:读取Microsoft的WAVE文件。基本调用格式:[y,Fs,nbits]=wavread(filename)载入以filename命名的WAVE文件。y为采样数据,Fs为WAVE文件被采样时所用的采样频率,nbits为用于描述每个采样点的编码数据位数(常用的有8bits和16bits)。2.wavrecord功能:应用PC机上音频输入设备录制声音。基本调用格式:y=wavrecord(n,Fs)对某音频信号以FsHz采样率连续录入n个采样点的数据。其中Fs默认值为11025Hz。3.wavplay功能:应用PC机上音频输出设备播放已录制的声音。基本调用格式:Wavplay(y,Fs)以Fs播放存入矢量y中的音频信号。Fs默认值仍为11025Hz。二、实验操作部分1.实验数据、表格及数据处理2.实验操作过程(可用图表示)3.实验结论一、实验数据、表格及数据处理截取语音信号的前1024个点分别求1024及2048个点的FFT频谱图绘制傅里叶反变换得到的时域信号以及原时域信号用振幅最大的正弦分量重构的信号以及原信号载入chirp信号之后,对信号分段进行傅里叶变换得到不同的频谱图男生与女生发出a的时域信号男生和女生发出a的频域信号(取时域信号最强的一小部分来求频谱)二、实验操作过程1、持续音的频谱分析(1)将Windows的系统目录下的ding.wav文件读入,这是一个双声道的声音,选择第一列的信号,使用fft求取其频谱,并用plot显示它的幅度谱,观察主要的正弦分量,分别用1024和2048个点进行快速傅里叶变换(2)用ifft反傅里叶变换函数求取频谱的反傅里叶反变换,比较反变换后的信号波形与原始信号的波形(3)从频谱中找到幅度最大的正弦分量,构造一个同样幅度的正弦信号,将其波形与原始信号比较,并进行试听一下2、时变音的短时频谱分析(1)使用”loadchirp”载入matlab自带的一个时变音(2)从信号中依次截取1024个点,利用上述方法求取其幅度谱,并显示出来,观察幅度谱随时间的变化情况3、分别录制男生和女生发元音“a”的声音,截取其中信号强度最大的一部分进行傅里叶变换,对音频文件的频谱分析,对比两者的差异。三、实验结论1、通过对‘ding.wav’文件进行fft变换,观察其频域上的频谱可以发现它由非周期的连续谱,其中在某些频率点处的振幅非常的强,而在另外一些地方幅度接近于零。2、对音频文件的频谱进行傅里叶反变换可以得到在时域上的波形,将这个波形与原时域信号进行比较可以发现,他们是基本相似的。3、如果信号频谱中几个频率点信号较强,我们就可以通过这些频率点的信号来重构原信号,采用振幅最大的那个正弦信号来重构信号,与原信号比较可以发现波形大体上是有一些相同之处的,但是还远远不能拟合原信号。从耳机中听起来重构的信号只有单一的声调,但是原信号听起来就更为丰富。4、对于一段在时间上很长的信号,可以通过对不同的时间段进行fft来得到它在不同时候的频谱图像,从而分别分析其信息5、对男生和女生发出’a’的声音时的音频文件进行频域的分析。从频域上可以看出女生的声音频域上高频信号整体上要强于男生,较强的频率点的频谱跨度也是不同的,或许这可以解释男生与女生声音在音调以及音色上的差异。三、实验效果分析(包括仪器设备等使用效果)1、持续音的频谱分析(1)从第一个图中看出信号在某些频率点的强度远远大于其他的频率点,这给我一个启示,或许如果想仿真出这种语音信号,可以通过几个频率点的正弦信号合成来得到。(2)重构信号的时候,只选取了最强的那一个频率点的信号来重构,其中包含的信息远远不如原信号丰富,但是通过多选取几个频率点来拟合的话,可能和更加接近原信号。我觉得可以利用这一点来对语音信号进行压缩,只保留最强的那些点的信息。2、时变音的短时频谱分析时,对于一段在时间上很长的信号,可以通过对不同的时间段进行fft来得到它在不同时候的频谱图像,从图像中可以发现,不同时段的频谱差异很大。3、男生和女生发出’a’的声音时的音频文件在时域上可以看出其发声的时间点并非贯穿全程,所以我选取从信号最强的时刻开始的1024个采样点作为要研究的信号。四、教师评语指导教师年月日附件:Matlab源文件%author:郑程耀clearall;clc;%先关闭所有图片[y1,fs1]=wavread('E:\文档\课件\matlab实验\实验七\nana.wav');[y2,fs2]=wavread('E:\文档\课件\matlab实验\实验七\nva.wav');%subplot(211)%plot(y1)%title('男生语音a')%subplot(212)%plot(y2)%title('女生语音a')[sod,ind_y1]=max(y1);y1=y1(ind_y1:ind_y1+1023);%yr(3000:3000+1023)%求取幅度谱并显示,首先是2048点的YR1=fft(y1,1024);subplot(211)plot(linspace(-pi,pi,1024),fftshift(abs(YR1)));title('男生语音频谱')[sod,ind_y2]=max(y2);y2=y2(ind_y2:ind_y2+1023);%yr(3000:3000+1023)%求取幅度谱并显示,首先是2048点的YR2=fft(y2,1024);subplot(212)plot(linspace(-pi,pi,1024),fftshift(abs(YR2)));title('女生语音频谱')