Reflecting negative frequency to positive frequency I am trying to synthesize sinusoids by using window function in the frequency domain. 

It involves:


In frequency domain, shift the window to center around the peak frequency
To generate a DFT frame, sample a few values of the window around the peak as the spectral motif
Inverse-Fourier transform the spectral motif, to generate the sinusoid in the desired frequency


This approach works great in general, except for synthesising low frequencies. Because when shifting the window to the low frequency, the left side of the window will sit in the negative frequency domain.

The figure in the middle demonstrates the issue (T(k) sits in the negative domain)
 

I found a solution here, it suggested to add the complex conjugate value of the left tail of the window (in the negative domain) to the DFT bin that’s on the right tail of the window (in the positive domain). Which I can’t make sense of, and following this solution creates even more distortion. So I wonder if anyone knows how to do it properly. Any suggestions would be very appreciated!

Some excerpt from the aforementioned solution:


  The reflection about the k=0 axis is due to the specific embodiment
  described herein for synthesizing a sinusoid. For each real sinusoid,
  one peak exists in the positive frequency bins and another peak exists
  in the negative frequency bins. In the embodiment wherein only the
  peak in the positive frequency bins is synthesized, a peak centered
  about a low positive frequency bin spills into the negative
  frequencies (as shown by the plot for Ht(k−bc) in FIG. 3). Similarly,
  a peak centered about a low negative frequency bin spills into the
  positive frequencies. The portion of Ht(k−bc) in the negative
  frequencies that is reflected, or T*(−k), represents the portion of
  the peak centered about the negative frequency bin that spills into
  the positive frequencies.


PS. Some time ago I've raised this question on DSP-related forum. I've got very detailed suggestion from Robert, to ignore the bins lying on negative domain to specify the whole positive frequency, and then complex conjugate to reflect it to the negative frequency, which has improved the problem but it still can’t go down below 80 Hz. So I thought I’ll post again here.
You could use another approach: allow negative frequencies, do a complex IFFT, discard the imaginary parts of the time domain samples, and multiply the result by 2.
Let's try it in Octave (MATLAB clone) with a motif $[1 + 2i, 3 + 4i, 5 + 6i, 7 + 8i]$ shifted so that its leftmost bin ($1 + 2i$) lands on a negative frequency. FFT length is 8. (I rewrote the results for readability.)

&gt; g = [3 + 4i, 5 + 6i, 7 + 8i, 0, 0, 0, 0, 1 + 2i]
g =

   3 + 4i   5 + 6i   7 + 8i   0 + 0i   0 + 0i   0 + 0i   0 + 0i   1 + 2i

&gt; y = real(ifft(g))*2
y =

   4.00000  -0.89645  -2.00000   0.98223   1.00000  -1.60355   0.00000   4.51777

&gt; fft(y)
ans =

   6 + 0i   6 + 4i   7 + 8i   0 + 0i   0 + 0i   0 + 0i   7 - 8i   6 - 4i


The same time-domain signal $y$ can be generated by synthesizing the first 5 bins of $\text{fft}(y)$ and feeding them to real IFFT (which I assume you use). The 3 remaining negative-frequency bins the IFFT kind of generates internally. You can follow these steps for the synthesis:

1) For each bin of the shifted motif that lands on a positive-frequency bin, copy the value verbatim. (You are already doing this)

2) For a bin of the shifted motif that lands on the 0 Hz bin, double its real part and write that to the 0 Hz bin, discarding the imaginary part, like $3 + 4i \rightarrow 6 + 0i$ in the example. (You are already doing this)

3) For each bin of the shifted motif that lands on a negative-frequency bin, add its complex conjugate (same real part, sign of imaginary part flipped) to the positive-frequency bin that is at the same distance from the 0 Hz bin. This will be one of the bins already written to in step 1. In the second bin of the example $5+6i$ and $\text{conj}(1 + 2i) = 1 - 2i$ were summed to get $6 + 4i$. Don't expect the imaginary parts to cancel, because even if the motif might be symmetrical, those two motif bins are not located symmetrically on the opposite sides of the motif, unless you are synthesizing a 0 Hz sinusoid. It is perfectly fine if the imaginary part remains non-zero; frequency domain bins can have complex values and still yield real-valued time-domain data. 

Oh, and if the shifted motif reaches the Nyquist bin (corresponding to half the sampling frequency) or beyond, do exactly the same things there, mirroring around the Nyquist bin.