|
楼主 |
发表于 2007-3-3 11:25
|
显示全部楼层
十分感谢eight,但是我按照你所说的那样,在matlab中编程,比较去噪前与去噪后的信噪比,结果令人十分失望。程序如下:
去噪前:
fs=22050; %语音信号采样频率为22050
x1=wavread('d:\huzhoushifanxueyuan.wav'); %读取语音信号的数据,赋给变量x1
noise=0.04*randn(size(x1));
s=x1+noise;
sigpower=sum(abs(x1(:)).^2)/length(x1(:));
nospower=sum(abs(noise(:)).^2)/length(noise(:));
snr=10*log10(sigpower/nospower);
disp(snr)
得到的结果为10.9
去噪后:
fs=22050; %语音信号采样频率为22050
x1=wavread('d:\huzhoushifanxueyuan.wav'); %读取语音信号的数据,赋给变量x1
noise=0.04*randn(size(x1));
s=x1+noise;
xd=wden(s,'sqtwolog','s','one',3,'sym8');
%对上述信号进行图示
sigpower=sum(abs(x1(:)).^2)/length(x1(:));
noise=xd-x1;
nospower=sum(abs(noise(:)).^2)/length(noise(:));
snr=10*log10(sigpower/nospower);
disp(snr)
得到的结果为:5.6
这是在matlab中运行的结果,发现去噪后的信噪比反而变小了,很奇怪,希望指教,谢谢!!!!!!! |
|