DantheMan89
Newbie level 1
I've been working off of an IEEE paper (https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=826787) and it's giving me a hell of a time trying to figure out how to implement equations 14 and 16.. I'm using Matlab to implement the code and I've implemented equation 17, which is also recursive, but only calls on itself.. 14 and 16 call on each other. If anyone could take a quick look at the equations and maybe give me a couple pointers on how to go about this...
I'm thinking to initialize the scaling vector and then the two will converge to the correct values with enough iteration..
Here's what I did for the single recursive function.. Now I just need to expand it to two without causing infinite loops...
function [ R_OUT ] = R_RECURSION( BETA, m, M, n, N, G ) % 'm' is implemented in the main function
% as 1:M so I get to all of the rows
G_TRANSPOSE = transpose(G);
if (n==1)
R_OUT = zeros(M,N);
R_OUT(1:M, 1) = G(1:M, 1)*G_TRANSPOSE(1:M, 1);
else
R_OUT = R_RECURSION(BETA, m, M, (n-1), N, G);
R_OUT(m,n) = (1 - BETA).*R_OUT(m,n-1) + BETA.*G(m, n)*G_TRANSPOSE(m,n);
end
end
Thanks for any help!
-Danny
I'm thinking to initialize the scaling vector and then the two will converge to the correct values with enough iteration..
Here's what I did for the single recursive function.. Now I just need to expand it to two without causing infinite loops...
function [ R_OUT ] = R_RECURSION( BETA, m, M, n, N, G ) % 'm' is implemented in the main function
% as 1:M so I get to all of the rows
G_TRANSPOSE = transpose(G);
if (n==1)
R_OUT = zeros(M,N);
R_OUT(1:M, 1) = G(1:M, 1)*G_TRANSPOSE(1:M, 1);
else
R_OUT = R_RECURSION(BETA, m, M, (n-1), N, G);
R_OUT(m,n) = (1 - BETA).*R_OUT(m,n-1) + BETA.*G(m, n)*G_TRANSPOSE(m,n);
end
end
Thanks for any help!
-Danny