Kare Dalganın FFT ve Harmonik Analizi

TA3UIS

Doğan
Katılım
15 Kasım 2023
Mesajlar
3,043
Geçen günkü Bode Plot ve testere dişi test maceramdan sonra, cihazlarımın (Siglent SDS 1104X-E ve SDG 2042X) limitlerini ve matematiksel yeteneklerini biraz daha kendi çapımda test etmeye çalıştım.
Bu sefer şunu görmeye çalıştım: Kare dalga gerçekten de sonsuz tane tekli sinüs dalgasının toplamı mı acaba?

Test Kurulumu ve Ayarlarım:

Kaynak: SDG 2042X jeneratörümden tam 1.000 Hz (1 kHz) ve 4 Vpp bir kare dalga gönderdim.
Analiz: Osiloskopta MATH butonuna bastım ve Operator: FFT özelliğini açtım.
Maximum Points: En yüksek detay için Maximum Points ayarını enyük sek seviye olan 1M seviyesine çıkardım.
Vertical : Unit (dBVrms) olarak seçtim
Wİndow: Flattop olarak seçtim.

Gözlemlerim :
Ekranı Split Screen moduna aldığımda (Fotoğrafı ekte paylaşıyorum). Üstte bildiğimiz kare dalga dururken, altta frekans kuleleri dizildi.

Manual Cursors moduna geçip çizgileri kulelerin tam tepesine aldım:

1. Kule : 1.00 kHz
2. Kule: 3.00 kHz
3. Kule: 5.00 kHz
4. Kule: 7.00 kHz

Kare dalganın içinde çiftli harmoniklerin (2-4-6 kHz) hiç olmadığını, sadece tekli kulelerin boyları azalarak dizildiğini canlı olarak görmek güzel bir tecrübe oldu.


WhatsApp Image 2026-01-28 at 13.56.50.jpeg


WhatsApp Image 2026-01-28 at 14.17.37.jpeg





Bir Önceki Bode Plot Testimle Bağlantısı:
Hatırlarsanız Bode Plot yaparken düşük frekanslarda testere dişi gürültüleri alıyordum ve bunu Channel Gain: HOLD yaparak çözmüştüm.
FFT analizinde şunu farkettim, örnekleme penceresi ve nokta sayısı (1M points) ne kadar optimize edilirse, gürültü tabanı o kadar aşağı iniyor ve kuleler o kadar netleşiyor.
 
Son düzenleme:
Geçen günkü Bode Plot ve testere dişi test maceramdan sonra, cihazlarımın (Siglent SDS 1104X-E ve SDG 2042X) limitlerini ve matematiksel yeteneklerini biraz daha kendi çapımda test etmeye çalıştım.
Bu sefer şunu görmeye çalıştım: Kare dalga gerçekten de sonsuz tane tekli sinüs dalgasının toplamı mı acaba?

Test Kurulumu ve Ayarlarım:

Kaynak: SDG 2042X jeneratörümden tam 1.000 Hz (1 kHz) ve 4 Vpp bir kare dalga gönderdim.
Analiz: Osiloskopta MATH butonuna bastım ve Operator: FFT özelliğini açtım.
Maximum Points: En yüksek detay için Maximum Points ayarını enyük sek seviye olan 1M seviyesine çıkardım.
Vertical : Unit (dBVrms) olarak seçtim
Wİndow: Flattop olarak seçtim.

Gözlemlerim :
Ekranı Split Screen moduna aldığımda (Fotoğrafı ekte paylaşıyorum). Üstte bildiğimiz kare dalga dururken, altta frekans kuleleri dizildi.

Manual Cursors moduna geçip çizgileri kulelerin tam tepesine aldım:

1. Kule : 1.00 kHz
2. Kule: 3.00 kHz
3. Kule: 5.00 kHz
4. Kule: 7.00 kHz

Kare dalganın içinde çiftli harmoniklerin (2-4-6 kHz) hiç olmadığını, sadece tekli kulelerin boyları azalarak dizildiğini canlı olarak görmek güzel bir tecrübe oldu.


46506 eklentisine bak

46507 eklentisine bak




Bir Önceki Bode Plot Testimle Bağlantısı:
Hatırlarsanız Bode Plot yaparken düşük frekanslarda testere dişi gürültüleri alıyordum ve bunu Channel Gain: HOLD yaparak çözmüştüm.
FFT analizinde şunu farkettim, örnekleme penceresi ve nokta sayısı (1M points) ne kadar optimize edilirse, gürültü tabanı o kadar aşağı iniyor ve kuleler o kadar netleşiyor.
Osiloskopun tarihini kendi doğum tarihine göre mi ayarladın? :)
 
Kaynak nokta sayınız çok az.
Kanalı seçip yatay zaman aralığını büyütün, ancak FFT frekans aralığını 1Hz 40kHz gibi bir şey olarak ayarrlayın. Tekrar deneyin.
 
@ozkarah
Ölçüm öneriniz için teşekkürler.!

Zaman tabanını 100ms'ye çıkararak frekans çözünürlüğünü tam 762.94 mHz (0.76 Hz) seviyesine indirdim.
Bu sayede kuleler artık sadece birer çizgi hassasiyetinde.

İlk testimde şişman dağlar gibi duran kuleler, şu an iğne ucu kadar sivri ve net bir hale geldi.

Küçük bir hatayla imleçlerin cursors kaynağını başta CH1'de unutmuşum, o yüzden nerede bu kuleler dedim, meğerse zaman ölçüyormuşum.
Kaynağı (Source) MATH olarak değiştirdiğim an kuleler tam olarak yerini aldı.

Kare dalganın tekli harmonik serisi, ekranın sonuna kadar görülüyor.
FFT analizinde Zaman = Çözünürlük denklemini test etmiş oldum.

FFT analizinde ilginç bir durum gözlemledim:
Skopun üst ekranında kare dalgalar o kadar sıkıştı ki sadece sarı blok var.
Bu sıkışma ile skopun alt ekranında iğne ucu gibi keskin harmonikler elde ettim.

Zaman dünyasında detaydan vazgeçip (zoom out yapıp) sinyali sıkıştırdığımızda, frekans dünyasında keskinlik ve çözünürlük olarak bize yansıyor.
Üstteki sarı blok aslında alttaki o iğne uçlu harmoniklerin kaynağı.


24df68a7-6a1c-424f-9942-0d42a742f5cb.jpg
 
Son düzenleme:
Zaman dünyasında detaydan vazgeçip (zoom out yapıp) sinyali sıkıştırdığımızda, frekans dünyasında keskinlik ve çözünürlük olarak bize yansıyor.
Üstteki sarı blok aslında alttaki o iğne uçlu harmoniklerin kaynağı.
Buradaki limitasyon buffer boyutu. Yukarıdaki örnekte sağ üstte diyor ki 20 MSa/s örnekleme hızı ve 140 kpts buffer var. Bu iki değeri bölünce 7ms ediyor. Bizim sinyalimizin periyodu 1ms. Hafızada 7 periyot tutabiliyoruz (skop ekranında aynen böyle görünüyor) bu da düşük sayılır. Yani bizim sinyal hem FFT çıktısında düşük çözünürlükte görünecek, hem de windowing function FFT davranışını çok değiştirecek. Matlab ile karşılaştırmalı örnek (yapay zeka sağolsun uğraştırmadı):

1769767673926.png


Bu da en son düzgün FFT çıktısı aldığınız örnekleme hızı 100 kSa/s ile. Görüldüğü üzere artık çözünürlük çok iyi ve istediğimiz frekanslarda windowing function'ın önemi kalmıyor:

1769767837156.png


Buradan çıkaracağımız diğer sonuç: sample hızını düşürmek yerine bufferımızı büyütebilirsek yine düşük frekansta çözünürlüğümüz artacaktır. Sizin scope için 1 milyon nokta FFT yapabiliyor olmalı. İsterseniz öyle de deneyin.
 
Buradaki limitasyon buffer boyutu. Yukarıdaki örnekte sağ üstte diyor ki 20 MSa/s örnekleme hızı ve 140 kpts buffer var. Bu iki değeri bölünce 7ms ediyor. Bizim sinyalimizin periyodu 1ms. Hafızada 7 periyot tutabiliyoruz (skop ekranında aynen böyle görünüyor) bu da düşük sayılır. Yani bizim sinyal hem FFT çıktısında düşük çözünürlükte görünecek, hem de windowing function FFT davranışını çok değiştirecek. Matlab ile karşılaştırmalı örnek (yapay zeka sağolsun uğraştırmadı):

46530 eklentisine bak

Bu da en son düzgün FFT çıktısı aldığınız örnekleme hızı 100 kSa/s ile. Görüldüğü üzere artık çözünürlük çok iyi ve istediğimiz frekanslarda windowing function'ın önemi kalmıyor:

46531 eklentisine bak

Buradan çıkaracağımız diğer sonuç: sample hızını düşürmek yerine bufferımızı büyütebilirsek yine düşük frekansta çözünürlüğümüz artacaktır. Sizin scope için 1 milyon nokta FFT yapabiliyor olmalı. İsterseniz öyle de deneyin.



Analiz ve grafikler için teşekkürler.
Aslında cihazda Max Points: 1M seçiliydi ama ekran görüntüsündeki Curr: 131072 pts yazısından anladığım kadarıyla; o anki Timebase ve Sample Rate kombinasyonunda cihaz hafızayı tam doldurmadan (veya o ölçekte o kadarını işleyerek) sonucu ekrana basmış.
Hafıza derinliğini (Memory Depth) manuel olarak en üst seviyeye zorlayıp, gerçek 1 milyon noktalı bir FFT’nin o iğne ucu kuleleri ne kadar daha sivrilteceğini ben de merak ettim. İlk fırsatta bu testi yapıp sonucu paylaşırım
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
8,886
Mesajlar
144,444
Üyeler
3,570
Son üye
mg1980

Son kaynaklar

Back
Top