Câștiguri:
- Abilitatea de a stabili cu precizie parametrii de procesare a semnalului, cum ar fi frecvența de eșantionare, tipul de filtru și fereastra cu AI
- Abilitatea de a genera cod Python pentru FFT, design de filtru și analiza zgomotului și de a verifica Nyquist și aliasing
- Abilitatea de a verifica interpretarea spectrului generat de AI comparându-l cu măsurarea și așteptările fizice
Datele brute de la un senzor, microfon sau linie de alimentare sunt adesea lipsite de sens; Este necesară procesarea și interpretarea acestuia pe axa frecvenței, amplitudinii și timpului. Extragerea spectrului cu FFT, filtrarea zgomotului, recunoașterea unei semnături de vibrație... Toate acestea sunt procese de semnal și AI generează cod Python rapid în această zonă, explică concepte, calculează coeficientul de filtru. Dar o mică eroare de parametru în procesarea semnalului (frecvență de eșantionare greșită, fereastră greșită, controlul Nyquist omis) ruinează în tăcere întreaga analiză; Codul nu dă erori, dă doar rezultate greșite. În această unitate, vom acoperi setarea parametrilor corecti cu AI, verificarea codului generat în termeni de Nyquist și aliasing și verificarea interpretării spectrului cu realitatea fizică.
Parametri de bază: Eșantionare, Nyquist, Alias
Prima regulă de procesare a semnalului digital este teorema Nyquist-Shannon: pentru a reprezenta cu acuratețe un semnal, frecvența de eșantionare trebuie să fie de cel puțin două ori componenta de frecvență cea mai înaltă a semnalului. În caz contrar, frecvențele înalte vor apărea ca frecvențe joase (aliasing) și acest lucru nu poate fi inversat.
Cea mai înaltă frecvență a semnalului: f_max = 2 kHzFrecvența minimă de eșantionare: f_s ≥ 2 · f_max = 4 kHzPentru a lăsa marginea în practică: f_s ≈ 5 · f_max = 10 kHz este selectat.
Atenție: Când AI sugerează o frecvență de eșantionare, asigurați-vă că verificați dacă oferă Nyquist pe baza celei mai înalte componente a semnalului dvs. Codul rulează fără erori chiar și la frecvență de eșantionare scăzută; dar rezultatul este greșit din cauza aliasing-ului. În plus, niciun software nu poate anula această eroare fără un filtru anti-aliasing în hardware.
Rezoluție și ferestre pentru FFT
Rezoluția de frecvență a FFT depinde de frecvența de eșantionare și de numărul de probe: Δf = f_s / N. Pentru o rezoluție mai fină fie colectați mai multe mostre, fie alegeți f_s mai mici (fără a rupe Nyquist). În plus, discontinuitatea dintre începutul și sfârșitul semnalului creează „scurgeri spectrale”; Pentru a reduce acest lucru, sunt aplicate funcții de fereastră precum Hann și Hamming.
f_s = 10 kHz, N = 1024 mostre Rezoluție în frecvență: Δf = 10000 / 1024 ≈ 9,77 HzTimp total de înregistrare: T = N / f_s = 1024 / 10000 ≈ 102,4 ms
Generarea și verificarea FFT și a codului de filtrare
Specificați în mod explicit frecvența de eșantionare, tipul ferestrei și scara axei atunci când solicitați codul FFT de la AI. Următorul cod scoate la ieșire spectrul de amplitudine unilateral al unui semnal:
import numpy ca npfs = 10000 # frecvență de eșantionare (Hz) - verificați Nyquist!N = 1024t = np.arange(N) / fs# semnal de probă: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0.5*np.sin*1*np. np.hanning(N) # windowing: reduce scurgerea spectrală normalizată prin amplificare# verifica peak frequenciespeaks = f[np.argsort(mag)[-2:]]print("Frecvențe dominante (Hz):", np.sort(vârf))
Când verificați acest cod, veți fi întrebat: axa frecvenței este într-adevăr Hz sau este folosit indicele eșantionului (rfftfreq)? Este amplitudinea normalizată la câștigul ferestrei? Vârfurile așteptate de 500 și 1500 Hz apar cu adevărat în acele puncte? Dacă verificați codul cu un semnal de testare cunoscut (sinus cu o singură frecvență), veți confirma cu încredere axa și normalizarea.
Solicitare slabă / Solicitare puternică
SLAB: „Aplicați FFT la aceste date.” (Rezultat: frecvența de eșantionare, scara axei și fereastra nu sunt clare; graficul este cel mai probabil reprezentat pe axa greșită.) STRONG: „Aplicați FFT la un semnal eșantionat de 10 kHz. Furnizați:- Trasați axa frecvenței în Hz (utilizați fereastra rfftfrecvența). frecvențele digital.- Marcați limita Nyquist (5 kHz) pe grafic. Rețineți că axa se va deplasa dacă frecvența de eșantionare este incorectă.
Proiectarea filtrului și analiza zgomotului
AI poate genera coeficienți de filtru low/high/pass band (FIR/IIR). Dar trebuie verificată frecvența de tăiere, ordinea și stabilitatea filtrului. Poate provoca instabilitate de ordin ridicat și distorsiuni de fază, în special în filtrele IIR. După proiectarea filtrului, graficați răspunsul în frecvență (asemănător lui Bode) pentru a vedea dacă limita este în locul potrivit și nu există o ondulație nedorită în banda de trecere.
Sarcina tipică în analiza zgomotului este de a separa semnalul real de zgomot. Aici, evaluați pragul sau filtrul sugerat de AI în raport cu lățimea de bandă fizică a semnalului: dacă semnalul dvs. real este la 0-500 Hz, o componentă la 2 kHz este cel mai probabil zgomot sau interferență. AI oferă statistici; Tu faci interpretarea fizică.
Validarea interpretării spectrului cu realitatea fizică
Atunci când interpretează un spectru, AI face inferențe rezonabile, dar nu întotdeauna exacte, cum ar fi „Există un vârf la 50 Hz, aceasta este interferența rețelei”. Comparați aceste comentarii cu așteptările fizice: Sistemul are într-adevăr o conexiune la rețea de 50 Hz? Frecvența de rotație și armonicile așteptate sunt aproape acolo în spectrul de vibrații al unui motor? Dacă este posibil, repetați măsurarea cu o a doua metodă (sensor diferit, software diferit) și vedeți aceleași vârfuri.
Sugestie: Pentru fiecare interpretare a spectrului, „cu ce fenomen fizic corespunde acest vârf?” Pune întrebarea. Rețeaua de 50/100/150 Hz și armonicile sale, frecvența de rotație și multiplii ei în mașinile rotative și frecvența de comutare în sursele de alimentare în comutație sunt semnături cunoscute. Un vârf necunoscut este fie un eveniment real, fie o eroare de măsurare/procesare; Cercetați pe ambele.
Mini carcasă
Un inginer de cercetare și dezvoltare măsoară vibrația unui ventilator și îi pune AI să interpreteze spectrul. „Există un vârf dominant la 1200 Hz, aceasta poate fi defecțiunea lagărului”, spune AI. Inginerul controlează viteza ventilatorului: 1800 rpm = 30 Hz. Se așteaptă ca frecvențele de tranziție ale rulmentului și ale lamei să fie la anumite valori compatibile cu acest ciclu; 1200 Hz nu corespunde cu niciuna dintre acestea. Acesta controlează frecvența de eșantionare: semnalul transportă conținut de până la 2 kHz, dar numai 2 kHz este eșantionat, deci o încălcare Nyquist. Vârful la 1200 Hz este o frecvență fantomă care rezultă din aliasing. Când cresc frecvența de eșantionare la 8 kHz, vârful fals dispare. Lecție: testați întotdeauna interpretarea spectrului cu așteptările ciclului fizic/frecvenței și eșantionarea corectă.
Greșeli comune
- Alegerea frecvenței de eșantionare fără a verifica criteriul Nyquist; Privind aliasing.
- Lăsând axa frecvenței FFT la indicele eșantionului în loc de Hz.
- Scurgerea spectrală greșită ca un semnal fără ferestre.
- Nu se normalizează amplitudinea în funcție de numărul de ferestre/eșantioane.
- Nu se verifică stabilitatea filtrului IIR și distorsiunea de fază.
- Interpretarea vârfurilor spectrului fără a le testa în așteptarea rpm/frecvenței fizice.
Pe scurt
- Frecvența de eșantionare trebuie să fie de cel puțin două ori cea mai mare componentă a semnalului; În caz contrar, aliasing-ul va perturba întreaga analiză.
- Rezoluția FFT Δf = f_s/N; Alegeți N și f_s în funcție de nevoile dvs.
- Ferestrele reduc scurgerile spectrale; normalizați amplitudinea în funcție de câștigul ferestrei.
- Verificați codul AI cu un semnal de testare cunoscut pentru a confirma axa și normalizarea.
- Verificați stabilitatea filtrului și răspunsul în frecvență prin graficul acestuia.
- Testați întotdeauna interpretarea spectrului cu așteptarea frecvenței fizice.
Sarcina de aplicare
Generați un semnal de testare de frecvență cunoscută (de exemplu, 500 Hz + 1500 Hz sinus). Solicitați FFT și codul de filtrare de la AI. Apoi: (1) verificați dacă criteriul Nyquist este îndeplinit, (2) verificați dacă vârfurile FFT apar de fapt la 500 și 1500 Hz, (3) reduceți în mod deliberat frecvența de eșantionare sub Nyquist și observați cum aliasing-ul creează un vârf fals. Notați observațiile dvs. și parametrul pe care l-ați corectat.