我很难理解生成SNR(db)与MSE的关系曲线。不同的信噪比(SNR)是通过改变噪声功率来创建的。 MSE的公式平均为T
独立运行。对于每个SNR
,我生成NEval = 10 time series
。当SNR在范围= [0:5:50]时,如何正确绘制SNR与MSE的关系图?下面是伪代码。MATLAB::均方误差与SNR图
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。 – patrik 2014-10-29 16:34:31