Enhed 4 / 9

Signalbehandling og dataanalyse

Gevinster:

  • Evne til nøjagtigt at etablere signalbehandlingsparametre såsom samplingsfrekvens, filtertype og vinduesudveksling med AI
  • Mulighed for at generere Python-kode til FFT, filterdesign og støjanalyse og tjekke Nyquist og aliasing
  • Evne til at verificere AI-genereret spektrumfortolkning ved at sammenligne det med måling og fysisk forventning

Rådata fra en sensor, mikrofon eller strømledning alene er ofte meningsløse; Det er nødvendigt at behandle og fortolke det på aksen af ​​frekvens, amplitude og tid. Udtrækning af spektrum med FFT, filtrering af støj, genkendelse af en vibrationssignatur... Disse er alle signalbehandling og AI genererer hurtig Python-kode i dette område, forklarer koncepter, beregner filterkoefficient. Men en lille parameterfejl i signalbehandlingen (forkert samplingsfrekvens, forkert vindue, sprunget Nyquist-kontrol) ødelægger lydløst hele analysen; Koden giver ikke fejl, den giver bare forkerte resultater. I denne enhed vil vi dække indstilling af de korrekte parametre med AI, kontrol af den genererede kode i form af Nyquist og aliasing og verifikation af spektrumfortolkningen med den fysiske virkelighed.

Grundlæggende parametre: Sampling, Nyquist, Aliasing

Den første regel for digital signalbehandling er Nyquist-Shannon-sætningen: For nøjagtigt at repræsentere et signal skal samplingsfrekvensen være mindst to gange den højeste frekvenskomponent i signalet. Ellers vil høje frekvenser fremstå som lave frekvenser (aliasing), og dette kan ikke vendes.

Højeste frekvens i signalet: f_max = 2 kHzMinimum samplingsfrekvens: f_s ≥ 2 · f_max = 4 kHz For at efterlade margen i praksis: f_s ≈ 5 · f_max = 10 kHz er valgt. Et analogt anti-aliasing filter er også et MUST FØR sampling.

Forsigtig: Når AI foreslår en samplingsfrekvens, skal du sørge for at kontrollere, om den giver Nyquist baseret på den højeste komponent af dit signal. Koden kører uden fejl selv ved lav samplingsfrekvens; men resultatet er forkert på grund af aliasing. Derudover kan ingen software fortryde denne fejl uden et anti-aliasing-filter i hardware.

Opløsning og vinduer til FFT

Frekvensopløsningen af ​​FFT afhænger af samplingsfrekvensen og antallet af samples: Δf = f_s / N. For finere opløsning samler du enten flere samples eller vælger lavere f_s (uden at bryde Nyquist). Derudover skaber diskontinuiteten mellem begyndelsen og slutningen af ​​signalet "spektral lækage"; For at reducere dette, anvendes vinduesfunktioner som Hann og Hamming.

f_s = 10 kHz, N = 1024 samples Frekvensopløsning: Δf = 10000 / 1024 ≈ 9,77 Hz Samlet optagetid: T = N / f_s = 1024 / 10000 ≈ 102,4 ms

Generering og kontrol af FFT og filterkode

Angiv eksplicit samplingsfrekvens, vinduestype og akseskala, når du anmoder om FFT-koden fra AI. Følgende kode udsender det ensidede amplitudespektrum af et signal:

import numpy som npfs = 10000 # samplingsfrekvens (Hz) - verificer Nyquist!N = 1024t = np.arange(N) / fs# sample 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) # windowing: reducerer spektral lækage normaliseret af gain# check peak frequencypeaks = f[np.argsort(mag)[-2:]]print("Dominante frekvenser (Hz):", np)sort.

Når du tjekker denne kode, bliver du spurgt: Er frekvensaksen virkelig Hz eller er prøveindekset (rfftfreq brugt)? Er amplituden normaliseret til vinduesforstærkningen? Opstår de forventede 500 og 1500 Hz toppe virkelig på disse punkter? Hvis du verificerer koden med et kendt testsignal (sinus med enkelt frekvens), vil du trygt bekræfte aksen og normaliseringen.

Svag prompt / stærk prompt

SWAG:"Anvend FFT til disse data."(Resultat: Samplingsfrekvens, akseskala og vinduesvisning er uklare; grafen er højst sandsynligt plottet på den forkerte akse.)STERK:"Anvend FFT på et 10 kHz samplet signal. Giv:- Plot frekvensaksen i Hz (brug Apply forstærkningsvinduet og-udskriv rfft-forstærkningsvinduet. to dominerende frekvenser digitalt.- Marker Nyquist-grænsen (5 kHz) på grafen Bemærk, at aksen vil forskydes, hvis samplingsfrekvensen er forkert.

Filterdesign og støjanalyse

AI kan generere lav/høj/båndpas filterkoefficienter (FIR/IIR). Men filtrets afskæringsfrekvens, rækkefølge og stabilitet skal kontrolleres. Det kan forårsage ustabilitet af høj orden og faseforvrængning, især i IIR-filtre. Efter at have designet filteret, plot frekvensresponsen (Bode-lignende) for at se, at cutoff er på det rigtige sted, og der ikke er nogen uønsket krusning i pasbåndet.

Den typiske opgave i støjanalyse er at adskille det reelle signal fra støjen. Evaluer her AI's foreslåede tærskel eller filter mod signalets fysiske båndbredde: Hvis dit rigtige signal er på 0-500 Hz, er en komponent på 2 kHz højst sandsynligt støj eller interferens. AI giver statistik; Du laver den fysiske fortolkning.

Validering af spektrumfortolkningen med den fysiske virkelighed

Når man fortolker et spektrum, laver AI rimelige, men ikke altid nøjagtige konklusioner, såsom "Der er en top ved 50 Hz, dette er netinterferens." Sammenlign disse kommentarer med den fysiske forventning: Har systemet virkelig en 50 Hz netforbindelse? Er den forventede rotationsfrekvens og harmoniske næsten der i en motors vibrationsspektrum? Hvis det er muligt, gentag målingen med en anden metode (anden sensor, anden software) og se de samme toppe.

Tip: For hver spektrumfortolkning, "hvilket fysisk fænomen svarer denne top til?" Stil spørgsmålet. 50/100/150 Hz netværk og dets harmoniske, rotationsfrekvens og dets multipla i roterende maskiner, og switching frekvens i switchende strømforsyninger er kendte signaturer. En ukendt top er enten en reel hændelse eller en måle-/behandlingsfejl; Undersøg begge dele.

Mini etui

En R&D-ingeniør måler vibrationen fra en ventilator og får AI til at fortolke spektret. "Der er en dominerende top på 1200 Hz, dette kan være en fejl i lejet," siger AI. Ingeniøren styrer ventilatorens hastighed: 1800 rpm = 30 Hz. Leje- og bladovergangsfrekvenser forventes at være ved visse værdier, der er kompatible med denne cyklus; 1200 Hz svarer ikke til nogen af ​​disse. Den styrer samplingsfrekvensen: Signalet bærer indhold op til 2 kHz, men kun 2 kHz samples, så en Nyquist-overtrædelse. Toppen ved 1200 Hz er en spøgelsesfrekvens, der er et resultat af aliasing. Når jeg øger samplingsfrekvensen til 8 kHz, forsvinder den falske peak. Lektion: test altid spektrumfortolkning med fysisk cyklus/frekvensforventning og korrekt prøvetagning.

Almindelige fejl

  • Valg af samplingsfrekvens uden at kontrollere Nyquist-kriteriet; Overser aliasing.
  • Efterlader FFT-frekvensaksen ved prøveindekset i stedet for Hz.
  • Forkert spektral lækage som et signal uden vinduesåbning.
  • Normaliserer ikke amplitude efter antal vinduer/prøver.
  • Kontrollerer ikke IIR-filterets stabilitet og faseforvrængning.
  • Fortolkning af spektrumtoppe uden at teste dem i forventning om fysiske rpm/frekvens.

Sammenfattende

  • Samplingsfrekvensen skal være mindst to gange den højeste komponent af signalet; Ellers vil aliasing forstyrre hele analysen.
  • FFT-opløsning Af = f_s/N; Vælg N og f_s efter dit behov.
  • Windowing reducerer spektral lækage; normaliser amplituden i henhold til vinduesforstærkningen.
  • Bekræft AI-koden med et kendt testsignal for at bekræfte akse og normalisering.
  • Kontroller filterstabiliteten og frekvensresponsen ved at plotte den.
  • Test altid spektrumfortolkning med forventning om fysisk frekvens.

Ansøgningsopgave

Generer et testsignal med kendt frekvens (f.eks. 500 Hz + 1500 Hz sinus). Anmod om FFT og filterkode fra AI. Derefter: (1) verificere, at Nyquist-kriteriet er opfyldt, (2) kontrollere, at FFT-toppene faktisk vises ved 500 og 1500 Hz, (3) bevidst reducere samplingsfrekvensen under Nyquist og observere, hvordan aliasing skaber en falsk top. Bemærk dine observationer og den parameter du korrigerede.