Is there a faster algorithm about this type of FFT my problem is:

A real sequence $C$, the length is  $N$ is multiple of 32, the pattern is as below:

$$C =\left(a_0,\, a_1,\, \ldots,\, a_{\frac N2-1},\,\, b_0,\, b_1,\,\ldots,\,  b_{\frac N2 -1}\right)$$

the other two sequence is $A$, $B$, length is also  $N$, as below:

$$\begin{align}
A &amp;=(a_0,&amp; a_1,&amp; \ldots,&amp; a_{\frac N2-1},&amp;&amp;0, &amp;&amp;\ldots&amp;0&amp;)\\
B &amp;=(0,&amp;&amp; \ldots,&amp; 0,&amp; b_0,&amp; b_1,&amp;\ldots,&amp;&amp; b_{\frac N2-1}&amp;)
\end{align}$$

you can see, $C= A+B$.

the DFT of sequence $C$ is known, but sequences $A$, $B$ and $C$ are all unknown.

I just want to know the DFT of sequence $A$ and $B$.

I know the ordinary method is


perform a backward FFT to get sequence $C$, then
sequence $A$ and $B$ becomes known, then
perform forward FFT about $A$, the DFT of $B$ can be get by subtract DFT
of $A$ from DFT of $C$;


but the computaton is too complicated,

Is there a faster computation method?
Alas, a multiplication by a rectangular window in the time domain is a convolution in the frequency domain.  Thus (assuming no other constraints on or knowledge about A or B), the DFT of A (or B) would have to be the convolution of the DFT of C with a twisty Sinc function, which is computationally far more expensive than 2 FFTs (except by fast convolution, which would require the same number of FFTs as your "ordinary" method).