Measuring SNR


#1

Hi,

I am trying to implement a particular channel coding technique as part
of my
work(Master’s Thesis). I need to test this technique in a fading
channel.
But since I have no control over the channel I cannot quantify channel
condition.I need SNR to analyze the performance of the coding
technique.The
only solution i thought was to inject noise at source and ensure that
transmission.But this is more like a simulation. I would like to know if
there are better ways to do this.

My second question is more related to Python programming. I need to run
a
series of scripts one after the other in my work.Though these scripts
work
fine independently. I get an error when I use os.popen(). In most cases
I do
not want the control to return back to the calling script.Could any one
suggest what is the best way to do this, or atleast a reference?

Thanks
Swapna


#2

On Thu, Feb 12, 2009 at 08:57:11AM -0600, Swapna R. wrote:

Hi,

My second question is more related to Python programming. I need to run a
series of scripts one after the other in my work.Though these scripts work
fine independently. I get an error when I use os.popen(). In most cases I do
not want the control to return back to the calling script.Could any one
suggest what is the best way to do this, or atleast a reference?

Try

os.system(“ls -l”)

Eric


#3

Eric,

Thank You.
os.system() worked. I can now switch between different scripts while in
transmitting mode.

To all,
While receiving data (using a modification of benchmark_rx.py) I need to
receive at a different frequency depending on some control information .

I get an error message while attempting to do this using os.system().It
says
*

cannot connect to usb interface, cannot connect to usrp1*.
I tried the following and it doesn’t work

1.I tried using flowgraph.disconnect and flowgraph.close() before
calling
the second script.
2.I tried calling os.system() after exiting rx_callback and main() but
it
still can’t connect to the source.
3.I also tried changing frequency instead of calling a separate script
inside rx_callback()

How can I ensure that the receive path is completely disconnected and
usrp_source is available?

thanks ,
Swapna


#4

I am sorry if my previous mail was confusing. I am trying to switch toa
different Rx freq depending on a control information. Even though I
exit
from rx_callback and try to call a new script for Rx using os.system I
get
an error message saying
USB _claim_interface :failed interface 2
Device or resource busy
can’t open rx_interface
can’t open usrp1.

I closed /disconnected the flowgraph before attempting to open a new
script.
How can I ensure that the rx_path is clear?

Thank you
Swapna


#5

Hello Swapna,

The SNR in wireless channel cannot be measured but it can be
“estimated”. One way to do that for constant envelope modulation such as
PSK is by measuring the variance in the received signal envelope.
Ideally you should receive a constant stable envelope of your signal.
However, due to the noise in the channel (assuming WGN channel, which is
normally the assumption for the famous theoretical waterfall plots for
BER vs SNR) you can find a relation between the variance in the envelope
and SNR.

To get the exact relation I suggest you to look at the last chapter of

Optical Bit Error Rate: An Estimation Methodology by
Stamatioshttp://search.barnesandnoble.com/booksearch/results.asp?ATH=Stamatios+V.+Kartalopoulos
V.
Kartalopouloshttp://search.barnesandnoble.com/booksearch/results.asp?ATH=Stamatios+V.+Kartalopoulos

I hope that helps. Good luck!

Kind regards,
Yahia Tachwali


From: discuss-gnuradio-bounces+ytachwali=removed_email_address@domain.invalid
[discuss-gnuradio-bounces+ytachwali=removed_email_address@domain.invalid] On Behalf Of Swapna
Raj [removed_email_address@domain.invalid]
Sent: Thursday, February 12, 2009 8:57 AM
To: removed_email_address@domain.invalid
Subject: [Discuss-gnuradio] Measuring SNR

Hi,

I am trying to implement a particular channel coding technique as part
of my work(Master’s Thesis). I need to test this technique in a fading
channel. But since I have no control over the channel I cannot quantify
channel condition.I need SNR to analyze the performance of the coding
technique.The only solution i thought was to inject noise at source and
ensure that transmission.But this is more like a simulation. I would
like to know if there are better ways to do this.

My second question is more related to Python programming. I need to run
a series of scripts one after the other in my work.Though these scripts
work fine independently. I get an error when I use os.popen(). In most
cases I do not want the control to return back to the calling
script.Could any one suggest what is the best way to do this, or atleast
a reference?

Thanks
Swapna