next
up
previous
contents
index
Next: Phase bashing
Up: Phase
Previous: Phase
Contents
Index
Phase relationships between channels
In the scheme above, the phase of each $S[m, k]$ depends only on the previous
value for the same
channel. The phase relationships between neighboring channels are left to
chance. This sometimes works fine, but sometimes the incoherence
of neighboring channels gives rise to an unintended chorus effect. We
would ideally wish for $S[m, k]$ and $S[m,k+1]$ to have the same phase
relationship as for $T'[k]$ and $T'[k+1],ドル but also for the phase relationship
between $S[m, k]$ and $S[m-1,k]$ to be the same as between $T'[k]$ and $T[k]$.
These 2ドルN$ equations for $N$ phases in general will have no solution, but we
can alter the equation for $S[m, k]$ above so that whenever there happens to be
a solution to the over-constrained system of equations, the reconstruction
algorithm homes in on the solution. This approach is called
phase locking
[Puc95b], and has the virtue of simplicity although more
sophisticated techniques are available [DL97]).
The desired output phase relation, at the frame $m-1,ドル is:
\begin{displaymath} \angle T[k+1] - \angle T[k] = \angle S[m-1, k+1] - \angle S[m-1, k] \end{displaymath}
or, rearranging:
In other words, the phase of the quotient $S/T$ should not depend on $k$.
With this in mind, we can rewrite the recursion formula for $S[m, k]$:
\begin{displaymath} S[m, k] \; = \; { { \left \vert R[k] \right \vert} ^ {-1} } \cdot { {R[k] T'[k]} } \end{displaymath}
with
and because of the previous equation, the $R[k]$ should all be in phase. The
trick is now to replace $R[k]$
for each $k$ with the sum of three neighboring ones. The computation is then:
\begin{displaymath} S[m, k] \; = \; { { \left \vert R'[k] \right \vert} ^ {-1} } \; \cdot \; { {R'[k] T'[k]} } \end{displaymath}
with
\begin{displaymath} R'[k] = R[k+1] + R[k] + R[k-1] \end{displaymath}
If the channels are already in the correct phase relationship, this has
no effect (the resulting phase will be the same as if only $R[k]$ were
used.) But in general the sum will share two terms in common with its
neighbor at $k+1$:
\begin{displaymath} R'[k+1] = R[k+2] + R[k+1] + R[k] \end{displaymath}
so that the $R'$ will tend to point more in the same direction than the $R$
do. Applying this iteratively will eventually line all the $R'$ up to the
same phase, as long as the phase relationships between the measured spectra
$T$ and $T'$ allow it.
next
up
previous
contents
index
Next: Phase bashing
Up: Phase
Previous: Phase
Contents
Index
Miller Puckette
2006年12月30日