discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Editing usrp_spectrum_sense.py


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Editing usrp_spectrum_sense.py
Date: Wed, 23 Mar 2016 10:45:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

Hi Fikrat,

no need to apologize :) Just keep the list in CC:, as I did now.

In fact, we're usually pretty happy to meet a few software engineers in the GNU Radio community. We've got our own experience in writing efficient algorithms, and our own experts in making things highly accelerated on different platforms, and our hardware accelleration experts, but to be honest, people with more background on how to plan and implement software architecture are always welcome!

So, I'd like to point you to the "suggested reading" page in the GNU Radio wiki [1]. I think what is said on the "suggested reading order" page[2] is true for you, you might want to start by reading a few pages of a good DSP entry level book. The beginning of Lyons' [3] might  be good, and maybe your uni's library has it in paper form :) Anyway, reading the first chapter of that won't be overly hard, but it will probably help you in your final year project :)

Regarding EE basics like power: hm, it might really be worth getting whatever first semester EE students at your university read accompanying to their basic "linear electrical networks" lecture, just to have a quick reference to look things up :)

Best regards,
Marcus

[1] https://gnuradio.org/redmine/projects/gnuradio/wiki/SuggestedReading
[2] https://gnuradio.org/redmine/projects/gnuradio/wiki/SuggestedReadingOrder
[3] Lyons, Richard G. Understanding digital signal processing. Pearson Education, 2010.
Pearson has the first ~80 pages as sample read: I think they might fit you well:
http://ptgmedia.pearsoncmg.com/images/9780137027415/samplepages/0137027419.pdf

On 23.03.2016 10:27, Fikrat Al-Kazimi wrote:
Dear Marcus,

I truly apologize for any inconvenience. I clicked on the reply button instead of the reply all without noticing. You've been really helpful and I'm truly grateful.

I am a software engineering student, so I don't really know much about power and signals. However, my final year project  includes a portion of Wi-Fi signal monitoring and processing, so I'm required to learn and work on gnuRadio!

Thank you for your help again!

Best regards, 
Fikrat

On Tue, Mar 22, 2016 at 10:10 PM, Marcus Müller <address@hidden> wrote:
Dear Fikrat,

the physical power depends on your waveform. Generally, the power is always $P(t) =
                U(t)\cdot I(t)$, which, thanks to Ohm's law ($U=R\cdot I\rightarrow I = \frac UR$) is $P(t) =
                \frac{U^2(t)}{R}$. As you might know from the basics of electrical engineering, one can represent harmonic functions such as a voltage sine generated by a function generator as complex number with magnitude $A$ and phase $\varphi$ , i.e. as ${\underline U}(t) = A \cdot e^{j\varphi}$; notice that for the power consideration, you can omit the $e^{j\varphi}$, it always having the magnitude 1. Use your math basics to find the average power by integrating over a period. For harmonic signals you'll find that if you set $A=U_{eff}=\frac 1{\sqrt 2} U_{max}$.
2.  Moreover, am I supposed to connect the signal generator directly to the TX/RX port?
If you can make sure your signal generator doesn't push more than -15dBm into the USRP, then sure. Otherwise, use a calibrated attenuator and adjust your measurement.

I don't know which signal generator you use, but most RF signal generators I know accept both, either voltage/amplitude or power as setting.
Also make sure your signal generator is set to 50Ohm impedance, if that is adjustable.

3.  Finally, if that was the case, how do I observe the digital power on the USRP n210?
Well, the magnitude of the imaginary and real part of the digital samples are proportional to the voltage on the I and Q input of the ADC... Soooo: Digital power is just I²+Q² = |s|², the magnitude squared.

All in all, these are pretty basic questions; we're constantly working on making GNU Radio more beginner-friendly, but to do that, we might at times need to refer people to adequate literature.
So: May I ask what background you come from?

Best regards,
Marcus

PS: could you also try to keep the address@hidden mailing list at least in CC:? It's always better to ask the whole list instead of individual people. I might not always have the time...

On 22.03.2016 17:48, Fikrat Al-Kazimi wrote:
Dear Marcus,

Thanks a lot for your reply. I'm really grateful!

I have a few more inquiries I wish to get your help with if you don't mind. I just got access to a function generator and I plan on generating my injected signal using it. 

1.  The physical power of the injected signal is measured as Vmax^2 / 2R ?
2.  Moreover, am I supposed to connect the signal generator directly to the TX/RX port? 
3.  Finally, if that was the case, how do I observe the digital power on the USRP n210?

I apologize for the basic questions, but I'm fairly new to this field.

Best regards,
Fikrat

On Tue, Mar 22, 2016 at 12:24 AM, Marcus Müller <address@hidden> wrote:
Dear Fikrat,

Feed in a known power, note down the digital power, repeat for another known power.
You'll get three input power->digital power mappings.

Now, assume the power transfer function is a linear one:

$P_{digital} = G\cdot P_{analog} +
                              P_{noise}$

With the two $(P_{digital}, P_{analog})$ measurements you can simply deduce the slope $G$ of the above function; simple math, subtract the equations:

$P_{digital,1}-P_{digital,2}=(G\cdot
                              P_{analog,1} + P_{noise})-(G\cdot
                              P_{analog,2} +
                              P_{noise})=G(P_{analog,1}-P_{analog,2})$

and find $G$ and the offset $P_{noise}$.

Repeat with a few other known powers to make sure you're in the linear region.

Whatever you do, never feed in more than -15dBm into your device!

Best regards,
Marcus


On 21.03.2016 23:05, Fikrat Al-Kazimi wrote:
Hi guys,

I hope you're all doing well.

I'm been searching a lot and I read that if I want to measure the absolute power ( in W or dBm ) using the usrp_spectrum_sense.py, then I must calibrate the USRP by injecting a signal of known physical power. 

Can someone please walk me through the calibration steps? How can I accomplish this and what do I edit in the code after calibration is complete to help me sense the absolute power instead of power_dB?

Thank you for your help!


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


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






reply via email to

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