eheheh bu kodla adaptif filtreler dersini de gecicem beyler ins
%%%%%% RLS
close all
clear all
clc
fs=22050;
% giri˛ sinyali gurultulu ses
gurultulu=load('signalplusnoise.mat');
gurultulu=gurultulu.signalplusnoise;
b = fir1(32,0.5); % FIR sistem
% gurultu
gurultu=load('noise.mat');
gurultu=gurultu.noise;
desired=filter(b,1,gurultulu)+gurultu; % desired sinyal boyle olusturuluyor
% bunu tam anlamad˝m
P0=20*eye(32); % korelasyon matrisinin baslangic degerleri
lam=0.99; % RLS unutma carpani
M=32; % filtrenin derecesi
haRLS=adaptfilt.rls(M,lam,P0); % filter komutunda kullanilacak carpanlar
[cikisRLS,hataRLS] = filter(haRLS,gurultulu,desired);
soundsc(desired-cikisRLS,fs);
%%%%% LMS
mu=0.001;
haLMS=adaptfilt.lms(M,mu);
mumax = maxstep(haLMS,gurultulu); % max mu bulmak icin, ama dogru mu
% kullandim tam anlamadim, Erol Hoca'ya
% sormam gerek
[cikisLMS,hataLMS]=filter(haLMS,gurultulu,desired);
soundsc(desired-cikisLMS,fs);
eks=0:length(gurultulu)-1;
eks=eks';
figure
subplot 211
plot([eks eks eks],[desired cikisRLS hataRLS]);
title('RLS ile Optimize Edilmis Filtrenin Giris, Cikis ve Hatasi');
legend('Desired','RLS Cikis','RLS Hata');
xlabel('Zaman Domeni'); ylabel('Sinyal Degeri');
subplot 212
plot([eks eks eks],[desired cikisLMS hataLMS]);
title('LMS ile Optimize Edilmis Filtrenin Giris, Cikis ve Hatasi');
legend('Desired','LMS Cikis','LMS Hata');
xlabel('Zaman Domeni'); ylabel('Sinyal Degeri');
% hatalari karsilastirmak icin hatalarin guclerinin farkini alalim
powerLMS=(norm(hataLMS)^2)/length(hataLMS);
powerRLS=(norm(hataRLS)^2)/length(hataRLS);
fark=powerLMS-powerRLS;
%%%% LMS HATASININ GUCU DAHA FAZLA OLDUGU ICIN RLS BURADA DAHA IYIDIR
mailden mi baktın diyen birine kim ne diye iş versin ki ak hala niye okuyacam diye zorluyorsun kanka