E
elvaman2004
Guest
Je sais que le Matlab pour réaliser le filtre sur diatropic algorithme LMS,
Mais, comment utiliser Matlab pour réaliser le filtre en treillis sur algorithme LMS? S'il vous plaît aidez-moi à resove!
Le programme de Matlab pour réaliser le filtre sur diatropic algorithme LMS:
Effacer tout
Fermez toutes les
tenir à distance
% Système de canaux pour
sysorder = 5;
% Nombre de système de points
N = 2000;
INP = randn (N, 1);
n = randn (N, 1);
[b, a] = beurre (2,0.25);
Gz = tf (b, a, -1);
% Cette fonction est soumise à faire inverse Transformée en Z (centrale d'échange de fichiers Matlab)
% Le poids sysorder première valeur
= H ldiv% (b, a sysorder,);
% Si vous utilisez ldiv ce qui donne h: poids des filtres à
h = [0,0976;
0,2873;
0,3360;
0,2210;
0,0964;];
= Y lsim (GZ, INP);
% Ajouter un peu de bruit
n * = n std
/ (10 * std
);
d = y n;
= Taille totallength (d, 1);
Prenez% 60 points pour la formation
N = 60;
commencent% de l'algorithme
w = zéros (sysorder, 1);
pour n = sysorder: N
u = INP (n: -1: n-sysorder 1);
n) = w '* u (y;
e
= d
- y
;
% Commencez par mu grands pour accélérer la convergence, puis ralentir pour atteindre le poids exact
si n <20
mu = 0,32;
d'autre
mu = 0,15;
fin
w u * * mu = w e
;
fin
vérifiez% des résultats
pour n = N 1: totallength
u = INP (n: -1: n-sysorder 1);
n) = w '* u (y;
e
= d
- y
;
fin
prise sur
plot (d)
plot (y, 'r');
title ('système de sortie ");
xlabel («échantillons»)
ylabel («True et estimé de sortie»)
figure
semilogy ((abs (e)));
title ('Erreur de la courbe');
xlabel («échantillons»)
ylabel ('Erreur de valeur »)
figure
(H, K complot »)
prise sur
plot (w, 'r *')
légende («poids réel», «poids estimé)
titre («Comparaison des poids réels et les poids estimé);
axe ([0 6 0,05 0,35])
Mais, comment utiliser Matlab pour réaliser le filtre en treillis sur algorithme LMS? S'il vous plaît aidez-moi à resove!
Le programme de Matlab pour réaliser le filtre sur diatropic algorithme LMS:
Effacer tout
Fermez toutes les
tenir à distance
% Système de canaux pour
sysorder = 5;
% Nombre de système de points
N = 2000;
INP = randn (N, 1);
n = randn (N, 1);
[b, a] = beurre (2,0.25);
Gz = tf (b, a, -1);
% Cette fonction est soumise à faire inverse Transformée en Z (centrale d'échange de fichiers Matlab)
% Le poids sysorder première valeur
= H ldiv% (b, a sysorder,);
% Si vous utilisez ldiv ce qui donne h: poids des filtres à
h = [0,0976;
0,2873;
0,3360;
0,2210;
0,0964;];
= Y lsim (GZ, INP);
% Ajouter un peu de bruit
n * = n std
d = y n;
= Taille totallength (d, 1);
Prenez% 60 points pour la formation
N = 60;
commencent% de l'algorithme
w = zéros (sysorder, 1);
pour n = sysorder: N
u = INP (n: -1: n-sysorder 1);
n) = w '* u (y;
e
% Commencez par mu grands pour accélérer la convergence, puis ralentir pour atteindre le poids exact
si n <20
mu = 0,32;
d'autre
mu = 0,15;
fin
w u * * mu = w e
fin
vérifiez% des résultats
pour n = N 1: totallength
u = INP (n: -1: n-sysorder 1);
n) = w '* u (y;
e
fin
prise sur
plot (d)
plot (y, 'r');
title ('système de sortie ");
xlabel («échantillons»)
ylabel («True et estimé de sortie»)
figure
semilogy ((abs (e)));
title ('Erreur de la courbe');
xlabel («échantillons»)
ylabel ('Erreur de valeur »)
figure
(H, K complot »)
prise sur
plot (w, 'r *')
légende («poids réel», «poids estimé)
titre («Comparaison des poids réels et les poids estimé);
axe ([0 6 0,05 0,35])