fbpx

Andrei Shelkovenko. Unul dintre dezvoltatorii și fondatorul Vibromera.
Traducerea articolului poate conține inexactități.

  1. Transformată Fourier și spectru de semnal
    În multe cazuri, sarcina de a obține (calcula) spectrul unui semnal este următoarea. Există un ADC, care, cu o frecvență de eșantionare Fd, transformă semnalul continuu, care vine la intrarea sa în timpul T, în eșantioane digitale - N bucăți. Apoi, această matrice de eșantioane este introdusă într-un program (de exemplu FourierScope) care emite N/2 valori numerice.
    Pentru a verifica dacă programul funcționează corect, formăm un tablou de eșantioane ca o sumă de două sin(10*2*pi*x)+0,5*sin(5*2*pi*x) și îl introducem în program. Programul a trasat următoarele:
Transformată Fourier și spectru de semnal

Fig.1 Graficul funcției temporale a semnalului

 

Fig.2 Graficul spectrului de semnal

Fig.2 Graficul spectrului de semnal

 

Există două armonici pe graficul spectrului - 5 Hz cu o amplitudine de 0,5 V și 10 Hz cu o amplitudine de 1 V, totul este ca în formula semnalului original. Totul este în regulă, grograma funcționează corect.

Acest lucru înseamnă că, dacă introducem un semnal real dintr-un amestec de două sinusoide la intrarea ADC, vom obține un spectru similar format din două armonici.

Așadar, noi real semnal măsurat cu o durată de 5 sec., digitizată de ADC, adică reprezentată prin discret eșantioane, are un discret neperiodic spectru.
Din punct de vedere matematic - câte erori conține această frază?

Acum să încercăm să măsurăm același semnal timp de 0,5 secunde.

Fig.3 Graficul funcției sin(10*2*pi*x)+0,5*sin(5*2*pi*x) pentru o perioadă de măsurare de 0,5 sec.

Fig.3 Graficul funcției sin(10*2*pi*x)+0,5*sin(5*2*pi*x) pentru o perioadă de măsurare de 0,5 sec.

 

Fig.4 Spectrul funcției

Fig.4 Spectrul funcției

 

Ceva nu este în regulă aici! Armonica de la 10 Hz este desenată în mod normal, iar în locul armonicii de la 5 Hz apar niște armonici neclare.

Pe internet se spune că este necesar să se adauge zerouri la sfârșitul eșantionului și că spectrul va fi trasat în mod normal.

Fig.5 Am adăugat zerouri la eșantion până la 5 sec.

Fig.5 Am adăugat zerouri la eșantion până la 5 sec.

 

Fig.6. Spectrul obținut.

Fig.6. Spectrul obținut.

 

Nu e vorba deloc de asta. Va trebui să mă ocup de teorie. Să mergem la wikipedia - sursa de cunoaștere.

2. Funcția continuă și reprezentarea ei în serie Fourier
Din punct de vedere matematic, semnalul nostru cu durata de T secunde este o funcție f(x) dată pe intervalul {0, T} (X în acest caz este timpul). O astfel de funcție poate fi întotdeauna reprezentată ca o sumă de funcții armonice (sinusoidală sau cosinusoidală) de forma:

Funcție continuă și reprezentarea ei în serie Fourier

 (1), unde:

k este numărul funcției trigonometrice (numărul componentei armonice, numărul armonicii)
T - segmentul în care este definită funcția (durata semnalului)
Ak- amplitudinea celei de-a k-a componente armonice,
θk- faza inițială a celei de-a k-a componente armonice
Ce înseamnă "a reprezenta funcția ca sumă a seriilor"? Înseamnă că, prin adăugarea valorilor componentelor armonice ale seriei Fourier în fiecare punct, obținem valoarea funcției noastre în acel punct.
(Mai strict, abaterea medie pătratică a seriei de la funcția f(x) va tinde spre zero, dar, în ciuda convergenței medii pătratice, seria Fourier a unei funcții nu trebuie, în general, să converge spre aceasta punct cu punct. )
Această serie poate fi scrisă și sub forma:

(2),

(2),

 

 

 

unde , a k-a amplitudine complexă.

 

sau

 (3)

(3)

 

 

 

Relația dintre coeficienții (1) și (3) este exprimată prin următoarele formule:

 

 

 

 

Observați că toate aceste trei reprezentări ale seriei Fourier sunt perfect echivalente. Uneori, atunci când se lucrează cu serii Fourier, este mai convenabil să se utilizeze exponenți ai argumentului imaginar în loc de sinusuri și cosinusuri, adică să se utilizeze transformata Fourier în formă complexă. Dar este convenabil pentru noi să folosim formula (1), în care seria Fourier este reprezentată ca o sumă de cosinusuri cu amplitudini și faze corespunzătoare. În orice caz, este greșit să spunem că rezultatul transformării Fourier a semnalului real va fi reprezentat de amplitudini armonice complexe. După cum spune corect Wiki, "Transformata Fourier (ℱ) este o operație care pune în corespondență o funcție de o variabilă reală cu o altă funcție tot de o variabilă reală".

 

Linia de jos:
Baza matematică pentru analiza spectrală a semnalelor este transformată Fourier.

Transformarea Fourier permite reprezentarea unei funcții continue f(x) (semnal) definită pe intervalul {0, T} ca sumă a unui număr infinit (serie infinită) de funcții trigonometrice (sinus și/sau cosinus) cu amplitudini și faze definite, de asemenea considerate pe intervalul {0, T}. O astfel de serie se numește serie Fourier.

Rețineți încă câteva aspecte a căror înțelegere este necesară pentru aplicarea corectă a transformării Fourier la analiza semnalelor. Dacă luăm în considerare seria Fourier (suma sinusoidelor) pe întreaga axă X, vom vedea că în afara intervalului {0, T} funcția seriei Fourier va repeta periodic funcția noastră.

De exemplu, în graficul din figura 7, funcția originală este definită pe intervalul {-T\2, +T\2}, iar seria Fourier reprezintă o funcție periodică definită pe întreaga axă x.

Acest lucru se datorează faptului că sinusoidele în sine sunt funcții periodice, astfel încât suma lor va fi, de asemenea, o funcție periodică.

Figura 7 Reprezentarea unei funcții sursă neperiodice printr-o serie Fourier

Figura 7 Reprezentarea unei funcții sursă neperiodice printr-o serie Fourier

Astfel:

Funcția noastră inițială este o funcție continuă, neperiodică, definită pe un segment de lungime T.
Spectrul acestei funcții este discret, adică este reprezentat ca o serie infinită de componente armonice - o serie Fourier.
De fapt, seria Fourier definește o funcție periodică, care coincide cu funcția noastră pe intervalul {0, T}, dar pentru noi această periodicitate nu este esențială.

Următorul.

Perioadele componentelor armonice sunt multipli ai intervalului {0, T}, pe care este definită funcția inițială f(x). Cu alte cuvinte, perioadele componentelor armonice sunt multiplii duratei de măsurare a semnalului. De exemplu, perioada primei armonice dintr-o serie Fourier este egală cu intervalul T în care este definită funcția f(x). Perioada celei de-a doua armonice dintr-o serie Fourier este egală cu intervalul T/2. Și așa mai departe (a se vedea figura 8).

Fig. 8 Perioadele (frecvențele) componentelor armonice ale seriei Fourier (aici T=2π)

Fig. 8 Perioadele (frecvențele) componentelor armonice ale seriei Fourier (aici T=2π)

În consecință, frecvențele componentelor armonice sunt multipli de 1/T. Altfel spus, frecvențele componentelor armonice Fk sunt Fk= k\T, unde k are valori de la 0 la ∞, de exemplu, k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;.... Fk= k\T (la frecvență zero, o componentă constantă).

Fie ca funcția noastră inițială, este un semnal înregistrat în timpul T=1 sec. Atunci perioada primei armonice va fi egală cu durata semnalului nostru T1=T=1 sec, iar frecvența armonicii este egală cu 1 Hz. Perioada celei de-a doua armonice va fi egală cu durata semnalului nostru împărțită la 2 (T2=T/2=0,5 sec.), iar frecvența este egală cu 2 Hz. Pentru cea de-a treia armonică, T3=T/3 sec. și frecvența este de 3 Hz. Și așa mai departe.

În acest caz, pasul dintre armonici este de 1 Hz.

Astfel, un semnal cu o durată de 1 secundă poate fi descompus în componente armonice (pentru a obține un spectru) cu o rezoluție de frecvență de 1 Hz.
Pentru a mări rezoluția cu un factor de 2 până la 0,5 Hz, este necesar să se mărească durata măsurătorii cu un factor de 2 până la 2 secunde. Un semnal de 10 secunde poate fi descompus în componente armonice (spectru) cu o rezoluție de frecvență de 0,1 Hz. Nu există alte modalități de creștere a rezoluției de frecvență.

Există o modalitate de a mări în mod artificial durata semnalului prin adăugarea de zerouri la matricea de eșantioane. Dar acest lucru nu mărește rezoluția reală a frecvenței.

3. Semnale discrete și transformată Fourier discretă
Odată cu dezvoltarea tehnologiei digitale, modalitățile de stocare a datelor (semnalelor) de măsurare s-au schimbat. Dacă înainte un semnal putea fi înregistrat pe un magnetofon și stocat pe o bandă în formă analogică, în prezent semnalele sunt digitalizate și stocate în fișiere în memoria unui calculator ca un set de numere (numărători).

Schema obișnuită de măsurare și digitizare a semnalului arată după cum urmează.

Traductor de măsurare -- Normalizator de semnal -- ADC -- Calculator
(Fig.9 Schema canalului de măsurare)

Semnalul de la traductorul de măsurare merge la ADC pentru o perioadă de timp T. Citirile de semnal (eșantionare) primite în timpul T sunt transmise la calculator și salvate în memorie.

Fig.10 Semnalul digitizat - N eșantioane primite pentru timpul T

Fig.10 Semnalul digitizat - N eșantioane primite pentru timpul T

Care sunt cerințele pentru a semnaliza parametrii de digitizare? Un dispozitiv care transformă semnalul analogic de intrare într-un cod discret (semnal digital) se numește convertor analog-digital (ADC) (© Wiki).

Unul dintre parametrii de bază ai ADC este rata maximă de eșantionare - frecvența de eșantionare a unui semnal continuu în timp. Rata de eșantionare se măsoară în hertzi. ((© Wiki))

Conform teoremei lui Kotelnikov, dacă un semnal continuu are un spectru limitat de frecvența Fmax, acesta poate fi reconstruit în totalitate și în mod unic din eșantioanele sale discrete prelevate la intervale de timp T = 1/2*Fmax, adică cu o frecvență Fd ≥ 2*Fmax, unde Fd - frecvența de eșantionare; Fmax - frecvența maximă a spectrului semnalului. Cu alte cuvinte, frecvența de digitizare a semnalului (frecvența de eșantionare a ADC) trebuie să fie de cel puțin 2 ori mai mare decât frecvența maximă a semnalului pe care dorim să îl măsurăm.

Și ce se va întâmpla dacă luăm probe cu o frecvență mai mică decât cea cerută de teorema lui Kotelnikov?

În acest caz, se produce un efect de "aliasing" (cunoscut și ca efect stroboscopic, efect moiré), în care un semnal de înaltă frecvență după digitizare se transformă într-un semnal de joasă frecvență, care de fapt nu există. În Fig. 11, sinusoida roșie de înaltă frecvență este semnalul real. Unda sinusoidală albastră de frecvență mai joasă este un semnal fictiv, care apare datorită faptului că în timpul eșantionării are timp să treacă mai mult de o jumătate de perioadă a semnalului de înaltă frecvență.

Fig. 11. Apariția unui semnal fals de frecvență joasă la o rată de eșantionare insuficient de mare

Fig. 11. Apariția unui semnal fals de frecvență joasă la o rată de eșantionare insuficient de mare

 

Pentru a evita efectul de aliasing, un filtru special anti-alias (filtru trece-jos) este plasat înainte de ADC. Acesta lasă să treacă frecvențele mai mici de jumătate din frecvența de eșantionare a ADC-ului și taie frecvențele mai înalte.

Pentru a calcula spectrul semnalului prin eșantioanele sale discrete, se utilizează transformata Fourier discretă (DFT). Rețineți din nou că spectrul unui semnal discret este "prin definiție" limitat la o frecvență Fmax mai mică decât jumătate din frecvența de eșantionare Fd. Prin urmare, spectrul unui semnal discret poate fi reprezentat prin suma de un finit număr de armonici, spre deosebire de suma infinită pentru seria Fourier a unui semnal continuu, al cărui spectru poate fi nelimitat. Conform teoremei lui Kotelnikov, frecvența maximă a unei armonici trebuie să fie astfel încât să reprezinte cel puțin două eșantioane, astfel încât numărul de armonici să fie egal cu jumătate din numărul de eșantioane ale unui semnal discret. Altfel spus, dacă există N eșantioane în eșantion, numărul de armonici din spectru va fi N/2.

Să luăm acum în considerare transformata Fourier discretă (DFT).

Comparând-o cu seria Fourier

 

După cum putem vedea, ele coincid, cu excepția faptului că timpul în FFT este discret și numărul de armonici este limitat la N/2, care este jumătate din numărul de eșantioane.

Formulele DFT se scriu în variabile întregi adimensionale k, s, unde k este numărul de eșantioane de semnal, iar s este numărul de componente spectrale.
Valoarea s indică numărul de oscilații armonice complete pe perioada T (durata de măsurare a semnalului). Transformata Fourier discretă este utilizată pentru a găsi amplitudinile și fazele armonicilor în mod numeric, adică "pe calculator".

După cum s-a spus deja mai sus, atunci când se descompune o funcție neperiodică (semnalul nostru) în serii Fourier, seria Fourier rezultată corespunde de fapt unei funcții periodice cu perioada T (Fig.12).

 

Fig.12. Funcția periodică f(x) cu perioada T0, cu perioada T>T0

Fig.12. Funcția periodică f(x) cu perioada T0, cu perioada T>T0

 

După cum se poate observa în figura 12, funcția f(x) este periodică cu perioada T0. Cu toate acestea, din cauza faptului că lungimea eșantionului de măsurare T nu este egală cu perioada T0 a funcției, funcția obținută ca serie Fourier are o discontinuitate în punctul T. Ca urmare, spectrul acestei funcții va conține un număr mare de armonici de înaltă frecvență. Dacă durata eșantionului de măsurare T ar coincide cu perioada funcției T0, atunci spectrul obținut în urma transformării Fourier ar conține doar prima armonică (o sinusoidă cu o perioadă egală cu durata eșantionului), deoarece funcția f(x) este o sinusoidă.

Cu alte cuvinte, programul DFT "nu știe" că semnalul nostru este o "felie de undă sinusoidală", dar încearcă să reprezinte sub forma unei serii o funcție periodică care are o discontinuitate datorată discontinuității bucăților separate de undă sinusoidală.

Ca urmare, în spectru apar armonici, care ar trebui să reprezinte, în total, forma funcției, inclusiv această discontinuitate.

Astfel, pentru a obține un spectru "corect" al unui semnal care este o sumă de mai multe sinusoide cu perioade diferite, este necesar ca o număr întreg de perioade de fiecare sinusoidă trebuie să fie prezentă pe perioada de măsurare a semnalului. În practică, această condiție poate fi îndeplinită cu o durată suficient de lungă de măsurare a semnalului.

 

Fig.13 Exemplu de funcție și spectru al semnalului de eroare cinematică al unui reductor

Fig.13 Exemplu de funcție și spectru al semnalului de eroare cinematică al unui reductor

 

La o durată mai scurtă, imaginea va arăta "mai rău":

 

Fig.14 Exemplu de funcție și spectru de vibrații ale rotorului

Fig.14 Exemplu de funcție și spectru de vibrații ale rotorului

 

 

 

În practică, poate fi dificil să se înțeleagă unde se află "componentele reale" și unde se află "artefactele" cauzate de inconsecvența perioadelor componentelor și a duratei de eșantionare a semnalului sau de "salturi și întreruperi" în forma de undă. Desigur, cuvintele "componente reale" și "artefacte" sunt puse între ghilimele cu un motiv. Prezența mai multor armonici pe graficul spectrului nu înseamnă că semnalul nostru este format efectiv din acestea. Este ca și cum ați crede că numărul 7 "constă" din numerele 3 și 4. Numărul 7 poate fi gândit ca fiind suma dintre 3 și 4 - este corect.

Deci și semnalul nostru... sau mai degrabă nici măcar "semnalul nostru", ci o funcție periodică compusă prin repetarea semnalului nostru (eșantion) poate fi reprezentată ca o sumă de armonici (unde sinusoidale) cu anumite amplitudini și faze. Dar în multe cazuri importante pentru practică (vezi figurile de mai sus) este într-adevăr posibil să se raporteze armonicele obținute în spectru și la procese reale care au caracter ciclic și care contribuie semnificativ la forma semnalului.

Câteva rezultate
1. Un semnal măsurat real cu o durată de T sec. digitizat de ADC, adică reprezentat de un set de eșantioane discrete (N bucăți), are un spectru discret neperiodic reprezentat de un set de armonici (N/2 bucăți).

2. Semnalul este reprezentat de un set de valori valide, iar spectrul său este reprezentat de un set de valori valide. Frecvențele armonicilor sunt pozitive. Doar pentru că este mai convenabil din punct de vedere matematic să se reprezinte spectrul în formă complexă folosind frecvențe negative nu înseamnă că "așa este corect" și că "așa trebuie să procedați întotdeauna".

3. Semnalul măsurat la momentul T este determinat numai la momentul T. Ce s-a întâmplat înainte de a începe să măsurăm semnalul și ce se va întâmpla după aceea nu este cunoscut de știință. Iar în cazul nostru nu este interesant. FFT a semnalului limitat în timp oferă spectrul "real" al acestuia, în sensul că, în anumite condiții, permite calcularea amplitudinii și frecvenței componentelor sale.

 

Categorii: Exemplu

ro_RORO