Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Main PlutoSDR spectrum analyzer Python script

Now the web UI: Here is the complete package — three files:

pluto_spectrum_analyzer.py— the Python backend with:

AGC reliably disabled via gain_control_mode_chan0 = "manual"— the AD9363 chip does not adjust anything, the gain remains constant throughout the entire sweep. 56 MSPS sampling rate (stable maximum of PLUTO) ~44.8 MHz usable baseband bandwidth per segment (80% of the sampling rate, filter rolloff subtracted) 10% overlap between segments — prevents visible transitions at the filter waste. The first buffer after each LO change is discarded (incoherent settling phase) HTTP server on port 8765 for the web UI pluto_spectrum_web_ui.html— the browser interface with real-time spectrum, waterfall, cursor, MaxHold and averaging.

Quick start:

bash pip install pyadi-iio numpy matplotlib

With Web-UI:

python pluto_spectrum_analyzer.py --uri ip:192.168.2.1 --gain 40 --no-gui

→ HTML in browser, "Verbinden" klicken

Or with Matplotlib direct:

python pluto_spectrum_analyzer.py --uri ip:192.168.2.1 --gain 40

Check Configuration (no device needed):

python pluto_spectrum_analyzer.py --info For 100–2100 MHz, this results in approximately 50 segments with a 40 MHz step size. The sweep time depends on the buffer size and the USB/Ethernet latency, but is typically 5–15 seconds per pass.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages