Post Go back to editing

About pyadi-iio how to judge whether there is a signal in the frequency

Category: Software
Product Number: plutosdr

I'm stuck on how to use pyadi-iio rx data to judge that there is a signal at that frequency and not noise.

For example, the sample_rate is 1MHz, rx_rf_bandwidth is 1MHz, rx_buffer_size is 4096.

There is a qpsk signal at 2472MHz, through the pyadi-iio rx function, I will get 1000000 data per second. Can I accurately judge whether there is a qpsk signal there by taking 4096 data?  Whether there are other methods to accurately judge. 

Another question is, when I sweep around the 2472MHz frequency, I find that the qpsk signal at the 2472MHz frequency seems to spread to the surrounding frequencies, is this caused by the pyadi iio receive buffer? But in the python code I changed the receive buffer to 1 (sdr._rxadc.set_kernel_buffers_count(1) # Force no elastic buffers) as suggested by Travis.

Kind regards,

anasss

Top Replies

  • There is a qpsk signal at 2472MHz, through the pyadi-iio rx function, I will get 1000000 data per second. Can I accurately judge whether there is a qpsk signal there by taking 4096 data?  Whether…
Parents
  • There is a qpsk signal at 2472MHz, through the pyadi-iio rx function, I will get 1000000 data per second. Can I accurately judge whether there is a qpsk signal there by taking 4096 data?  Whether there are other methods to accurately judge. 

    This is a theoretical question on detection theory. I would suggest looking at textbooks from Steven Kay. This is really outside the bounds of our support here.

    Another question is, when I sweep around the 2472MHz frequency, I find that the qpsk signal at the 2472MHz frequency seems to spread to the surrounding frequencies, is this caused by the pyadi iio receive buffer? But in the python code I changed the receive buffer to 1 (sdr._rxadc.set_kernel_buffers_count(1) # Force no elastic buffers) as suggested by Travis.

    If this spreading goes away if you wait longer between buffer pulls you are getting a buffer that has data between LO transition. Setting kernel buffers to 1 does not guarantee that it doesn't happen but lowers the probability.

    -Travis

Reply
  • There is a qpsk signal at 2472MHz, through the pyadi-iio rx function, I will get 1000000 data per second. Can I accurately judge whether there is a qpsk signal there by taking 4096 data?  Whether there are other methods to accurately judge. 

    This is a theoretical question on detection theory. I would suggest looking at textbooks from Steven Kay. This is really outside the bounds of our support here.

    Another question is, when I sweep around the 2472MHz frequency, I find that the qpsk signal at the 2472MHz frequency seems to spread to the surrounding frequencies, is this caused by the pyadi iio receive buffer? But in the python code I changed the receive buffer to 1 (sdr._rxadc.set_kernel_buffers_count(1) # Force no elastic buffers) as suggested by Travis.

    If this spreading goes away if you wait longer between buffer pulls you are getting a buffer that has data between LO transition. Setting kernel buffers to 1 does not guarantee that it doesn't happen but lowers the probability.

    -Travis

Children
No Data