Hi,
I am new to Gnuradio. I have a question about complex sampling. Does
complex
sampling in gnuradio mean that the Real signal is coverted to its
Inphase
and Quadrature components or is it that two different signals are passed
as
a complex unit instead of two real units. I can’t find an answer to
this.
Please help.
Thank you.
Peng
On Fri, Jun 12, 2009 at 6:30 AM, Peng Huo[email protected] wrote:
Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page
In the complex sinks and sources, the real and imaginary components
are the baseband inphase and quadrature components respectively.
If I understand correctly, the real signal picked up by the antenna is
mixed
with two sine waves, 90 degrees out of phase, to create the I and Q
components at baseband (depending on the daughterboard, there may be an
intermediate frequency involved). The I and Q signals are then sampled
by
the ADCs. I and Q are then interleaved and sent over USB.
See page 9 of the USRP FAQ for more info.
Jordan
Jason
From what I’ve picked up, you need two external sampled signals to get
an I-Q signal. With the TV tuner daughterboard, you automatically get
two signals. You just need to set the mux accordingly. When you use
a BasicRX, you need to feed the same signal to both inputs and use a
mux value of 0x32103210.
Sebastiaan
On Fri, Jun 12, 2009 at 5:50 PM, Jordan J Riggs[email protected]
wrote:
Discuss-gnuradio mailing list
[email protected]
Discuss-gnuradio Info Page
–
Sebastiaan H.
Radar Remote Sensing Group, University of Cape Town, South Africa
Tel: +27 83 305 5667
Ok, I understand. To convert this complex signal to a real, one has to
do
this according to the following formula, isn’t it?
x(t) = X(t)Cos(2pifct) - X(t)Sin(2pifct) where X(t) -> Complex
signal,
fc -> Carrier frequency, x(t) -> real signal.
I looked at the block “complex_to_real” and it outputs the Inphase
component
as the real signal. Is it because, “fc” is 0Hz as the signal being at
baseband? I think this sounds right.
I want to mulitply a real signal with a PN sequence and then pass the
result
on to a costas loop which takes a complex input. I want to know how can
we
get a complex signal from a real one. Is there a block that does that?
Thanks
Peng
On Sat, Jun 13, 2009 at 02:31:59AM +0200, Sebastiaan H. wrote:
Jason
From what I’ve picked up, you need two external sampled signals to get
an I-Q signal. With the TV tuner daughterboard, you automatically get
two signals. You just need to set the mux accordingly. When you use
a BasicRX, you need to feed the same signal to both inputs and use a
mux value of 0x32103210.
If you use the standard interfaces, you don’t have to do anything. You
always get a valid complex baseband signal.
The daughterboard code knows which boards have a single real output
and which have quadrature inputs. In the single real case (e.g.,
TVRX), the library configures the mux such that it feeds the single
input into the I side of the DDC and connects a constant zero into the
Q side. The output of the DDC is always complex. In the case of
daughterboards with quadrature output, one input is connected to the
I input of the DDC and the other is connected to the Q input.
See http://gnuradio.org/trac/wiki/UsrpRfxDiagrams
Eric
hi,
To convert this complex signal to a real, one has to do
this according to the following formula, isn’t it?
x(t) = Y(t)Cos(2pifct) - Y(t)Sin(2pifct) where
Y(t) -> Complex signal,fc -> Carrier frequency, x(t) -> real signal.
I looked at the block “complex_to_real” and it outputs the Inphase
component
as the real signal. Is it because, “fc” is 0Hz as the signal being at
baseband? Won’t we lose essential information by dropping the
Quadrature component. What about the
reverse operation?
I want to mulitply this real signal with a PN sequence and then pass the
result
on to a costas loop which takes a complex input. I want to know how can
we
get a complex signal from a real one. Is there a block that does that?
The book “Communication Systems” by Simon Haykin 2nd edition says,
- The complex envelope g_complex(t) equals a frequency shifted version
of the pre-envelope g+(t) as shown
g_complex(t) = g+(t)exp(-j2pifct), where fc->
carrier frequency.
and the pre-envelop is defined as, g+(t) = g_real(t) + j*g_hilbert(t).
My problem is that we are working at OHz. How do I go ahead with this?
If this what I need to do to get what I want then is there a
block that does it all?
Thanks,
Peng.
P.S. - I am sorry but I thought to make sure before I go ahead so that
I don’t spend time doing things that may be unnecessary.