数字语音处理(副本).docVIP

  • 5
  • 0
  • 约5.21千字
  • 约 9页
  • 2017-06-07 发布于湖北
  • 举报
单元1 MATLAB练习 练习1:键入并运行以下MATLAB代码 (1)信号波形和对数功率谱示例 % 波形:100样点,抽样频率Fs=8kHz,信号频率f=2kHz x=sin(2*pi*(0:99)*2000/8000); % 频谱:是波形的快速傅立叶变换 subplot(221); plot(x); title(信号波形); X=fft(x); % 对数功率谱:功率谱取10lg或幅度谱取20lg subplot(222); plot(X); title(傅立叶变换后的波形); subplot(223); P=20*log10(abs(X)); % 绘制波形和对数功率谱(注意观察25和75处的尖峰) plot(P); title(信号的对数功率谱); (2)窗函数的对数幅度谱示例 % 避免对0取对数 floor=0.1; % 图1:矩形窗 W_rec=10*log10(abs(fft(boxcar(512),1024))+floor); subplot(221) ; plot(W_rec(1:end/2)); title(矩形窗的对数幅度谱); % 图2:海明窗 W_hamming=10*log10(abs(fft(hamming(512),1024))+floor); subplot(222) ; plot(W_hamming(1:end/2)); title(海明窗的对数幅度谱); % 图3:汉宁窗 W_hanning=10*log10(abs(fft(hanning(512),1024))+floor); subplot(223) ; plot(W_hanning(1:end/2)); title(汉宁窗的对数幅度谱); 练习2:求以下序列的傅立叶变换(这些序列通常被用作语音处理系统的“窗函数”) N=512; w=0:0.01:pi; subplot(221); for t=1:4 tt=t*0.1*2; W_exp(t,:)=(1-(tt^N)*exp(-j*w*N))./(1-tt*exp(-j*w)); end plot(w,10*log10(abs(W_exp(1,:))),-,w,10*log10(abs(W_exp(2,:))),-.,w,10*log10(abs(W_exp(3,:))),:,w,10*log10(abs(W_exp(4,:))),--); legend(a=0.2,a=0.4,a=0.6,a=0.8) xlabel(\omega); ylabel(Exponential Window PSD (dB)); axis([0 3.14 -4 8]); W_rect=(1-exp(-j*w*N))./(1-exp(-j*w)); subplot(222) plot(w,10*log10(abs(W_rect))); xlabel(\omega); ylabel(Rectangular Window PSD (dB)); axis([0 3.14 -15 25]); W_hamming=exp(-j*w*(N-1)/2).*(0.54*sin(w*N/2)./sin(w/2)+0.23*sin((w-2*pi/(N-1))*N/2)./sin((w-2*pi/(N-1))/2)+0.23*sin((w+2*pi/(N-1))*N/2)./sin((w+2*pi/(N-1))/2)); subplot(223) plot(w,10*log10(abs(W_hamming))); xlabel(\omega); ylabel(Hamming Window PSD (dB)); axis([0 3.14 -30 30]); W_hanning=exp(-j*w*(N-1)/2).*(0.5*sin(w*N/2)./sin(w/2)+0.25*sin((w-2*pi/(N-1))*N/2)./sin((w-2*pi/(N-1))/2)+0.25*sin((w+2*pi/(N-1))*N/2)./sin((w+2*pi/(N-1))/2)); subplot(224) plot(w,10*log10(abs(W_hanning))); xlabel(\omega); ylabel(Hanning Window PSD (dB)); axis([0 3.14 -80 40]); 练习3:在MATLAB库中查找以下M函数。理解如何使用它们,编程实现对一个WAVE文件(*.wav)的波形输入和声谱图显示(取1024点汉宁窗)。 % WAVE文件的读取、剪辑、保存、播放以及声谱图计算和显示 % 利用打开文件对话框获取WAVE文件名 [filename,pathname]=uigetfile({

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档