【发布时间】:2014-10-28 20:56:30
【问题描述】:
我很难理解生成 SNR (db) 与 MSE 图背后的逻辑。通过改变噪声功率产生不同的信噪比 (SNR)。 MSE 的公式是在T 独立运行上平均得出的。
对于每个SNR,我生成NEval = 10 time series。当 SNR 在 = [0:5:50] 范围内时,如何正确绘制 SNR 与 MSE 的关系图?下面是伪代码。
N = 100; %Number_data_points
NEval = 10; %Number_of_different_Signals
Snr = [0:5:50];
T = 1000; %Number of independent runs
MSE = [1];
for I = 1:T
for snr = 1: length(Snr)
for expt = 1:NEval
%generate signal
w0=0.001; phi=rand(1);
signal = sin(2*pi*[1:N]*w0+phi);
% add zero mean Gaussian noise
noisy_signal = awgn(signal,Snr(snr),'measured');
% Call Estimation algorithm
%Calculate error
end
end
end
plot(Snr,MSE); %Where and how do I calculate this MSE
【问题讨论】:
-
我猜这是因为可以提高多少 SNR 存在实际限制。通常不需要太高阶的滤波器。因此,当信号质量改善得足够慢(每极)时,通常最好停止。通常,您还会引入一个惩罚函数,该函数的幅度会随着滤波器阶数的增加而增加。这增加了 MSE。
标签: matlab plot mean-square-error