Rowan-Classes/7th-Semester-Fall-2024/ECOMMS/final-project/spectrum.py
2025-01-15 17:59:04 -05:00

28 lines
600 B
Python

import numpy as np
import matplotlib.pyplot as plt
import scipy as sp
from rtlsdr import RtlSdr
import asyncio
import dsp
class Spectrum(Display):
def __init__(self):
pass
def put(self, samples):
self.buffer.put(samples)
def update(self):
samples = self.buffer.get()
spectrum = np.abs(sp.fft.fftshift(sp.fft.fft(samples)))**2
spectrum_db = dsp.db(spectrum)
self.ax.clear()
self.ax.plot(spectrum_db)
self.ax.relim()
self.ax.autoscale_view()
self.fig.canvas.draw()
self.fig.canvas.flush_events()