Yunit 4 / 9

Pagproseso ng Signal at Pagsusuri ng Data

Mga nadagdag:

  • Kakayahang tumpak na magtatag ng mga parameter sa pagpoproseso ng signal tulad ng dalas ng sampling, uri ng filter at windowing gamit ang AI
  • Kakayahang bumuo ng Python code para sa FFT, disenyo ng filter at pagsusuri ng ingay at suriin ang Nyquist at aliasing
  • Kakayahang i-verify ang interpretasyon ng spectrum na binuo ng AI sa pamamagitan ng paghahambing nito sa pagsukat at pisikal na inaasahan

Ang raw data mula sa isang sensor, mikropono, o linya ng kuryente lamang ay kadalasang walang kahulugan; Ito ay kinakailangan upang iproseso at bigyang-kahulugan ito sa axis ng dalas, amplitude at oras. Pag-extract ng spectrum gamit ang FFT, pag-filter ng ingay, pagkilala sa isang vibration signature... Lahat ito ay pagpoproseso ng signal at ang AI ay bumubuo ng mabilis na Python code sa lugar na ito, nagpapaliwanag ng mga konsepto, kinakalkula ang filter coefficient. Ngunit ang isang maliit na error sa parameter sa pagpoproseso ng signal (maling dalas ng sampling, maling window, nilaktawan ang kontrol ng Nyquist) ay tahimik na sumisira sa buong pagsusuri; Ang code ay hindi nagbibigay ng mga error, nagbibigay lamang ito ng mga maling resulta. Sa unit na ito, sasaklawin namin ang pagtatakda ng mga tamang parameter gamit ang AI, pagsuri sa nabuong code sa mga tuntunin ng Nyquist at pag-alyas, at pag-verify ng interpretasyon ng spectrum gamit ang pisikal na katotohanan.

Mga Pangunahing Parameter: Sampling, Nyquist, Aliasing

Ang unang tuntunin ng digital signal processing ay ang Nyquist-Shannon theorem: upang tumpak na kumatawan sa isang signal, ang sampling frequency ay dapat na hindi bababa sa dalawang beses ang pinakamataas na frequency component sa signal. Kung hindi, lalabas ang mataas na frequency bilang mababang frequency (aliasing) at hindi na ito mababaligtad.

Pinakamataas na frequency sa signal: f_max = 2 kHzMinimum sampling frequency: f_s ≥ 2 · f_max = 4 kHzTo leave margin in practice: f_s ≈ 5 · f_max = 10 kHz ay ​​piniliGayundin, ang isang analog anti-aliasing filter ay DAPAT BAGO ang sampling.

Babala: Kapag nagmungkahi ang AI ng dalas ng sampling, tiyaking suriin kung nagbibigay ito ng Nyquist batay sa pinakamataas na bahagi ng iyong signal. Ang code ay tumatakbo nang walang mga error kahit na sa mababang dalas ng sampling; ngunit mali ang resulta dahil sa pag-alyas. Bukod pa rito, walang software ang makakapag-undo ng error na ito nang walang anti-aliasing na filter sa hardware.

Resolution at Windowing para sa FFT

Ang frequency resolution ng FFT ay depende sa sampling frequency at bilang ng mga sample: Δf = f_s / N. Para sa mas pinong resolution, maaari kang mangolekta ng mas maraming sample o pumili ng mas mababang f_s (nang hindi nasira ang Nyquist). Bukod pa rito, ang discontinuity sa pagitan ng simula at pagtatapos ng signal ay lumilikha ng "spectral leakage"; Upang mabawasan ito, inilalapat ang mga function ng window tulad ng Hann at Hamming.

f_s = 10 kHz, N = 1024 samplesFrequency resolution: Δf = 10000 / 1024 ≈ 9.77 HzKabuuang oras ng pag-record: T = N / f_s = 1024 / 10000 ≈ 102.4 ms

Pagbuo at Pagsusuri ng FFT at Filter Code

Malinaw na tukuyin ang dalas ng sampling, uri ng window, at sukat ng axis kapag hinihiling ang FFT code mula sa AI. Ang sumusunod na code ay naglalabas ng one-sided amplitude spectrum ng isang signal:

mag-import ng numpy bilang npfs = 10000 # sampling frequency (Hz) - i-verify Nyquist!N = 1024t = np.arange(N) / fs# sample signal: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0.5*np.pi*t. np.hanning(N) # windowing: binabawasan ang spectral leak na na-normalize ng gain# check peak frequenciespeaks = f[np.argsort(mag)[-2:]]print("Dominant frequency (Hz):", np.sort(peaks))

Kapag sinusuri ang code na ito, tatanungin ka: Ang frequency axis ba ay talagang Hz o ang sample index (rfftfreq ang ginamit)? Na-normalize ba ang amplitude sa window gain? Talaga bang nangyayari ang inaasahang 500 at 1500 Hz peak sa mga puntong iyon? Kung ibe-verify mo ang code gamit ang isang kilalang signal ng pagsubok (single frequency sine), kumpiyansa mong kukumpirmahin ang axis at normalization.

Mahina Prompt / Malakas na Prompt

MAHINA:"Ilapat ang FFT sa data na ito."(Resulta: sampling frequency, axis scale at windowing ay hindi malinaw; ang graph ay malamang na naka-plot sa maling axis.) MALAKAS:"Ilapat ang FFT sa isang 10 kHz na sample na signal. Magbigay ng:- I-plot ang frequency axis sa Hz (gamitin ang rfftfreq).- Ilapat ang Hann window at i-normalize ang window ng gain at i-normalize ang window ng Hann. digitally.- Markahan ang limitasyon ng Nyquist (5 kHz) sa graph. Tandaan na ang axis ay lilipat kung mali ang sampling frequency."

Disenyo ng Filter at Pagsusuri ng Ingay

Maaaring makabuo ang AI ng mababa/mataas/bandpass filter coefficients (FIR/IIR). Ngunit ang dalas ng cut-off, kaayusan at katatagan ng filter ay dapat suriin. Maaari itong magdulot ng mataas na pagkakasunud-sunod na kawalang-tatag at pagbaluktot ng bahagi, lalo na sa mga filter ng IIR. Pagkatapos idisenyo ang filter, i-plot ang frequency response (Bode-like) upang makita na ang cutoff ay nasa tamang lugar at walang hindi gustong ripple sa passband.

Ang karaniwang gawain sa pagsusuri ng ingay ay ang paghiwalayin ang tunay na signal mula sa ingay. Dito, suriin ang iminungkahing threshold o filter ng AI laban sa pisikal na bandwidth ng signal: kung ang iyong tunay na signal ay nasa 0-500 Hz, ang isang bahagi sa 2 kHz ay ​​malamang na ingay o interference. Nagbibigay ang AI ng mga istatistika; Ikaw ang gumawa ng pisikal na interpretasyon.

Pagpapatunay ng Spectrum Interpretation sa Physical Reality

Kapag binibigyang-kahulugan ang isang spectrum, ang AI ay gumagawa ng makatwiran ngunit hindi palaging tumpak na mga hinuha gaya ng "May peak sa 50 Hz, ito ay grid interference." Ihambing ang mga komentong ito sa pisikal na inaasahan: Talaga bang may 50 Hz na koneksyon sa mains ang system? Ang inaasahang dalas ng pag-ikot at mga harmonika ay halos naroroon sa spectrum ng panginginig ng boses ng isang motor? Kung maaari, ulitin ang pagsukat gamit ang pangalawang paraan (iba't ibang sensor, ibang software) at tingnan ang parehong mga taluktok.

Hint: Para sa bawat interpretasyon ng spectrum, "anong pisikal na kababalaghan ang tumutugma sa peak na ito?" Itanong ang tanong. Ang 50/100/150 Hz network at ang mga harmonika nito, ang dalas ng pag-ikot at ang mga multiple nito sa mga umiikot na makina, at ang dalas ng paglipat sa pagpapalit ng mga power supply ay kilala na mga lagda. Ang hindi kilalang peak ay maaaring isang tunay na kaganapan o isang error sa pagsukat/pagproseso; Magsaliksik pareho.

Mini Case

Sinusukat ng isang R&D engineer ang vibration ng isang fan at may AI na interpretasyon ang spectrum. "May isang nangingibabaw na peak sa 1200 Hz, ito ay maaaring may pagkabigo," sabi ng AI. Kinokontrol ng engineer ang bilis ng fan: 1800 rpm = 30 Hz. Ang mga dalas ng paglipat ng tindig at talim ay inaasahang nasa ilang partikular na halaga na katugma sa cycle na ito; Ang 1200 Hz ay ​​hindi tumutugma sa alinman sa mga ito. Kinokontrol nito ang dalas ng sampling: ang signal ay nagdadala ng nilalaman hanggang 2 kHz, ngunit 2 kHz lang ang na-sample, kaya isang paglabag sa Nyquist. Ang peak sa 1200 Hz ay ​​isang ghost frequency na nagreresulta mula sa aliasing. Kapag tinaasan ko ang dalas ng sampling sa 8 kHz, nawawala ang maling peak. Aralin: palaging subukan ang interpretasyon ng spectrum na may inaasahang pisikal na cycle/dalas at tamang sampling.

Mga Karaniwang Pagkakamali

  • Pagpili ng sampling frequency nang hindi sinusuri ang Nyquist criterion; Tinatanaw ang aliasing.
  • Iniiwan ang FFT frequency axis sa sample index sa halip na Hz.
  • Napagkakamalang spectral leakage bilang signal nang walang windowing.
  • Hindi pag-normalize ang amplitude ayon sa bilang ng mga bintana/sample.
  • Hindi sinusuri ang IIR filter stability at phase distortion.
  • Pagbibigay-kahulugan sa mga taluktok ng spectrum nang hindi sinusuri ang mga ito bilang pag-asa sa pisikal na rpm/dalas.

Sa buod

  • Ang dalas ng sampling ay dapat na hindi bababa sa dalawang beses ang pinakamataas na bahagi ng signal; Kung hindi, maaabala ng aliasing ang buong pagsusuri.
  • Resolusyon ng FFT Δf = f_s/N; Piliin ang N at f_s ayon sa iyong pangangailangan.
  • Binabawasan ng pag-window ang parang multo na pagtagas; gawing normal ang amplitude ayon sa window gain.
  • I-verify ang AI code gamit ang isang kilalang test signal para kumpirmahin ang axis at normalization.
  • Suriin ang katatagan ng filter at frequency response sa pamamagitan ng pag-plot nito.
  • Palaging subukan ang interpretasyon ng spectrum na may inaasahan ng pisikal na dalas.

Gawain ng aplikasyon

Bumuo ng test signal ng alam na frequency (hal. 500 Hz + 1500 Hz sine). Humiling ng FFT at filter code mula sa AI. Pagkatapos: (1) i-verify na ang Nyquist criterion ay natutugunan, (2) suriin kung ang mga peak ng FFT ay aktwal na lumilitaw sa 500 at 1500 Hz, (3) sadyang bawasan ang sampling frequency sa ibaba ng Nyquist at obserbahan kung paano lumilikha ang aliasing ng isang huwad na peak. Tandaan ang iyong mga obserbasyon at ang parameter na iyong naitama.