|
本帖最后由 ChaChing 于 2011-8-27 12:17 编辑
感觉比较完整性
wnoise这个函数只是进行信号和的幅度或者能量之比,并没有取log。
1.刚发现原猜测sqrt(sum((ns).^2)/2^n)有些小误差, 未减去mean值, 除以n, 不是n-1
2.找空档详细看下wnoise.m及help档, 发现
[X,XN] = wnoise(FUN,N,SQRT_SNR) returns a test vector X as above, rescaled such that std(X) = SQRT_SNR.
所以程序中係控制信号X的std是SQRT_SNR3, 而程序中欲控制噪声的std是1, 但產生的方式没有刚好为1(原因见1F说明)
非真正讯号专业, 希望个人解读正确
- snr=7; n=10; [x,xn]=wnoise(2,n,snr); subplot(2,1,1); plot(x); subplot(2,1,2); plot(xn)
- ns=xn-x; ns_energy=std(ns); x_energy=std(x);
- ns_energy1=sqrt(sum((ns-mean(ns)).^2)/(2^n-1)); x_energy1=sqrt(sum((x-mean(x)).^2)/(2^n-1));
- [ns_energy1 x_energy1 ns_energy x_energy (x_energy/ns_energy)^2]
复制代码
|
|