当前位置:文档之家› MATLAB地语音信号频谱分析报告

MATLAB地语音信号频谱分析报告

实用标准文档大全0123456-1-0.50.51幅值时间(s)信号波形00.20.40.60.81 1.2 1.4 1.6 1.82200040006000信号频谱数字角频率幅度0123-1-0.50.51幅度时间(s)2:1减抽样信号波形00.51 1.521000200030002:1减抽样信号频谱数字角频率w幅度00.51 1.5-1-0.50.51幅度时间(s)5:1减抽样信号波形00.51 1.5250010005:1减抽样信号频谱数字角频率w幅度实验一[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('数字角频率');ylabel('幅度');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;%设置横坐标figuresubplot(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(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);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) %获取频谱,从图中可以观察到,调制后的plot(t,c1); %信号频谱发生搬移xlabel('时间(s)');ylabel('幅度');title('调制后信号');subplot(2,2,2) %获取频谱,从图中可以观察到,调制后的plot(t,c2); %信号频谱发生搬移xlabel('时间(s)');ylabel('幅度');title('调制后信号');510-1-0.500.51音频时间幅度120200040006000频谱频率/pi幅度510-1-0.500.51AM 调制音频信号时间幅度12100020003000AM 调制频谱频率/pi幅度24x 105-1-0.500.51时间幅度AM 解调音频信号012100020003000AM 解调频谱频率/pi幅度246-1-0.500.51时间(s)幅度调制后信号246-1-0.500.51时间(s)幅度调制后信号00.51 1.52100020003000数字角频率w幅度调制后信号的频谱(高频率调制)0.51 1.52100020003000数字角频率w幅度调制后信号的频谱(低频率调制)w1=2/lc1*[0:lc1-1];%设置角频率W C1=fft(c1); C2=fft(c2); subplot(2,2,3) plot(w1,abs(C1));xlabel('数字角频率w');ylabel('幅度'); title('调制后信号的频谱(高频率调制)');grid on ; subplot(2,2,4) plot(w1,abs(C2)); xlabel('数字角频率w');ylabel('幅度');title('调制后信号的频谱(低频率调制)');grid on ; sound(c1,fs);实验四clear all ;cla;close all[a,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('时间'); 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 调制音频信号');0.511.522.533.500.10.20.30.40.50.60.70.80.91wH低通滤波器波形xlabel('时间'); ylabel('幅度'); f3=fft(y3); n2=length(f3); w2=2/n2*[0:n2-1];subplot(2,3,5);plot(w2,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 解调频谱'); xlabel('频率/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); figure(3)subplot(2,1,1);plot(tm,m);2468x 10-4-0.100.10.20.3矩形窗时域00.51 1.520.511.5矩形窗频域2468x 10-4-0.100.10.20.3布莱克曼窗时域00.51 1.520.511.5布莱克曼窗频域0123456-0.50.5滤波后波形t幅度00.20.40.60.811.2 1.4 1.6 1.82100020003000滤波后波形频谱图w/pi幅度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=(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;y4=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)0100200-0.100.10.20.3时间(s )幅值三余弦信号音谱0120200040006000W噪声频谱12200040006000W加噪信号频谱0510-2-1012时间(s )幅值加噪信号音谱0510-1-0.500.51t(s)信号幅值去噪后信号波形012200040006000w/pi幅度kIIR 滤波器滤波后信号频谱246-0.500.51矩形窗滤波后音频00.51 1.52100020003000矩形窗滤波后频谱246-0.50.5布莱克曼窗滤波后音频00.51 1.52100020003000布莱克曼窗滤波后频谱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=(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)/fs;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];%绘制加噪信号音频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))xlabel('时间(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('加噪信号音谱');123456-1-0.500.51音乐信号的波形ty 100.20.40.60.81 1.2 1.4 1.6 1.82200040006000音乐信号的频谱wf 1%设计滤波器进行滤波去噪[N1,wc1]=buttord(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,6) plot(w,abs(k)); xlabel('w/pi')ylabel('幅度k')title('IIR 滤波器滤波后信号频谱');实验六.一clear all ;clc[y,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('音乐信号的波形'); 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);2400.511.5wH低通滤波器波形0510-2-101n信号幅值低通滤波后波形012200040006000数字角频率w 幅度低通滤波后频谱02400.511.5w1H 1高通滤波器波形0510-2-112n 信号幅值m高通滤波后波形012200400600数字角频率w幅度kIIR 高通滤波后频谱figure(2)subplot(2,3,1);plot(W,abs(H));%低通滤波器波形 xlabel('w') ylabel('H')title('低通滤波器波形'); m2=filter(B2,A2,y1);%滤波 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]=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,abs(k));123456-0.4-0.200.20.4音乐信号2的波形ty 200.20.40.60.81 1.2 1.4 1.6 1.82100020003000音乐信号2的频谱wf 2123456-1-0.500.51音乐信号1的波形ty 100.20.40.60.81 1.2 1.4 1.6 1.82200040006000%音乐信号1的频谱wf 1xlabel('数字角频率w') ylabel('幅度k')title('IIR 高通滤波后频谱');实验六.二clear all ;clc[a,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); F2=Fy2.*exp(j*Ay1);%幅度相位交叉组合 X2=ifft(F2); n4=length(X2);tx2=(0:(n4-1))/fs2; w4=2/n4*[0:n4-1]%wavplay(real(X2),fs2); figure(1)subplot(2,1,1);plot(t1,y1);%绘制信号1波形title('音乐信号1的波形'); xlabel('t');ylabel('y1'); subplot(2,1,2);0123456-0.500.5音乐2的幅度与音乐1的相位交叉组合后的波形tX 200.20.40.60.811.2 1.4 1.6 1.820100020003000音乐2的幅度与音乐1的相位交叉组合后的频谱w F20123456-2-1012音乐1的幅度与音乐2的相位交叉组合后的波形t X 100.20.40.60.81 1.2 1.4 1.6 1.820200040006000音乐1的幅度与音乐2的相位交叉组合后的频谱w F 1plot(w1,abs(f1));%绘制音乐信号1的频谱 title('%音乐信号1的频谱'); xlabel('w');ylabel('f1');figure(2) subplot(2,1,1);plot(t2,y2); title('音乐信号2的波形');xlabel('t');ylabel('y2');subplot(2,1,2);plot(w2,abs(f2));title('音乐信号2的频谱');xlabel('w');ylabel('f2');figure(3)subplot(2,1,1);plot(tx1,X1); title('音乐1的幅度与音乐2的相位交叉组合后的波形'); xlabel('t');ylabel('X1');subplot(2,1,2);plot(w3,abs(F1));title('音乐1的幅度与音乐2的相位交叉组合后的频谱'); xlabel('w');ylabel('F1');figure(4)subplot(2,1,1);plot(tx2,X2);title('音乐2的幅度与音乐1的相位交叉组合后的波形'); xlabel('t');ylabel('X2');subplot(2,1,2);plot(w4,abs(F2));title('音乐2的幅度与音乐1的相位交叉组合后的频谱'); xlabel('w');ylabel('F2');。

相关主题