MATLAB的语音信号频谱分析_第1页
MATLAB的语音信号频谱分析_第2页
MATLAB的语音信号频谱分析_第3页
MATLAB的语音信号频谱分析_第4页
MATLAB的语音信号频谱分析_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验一y,fs,bit=wavread(i do)%读取音乐片段,fs是采样率size(y)%求矩阵的行数和列数y1=y(:,1);%对信号进行分列处理n1=length(y1);%取y的长度t1=(0:n1-1)/fs;%设置波形图横坐标figuresubplot(2,1,1);plot(t1,y1); %画出时域波形图ylabel(幅值);xlabel(时间(s));title(信号波形);subplot(2,1,2);y1=fft(y1);w1=2/n1*(0:n1-1);%设置角频率plot(w1,abs(y1);%画频谱图title(信号频谱);xlabel(数字角频率);ylabe

2、l(幅度);grid on;sound(y,fs); 实验二y,fs,bit=wavread(i do)y1=y(:,1);n1=length(y1);d=2;%设置抽样间隔 y2=y1(1:d:n1);%减抽样n2=length(y2);%减抽样后信号长度t2=(0:n2-1)/fs;%设置横坐标figure subplot(2,2,1);plot(t2,y2); %绘制减抽样信号波形图ylabel(幅度);xlabel(时间(s));title(2:1减抽样信号波形);y2=fft(y2); %对y2进行n2点fft谱分析w2=2/n2*0:n2-1;subplot(2,2,3);plot

3、(w2,abs(y2);%绘制减抽样信号频谱图title(2:1减抽样信号频谱);xlabel(数字角频率w);ylabel(幅度);grid on;sound(y2,fs/d);d=5;%设置抽样间隔 y3=y1(1:d:n1);%减抽样n3=length(y3);%减抽样后信号长度t3=(0:n3-1)/fs;%设置横坐标subplot(2,2,2);plot(t3,y3); %绘制减抽样信号波形图ylabel(幅度);xlabel(时间(s));title(5:1减抽样信号波形);y3=fft(y3); %对y2进行n2点fft谱分析w3=2/n3*0:n3-1;subplot(2,2,

4、4);plot(w3,abs(y3);%绘制减抽样信号频谱图title(5:1减抽样信号频谱);xlabel(数字角频率w);ylabel(幅度);grid on;sound(y3,fs/d)实验三y,fs,bit=wavread(i do)y1=y(:,1);n1=length(y1);n3=0:n1-1;b1=cos(0.75*pi*n3);%设置调制信号b2=cos(0.5*pi*n3);c1=b1.*y1;%对原信号进行调制c2=b2.*y1;lc1=length(c1);t=(0:lc1-1)/fs;figure %用载波对信号进行调制,并对其做fft变换subplot(2,2,1)

5、 %获取频谱,从图中可以观察到,调制后的plot(t,c1); %信号频谱发生搬移xlabel(时间(s);ylabel(幅度);title(调制后信号);subplot(2,2,2) %获取频谱,从图中可以观察到,调制后的plot(t,c2); %信号频谱发生搬移xlabel(时间(s);ylabel(幅度);title(调制后信号);w1=2/lc1*0:lc1-1;%设置角频率wc1=fft(c1);c2=fft(c2);subplot(2,2,3)plot(w1,abs(c1);xlabel(数字角频率w);ylabel(幅度);title(调制后信号的频谱(高频率调制);grid o

6、n;subplot(2,2,4)plot(w1,abs(c2);xlabel(数字角频率w);ylabel(幅度);title(调制后信号的频谱(低频率调制);grid on;sound(c1,fs); 实验四clear all;cla;close alla,fs,bit=wavread(i do);y1=a(:,1);%去单列数据进行分析f1=fft(y1);n=length(f1);tn=(0:n-1)/fs;w=2/n*0:n-1;%sound(y1,fs);figure(1)subplot(2,3,1);plot(tn,y1);grid on;title(音频);xlabel(时间);

7、ylabel(幅度);subplot(2,3,4);plot(w,abs(f1);grid on;title(频谱);xlabel(频率/pi);ylabel(幅度);t=0:n-1;y2=cos(pi*1/2*t);%载波函数y3=y1.*y2;%信号调制ty3=(0:length(y3)-1)/fs;subplot(2,3,2);plot(ty3,y3);%绘制调制后信号波形图grid on;title(am调制音频信号);xlabel(时间);ylabel(幅度);f3=fft(y3);n2=length(f3);w2=2/n2*0:n2-1;subplot(2,3,5);plot(w2

8、,abs(f3);%绘制调制后信号频谱图grid on;title(am调制频谱);xlabel(频率/pi);ylabel(幅度); %解调后信号n3=length(y3)t2=0:n3-1;y4=cos(pi*1/2*t2)y5=y3.*y4;%解调后的信号函数subplot(2,3,3);plot(t2,y5);grid on;xlabel(时间);ylabel(幅度);title(am解调音频信号);f5=fft(y5);w3=2/n3*0:n3-1;subplot(2,3,6);plot(w3,abs(f5);%绘制解调后信号频谱图grid on;title(am解调频谱);xlab

9、el(频率/pi);ylabel(幅度); %设计巴特沃斯滤波器进行滤波去噪n1,wc1=buttord(0.05,0.17,1,15);%确定低通滤波器的阶数和截止频率;b,a=butter(n1,wc1);%确定低通滤波器分子分母系数h,w=freqz(b,a);figure(2)plot(w,abs(h);%低通滤波器波形xlabel(w);ylabel(h);title(低通滤波器波形);m=filter(b,a,y5);wavplay(m,fs);lm=length(m);%滤波后信号长度tm=(0:lm-1)/fs;%设置横坐标wm=2/lm*0:lm-1;m=fft(m);fig

10、ure(3)subplot(2,1,1);plot(tm,m);grid on;title(滤波后波形);xlabel(t);ylabel(幅度);subplot(2,1,2);plot(wm,abs(m);title(滤波后波形频谱图);xlabel(w/pi);ylabel(幅度);%矩形窗和布莱克曼窗n=33;wc=0.3*pi;%基于经验的指标,其中n为理想低通滤波器阶数,wc为截止频率hd=ideal(n,wc);%调用理想低通滤波器函数w1=boxcar(n);%产生各种窗函数w2=blackman(n);h1=hd.*w1;%加窗设计各种fir滤波器h2=hd.*w2;th1=(

11、0:32)/fs;th2=(0:32)/fs;m=21184;fh1=fft(h1,m);%矩形窗频谱函数w=2/m*0:m-1;fh2=fft(h2,m);%布莱克曼窗频谱函数figure(4)subplot(2,2,1);plot(th1,h1)title(矩形窗时域);subplot(2,2,2);plot(w,abs(fh1);title(矩形窗频域);subplot(2,2,3);plot(th2,h2);title(布莱克曼窗时域);subplot(2,2,4);plot(w,abs(fh2);title(布莱克曼窗频域)%解调后信号n3=length(y3)t2=0:n3-1;y

12、4=cos(pi*1/2*t2)y5=y3.*y4;%调制后的信号函数figure %滤波处理y6=conv(h1,y5);%用矩形窗对调制后信号进行滤波f6=fft(y6);n4=length(f6);ty6=(0:n4-1)/fs;w3=2/n4*0:n4-1;%sound(y6,fs);figure(5)subplot(2,2,1);plot(ty6,y6);title(矩形窗滤波后音频)subplot(2,2,2);plot(w3,abs(f6);title(矩形窗滤波后频谱)y7=conv(h2,y5);%用布莱克曼窗进行滤波f7=fft(y7);n5=length(f7);ty7=

13、(0:n5-1)/fs;w4=2/n5*0:n5-1;%sound(y7,fs);subplot(2,2,3);plot(ty7,y7);title(布莱克曼窗滤波后音频)subplot(2,2,4);plot(w4,abs(f7);title(布莱克曼窗滤波后频谱)实验五clc;clear;close;y,fs,bit=wavread(i do);y0=y(:,1);l=length(y0);%加三余弦混合噪声t0=(0:l-1)/fs;d0=0.05*cos(2*pi*3000*t0);t1=(0:l-1)/fs;d1=0.05*cos(2*pi*5000*t1);t2=(0:l-1)/f

14、s;d2=0.05*cos(2*pi*8000*t2);noise=d2+d1+d0;y1=y0+noise;%sound(y1,fs);a=length(noise);%绘制三余弦噪声音频图wa=2/a*0:a-1;noise=fft(noise);figure(1)subplot(2,3,4);plot(noise(1:150); xlabel(时间(s))ylabel(幅值)title(三余弦信号音谱) subplot(2,3,1);%绘制三余弦噪声频谱图plot(wa,abs(noise);grid on; xlabel(w)title(噪声频谱)w0=2/l*0:l-1;%绘制加噪信

15、号音频y1=fft(y1);subplot(2,3,5)plot(w0,abs(y1);grid on; xlabel(w)title(加噪信号频谱)ly1=length(y1);ty1=(0:ly1-1)/fs;subplot(2,3,2);plot(ty1,y1);xlabel(时间(s))ylabel(幅值)title(加噪信号音谱) m=rand(l,1)-0.5; %产生幅度为0.5的随机信号lm=length(m);y2=m+y0;%将噪声信号与原声音信号叠加wm=2/lm*0:lm-1;m=fft(m);figure(2)subplot(2,2,3);plot(m(1:150)x

16、label(时间(s))ylabel(幅值)title(白噪信号音谱)subplot(2,2,1);plot(wm,abs(m);grid on; xlabel(w)title(噪声频谱)l=length(y2);ty2=(0:l-1)/fs;w=2/l*0:l-1;y2=fft(y2);subplot(2,2,4)plot(w,abs(y2);grid on; xlabel(w)title(加噪信号频谱)subplot(2,2,2);plot(ty2,y2);xlabel(时间(s))ylabel(加噪信号幅值)title(加噪信号音谱); %设计滤波器进行滤波去噪n1,wc1=buttor

17、d(0.04,0.17,1,30);%确定低通滤波器的阶数和截止频率;b,a=butter(n1,wc1); %确定低通滤波器分子分母系数m=filter(b,a,y1);%用滤波器滤除三余弦噪声sound(m,fs);lm=length(m);%滤波后信号长度tm=(0:lm-1)/fs;%设置横坐标figure(1);subplot(2,3,3);plot(tm,m);%绘制滤波后的波形xlabel(t(s)ylabel(信号幅值)title(去噪后信号波形); k=fft(m); %滤波后的波形做离散傅里叶变换w=2*0:length(k)-1/length(k);subplot(2,3

18、,6)plot(w,abs(k);xlabel(w/pi)ylabel(幅度k)title(iir滤波器滤波后信号频谱);实验六.一clear all;clcy,fs,bit=wavread(i do);size(y)%查看读取信号的声道类型y1=y(: ,1);%对信号进行分列处理n=length(y1);%求信号y1的的长度t1=(0:n-1)/fs;f1=fft(y1);%对y1进行fft谱分析w=2/n*0:n-1;%w为连续频谱的数字角频率横坐标%sound(y,fs);%播放音乐信号figure(1)subplot(2,1,1);plot(t1,y1);title(音乐信号的波形)

19、;xlabel(t);ylabel(y1);subplot(2,1,2);plot(w,abs(f1);title(音乐信号的频谱);xlabel(w);ylabel(f1);%用iir滤波器滤波(低)n2,wc2=buttord(0.15,0.20,1,15);%确定低通滤波器的阶数和截止频率;b2,a2=butter(n2,wc2); %确定低通滤波器分子分母系数h,w=freqz(b2,a2);figure(2)subplot(2,3,1);plot(w,abs(h);%低通滤波器波形xlabel(w)ylabel(h)title(低通滤波器波形); m2=filter(b2,a2,y1

20、);%滤波lm2=length(m2);tm2=(0:lm2-1)/fs;subplot(2,3,2)plot(tm2,m2);xlabel(n)ylabel(信号幅值)title(低通滤波后波形); k2=fft(m2);%滤波后的波形做离散傅里叶变换l2=length(k2); w2=2*0:l2-1/l2;subplot(2,3,3);plot(w2,abs(k2);xlabel(数字角频率w)ylabel(幅度)title(低通滤波后频谱); %解调滤波后的频谱%用iir滤波器滤波(高)n,wc=buttord(0.15,0.20,1,15);%确定高通滤波器的阶数和截止频率;b,a=

21、butter(n,wc,high); %确定高通滤波器分子分母系数h1,w1=freqz(b,a);subplot(2,3,4);plot(w1,abs(h1);%高通滤波器波形xlabel(w1)ylabel(h1)title(高通滤波器波形); m=filter(b,a,y1); %滤波lm=length(m);tm=(0:lm-1)/fs;subplot(2,3,5);plot(tm,m);xlabel(n)ylabel(信号幅值m)title(高通滤波后波形); k=fft(m);l2=length(k); w2=2*0:l2-1/l2;subplot(2,3,6);plot(w2,a

22、bs(k);xlabel(数字角频率w)ylabel(幅度k)title(iir高通滤波后频谱);实验六.二clear all;clca,fs1,bit1=wavread(i do);b,fs2,bit2=wavread(风声);size(b)%查看读取信号的声道类型y2=b(:,1);%对信号进行分列处理n2=length(y2);%求信号y2的的长度t2=(0:n2-1)/fs2;f2=fft(y2);w2=2/n2*0:n2-1;%wavplay(y2,fs2);size(a)%查看读取信号的声道类型y1=a(: ,1);%对信号进行分列处理n1=length(y1);t1=(0:n1-1)/fs1;f1=fft(y1);w1=2/n1*0:n1-1;%w为连续频谱的数字角频率横坐标%wavplay(y1,fs1);fy1=abs(f1);%音乐1的幅度ay1=angle(f1);%音乐1的相位fy2=abs(f2);%音乐2的幅度ay2=angle(f2);%音乐2相位f1=fy1.*exp(j*ay2);%音乐1的幅度与音乐2的相位交叉组合x1=ifft(f1);n3=length(x1);tx1=(0:(n3-1)/fs1;w3=2/n3*0:n3-1;%wavplay(real(x1),fs1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论