我很難理解生成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