MATLAB的语音信号频谱分析..doc
文本预览下载声明
实验一
[y,fs,bit]=wavread(I do)%读取音乐片段,fs是采样率
size(y)%求矩阵的行数和列数
y1=y(:,1);%对信号进行分列处理
n1=length(y1);%取y的长度
t1=(0:n1-1)/fs;%设置波形图横坐标
figure
subplot(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;%设置横坐标
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(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(调制后信号);
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;
tit
显示全部