# spectral factorization using cepstral deconvolution

Started by December 23, 2006
```Hi Rune,

I am very aware of the phase unwrapping problem.  There can also be the
huge problem of identifying what is what in the ceptrum.  The
breathtaking example for echo cancelling in O&S is an extremely ideal
case.  Schafer's thesis addressed multiple echos and (IIRC) filtered
echoes that quickly compilcated things.

Also, having a null in the spectrum and filling it with noise to avoid
taking log(0), as someone suggested, should not be expected to give the
right unwrapped phase.

It is a difficult technique to use for many applications.

Dirk

Dirk Bell
DSP Consultant

Rune Allnor wrote:
> dbell skrev:
> > Hi Emre,
> >
> > IIRC from >20 years ago, there was an approach to cepstral
> > deconvolution of f(n), n>=0, where there were nulls in the spectrum,
> > that multiplied f(n) with a decaying exponential g(n)=e^(-an), for
> > n>=0, a>0.  Again, IIRC, the multiplication shifted the zeroes away
> > from the unit circle so the the nulls were no longer present AND
> > modified the cepstrum in a very predictable way.  IIRC the cepstrum
> > could then be modified, inverted, and the scaling by g(n) removed.
> >
> > I think you can work through the math (I did at the time), but I
> > believe I saw this in Ron Schafer's MS (or is it S.M.?) disertation.
>
> I wouldn't be surprised if this was investigated by Schafer; I know
> Oppenheim has written a thesis over cepstrum processing.
>
> However, nulls is only one of the problems with cepstra. Another
> big problem is phase unwrapping.
>
> In order to extract the interesting pulse shapes, one needs to
> both unwrap the phase of the spectrum unambiguously, and also
> keep the FT pair of the log magnitude and unwrapped phase
> in sync with the requirements to causal signals.
>
> Not very easy.
>
> Rune

```
```dbell skrev:
> Hi Rune,
>
> I am very aware of the phase unwrapping problem.  There can also be the
> huge problem of identifying what is what in the ceptrum.  The
> breathtaking example for echo cancelling in O&S is an extremely ideal
> case.  Schafer's thesis addressed multiple echos and (IIRC) filtered
> echoes that quickly compilcated things.
>
> Also, having a null in the spectrum and filling it with noise to avoid
> taking log(0), as someone suggested, should not be expected to give the
> right unwrapped phase.
>
> It is a difficult technique to use for many applications.

I saw that cepstra had been tested for deconvoltion of seismic
signals in the mid '70s. The results could not have been good;
from a book that went out of print ages ago.

explanations why some technique doesn't work, rather than use
the techniques in applications.

Rune

```
```dbell wrote:
> Also, having a null in the spectrum and filling it with noise to avoid
> taking log(0), as someone suggested, should not be expected to give the
> right unwrapped phase.

Yes, adding a noise floor should not be expected give the right
unwrapped phase.  However, the one experiment I tried with
a series of decreasing noise floors did make the phase look
as if it were converging somewhere.  Whether or not it was
converging to the right value, I don't know, but it did help
me find some very low (if not provably minimum) impulse
responses for a given frequency response.

IMHO. YMMV.
--
rhn A.T nicholson d.0.t C-o-M

```