Je veux déterminer dans quelle mesure le modèle estimé correspond aux futures nouvelles données. Pour ce faire, un tracé d'erreur de prédiction est souvent utilisé. Fondamentalement, je veux comparer la sortie mesurée et la sortie du modèle. J'utilise l'algorithme Least Mean Square comme technique d'égalisation. Quelqu'un peut-il aider s'il vous plaît quelle est la bonne façon de tracer la comparaison entre le modèle et les données mesurées? Si les estimations sont proches de true, les courbes doivent être très proches les unes des autres. Voici le code. u
est l'entrée de l'égaliseur, x
est le signal bruyant reçu, y
est la sortie de l'égaliseur, w
est le poids de l'égaliseur. Le graphique doit-il être tracé en utilisant x
et y*w
? Mais x
est bruyant. Je suis confus puisque la sortie mesurée x
est bruyante et la sortie du modèle y*w
est sans bruit.Régression linéaire - Collé dans la comparaison de modèles dans Matlab après estimation?
%% 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
Comment * devrait * être tracée dépend de ce que vous voulez montrer dans votre parcelle ... – Wolfie