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.