3

I am interested in any insight on inverting a self-convolution. In other words, given a function $f : [0,L] \to \Bbb R$, find a function $g : [0, \frac{L}{2}] \to \Bbb R$ such that

$$f = g \ast g$$

The context I am most immediately interested in is window functions in audio processing. Note that if you self-convolve a windowing function, you get another one with twice the window length.

In principle, this should mean taking the square root of the Fourier transform $F(\omega)$ of $f$ and then inverse-transforming back to the time domain. However, the square root is ambiguous and one could pick different square roots for every value of $\omega$.

I have tried experimenting numerically using the FFT, but in general I don't get a real function with the bounded support that I want — it spreads over the whole FFT window and is complex. So it seems at least part of the problem is that there are infinitely many inverse self-convolutions but possibly only one that has the windowing properties I'm looking for, i.e., real and nonzero only on $[0,L/2]$.

A similar question was asked on math Reddit a while ago, without a satisfactory answer — otherwise I haven't been able to find any reference. I found plenty about the forward process of self-convolution, but nothing about the inverse.

  • The ambiguity of the square root may be ok. Suppose you found certain $g$ for given $f$. Observe that $-g$ should solve the problem as well, thus you do not have a unique solution, but rather a family of solutions (you may change sign of $g$ at some points, not only at all points, etc.). – guest Aug 15 '21 at 15:32
  • This is true, but part of the issue is that the Fourier transform $G(\omega)$ may change signs at multiple points, which can have unpredictable effects on the phase cancellations necessary to make $g(t)=0$ outside the window. Now, if I look at a plot of $G(\omega)$ I can sometimes guess that there should be zero crossings rather than cusps at certain points, but that doesn't easily translate into an algorithm. I guess I could split my question into a) general existence and uniqueness and b) algorithms for computing, numerically or in closed form. – PatrickComposerPhysicist Aug 15 '21 at 16:03
  • 2
    It appears you are trying to solve this for arbitrary $f$. Note this factorization will exist if and only if $f$ is an auto-correlation sequence, which means $f$ should have a number of properties, such as being symmetric and having a real-valued Fourier transform (no imaginary component). Is that the case? In general, what you are trying to do is called "spectral factorization." The paper "FIR Filter Design via Spectral Factorization and Convex Optimization" by S. Boyd should probably be a good starting point. – Stelios Aug 15 '21 at 20:12
  • Thanks, that sounds like a potentially helpful lead. The functions I'm thinking of are symmetric, although I have also wondered about the possibility of designing a pair of functions which are not symmetric and not the same function but whose convolution would be, say, a Hann window. I'll try looking up that paper and spectral factorization more generally to see if that leads to more insight. – PatrickComposerPhysicist Aug 15 '21 at 22:11

0 Answers0