Reply by Mark Borgerding●November 29, 20072007-11-29
vanlansl wrote:
> I've heard that there is a way to essentially double the sampling rate of a
> complex input signal into a real FFT by alternating the real and imaginary
> signals in time (given that the I and Q are sampled independently)? Does
> this really work? If it does, are there only certain conditions
> (relationships between sample time and frequency) where it does?
>
> Thanks Much!
>
>
Sure. The only tool you need to understand this trick is linear
superposition.
i.e.
f + K*g <==> F + K*G
^^^^ ^^^^^
time domain frequency domain
Split the complex vector into the real part and the imaginary part
( in the above nomenclature: f==real part, g=image part, K=j )
so FFT(real + j*imag) == FFT(real) + j*FFT(imag)
One caveat: most real FFTs return only the half-spectrum, since the
other half is conjugate symmetric. You'll need both halves.
-- Mark
Reply by robert bristow-johnson●November 29, 20072007-11-29
On Nov 28, 10:50 pm, dbd <d...@ieee.org> wrote:
...
> The signal should be prefiltered to a bandpass that
> is much narrower than the Nyquist limit.
hmmmm. the thing i was thinking about was "merely" using an N/2
complex-in, complex-out DFT to perform an N-point DFT with real input
and where the output only contains half of the conjugate symmetric
output that you would get with a regular N-point DFT. now, to do the
"untangling", you would need an addition N/4 twiddle factors that the
N/2 point complex DFT did not use (but a regular N-point *does* use),
but there was no restriction of the bandwidth or frequency content of
the input data. the only restriction was that the imaginary part of
each sample is assumed zero (and not granted any space).
r b-j
Reply by dbd●November 28, 20072007-11-28
On Nov 28, 2:28 pm, Randy Yates <ya...@ieee.org> wrote:
> "vanlansl" <sv...@excite.com> writes:
> > I've heard that there is a way to essentially double the sampling rate of a
> > complex input signal [...]
>
> So you'd like to interpolate a complex signal by two?
>
> I'm sorry - I'm not sure what your question is, and I'm not sure Tim's or
> Robert's answer addresses it.
> --
> % Randy Yates % "How's life on earth?
> %% Fuquay-Varina, NC % ... What is it worth?"
> %%% 919-577-9882 % 'Mission (A World Record)',
> %%%% <ya...@ieee.org> % *A New World Record*, ELOhttp://www.digitalsignallabs.com
I've seen this more often the other way, from real to half frequency
complex by making even samples real, odd samples imaginary. Adjacent
input samples become a complex sample and alternate complex samples
are multiplied by -1.
This is based on complex demodulation by one forth the sample
frequency where the cosine terms are 1 0 -1 0... and the sine terms
are 0 1 0 -1... and the adjacent samples are summed as a crude
desampling filter. The signal should be prefiltered to a bandpass that
is much narrower than the Nyquist limit.
Try this process in reverse.
Dale B. Dalrymple
http://dbdimages.comhttp://stores.lulu.com/dbd
Reply by Randy Yates●November 28, 20072007-11-28
"vanlansl" <svan2@excite.com> writes:
> I've heard that there is a way to essentially double the sampling rate of a
> complex input signal [...]
So you'd like to interpolate a complex signal by two?
I'm sorry - I'm not sure what your question is, and I'm not sure Tim's or
Robert's answer addresses it.
--
% Randy Yates % "How's life on earth?
%% Fuquay-Varina, NC % ... What is it worth?"
%%% 919-577-9882 % 'Mission (A World Record)',
%%%% <yates@ieee.org> % *A New World Record*, ELO
http://www.digitalsignallabs.com
Reply by robert bristow-johnson●November 28, 20072007-11-28
On Nov 28, 12:55 pm, Tim Wescott <t...@seemywebsite.com> wrote:
> On Wed, 28 Nov 2007 10:20:58 -0600, vanlansl wrote:
> > I've heard that there is a way to essentially double the sampling rate of a
>
> > complex input signal into a real FFT by alternating the real and imaginary
>
> > signals in time (given that the I and Q are sampled independently)? Does
>
> > this really work? If it does, are there only certain conditions
>
> > (relationships between sample time and frequency) where it does?
>
> > Thanks Much!
>
> You could, if I'm not mistaken, use a real FFT that way, then peel out
> what would be the result of a complex FFT from the result.
>
> But I suspect that you'd use up just as much or more computation time than
> doing a complex FFT.
there *are* real to complex FFTs that take N *real* samples going in
and return N/2 complex values (where the Hermitian symmetry is
implied) and i thought they were meant to be more efficient than an N
point complex FFT where you started with all of the imaginary parts
zeroed and ended up with that conjugate symmetry explicit (thus a
little redundancy). for the first case, since the DC and Nyquist
components *have* to be purely real, what they usually do is put the
real part of the Nyquist component in the imaginary part of X[0]
(which would otherwise be known to be zero) so they can pack all of
the information into N/2 complex values.
>
> You should also be able to do a real FFT on the real part, then a real FFT
> on the imaginary part, and combine the answers. No, I'm not sure what's
> the right way to do this off the top of my head,
i've gone through it once here on comp.dsp. it was laborious and long
ago.
imagine a regular old N/2 point complex-in, complex-out DFT. define
the input signal such that the real parts of the input are the even
samples of an N point real sequence and that the imaginary parts are
the odd samples of the N point real sequence and "go to town" with
it. then see what you have to do to untangle the results you want
from it. have fun.
r b-j
Reply by Tim Wescott●November 28, 20072007-11-28
On Wed, 28 Nov 2007 10:20:58 -0600, vanlansl wrote:
> I've heard that there is a way to essentially double the sampling rate of a
>
> complex input signal into a real FFT by alternating the real and imaginary
>
> signals in time (given that the I and Q are sampled independently)? Does
>
> this really work? If it does, are there only certain conditions
>
> (relationships between sample time and frequency) where it does?
>
> Thanks Much!
You could, if I'm not mistaken, use a real FFT that way, then peel out
what would be the result of a complex FFT from the result.
But I suspect that you'd use up just as much or more computation time than
doing a complex FFT.
You should also be able to do a real FFT on the real part, then a real FFT
on the imaginary part, and combine the answers. No, I'm not sure what's
the right way to do this off the top of my head, but if you start with the
properties of the Fourier transform you can figure it out.
--
Tim Wescott
Control systems and communications consulting
http://www.wescottdesign.com
Need to learn how to apply control theory in your embedded system?
"Applied Control Theory for Embedded Systems" by Tim Wescott
Elsevier/Newnes, http://www.wescottdesign.com/actfes/actfes.html
Reply by vanlansl●November 28, 20072007-11-28
I've heard that there is a way to essentially double the sampling rate of a
complex input signal into a real FFT by alternating the real and imaginary
signals in time (given that the I and Q are sampled independently)? Does
this really work? If it does, are there only certain conditions
(relationships between sample time and frequency) where it does?
Thanks Much!