I'm struggling with particular (corner) case of interpolation of complex signal, in connection with OFDM modulation.
While I assume that guard sub-carriers are always used, I'm studying a case when all sub-carriers are used. So, lets take for example case with 8 sub-carriers. Particular case where I'm struggling is when ofdm symbol is created from following freq coefficients: ofdm_sym = ifft[0 0 0 0 1 0 0 0]
Here we get only sub-carrier on lowest frequency and result of this operation would give numbers below: 0.12500 -0.12500 0.12500 -0.12500 0.12500 -0.12500 0.12500 -0.12500
Doing FFT on this vector, would give input to ifft, as expected. But, what I have tried is to upsample this vector. In a somewhat straightforward test I've interleaved zeros between this numbers, and then applied low pass filtering (interpolation using poly or spline give same results). But, as this is marginal case, where imaginary components signal are always zero, result of upsample/interpolation is real signal, and thus my upsampled signal is not what I have wanted to get. Then I have tried to run ifft, uspample/interpolation with complex input to ifft. However, my upsampled signal always have two freq components (one positive and negative). From my tries to understand this scenario, I've realized that sine waves here are sampled at exactly two points per period, and that results with ambiguity on complex exponential that would fit through that points.
And at the end, I do not know how this upsample operation should be handled, and what I'm missing here, and I would appreciate if somebody could provide some insight what is wrong with my thinking.
Comment for the end: I can generate upsampled signal using upsampling in IFFT (but without splitting that N/2 coefficient in two).