jeremyscerri@gmail.com
Guest
|
Posted:
Fri Dec 09, 2005 5:16 pm Post subject:
'Bypassing' frequency domain division with Levinson-Durbin |
|
|
I am using Matlab to separate and deconvolve two signals. Currently I
am only interested in doing this offline. I am simulating this using 2
clean (no reverberation) signals s1 & s2, and 4 room impulse responses,
h11, h12, h21 & h22 (neither of which is min phase, can say this
through visual inspection of the signal in time). 2 microphones pick up
the mixed and convolved signals x1 and x2 as follows:
x1=s1*h11+s2*h21
x2=s1*h12+s2*h22
where * denotes convolution
I have all the room impulse responses available for the
separation/deconvolution process thus this is not blind deconv.
Converting everything to the freq domain:
X1=S1H11 + S2H21
X2=S1H12 + S2H22
I can retrieve back my S1 and S2 by performing a matrix inversion,
hence
S1=(X1H22 - X2H21)/H and S2=(-X1H12 + X2H11)/H
where H=H11H22 - H12H21 (the determinant)
then the original time domain signals can be retreived by an inverse
fft.
The closest I got to the original signals s1 and s2 using this
procedure is around 0.7 when I performed cross correlation, audibly the
signals where just about acceptable. (Any suggestions as to how to use
SNR instead of cross correlation to measure the effectiveness of the
procedure appreciated here...)
Now, as far as I know I can improve on this by increasing the floating
point precision (which is not within my control) and try to bypass the
freq domain division since H is not mimimum phase.
Q1: having H11, H12, H21 & H22 non-min phase implies H is non-min phase
too, and if all H11, H12, H21 & H22 are min phase does this imply that
H will be min phase?
Since I do not know the answer to Q1 I will proceed as follows:
since S1=(X1H22 - X2H21)/H
and assuming that H is non-min. phase i cannot divide hence I have to
find h=ifft(H), find an approximate inverse of h (invh) in the time
domain using levinson-durbin algo. and then go back in the freq domain
INVH=fft(invh) such that
S1=(X1H22 - X2H21)INVH (no division only multiplication)
in this way I will not be dividing by a non min phase filter H.
Any comments greatly appreciated.
Jeremy |
|