# Computing real signal with minimum absolute values from even magnitude spectrum

I want to derive a real audio signal from an arbitrary even magnitude spectrum.

The phase spectrum affects the values of the signal in the time domain; for example, a phase of 0 for all frequencies amounts to summing cosines in the time domain, which will result in a large peak at t = 0. I want to minimize the absolute values of the signal in the time domain without scaling the magnitude spectrum

I want this so that the audio signal can be multiplied by the largest scalar value possible without clipping. Is there a way to compute the phase spectrum that will do that? If there is a stupidly simply solution, I apologize in advance.

• i presume you want to minimize the max absolute value (which is the $L_1$ norm) while keeping the power (which is the $L_2$ norm) constant. otherwise you can minimize your absolute values by just turning the volume down. Commented Oct 21, 2017 at 4:44
• I'm aiming for a signal that can be as loud as possible without clipping. Commented Oct 21, 2017 at 4:46
• by "loud as possible", do you mean simply as much power as possible? do you want to consider A-weighting or similar in your definition of how loud a signal is? Commented Oct 21, 2017 at 6:30
• I meant just power Commented Oct 21, 2017 at 6:51
• May I also ask about the application you have? There's a lot of research on OFDM PAPR reduction that applies very much here, but we might really be finding a solution for the problem you state that doesn't actually help with what you want to do in the end. Commented Oct 21, 2017 at 10:05

## 1 Answer

Turns out this problem is known as crest factor minimization. I'm using an algorithm by Yang et al. (Phyiol. Meas. 36, 2015). Crest factor minimization algorithms typically are not proven to work on all possible magnitude spectra and only rarely proven to work on magnitude spectra with certain characteristics. Also, some iterative algorithms like Yang et al.'s have been shown in later publications to get stuck at a local minimum, not the global minimum. However, Yang et al.'s algorithm is satisfactory for the magnitude spectra I've tried so far.