Mercurial > hg > camir-aes2014
annotate toolboxes/FullBNT-1.0.7/Kalman/learn_AR_diagonal.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
rev | line source |
---|---|
wolffd@0 | 1 function [coef, C] = learn_AR_diagonal(y, k) |
wolffd@0 | 2 % Find the ML parameters for a collection of independent scalar AR processes. |
wolffd@0 | 3 |
wolffd@0 | 4 % sep_coef(1,1,t,i) is the coefficient to apply to compopnent i of the state vector t steps ago |
wolffd@0 | 5 % eg. consider two components L and R and let A = coef(:,:,1,:), B = coef(:,:,2,:) |
wolffd@0 | 6 % L3 (AL 0 BL 0) (L2) (CL 0 0 0) |
wolffd@0 | 7 % R3 = (0 AR 0 BR) (R2) (0 CR 0 0) |
wolffd@0 | 8 % L2 (1 0 0 0 ) (L1) + (0 0 0 0) |
wolffd@0 | 9 % R2 (0 1 0 0 ) (R1) (0 0 0 0) |
wolffd@0 | 10 |
wolffd@0 | 11 ss = size(y, 1); |
wolffd@0 | 12 sep_coef = zeros(1,1,k,ss); |
wolffd@0 | 13 for i=1:ss |
wolffd@0 | 14 [sep_coef(:,:,:,i), sep_cov(i)] = learn_AR(k, y(i,:)); |
wolffd@0 | 15 end |
wolffd@0 | 16 C = diag(sep_cov); |
wolffd@0 | 17 for t=1:k |
wolffd@0 | 18 x = sep_coef(1,1,t,:); |
wolffd@0 | 19 coef(:,:,t) = diag(x(:)); |
wolffd@0 | 20 end |