discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Re: new to GNU radio


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] Re: new to GNU radio
Date: Wed, 05 Mar 2008 11:06:18 +0000
User-agent: Thunderbird 2.0.0.12 (Windows/20080213)

jiqun qi wrote:
Hey,

In fact, the mapped complex symbol will go into two parts, that is,
the real part and the image part will modulate the cos(w_c * t) and
sin(w_c * t), separately.
E.g., complex symbol is denoted, y = a+jb = r*cos(theta) + j*r*sin(theta);

I would just stick with this representation. Remember, it's called _phase_ shift keying. All of the information is stored in the phase of the signal. You can use the representation above:

y = r*cos(theta) + jr*sin(theta)

Or the complex baseband formula (remember Euler):
y = r*exp(j*theta)

For BPSK, a 1 (or 0) is when theta is 0; a 0 (or 1) is when theta is pi. The mapping is completely arbitrary as long as both TX and RX sides know it.

For QPSK, theta can be 0, pi/2, pi, or 3pi/2 (0, 90, 180, 270 degrees).

This is all in complex baseband. We then "modulate" onto the carrier frequency later using a quadrature upconverter. I've seen this confusion over the word modulate plenty of times in the past; modulate technically means to multiply a signal with a carrier (see your local Fourier transform table which will often list the Fourier transform of x(t)cos(wt) as modulation; Carlson I know does, but unfortunately Oppenheim and Haykin sitting in front of me don't use labels for their pairs).

Does this make sense now? Basically, we do our "modulation" in complex baseband and then "modulate" it to a carrier. In GNU Radio the carrier upconversion is done in the USRP.

Follow George's suggestion of looking in digital/benchmark_loopback.py, which takes an MPSK modulator and demodulator block through a simulated channel. We currently support DBPSK, DQPSK, and D8PSK. We use differentially encoded formats to make it a bit easier on the receiver. For non-differential modulations, you need to be able to make a decision on the absolute phase of the signal before you can demodulate it.

I also wish I had my slides finished on the basics of narrowband communications using GNU Radio examples. It gives nice diagrams to show all of these principles.

Tom



so, a*cos(w_c * t) - b*sin(w_c *t)
= r*cos(theta)*cos(w_c * t) - j*r*sin(theta)*sin(w_c * t)
= r*cos(w_c * t + theta)

This is the final transmitted real signals, where w_c is the carrier
frequency, shown in Gnu radio as well.


i understood in QPSK how the bits get mapped to constellation space.
One doubt still persists.QPSK modulation theory tells us that we need to
change the phase of the carrier depending upon the incoming data
bits..i.e what we see mapped to the constellation space is the modulated
data.
I cannot see a carrier frequency specified anywhere in bqpsk.y..Where do
i specify the carrier frequency for my transmission...this part is still
a bit hazy...
I can see the incoming bits getting mapped to constellation space not
the modulated data..M i missing something here?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]