Kazanimlar:
- Örnekleme, Nyquist ve örtüşme (aliasing) kavramlarını AI desteğiyle doğru kurgulayıp uygulayabilme
- FFT, filtre tasarımı ve pencereleme adımlarını AI ile taslak koda ve hesaba dökebilme
- AI'ın ürettiği sinyal işleme sonuçlarını referans sinyal, birim kontrolü ve ölçümle doğrulayabilme
Sinyal işleme, elektronik ve haberleşme mühendisliğinin kalbidir: bir gerilim dalgasını, bir ses kaydını, bir sensör okumasını veya bir radyo işaretini alıp içindeki bilgiyi çıkarma, gürültüsünü temizleme ve dönüştürme sanatıdır. Bu ünitede AI'ı sinyal işleme kavramlarını öğrenmede, filtre ve dönüşüm hesaplarını kurgulamada ve Python koduyla analiz yapmada nasıl kullanacağınızı göreceksiniz. Ama en baştan bir uyarı: sinyal işlemede küçük bir kavram hatası (yanlış örnekleme frekansı, atlanan pencereleme, karışan birim) sonucu tamamen ve sessizce bozar; grafik yine güzel görünür ama yanlıştır. Bu yüzden AI'ın ürettiği her sonucu bilinen bir referans sinyalle ve birim kontrolüyle sınamak zorunludur.
Örnekleme ve Nyquist: her şeyin başladığı yer
Analog bir sinyali (sürekli dalga) bilgisayarda işlemek için onu belirli aralıklarla ölçüp sayıya çeviririz; buna örnekleme (sampling) denir. Saniyede kaç örnek aldığımız örnekleme frekansıdır (fs, birim Hz). Nyquist kriteri der ki: bir sinyali doğru geri çatabilmek için örnekleme frekansı, sinyaldeki en yüksek frekansın en az iki katı olmalıdır. Bu koşul sağlanmazsa yüksek frekanslar düşük frekans gibi görünmeye başlar; buna örtüşme (aliasing) denir ve veri kalıcı olarak bozulur çünkü bu iki durumu birbirinden ayıramazsınız.
AI bu kavramı çok iyi açıklar ve örneklerle gösterebilir. Ama örnekleme frekansınızı seçerken kararı siz verirsiniz: sinyalinizin gerçek band genişliği ne, örtüşme önleyici (anti-aliasing) analog filtreniz var mı, ADC'niz (Analog-Digital Converter: analog sinyali sayıya çeviren yonga) gerçekte hangi hızda çalışıyor. AI bir örnekleme frekansı "önerebilir" ama bu öneri, sinyalinizin gerçek spektrumunu ölçmeden bir tahmindir.
İpucu: AI'a örnekleme sorusu sorarken sinyalinizin en yüksek frekansını ve band genişliğini kendiniz belirtin. "Sinyalimin en yüksek bileşeni ~4 kHz ise fs'yi nasıl seçmeliyim ve anti-aliasing filtresini nereye koymalıyım?" gibi. AI'a spektrumu tahmin ettirmeyin; ölçün.
FFT ve frekans analizi
FFT (Fast Fourier Transform / hızlı Fourier dönüşümü), bir sinyali zaman ekseninden frekans eksenine çeviren hızlı bir algoritmadır. Yani "bu sinyalin içinde hangi frekanslar, ne kadar güçle var?" sorusunu yanıtlar. AI, FFT'nin nasıl uygulanacağını, sonuçların nasıl yorumlanacağını ve Python kodunu (numpy/scipy) yazmayı çok iyi yapar. Ama FFT'de sık yapılan hatalar vardır ve AI kodu bunları sessizce içerebilir:
- Frekans ekseni ölçeklemesi: FFT çıktısının frekans ekseni örnekleme frekansına bağlıdır. fs yanlış girilirse tüm frekanslar yanlış çıkar ama grafik normal görünür.
- Pencereleme (windowing): Sonlu bir sinyal parçası alındığında kenarlarda süreksizlik oluşur ve spektrumda yalancı yayılma (spectral leakage) görülür. Hann, Hamming gibi pencereler bunu azaltır. AI kodu pencerelemeyi atlarsa sonuç yanıltıcı olur.
- Genlik normalizasyonu: FFT çıktısının genliğini gerçek fiziksel değere çevirmek için ölçekleme ve pencere düzeltmesi gerekir. Atlanırsa genlikler yanlış olur.
Filtre tasarımı
Filtre, bir sinyalden istenmeyen frekansları ayıklayan devredir veya algoritmadır. Dört temel tür vardır: alçak geçiren (düşük frekansları geçirir), yüksek geçiren, band geçiren ve band söndüren (notch). Sayısal (dijital) filtrelerde iki büyük aile vardır: FIR (sonlu dürtü yanıtı, kararlı ve lineer fazlı) ve IIR (sonsuz dürtü yanıtı, daha az hesapla dik geçiş ama kararlılık ve faz riski).
AI, bir filtrenin tasarım adımlarını (kesim frekansı, geçiş bandı, durma bandı zayıflatması, mertebe seçimi) açıklar ve scipy ile katsayı üreten kod yazar. Ama tasarladığınız filtrenin kesim frekansı normalleştirilmiş olarak (Nyquist frekansına oranla) verilir ve burada fs'yi yanlış girmek çok yaygın bir hatadır. Ayrıca IIR filtrelerde kararlılık ve faz bozulması, gerçek zamanlı sistemlerde gecikme (latency) sorun olabilir. AI'ın ürettiği filtreyi mutlaka frekans yanıtı grafiğiyle ve bilinen bir test sinyaliyle doğrulayın.
Üç mini vaka
Vaka 1 — Örtüşen titreşim. Bir mühendis, bir motorun titreşimini 1 kHz'de örnekler ve FFT'de 300 Hz'de güçlü bir tepe görür. Motor tasarımıyla uyuşmayan bu tepe kafa karıştırır. Aslında motorda 1300 Hz civarında gerçek bir bileşen vardır; 1 kHz örnekleme bunun için yetersizdir (Nyquist 500 Hz) ve 1300 Hz, 300 Hz'e örtüşmüştür. AI ile "bu tepe gerçek mi yoksa aliasing mi olabilir" diye tartışıp örnekleme frekansını 5 kHz'e çıkarınca tepe 1300 Hz'de doğru yerinde belirir. Ders: şüpheli bir tepede önce örnekleme yeterliliğini sorgula.
Vaka 2 — Atlanan pencere. Bir stajyer, AI'dan bir FFT kodu ister ve çalıştırır. Tek frekanslı bir test tonu bekler ama spektrumda geniş bir yayılma görür. Sorun, kodun pencereleme yapmamasıdır (spektral sızıntı). AI'a "Hann penceresi ekle ve genlik düzeltmesini uygula" dediğinde çıktı beklenen keskin tepeye döner. Ders: FFT kodunu bilinen tek frekanslı bir sinyalle test et; sızıntı varsa pencereyi kontrol et.
Vaka 3 — Yanlış fs. Bir mühendis, kayıt cihazından gelen veriyi analiz eder. Cihaz 48 kHz'de kaydetmiştir ama AI koduna varsayılan 44,1 kHz girilmiştir. Tüm frekanslar %8 kaymış çıkar; bir 1000 Hz tonu 1088 Hz görünür. Ölçüm ekipmanının gerçek fs'sini kontrol edince hata bulunur. Ders: örnekleme frekansı analiz zincirindeki en kritik tek sayıdır; kaynağından doğrulanmalıdır.
Kopyalanabilir prompt şablonları
FFT KURULUM ŞABLONU"Python (numpy/scipy) ile bir FFT analizi kodu yaz. Girdi: örneklemefrekansı fs=[değer] Hz, sinyal dizisi 'x'. Kod ŞUNLARI yapsın:(1) Hann penceresi uygula, (2) FFT al, (3) frekans eksenini fs'yegöre doğru ölçekle, (4) tek taraflı genlik spektrumunu penceredüzeltmesiyle çiz. Kodun her adımında hangi varsayımı yaptığınıyorum satırıyla belirt ki doğrulayabileyim."
ÖRNEKLEME KONTROL ŞABLONU"Sinyalimin en yüksek anlamlı frekansı yaklaşık [X] Hz. Örneklemefrekansı seçerken Nyquist marjını, anti-aliasing filtre gereğini vepratik güvenlik payını açıkla. Bir aralık öner ama bunu sinyalingerçek spektrumunu ölçerek doğrulamam gerektiğini vurgula."
FİLTRE TASARIM ŞABLONU"scipy ile bir [alçak/yüksek/band] geçiren dijital filtre tasarla.Kesim frekansı [X] Hz, örnekleme frekansı fs=[Y] Hz. FIR ve IIRseçeneklerini karşılaştır (kararlılık, faz, gecikme, hesap yükü).Kodda kesim frekansının fs'ye göre nasıl normalize edildiğini açıkçagöster. Filtreyi frekans yanıtı grafiğiyle doğrulayan kod da ekle."
SONUÇ DOĞRULAMA ŞABLONU"Aşağıdaki sinyal işleme kodunu incele ve sessiz hata kaynaklarınıişaretle: yanlış fs, atlanan pencereleme, birim karışması (Hz/kHz,V/mV), normalizasyon eksikliği, tek/çift taraflı spektrum karışması.Her biri için nasıl test edeceğimi (hangi referans sinyalle) öner.Kod: [yapıştır]."
Zayıf prompt / Güçlü prompt
ZAYIF PROMPT:"Bu sinyalin frekansını bul."
GÜÇLÜ PROMPT:"Örnekleme frekansı 10 kHz olan bir sinyal dizim var. FFT ile baskınfrekans bileşenlerini bulan bir Python kodu yaz; Hann penceresi vegenlik düzeltmesi kullan, frekans eksenini fs'ye göre ölçekle. Kodunsonunda 1 kHz'lik sentetik bir test sinyaliyle doğrulama bloğu ekleki fs ve ölçekleme doğru mu göreyim."
Zayıf prompt bağlamsız bir cevap üretir ve fs'yi varsayar; güçlü prompt parametreleri verir ve kendini doğrulayan bir test bloğu ister.
Sinyal işlemede birim ve varsayım tablosu
Kavram
Sık hata
Doğrulama
Örnekleme frekansı (fs)
Cihazın gerçek fs'si yerine varsayılan
Kayıt cihazı ayarından teyit
Frekans ekseni
fs yanlışsa tüm eksen kayar
Bilinen frekanslı test tonu
Pencereleme
Atlanınca spektral sızıntı
Tek tonlu sinyalde tepe genişliği
Genlik
Normalizasyon/düzeltme eksik
Bilinen genlikli sinyalle karşılaştırma
Filtre kesimi
fs'ye göre normalize hatası
Frekans yanıtı grafiği
Dikkat: Bir FFT grafiğinin düzgün ve inandırıcı görünmesi doğru olduğu anlamına gelmez. Frekans ekseni yanlış ölçeklenmişse tüm tepeler yanlış yerdedir ama grafik kusursuz görünür. Her zaman bilinen bir referansla kalibre edin.
Sık yapılan hatalar
- Örnekleme frekansını kaynağından doğrulamamak. Yanlış fs tüm frekansları kaydırır.
- Nyquist'i ihlal edip aliasing'i fark etmemek. Şüpheli tepede önce örnekleme yeterliliğini sorgula.
- FFT'de pencerelemeyi atlamak. Spektral sızıntı gerçek bir tepe gibi görünür.
- Genlik normalizasyonunu unutmak. Genlikler fiziksel değere ölçeklenmemiş kalır.
- Filtre kesim frekansını fs'ye göre yanlış normalize etmek. Filtre beklenenden farklı bir yerde keser.
Özetle
Bu ünitede AI'ı sinyal işleme kavramlarını öğrenmede, FFT ve filtre kodunu yazmada ve analiz kurgulamada güçlü bir yardımcı olarak konumlandırdınız. Ama sinyal işlemede sonuçlar sessizce bozulabilir: yanlış örnekleme frekansı, atlanan pencereleme, karışan birim veya normalizasyon eksikliği grafiği güzel ama yanlış yapar. Bu yüzden AI'ın ürettiği her kodu bilinen bir referans sinyalle test edin, örnekleme frekansını kaynağından doğrulayın ve her sonucu birim ve fiziksel makullük açısından sınayın. Nyquist ve aliasing kavramını her analizin başında kontrol edin.
Uygulama görevi
Python'da sentetik bir test sinyali oluşturun: bilinen iki frekansın (ör. 1 kHz ve 3 kHz) toplamı, fs=10 kHz. "FFT kurulum" şablonuyla AI'dan analiz kodu isteyin ve tepelerin doğru frekanslarda çıktığını doğrulayın. Sonra fs'yi bilerek yanlış (ör. 8 kHz) girip tepelerin nasıl kaydığını gözlemleyin. Son olarak pencerelemeyi kaldırıp spektral sızıntıyı görün. Her deneyin sonucunu bir cümleyle not edin.
Kontrol listesi
- [ ] Örnekleme frekansını (fs) kayıt cihazının gerçek ayarından doğruladım.
- [ ] Nyquist kriterini kontrol edip aliasing riskini değerlendirdim.
- [ ] FFT kodunda pencereleme ve genlik düzeltmesinin uygulandığını kontrol ettim.
- [ ] Kodu bilinen frekanslı bir referans sinyalle test ettim.
- [ ] Filtre kesim frekansının fs'ye göre doğru normalize edildiğini görsel yanıtla doğruladım.
- [ ] Tüm birimleri (Hz/kHz, V/mV) tutarlı hale getirdim.