24小时热门版块排行榜    

CyRhmU.jpeg
查看: 589  |  回复: 3
当前主题已经存档。

炎海飞雪

木虫 (正式写手)

[交流] 【求助】有关SNR的

大家帮忙看看,我设的SNR=2,但是随后用snrs=20*log10(norm(x)/norm(s-x))计算的却相差很大,是怎么回事?公式用错了,还是我对wnoise函数理解的 有问题?

附代码:

%测试数据的选取
snr =2; init = 2055615866;

% Generate original signal and a noisy version adding
% a standard Gaussian white noise. xref is the origin signal,and x
% 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
[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=6;  %分解的层数
[c,l]=wavedec(s,jN,wname);
snrs=20*log10(norm(x)/norm(s-x));
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gjliu

银虫 (小有名气)

[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.


SNR, the ratio of signal power to noise power

自己多查查matlab的帮助,那可是一个数学百科全书
2楼2009-05-16 11:38:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

炎海飞雪

木虫 (正式写手)

谢谢。
不过我从帮助中wnoise函数例子看到的,认为x就是原信号,signal是噪声污染的信号呀,信噪比怎么对不上号呢
3楼2009-05-16 14:33:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

炎海飞雪

木虫 (正式写手)

希望知道的大侠解释下
4楼2009-05-17 15:47:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 炎海飞雪 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见