声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1056|回复: 0

[滤波] 有关信噪比的一个问题

[复制链接]
发表于 2009-5-20 11:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
大家帮忙看看,我前面设的SNR=2,但是随后用两个比较成熟的公式计算的结果都是6.17,按matlab中的说明,也应该是4吧,这是怎么回事?公式用错了,还是我对wnoise函数理解的有问题?

附1:代码
%测试数据的选取
[x,signal] = wnoise(3,11,snr,init);%generate the signal containing 2^11 dots.,x is the origin singnal and signal is the noising signal.
s=signal;
N=2^11;
wname='db7';
jN=2;  %分解的尺度
[c,l]=wavedec(s,jN,wname);
snr1=20*log10(norm(x)/norm(s-x));

Ps=sum((x).^2);%signal power
Pn=sum((x-signal).^2);%noise power
snr2=10*log10(Ps/Pn);

p1=1/length(x)*norm(x)^2;
p2=1/length(x)*norm(x-signal)^2;
snr3=10*log10(p1/p2)


附2:matlab中 wnoise()函数的说明:
X = wnoise(FUN,N) returns values of the test signal given by FUN, on a 2N grid of [0,1].
[X,XN] = wnoise(FUN,N,SQRT_SNR) returns a test vector X as above, rescaled such that std(X) = SQRT_SNR. The returned vector XN contains the same test vector corrupted by additive Gaussian white noise N(0,1). Then, XN has a signal-to-noise ratio of SNR = (SQRT_SNR)2.
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-19 04:51 , Processed in 0.080423 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表