SignalProcessing.Compute.Transform.MagnitudePhase
This node converts the complex output of a discrete Fourier transform (DFT) with a real and imaginary part to a magnitude and phase representation. The real $\mathrm{r}[n]$ and imaginary $\mathrm{i}[n]$ part of the DFT are set via the two input slots. The format of the magnitude signal $\mathrm{m}[n]$ can be selected via the format input slot:
- Format = 0: (standard)
$\mathrm{m}[n] = \sqrt{\mathrm{r}[n]^2 + \mathrm{i}[n]^2} $
- Format = 1: (dB)
$\mathrm{m}[n] = 20 \log \left(\sqrt{\mathrm{r}[n]^2 + \mathrm{i}[n]^2}\right) $
- Format = 2: (normalized)
$\mathrm{m}[n] = \sqrt{\mathrm{r}[n]^2 + \mathrm{i}[n]^2} / N $where $N$ is the length of input signals $\mathrm{r}[n]$ and $\mathrm{i}[n]$.
The phase signal $\mathrm{p}[n]$ is computed by:
$\mathrm{p}[n] =
\begin{cases}
\operatorname{atan2}(\mathrm{i}[n], \mathrm{r}[n]) & : |\mathrm{r}[n]| \ge t \, \lor \, |\mathrm{i}[n]| \ge t \\
0 & : |\mathrm{r}[n]| < t \, \land \, |\mathrm{i}[n]| < t\\
\end{cases}$
The threshold $t$ can be
set via the phase threshold input slot. If the absolute values of the real and imaginary part are below this threshold, the phase is set to zero.