Remark: The answer deals with the Non Negative Least Squares variant the OP asked for.
This is an interesting question I'd like to try solving it without any Toolbox based functions in MATLAB.
First we need to establish the Complex Convolution as sometimes people use the conjugate operation in it (See comp.dsp - Complex Convolution):
$$
\begin{aligned}
\left( \boldsymbol{a} \ast \boldsymbol{b} \right) \left[ n \right] & = \left( \left( \Re \left( \boldsymbol{a} \right) + i \Im \left( \boldsymbol{a} \right) \right) \ast \boldsymbol{b} \right) \left[ n \right] \\
& = \left( \left( \Re \left( \boldsymbol{a} \right) + i \Im \left( \boldsymbol{a} \right) \right) \ast \left( \Re \left( \boldsymbol{b} \right) + i \Im \left( \boldsymbol{b} \right) \right) \right) \left[ n \right] \\
& = \left( \Re \left( \boldsymbol{a} \right) \ast \Re \left( \boldsymbol{b} \right) - \Im \left( \boldsymbol{a} \right) \ast \Im \left( \boldsymbol{b} \right) \right) \left[ n \right] + i \left( \Re \left( \boldsymbol{a} \right) \ast \Im \left( \boldsymbol{b} \right) + \Im \left( \boldsymbol{a} \right) \ast \Re \left( \boldsymbol{b} \right) \right) \left[ n \right]
\end{aligned}
$$
Verifying with MATLAB, the reference will be the convolution as multiplication in Frequency Domain (We use Circular convolution):
numSamples = 6;
numCoeff = 3;
vA = randn(numSamples, 1) + 1j * randn(numSamples, 1);
vB = randn(numCoeff, 1) + 1j * randn(numCoeff, 1);
vBB = vB;
vBB(numSamples) = 0; %<! Padding with zeros to have the same length of vA
vC = ifft(fft(vA) .* fft(vBB)); %<! The reference
vCC = cconv(vA, vBB, numSamples); %<! Check MATLAB's complex convolution
max(abs(vCC - vC)) %<! Should be ~0
% Checking the equation used
vCCC = cconv(real(vA), real(vBB), numSamples) - cconv(imag(vA), imag(vBB), numSamples) + ...
1j * (cconv(real(vA), imag(vBB), numSamples) + cconv(imag(vA), real(vBB), numSamples));
max(abs(vCCC - vC)) %<! Should be ~0
The answer is:
ans =
0
ans =
9.9301e-16
Now we can define $ \boldsymbol{a} = \boldsymbol{x} + i \boldsymbol{y} $ and $ \boldsymbol{b} = \boldsymbol{u} + i \boldsymbol{v} $.
Let $ U $ be the matrix form of $ \boldsymbol{u} $ and $ V $ the convolution matrix form of $ \boldsymbol{v} $ then the above can be written as:
$$ \left( \boldsymbol{a} \ast \boldsymbol{b} \right) \left[ n \right] = \begin{bmatrix}
U & V
\end{bmatrix}
\begin{bmatrix}
\boldsymbol{x} \\
- \boldsymbol{y}
\end{bmatrix} + i \begin{bmatrix}
U & V
\end{bmatrix}
\begin{bmatrix}
\boldsymbol{y} \\
\boldsymbol{x}
\end{bmatrix} $$
If we sperate it into a vector which its first half is the real values and its second half is the imaginary value we can have:
$$
\begin{bmatrix}
U & -V \\
V & U
\end{bmatrix}
\begin{bmatrix}
\boldsymbol{x} \\
\boldsymbol{y}
\end{bmatrix}
$$
Now all you need is to decompose your desired signal in the same manner and solve a Non Negative Least Squares problem.