Я хочу определить, насколько хорошо предполагаемая модель соответствует будущим новым данным. Для этого часто используется график ошибки предсказания. По сути, я хочу сравнить измеренный вывод и вывод модели. Я использую алгоритм наименьшего среднего квадрата в качестве метода выравнивания. Может кто-нибудь помочь, как правильно построить сравнение между моделью и измеренными данными? Если оценки близки к истине, то кривые должны быть очень близки друг к другу. Ниже приведен код. u
— вход эквалайзера, x
— зашумленный принятый сигнал, y
— выход эквалайзера, w
— веса эквалайзера. Следует ли строить график с использованием x
и y*w
? Но x
шумный. Я сбит с толку, так как измеренный выход x
зашумлен, а выход модели y*w
не содержит шума.
%% Channel and noise level
h = [0.9 0.3 -0.1]; % Channel
SNRr = 10; % Noise Level
%% Input/Output data
N = 1000; % Number of samples
Bits = 2; % Number of bits for modulation (2-bit for Binary modulation)
data = randi([0 1],1,N); % Random signal
d = real(pskmod(data,Bits)); % BPSK Modulated signal (desired/output)
r = filter(h,1,d); % Signal after passing through channel
x = awgn(r, SNRr); % Noisy Signal after channel (given/input)
%% LMS parameters
epoch = 10; % Number of epochs (training repetation)
eta = 1e-3; % Learning rate / step size
order=10; % Order of the equalizer
U = zeros(1,order); % Input frame
W = zeros(1,order); % Initial Weigths
%% Algorithm
for k = 1 : epoch
for n = 1 : N
U(1,2:end) = U(1,1:end-1); % Sliding window
U(1,1) = x(n); % Present Input
y = (W)*U'; % Calculating output of LMS
e = d(n) - y; % Instantaneous error
W = W + eta * e * U ; % Weight update rule of LMS
J(k,n) = e * e'; % Instantaneous square error
end
end