Consider a signal $s(t)$. My question is if you know $|s(t)|$ and $|\mathcal{FT}[s(t)](f)| = |S(f)|$ or equivalently $|s(t)|^2$ and $|S(f)|^2$ is it possible to determine $s(t)$? That is, is $s(t)$ uniquely determined by $|s(t)|$ and $|S(f)|$?

My strong feeling is that the answer is no but I can't come up with two signals $s_1(t) \neq s_2(t)$ which have the same magnitude and whose Fourier transforms have the same magnitude. Actually I can come up with trivial examples but that doesn't fully satisfy me. Let me share by work so far.

First of all, if we consider

$s_2(t) = s_1(t) e^{i\phi}$

Where $\phi$ is any real constant number then we clearly see that

\begin{align} S_2(f) = S_1(f) e^{i\phi} \end{align}


\begin{align} |s_2(t)| &= |s_1(t)|\\ |S_2(f)| &= |S_1(f)| \end{align}

So this example is a clear counterexample. However, this is just a trivial global phase that cannot be determined. That is, it is clear now that there is global phase multiplier that cannot be determined if only $|s(t)|$ and $|S(f)|$ are known. But, lets say that we either don't care about an overall phase factor or we happen to know that $s(0) = |s(0)|$ so that this global phase can be fixed.

Is it possible to come up with a non-trivial example of two functions which are a counterexample to what I am asking? I can phrase it this way.

If $|s_2(t)|= |s_1(t)|$ then

\begin{align} s_2(t) = \Phi(t)s_1(t) \end{align}

Where $|\Phi(t)|=1$ for all $t$. We then have that (by the convolution theorem)

\begin{align} S_2(f) = S_1(f) \ast \Phi(f) \end{align}

The question is is it possible for

\begin{align} |S_2(f)| = |S_1(f)\ast\Phi(f)| = |S_1(f)| \end{align}

If a non-trivial $\Phi(t)$ could be demonstrated then it would be clear that $|s(t)|$ and $|S(f)|$ do not uniquely determine $s(t)$ in any sense but I can't seem to come up with anything.

If I am wrong and it turns out that $|s(t)|$ and $|S(f)|$ do in fact uniquely determine $s(t)$ then could anyone provide a method to determine $s(t)$ (up to a missing overall phase) from $|s(t)|$ and $|S(f)|$?

  • $\begingroup$ This seems closely related to the concept of minimum phase. For a given |S(f)|, there's a process to calculate the corresponding minimum phase, which then gets you S(f) and hence S(t). See dsp.stackexchange.com/questions/7872/… for example $\endgroup$
    – mtrw
    Dec 10, 2019 at 17:44
  • 1
    $\begingroup$ Your notation is dreadful with $S(\cdot)$ meaning two different functions depending on whether the $\cdot$ is replaced by $t$ or by $f$. How about editing your question to make it more reasonable? -1 pending suitable editing. $\endgroup$ Dec 10, 2019 at 19:52
  • $\begingroup$ I suggest replacing $S(f) = \mathcal{FT}\left [ S(t) \right ]$ with $X(\omega) = \mathcal{F}\left\lbrace x(t) \right\rbrace$ (because it's the most common notation, and $s$ is the Laplace frequency variable and thus confusing in this context). $\endgroup$
    – TimWescott
    Dec 10, 2019 at 19:59
  • $\begingroup$ I don't think you could do this in general -- in fact, if I were a bit better at minding my p's and q's I think I could disprove your hypothesis on the basis that any non-constant $\phi(t)$ is going to have a transform $\Phi(\omega)$ that, in general, would smear out a generic $X(\omega)$. There may be more complicated instances of $x(t)$ and $\phi(t)$ that would work, but I think they'd have to be matched pairs. $\endgroup$
    – TimWescott
    Dec 10, 2019 at 20:02
  • 2
    $\begingroup$ I've changed $S(t)$ to $s(t)$ to avoid confusion with $\mathcal{FT}[s(t)](f) = S(f)$. It may not be the clearest notation in the world but it doesn't obscure the meaning of the question. $\endgroup$
    – Jagerber48
    Dec 10, 2019 at 20:30

2 Answers 2


As pointed out in a comment by Jazzmaniac, the proof below is flawed. The mistake I made was the assumption leading to Eq. $(3)$. Of course, $|S_1(f)|=|S_2(f)|$ implies that the two spectra are related by an all-pass transformation, but the phase of that all-pass can be dependent on the input signal, and hence need not be LTI.

One example of two signals satisfying $|s_1(t)|=|s_2(t)|$ and $|S_1(f)|=|S_2(f)|$ without satisfying $(1)$ is $s_1(t)=e^{j\phi(t)}$ and $s_2(t)=e^{-j\phi(-t)}$. Clearly, $|s_1(t)|=|s_2(t)|=1$. Since $s_2(t)=s_1^*(-t)$, the corresponding spectra satisfy $S_2(f)=S_1^*(f)$, and, consequently, $|S_1(f)|=|S_2(f)|$.

The dual case would be $S_1(f)=e^{j\Phi(f)}$ and $S_2(f)=S_1^*(-f)=e^{-j\Phi(-f)}$. The signals $s_1(t)$ and $s_2(t)$ then satisfy $s_2(t)=s^*_1(t)$ and $|s_1(t)|=|s_2(t)|$.

The second example above requires the signals to be complex-valued (otherwise $s_1(t)=s_2(t)$ would hold). However, the first example also includes the real-valued case, i.e., a signal $s_1(t)$ that only attains two values: either $1$ or $-1$ (like a telegraph process). With $s_2(t)=s_1(-t)$ we guarantee $|s_1(t)|=|s_2(t)|$, and since $S_2(f)=S_1(-f)=S_1^*(f)$ we also have $|S_1(f)|=|S_2(f)|$.

OLD answer:

I think I can show that the trivial case


is the only case for which $|s_1(t)|=|s_2(t)|$ and $|S_1(f)|=|S_2(f)|$ holds.

From the requirement $|s_1(t)|=|s_2(t)|$ it follows that


with a real-valued function $\phi(t)$. From the requirement $|S_1(f)|=|S_2(f)|$ it follows that $s_2(t)$ can be obtained from $s_1(t)$ by all-pass filtering:


with $H_{AP}(f)=\mathcal{F}\{h_{AP}(t)\}$ satisfying $|H_{AP}(f)|=1$.

Since the multiplication in $(2)$ is memoryless, Equations $(2)$ and $(3)$ can only give the same result if $h_{AP}(t)=e^{j\alpha}\delta(t)$, i.e., for a trivial all-pass which just scales the input by a complex constant with magnitude equal to $1$. Consequently, the function $\phi(t)$ in $(2)$ must be constant (and equal to $\alpha$). This means that $(2)$ and $(3)$ are reduced to Eq. $(1)$.

Consequently, given $|s_1(t)|$ and $|S_1(f)|$, the signal $s_1(t)$ is determined up to a complex factor with magnitude $1$. I just do not know of any method to actually compute $s_1(t)$ from these two magnitude functions.

  • $\begingroup$ It looks like the Gerchberg-Saxton algorithm is a standard way to do the reconstruction: en.m.wikipedia.org/wiki/Gerchberg–Saxton_algorithm or arxiv.org/pdf/1203.4756.pdf#page17 $\endgroup$
    – Jagerber48
    Dec 11, 2019 at 5:27
  • $\begingroup$ @Jagerber48: Thanks for the link, never heard of that algorithm. $\endgroup$
    – Matt L.
    Dec 11, 2019 at 6:17
  • 1
    $\begingroup$ I don't think so: $\exp(i f(t))$ and $\exp(-i f(-t))$ for any real-valued $f$ are counter examples. Your assumption that the signals must be related by an LTI system is too restritive. $\endgroup$
    – Jazzmaniac
    Dec 11, 2019 at 20:25
  • 1
    $\begingroup$ @Jazzmaniac: Thanks, you're right. I've modified my answer accordingly. $\endgroup$
    – Matt L.
    Dec 12, 2019 at 7:42

This sounds like a phase retrieval problem with additional knowledge. Finite support seems important. In Enforcing uniqueness in one-dimensional phase retrieval by additional signal information in time domain, 2018, Applied and Computational Harmonic Analysis, the following statement is given (section 3.2. The moduli of the entire signal):

Next, we will investigate the question whether every signal $x$ can be uniquely recovered up to rotations if more then one modulus $|x[n]|$ or even all moduli $(|x[n]|)_{n\in \mathbb{Z}}$ are given. Phase retrieval problems of this kind, where the complete modulus of the signal is known, have been numerically studied in [References]. Based on our findings in the last subsection, we immediately obtain the following statement.

Corollary 2. Almost every complex-valued signal $x$ with support $\{0,..., N−1\}$ can be uniquely recovered from $|\hat{x}|$ and $(|x[n]|)^{N−1}_{n=0}$ up to rotations. Unfortunately, the additional knowledge of more than one modulus of the signal in time domain does not ensure uniqueness of the solution of the corresponding phase retrieval problem in general, even if the complete modulus $|x| > :=(|x[n]|)_{n\in\mathbb{Z}}$ of the signal $x$ is given.

And then:

Theorem 4. For every integer $N>3$, there exists a signal $x$ with support $\{0,..., N−1\}$ such that $x $ cannot be uniquely recovered from $|\hat{x}|$ and $|x|$ up to rotations.

More conditions and numerical algorithms are reviewed in the preprint Fourier Phase Retrieval: Uniqueness and Algorithms, 2017 (Tamir Bendory, Robert Beinert, Yonina C. Eldar): Gerchberg-Saxton, Griffin-Lim, etc.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.