matlab语音信号采集与处理%加噪声fs=22050; x=wavread('E:\Windows XP.wav');f=fs*(0:511)/1024;Au=0.03;t=0:1/22050:(length(x)-1)/22050;d=[Au*cos(2*pi*5000*t)];x2=x+d;sound(x2,8000);y2=fft(x2,1024);figure(1);plot(t,x2)title('加噪后的信号'

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 04:53:32
matlab语音信号采集与处理%加噪声fs=22050; x=wavread('E:\Windows XP.wav');f=fs*(0:511)/1024;Au=0.03;t=0:1/22050:(length(x)-1)/22050;d=[Au*cos(2*pi*5000*t)];x2=x+d;sound(x2,8000);y2=fft(x2,1024);figure(1);plot(t,x2)title('加噪后的信号'

matlab语音信号采集与处理%加噪声fs=22050; x=wavread('E:\Windows XP.wav');f=fs*(0:511)/1024;Au=0.03;t=0:1/22050:(length(x)-1)/22050;d=[Au*cos(2*pi*5000*t)];x2=x+d;sound(x2,8000);y2=fft(x2,1024);figure(1);plot(t,x2)title('加噪后的信号'
matlab语音信号采集与处理
%加噪声
fs=22050;
x=wavread('E:\Windows XP.wav');
f=fs*(0:511)/1024;
Au=0.03;
t=0:1/22050:(length(x)-1)/22050;
d=[Au*cos(2*pi*5000*t)];
x2=x+d;
sound(x2,8000);
y2=fft(x2,1024);
figure(1);
plot(t,x2)
title('加噪后的信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y1(1:512)));
title('原始语音信号频谱');
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)));
title('加噪后的信号频谱');
xlabel('Hz');
ylabel('fuzhi');
为什么总是出现错误,信号不能叠加.

matlab语音信号采集与处理%加噪声fs=22050; x=wavread('E:\Windows XP.wav');f=fs*(0:511)/1024;Au=0.03;t=0:1/22050:(length(x)-1)/22050;d=[Au*cos(2*pi*5000*t)];x2=x+d;sound(x2,8000);y2=fft(x2,1024);figure(1);plot(t,x2)title('加噪后的信号'
有两处错了:加%的部分
fs=22050;
x=wavread('E:\1.wav');
f=fs*(0:511)/1024;
Au=0.03;
t=0:1/22050:(length(x)-1)/22050;
d=[Au*cos(2*pi*5000*t)];
x2=x+[d' d']; %原来的命令为x2=x+d;x为m*2的矩阵,d为1*m的向量不能直接相加修改见%左边.
sound(x2,8000);
y2=fft(x2,1024);
figure(1);
plot(t,x2)
title('加噪后的信号');
xlabel('time n');
ylabel('fuzhi n');
figure(2)
subplot(2,1,1);
plot(f,abs(y2(1:512))); %plot(f,abs(y1(1:512))); y1在前面从未出现过,需要定义,这里为了测试把它改成了y2
title('原始语音信号频谱');
xlabel('Hz');
ylabel('fuzhi');
subplot(2,1,2);
plot(f,abs(y2(1:512)));
title('加噪后的信号频谱');
xlabel('Hz');
ylabel('fuzhi');