diff ddm_der_lin_sys_sol.m @ 0:a4a7e3405062

Import DDM code by Sašo Muševič
author Dan Stowell <dan.stowell@elec.qmul.ac.uk>
date Thu, 09 May 2013 20:04:15 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ddm_der_lin_sys_sol.m	Thu May 09 20:04:15 2013 +0100
@@ -0,0 +1,23 @@
+function [ddlss dlss A_plus AA_inv A_der_plus] = ddm_der_lin_sys_sol(A_sys,b_sys,A_der_sys,b_der_sys,N_fft,R,Q)
+dlss = zeros(Q+1, N_fft-R+1);
+ddlss = zeros(Q+1, N_fft-R+1);
+
+for l=1:N_fft-R+1
+  A = A_sys(:,:,l);
+  b = b_sys(:,:,l);
+
+  
+  AA_inv = inv(A'*A);
+  A_plus = AA_inv*A';
+  ddm_est_  = fliplr((A_plus * b).');
+  dlss(:,l) = [ddm_est_ 0];
+  
+  A_der = A_der_sys(:,:,l);
+  b_der = b_der_sys(:,:,l);  
+  AA_mix = ( A_der' * A + A' * A_der );
+  A_der_plus = (-AA_inv * AA_mix * AA_inv * A' + AA_inv * A_der');
+  ddm_est_der_ = fliplr((A_der_plus *b + A_plus * b_der).');
+  ddlss(:,l) = [ddm_est_der_ 0];
+  
+end
+end
\ No newline at end of file