[x1,fs,bits]=wavread('D:\MATLABsetup\33');
sound(x1,fs) % 回放语音信号
x1=x1(:,1); %取单声道
N=length(x1) ;
subplot(2,1,1);
plot(x1); %语音信号的时域波形图
xlabel('时间轴');ylabel('幅值');
title('原始语音信号采样后时域波形');
subplot(2,1,2);
y1=fft(x1,N); %对n点进行傅里叶变换到频域
f=fs*(0:N/2-1)/N; %对应点的频率
plot(f,abs(y1(1:N/2)));
xlabel('频率');ylabel('幅值');
title('原始语音信号采样后频谱图');
%%%%%%%%%%%%%%%
%改变采样率为原来的1/8
x2=x1((1:8:length(x1)));%对原始信号每隔N个点取一位,即采样率变为原来的1/N
x2=x2(:,1); %取单声道
N2=length(x2);
figure(2);
subplot(2,1,1);
plot(0:N2-1,x2); %语音信号的时域波形图
xlabel('时间轴');ylabel('幅值');
title('1/8采样信号采样后时域波形');
subplot(2,1,2);
y2=fft(x2,N2); %对n点进行傅里叶变换到频域
f=fs*(0:N2/2-1)/N2; %对应点的频率
plot(f,abs(y2(1:N2/2)));
xlabel('频率');ylabel('幅值');
title('1/8采样信号采样后频谱图');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fc=(fs/2)*0.25;
N3=round(fc/fs*N);
y1=(fft(x1));
y2=[y1(1:N3);zeros(N-2*N3,1);y1(N-N3+1:N)];
x3=real(ifft(y2));
m=8;
fs2=fs/m;
x33=x3(1:m:fs2);
wavwrite(x33,fs2,16,'D:\MATLABsetup\45');
figure(3);
subplot(321);plot(0:N-1,x1);xlabel('采样点数N1');title('原始信号');
subplot(322);plot(0:N-1,x3);xlabel('采样点数N3');title('滤波后,低抽样率下的音乐信号');
subplot(323);plot(0:N-1,abs(fft(x1)));xlabel('f');title('采样率为44100的频谱');
subplot(324);plot(0:N-1,abs(fft(x3)));xlabel('f');title('滤波后,低抽样率下的音乐信号频谱');
fc=(fs/2)*0.25;
N5=round(fc/fs*N);
y1=(fft(x1));
y2=[y1(1:N5);zeros(N-2*N5,1);y1(N-N5+1:N)];
x3=real(ifft(y2));
m=4;
fs2=fs/m;
x4=x3(1:m:N);
N6=length(x4);
wavplay(x4,fs2);
wavwrite(x4,fs2,16,'D:\MATLABsetup\46');
figure(3);
subplot(325);plot(0:N6-1,x4);xlabel('采样点数N3');title('先经过抗混滤波后(5512HZ),低抽样率下的音乐信号');
subplot(326);plot(0:N6-1,abs(fft(x4)));xlabel('f');title('先经过抗混滤波后(5512HZ),低抽样率下的音乐信号');
评论2