1 / 18
文档名称:

大学教学实验报告--?wav信号的波形分析与合成.doc

格式:doc   大小:1,087KB   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

大学教学实验报告--?wav信号的波形分析与合成.doc

上传人:zl201163zl 2019/3/3 文件大小:1.06 MB

下载得到文件列表

大学教学实验报告--?wav信号的波形分析与合成.doc

相关文档

文档介绍

文档介绍:武汉大学教学实验报告电子信息学院电子信息工程专业2010年5月29日实验名称wav信号的波形分析与合成指导教师黄根春老师姓名王帅年级2008级学号86成绩预****部分实验目的实验基本原理主要仪器设备(含必要的元器件、工具)一、,学****从时域和频域两个角度来观察信号。。、wavrecord、wavplay、fft和ifft等函数的应用。二、实验原理借助傅里叶变换,信号可以时间函数或频率函数两种形式描述,特别是周期信号和准周期信号(前者由一个基频成分和若干谐波成分,后者虽可分解为几个正弦分量,但它们的周期没有公倍数),从频率域可以很清楚地了解它们由哪些正弦分量组成。而对于非平稳信号,最典型的例子就是语音信号,它是非周期的,频谱随时间连续变化,因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。最直观的想法就是用中心在某一时刻的时间窗截取一段信号,对其做傅里叶变换,得到这一时刻的频谱;然后将窗在时间轴上移动,从而得到不同时刻的频谱,这就是短时频谱的原理。最简单的窗就是矩形窗,即直接从原信号中截取一段。涉及的MATLAB函数wavread功能:读取Microsoft的WAVE文件。基本调用格式:[y,Fs,nbits]=wavread(filename)载入以filename命名的WAVE文件。y为采样数据,Fs为WAVE文件被采样时所用的采样频率,nbits为用于描述每个采样点的编码数据位数(常用的有8bits和16bits)。其中filename以单引号括起的字符串方式输入。:应用PC机上音频输入设备录制声音。基本调用格式:y=wavrecord(n,Fs)对某音频信号以FsHz采样率连续录入n个采样点的数据。其中Fs默认值为11025Hz。:应用PC机上音频输出设备播放已录制的声音。基本调用格式:Wavplay(y,Fs)以Fs播放存入矢量y中的音频信号。Fs默认值认为11025Hz。注:亦可参看sound函数。:离散傅里叶变换函数。基本调用格式:Y=fft(X,n)对矢量X进行n点离散傅里叶变换,结果存入矢量Y。计算时所用算法为快速傅里叶变换(FFT)。如果X为普通矩阵,:离散傅里叶反变换。基本调用格式:y=ifft(X,n)返回对矢量X进行n点离散傅里叶反变换的结果。同样利用FFT算法进行具体计算,若X为矩阵,返回结果为逐列离散傅里叶反变换的Y矩阵实验操作部分实验数据、表格及数据处理实验操作过程(可用图表示)、录制和播放声音以及快速傅里叶变换的函数,分别是wavread、wavrecord、wavplay和fft。,这是一个双声道的声音,选择任一个声道的信号,使用fft求取其频谱,并用plot显示它的幅度谱,观察主要正弦分量:所用代码:[y,fs]=wavread('');yr=y(:,1);yr=yr(1:1024);YR2048=fft(yr,2048);figure('numbertitle','off','name','2048µãFFT');plot(linspace(-pi,pi,2048),fftshift(abs(YR2048)));YR1024=fft(yr,1024);figure('numbertitle','off','name','1024µãFFT');plot(linspace(-pi,pi,1024),fftshift(abs(YR1024)));运行结果:用ifft函数求取频谱的反傅里叶反变换,比较反变换后的信号波形与原始信号波形;所用代码:yr1024=real(ifft(YR1024));yr1024=real(ifft(YR1024));figure('numbertitle','off','name','1024点fft的反变换');subplot(2,1,1);plot(yr1024)title('1024点fft的反变换’)subplot(2,1,2);plot(yr);title('原信号’)运行结果图:从频谱中找到幅度最大的正弦分量,构造一个同样幅度的正弦信号,将其波形与原始信号比较,并且试听一下。参考代码:[maxpeak,peaki]=max(abs(YR1024(1:512)));MAXSIN=zeros(1,1024);MAXSIN(peaki)=maxpeak;MAXSIN(102