Estimating a Wiener filter manually in Matlab

Hi all!

Problem:
I am currently trying to calculate a Wiener filter for a stochastic system. The model is an ARX with determined parameters.

Where I am:
I need to calculate the optimal causal filter:
H(s)=1/Fi(s)*[Sx(s)/Fi(-s)]L

I know that:
Fi(s)Fi(-s)=Sx(s)+Sn(s)
where Sx(s) is the power spectral density of the output signal and Sn(s) is the power spectral density of the aditive noise. To find Sx and Sn I found the square root of the absolute value of the transfer functions of the model and the noise filter respectively, in the jω domain.

I have the whitening filter (1/Fi(s)), I determined Fi(s) by taking out all poles and zeros on the right plane of Fi(s)Fi(-s).

Question:
Is the bode diagram of the whitening filter supposed to be the symetric, relative to magnitude, of the bode diagram of the noise filter of the model?

Now I have to determine:
[Sx(s)/Fi(-s)]L
I have Sx(s) and Fi(-s), but my question is how do I determine the transfer function of the non-causal part only? I know I could use partial fraction expansion by hand but my Sx(s) and Sn(s) have 12th order polynomials so I will certainly not go that way.

 PhysOrg.com science news on PhysOrg.com >> Leading 3-D printer firms to merge in $403M deal (Update)>> LA to give every student an iPad;$30M order>> CIA faulted for choosing Amazon over IBM on cloud contract