LM Algoritması ile FIR Filtre Parametre Kestirimi
Aşağıda FIR filtre parametre kestirim işlemlerini gerçekleştiren Matlab kodları verilmiştir.
- g_SAMPLE = 1000;
- g_ITERATION = 2;
- g_PARAMETER = 20;
- f_1 = 10;
- f_2 = 500;
- f_3 = 1000;
- f_s = 5000;
- n_s = 1 : g_SAMPLE;
- [n_a n_b] = fir1(g_PARAMETER - 1, 200 / f_s, 'low');
- lamda = 0.01;
- for n_i = 1 : g_ITERATION
- E(n_i) = 0;
- for n_j = 1 : g_SAMPLE - g_PARAMETER + 1;
- end
- kontrol = 1;
- while(kontrol == 1)
- p_a_new = p_a + J_new';
- E_NEW(n_i) = 0;
- for n_j = 1 : g_SAMPLE - g_PARAMETER + 1;
- ERROR_NEW(n_j) = DESIRED_OUTPUT(n_j) - OUTPUT_TRAIN(n_j);
- E_NEW(n_i) = E_NEW(n_i) + 0.5 * ERROR_NEW(n_j) ^ 2;
- end
- if E_NEW(n_i) < E(n_i)
- p_a = p_a_new;
- lamda = lamda * .5;
- kontrol = 0;
- else
- lamda = lamda / .5;
- end;
- end
- end;