#!/usr/bin/python3 print('*** Preprost zvočni spektralni analizator - S53MV 28.09.2020 ***') print('*** Preprost zvočni spektralni analizator - S53MV 28.09.2020 ***') fs=192000 #Frekvenca vzročenja zvočnega signala (max 192000Hz) pts=2048 #Število točk spektra 0...fs/2 (potenca 2 za učinkovit FFT) avg=128 #Število povprečenj spektra import sounddevice as sd #Poiskati na spletu in naložiti s pip3! import numpy as np #Uporaba učinkovitih funkcij numpy import matplotlib.pyplot as plt #Risanje rezultata z matplotlib fskala=np.linspace(0,fs/2,pts+1)[:-1] #Izračunaj frekvenčno skalo [Hz] def spekter(fs,pts,avg,fskala): #Zajem signala z zvočno kartico in povprečenje spektra [dB] s=sd.rec(pts*(1+avg),samplerate=fs,channels=1) #Vzorčenje ADC zvočne kartice, 2D polje! sd.wait() #Počakaj do konca vzorčenja nz=1.e-12 #Dodatek za neničelni argument logaritma s2=np.square(s) #Izpis jakosti/max [dB] print('Jakost:',"%.1f"%(10*np.log10(nz+np.mean(s2))),'dB Vrh:',"%.1f"%(10*np.log10(nz+np.amax(s2))),'dB',end=' ') o=1+np.cos(np.linspace(-np.pi,np.pi,2*pts)) #Okno dvignjeni kosinus k=0 s2=np.zeros(pts) while k