语音信号加噪声后
本帖最后由 wdhd 于 2016-9-14 10:46 编辑语音信号加噪声后。为什么作频谱图时。噪声与语音信号总是重叠在一起阿,没法用滤波器过滤,正常的应该在不同的频段才对阿,噪声频率2000hz,语音信号采样频率44100,下面是我的程序,波形见附件,高手帮忙看看是什么问题啊?万分感谢阿;郁闷很久了,波形就是出不来啊,
fs = 44100; %采样频率
N = 129024; %采样点数
t = (0:N-1)/fs; %采样时间序列s
a = 0.75;
w = 2000;
x = a*cos(2*pi*w*t)';噪声信号
subplot(2,1,1);时域
plot(t, x);
xlabel('t/s');
xf = 2*abs(fft(x))/N;
xf=xf (1:N/2);
df = fs/N; %频率分辨率Hz
f = (0:N/2-1)*df; %频域序列
f=(0:N/2-1)*df;
subplot(2,1,2);
plot(f, xf);
xlabel('f/Hz');
下面是加噪声后的
=wavread('110.wav');采集与因信号
>> y=x1(:,1); 变为单声道的
q=y+x;加噪声
subplot(2,1,1);
plot(t, q);
xlabel('t/s');
yq = 2*abs(fft(q))/N;
xfq=xfq(1:N/2);
df = fs/N; %频率分辨率Hz
f = (0:N/2-1)*df; %频域序列
f=(0:N/2-1)*df;
subplot(2,1,2);
plot(f, xfq);
xlabel('f/Hz');
而且语音信号采样频率44100,画出来频谱图后频段很小为什么阿?请帮忙看看哪里错了阿 yq = 2*abs(fft(q))/N;
xfq=xfq(1:N/2);
这里好像没有xfq 不好意思阿,是笔误,应该是
xfq = 2*abs(fft(q))/N;
xfq=xfq(1:N/2); 噪声频率是2khz,语音信号频率大概20khz.两者应该是频率10倍左右的关系才对阿。应该在不同频段。频谱波形为什么都混在一起阿。清高手看看程序什么地方错了阿 本帖最后由 wdhd 于 2016-9-14 10:46 编辑
原帖由 lianmei1984 于 2009-3-17 21:12 发表
语音信号加噪声后。为什么作频谱图时。噪声与语音信号总是重叠在一起阿,没法用滤波器过滤,正常的应该在不同的频段才对阿,噪声频率2000hz,语音信号采样频率44100,下面是我的程序,波形见附件,高手帮忙看看是什么问题啊?万分感谢阿;郁闷很久了,波形就是出不来啊,
楼主语音和噪声是相加的,所以在谱图上也是相加的,要用滤波器滤除这单频信号可以用陷波器。语音信号的频谱是分布在整个频段中,而单频信号在频域是一条谱线,所以它的幅值远大于语音频谱的幅值。 什么是陷波器?您说的是带阻滤波器马?我的意思是因为时域因信号加噪声。然后再江噪声滤掉。即使语音和噪声在频谱上是想加的。因为他们频率不同,也应该不是混在一起的。而是不在一个频段的阿 您觉得程序有问题吗?怎么才能把语音信号和噪声频谱弄到不同的频段上啊 本帖最后由 wdhd 于 2016-9-14 10:46 编辑
原帖由 lianmei1984 于 2009-3-18 11:02 发表
什么是陷波器?您说的是带阻滤波器马?我的意思是因为时域因信号加噪声。然后再江噪声滤掉。即使语音和噪声在频谱上是想加的。因为他们频率不同,也应该不是混在一起的。而是不在一个频段的阿
您觉得程序有问题吗?怎么才能把语音信号和噪声频谱弄到不同的频段上啊
“什么是陷波器?”楼主最好在网上查一下,本论坛也有不少帖子说到,它不是带阻滤波器。
我不明白,楼主怎么会认为语音和噪声应该不混在一起的。而是不在一个频段上。虽然楼主提供的噪声是一个单频,但语音信号是一个宽带的信号,频率范围复盖了0~fs/2的区间,楼主怎么能保证语音在2000Hz没有分量?
程序没有问题,同时也不可能把语音信号和噪声频谱弄到不同的频段上。
正因为楼主是把单频信号作为噪声,所以用陷波器还有效,如果是其它噪声(例如白噪声),降噪就会困难得多,在语音中降噪一直是通信中永恒的课题。 好的,我刚才查了一下陷波器,多谢你的解答阿
页:
[1]