内容发布更新时间 : 2025/1/10 16:22:13星期一 下面是文章的全部内容请认真阅读。
原始信号的时域波形与FFt频谱分析
[x,fs,bits]=wavread(‘音频文件’);%读取一个音频文件 x=x(:,1); figure(1); subplot(3,1,1); plot(x);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘幅频特性’); subplot(3,1,2); wx=fft(x);
plot(abs(wx));grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘幅频特性’); subplot(3,1,3); plot(angle(wx));grid on;
xlabel(‘频率’);ylabel(‘相位’);title(‘幅频特性’); 产生回声 N=36000;
y=[x;zeros(N,1)]+0.5*[zeros(N,1)]; wavwrite(y,’加回声信号后的信号’); figure(2); subplot(3,1,1); plot(y);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘加回声信号后的时域波形’);
subplot(3,1,2); wy=fft(y);
plot(abs(wy));grid on;
xlabel(‘频率’);ylabel(‘幅值’);title(‘幅频特性’); subplot(3,1,3); plot(angle(wy));grid on;
xlabel(‘频率’);ylabel(‘相位’);title(‘相频特性’);
产生回声信号后的时域波形,FFt频谱分析 r=xcorr(y); figure(3); plot(r); grid on;
title(‘y的自相关函数’); [u,v]=max(r); r1=r;
r1(v-5000:v+5000,1)=0; [u1,v1]=max(r1); N=v-v1; Title(N); N for k=1:2
t(k)=(-1)^k*y(36000*(k-1)+1,1); end roots(t)
从带有回声的声音中消除回声信号且估计反射物的距离 a=[1,zeros(1,35999),0.5]; b=[1]; x1=filter(b,a,y);
wavwrite(x1,’恢复后的信号’); figure(4); subplot(3,1,1); plot(x1);grid on;
xlabel(‘时间’);ylabel(‘幅值’);title(‘恢复后的信号时域波形’); subplot(3,1,2); wx1=fft(x1);
plot(abs(wx1));grid on;
xlabel(‘频率’);ylabel(‘幅值’);title(‘幅频特性’);