Enota 4 / 9

Obdelava signalov in analiza podatkov

Dobički:

  • Sposobnost natančnega določanja parametrov obdelave signala, kot so frekvenca vzorčenja, vrsta filtra in okno z AI
  • Sposobnost generiranja kode Python za FFT, načrtovanje filtrov in analizo šuma ter preverjanje Nyquista in vzdevkov
  • Sposobnost preverjanja interpretacije spektra, ki jo ustvari umetna inteligenca, s primerjavo z meritvami in fizičnimi pričakovanji

Neobdelani podatki samo iz senzorja, mikrofona ali električnega voda so pogosto nesmiselni; Potrebno ga je obdelati in interpretirati na osi frekvence, amplitude in časa. Ekstrahiranje spektra s FFT, filtriranje hrupa, prepoznavanje vibracijskega podpisa ... Vse to je obdelava signalov in AI ustvari hitro kodo Python na tem področju, razloži koncepte, izračuna koeficient filtra. Toda majhna napaka parametra pri obdelavi signala (napačna frekvenca vzorčenja, napačno okno, preskočen Nyquistov nadzor) tiho uniči celotno analizo; Koda ne daje napak, daje samo napačne rezultate. V tej enoti bomo pokrivali nastavitev pravilnih parametrov z AI, preverjanje ustvarjene kode v smislu Nyquista in aliasinga ter preverjanje interpretacije spektra s fizično realnostjo.

Osnovni parametri: vzorčenje, Nyquist, vzdevek

Prvo pravilo digitalne obdelave signalov je Nyquist-Shannonov izrek: za natančno predstavitev signala mora biti frekvenca vzorčenja vsaj dvakrat večja od najvišje frekvenčne komponente v signalu. V nasprotnem primeru bodo visoke frekvence prikazane kot nizke (aliasing) in tega ni mogoče obrniti.

Najvišja frekvenca v signalu: f_max = 2 kHz Najmanjša frekvenca vzorčenja: f_s ≥ 2 · f_max = 4 kHz Da pustimo rezervo v praksi: f_s ≈ 5 · f_max = 10 kHz je izbrano. Pred vzorčenjem je OBVEZEN tudi analogni anti-aliasing filter.

Pozor: Ko AI predlaga frekvenco vzorčenja, preverite, ali zagotavlja Nyquist na podlagi najvišje komponente vašega signala. Koda teče brez napak tudi pri nizki frekvenci vzorčenja; vendar je rezultat napačen zaradi vzdevka. Poleg tega nobena programska oprema ne more razveljaviti te napake brez filtra za izravnavo v strojni opremi.

Ločljivost in okna za FFT

Frekvenčna ločljivost FFT je odvisna od frekvence vzorčenja in števila vzorcev: Δf = f_s / N. Za boljšo ločljivost zberete več vzorcev ali izberete nižje f_s (brez pokvarjenega Nyquista). Poleg tega prekinitev med začetkom in koncem signala ustvarja "spektralno uhajanje"; Za zmanjšanje tega se uporabljajo okenske funkcije, kot sta Hann in Hamming.

f_s = 10 kHz, N = 1024 vzorcev Frekvenčna ločljivost: Δf = 10000 / 1024 ≈ 9,77 Hz Skupni čas snemanja: T = N / f_s = 1024 / 10000 ≈ 102,4 ms

Ustvarjanje in preverjanje kode FFT in filtra

Izrecno določite frekvenco vzorčenja, vrsto okna in merilo osi, ko od AI zahtevate kodo FFT. Naslednja koda izpiše enostranski amplitudni spekter signala:

uvozite numpy kot npfs = 10000 # frekvenca vzorčenja (Hz) - preverite Nyquist!N = 1024t = np.arange(N) / fs# vzorčni signal: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0,5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # okno: zmanjša spektralno uhajanje, normalizirano z ojačanjem# preveri najvišje frekvencespeaks = f[np.argsort(mag)[-2:]]print("Dominantne frekvence (Hz):", np.sort(peaks))

Pri preverjanju te kode boste vprašani: Ali je frekvenčna os res Hz ali je uporabljen vzorčni indeks (rfftfreq)? Ali je amplituda normalizirana na ojačenje okna? Ali se pričakovani vrhovi 500 in 1500 Hz res pojavijo na teh točkah? Če preverite kodo z znanim testnim signalom (enofrekvenčni sinus), boste zanesljivo potrdili os in normalizacijo.

Šibek poziv / močan poziv

WEAK:»Uporabi FFT za te podatke.«(Rezultat: frekvenca vzorčenja, merilo osi in okna so nejasni; graf je najverjetneje narisan na napačni osi.)MOČNO:»Uporabi FFT za 10 kHz vzorčen signal. Zagotovite:- Narišite frekvenčno os v Hz (uporabite rfftfreq).- Uporabite Hannovo okno in normalizirajte amplitudo z oknom ojačanje.- Digitalno natisnite dve prevladujoči frekvenci.- Označite Nyquistovo mejo (5 kHz) na grafu. Upoštevajte, da se bo os premaknila, če je frekvenca vzorčenja nepravilna."

Oblikovanje filtra in analiza šuma

AI lahko ustvari nizke/visoke/pasovne koeficiente filtra (FIR/IIR). Vendar je treba preveriti mejno frekvenco, red in stabilnost filtra. Lahko povzroči nestabilnost visokega reda in fazno popačenje, zlasti v filtrih IIR. Po načrtovanju filtra narišite frekvenčni odziv (podoben Bodeju), da vidite, ali je meja na pravem mestu in v pasovnem pasu ni neželenega valovanja.

Tipična naloga pri analizi šuma je ločiti pravi signal od šuma. Tukaj ocenite prag ali filter, ki ga predlaga umetna inteligenca, glede na fizično pasovno širino signala: če je vaš dejanski signal pri 0–500 Hz, je komponenta pri 2 kHz najverjetneje šum ali motnja. AI daje statistiko; Vi naredite fizično interpretacijo.

Potrjevanje interpretacije spektra s fizično realnostjo

Pri razlagi spektra umetna inteligenca naredi razumne, a ne vedno natančne sklepe, kot je "Pri 50 Hz je vrh, to je motnja v omrežju." Primerjajte te komentarje s fizičnimi pričakovanji: Ali ima sistem res 50 Hz omrežni priključek? Ali so pričakovana vrtilna frekvenca in harmoniki skoraj tam v spektru vibracij motorja? Če je mogoče, ponovite meritev z drugo metodo (drug senzor, druga programska oprema) in si oglejte iste vrhove.

Namig: Za vsako interpretacijo spektra, "kateremu fizičnemu pojavu ustreza ta vrh?" Postavite vprašanje. Omrežje 50/100/150 Hz in njegovi harmoniki, rotacijska frekvenca in njeni večkratniki v rotacijskih strojih ter preklopna frekvenca v stikalnih napajalnikih so znani podpisi. Neznan vrh je resničen dogodek ali napaka pri merjenju/obdelavi; Raziščite oboje.

Mini etui

Inženir za raziskave in razvoj meri tresljaje ventilatorja in naroči AI interpretacijo spektra. "Prevladujoč vrh je pri 1200 Hz, to je lahko okvara ležaja," pravi AI. Inženir nadzoruje hitrost ventilatorja: 1800 rpm = 30 Hz. Pričakuje se, da bodo frekvence prehoda ležajev in rezil na določenih vrednostih, združljivih s tem ciklom; 1200 Hz ne ustreza nobenemu od teh. Nadzoruje frekvenco vzorčenja: signal prenaša vsebino do 2 kHz, vendar je vzorčenih samo 2 kHz, torej kršitev Nyquista. Vrh pri 1200 Hz je frekvenca duha, ki je posledica vzdevka. Ko povečam frekvenco vzorčenja na 8 kHz, lažni vrh izgine. Nauk: interpretacijo spektra vedno preizkusite s pričakovanim fizičnim ciklom/frekvenco in pravilnim vzorčenjem.

Pogoste napake

  • Izbira frekvence vzorčenja brez preverjanja Nyquistovega kriterija; Spregled aliasinga.
  • Zapuščanje frekvenčne osi FFT pri vzorčnem indeksu namesto Hz.
  • Zamenjanje spektralnega uhajanja kot signala brez okna.
  • Ni normalizacije amplitude glede na število oken/vzorcev.
  • Ni preverjanja stabilnosti filtra IIR in faznega popačenja.
  • Tolmačenje vrhov spektra brez njihovega testiranja v pričakovanju fizičnih vrtljajev/frekvence.

Če povzamem

  • Frekvenca vzorčenja mora biti vsaj dvakrat večja od najvišje komponente signala; V nasprotnem primeru bo vzdevek motil celotno analizo.
  • Ločljivost FFT Δf = f_s/N; Izberite N in f_s glede na vaše potrebe.
  • Okna zmanjšajo spektralno uhajanje; normalizirajte amplitudo glede na ojačenje okna.
  • Preverite kodo AI z znanim testnim signalom, da potrdite os in normalizacijo.
  • Preverite stabilnost filtra in frekvenčni odziv tako, da ga narišete.
  • Interpretacijo spektra vedno preizkusite s pričakovanjem fizične frekvence.

Aplikacijska naloga

Ustvarite testni signal znane frekvence (npr. 500 Hz + 1500 Hz sinus). Zahtevajte FFT in kodo filtra od AI. Nato: (1) preverite, ali je Nyquistov kriterij izpolnjen, (2) preverite, ali se vrhovi FFT dejansko pojavijo pri 500 in 1500 Hz, (3) namerno zmanjšajte frekvenco vzorčenja pod Nyquistovo in opazujte, kako vzdevek ustvarja lažni vrh. Zabeležite svoja opažanja in parameter, ki ste ga popravili.