Harmonik salınımların uyarılması için gerekli koşullar. Harmonik jeneratör


Harmonik titreşim denklemi

Harmonik salınım denklemi, vücut koordinatlarının zamana bağımlılığını belirler

Kosinüs grafiği ilk anda maksimum değere sahiptir ve sinüs grafiği başlangıç ​​anında sıfır değerine sahiptir. Salınımı denge konumundan incelemeye başlarsak, o zaman salınım bir sinüzoidi tekrarlayacaktır. Salınımı maksimum sapma konumundan dikkate almaya başlarsak, o zaman salınım bir kosinüs ile tanımlanacaktır. Veya böyle bir salınım, başlangıç ​​fazlı sinüs formülüyle açıklanabilir.

Harmonik salınım sırasında hız ve ivmedeki değişim

Sinüs veya kosinüs kanununa göre zamanla yalnızca vücudun koordinatı değişmez. Ancak kuvvet, hız, ivme gibi büyüklükler de aynı şekilde değişir. Salınım yapan cisim yer değiştirmenin maksimum olduğu uç konumlarda olduğunda kuvvet ve ivme maksimumdur ve vücut denge konumundan geçtiğinde sıfırdır. Ekstrem konumlarda ise hız sıfırdır ve vücut denge konumundan geçtiğinde maksimum değerine ulaşır.

Salınım kosinüs kanunu ile tanımlanırsa

Salınım sinüs kanununa göre tanımlanırsa

Maksimum hız ve ivme değerleri

Bağımlılık denklemlerini v(t) ve a(t) analiz ettikten sonra, trigonometrik faktörün 1 veya -1'e eşit olması durumunda hız ve ivmenin maksimum değerleri aldığını tahmin edebiliriz. Formülle belirlenir

Herhangi bir miktardaki değişiklikler sinüs veya kosinüs yasaları kullanılarak tanımlanır, bu tür salınımlara harmonik denir. Bir kapasitör (devreye dahil edilmeden önce şarj edilmiş) ve bir indüktörden oluşan bir devreyi düşünelim (Şekil 1).

Resim 1.

Harmonik titreşim denklemi şu şekilde yazılabilir:

$q=q_0cos((\omega )_0t+(\alpha )_0)$ (1)

burada $t$ zamandır; $q$ ücret, $q_0$-- değişiklikler sırasında ücretin ortalama (sıfır) değerinden maksimum sapması; $(\omega )_0t+(\alpha )_0$- salınım aşaması; $(\alpha )_0$- başlangıç ​​aşaması; $(\omega )_0$ - döngüsel frekans. Dönem boyunca faz 2 $\pi $ kadar değişir.

Formun denklemi:

Aktif direnç içermeyecek bir salınım devresi için diferansiyel formdaki harmonik salınımların denklemi.

Her türlü periyodik salınım, harmonik seri adı verilen harmonik salınımların toplamı olarak doğru bir şekilde temsil edilebilir.

Bir bobin ve bir kapasitörden oluşan bir devrenin salınım periyodu için Thomson formülünü elde ederiz:

İfadenin (1) zamana göre türevini alırsak, $I(t)$ fonksiyonunun formülünü elde edebiliriz:

Kapasitör üzerindeki voltaj şu şekilde bulunabilir:

Formüller (5) ve (6)'dan, akım gücünün kapasitördeki voltajın $\frac(\pi )(2) kadar önünde olduğu sonucu çıkar.

Harmonik salınımlar hem denklemler, fonksiyonlar hem de vektör diyagramları şeklinde temsil edilebilir.

Denklem (1) serbest sönümsüz salınımları temsil eder.

Sönümlü Salınım Denklemi

Direnç (Şekil 2) dikkate alınarak devredeki kapasitör plakalarındaki yükteki değişiklik ($q$), aşağıdaki formdaki diferansiyel denklemle tanımlanacaktır:

Şekil 2.

Devrenin parçası olan direnç $R\

burada $\omega =\sqrt(\frac(1)(LC)-\frac(R^2)(4L^2))$ döngüsel salınım frekansıdır. $\beta =\frac(R)(2L)-$sönüm katsayısı. Sönümlü salınımların genliği şu şekilde ifade edilir:

$t=0$'da kondansatörün yükü $q=q_0$'a eşitse ve devrede akım yoksa, o zaman $A_0$ için şunu yazabiliriz:

Zamanın ilk anında ($(\alpha )_0$) salınımların fazı şuna eşittir:

$R >2\sqrt(\frac(L)(C))$ olduğunda yükteki değişiklik bir salınım olmadığında, kapasitörün deşarjına periyodik olmayan denir.

örnek 1

Egzersiz yapmak: Maksimum ücret değeri $q_0=10\ C$'dır. $T= 5 s$ periyodunda harmonik olarak değişmektedir. Mümkün olan maksimum akımı belirleyin.

Çözüm:

Sorunu çözmek için temel olarak kullanıyoruz:

Akım gücünü bulmak için ifade (1.1)'in zamana göre farklılaştırılması gerekir:

burada mevcut gücün maksimumu (genlik değeri) şu ifadedir:

Sorunun koşullarından yükün genlik değerini biliyoruz ($q_0=10\ C$). Salınımların doğal frekansını bulmalısınız. Bunu şu şekilde ifade edelim:

\[(\omega )_0=\frac(2\pi )(T)\left(1.4\right).\]

Bu durumda istenilen değer (1.3) ve (1.2) denklemleri kullanılarak şu şekilde bulunacaktır:

Problem koşullarındaki tüm miktarlar SI sisteminde sunulduğundan hesaplamaları yapacağız:

Cevap:$I_0=12,56\ A.$

Örnek 2

Egzersiz yapmak: Bir indüktör $L=1$H ve bir kondansatör içeren bir devrede, devredeki akım gücü şu yasaya göre değişirse, salınımın periyodu nedir: $I\left(t\right)=-0.1sin20\ pi t\ \left(A \right)?$ Kapasitörün kapasitansı nedir?

Çözüm:

Sorunun koşullarında verilen mevcut dalgalanmalar denkleminden:

$(\omega )_0=20\pi $ olduğunu görüyoruz, dolayısıyla Salınım periyodunu aşağıdaki formülü kullanarak hesaplayabiliriz:

\ \

Bir indüktör ve bir kapasitör içeren bir devre için Thomson'un formülüne göre elimizde:

Kapasiteyi hesaplayalım:

Cevap:$T=0,1$ c, $C=2,5\cdot (10)^(-4)F.$

Birleşik Devlet Sınavı kodlayıcısının konuları: harmonik titreşimler; salınımların genliği, periyodu, frekansı, fazı; serbest titreşimler, zorlanmış titreşimler, rezonans.

Salınımlar - Bunlar, sistemin durumunda zamanla tekrarlanan değişikliklerdir. Salınım kavramı çok geniş bir olgu yelpazesini kapsamaktadır.

Mekanik sistemlerin titreşimleri veya mekanik titreşimler- bu, bir cismin veya cisimler sisteminin, zaman içinde tekrarlanabilen ve denge konumu yakınında meydana gelen mekanik hareketidir. Denge konumu dış etkilerle karşılaşmadan süresiz olarak kalabileceği bir sistemin durumudur.

Örneğin sarkacın yönü değiştirilip serbest bırakılırsa salınmaya başlayacaktır. Denge konumu sarkacın sapma olmadığı durumdaki konumudur. Sarkaç, eğer rahatsız edilmezse, istenildiği kadar bu konumda kalabilir. Sarkaç salınırken denge konumundan birçok kez geçer.

Saptırılan sarkaç serbest bırakıldıktan hemen sonra hareket etmeye başladı, denge konumunu geçti, karşı uç konuma ulaştı, orada bir an durdu, ters yönde hareket etti, tekrar denge konumunu geçip geri döndü. Bir şey oldu tam kapasite ile çalışmak. Daha sonra bu işlem periyodik olarak tekrarlanacaktır.

Vücut salınımı genliği denge konumundan en büyük sapmanın büyüklüğüdür.

Salınım periyodu - bu tam bir salınımın zamanıdır. Vücudun bir süre boyunca dört genlik bir yol kat ettiğini söyleyebiliriz.

Salınım frekansı dönemin tersidir: . Frekans hertz (Hz) cinsinden ölçülür ve bir saniyede kaç tane tam salınımın meydana geldiğini gösterir.

Harmonik titreşimler.

Salınım yapan cismin konumunun tek bir koordinat tarafından belirlendiğini varsayacağız. Denge konumu değere karşılık gelir. Bu durumda mekaniğin asıl görevi herhangi bir zamanda cismin koordinatını veren fonksiyonu bulmaktır.

Salınımların matematiksel açıklaması için periyodik fonksiyonların kullanılması doğaldır. Bu tür pek çok fonksiyon vardır, ancak bunlardan ikisi (sinüs ve kosinüs) en önemlileridir. Pek çok iyi özelliğe sahiptirler ve çok çeşitli fiziksel olaylarla yakından ilişkilidirler.

Sinüs ve kosinüs fonksiyonları birbirlerinden argümanı kaydırarak elde edildiği için kendimizi bunlardan yalnızca biriyle sınırlayabiliriz. Kesinlik için kosinüs kullanacağız.

Harmonik titreşimler- bunlar harmonik yasasına göre koordinatın zamana bağlı olduğu salınımlardır:

(1)

Bu formülde yer alan büyüklüklerin anlamını bulalım.

Pozitif bir değer, koordinatın en büyük modül değeridir (kosinüs modülünün maksimum değeri birliğe eşit olduğundan), yani denge konumundan en büyük sapmadır. Bu nedenle - salınımların genliği.

Kosinüs argümanı denir faz tereddüt. Faz değerine eşit olan değere başlangıç ​​fazı denir. Başlangıç ​​aşaması vücudun başlangıç ​​koordinatına karşılık gelir: .

Miktar denir döngüsel frekans. Salınım periyodu ve frekansı ile bağlantısını bulalım. Bir tam salınım, radyana eşit bir faz artışına karşılık gelir:

(2)

(3)

Döngüsel frekans rad/s (saniyedeki radyan) cinsinden ölçülür.

(2) ve (3) ifadelerine uygun olarak, harmonik yasasını (1) yazmanın iki biçimini daha elde ederiz:

Harmonik salınımlar sırasında koordinatın zamana bağımlılığını ifade eden fonksiyon (1) grafiği, Şekil 2'de gösterilmektedir. 1.

(1) tipinin harmonik yasası en genel niteliktedir. Örneğin, sarkaç üzerinde aynı anda iki başlangıç ​​hareketinin gerçekleştirildiği durumlara yanıt verir: bir miktar saptırıldı ve ona belirli bir başlangıç ​​hızı verildi. Bu eylemlerden birinin gerçekleştirilmediği iki önemli özel durum vardır.

Sarkacın sapmasına izin verin, ancak başlangıç ​​hızı bildirilmedi (başlangıç ​​hızı olmadan serbest bırakıldı). Bu durumda koyabileceğimiz açıktır. Kosinüs yasasını elde ederiz:

Bu durumda harmonik salınımların grafiği Şekil 2'de gösterilmektedir. 2.


Pirinç. 2. Kosinüs Yasası

Şimdi sarkacın sapmadığını, ancak denge konumundan itibaren başlangıç ​​hızının ona çarpma yoluyla aktarıldığını varsayalım. Bu durumda koyabilirsiniz. Sinüs yasasını elde ederiz:

Salınım grafiği Şekil 2'de gösterilmektedir. 3.


Pirinç. 3. Sinüs kanunu

Harmonik titreşimlerin denklemi.

Genel harmonik yasasına (1) dönelim. Bu eşitliğin türevini alalım:

. (4)

Şimdi ortaya çıkan eşitliğin türevini alıyoruz (4):

. (5)

Koordinat için ifadeyi (1) ve ivme projeksiyonu için ifadeyi (5) karşılaştıralım. İvme projeksiyonunun koordinattan yalnızca bir faktör kadar farklı olduğunu görüyoruz:

. (6)

Bu orana denir harmonik denklem. Ayrıca bu biçimde yeniden yazılabilir:

. (7)

Matematiksel açıdan bakıldığında denklem (7) diferansiyel denklem. Diferansiyel denklemlerin çözümleri fonksiyonlardır (sıradan cebirdeki gibi sayılar değil).
Yani şu kanıtlanabilir:

Denklemin (7) çözümü, (1) formunun keyfi olan herhangi bir fonksiyonudur;

Başka hiçbir fonksiyon bu denklemin çözümü değildir.

Başka bir deyişle, (6), (7) bağıntıları döngüsel frekanstaki harmonik salınımları ve yalnızca onları tanımlar. Başlangıç ​​koşullarından - koordinat ve hızın başlangıç ​​değerlerinden - iki sabit belirlenir.

Yaylı sarkaç.

Yaylı sarkaç yatay veya dikey yönde salınabilen bir yaya bağlı bir yüktür.

Yay sarkacının küçük yatay salınımlarının periyodunu bulalım (Şekil 4). Yayın deformasyon miktarı boyutlarından çok daha azsa salınımlar küçük olacaktır. Küçük deformasyonlar için Hooke yasasını kullanabiliriz. Bu salınımların harmonik olmasına yol açacaktır.

Sürtünmeyi ihmal ediyoruz. Yükün bir kütlesi vardır ve yay sertliği eşittir.

Koordinat yayın deforme olmadığı denge konumuna karşılık gelir. Sonuç olarak yay deformasyonunun büyüklüğü yükün koordinat modülüne eşittir.


Pirinç. 4. Yaylı sarkaç

Yatay yönde yüke yalnızca yayın elastik kuvveti etki eder. Eksen üzerine izdüşümdeki yük için Newton'un ikinci yasası şu şekildedir:

. (8)

Eğer (yük şekildeki gibi sağa kaydırılırsa), elastik kuvvet ters yönde yönlendirilir ve . Tam tersi, eğer , o zaman . ve işaretleri her zaman zıttır, dolayısıyla Hooke yasası şu şekilde yazılabilir:

Daha sonra ilişki (8) şu şekli alır:

(6) formundaki harmonik salınımların bir denklemini elde ettik;

Yay sarkacının döngüsel salınım frekansı bu nedenle şuna eşittir:

. (9)

Buradan ve ilişkiden yay sarkacının yatay salınım periyodunu buluyoruz:

. (10)

Bir yayın üzerine bir yük asarsanız, dikey yönde salınan bir yay sarkacı elde edersiniz. Bu durumda salınım periyodu için formülün (10) geçerli olduğu gösterilebilir.

Matematiksel sarkaç.

Matematik sarkaç ağırlıksız, uzamayan bir iplik üzerinde asılı duran küçük bir gövdedir (Şek. 5). Matematiksel bir sarkaç, yerçekimi alanında dikey bir düzlemde salınabilir.

Pirinç. 5. Matematiksel sarkaç

Matematiksel bir sarkacın küçük salınımlarının periyodunu bulalım. İpliğin uzunluğu . Hava direncini ihmal ediyoruz.

Sarkaç için Newton'un ikinci yasasını yazalım:

ve onu eksene yansıtın:

Sarkaç şekildeki gibi bir pozisyon alırsa (örn.), o zaman:

Sarkaç denge pozisyonunun diğer tarafındaysa (yani), o zaman:

Yani sarkacın herhangi bir konumu için elimizde:

. (11)

Sarkaç denge konumunda hareketsiz olduğunda eşitlik sağlanır. Küçük salınımlar için sarkacın denge konumundan sapmaları küçük olduğunda (ipliğin uzunluğuyla karşılaştırıldığında), yaklaşık eşitlik sağlanır. Bunu formül (11)'de kullanalım:

Bu, (6) formundaki harmonik salınımların bir denklemidir;

Bu nedenle, matematiksel bir sarkacın salınımlarının döngüsel frekansı şuna eşittir:

. (12)

Dolayısıyla matematiksel bir sarkacın salınım periyodu:

. (13)

Formül (13)'ün yükün kütlesini içermediğini lütfen unutmayın. Yaylı sarkacın aksine, matematiksel sarkacın salınım periyodu kütlesine bağlı değildir.

Serbest ve zorlanmış titreşimler.

Sistemin bunu yaptığını söylüyorlar. serbest titreşimler, eğer bir kez denge konumundan çıkarılırsa ve daha sonra kendi başına bırakılırsa. Periyodik harici yok
Bu durumda sistem herhangi bir etki yaşamaz ve sistemde salınımları destekleyen iç enerji kaynakları bulunmaz.

Yukarıda tartışılan yayın salınımları ve matematiksel sarkaçlar serbest salınımlara örnektir.

Serbest titreşimlerin meydana geldiği frekansa denir doğal frekans salınım sistemi. Böylece formül (9) ve (12), yayın ve matematiksel sarkaçların salınımlarının doğal (döngüsel) frekanslarını verir.

Sürtünmenin olmadığı ideal bir durumda, serbest salınımlar sönümsüzdür, yani sabit bir genliğe sahiptirler ve süresiz olarak sürerler. Gerçek salınımlı sistemlerde sürtünme her zaman mevcuttur, dolayısıyla serbest titreşimler yavaş yavaş yok olur (Şekil 6).

Zorlanmış titreşimler- bunlar, zamanla periyodik olarak değişen bir dış kuvvetin (sözde itici güç) etkisi altındaki bir sistem tarafından yapılan salınımlardır.

Sistemin salınımlarının doğal frekansının eşit olduğunu ve itici gücün harmonik yasasına göre zamana bağlı olduğunu varsayalım:

Bir süre sonra zorunlu salınımlar oluşur: Sistem, zorunlu ve serbest salınımların üst üste binmesi olan karmaşık bir hareket yapar. Serbest salınımlar yavaş yavaş yok olur ve kararlı bir durumda sistem, aynı zamanda harmonik olduğu ortaya çıkan zorunlu salınımlar gerçekleştirir. Kararlı durum zorlanmış salınımların frekansı, frekansla çakışır
zorlama kuvveti (bir dış kuvvet, olduğu gibi, frekansını sisteme dayatır).

Belirlenen zorlanmış salınımların genliği, itici kuvvetin frekansına bağlıdır. Bu bağımlılığın grafiği Şekil 2'de gösterilmektedir. 7.


Pirinç. 7. Rezonans

Rezonansın frekansın yakınında meydana geldiğini görüyoruz - zorunlu salınımların genliğinde bir artış olgusu. Rezonans frekansı, sistemin salınımlarının doğal frekansına yaklaşık olarak eşittir: ve sistemdeki sürtünme ne kadar az olursa bu eşitlik daha doğru bir şekilde yerine getirilir. Sürtünmenin yokluğunda, rezonans frekansı salınımların doğal frekansı ile çakışır ve salınımların genliği sonsuza kadar artar.

Merkezde Fourier dönüşümü ve Dijital Sinyal İşleme (DSP) gibi her türlü güzellik hakkında birkaç makale vardı, ancak deneyimsiz kullanıcı için tüm bunlara neden ihtiyaç duyulduğu ve nereye ve en önemlisi nasıl uygulanacağı tamamen belirsizdir. BT.

Gürültünün frekans tepkisi.

Şahsen, bu makaleleri okuduktan sonra (örneğin, bu), ilginç ve güzel olmasına rağmen bunun ne olduğunu ve gerçek hayatta neden gerekli olduğunu bana netleştirmedi.
Sadece güzel resimlere bakmak değil, tabiri caizse neyin ve nasıl çalıştığını içimde hissetmek istiyorum. Ses dosyalarının oluşturulması ve işlenmesiyle ilgili özel bir örnek vereceğim. Sesi dinleyip spektrumuna bakıp bunun neden böyle olduğunu anlamak mümkün olacak.
Makale, karmaşık değişkenlerin fonksiyonları teorisini, DSP'yi ve diğer korkutucu konuları bilenlerin ilgisini çekmeyecektir. Daha çok meraklılar, okul çocukları, öğrenciler ve onlara sempati duyanlar için :).

Hemen bir rezervasyon yapayım: Ben matematikçi değilim ve hatta birçok şeyi yanlış bile söyleyebilirim (kişisel mesajla düzeltin), bu makaleyi kendi deneyimlerime ve güncel süreçlere dair kendi anlayışıma dayanarak yazıyorum. Hazırsan gidelim.

Malzeme hakkında birkaç kelime

Okuldaki matematik dersimizi hatırlarsak sinüs grafiğini çizmek için bir daire kullandık. Genel olarak, dönme hareketinin sinüs dalgasına (herhangi bir harmonik salınım gibi) dönüştürülebileceği ortaya çıktı. Bu sürecin en iyi örneği Wikipedia'da verilmiştir.


Harmonik titreşimler

Onlar. aslında sinüs grafiği, aşağıdaki formülle açıklanan vektörün dönüşünden elde edilir:

F(x) = Bir günah (ωt + φ),

A vektörün uzunluğu (salınım genliği), φ vektörün sıfır zamandaki başlangıç ​​açısı (fazı), ω ise dönmenin açısal hızıdır ve şuna eşittir:

ω=2 πf, burada f Hertz cinsinden frekanstır.

Gördüğümüz gibi sinyalin frekansını, genliğini ve açısını bilerek harmonik bir sinyal oluşturabiliriz.

Sihir, kesinlikle herhangi bir sinyalin temsilinin, farklı sinüzoidlerin toplamı (genellikle sonsuz) olarak temsil edilebildiği ortaya çıktığında başlar. Başka bir deyişle Fourier serisi şeklindedir.
İngilizce Vikipedi'den bir örnek vereceğim. Örnek olarak testere dişi sinyalini ele alalım.


Rampa sinyali

Tutarı aşağıdaki formülle temsil edilecektir:

Tek tek toplarsak, önce n=1, sonra n=2 vb. alırsak, harmonik sinüzoidal sinyalimizin nasıl yavaş yavaş testereye dönüştüğünü göreceğiz:

Bu muhtemelen internette bulduğum bir program tarafından en güzel şekilde gösterilmiştir. Yukarıda sinüs grafiğinin dönen bir vektörün izdüşümü olduğu söylenmişti, peki ya daha karmaşık sinyaller? Garip bir şekilde bu, birçok dönen vektörün izdüşümüdür, daha doğrusu bunların toplamıdır ve hepsi şöyle görünür:


Vektör çizim testeresi.

Genel olarak bağlantıya kendiniz gitmenizi ve parametrelerle kendiniz oynamaya çalışmanızı ve sinyalin nasıl değiştiğini görmenizi öneririm. IMHO Anlamak için bundan daha görsel bir oyuncak görmedim.

Ayrıca, Fourier Dönüşümü olarak adlandırılan, belirli bir sinyalden frekans, genlik ve başlangıç ​​​​fazını (açı) elde etmenize olanak tanıyan ters bir prosedür olduğu da unutulmamalıdır.


Bazı iyi bilinen periyodik fonksiyonların Fourier serisi açılımı (buradan)

Bunun üzerinde ayrıntılı olarak durmayacağım ama hayatta nasıl uygulanabileceğini göstereceğim. Kaynakçada materyal hakkında daha fazla bilgiyi nerede bulabileceğinizi önereceğim.

Hadi pratik alıştırmalara geçelim!

Bana öyle geliyor ki her öğrenci bir derste otururken, örneğin matematikle ilgili bir soru soruyor: neden tüm bu saçmalığa ihtiyacım var? Ve kural olarak, öngörülebilir gelecekte bir cevap bulamadığı için maalesef konuya olan ilgisini kaybediyor. Bu nedenle, bu bilginin pratik uygulamasını hemen göstereceğim ve siz de bu bilgiye zaten kendiniz hakim olacaksınız :).

Her şeyi kendi başıma uygulayacağım. Elbette her şeyi Linux altında yaptım, ancak herhangi bir ayrıntı kullanmadım; teorik olarak program diğer platformlar altında derlenecek ve çalışacaktır.

Öncelikle ses dosyası oluşturacak bir program yazalım. Wav dosyası en basit dosya olarak alındı. Yapısını okuyabilirsiniz.
Kısaca, bir wav dosyasının yapısı şu şekilde açıklanmaktadır: dosya formatını tanımlayan bir başlık ve ardından (bizim durumumuzda) uzunluğu: sample_frequency*t saniye olan 16 bitlik bir veri (işaretçi) dizisi vardır. veya 44100*t adet.

Bir ses dosyası oluşturmak için bir örnek alınmıştır. Biraz değiştirdim, hataları düzelttim ve düzenlemelerimle son hali artık Github'da burada

100 Hz frekansında saf sinüs dalgasına sahip iki saniyelik bir ses dosyası oluşturalım. Bunu yapmak için programı şu şekilde değiştiriyoruz:

#define S_RATE (44100) //örnekleme frekansı #define BUF_SIZE (S_RATE*10) /* 2 saniyelik tampon */ …. int main(int argc, char * argv) ( ... float genliği = 32000; //mümkün olan maksimum genliği alın float freq_Hz = 100; //sinyal frekansı /* tamponu sinüs dalgasıyla doldurun */ for (i=0 ; Ben

Saf sinüs formülünün yukarıda tartıştığımız formüle karşılık geldiğini lütfen unutmayın. 32000 genliği (32767 alınabilirdi), 16 bitlik bir sayının alabileceği değere (eksi 32767'den artı 32767'ye) karşılık gelir.

Sonuç olarak, aşağıdaki dosyayı alıyoruz (hatta herhangi bir ses üretme programıyla dinleyebilirsiniz). Bu audacity dosyasını açalım ve sinyal grafiğinin aslında saf sinüs dalgasına karşılık geldiğini görelim:


Saf tüp sinüsü

Bu sinüsün spektrumuna bakalım (Analiz->Spektrum grafiği)


Spektrum grafiği

100 Hz'de (logaritmik ölçek) net bir tepe noktası görülebilir. Spektrum nedir? Bu genlik-frekans karakteristiğidir. Ayrıca bir faz frekansı özelliği de vardır. Hatırlarsanız yukarıda bir sinyal oluşturmak için frekansını, genliğini ve fazını bilmeniz gerektiğini söylemiştim. Yani bu parametreleri sinyalden alabilirsiniz. Bu durumda, genliğe karşılık gelen bir frekans grafiğimiz var ve genlik gerçek birimlerde değil Desibel cinsindendir.

Programın nasıl çalıştığını anlatmak için hızlı Fourier dönüşümünün ne olduğunu açıklamak gerektiğini anlıyorum ve bu en az bir makale daha.

Öncelikle dizileri tahsis edelim:

C = calloc(size_array*2, sizeof(float)); // dönüş faktörlerinin dizisi = calloc(size_array*2, sizeof(float)); //giriş dizisi çıkışı = calloc(size_array*2, sizeof(float)); //çıkış dizisi

Sadece şunu söyleyeyim, programda verileri size_array uzunluğundaki bir diziye okuyoruz (bunu wav dosyasının başlığından alıyoruz).

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

FFT dizisi bir dizi olmalıdır (re, im, re, im,… re, im), burada fft_size=1<< p - число точек БПФ. Объясняю нормальным языком:
karmaşık sayıların bir dizisidir. Karmaşık Fourier dönüşümünün nerede kullanıldığını hayal etmeye bile korkuyorum ama bizim durumumuzda sanal kısım sıfıra, gerçek kısım ise dizinin her noktasının değerine eşittir.
Hızlı Fourier dönüşümünün bir başka özelliği de yalnızca ikinin katları olan dizileri hesaplamasıdır. Sonuç olarak ikinin minimum gücünü hesaplamamız gerekir:

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

Verilerdeki bayt sayısının logaritmasının bir noktadaki bayt sayısına bölümü.

Bundan sonra rotasyon faktörlerini hesaplıyoruz:

Fft_make(p2,c); // FFT için dönüş faktörlerini hesaplama fonksiyonu (ilk parametre ikinin katıdır, ikincisi ise rotasyon faktörlerinin tahsis edilmiş dizisidir).

Ve adil dizimizi Fourier transformatörüne besliyoruz:

Fft_calc(p2, c, giriş, çıkış, 1); //(biri normalleştirilmiş bir dizi elde ettiğimiz anlamına gelir).

Çıktıda (re, im, re, im,… re, im) biçimindeki karmaşık sayıları elde ederiz. Karmaşık sayının ne olduğunu bilmeyenler için açıklayacağım. Bu makaleye bir sürü dönen vektör ve bir sürü GIF ile başlamam boşuna değil. Yani karmaşık düzlemdeki bir vektör, gerçek koordinat a1 ve hayali koordinat a2 tarafından belirlenir. Veya uzunluk (bu bizim için Am genliğidir) ve Psi açısı (faz).


Karmaşık düzlemde vektör

Lütfen size_array=2^p2 olduğunu unutmayın. Dizinin ilk noktası 0 Hz (sabit) frekansına, son noktası ise örnekleme frekansına, yani 44100 Hz'ye karşılık gelir. Sonuç olarak, her noktaya karşılık gelen ve delta frekansına göre farklılık gösteren frekansı hesaplamamız gerekir:

Double delta=((float)header.frequency)/(float)size_array; //dizi boyutu başına örnekleme frekansı.

Genlik dizisinin tahsisi:

Çift * ampl; ampl = calloc(size_array*2, sizeof(double));

Ve resme bakın: genlik, vektörün uzunluğudur. Ve onun gerçek ve sanal eksene izdüşümlerine sahibiz. Sonuç olarak, bir dik üçgenimiz olacak ve burada Pisagor teoremini hatırlıyoruz, her vektörün uzunluğunu sayıyoruz ve bunu hemen bir metin dosyasına yazıyoruz:

için(i=0;i<(size_array);i+=2) { fprintf(logfile,"%.6f %f\n",cur_freq, (sqrt(out[i]*out[i]+out*out))); cur_freq+=delta; }
Sonuç olarak şöyle bir dosya elde ediyoruz:

… 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 ...

Hadi deneyelim!

Şimdi ortaya çıkan programı sinüs ses dosyasıyla besliyoruz

./fft_an ../generate_wav/sin\ 100\ Hz.wav formatı: 16 bit, sıkıştırılmamış PCM, kanal 1, frekans 44100, saniyede 88200 bayt, yakalamayla 2 bayt, örnek başına 2 bit, veri yığınında 882000 bayt= 441000 log2=18 size array=262144 wav formatı Maks Frek = 99,928 , amp =7216,136

Ve frekans cevabının bir metin dosyasını alıyoruz. Grafiğini gnuplot kullanarak oluşturuyoruz

İnşaat için senaryo:

#! /usr/bin/gnuplot -persist set terminal postscript eps geliştirilmiş renk katı set çıktı "result.ps" #set terminal png boyutu 800, 600 #set çıktı "result.png" set grid xtics ytics set log xy set xlabel "Freq, Hz" set etiketi "Amp, dB" set xrange #set yrange grafiği "test.txt" kullanarak 1:2 başlık "AFC" with lines linestyle 1 !}

Lütfen koddaki X boyunca noktaların sayısına ilişkin sınırlamaya dikkat edin: set xrange . Örnekleme frekansımız 44100 ve Kotelnikov teoremini hatırlarsak sinyal frekansı örnekleme frekansının yarısından daha yüksek olamaz, bu nedenle 22050 Hz'nin üzerindeki bir sinyalle ilgilenmiyoruz. Neden böyle, özel literatürü okumanızı tavsiye ederim.
Yani (davul sesi), betiği çalıştırın ve şunu görün:


Sinyalimizin spektrumu

100 Hz'deki keskin zirveye dikkat edin. Eksenlerin logaritmik ölçekte olduğunu unutmayın! Sağdaki yün, Fourier dönüşümü hataları olduğunu düşündüğüm şey (burada akla pencereler geliyor).

Hoşgörelim mi?

Hadi! Diğer sinyallerin spektrumlarına bakalım!

Etrafta gürültü var...
İlk önce gürültü spektrumunu çizelim. Konu gürültü, rastgele sinyaller vb. ile ilgilidir. ayrı bir kursa layık. Ama biz buna hafifçe dokunacağız. Wav dosyası oluşturma programımızı değiştirelim ve bir prosedür ekleyelim:

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

Verilen aralıkta rastgele bir sayı üretecektir. Sonuç olarak main şöyle görünecek:

Int main(int argc, char * argv) ( int i; float amplitude = 32000; srand((unsigned int)time(0)); //(i=0; i) için rastgele sayı üretecini başlat

Bir dosya oluşturalım (dinlemenizi tavsiye ederim). Cesaretle bakalım.


Cesaret sinyali

Audacity programındaki spektruma bakalım.


Menzil

Ve programımızı kullanarak spektruma bakalım:


Bizim spektrumumuz

Gürültünün çok ilginç bir gerçeğine ve özelliğine dikkatinizi çekmek istiyorum; tüm harmoniklerin spektrumlarını içerir. Grafikten de görülebileceği gibi spektrum oldukça eşittir. Tipik olarak beyaz gürültü, ses ekipmanı gibi bant genişliğinin frekans analizi için kullanılır. Başka gürültü türleri de vardır: pembe, mavi ve diğerleri. Ev ödevi bunların nasıl farklılaştığını bulmaktır.

Peki ya komposto?

Şimdi başka bir ilginç sinyale bakalım: menderes. Yukarıda Fourier serisindeki çeşitli sinyallerin açılımlarının bir tablosunu verdim, siz menderesin nasıl genişletildiğine bakın, bunu bir kağıda yazın ve devam edelim.

25 Hz frekansında bir kare dalga oluşturmak için wav dosyası oluşturucumuzu bir kez daha değiştiriyoruz:

Int main(int argc, char * argv) ( int i; short int meandr_value=32767; /* tamponu sinüs dalgasıyla doldur */ for (i=0; i

Sonuç olarak, hemen cesaretle izlemeniz gereken bir ses dosyası elde ediyoruz (yine dinlemenizi tavsiye ederim)


Majesteleri - sağlıklı bir insanın kıvrımlı veya kıvrımlı hali

Çökmeyelim ve spektrumuna bakalım:


Menderes spektrumu

Ne olduğu henüz çok net değil... İlk birkaç harmoniğe bakalım:


İlk harmonikler

Bu tamamen farklı bir konu! Peki, tabelaya bakalım. Bakın elimizde sadece 1, 3, 5 vs. var, yani. tuhaf harmonikler. İlk harmoniğimizin 25 Hz, sonraki (üçüncü) 75 Hz, ardından 125 Hz vb. olduğunu görürken genliğimizin giderek azaldığını görüyoruz. Teori pratikle buluşuyor!
Şimdi dikkat! Gerçek hayatta, bir kare dalga sinyali, daha yüksek ve daha yüksek frekansların sonsuz bir harmonik toplamına sahiptir, ancak kural olarak, gerçek elektrik devreleri, belirli bir frekansın üzerindeki frekansları (izlerin endüktansı ve kapasitansı nedeniyle) geçiremez. Sonuç olarak osiloskop ekranında sıklıkla aşağıdaki sinyali görebilirsiniz:


Sigara içenlerin menderes

Bu resim tıpkı Vikipedi'deki resim gibidir; burada kıvrımlı örnek olarak tüm frekanslar değil, yalnızca ilk birkaçı çekilmiştir.

İlk harmoniklerin toplamı ve sinyalin nasıl değiştiği

Menderes aynı zamanda radyo mühendisliğinde de aktif olarak kullanılmaktadır (bunun tüm dijital teknolojinin temeli olduğu söylenmelidir) ve uzun zincirlerle annenin onu tanımaması için filtrelenebileceğini anlamaya değer. Ayrıca çeşitli cihazların frekans yanıtını kontrol etmek için de kullanılır. Bir başka ilginç gerçek, TV sinyal bozucularının, mikro devrenin kendisi onlarca MHz'lik bir kıvrım ürettiğinde ve daha yüksek harmoniklerinin, tam olarak TV'nin çalışma frekansında yüzlerce MHz frekansa sahip olabileceği zaman, tam olarak daha yüksek harmonikler ilkesine göre çalışmasıdır ve daha yüksek harmonikler TV yayın sinyalini başarıyla bozdu.

Genel olarak bu tür deneylerin konusu sonsuzdur ve artık buna kendiniz devam edebilirsiniz.


Kitap

Burada ne yaptığımızı anlamayanlara veya tam tersi, anlayan ama daha iyi anlamak isteyenlere ve DSP okuyan öğrencilere bu kitabı şiddetle tavsiye ediyorum. Bu, bu yazının yazarı olan aptallar için bir DSP'dir. Orada karmaşık kavramlar bir çocuğun bile anlayabileceği bir dilde açıklanıyor.

Çözüm

Sonuç olarak matematiğin bilimlerin kraliçesi olduğunu söylemek isterim, ancak gerçek uygulama olmadan birçok insan ona olan ilgisini kaybeder. Umarım bu yazı sizi sinyal işleme ve genel olarak analog devreler gibi harika bir konuyu incelemeye teşvik eder (kulaklarınızı tıkayın ki beyniniz dışarı sızmasın!). :)
İyi şanlar!

En basit salınım türü harmonik titreşimler- salınım noktasının denge konumundan yer değiştirmesinin sinüs veya kosinüs kanununa göre zamanla değiştiği salınımlar.

Böylece, topun bir daire içinde düzgün bir şekilde dönmesiyle, projeksiyonu (paralel ışık ışınlarındaki gölge) dikey bir ekran üzerinde harmonik bir salınım hareketi gerçekleştirir (Şekil 1).

Harmonik titreşimler sırasında denge konumundan yer değiştirme, aşağıdaki formdaki bir denklemle (buna harmonik hareketin kinematik yasası denir) tanımlanır:

burada x yer değiştirmedir - salınım noktasının t zamanındaki konumunu denge konumuna göre karakterize eden ve belirli bir zamanda denge konumundan noktanın konumuna olan mesafeyle ölçülen bir nicelik; A - salınımların genliği - vücudun denge konumundan maksimum yer değiştirmesi; T - salınım periyodu - bir tam salınımın süresi; onlar. salınımı karakterize eden fiziksel büyüklüklerin değerlerinin tekrarlandığı en kısa süre; - başlangıç ​​aşaması;

T zamanındaki salınım aşaması. Salınım aşaması, belirli bir salınım genliği için vücudun salınım sisteminin durumunu (yer değiştirme, hız, ivme) herhangi bir zamanda belirleyen periyodik bir fonksiyonun bir argümanıdır.

Zamanın ilk anında salınım noktası denge konumundan maksimum düzeyde yer değiştirirse, o zaman ve noktanın denge konumundan yer değiştirmesi yasaya göre değişir

Salınım noktası kararlı bir denge konumundaysa, o zaman noktanın denge konumundan yer değiştirmesi yasaya göre değişir

Dönemin tersi olan ve 1 saniyede tamamlanan tam salınımların sayısına eşit olan V değerine salınım frekansı denir:

Eğer vücut t süresi boyunca N tam salınım yaparsa, o zaman

Boyut bir cismin s cinsinden kaç tane salınım yaptığını gösterene denir döngüsel (dairesel) frekans.

Harmonik hareketin kinematik yasası şu şekilde yazılabilir:

Grafiksel olarak, salınımlı bir noktanın yer değiştirmesinin zamana bağımlılığı bir kosinüs dalgası (veya sinüs dalgası) ile temsil edilir.

Şekil 2, durum için salınım noktasının denge konumundan yer değiştirmesinin zamana bağımlılığının bir grafiğini göstermektedir.

Salınım yapan bir noktanın hızının zamanla nasıl değiştiğini öğrenelim. Bunu yapmak için bu ifadenin zamana göre türevini buluyoruz:

x eksenine hız projeksiyonunun genliği nerede.

Bu formül, harmonik salınımlar sırasında cismin hızının x eksenine izdüşümünün de harmonik bir yasaya göre aynı frekansta, farklı bir genlikte değiştiğini ve fazdaki yer değiştirmenin önünde olduğunu gösterir (Şekil 2, b). ).

İvmenin bağımlılığını açıklığa kavuşturmak için hız projeksiyonunun zamana göre türevini buluyoruz:

x ekseni üzerindeki ivme projeksiyonunun genliği nerede.

Harmonik salınımlarda hızlanma projeksiyonu faz kaymasının k kadar ilerisindedir (Şekil 2, c).

Benzer şekilde bağımlılık grafikleri oluşturabilirsiniz

Bunu dikkate alarak ivmenin formülünü yazabiliriz.

onlar. Harmonik salınımlarda ivme projeksiyonu yer değiştirmeyle doğru orantılıdır ve işaret olarak zıttır, yani. ivme yer değiştirmenin tersi yönde yönlendirilir.

Dolayısıyla, ivme projeksiyonu yer değiştirmenin ikinci türevi olduğundan ortaya çıkan ilişki şu şekilde yazılabilir:

Son eşitliğe denir harmonik denklem.

Harmonik salınımların olabileceği fiziksel sisteme denir harmonik osilatör ve harmonik titreşimlerin denklemi harmonik osilatör denklemi.