I am receiving 16-bit data from USRP (data is in the range of -32768 to 32767) in Windows. Now I want to apply some demodulation algorithms to these samples but I am a bit confused. According to the following thread, each data sample that is coming from USRP is a complex baseband value. However, a complex baseband value should be of 32 bit (and not 16-bit) as it comprises of 16-bit I and Q each. http://www.ruby-forum.com/topic/182559 So the data samples that I am getting are in the form of I0,Q0,I0,Q0.... or a sum: (I + Q)? If these are in the form of I0,Q0 ... then how do we keep a track that which one is an I and which one is a Q?
on 2009-05-28 00:51
on 2009-05-28 00:59
On Wed, May 27, 2009 at 1:50 PM, Ujala Q. <firstname.lastname@example.org> wrote: > If these are in the form of I0,Q0 ... then how do we keep a track that which > one is an I and which one is a Q? If you use usrp_c() source, then the real part of the complex values are the I values and the imaginary parts are Q values. They are each 16 bits. Karthik
on 2009-05-29 02:27
Hi,I am not using GNU Radio, I am simply taking 16-bit data samples from the USRP in a small C++ interfacing program for Windows using "usrp_standard.h". Now, I want to write my own FM demodulation code for these samples as I am not using GNU Radio, I won't be using any signal processing blocks, therefore I cannot use usrp.source_c [s] block. So in this case, what is my 16-bit sample representing? An I or Q or (I + Q)?