mse for lms - learning curves please help

조회 수: 1 (최근 30일)
yuval ohayon
yuval ohayon 2018년 12월 23일
다시 열림: yuval ohayon 2018년 12월 23일
hi iv written a code for lms algorithem and i want to add some learning curves..the error as a mu function,the mse error for several ittiration,someone can help ..?it random proccecing logic..
M=4001 %%%number of samples
fs=8000 %%%%hz
[B,A]=cheby2(4,20,[0.1 0.7 ]);%%%מקדמי פונקציית התמסורת
tf=dfilt.df2t([zeros(1,6) B],A);%%%padding 6 more zeros for shrink the signal (1 sample is now bigger 6 samples of before)
%%%%נדמה רעש אקראי ש'יכול להיגרם בכל חדר טיפוסי.מקלדת אנשים שהולכים אותות
%קופ ם מהקיר.ונשתמש בפוקציה פילטר שמנקה את האות מאותו גורם הרעשתבמישור
%הזמן ניתן לראות את הדעיכה שמאופיינת מרעש אקראי שנוצר בחדר.
H_ROOM=filter(tf,log(0.99*rand(1,M)+0.01).*sign(randn(1,M)).*exp(-0.002*(1:M))) ;
H_ROOM=H_ROOM/norm(H_ROOM) *4; %%%הכפלה ב4 על מנת שנוכל לראות את האות
t1=(0:M-1)*(1/fs);
figure(1);
plot(t1,H_ROOM);
xlim([0 0.25]);
xlabel('Time[sec]');
ylabel('amplitude');
title('Room Impluse response-padding 6 zeros');
%%%%נטען קובץ בנוי ממאטלאב כאות שמדבר האיש אל המיקרופון
load farspeech
x=x(1:length(x));%%%%להכניס את הקובץ אל משתנה בעל דגימות שבגודל הוקטור הדגום
echoed_signal=filter(H_ROOM,1,x); %%%% the far speach is with vibration,when we filtered it with the transfer function of the room impulse respone we visualize an echoed signal
%יש צורך לדמות את הקול שמועבר כדי לקבל סימלוציה שמתקרבת למציאות,האות שעובר
%מהמיקרופון עם רעשי הרקע הוא הוא האות המהודהד
%%הגבר ודחיסה לאות.
load nearspeech
v=v(1:length(v))
;%ה הקול המהודהד של האיש הראשון פלו רעשי רקע קטנים
n=(1:2680)
for i=1:2680
echoed_signal_new(i)=10.*echoed_signal(i*100) %%%%%%gain for seeing results
new_x(i)=10.*x(i*100)
person_2(i)=10.*v(i*100)
end
%%%%%lms algorithem
total_signal=echoed_signal_new+person_2+0.001*rand(1,length(n)) %%additional noise
w=zeros(1,length(n))
mu=input('mu please')
for i=1:length(n)
e(i)=total_signal(i)-w(i)'*new_x(i)
y_desired(i)=sum(w(i)'*new_x(i))
cost(i)=e(i)*e(i)
w(i+1)=w(i)+mu*e(i)*new_x(i) %%%determing coefficients
end
for i=1:length(n)
mse(i)=mean(abs(total_signal(i)-y_desired(i)).^2)
end
figure(5)
subplot(5,1,1)
plot(n,new_x(n))
title('desired signal')
xlim([0 2680])
subplot(5,1,2)
plot(n,person_2(n))
title('person 2 voice ')
xlabel('samples')
ylabel('amplitude')
xlim([0 2680])
subplot(5,1,3)
plot(n,total_signal(n))
title('echoed+ person2 and noise from transmition line and noise room')
xlim([0 2680])
ylim([-2 2])
subplot(5,1,4)
plot(mse)
title('mse error amplitude ')
xlabel('itterations')
ylabel('error value')
xlim([0 2680])
subplot(5,1,5)
plot(n,y_desired(n))
title('estimated adaptive output')
xlim([0 2680])
ylim([-2 2])
figure(6)
plot(n,w(n))
title('wight function')
xlim([0 2680])
  댓글 수: 3
yuval ohayon
yuval ohayon 2018년 12월 23일
how i get rid of the blank data??
what is tool ribbon?
the cut the samples to 2680 instead 268000
yuval ohayon
yuval ohayon 2018년 12월 23일
no whats hppens is the vector get much smaller

댓글을 달려면 로그인하십시오.

답변 (1개)

yuval ohayon
yuval ohayon 2018년 12월 23일
편집: madhan ravi 2018년 12월 23일
M=4001 %%%number of samples
fs=8000 %%%%hz
[B,A]=cheby2(4,20,[0.1 0.7 ]);%%%מקדמי פונקציית התמסורת
tf=dfilt.df2t([zeros(1,6) B],A);%%%padding 6 more zeros for shrink the signal (1 sample is now bigger 6 samples of before)
%%%%נדמה רעש אקראי ש'יכול להיגרם בכל חדר טיפוסי.מקלדת אנשים שהולכים אותות
%קופ ם מהקיר.ונשתמש בפוקציה פילטר שמנקה את האות מאותו גורם הרעשתבמישור
%הזמן ניתן לראות את הדעיכה שמאופיינת מרעש אקראי שנוצר בחדר.
H_ROOM=filter(tf,log(0.99*rand(1,M)+0.01).*sign(randn(1,M)).*exp(-0.002*(1:M))) ;
H_ROOM=H_ROOM/norm(H_ROOM) *4; %%%הכפלה ב4 על מנת שנוכל לראות את האות
t1=(0:M-1)*(1/fs);
figure(1);
plot(t1,H_ROOM);
xlim([0 0.25]);
xlabel('Time[sec]');
ylabel('amplitude');
title('Room Impluse response-padding 6 zeros');
%%%%נטען קובץ בנוי ממאטלאב כאות שמדבר האיש אל המיקרופון
load farspeech
x=x(1:length(x));%%%%להכניס את הקובץ אל משתנה בעל דגימות שבגודל הוקטור הדגום
echoed_signal=filter(H_ROOM,1,x); %%%% the far speach is with vibration,when we filtered it with the transfer function of the room impulse respone we visualize an echoed signal
%יש צורך לדמות את הקול שמועבר כדי לקבל סימלוציה שמתקרבת למציאות,האות שעובר
%מהמיקרופון עם רעשי הרקע הוא הוא האות המהודהד
%%הגבר ודחיסה לאות.
load nearspeech
v=v(1:length(v))
;%ה הקול המהודהד של האיש הראשון פלו רעשי רקע קטנים
n=(1:2680)
for i=1:2680
echoed_signal_new(i)=10.*echoed_signal(i*100) %%%%%%gain for seeing results
new_x(i)=10.*x(i*100)
person_2(i)=10.*v(i*100)
end
%%%%%lms algorithem
total_signal=echoed_signal_new+person_2+0.001*rand(1,length(n)) %%additional noise
w=zeros(1,length(n))
mu=input('mu please')
for i=1:length(n)
e(i)=total_signal(i)-w(i)'*new_x(i)
y_desired(i)=sum(w(i)'*new_x(i))
w(i+1)=w(i)+mu*e(i)*new_x(i) %%%determing coefficients
end
for i=1:length(n)
mse(i)=mean(abs(total_signal(i)-y_desired(i)).^2)
end
figure(5)
subplot(5,1,1)
plot(n,new_x(n))
title('desired signal')
xlim([0 2680])
subplot(5,1,2)
plot(n,person_2(n))
title('person 2 voice ')
xlabel('samples')
ylabel('amplitude')
xlim([0 2680])
ylim([-10 10])
subplot(5,1,3)
plot(n,total_signal(n))
title('echoed+ person2 and noise from transmition line and noise room')
xlim([0 2680])
ylim([-2 2])
subplot(5,1,4)
plot(n,e(n))
title(' error amplitude ')
xlabel('itterations')
ylabel('error value')
xlim([0 2680])
ylim([-10 10])
subplot(5,1,5)
plot(n,y_desired(n))
title('estimated adaptive output')
xlim([0 2680])
ylim([-2 2])
figure(6)
plot(n,w(n))
title('wight function')
xlim([0 2680])
%

카테고리

Help CenterFile Exchange에서 Linear Model Identification에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by