I need to find $X$ for which the following expression is minimized:

$$ \min ||Y - F^{-1}(X)||_2 + ||X||_1 $$

where $Y$ is an array (of length approx 44000, an audio sample I will be reading using Matlab's audioread( ) function) and $F^{-1}$ is the inverse fast Fourier transform ifft( ). Subscripts indicate 2-norm and 1-norm respectively. Could someone help me going about implementing it using Matlab?

  • $\begingroup$ Please explain more about the restrictions on the entries for $X$ over which the minimization is to be performed. For example, must $X$ be real values? $\endgroup$ – hardmath Apr 15 '16 at 11:13
  • 3
    $\begingroup$ Are you aware that minimizing $\| F(Y) - X \|_{2}$ is equivalent to minimzing $\| Y- F^{-1}(X) \|_{2}$? $\endgroup$ – Brian Borchers Apr 15 '16 at 14:45
  • $\begingroup$ @BrianBorchers Could you point me to a proof of that^ so I get a better understanding of the problem I have? $\endgroup$ – pyronic Apr 16 '16 at 12:17
  • $\begingroup$ @hardmath I want X such that ifft(X) is real. How do I add such a constraint? $\endgroup$ – pyronic Apr 16 '16 at 12:26
  • $\begingroup$ @pyronic look up Parselval's theorem and note that with the conventional notation for the discrete Fourier transform, there is a scaling factor of $1/\sqrt{N}$ between the norm of $Y$ and the norm of $F(Y)$. Also look up the symmetry properties of the discrete Fourier transform to understand how to limit your solutions to real signals. $\endgroup$ – Brian Borchers Apr 16 '16 at 14:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.