First, Julia is a great replacement for Octave and in most cases "C". I
have used Octave for decades and Julia for a year or so.
I still have problems making the conversions. Any assistance will be
greatly appreciated.
This is short example of the modified Octave code that I have tried to
convert. I realize there is a difference
in how Julia handles arrays, but I don't seem to be able to resolve this
difference.
The following code I use in Octave:
function arburg1 (x, p)
a = zeros(p)
n = length(x)
v = sum(x.*x)
## f and b are the forward and backward error sequences
f = x[2:n]
b = x[1:n-1]
## remaining stages i=2 to p
for i=1:p
## get the i-th reflection coefficient
g = 2 * sum(f.*b)/(sum(f.*f)+sum(b.*b));
## generate next filter order
if i==1
a = g
else
a = a-g*a[i-1:-1:1] **** this is my problem area*****
endif
## keep track of the error
v = v*(1-g^2);
## update the prediction error sequences
oldf = f
f = oldf[2:n-i]- g*b[2:n-i]
b = b[1:n-i-1] - g*oldf[1:n-i-1]
end
a = -a[p:-1:1]
end
Thanks for any suggestions