Metoda vectorului de amplitudine rotativă. Oscilațiile armonice ale valorii s sunt descrise printr-o ecuație de tip

Diagrama vectorială. Adăugarea de vibrații.

Rezolvarea unui număr de probleme din teoria oscilațiilor este mult facilitată și devine mai evidentă dacă oscilațiile sunt reprezentate grafic folosind metoda diagrame vectoriale. Să alegem niște axe X. De la un punct 0 pe axă graficăm vectorul lungime , care mai întâi formează un unghi cu axa (Fig. 2.14.1). Dacă aducem acest vector în rotație cu o viteză unghiulară, atunci proiecția capătului vectorului pe axă X se va modifica în timp conform legii

.

Prin urmare, proiecția capătului vectorului pe axă va realiza o oscilație armonică cu o amplitudine egală cu lungimea vectorului, cu o frecvență circulară egală cu viteza unghiulară de rotație a vectorului și cu o fază inițială egală. la unghiul pe care îl formează vectorul cu axa în momentul inițial al timpului. Unghiul format de vectorul cu axa la un moment dat determină faza oscilației în acel moment - .

Din cele spuse, rezultă că o oscilație armonică poate fi reprezentată folosind un vector, a cărui lungime este egală cu amplitudinea oscilației, iar direcția ei formează un unghi cu o anumită axă egală cu faza oscilației. Aceasta este esența metodei diagramelor vectoriale.

Adăugarea oscilațiilor de aceeași direcție.

Luați în considerare adăugarea a două oscilații armonice, ale căror direcții sunt paralele:

. (2.14.1)

Offset rezultat X va fi suma și . Va fi o oscilatie cu amplitudine.

Să folosim metoda diagramelor vectoriale (Fig. 2.14.2). în figură și sunt fazele oscilațiilor rezultate și, respectiv, adăugate. Este ușor de văzut ce poate fi găsit prin adăugarea vectorilor și . Cu toate acestea, dacă frecvențele oscilațiilor adăugate sunt diferite, atunci amplitudinea rezultată se modifică în mărime în timp și vectorul se rotește cu o viteză neconstant, adică. oscilația nu va fi armonică, ci va reprezenta un proces oscilator complex. Pentru ca oscilația rezultată să fie armonică, frecvențele oscilațiilor adăugate trebuie să fie aceleași

iar oscilația rezultată are loc la aceeași frecvență

.

Din construcție reiese clar că

Să analizăm expresia (2.14.2) pentru amplitudinea oscilației rezultate. În cazul în care un diferența de fază a oscilațiilor adăugate este egală cu zero(oscilațiile sunt în fază), amplitudinea este egală cu suma amplitudinilor oscilațiilor adăugate, adică are valoarea maximă posibilă . În cazul în care un diferența de fază este(oscilațiile sunt în antifază), atunci amplitudinea rezultată este egală cu diferența de amplitudine, adică are cea mai mică valoare posibilă .

Adăugarea de vibrații reciproc perpendiculare.

Lasă particula să efectueze două oscilații armonice cu aceeași frecvență: una de-a lungul direcției, pe care o notăm X, celălalt este în direcția perpendiculară y. În acest caz, particula se va deplasa de-a lungul unor, în cazul general, o traiectorie curbilinie, a cărei formă depinde de diferența de fază a oscilațiilor.

Alegem originea referinței de timp astfel încât faza inițială a unei oscilații să fie egală cu zero:

. (2.14.3)

Pentru a obține ecuația traiectoriei particulelor, este necesar să se excludă din (2.14.3) t. Din prima ecuație, a. mijloace, . Să rescriem a doua ecuație

sau

.

Transferând primul termen din partea dreaptă a ecuației în partea stângă, punând la pătrat ecuația rezultată și efectuând transformări, obținem

. (2.14.4)

Această ecuație este ecuația unei elipse ale cărei axe sunt rotite în raport cu axele Xși y la un anumit unghi. Dar în unele cazuri speciale se obțin rezultate mai simple.

1. Diferența de fază este zero. Apoi din (2.14.4) obținem

sau . (2.14.5)

Aceasta este ecuația unei linii drepte (Fig. 2.14.3). Astfel, particula oscilează de-a lungul acestei linii drepte cu o frecvență și amplitudine egale cu .

O diagramă vectorială este o modalitate de a defini grafic o mișcare oscilativă ca vector.

O valoare oscilantă ξ (de orice natură fizică) este trasată de-a lungul axei orizontale. Vectorul trasat din punctul 0 este egal în valoare absolută cu amplitudinea oscilației A și este îndreptat cu un unghi α , egal cu faza inițială a oscilației, spre axa ξ. Dacă aducem acest vector în rotație cu o viteză unghiulară ω egală cu frecvența ciclică a oscilațiilor, atunci proiecția acestui vector pe axa ξ dă valoarea mărimii oscilante la un moment arbitrar de timp.

Adăugarea de oscilații de aceeași frecvență și aceeași direcție

Să fie două oscilații: construim diagrame vectoriale și adăugăm vectori:

Conform legii cosinusurilor

La fel de apoi

Este evident (vezi diagrama) că faza inițială a oscilației rezultate este determinată de relația:

Adăugarea de oscilații de frecvențe apropiate

P est, se adaugă două oscilații cu frecvențe aproape identice, adică.

Din trigonometrie:

Aplicând la cazul nostru, obținem:

Graficul oscilației rezultate este un grafic de ritm, adică. oscilații aproape armonice ale frecvenței ω, a căror amplitudine se modifică lent cu frecvența Δω .

Amplitudine datorită prezenței semnului modulului (amplitudinea este întotdeauna > 0), frecvența cu care se modifică amplitudinea nu este egală cu Δω / 2, ci de două ori mai mare - Δω.

Adăugarea oscilațiilor reciproc perpendiculare

Lăsați un corp mic să oscileze pe arcuri reciproc perpendiculare de aceeași rigiditate. Pe ce traiectorie se va mișca acest corp?

Acestea sunt ecuațiile de traiectorie în formă parametrică. Pentru a obține o relație explicită între coordonatele x și y, parametrul t trebuie exclus din ecuații.

Din prima ecuație: ,

Din a doua

După înlocuire

Să scăpăm de rădăcină:

este ecuația unei elipse

H
cazuri speciale:

27. Vibrații amortizate. Vibrații forțate. Rezonanţă.

Amortizarea oscilațiilor libere

Datorită rezistenței, oscilațiile libere se sting întotdeauna mai devreme sau mai târziu. Să luăm în considerare procesul de amortizare a oscilațiilor. Să presupunem că forța de rezistență este proporțională cu viteza corpului. (factorul de proporționalitate este indicat cu 2mg din motive de comoditate, care vor fi dezvăluite ulterior). Să ținem cont de cazul în care amortizarea sa este mică în perioada de oscilație. Apoi putem presupune că amortizarea va avea un efect redus asupra frecvenței, dar va afecta amplitudinea oscilațiilor. Atunci ecuația oscilațiilor amortizate poate fi reprezentată ca aici A(t) reprezintă o funcție descrescătoare care trebuie determinată. Vom pleca de la legea conservării și transformării energiei. Modificarea energiei oscilațiilor este egală cu munca medie a forței de rezistență pe perioada, adică. Împărțim ambele părți ale ecuației la dt. In dreapta vom avea dx/dt, i.e. viteza v, iar în stânga obțineți derivata energiei în raport cu timpul. Prin urmare, ținând cont Dar energia cinetică medie egal cu jumătate din energia totală. Prin urmare, se poate scrie că împărțiți ambele părți cu E și înmulțiți cu dt. Înțelegem asta Integram ambele părți ale ecuației rezultate: După potențare, obținem Constanta de integrare C se găsește din condițiile inițiale. Fie la t = 0 E = E0, apoi E0 = C. Prin urmare, Dar E~A^2. Prin urmare, amplitudinea oscilațiilor amortizate scade și ea conform legii exponențiale:

Și deci, din cauza rezistenței, amplitudinea oscilațiilor scade și acestea arată în general așa cum se arată în Fig. 4.2. Coeficientul se numește coeficient de atenuare. Cu toate acestea, nu prea caracterizează atenuarea. De obicei, amortizarea oscilațiilor se caracterizează prin scăderea amortizarii. Acesta din urmă arată de câte ori scade amplitudinea oscilației într-un timp egal cu perioada de oscilație. Adică, factorul de amortizare este definit după cum urmează: Logaritmul scăderii de amortizare se numește scădere logaritmică, este evident egal cu

Vibrații forțate

Dacă sistemul oscilator este supus acțiunii unei forțe periodice externe, atunci apar așa-numitele oscilații forțate, care au un caracter neamortizat. Oscilațiile forțate ar trebui să fie distinse de auto-oscilațiile. În cazul auto-oscilațiilor în sistem, se presupune un mecanism special, care, în timp cu propriile oscilații, „livrează” mici porțiuni de energie dintr-un rezervor de energie către sistem. Astfel, se mențin oscilațiile naturale, care nu se degradează. În cazul auto-oscilațiilor, sistemul, așa cum ar fi, se împinge. Ceasurile pot servi ca exemplu de sistem auto-oscilant. Ceasul este echipat cu un mecanism cu clichet, cu ajutorul căruia pendulul primește mici șocuri (de la un arc comprimat) în timp cu propriile oscilații. În cazul oscilațiilor forțate, sistemul este împins de o forță externă. Mai jos ne oprim asupra acestui caz, presupunând că rezistența în sistem este mică și poate fi neglijată. Ca model de oscilații forțate, vom înțelege același corp suspendat pe un arc, care este afectat de o forță periodică externă (de exemplu, o forță care are natură electromagnetică). Fără a lua în considerare rezistența, ecuația de mișcare a unui astfel de corp în proiecția pe axa x are forma: unde w* este frecvența ciclică, B este amplitudinea forței externe. Se știe că există fluctuații. Prin urmare, vom căuta o soluție particulară a ecuației sub forma unei funcții sinusoidale Inlocuim functia in ecuatie, pentru care diferentiem de doua ori in raport cu timpul . Substituția conduce la relație

Ecuația se transformă într-o identitate dacă sunt îndeplinite trei condiții: . Apoi iar ecuaţia oscilaţiilor forţate poate fi reprezentată ca Ele apar cu o frecvență care coincide cu frecvența forței exterioare, iar amplitudinea lor nu este stabilită în mod arbitrar, ca în cazul vibrațiilor libere, ci este stabilită de la sine. Această valoare stabilită depinde de raportul dintre frecvența naturală de oscilație a sistemului și frecvența forței externe conform formulei

H iar fig. 4.3 prezintă un grafic al dependenței amplitudinii oscilațiilor forțate de frecvența forței externe. Se poate observa că amplitudinea oscilațiilor crește semnificativ pe măsură ce frecvența forței externe se apropie de frecvența oscilațiilor naturale. Fenomenul de creștere bruscă a amplitudinii oscilațiilor forțate atunci când frecvența naturală și frecvența forței externe coincid se numește rezonanţă.

La rezonanță, amplitudinea oscilației trebuie să fie infinit de mare. În realitate, la rezonanță, amplitudinea oscilațiilor forțate este întotdeauna finită. Acest lucru se explică prin faptul că la rezonanță și în apropierea acesteia, presupunerea noastră a unei rezistențe neglijabil de mică devine incorectă. Chiar dacă rezistența în sistem este mică, atunci este semnificativă în rezonanță. Prezența sa face ca amplitudinea oscilației în rezonanță să fie o valoare finită. Astfel, graficul real al dependenței amplitudinii oscilației de frecvență are forma prezentată în Fig. 4.4. Cu cât rezistența în sistem este mai mare, cu atât amplitudinea maximă la punctul de rezonanță este mai mică.

De regulă, rezonanța în sistemele mecanice este un fenomen nedorit și acesta încearcă să evite: încearcă să proiecteze structuri mecanice supuse oscilațiilor și vibrațiilor în așa fel încât frecvența naturală a oscilațiilor să fie departe de valorile posibile ale frecvențelor influențelor externe. Dar într-un număr de dispozitive rezonanța este folosită ca fenomen pozitiv. De exemplu, rezonanța oscilațiilor electromagnetice este utilizată pe scară largă în comunicațiile radio, rezonanța razelor G - în dispozitivele de precizie.

    Starea sistemului termodinamic. Procese

Stari termodinamice si procese termodinamice

Când, pe lângă legile mecanicii, este necesară aplicarea legilor termodinamicii, sistemul se numește sistem termodinamic. Necesitatea utilizării acestui concept apare dacă numărul de elemente ale sistemului (de exemplu, numărul de molecule de gaz) este foarte mare, iar mișcarea elementelor sale individuale este microscopică în comparație cu mișcarea sistemului în sine sau macroscopică. componente. În acest caz, termodinamica descrie mișcările macroscopice (modificări ale stărilor macroscopice) ale unui sistem termodinamic.

Parametrii care descriu astfel de mișcări (modificări) unui sistem termodinamic sunt de obicei împărțiți în externi și interni. Această împărțire este foarte condiționată și depinde de sarcina specifică. Deci, de exemplu, gazul dintr-un balon cu o înveliș elastic are presiunea aerului din jur ca parametru extern, iar pentru un gaz dintr-un vas cu o înveliș rigid, parametrul extern este volumul delimitat de acest înveliș. Într-un sistem termodinamic, volumul și presiunea pot varia independent unul de celălalt. Pentru o descriere teoretică a modificării lor, este necesar să se introducă cel puțin încă un parametru - temperatura.

În majoritatea problemelor termodinamice, trei parametri sunt suficienți pentru a descrie starea unui sistem termodinamic. În acest caz, modificările din sistem sunt descrise folosind trei coordonate termodinamice asociate cu parametrii termodinamici corespunzători.

stare de echilibru- o stare de echilibru termodinamic - se numește o astfel de stare a unui sistem termodinamic, în care nu există fluxuri (energie, materie, impuls etc.), iar parametrii macroscopici ai sistemului sunt stabili și nu se modifică în timp.

Termodinamica clasică afirmă că un sistem termodinamic izolat (lăsat în sine) tinde spre o stare de echilibru termodinamic și, după ce ajunge la el, nu poate părăsi spontan. Această afirmație este adesea numită legea zero a termodinamicii.

Sistemele aflate în stare de echilibru termodinamic au următoarele proprietăți mi:

Dacă două sisteme termodinamice care au contact termic se află într-o stare de echilibru termodinamic, atunci sistemul termodinamic total este, de asemenea, într-o stare de echilibru termodinamic.

Dacă orice sistem termodinamic este în echilibru termodinamic cu alte două sisteme, atunci aceste două sisteme sunt în echilibru termodinamic unul cu celălalt.

Să luăm în considerare sistemele termodinamice care se află într-o stare de echilibru termodinamic. Descrierea sistemelor care se află într-o stare de neechilibru, adică într-o stare în care au loc fluxuri macroscopice, este tratată de termodinamica de neechilibru. Trecerea de la o stare termodinamică la alta se numește proces termodinamic. Mai jos vom lua în considerare doar procesele cvasi-statice sau, ceea ce este la fel, procesele de cvasi-echilibru. Cazul limită al unui proces de cvasi-echilibru este un proces de echilibru infinit lent care constă din stări continuu succesive de echilibru termodinamic. În realitate, un astfel de proces nu poate avea loc, totuși, dacă schimbările macroscopice în sistem apar destul de lent (în intervale de timp depășind semnificativ timpul de stabilire a echilibrului termodinamic), devine posibil să se aproximeze procesul real ca cvasistatic (cvasi-static). echilibru). O astfel de aproximare face posibilă efectuarea de calcule cu o precizie suficient de mare pentru o clasă mare de probleme practice. Procesul de echilibru este reversibil, adică unul în care o revenire la valorile parametrilor de stare care au avut loc în momentul anterior ar trebui să aducă sistemul termodinamic la starea anterioară fără nicio modificare a corpurilor din jurul sistemului. .

Aplicarea practică a proceselor de cvasi-echilibru în orice dispozitiv tehnic este ineficientă. Astfel, utilizarea unui proces de cvasi-echilibru într-un motor termic, de exemplu, unul care are loc la o temperatură practic constantă (vezi descrierea ciclului Carnot în capitolul al treilea), duce inevitabil la faptul că o astfel de mașină va lucreaza foarte incet (in limita - infinit incet) si au o putere foarte mica. Prin urmare, în practică, procesele de cvasi-echilibru în dispozitivele tehnice nu sunt utilizate. Cu toate acestea, deoarece predicțiile termodinamicii de echilibru pentru sistemele reale coincid cu o acuratețe suficient de mare cu datele experimentale pentru astfel de sisteme, este utilizat pe scară largă pentru a calcula procese termodinamice în diferite dispozitive tehnice.

Dacă, în timpul unui proces termodinamic, sistemul revine la starea inițială, atunci un astfel de proces se numește circular sau ciclic. Procesele circulare, precum și orice alte procese termodinamice, pot fi atât echilibrate (și, prin urmare, reversibile), cât și neechilibrate (ireversibile). Într-un proces circular reversibil, după ce sistemul termodinamic revine la starea inițială, nu apar perturbații termodinamice în corpurile care îl înconjoară, iar stările lor rămân în echilibru. În acest caz, parametrii externi ai sistemului, după implementarea procesului ciclic, revin la valorile inițiale. Într-un proces circular ireversibil, după finalizarea acestuia, corpurile înconjurătoare trec în stări de neechilibru, iar parametrii externi ai sistemului termodinamic se modifică.

Metoda complexă a amplitudinii

Poziția unui punct pe un plan poate fi specificată în mod unic printr-un număr complex:

Dacă punctul ($A$) se rotește, atunci coordonatele acestui punct se schimbă în conformitate cu legea:

scrie $z$ sub forma:

unde $Re(z)=x$, adică mărimea fizică x este egală cu partea reală a expresiei complexe (4). În acest caz, modulul expresiei complexe este egal cu amplitudinea oscilației -- $a$, argumentul său este egal cu faza ($(\omega )_0t+\delta $). Uneori, luând partea reală a lui $z$, semnul operației Re este omis și se obține o expresie simbolică:

Expresia (5) nu trebuie luată literal. Adesea simplificați formal (5):

unde $A=ae^(i \delta)$ este amplitudinea oscilației complexe. Natura complexă a amplitudinii $A$ înseamnă că oscilația are o fază inițială care nu este egală cu zero.

Pentru a dezvălui semnificația fizică a unei expresii ca (6), presupunem că frecvența de oscilație ($(\omega )_0$) are părți reale și imaginare și poate fi reprezentată ca:

Atunci expresia (6) poate fi scrisă ca:

Dacă $(\omega )2>0,$ atunci expresia (8) descrie oscilații armonice amortizate cu frecvență circulară $\omega1$ și indice de amortizare $(\omega )_2$. Dacă $(\omega )_2

cometariu

Multe operații matematice pot fi efectuate pe mărimi complexe ca și cum marimile ar fi reale. Operațiile sunt posibile dacă ele însele sunt liniare și reale (cum ar fi adunarea, înmulțirea, diferențierea față de o variabilă reală și altele, dar nu toate). Trebuie amintit că mărimile complexe în sine nu corespund cu nicio mărime fizică.

Metoda diagramei vectoriale

Fie punctul $A$ să se rotească uniform în jurul cercului de rază $r$ (Fig.1), viteza lui de rotație este $(\omega )_0$.

Poza 1.

Poziția punctului $A$ pe cerc poate fi specificată folosind unghiul $\varphi $. Acest unghi este:

unde $\delta =\varphi (t=0)$ este unghiul de rotație al vectorului rază $\overrightarrow(r)$ în momentul inițial de timp. Dacă punctul $M$ se rotește, atunci proiecția sa pe axa $X$ se mișcă de-a lungul diametrului cercului, făcând oscilații armonice între punctele $M$ $N$. Abscisa lui $A$ poate fi scrisă ca:

În mod similar, pot fi reprezentate fluctuații de orice magnitudine.

Este necesar doar să luăm imaginea mărimii care oscilează cu abscisa punctului $A$, care se rotește uniform în jurul cercului. Desigur, puteți folosi ordonata:

Observație 1

Pentru a reprezenta oscilațiile amortizate, este necesar să se ia nu un cerc, ci o spirală logaritmică, care se apropie de focalizare. Dacă viteza de apropiere a unui punct care se mișcă într-o spirală este constantă și punctul se deplasează spre focalizare, atunci proiecția acestui punct pe axa $X va da formule pentru oscilațiile amortizate.

Observația 2

În loc de un punct, puteți utiliza un vector cu rază care se va roti uniform în jurul originii. Apoi valoarea care efectuează oscilații armonice va fi reprezentată ca o proiecție a acestui vector pe axa $X$. În acest caz, operațiile matematice pe cantitatea $x$ sunt înlocuite cu operații pe un vector.

Deci operația de însumare a două mărimi:

este mai convenabil să se înlocuiască prin însumarea a doi vectori (folosind regula paralelogramului). Vectorii sunt aleși astfel încât proiecțiile lor pe $axa X$ aleasă să fie expresiile $x_1\ și\ x_2$. Apoi rezultatul însumării vectorilor în proiecția pe axa x va fi egal cu $x_1+\ x_2$.

Exemplul 1

Să demonstrăm aplicarea metodei diagramelor vectoriale.

Deci, să reprezentăm numere complexe ca vectori pe planul complex. O mărime care se modifică conform legii armonice este reprezentată de un vector care se rotește în sens invers acelor de ceasornic în jurul originii sale cu frecvența $(\omega )0$. Lungimea vectorului este egală cu amplitudinea oscilațiilor.

Metodă grafică pentru rezolvarea, de exemplu, a ecuației:

unde $Z=R+i(\omega L-\frac(1)(\omega C))$ este impedanța, o putem reprezenta cu ajutorul Fig.2. Această figură prezintă o diagramă vectorială a tensiunilor într-un circuit de curent alternativ.

Figura 2.

Să luăm în considerare că înmulțirea unei valori complexe cu o unitate complexă înseamnă rotirea acesteia cu un unghi $90^0$ în sens invers acelor de ceasornic și înmulțirea cu ($-i$) cu același unghi în sensul acelor de ceasornic. Din fig. 2 rezultă că:

unde $-\frac(\pi )(2)\le \varphi \le \frac(\pi )(2).$ Modificarea unghiului $\varphi $ depinde de relația dintre impedanțele elementelor circuitului și frecvențele. Tensiunea externă se poate schimba în fază, de la coinciderea cu tensiunea pe inductanță la coinciderea cu tensiunea la nivelul capacității. Acesta este de obicei exprimat ca raport între fazele de tensiune de pe elementele circuitului și faza tensiunii externe:

    Faza tensiunii de pe inductor $((U)L=i\omega LI)$ conduce întotdeauna faza tensiunii externe cu un unghi de la $0$ la $\pi .$

    Faza tensiunii pe capacitatea $((U)C=-\frac(iI)(\omega C)$) rămâne întotdeauna în urma fazei tensiunii externe cu un unghi cuprins între $0$ și --$\ \pi .$

    În acest caz, faza de pe rezistență poate conduce sau rămâne în urma fazei tensiunii externe cu un unghi între $\frac(\pi )(2)$ și $\frac(\pi )(2)$.

Diagrama vectorială (Fig. 2) ne permite să formulăm următoarele:

    Faza tensiunii pe inductor conduce faza curentului cu $\frac(\pi )(2)$.

    Faza de tensiune de capacitate este $\frac(\eth )(2)\ $ în spatele fazei curente.

    Faza tensiunii pe rezistență coincide cu faza curentului.

Exemplul 2

Exercițiu: Demonstrați că operația de pătrare nu poate fi aplicată la mărimi complexe ca la numere reale.

Decizie:

Să presupunem că trebuie să pătram un număr real $x$. Răspuns corect: $x^2$. În mod formal, aplicăm metoda complexă. Să înlocuim:

$x\la x+iy$. Punem la patrat expresia rezultata, obtinem:

\[(\left(x+iy\right))^2=x^2-y^2+2xyi\ \left(2.1\right).\]

Partea reală a expresiei (2.1) este:

\[(Re\left(x+iy\right))^2=Re\left(x^2-y^2+2xyi\right)=x^2-y^2\ne x^2.\]

Motivul erorii este că operația de pătrare nu este liniară.


Vibrații armonice

Acestea. de fapt, graficul sinus este obținut din rotația vectorului, care este descrisă de formula:

F(x) = A sin (ωt + φ),

Unde A este lungimea vectorului (amplitudinea oscilației), φ este unghiul (faza) inițial al vectorului la momentul zero, ω este viteza unghiulară de rotație, care este egală cu:

ω=2 πf, unde f este frecvența în Herți.

După cum putem vedea, cunoscând frecvența semnalului, amplitudinea și unghiul, putem construi un semnal armonic.

Magia începe atunci când se dovedește că reprezentarea absolut oricărui semnal poate fi reprezentată ca o sumă (adesea infinită) a diferitelor sinusoide. Cu alte cuvinte, sub forma unei serii Fourier.
Voi da un exemplu din Wikipedia în engleză. Să luăm ca exemplu un semnal din dinți de ferăstrău.


semnal din dinți de ferăstrău

Cuantumul acestuia va fi reprezentat prin următoarea formulă:

Dacă însumăm unul câte unul, luăm mai întâi n=1, apoi n=2 etc., vom vedea cum semnalul nostru armonic sinusoidal se transformă treptat într-un ferăstrău:

Probabil cel mai frumos mod de a ilustra acest lucru este un program pe care l-am găsit pe Internet. S-a spus deja mai sus că graficul sinusoidal este o proiecție a unui vector rotativ, dar cum rămâne cu semnalele mai complexe? Aceasta, destul de ciudat, este o proiecție a unui set de vectori rotativi, sau mai degrabă suma lor, și totul arată astfel:


Fierăstrău pentru desen vectorial.

În general, vă recomand să urmăriți singur linkul și să încercați să vă jucați singuri cu parametrii și să vedeți cum se schimbă semnalul. IMHO, nu am văzut încă o jucărie mai vizuală pentru înțelegere.

De asemenea, trebuie remarcat faptul că există o procedură inversă care vă permite să obțineți frecvența, amplitudinea și faza inițială (unghiul) dintr-un semnal dat, care se numește transformată Fourier.


Extinderea seriei Fourier a unor funcții periodice cunoscute (de aici)

Nu mă voi opri asupra ei în detaliu, dar voi arăta cum poate fi aplicată în viață. În lista de referințe vă voi recomanda unde puteți citi mai multe despre material.

Să trecem la exercițiile practice!

Mi se pare că fiecare elev pune o întrebare, stând la o prelegere, de exemplu, în matan: de ce am nevoie de toate aceste prostii? Și, de regulă, nefiind găsit un răspuns în viitorul apropiat, din păcate, își pierde interesul pentru subiect. Prin urmare, voi arăta imediat aplicarea practică a acestor cunoștințe și deja veți stăpâni singuri aceste cunoștințe :).

Voi implementa totul în continuare pe acest site. Am făcut totul, desigur, sub Linux, dar nu am folosit niciun fel de specific, teoretic programul se va compila și va funcționa sub alte platforme.

Mai întâi, să scriem un program pentru a genera un fișier audio. Un fișier wav a fost considerat cel mai simplu. Puteți citi despre structura sa.
Pe scurt, structura fișierului wav este descrisă după cum urmează: un antet care descrie formatul fișierului și apoi vine (în cazul nostru) o matrice de date pe 16 biți (punct) cu o lungime de: sample_rate * t secunde sau 44100 * t bucăți.

Un exemplu a fost luat pentru a forma un fișier de sunet. L-am modificat puțin, am reparat erorile, iar versiunea finală cu editările mele este acum pe github aici

Să generăm un fișier de sunet de două secunde cu o frecvență sinusoidală pură de 100 Hz. Pentru a face acest lucru, modificăm programul în felul următor:

#define S_RATE (44100) //rată de eșantionare #define BUF_SIZE (S_RATE*10) /* 2 secunde tampon */ …. int main(int argc, char * argv) ( ... float amplitude = 32000; //luați amplitudinea maximă posibilă float freq_Hz = 100; //frecvența semnalului /* umpleți tamponul cu o undă sinusoidală */ pentru (i=0) ; i

Vă atrag atenția că formula sinusului pur corespunde celei despre care am vorbit mai sus. Amplitudinea 32000 (a fost posibil să se ia 32767) corespunde valorii pe care o poate lua un număr de 16 biți (de la minus 32767 la plus 32767).

Ca rezultat, obținem următorul fișier (puteți chiar să-l ascultați cu orice program care produce sunet). Să deschidem acest fișier audacity și să vedem că graficul semnalului corespunde de fapt unui sinus pur:


Sinus pur tub

Să ne uităm la spectrul acestui sinus (Analiză-> Plot Spectrum)


Graficul spectrului

Un vârf curat este vizibil la 100 Hz (scara logaritmică). Ce este un spectru? Acesta este răspunsul în frecvență. Există, de asemenea, un răspuns de fază. Dacă vă amintiți, am spus mai sus că pentru a construi un semnal, trebuie să-i cunoașteți frecvența, amplitudinea și faza? Deci, puteți obține acești parametri din semnal. În acest caz, avem un grafic de corespondență între frecvențe și amplitudine, iar amplitudinea nu este în unități reale, ci în decibeli.

Înțeleg că, pentru a explica cum funcționează programul, este necesar să explic ce este transformata Fourier rapidă, iar acesta este cel puțin încă un articol acru.

Mai întâi, să alocăm matrice:

C = calloc(size_array*2, sizeof(float)); // matrice de factori de rotație în = calloc(size_array*2, sizeof(float)); //input array out = calloc(size_array*2, sizeof(float)); // matrice de ieșire

Permiteți-mi doar să spun că în program citim date într-o matrice de lungime size_array (pe care o luăm din antetul fișierului wav).

While(fread(&value,sizeof(value),1,wav)) (in[j]=(float)value; j+=2; if (j > 2*size_array) break; )

Matricea pentru transformarea Fourier rapidă trebuie să fie o secvență (re, im, re, im, ... re, im), unde fft_size=1<< p - число точек БПФ. Объясняю нормальным языком:
este o matrice de numere complexe. Chiar mi-e teamă să-mi imaginez unde este folosită transformata Fourier complexă, dar în cazul nostru, partea imaginară este zero, iar partea reală este egală cu valoarea fiecărui punct din matrice.
O altă caracteristică a transformării rapide Fourier este că calculează matrice care sunt doar multipli de puteri a lui doi. Ca rezultat, trebuie să calculăm puterea minimă a două:

Int p2=(int)(log2(header.bytes_in_data/header.bytes_by_capture));

Logaritmul numărului de octeți din date împărțit la numărul de octeți la un moment dat.

După aceea, calculăm factorii de rotație:

Fft_make(p2,c);// funcție pentru calcularea factorilor de rotație pentru FFT (primul parametru este o putere de doi, al doilea este o matrice alocată de factori de rotație).

Și alimentăm matricea noastră de citire în transformarea Fourier:

Fft_calc(p2, c, in, out, 1); //(una înseamnă că obținem o matrice normalizată).

La ieșire, obținem numere complexe de forma (re, im, re, im, ... re, im). Pentru cei care nu știu ce este un număr complex, le voi explica. Am început acest articol dintr-un motiv cu o grămadă de vectori rotativi și o grămadă de GIF-uri. Deci, vectorul de pe plan complex este determinat de coordonata reală a1 și de coordonata imaginară a2. Sau lungimea (aceasta este amplitudinea noastră Am) și unghiul Psi (fază).


Vector pe plan complex

Rețineți că size_array=2^p2. Primul punct al matricei corespunde frecvenței de 0 Hz (constant), ultimul punct corespunde frecvenței de eșantionare și anume 44100 Hz. Ca urmare, trebuie să calculăm frecvența corespunzătoare fiecărui punct, care va diferi prin frecvența delta:

Double delta=((float)header.frequency)/(float)size_array; //rata de eșantionare pe dimensiunea matricei.

Alocam o serie de amplitudini:

Ampli dublu*; ampl = calloc(size_array*2, sizeof(double));

Și uită-te la imagine: amplitudinea este lungimea vectorului. Și avem proiecțiile ei pe axa reală și imaginară. Ca rezultat, vom avea un triunghi dreptunghic și aici ne amintim teorema lui Pitagora și vom calcula lungimea fiecărui vector și o scriem imediat într-un fișier text:

Pentru(i=0;i<(size_array);i+=2) { fprintf(logfile,"%.6f %f\n",cur_freq, (sqrt(out[i]*out[i]+out*out))); cur_freq+=delta; }
Rezultatul este un fișier care arată astfel:

… 11.439514 10.943008 11.607742 56.649738 11.775970 15.652428 11.944199 21.872342 12.112427 30.635371 12.280655 30.329171 12.448883 11.932371 12.617111 20.777617 ...

Sa incercam!

Acum alimentam programul rezultat cu acel fișier de sunet sine

./fft_an ../generate_wav/sin\ 100\ Hz.wav format: 16 biți, PCM necomprimat, canal 1, frecvență 44100, 88200 octeți pe secundă, 2 biți prin captură, 2 biți pe eșantion, 882000 octeți în fragment de date= 441000 log2=18 matrice de dimensiuni=262144 format wav Frecvență maximă = 99,928 , amp = 7216,136

Și obținem un fișier text cu răspuns în frecvență. Îi construim graficul folosind gnuplot

Script de construcție:

#! /usr/bin/gnuplot -persist set terminal postscript eps îmbunătățit culoare solid set output "result.ps" #set terminal png size 800, 600 #set output "result.png" set grid xtics ytics set log xy set xlabel "Freq, Hz" setează eticheta "Amp, dB" setează xrange #set yrange plotează "test.txt" folosind titlul 1:2 "(!LANG:AFC" with lines linestyle 1 !}

Fiți atenți la limitarea din script cu privire la numărul de puncte din X: set xrange . Avem o frecvență de eșantionare de 44100, iar dacă ne amintim teorema Kotelnikov, atunci frecvența semnalului nu poate fi mai mare de jumătate din frecvența de eșantionare, prin urmare, nu ne interesează un semnal peste 22050 Hz. De ce așa, vă sfătuiesc să citiți în literatura specială.
Deci (rularea tobei), rulați scriptul și vedeți:


Spectrul semnalului nostru

Observați vârful ascuțit la 100 Hz. Nu uitați că axele sunt logaritmice! Lâna din dreapta este, cred, erori de transformare Fourier (ferestrele îmi vin în minte aici).

Să ne răsfățăm, da?

Și haideți! Să vedem spectrele altor semnale!

Zgomot peste tot...
În primul rând, să reprezentăm spectrul de zgomot. Subiect despre zgomot, semnale aleatorii etc. merita un curs separat. Dar o vom atinge puțin. Să modificăm programul nostru de generare a fișierelor wav, adăugăm o procedură:

Double d_random(dublu min, dublu max) ( return min + (max - min) / RAND_MAX * rand(); )

Va genera un număr aleatoriu în intervalul dat. Ca rezultat, main va arăta astfel:

int main(int argc, char * argv) ( int i; amplitudine float = 32000; srand((unsigned int)time(0)); //inițializați generatorul de numere aleatoare pentru (i=0; i

Să generăm un fișier , (recomand să ascultați). Să vedem cu îndrăzneală.


Semnal cu îndrăzneală

Să ne uităm la spectrul de îndrăzneală.


Gamă

Și să vedem spectrul folosind programul nostru:


Spectrul nostru

Vreau să atrag atenția asupra unui fapt și caracteristică foarte interesantă a zgomotului - conține spectrele tuturor armonicilor. După cum se poate vedea din grafic, spectrul este destul de uniform. De obicei, zgomotul alb este utilizat pentru analiza de frecvență a lățimii de bandă, de exemplu, a echipamentelor audio. Există și alte tipuri de zgomot: roz, albastru și altele. Tema pentru acasă este să afli cum diferă.

Ce zici de compot?

Și acum să vedem un alt semnal interesant - un meandre. Am dat mai sus un tabel de expansiuni ale diferitelor semnale din seria Fourier, te uiți la modul în care este descompus meandrele, notează-l pe o bucată de hârtie și vom continua.

Pentru a genera un meadru cu o frecvență de 25 Hz, modificăm încă o dată generatorul nostru de fișiere wav:

int main(int argc, char * argv) ( int i; short int meandr_value=32767; /* umple tamponul cu o undă sinusoidală */ pentru (i=0; i

Drept urmare, obținem un fișier audio (din nou, vă sfătuiesc să îl ascultați), pe care ar trebui să îl vizionați imediat cu îndrăzneală


Majestatea Sa este un meadru sau un meadru al unei persoane sănătoase

Să nu lâncezim și să ne uităm la spectrul său:


spectrul meandrelor

Până acum, nu este foarte clar ce este... Și să ne uităm la primele armonice:


Primele armonice

Cu totul alta chestiune! Ei bine, să ne uităm la tablă. Uite, avem doar 1, 3, 5 etc., adică. armonice ciudate. Putem vedea că avem prima armonică de 25 Hz, următoarea (a treia) 75 Hz, apoi 125 Hz etc., în timp ce amplitudinea noastră scade treptat. Teoria se întâlnește cu practica!
Și acum atenție! În viața reală, semnalul nostru de meandre are o cantitate infinită de armonici de frecvență din ce în ce mai mare, dar, de regulă, circuitele electrice reale nu pot trece frecvențe peste o anumită frecvență (datorită inductanței și capacității pistelor). Ca rezultat, puteți vedea adesea următorul semnal pe ecranul osciloscopului:


Fumător Meander

Această poză este la fel ca o poză de pe wikipedia, unde nu toate frecvențele sunt luate ca exemplu de meandre, ci doar primele câteva.


Suma primelor armonice și modul în care se schimbă semnalul

Meandrul este, de asemenea, utilizat activ în inginerie radio (trebuie spus că aceasta este baza tuturor tehnologiilor digitale) și merită să înțelegeți că, cu lanțuri lungi, poate fi filtrat, astfel încât propria mamă să nu-l recunoască. De asemenea, este folosit pentru a verifica răspunsul în frecvență al diferitelor dispozitive. Un alt fapt interesant este că bruiajele TV au funcționat tocmai pe principiul armonicilor superioare, când microcircuitul însuși genera un meadru de zeci de MHz, iar armonicile sale superioare puteau avea frecvențe de sute de MHz, exact la frecvența televizorului, și mai mari. armonicele au bruiat cu succes semnalul de difuzare TV.

În general, subiectul unor astfel de experimente este nesfârșit și acum îl puteți continua singur.


Carte

Pentru cei care nu înțeleg ce facem aici, sau invers, pentru cei care înțeleg, dar vor să înțeleagă și mai bine, precum și pentru studenții care studiază DSP, recomand cu căldură această carte. Acesta este un DSP pentru manechin, care este autorul acestei postări. Acolo, cele mai complexe concepte sunt spuse într-un limbaj accesibil chiar și pentru un copil.

Concluzie

În concluzie, vreau să spun că matematica este regina științelor, dar fără o aplicație reală, mulți oameni își pierd interesul pentru ea. Sper că această postare vă va inspira să studiați un subiect atât de minunat precum procesarea semnalului și, în general, circuitele analogice (înfundați-vă urechile ca să nu vă curgă creierul!). :)
Noroc!

Etichete:

Adaugă etichete

Rezolvarea unui număr de probleme, în special adăugarea mai multor oscilații de aceeași direcție (sau, ceea ce este același lucru, adăugarea mai multor funcții armonice), este mult facilitată și devine clară dacă oscilațiile sunt reprezentate grafic ca vectori pe un avion. Schema obtinuta in acest fel se numeste diagrama vectoriala.

Luați axa, pe care o notăm cu litera x (Fig. 55.1). Din punctul O, luat pe axă, trasăm un vector de lungimea a, formând un unghi a cu axa.

Dacă aducem acest vector în rotație cu o viteză unghiulară , atunci proiecția capătului vectorului se va deplasa de-a lungul axei x în intervalul de la -a la +a, iar coordonatele acestei proiecții se vor schimba în timp în funcție de Legea

În consecință, proiecția capătului vectorului pe axă va realiza o oscilație armonică cu o amplitudine egală cu lungimea vectorului, cu o frecvență circulară egală cu viteza unghiulară de rotație a vectorului și cu o fază inițială egală. la unghiul format de vectorul cu axa la momentul iniţial de timp.

Din cele spuse, rezultă că o oscilație armonică poate fi specificată folosind un vector a cărui lungime este egală cu amplitudinea oscilației, iar direcția vectorului formează un unghi cu axa x egală cu faza inițială a oscilației. oscilaţie.

Luați în considerare adăugarea a două oscilații armonice de aceeași direcție și aceeași frecvență. Deplasarea x a corpului oscilant va fi suma deplasărilor, care se va scrie astfel:

Să reprezentăm ambele fluctuaţii cu ajutorul vectorilor (fig. 55.2). Să construim vectorul rezultat a conform regulilor de adunare vectorială.

Este ușor de observat că proiecția acestui vector pe axa x este egală cu suma proiecțiilor termenilor vectorilor:

Prin urmare, vectorul a reprezintă oscilația rezultată. Acest vector se rotește cu aceeași viteză unghiulară ca și vectorii, astfel încât mișcarea rezultată va fi o oscilație armonică cu amplitudinea frecvenței a și faza inițială a. Din construcție reiese clar că

Deci, reprezentarea oscilațiilor armonice prin intermediul vectorilor face posibilă reducerea adunării mai multor oscilații la operația de adunare a vectorilor. Această tehnică este deosebit de utilă, de exemplu, în optică, unde vibrațiile luminii la un anumit punct sunt definite ca rezultat al suprapunerii mai multor vibrații care vin într-un punct dat din diferite secțiuni ale frontului de undă.

Formulele (55.2) și (55.3) pot fi, desigur, obținute prin adăugarea expresiilor (55.1) și efectuând transformările trigonometrice corespunzătoare. Dar metoda pe care am folosit-o pentru a obține aceste formule este mai simplă și mai clară.

Să analizăm expresia (55.2) pentru amplitudine. Dacă diferența de fază a ambelor oscilații este egală cu zero, amplitudinea oscilației rezultate este egală cu suma lui a și . Dacă diferența de fază este egală cu sau , adică ambele oscilații sunt în antifază, atunci amplitudinea oscilației rezultate este egală cu

Dacă frecvențele de oscilație nu sunt aceleași, vectorii a și se vor roti cu viteze diferite. În acest caz, vectorul rezultat a pulsează în mărime și se rotește cu o rată neconstantă. În consecință, mișcarea rezultată în acest caz nu va fi o oscilație armonică, ci un proces oscilator complex.