• işte size cisco flow control mekanizmalarından bir tanesi daha..pencere kaydırma seklinde adlandırmamız mümkün..window göndericinin onay almadan gönderebileceği max. veri miktarıdır mantıgından hareketle, window dolana kadar onay alınmadıgınıda varsayarsak ,göndericinin onay alınması için şöyle en koyusundan bir kahve alarak oturup beklemesi gerekmektedir.bu mekanızmada mecburı bekleme olayı söz konusudur
  • sinyal i$leme'de, bir sinyale window fonksiyonunun uygulanmasıdır.
  • sinyal işlemede kullanılan klasik operasyonlardandır.

    zamanda bir sinyalin frekans bileşenlerini incelemek isterseniz yapacağınız ilk şey fourier dönüşümü kullanmaktır. ancak insanoğlu fanidir. dolayısıyla zamanda uzun bir sinyal ile uğraşırken bu sinyalin ancak sınırlı sayıda örneğini toplayabilir ve saklayabilir. bu durum da bizi ister istemez bir pencere fonksiyonu (window function) kullanımına götürür.

    söyle anlatalım. x[n], n=0,...,sonsuz; isimli kesikli-zamanda bir sinyalimiz olsun. gördüğümüz gibi sinyalimizin aslı sonsuz uzunlukta. diyelim ki bu sinyalin frekans bileşenlerini öğrenebilmek için kesikli-zaman fourier dönüşümünü (discrete-time fourier transform (dtft)) almak istiyoruz.

    x[n] <-> x(e^jw).

    yani x[n]'in fourier dönüşümü olan x(e^jw)'i bulmak istiyoruz. ancak pratik (zaman, hesaplama yükü) ve insani nedenlerden sinyalin sadece belli sayıda örneğini tutmak zorundayız. sinyalin sakladığımız kısmına x[n], n=0,...,k-1, diyelim. yani sinyalin sadece k tane örneğini saklamış (ve geri kalan kısmını sıfır olarak kabul etmiş) durumdayız ve bu sonlu sayıda örneğin fourier dönüşümünü alacağız. bu durumda aslında sonsuz uzunlukta olan x[n] sinyalimizi k uzunluğunda bir dikdörtgen (rectangular) percere fonksiyonu ile çarpmış oluruz. yani kasti olarak bir pencere fonksiyonu kullanmasak da, sonlu sayıda örnek kullandığımız için sinyalimiz gayri ihtiyari bir pencere fonksiyonuna maruz kalır. percere sinyaline w[n] dersek, dikdörtgen pencereyi n=0 ile k-1 arasında 1'e, geri kalan yerlerde 0'a eşit bir sinyal olarak düşünebiliriz. bu durumda aslında örneklerini tuttuğumuz ve fourier dönüşümünü bulacağımız sinyal x[n] olmaz, x[n] ile w[n] sinyallerinin çarpımı olur. yani

    x[n]w[n].

    elektrik (ve elektronik) mühendisliği okuyup sinyaller sistemler dersi almış her fani bilir ki bir sinyali zamanda başka bir sinyalle çarparsanız, çarpımın fourier dönüşümü çarpılan sinyallerin bireysel fourier dönüşümlerinin evrişimine (convolution) eşit olur. dolayısıyla sadece k sayıda örneğini tuttuğumuz sinyalin fourier dönüşümü, asıl bulmak istediğimiz zamanda sonsuz uzunluktaki sinyalin fourier dönüşümü (x(e^jw)) ile dikdörtgen pencere fonksiyonunun fourier dönüşümünün (w(e^jw)) evrişimidir. yani

    x[n]w[n] <-> x(e^jw)*w(e^jw)

    olur. sonuçta sonlu sayıda örnek kullanmanın faturası olarak, istemeden kullanılmış olan dikdörtgen pencere fonksiyonu w[n], öğrenmek istediğimiz fourier dönüşümünü (x(e^jw)) değiştirmiştir.

    bu durumda sinyalciler (elektrik (ve elektronik) mühendisliğinde kafayı dönüşümlerle, integrallerle ve toplamlarla bozmuş bir topluluk) der ki: madem sırf sonlu sayıda örnek tuttuğum için bunlar başıma geliyor ve dikdörtgen pencere fonksiyonu karşıma çıkıyor, bari pencere fonkiyonumu kendim seçeyim de özelliklerini ayarlayabileyim. bu amaçla envai çeşit, değişik özelliklerde pencere fonksiyonu geliştirilmiştir. eğer dikdörtgen pencere fonksiyonunun özellikleri beğenilmezse, ki çoğu zaman beğenilmez, toplanan sonlu sayıda sinyal örneği (x[n], n=0,...,k-1) diğer pencere fonksiyonları ile bu sefer bilerek ve isteyerek çarpılarak çarpım sinyalinin fourier dönüşümü alınır. buna da pencereleme (windowing) denir.

    yukarıda da bahsedildiği gibi isteyerek veya istemeyerek yapılmış bir pencereleme sonucunda bulduğumuz fourier dönüşümündeki (x(e^jw)*w(e^jw)) değerler, artık asıl öğrenmek istediğimiz fourier dönüşümünün (x(e^jw)) değerlerinden farklıdır. x(e^jw)*w(e^jw)'deki evrişim (*) operasyonu, x(e^jw)'nin değişik frekanstaki değerlerinin birbirlerini etkilemesine sebep olur. yani pencereleme sonrasında bulduğumuz fourier dönüşümünde (x(e^jw)*w(e^jw)) tek bir frekanstaki değer, asıl sinyalin fourier dönüşümünün (x(e^jw)) aynı frekanstaki değeri ile başka frekanslardaki değerlerinin bir karışımı olur. bu karışımın oranlarını kullandığımız pencere fonksiyonunun, dolayısıyla onun fourier dönüşümünün, yapısı belirler.

    pencere fonksiyonları aşağı geçirgen (low-pass) karaktere sahip sinyallerdir. yani bu tür sinyallerin fourier dönüşümleri düşük frekanslarda yüksek genliklere (magnitude), yüksek frekanslarda düşük genliklere sahiptir. meali şudur ki bu sinyaller öyle çok oraya buraya zırt pırt zıplayan yüksek frekans içeriğine sahip sinyaller değillerdir. böyle nasıl diyeyim yavaş yavaş değişen (o da değişirlerse), mazbut ve muhafazakar bir karakterleri vardır. şu görselde k=16 örneklik dikdörtgen ve hamming pencere fonksiyonlarını görebilirsiniz.

    pencere fonksiyonlarının fourier dönüşümlerinin yüksek genliklere sahip düşük frekans bölgesi ana lob (main lobe), görece daha düşük genliğe sahip yüksek frekans bölgeleri de yan loblar (side lobe) olarak adlandırılır (aslında içimden hep yan lob yerine tali lob demek geliyor, main road (ana yol)/side road (tali yol) örneğinden çıkarak. beni lütfen durdurun!). temel olarak loblardan kastımız percere fonksiyonunun fourier dönüşümünün sıfırı kestiği noktalar arasında genlikte ortaya çıkan kubbemsi kısımlardır. bu kısımların ortada sıfırın etrafındaki (düşük frekans bölgesi) en yüksek genliğe sahip olanına ana lob, yanlardaki (yüksek frekans) görece küçük genliklilerin her birine de yan lob denir. şu görselde de k=16 örneklik dikdörtgen ve hamming pencere fonksiyonlarının ana ve yan loblarını görebilirsiniz (burada frekans dönüşümleri tepe noktaları 0db'ye gelecek şekilde normalize edilmiştir).

    kullanılacak pencere fonksiyonunu seçerken iki faktör önemlidir: ana lobun genişliği ve yan lobların genlikleri. ana lob genişliği fourier tarafında frekans çözünürlüğünü belirler. ana lob ne kadar genişse yakın frekanslar birbirine o kadar karışırlar, yani çözünürlük düşer. ana lobunuz genişse birbirine yakın frekansları ayırt edemez hale gelirsiniz. bazen iki (veya daha fazla) yakın frekansı tek başka bir frekans olarak bile gördüğünüz olur. yan lob genlikleri ise uzak frekansların ilgilendiğimiz frekansa karışma miktarını belirler. yan loblar ne kadar yüksekse uzaktaki yüksek genlikli bir frekans bileşeninin, varlığını veya genliğini belirlemek istediğimiz küçük genlikli bir frekans bileşenini etkilemesi o kadar kolay olur. ilgilendiğimiz bir frekans bileşeninin kendisinden başka frekans bileşenlerinden etkilenmesine sinyal işlemede (spektral) sızıntı ((spectral) leakage) adı verilir.

    sonuç olarak iyi bir pencere fonksiyonunun ana lobu dar, yan lobları da düşük genliğe sahip olmalıdır. işin kötü tarafı bunların her ikisine de aynı anda sahip olmak teorik olarak imkansızdır. yani pencere fonksiyonlarında ana lobu daralttıkça yan lobların genlikleri yükselir, yan lobların genliklerini düşürdükçe de ana lobun genişliği artar. dikdörtgen pencere fonksiyonu en dar ana loba ve en yüksek genlikli yan loblara sahip olarak bu ödünleşmenin (trade-off) en uç tarafındadır. dikdörtgen percere fonksiyonunun ana loba en yakın yan lobunun tepe genliği, görselde görüldüğü gibi, yaklaşık -13db'dir. yani ilgilendiğimiz frekansa yan lob uzaklığındaki diğer frekansların genliklerinin yaklaşık 5'te biri veya daha azı sızar. bu oldukça yetersiz bir bastırma oranıdır. eğer dikdörtgen pencere fonksiyonunun yan lob genliklerini beğenmeyip düşürmek isterseniz mecburen ana lob genişliğini artırmak zorunda kalırsınız. yani yan loblardaki frekanslardan gelen sızıntıyı azaltmak için çözünürlüğü düşürmekten başka çareniz yoktur. örneğin aynı görselde gösterilen hamming pencere fonksiyonunun yan lob tepe genlikleri -40db'dedir. bu ilgilendiğimiz frekansa yan loblardaki frekansların genliklerinin sadece 100'de biri veya daha azı sızabilecek demektir. ancak hamming pencere fonksiyonu bunu yapabilmek için ana lobun genişliğini, dikdörtgen pencere fonksiyonuna nazaran iki katından fazla artırmak zorunda kalmıştır. yani çözünürlüğü yaklaşık yarıya düşürmüştür.

    şimdi biraz da bu teorinin pratikte nerede işe yarayabileceğinden bahsedeyim. radar dediğiniz cihazda antenden alınan elektriksel sinyalden hedef izlemeye kadar yapılan sinyal işleme operasyonları aslında sofistike bir fourier dönüşümünden başka birşey değildir. daha doğrusunu yazmaya çalışırsam: radar sinyal işlemede kullanılan yöntemlerin çoğu, aralarında fourier dönüşümünün de bulunduğu uyumlu filtre (matched filter) türü yöntemlerdir. radarda kullandığınız pencere fonksiyonunun ana lobu çok genişse çözünürlük düşük olacağı için birbirine yakın hedefleri ayırt edemeyebilirsiniz. örneğin it dalaşı yapan iki savaş uçağı, radarınızda kafayı yemiş tek bir uçak olarak gözükebilir. eğer radarda kullandığınız pencere fonksiyonunda yan loblardan gelen sızıntılar sebebiyle küçük genlikli bileşenler yakınlarındaki büyük genlikli bileşenlerin gölgesinde kalıyorsa, bu demektir ki büyük hedefler yakınlarındaki küçük hedefleri gölgeleyebilir ve siz o küçük hedefleri radar ekranında göremeyebilirsiniz. buna en güzel örnek bir savaş uçağından (büyük hedef) size doğru atılan bir füzedir (küçük hedef). eğer radarınızda gidip de dikdörtgen pencere fonksiyonları kullanırsanız (ki bu pencere kullanmamakla aynı şey, resmen tembellik), yüksek yan loblar yüzünden füzenin radar imzası onu gönderen savaş uçağının imzası altında kalabilir ve size bayağı bir yaklaşana kadar füzeyi radarınızın ve dolayısıyla o radara bağlı başka bilumum savunma sisteminizin ekranında göremeyebilirsiniz. bu durumda bence olaya bir de pozitif açıdan bakmaya çalışın, füzenin varlığından habersiz olacağınız için huzur içinde öleceksiniz. yan loblar yüksekse bir de ordan karıştırıcı (jammer) yeme olasılığınız var, o da allah muhafaza radarınızı resmen far tutulmuş tavşana çevirir. bu durumda da başınıza geleceklerden bahsederdim ama siz zaten öldünüz, o yüzden artık vurmuyorum.

    son olarak şunu da belirtmeliyim ki bu yazılanlar parametrik olmayan frekans (harmonik) analizi yöntemleri için kabul görmüş bilgilerdir. eğer bir paradigma değişikliği yapıp frekans analizini sinyal(ler)inizi parametrik olarak modelleyerek yaparsanız, yukarıda bahsedilen çözünürlük-sızıntı ödünleşmesini aşmanız mümkün hale gelir. yani parametrik yöntemler kullanarak birbirine çok yakın frekans bileşenlerini çok az sızıntı ile bulabilirsiniz, kestirebilirsiniz. bu yüzden bu yöntemlere bazen süper çözünürlüklü yöntemler de denir. en bilinen ve kullanımı en yaygın parametrik frekans analizi yöntemleri music ve esprit'tir. peki bunlar madem o kadar iyi, neden bunları her zaman kullanmıyoruz derseniz, bunun da cevabı kullandığınız parametrik model ola ki yanlışsa bu yöntemlerin en hafif tabirle sapıtmasıdır. ve malesef o model gerçek hayatta neredeyse her zaman yanlıştır.

    bu tür konular hakkında daha fazla bilgi almak için temel referans ve bu alanda dünyada en çok kullanılan kitap stoica ve moses tarafından yazılmış spectral analysis of signals başlıklı kitaptır.
hesabın var mı? giriş yap