DSPRelated.com
Forums

Reconstruction of time domain data using half of the frequency domain

Started by Shan9492 July 2, 2014
Hello all,

I'm an RF engineer trying to deal with some data which was taken by
sampling in the frequency domain and I don't have any expedience dealing
with this type of data…  I've run into a bit of a rut.

I have a set of radar data sampled in the frequency domain (an I and Q pair
is collected at specified range-delay positions).  This was done in order
to overcome several hardware limitations of getting high resolution data
via time domain sampling.  However, I'm faced with the following dilemma: 
I only have I and Q data for positive frequencies in 2GHz of bandwidth in
the K band, and I need the full spectrum (including negative frequencies)
in order to get an accurate result from the inverse Fourier transform. 
Additionally, I do not have access to any time domain data whatsoever;
these samples are all I have to play with.


Since my time domain signal should be all real, I've assumed that the
spectrum should be conjugate symmetric ( F(-w) = F*(w)) and replicated,
flipped, and scaled the I and Q arrays appropriately.  This seems to work,
as I get the time(range) domain results that I was anticipating.  However,
'Seems to work' and 'is mathematically valid' are two very different
things.  Is what I'm doing mathematically valid?  I know that sampling in
the frequency domain is used in other applications; does anyone know of any
'standard' ways of overcoming only having half of the full complex
spectrum?


Thanks!



	 

_____________________________		
Posted through www.DSPRelated.com
Hi,

what you're doing sounds correct. A real-valued signal has a conjugate
(Hermitian) spectrum.

The frequency domain coefficients scale "exp(i omega t)" terms. 
For a real-valued signal it is known that "exp(i omega t)" and "exp(-i
omega t") come in pairs, according to the exponential definition of cosine
and sine. It's easy to show if I state that the imaginary part of the
time-domain function is zero, there is no other way,.because terms with
differing omega are independent of each other.

Where you need to pay attention is 0 Hz(at least theoretically - the last
time I checked, DC-radar wasn't invented yet)

	 

_____________________________		
Posted through www.DSPRelated.com
On Wed, 02 Jul 2014 19:14:48 -0500, "Shan9492" <100758@dsprelated>
wrote:

>Hello all, >
[Snipped by Lyons]
> >Since my time domain signal should be all real, I've assumed that the >spectrum should be conjugate symmetric ( F(-w) = F*(w)) and replicated, >flipped, and scaled the I and Q arrays appropriately. This seems to work, >as I get the time(range) domain results that I was anticipating. However, >'Seems to work' and 'is mathematically valid' are two very different >things. Is what I'm doing mathematically valid? I know that sampling in >the frequency domain is used in other applications; does anyone know of any >'standard' ways of overcoming only having half of the full complex >spectrum? > > >Thanks!
Hi, If your freq-domain samples are obtained by performing a discrete Fourier transform (DFT), which includes the fast Fourier transform (FFT), on real-valued time samples, then the freq-domain symmetry you cited will always be true. For example, if you're performing an 8-point DFT on eight x(n) time samples, your eight complex-valued freq-domain samples will be (the '*' symbol means conjugate): X(0) [real-only] X(1) = X*(7) X(2) = X*(6) X(3) = X*(5) X(4) [real only] X(5) = X*(3) X(6) = X*(2) X(7) = X*(1) So the two real values, X(0) & X(4), plus the three complex values, X(1), X(2), & X(3), contain *ALL* the freq-domain information. Let's look at a simple 8-point DFT of the x(n) samples of x(n) = 1,2,0,0,0,0,0,0, and show that X*(7) = X(1). Writing the standard DFT summation equation for X(m),'m' is the freq-domain index (0 -to- 7). Because there are only two non-zero x(n) samples, the DFT summation becomes: X(m) = x(0)*exp(-j2p0m/8) + x(1)*exp(-j2p1m/8) = 1 + 2exp(-j2pm/8). (1) ('p' = pi.) The 1st term in Eq. (1) is the n = 0 term, and the 2nd term in Eq. (1) is the n = 1 term. So let's show that X(1) = X*(7). From Eq. (1) with m=1, X(1) is: X(1) = 1 + 2exp(-j2p/8) = 1 + cos(-2p/8) -jsin(-2p/8) And from Eq. (1) with m=7, X(7) is: X(7) = 1 + 2exp(-j2p7/8) = 1 + cos(-2p7/8) -jsin(-2p7/8) Because cos(-2p7/8) = cos(-2p/8), we can rewrite X(7) as: X(7) = 1 + cos(-2p/8) -jsin(-2p7/8) The conjugate of X(7) is: X*(7) = 1 + cos(-2p/8) + jsin(-2p7/8). Because sin(-2p7/8) = -sin(-2p/8), we can rewrite X*(7) as: X*(7) = 1 + cos(-2p/8) -jsin(-2p/8) = X(1). Which is what we set out to show. [-Rick-]
Thank you both very much!!


>On Wed, 02 Jul 2014 19:14:48 -0500, "Shan9492" <100758@dsprelated> >wrote: > >>Hello all, >> > [Snipped by Lyons] >> >>Since my time domain signal should be all real, I've assumed that the >>spectrum should be conjugate symmetric ( F(-w) = F*(w)) and replicated, >>flipped, and scaled the I and Q arrays appropriately. This seems to
work,
>>as I get the time(range) domain results that I was anticipating.
However,
>>'Seems to work' and 'is mathematically valid' are two very different >>things. Is what I'm doing mathematically valid? I know that sampling
in
>>the frequency domain is used in other applications; does anyone know of
any
>>'standard' ways of overcoming only having half of the full complex >>spectrum? >> >> >>Thanks! > >Hi, > If your freq-domain samples are obtained by >performing a discrete Fourier transform (DFT), >which includes the fast Fourier transform (FFT), >on real-valued time samples, then the freq-domain >symmetry you cited will always be true. > >For example, if you're performing an 8-point DFT >on eight x(n) time samples, your eight >complex-valued freq-domain samples will be >(the '*' symbol means conjugate): > > X(0) [real-only] > X(1) = X*(7) > X(2) = X*(6) > X(3) = X*(5) > X(4) [real only] > X(5) = X*(3) > X(6) = X*(2) > X(7) = X*(1) > >So the two real values, X(0) & X(4), plus the >three complex values, X(1), X(2), & X(3), >contain *ALL* the freq-domain information. > >Let's look at a simple 8-point DFT of the >x(n) samples of x(n) = 1,2,0,0,0,0,0,0, >and show that X*(7) = X(1). > >Writing the standard DFT summation equation >for X(m),'m' is the freq-domain index >(0 -to- 7). > >Because there are only two non-zero x(n) >samples, the DFT summation becomes: > > X(m) = x(0)*exp(-j2p0m/8) > + x(1)*exp(-j2p1m/8) > > = 1 + 2exp(-j2pm/8). (1) > >('p' = pi.) The 1st term in Eq. (1) is the >n = 0 term, and the 2nd term in Eq. (1) is >the n = 1 term. > >So let's show that X(1) = X*(7). From >Eq. (1) with m=1, X(1) is: > > X(1) = 1 + 2exp(-j2p/8) > = 1 + cos(-2p/8) -jsin(-2p/8) > >And from Eq. (1) with m=7, X(7) is: > > > X(7) = 1 + 2exp(-j2p7/8) > = 1 + cos(-2p7/8) -jsin(-2p7/8) > >Because cos(-2p7/8) = cos(-2p/8), we can >rewrite X(7) as: > > X(7) = 1 + cos(-2p/8) -jsin(-2p7/8) > >The conjugate of X(7) is: > > X*(7) = 1 + cos(-2p/8) + jsin(-2p7/8). > >Because sin(-2p7/8) = -sin(-2p/8), we can >rewrite X*(7) as: > > X*(7) = 1 + cos(-2p/8) -jsin(-2p/8) > > = X(1). > >Which is what we set out to show. > >[-Rick-] > >
_____________________________ Posted through www.DSPRelated.com