Regarding connecting SNR block in benchmark_rx

Hi

I have been working with gnuradio python programs for my project and I
am
trying to collect SNR data for the signals I receive using
benchmark_rx.py.
I have been dealing with connecting an SNR block in the benchmark_rx.py
and
I came across a block called, “gr.probe_mpsk_snr_c(thresh)”, which is in
the
receive.path.py.

Unfortunately, I am not very familiar with connecting blocks and using
them
in gnuradio python programs. I have asked gnuradio people before
regarding
connecting a block to collect the data about power of the signal
received.

I then received an email explaining to me about doing it by including
the
following statements and it worked perfectly.

    self.probe = gr.probe_avg_mag_sqrd_cf(thresh,alpha)
    self.power_sink = gr.file_sink(gr.sizeof_float, "rxpower.dat")
    self.connect(self.probe, self.power_sink) # should dump the 

power
values in a file…hopefully…
# Set up receive path
self.rxpath = usrp_receive_path.usrp_receive_path(demodulator,
rx_callback, options)

            #connects#
    self.connect(self.rxpath)
    self.connect(self.rxpath.channel_filter,self.probe)

I was then trying to use the similar list of commands to calculate the
SNR
using the block “gr.probe_mpsk_snr_c(thresh)” but it didnt work. I then
tried the following statements,

    self.probe = gr.probe_mpsk_snr_c(thresh)
    self.rxpath = usrp_receive_path.usrp_receive_path(demodulator,

rx_callback, options)
self.connect(self.rxpath)
self.connect(self.rxpath.channel_filter,self.probe)

But the receiver didnt receive anything properly and it was printing out
weird symbols.

It will be really helpful if someone can explain to me about connecting
this
block and measure the SNR.

Thank you


Regards

Shantharam Balasubramanian
MS in Electrical and Computer Engineering
Rutgers University
Ph:732-543-6863
Email:[email protected]