Unit 4 / 9

Pemprosesan Isyarat dan Analisis Data

Keuntungan:

  • Keupayaan untuk menetapkan parameter pemprosesan isyarat dengan tepat seperti kekerapan pensampelan, jenis penapis dan tingkap dengan AI
  • Keupayaan untuk menjana kod Python untuk FFT, reka bentuk penapis dan analisis hingar dan menyemak Nyquist dan aliasing
  • Keupayaan untuk mengesahkan tafsiran spektrum yang dijana AI dengan membandingkannya dengan pengukuran dan jangkaan fizikal

Data mentah daripada penderia, mikrofon atau talian kuasa sahaja selalunya tidak bermakna; Ia adalah perlu untuk memproses dan mentafsirnya pada paksi frekuensi, amplitud dan masa. Mengekstrak spektrum dengan FFT, menapis bunyi, mengecam tandatangan getaran... Ini semua adalah pemprosesan isyarat dan AI menjana kod Python pantas dalam kawasan ini, menerangkan konsep, mengira pekali penapis. Tetapi ralat parameter kecil dalam pemprosesan isyarat (kekerapan pensampelan yang salah, tetingkap yang salah, melangkau kawalan Nyquist) secara senyap merosakkan keseluruhan analisis; Kod tidak memberikan ralat, ia hanya memberikan hasil yang salah. Dalam unit ini, kami akan merangkumi penetapan parameter yang betul dengan AI, menyemak kod yang dijana dari segi Nyquist dan aliasing, dan mengesahkan tafsiran spektrum dengan realiti fizikal.

Parameter Asas: Persampelan, Nyquist, Aliasing

Peraturan pertama pemprosesan isyarat digital ialah teorem Nyquist-Shannon: untuk mewakili isyarat dengan tepat, kekerapan pensampelan mestilah sekurang-kurangnya dua kali komponen frekuensi tertinggi dalam isyarat. Jika tidak, frekuensi tinggi akan muncul sebagai frekuensi rendah (aliasing) dan ini tidak boleh diterbalikkan.

Kekerapan tertinggi dalam isyarat: f_maks = 2 kHzKekerapan pensampelan minimum: f_s ≥ 2 · f_maks = 4 kHzUntuk meninggalkan margin dalam amalan: f_s ≈ 5 · f_maks = 10 kHz dipilihSelain itu, penapis anti-aliasing analog adalah WAJIB SEBELUM pensampelan.

Awas: Apabila AI mencadangkan kekerapan pensampelan, pastikan anda menyemak sama ada ia menyediakan Nyquist berdasarkan komponen tertinggi isyarat anda. Kod berjalan tanpa ralat walaupun pada kekerapan pensampelan rendah; tetapi keputusannya salah kerana aliasing. Selain itu, tiada perisian boleh membuat asal ralat ini tanpa penapis anti-aliasing dalam perkakasan.

Resolusi dan Windowing untuk FFT

Resolusi kekerapan FFT bergantung pada kekerapan pensampelan dan bilangan sampel: Δf = f_s / N. Untuk resolusi yang lebih halus anda sama ada mengumpul lebih banyak sampel atau memilih f_s yang lebih rendah (tanpa melanggar Nyquist). Selain itu, ketakselanjaran antara permulaan dan penghujung isyarat mewujudkan "kebocoran spektrum"; Untuk mengurangkan ini, fungsi tetingkap seperti Hann dan Hamming digunakan.

f_s = 10 kHz, N = 1024 sampelLeraian frekuensi: Δf = 10000 / 1024 ≈ 9.77 HzJumlah masa rakaman: T = N / f_s = 1024 / 10000 ≈ 102.4 ms

Menjana dan Menyemak FFT dan Kod Penapis

Tentukan kekerapan pensampelan, jenis tetingkap dan skala paksi secara eksplisit apabila meminta kod FFT daripada AI. Kod berikut mengeluarkan spektrum amplitud satu sisi bagi isyarat:

import numpy sebagai npfs = 10000 # frekuensi pensampelan (Hz) - sahkan Nyquist!N = 1024t = np.arange(N) / fs# isyarat sampel: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0.5*np.pi*t(2*n) np.hanning(N) # windowing: mengurangkan kebocoran spektrum yang dinormalkan oleh gain# check peak frequenciespeaks = f[np.argsort(mag)[-2:]]print("Dominant frequency (Hz):", np.sort(peaks))

Apabila menyemak kod ini, anda akan ditanya: Adakah paksi frekuensi benar-benar Hz atau indeks sampel (rfftfreq digunakan)? Adakah amplitud dinormalkan kepada keuntungan tetingkap? Adakah puncak 500 dan 1500 Hz yang dijangkakan benar-benar berlaku pada titik tersebut? Jika anda mengesahkan kod dengan isyarat ujian yang diketahui (sinus frekuensi tunggal), anda dengan yakin akan mengesahkan paksi dan normalisasi.

Gesaan Lemah / Gesaan Kuat

LEMAH:"Gunakan FFT pada data ini."(Hasil: kekerapan pensampelan, skala paksi dan penetingkapan tidak jelas; graf berkemungkinan besar diplot pada paksi yang salah.) KUAT:"Gunakan FFT pada isyarat sampel 10 kHz. Sediakan:- Plot paksi frekuensi dalam Hz (gunakan rfftfreq).- Gunakan tetingkap penguat Hann dan normalkan frekuensi tetingkap Hann dan normalkan secara digital.- Tandakan had Nyquist (5 kHz) pada graf Perhatikan bahawa paksi akan beralih jika kekerapan pensampelan tidak betul.

Reka Bentuk Penapis dan Analisis Bunyi

AI boleh menjana pekali penapis rendah/tinggi/laluan jalur (FIR/IIR). Tetapi kekerapan pemotongan, susunan dan kestabilan penapis mesti diperiksa. Ia boleh menyebabkan ketidakstabilan tertib tinggi dan herotan fasa, terutamanya dalam penapis IIR. Selepas mereka bentuk penapis, plot tindak balas frekuensi (seperti Bode) untuk melihat bahawa potongan berada di tempat yang betul dan tiada riak yang tidak diingini dalam jalur laluan.

Tugas biasa dalam analisis hingar adalah untuk memisahkan isyarat sebenar daripada hingar. Di sini, nilaikan ambang atau penapis yang dicadangkan AI terhadap lebar jalur fizikal isyarat: jika isyarat sebenar anda berada pada 0-500 Hz, komponen pada 2 kHz kemungkinan besar adalah bunyi atau gangguan. AI memberikan statistik; Anda membuat tafsiran fizikal.

Mengesahkan Tafsiran Spektrum dengan Realiti Fizikal

Apabila mentafsir spektrum, AI membuat inferens yang munasabah tetapi tidak selalu tepat seperti "Terdapat puncak pada 50 Hz, ini adalah gangguan grid." Bandingkan ulasan ini dengan jangkaan fizikal: Adakah sistem benar-benar mempunyai sambungan utama 50 Hz? Adakah jangkaan frekuensi putaran dan harmonik hampir sama dalam spektrum getaran motor? Jika boleh, ulangi pengukuran dengan kaedah kedua (sensor berbeza, perisian berbeza) dan lihat puncak yang sama.

Petunjuk: Untuk setiap tafsiran spektrum, "fenomena fizikal apakah yang sepadan dengan puncak ini?" Tanya soalan. Rangkaian 50/100/150 Hz dan harmoniknya, kekerapan putaran dan gandaannya dalam mesin berputar, dan frekuensi pensuisan dalam bekalan kuasa pensuisan dikenali sebagai tandatangan. Puncak yang tidak diketahui adalah sama ada peristiwa sebenar atau ralat pengukuran/pemprosesan; Penyelidikan kedua-duanya.

Mini Case

Jurutera R&D mengukur getaran kipas dan mempunyai AI menafsirkan spektrum. "Terdapat puncak dominan pada 1200 Hz, ini mungkin kegagalan galas," kata AI. Jurutera mengawal kelajuan kipas: 1800 rpm = 30 Hz. Kekerapan peralihan galas dan bilah dijangka berada pada nilai tertentu yang serasi dengan kitaran ini; 1200 Hz tidak sepadan dengan mana-mana ini. Ia mengawal kekerapan pensampelan: isyarat membawa kandungan sehingga 2 kHz, tetapi hanya 2 kHz diambil sampel, jadi pelanggaran Nyquist. Puncak pada 1200 Hz ialah frekuensi hantu yang terhasil daripada pengalian. Apabila saya meningkatkan kekerapan pensampelan kepada 8 kHz, puncak palsu hilang. Pelajaran: sentiasa menguji tafsiran spektrum dengan jangkaan kitaran fizikal/frekuensi dan persampelan yang betul.

Kesilapan Biasa

  • Memilih kekerapan pensampelan tanpa menyemak kriteria Nyquist; Menghadapi aliasing.
  • Meninggalkan paksi frekuensi FFT pada indeks sampel dan bukannya Hz.
  • Menganggap kebocoran spektrum sebagai isyarat tanpa tingkap.
  • Tidak menormalkan amplitud mengikut bilangan tingkap/sampel.
  • Tidak memeriksa kestabilan penapis IIR dan herotan fasa.
  • Mentafsir puncak spektrum tanpa mengujinya dengan menjangkakan rpm/frekuensi fizikal.

Secara ringkasnya

  • Kekerapan pensampelan mestilah sekurang-kurangnya dua kali ganda komponen tertinggi isyarat; Jika tidak, aliasing akan mengganggu keseluruhan analisis.
  • Resolusi FFT Δf = f_s/N; Pilih N dan f_s mengikut keperluan anda.
  • Tingkap mengurangkan kebocoran spektrum; normalkan amplitud mengikut keuntungan tingkap.
  • Sahkan kod AI dengan isyarat ujian yang diketahui untuk mengesahkan paksi dan normalisasi.
  • Semak kestabilan penapis dan tindak balas frekuensi dengan memplotkannya.
  • Sentiasa uji tafsiran spektrum dengan jangkaan frekuensi fizikal.

Tugasan permohonan

Hasilkan isyarat ujian frekuensi yang diketahui (cth. sinus 500 Hz + 1500 Hz). Minta FFT dan kod penapis daripada AI. Kemudian: (1) sahkan bahawa kriteria Nyquist dipenuhi, (2) semak bahawa puncak FFT benar-benar muncul pada 500 dan 1500 Hz, (3) dengan sengaja mengurangkan kekerapan pensampelan di bawah Nyquist dan perhatikan bagaimana pengalianan mencipta puncak palsu. Perhatikan pemerhatian anda dan parameter yang anda betulkan.