1

I want to build a Python module receiving FFT data from a receiver (bandwidth from 20 mhz to 6 ghz). My goal is:

  1. Estimate noise floor.
  2. Detect energy over the noise floor (signal detection).
  3. Classify detected signal: Center frequency, low frequency, high frequency.

So, the input to this module will be FFT data with unknown signal/s and white noise. The expected output is a description of the signal/s detected (if any).

I was reading a lot of documentation but I don't see any Scipy.signal library performing these functions.

Related to point 1, I didn't find any library.

Related to point 2, I think find peaks could be a good option, but I need to estimate first noise floor.

Related to point 3, I only was able to find some matlab functions: obw, meanfreq, medfreq and powerbw. Also I found a python spectrum library but seems to create a Power Spectrum Density without signal description (I mean center, high and low frequency).

Note: this module is not oriented to audio spectrum analyzer (spectrum bandwidth from 20 mhz to 6 ghz).

Anyone knows some python library to perform this functions? Any advice to start building this module?

eduardosufan
  • 1,441
  • 2
  • 23
  • 51

1 Answers1

0

You must try GNU Radio Companion, It has plenty modules in Python and C++ ready to use. My suggestion to get better performance is use together, GNU Radio with any SDR receiver, like RTL SDR dongle, or more expensive the USRP B200 Mini, or B100 from Ettus Research.

javiercba
  • 49
  • 3