Thanks James,

What do you mean by “USRP will generate the in-phase and quadrature 
components”? Are you referring to the USRP receiver or transmitter? I am 
feeding the USRP transmitter with a real only signal s(t)=cos(w0*t), why does 
the received signal has an imaginary component (i.e. Q(t) is not zero)?

Thanks again,
Roee


On 16 Nov 2015, at 14:34, James Humphries <james.humphr...@ettus.com> wrote:

Hi Roee,

The USRP is not expecting any particular type of data. The USRP is a direct 
conversion transceiver that operates on I and Q samples, so in theory, you 
should be able to generate/receive any type of signal. If you input a cosine to 
the USRP, in will generate the in-phase and quadrature components of that 
signal. For a simple cosine input, you get I(t)=cos(w0t) and Q(t)=sin(w0t) 
components. 

Yes, the USRP performs low-pass filtering, but this is to remove out-of-band 
noise and other signals. It is not to suppress the side-bands like you would 
see in a system that only samples the in-phase signal components. Remember, we 
are down-converting to baseband, so the low-pass filter actually filters from 
-BW/2 to +BW/2 (where BW is your total bandwidth, in this case, it is usually 
your sample rate). Those 'mirror' images don't exist in this system since both 
the positive and negative frequency components can be uniquely determined with 
the I/Q components of the signal. If you were to just zero out either the I or 
Q component, then you would see your mirror images in frequency again.
 
-Trip

On Mon, Nov 16, 2015 at 2:52 AM, Roee Bar <ro...@ece.ubc.ca 
<mailto:ro...@ece.ubc.ca>> wrote:
Hi James,

Thank you very much for your time and effort!

Your explanation of the USRP complex modulation/demodulation is equivalent to 
what I originally described. 

Since my experiments show that the receiver did not always received what was 
transmitted, I thought there was something wrong with my assumptions about the 
complex demodulation, but my understanding was correct.

I believe the reason for the inconsistency between my sent signal and the 
received signal is that my original signal was not single-side-band, or, not 
‘proper’ IQ signal. 
Taking your example, if I wanted to transmit cos(w0*t), I transmitted 
s(t)=cos(w0*t), instead s(t)=cos(w0*t)+j*sin(w0*t). In that case, I received 
I(t)=cos(w0*t) but Q(t) was not zero (sometimes it was something like sin(w0*t) 
but not always).

So I guess the USRP receiver performs some low pass filtering which removes the 
lower-side-band or something similar. 

Can anyone confirm that the USRP expects single-side-band signals so I can put 
this issue to rest?

Thanks in advance,
Roee
 




On 13 Nov 2015, at 19:40, James Humphries <james.humphr...@ettus.com 
<mailto:james.humphr...@ettus.com>> wrote:

Hi Roee,

That's a great question! There are lots of explanations on the topic, but I'll 
try to show just some basics of the USRP (and is applicable to any direct 
conversion transceiver). For completeness sake, I'm going to include a lot more 
information than you probably need here. I've just copied over some figures 
from my thesis work to help explain some things.

Since the USRP is operating as a direct conversion transceiver, converting from 
RF to baseband (and vice versa), we need a way to be able to determine both the 
negative and positive frequency components of our signal. As you know, with 
only real samples, you cannot distinguish between the positive and negative 
frequency components due to the ambiguity in phase. To fix this, we need to 
decompose our signal into an In-Phase (Real, I) and Quadrature (Complex, Q) 
components. With these components, we can form a phase vector on a complex 
plane. Each sample in this system will consist of an In-Phase and Quadrature 
component. These components are 90 degrees out of phase, as shown on the 
complex plane below:

<I-Q_Diagram.png>
​

With this method to represent our signal, we can determine the negative and 
positive frequency components of the signal and perform complex phase 
modulation techniques (among many other advantages). Luckily, we already have 
two functions that are in quadrature, sine and cosine.

Let's say we do have a complex signal, s(t), that we want to transmit. This 
signal is composed of the I/Q components, so we'll say s(t) = I(t) + Q(t). The 
key here is that the I component is multiplied by a cosine term and the Q 
component is multiplied by a sine term. I've included a diagram below to 
illustrate:

<IQ_modulation_TX.png>
​
The two terms are then added into a single output and transmitted. For example, 
let's say we want to transmit a cosine signal, cos(wmt). The I component is 
cos(wmt), but the Q component is sin(wmt). When we mix our signals up, we end 
up with:

sout(t) = cos(wmt)*cos(wot) - sin(wmt)*sin(wot)  (minus sign due to -90 degree 
phase shift from LO) (wm is signal frequency, wo is oscillator frequency)

Using some trig identities, this expands to:

sout(t) = 1/2 * [ cos(wmt-wot) + cos(wmt+wot) ] - 1/2 * [ cos(wmt-wot) - 
cos(wmt+wot) ]

The first and third cosine terms cancel, leaving you with just the signal you 
wanted to output, but offset by your LO frequency:

sout(t) = cos(wmt+wot)

Receiving is just the opposite. Here is the receiver diagram:

<IQ_modulation_RX.png>

Multiply the incoming signal by a cosine and sine term to down-convert to 
baseband and also generate your I and Q components. The math is exactly the 
same in this case. Now, say we are receiving that cosine signal that we just 
transmitted. This gets decomposed into its I and Q components and you end up 
just where we started above. I think you can work it out from here to get the 
answer you were looking for.

Here is a nice site I like to use since it has good diagrams and illustrations:

http://whiteboard.ping.se/SDR/IQ <http://whiteboard.ping.se/SDR/IQ>

And a paper on direct conversion architecture (advantages/disadvantages):

http://www.seas.ucla.edu/brweb/papers/Journals/RTCAS97.pdf 
<http://www.seas.ucla.edu/brweb/papers/Journals/RTCAS97.pdf>

Hopefully that points you in the right direction, let me know if you need any 
more info (or any USRP specific info).

-Trip
​

On Fri, Nov 13, 2015 at 9:25 PM, Roee Bar <ro...@ece.ubc.ca 
<mailto:ro...@ece.ubc.ca>> wrote:
Hello,

I am trying to understand how the USRP performs the modulation/demodulation 
to/from higher frequencies.

Let's say I have a complex signal s(t). When I feed it to the USRP block, my 
understanding is that the USRP performs something like s(t)*exp(i*w*t), and 
transmit the real part of it, i.e.,
r(t) = 1/2 * (s(t)*exp(i*w*t) + s_c(t)*exp(-i*w*t)),
where s_c is the complex conjugate of s(t).

However, I couldn't find any explanation how the receiver brings the signal 
back to its original representation. My experiments show that it's not just 
multiplication with exp(-i*w*t) followed by low pass filter, but something 
else. The USRP source complex output is not the original s(t). Can someone 
please clarify this issue?

Thanks in advance!
Roee


_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio 
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>



_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org>
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio 
<https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>



_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to