Yksikkö 4 / 9

Signaalinkäsittely ja data-analyysi

Voitot:

  • Kyky määrittää tarkasti signaalinkäsittelyparametrit, kuten näytteenottotaajuus, suodatintyyppi ja ikkunointi AI:lla
  • Kyky luoda Python-koodia FFT:tä varten, suodatinsuunnittelua ja kohinan analysointia sekä tarkistaa Nyquist ja alias
  • Kyky todentaa tekoälyn luoma spektrin tulkinta vertaamalla sitä mittaukseen ja fyysiseen odotukseen

Anturista, mikrofonista tai virtajohdosta saadut raakatiedot ovat usein merkityksettömiä; Se on tarpeen käsitellä ja tulkita taajuuden, amplitudin ja ajan akselilla. Spektrin poiminta FFT:llä, kohinan suodatus, värähtelytunnisteen tunnistaminen... Nämä kaikki ovat signaalinkäsittelyä ja tekoäly luo nopeaa Python-koodia tällä alueella, selittää käsitteitä, laskee suodatinkertoimen. Mutta pieni parametrivirhe signaalinkäsittelyssä (väärä näytteenottotaajuus, väärä ikkuna, ohitettu Nyquistin ohjaus) pilaa hiljaa koko analyysin; Koodi ei anna virheitä, se antaa vain vääriä tuloksia. Tässä osiossa käsittelemme oikeiden parametrien asettamista tekoälyllä, luodun koodin tarkistamista Nyquistin ja aliasoinnin suhteen sekä spektrin tulkinnan tarkistamista fyysisellä todellisuudella.

Perusparametrit: Sampling, Nyquist, Aliasing

Digitaalisen signaalinkäsittelyn ensimmäinen sääntö on Nyquist-Shannonin lause: jotta signaali voidaan esittää tarkasti, näytteenottotaajuuden on oltava vähintään kaksi kertaa signaalin korkein taajuuskomponentti. Muuten korkeat taajuudet näkyvät matalina taajuuksina (aliasing), eikä tätä voi muuttaa.

Signaalin korkein taajuus: f_max = 2 kHz Miniminäytteenottotaajuus: f_s ≥ 2 · f_max = 4 kHz Käytännössä marginaalin jättämiseksi: f_s ≈ 5 · f_max = 10 kHz on valittu Myös analoginen anti-aliasing-suodatin on PITÄÄ ENNEN näytteenottoa.

Varoitus: Kun tekoäly ehdottaa näytteenottotaajuutta, varmista, että se tarjoaa Nyquistin signaalisi korkeimman komponentin perusteella. Koodi toimii ilman virheitä jopa alhaisella näytteenottotaajuudella; mutta tulos on väärä aliasoinnin takia. Lisäksi mikään ohjelmisto ei voi kumota tätä virhettä ilman laitteiston anti-aliasing-suodatinta.

Resoluutio ja ikkunat FFT:lle

FFT:n taajuusresoluutio riippuu näytteenottotaajuudesta ja näytteiden lukumäärästä: Δf = f_s / N. Tarkempaan resoluutioon joko kerätään enemmän näytteitä tai valitaan pienempi f_s (rikkomatta Nyquistiä). Lisäksi signaalin alun ja lopun välinen epäjatkuvuus luo "spektrivuotoja"; Tämän vähentämiseksi käytetään ikkunatoimintoja, kuten Hann ja Hamming.

f_s = 10 kHz, N = 1024 näytettä Taajuusresoluutio: Δf = 10000 / 1024 ≈ 9,77 Hz Kokonaistallennusaika: T = N / f_s = 1024 / 10000 ≈ 102,4 ms

FFT- ja suodatinkoodin luominen ja tarkistaminen

Määritä näytteenottotaajuus, ikkunatyyppi ja akselin mittakaava erikseen, kun pyydät FFT-koodia tekoälyltä. Seuraava koodi tulostaa signaalin yksipuolisen amplitudispektrin:

tuo numpy muodossa npfs = 10000 # näytteenottotaajuus (Hz) - tarkista Nyquist!N = 1024t = np.arange(N) / fs# näytesignaali: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0,5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # ikkunointi: vähentää spektrivuotoa, joka normalisoituu vahvistuksella # check huipputaajuudetpeaks = f[np.argsort(mag)[-2:]]print("Hallitsevat taajuudet (Hz)sort):", np.)sort

Kun tarkistat tämän koodin, sinulta kysytään: Onko taajuusakseli todella Hz vai onko näyteindeksiä (käytetty rfftfreq)? Onko amplitudi normalisoitu ikkunan vahvistukseen? Esiintyykö odotettuja 500 ja 1500 Hz huippuja todella näissä kohdissa? Jos vahvistat koodin tunnetulla testisignaalilla (yksitaajuinen sini), vahvistat luotettavasti akselin ja normalisoinnin.

Heikko kehote / Vahva kehote

HEIKKO:"Käytä FFT:tä näihin tietoihin." (Tulos: näytteenottotaajuus, akselin mittakaava ja ikkunointi ovat epäselviä; kaavio on todennäköisimmin piirretty väärälle akselille.) STRONG:"Käytä FFT:tä 10 kHz:n näytteistettyyn signaaliin. Anna: - Piirrä taajuusakseli hertseinä (käytä rfftfreq-ikkunaa ja normalisoi ikkunan hannlamp). - Käytä Hannlamp-ikkunaa. hallitsevat taajuudet digitaalisesti. - Merkitse Nyquistin raja (5 kHz) kaavioon. Huomaa, että akseli siirtyy, jos näytteenottotaajuus on väärä."

Suodattimen suunnittelu ja meluanalyysi

Tekoäly voi tuottaa matalan/korkean/kaistanpäästösuodattimen kertoimia (FIR/IIR). Mutta suodattimen katkaisutaajuus, järjestys ja vakaus on tarkistettava. Se voi aiheuttaa suurta järjestyksen epävakautta ja vaihevääristymiä, erityisesti IIR-suodattimissa. Suodattimen suunnittelun jälkeen piirrä taajuusvaste (Boden kaltainen) nähdäksesi, että raja on oikeassa paikassa eikä päästökaistassa ole ei-toivottua aaltoilua.

Tyypillinen tehtävä kohinaanalyysissä on erottaa todellinen signaali melusta. Arvioi tässä AI:n ehdottama kynnys tai suodatin signaalin fyysistä kaistanleveyttä vastaan: jos todellinen signaalisi on 0–500 Hz, 2 kHz:n komponentti on todennäköisimmin kohinaa tai häiriötä. AI antaa tilastoja; Sinä teet fyysisen tulkinnan.

Spektritulkinnan vahvistaminen fyysisellä todellisuudella

Tekoäly tekee spektriä tulkitessaan järkeviä, mutta ei aina tarkkoja päätelmiä, kuten "50 Hz:ssä on huippu, tämä on verkkohäiriötä." Vertaa näitä kommentteja fyysiseen odotukseen: Onko järjestelmässä todella 50 Hz verkkoliitäntä? Ovatko odotetut pyörimistaajuus ja harmoniset lähellä moottorin värähtelyspektrissä? Jos mahdollista, toista mittaus toisella menetelmällä (eri anturi, eri ohjelmisto) ja katso samat piikit.

Vihje: "mitä fyysistä ilmiötä tämä huippu vastaa" jokaisessa spektritulkinnassa? Esitä kysymys. 50/100/150 Hz verkko ja sen harmoniset, pyörimistaajuus ja sen kerrannaiset pyörivissä koneissa sekä kytkentätaajuus hakkuriteholähteissä ovat tunnettuja tunnusmerkkejä. Tuntematon huippu on joko todellinen tapahtuma tai mittaus-/käsittelyvirhe; Tutki molempia.

Mini Kotelo

T&K-insinööri mittaa puhaltimen värähtelyn ja antaa tekoälyn tulkita spektrin. "1200 Hz:llä on hallitseva huippu, tämä voi olla laakerin vika", sanoo AI. Insinööri ohjaa puhaltimen nopeutta: 1800 rpm = 30 Hz. Laakerien ja siipien siirtymätaajuuksien odotetaan olevan tietyillä arvoilla, jotka ovat yhteensopivia tämän syklin kanssa; 1200 Hz ei vastaa mitään näistä. Se ohjaa näytteenottotaajuutta: signaali kuljettaa sisältöä 2 kHz asti, mutta vain 2 kHz näytteistetään, joten Nyquist-rikkomus. Huippu 1200 Hz on haamutaajuus, joka johtuu aliasingista. Kun nostan näytteenottotaajuuden 8 kHz:iin, väärä huippu katoaa. Oppitunti: testaa aina spektrin tulkinta fyysisen syklin/taajuuden odotuksella ja oikealla näytteenotolla.

Yleisiä virheitä

  • Näytteenottotaajuuden valinta tarkistamatta Nyquist-kriteeriä; Näkymät alias.
  • FFT-taajuusakseli jätetään näyteindeksiin Hz:n sijaan.
  • Spektrivuoto virheellisesti signaaliksi ilman ikkunointia.
  • Ei normalisoi amplitudia ikkunoiden/näytteiden lukumäärällä.
  • IIR-suodattimen vakautta ja vaihevääristymiä ei tarkisteta.
  • Spektrihuippujen tulkitseminen ilman niiden testaamista ennakoiden fyysistä kierroslukua/taajuutta.

Yhteenvetona

  • Näytteenottotaajuuden on oltava vähintään kaksi kertaa signaalin korkein komponentti; Muuten aliasointi häiritsee koko analyysiä.
  • FFT-resoluutio Δf = f_s/N; Valitse N ja f_s tarpeidesi mukaan.
  • Ikkunointi vähentää spektrivuotoja; normalisoi amplitudi ikkunan vahvistuksen mukaan.
  • Tarkista AI-koodi tunnetulla testisignaalilla vahvistaaksesi akselin ja normalisoinnin.
  • Tarkista suodattimen vakaus ja taajuusvaste piirtämällä se.
  • Testaa spektrin tulkinta aina fyysisen taajuuden perusteella.

Sovellustehtävä

Luo tunnetun taajuuden testisignaali (esim. 500 Hz + 1500 Hz sini). Pyydä FFT- ja suodatinkoodi tekoälyltä. Sitten: (1) varmista, että Nyquistin kriteeri täyttyy, (2) tarkista, että FFT-huiput todella näkyvät taajuuksilla 500 ja 1500 Hz, (3) vähennä tarkoituksellisesti näytteenottotaajuutta Nyquistin alapuolella ja tarkkaile, kuinka aliasointi luo harhahuipun. Huomaa havaintosi ja korjaamasi parametri.