matlab语音信号采集与处理

%加噪声fs=22050;x=wavread('E:\WindowsXP.wav');f=fs*(0:511)/1024;Au=0.03;t=0:1/22050:(len... %加噪声
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');

为什么总是出现错误,信号不能叠加。。。
展开
 我来答
我在看日全食
2011-06-11 · TA获得超过674个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:218万
展开全部
有两处错了:加%的部分
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');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
万山数据
2024-11-14 广告
实时数仓处理是我们北京万山数据科技有限公司数据处理能力的核心之一。它基于先进的流处理技术,能够实时捕获、处理和分析海量数据,确保数据的时效性和准确性。通过构建高效的实时数据管道,我们能够实现数据的即时入库与查询,为业务决策提供强有力的支持。... 点击进入详情页
本回答由万山数据提供
自世起觉好u
2011-06-11
知道答主
回答量:70
采纳率:0%
帮助的人:15.1万
展开全部
电脑原应
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式