digital signal processing

Salı, Eylül 26, 2006

Burdaki yazılar revize edilerek http://agaoglu.name.tr/dsp/ adresine taşınmıştır.

Pazartesi, Nisan 24, 2006

bu blogu ilk yazdigim zaman elbette aklima gelmisti bir zamanlar birilerinin isine yarayacagi ama son zamanlarda beklemedigim yogunlukta bir ragbet sozkonusu. demek ki baya bir arkadasin basi dertte. hatta yabancilardan bile soranlar oldu ingilizcesi yok mudur diye. anladigim kadariyla asil konuyla ilgili olan kitaplar cok karmasik yazmis ki boyle acik dilli bir anlatima ihtiyac var. burda bazi konulari yeterince iyi yazamadigimi ilerde duzenleme yapabilecegimi soylemisim. hakliyim yazamamisim. e bi de boyle bir istek soz konusu olunca bari su duzenlemeyi yapiyim dedim. yakin zaman icinde oncelikle o bahsettigim yerleri duzenleyeyim sonra da yazilarin tamamini elden gecireyim. su dia ile cizilmis grafikleri falan daha iyileriyle degistireyim. sonra kimbilir belki oylece ilerler. degisik sinyalleri degisik degisik isleriz. programlama kutuphaneleri hazirlariz. guzel guzel filtreler hazirlayip mp3lerle oynariz. konu sinyal isleme olunca yapcak sey coook...

Pazartesi, Ocak 03, 2005

sinav

discrete vs. digital
a. ikisi de zamanda ayrik
b. discrete genligi herhangi bir deger olabilir. digital genlikleri sadece belirlenmis degerler olabilir

kararlilik
a. bounded input bounded output
b. uzun is
c. ROC birim cemberi icermeli
d. sadece a dogru olur digerleri dogru olmaz

allpass
burda allpass in transfer fonksiyonu var en bastaki sekil. burda da allpass in ne ise yaradigi falani filani var. hatta matlab varsa calistirilip grafikler gorulebilir. DFT yi bulamadim ama DTFT nin frekans bolgesi orneklenmesi oldugu dusunulurse kolayca bulunabilir.

Ek

son iki konuda cozuttuğumu farkettim. şekil yok bi şey yok. zamanım olursa düzeltirim. ama şimdi dokunmayacağım kesin.

--edit--
burda tum dersin sunumları mevcut. hazirlayan, amerikada ki bir universitede ders veren turk bir hocamiz. kendisini tanimiyoruz ama notlar icin tesekkur ediyoruz.

Konu 7 - DFT revisited

Bir önceki yazıda DFT nin frekans bölgesinde örnekleme olduğunu söylemiştik. Notlarıma baktığımda bu konuyla ilgili daha önemli bir şey göremiyorum. O yüzden bu yazıda biraz daha pratik bir bakış açısı sağlamaya çalışacağım.

Diyelim ki elimizde aperiyodik bir sinyale ait 487 örnek var bunun üzerinden DFT almamız gerekiyor. Bunu direk DFT alarak 487.487 tane işlem yapmak pek akıllıca değildir. Onun yerine elimizdeki sinyal üzerinde bir takım değişiklikler yaparak FFT almaya çalışmak daha mantıklı olacaktır. Bu işlem şöyledir: elimizdeki sinyali ikinin en yakın kuvvetine zero-pad yaparız yani, sinyalimize örnek sayısı o kuvvete ulaşana kadar sıfır ekleriz. Az önceki örnek te 487 ye en yakın ikinin kuvveti 512 olduğu için sinyali sonuna sıfırlar ekleyerek 512 ye uzatırız ve şimdiki sinyalle FFT hesaplarız. Bu sayede yapacağımız (ya da bilgisayarın yapacağı) işlem sayısı log2(512).512 = 9.512 ye azalmış olacaktır.

Frekans çözünürlüğü
Bu kavram kısaca, sinyalin tamamı üzerinde ne kadar hassas bir işlem yaptığımızı gösterir diyebiliriz. Çözünürlük, sinyalin örnekleme frekansının, aldığımız DFT örnek sayısına oranıdır. Örneğin az önceki sinyalin 8kHz ile örneklenmiş olduğunu düşünelim. Bu sinyalin bir saniye de 8000 örneğe sahip olduğunu gösterir. Eğer 512 örnek üzerinden DFT hesaplıyorsak çözünürlüğümüz 8000/512 = 15.625 olacaktır. Örneklenen sinyal örneğin 1kHz cosinus ise bizim aldığımız DFT, 1000/15.625 = 64 örnek yapar. Bu örneklenen sinyalin 64 örnekte gösterilebildiğini anlatır ve 64 tam sayı olduğundan DFT sonucunda doğru bir frekans bölgesi gösterimi yapabileceğimizi gösterir.

Spectral Leakage
Eğer örneklenen sinyal DFT alınırken tam bir sayıyla gösterilmezse spectral leakage (frekans akması) olayı meydana gelir. Örneğin az önceki sinyal 8kHz yerine 9kHz ile örneklenmiş olsaydı 64 yerine 56,88 gibi bir değer gelecekti. Bu değer o noktadaki frekansın değerini gösteremez. Daha doğrusu hem 56 hem 57 gibi gösterir. Bu yüzden kesin bir hesaplama yapamayız. Bu olayı engellemek için N i artırabilir yani DFT boyumuzu uzatabiliriz. Ama bu sefer de frekans çözünürlüğümüz azalacağından aldığımız DFT de bir frekans belirsizliği açığa çıkar. Frekans belirsizliği şudur: İki sinyal düşünün. Biri her yerinde hem 1 hem de 2kHz lik cosinus içersin, diğeri de zamanda yarısına kadar 1kHz diğer yarısında ise 2kHz lik cosinus içersin. Eğer DFT boyumuz zamanda her yeri kapsayacak kadar büyürse bu iki sinyal aynı sinyaller olmasa da frekans bölgesi gösterimleri aynı olacaktır. Belirsizlikten kastedilen de budur.

Konu 6 - kesikli fourier analizi

Aslında fourier ile ilgili her şey tek bir noktadan geçmektedir. Sinyalin ya da sistemin exp(jωn) ile çarpımının kendi sınırları üzerinden sürekli ise integralinin alınması, kesikli ise toplam yapılmasıdır. exp(jωn) fourier çekirdeği olarak adlandırılır ve bilinmesi gereken tek terimdir. Dönüşüm formüllerindeki diğer ekler sinyale bakılarak kolaylıkla çıkarılabilir.

DTFT
Discrete Time Fourier Transform (Kesikli zaman Fourier Dönüşümü) periyodik olmayan kesikli zaman sinyallerinin frekans spektrumunu, sistemlerin ise frekans tepkisini bulmaya yarar. Sinyalin kendisi kesikli olsa da elde edilen frekans spektrumu, sinyalin aperiyodik olmasından ötürü süreklidir. Dolayısıyla DTFT alırken toplam kullanılırken ters DTFT alınırken integral kullanılır.

DTFT: X(exp(jω)) = (n=-∞)∑(∞) x[n].exp(-jωn)

En başta da açıklandığı şekilde; sinyal aperiyodik olduğu için sınırlar -∞ dan ∞ a dır. Sinyal kesikli olduğu için ∑ gelmiştir ve de fourier çekirdeği koyulmuştur. Çekirdekte ki eksinin sebebi ters dönüşüm yaparken bunun 1/ sünün alınması gerekliliğidir. Yani burda değer pozitif alınabilir ve ters dönüşümde negatif alınabilir. Ama ileri dönüşümde negatif alınması bir literatür gereğidir. Kısacası hep öyle kullanılmıştır ve bu şekilde kullanılmaktadır.

IDTFT: x[n] = 1/2.π (0)∫(2.π) X(exp(jω)).exp(jωn).dω

Bu dönüşümde en baştaki 1/2.π merak uyandırabilir. Bunun koyulmasının sebebi -frekans spektrumunun periyodik olmasından ötürü- integralin sınırlarının 0 dan 2.π ye kadar gitmesinin, integral çözümünde ki değerlerin π li geleceğini göstermesidir. Bu değerlerin anlamı frekans değerlerinin açısal frekans olduğudur. Oysa biz sinyalin gösteriminde açısal frekansı değil gerçek frekansı kullanırız. İşte bu 1/2.π integral sonucunu normalize eder ve bize gerçek frekansı verir.
zaman bölgesi
zaman bölgesi
frekans bölgesi
frekans bölgesi

Dikkat : Çizimler tamamen uydurmadır.

DFS
Discrete Fourier Series(Kesikli Fourier Serileri) kesikli sinyal eğer periyodikse kullanılır. Sinyalin bir peryotundaki örnek sayısı N ile gösterilirse ωo = (2.π.k)/N diye tanımlanır. Burdaki k lar normalize edilmiş frekanslar olarak adlandırılır ve sinyalin sahip olduğu frekans bileşenlerini gösterirler.

DFS: ak = (n=0)∑(N) x[n].exp(-j.ωo.n)

DFS sonucu kesikli bir sinyaldir ve yine N tane frekansı gösterir. Ayrıca sonuç, DTFT deki gibi örnekleme frekansı ile periyodiktir.

DFT
Discrete Fourier Transform (Kesikli Fourier Dönüşümü) aslında bir tür DFS tir. Tüm kesikli fourier analizi konusunun en önemlisidir. Sadece sinyal işleme de değil özellikle matematik te ve fiziğin bir çok alanınında sıkça kullanılır. Bu işlem aperiyodik bir sinyalin fourier dönüşümünün alınmasını mümkün kılar. DTFT doğası gereği gerçeklenemez bir işlemdir. Bu yüzden aperiyodik sinyallerin analizinde DFT kullanılır ve bilgisayarların da bu işi yaparken kullandığı defacto yöntemdir. DFT aperiyodik bir sinyalin belli bir bölümünü alır ve sinyalinin tümünün bu bölümle periyodik olduğunu düşünür. Daha sonra bu bölümün DFS ini hesaplayıp bulduğu değerleri birbiriyle toplar.

DFT: x[k] = (n=0)∑(N-1) x[n].exp(-j.((2.π)/N).k.n)

şeklinde tanımlanır. Formülde gösterilen k lar da n ler de ayrı ayrı 0 dan N-1 e kadar değerler alırlar. Bu da N.N tane işlem yapılması gerektiğini göstermektedir.
Değerlerden biri eğer x[N] i alırsa karşılık olarak x[0] ın karşılığı gelir çünkü yapılan işlem aslında dairesel katlamadır ve bu da adından anlaşılacağı üzere en son değerin peşinden ilk değerin geldiği anlamını taşır.

DFT diğer yanda DTFT si alınan sinyalin frekans bölgesinde örneklenmesi olarak da karşımıza çıkar. Daha önceki çizimde görmüştük ki DTFT si alınan kesikli sinyal 2.π ile periyodik bir sürekli sinyal açığa çıkarmaktaydı. Eğer aynı sinyalin N örnekten oluşan DFT si hesaplanırsa sonuç, DTFT si alındığında elde edilen sonucun 2.π başına N impulse ile örneklenmiş hali olacaktır.

FFT
Fast Fourier Transform (Hızlı fourier dönüşümü) DFT nin özel bir durumudur. Eğer sinyalin içinden alınan bölümdeki örnek sayısı ikinin kuvvetleri şeklinde ise (N = 2^a) özel bir yöntemle yapılacak işlem sayısı log2(N).N e düşürülebilir. Yöntemin adı decimation in time dır ve burda açıklanmayacaktır. FFT nin kendine özel bir formülü yoktur. Sadece yapılacak işlem sayısı azaltılmıştır. Örneğin 16 örnekle yapılacak DFT işlemi 16.16=256 adım gerektirirken FFT işlemi, log2(16).16 = 4.16 = 64 adım gerektirir.

STFT
Short Time Fourier Transform (Kısa zaman fourier dönüşümü) aperiyodik bir sinyalin içinden sırayla alınan pencerelerin DFT lerinin hesaplanması ile gerçekleştirilir. Elde edilen fonksiyonlar 3-D eksene çizilir ve karşılaştırmalar burda yapılır. Çizim yapılırken iki eksen herzamanki gibi frekans ve genlik olacakken 3. eksen alınan bölümün indisini gösterecektir. 2-D eksene de çizim yapılır ve bunun adına ise spektrogram denir.

Pazar, Ocak 02, 2005

Konu 5 - z Dönüşümü

z Dönüşümü -tam olarak anladığım bir konu olmasa da- -sanırım- sürekli zamanda işlemleri kolaylaştırmak için yapılan Laplace dönüşümünün kesikli zaman karşılığıdır. Dönüşüm şu şekildedir:
X(z) = (n=-∞)∑(∞) x[n].z^(-n)

Bu dönüşüm sinyal içindir eğer X yerine H ve x yerine de h yazılırsa bunun sistem için olan hali elde edilecektir. Biraz bakılırsa görülecektir ki fourier dönüşümü ile yakından ilgisi vardır. z = exp(jω) gibi düşünülürse direk olarak fourier dönüşümü (DTFT) elde edilmektedir. Bunun sebebi şöyle açıklanmaktadır: z bir kompleks sayıdır ve kutupsal formda r.exp(jω) olarak gösterilmektedir. Eğer r = 1 ise z dönüşümü fourier dönüşümü olmaktadır ama yarıçap birden farklı ise o zaman z dönüşümü olarak kalmaktadır. Kısaca z dönüşümünün fourier dönüşünü içerdiği söylenebilir.
Toplamın sınırlarının -∞ dan ∞ a olmasının sebebi ele alınan sistemin bilateral yani çift taraflı yani hem sağa yaslı hem sola yaslı olmasınından kaynaklıdır. Eğer ele alınan sistem örneğin nedensel bir sistem olsaydı bu sınırlar 0 dan ∞ a kadar olacaktı.
Aşağıdaki tabloda bazı sistemlerin z dönüşümleri verilmiştir.
Sequencez-TransformROC
(dirak)[n]1All z
-u[n-1]1/(1-z^(-1))|z| < 1
u[n]1/(1-z^(-1))|z| > 1
(dirak)[n-m]z^(-m)All z
except 0 if m > 0
except 1 if m < 0
a^n.u[n]1/(1-a.z^(-1))|z| > |a|
n.a^n.u[n](a.z^(-1))/((1-a.z^(-1))^2)|z| > |a|


ROC (Region of Convergence - Yakınsama Bölgesi)
ROC, z Dönüşümünün en önemli kavramıdır. Elimizdeki fonksiyonun ∞ olmayan bir sayıya yakınsayacak şekilde z in alacağı değerlerin z plane üzerine çizilen bölgesidir. ROC sistem hakkında bir çok bilgi almamızı sağlar. Çizimi ise aşağıdaki özelliklere bakılarak yapılır.

  1. ROC bir halka ya da bir disktir ve merkezi orjindedir.
  2. H(z) de z yerine exp(jω) koyulunca fourier e yakınsayabilmesi için ROC un birim çemberi içermesi gerekir. Bu aynı zamanda sistemin kararlılık kriteridir.
  3. ROC kutup içeremez
  4. x[n] sınırlı sequence ise ROC tüm z plane dir. Belki 0 ı yada ∞ u içermeyebilir.
  5. x[n] sağa yaslı ise ROC en dıştaki kutbun dışına doğru olur.
  6. x[n] sola yaslı ise ROC en içteki kutbun içine doğru olur
  7. x[n] çift taraflı bir sequence ise ROC en dıştaki kutuptan içeri en içteki kutuptan dışarı doğru olan bir ringtir.
  8. ROC bağlantılı olmak zorundadır.


Burdaki önemli özellik ROC un birim çemberi içerdiği takdirde sistemin kararlı olması ve ROC un çizilirken içeri doğru ya da dışarı doğru yapılan çizimin sistemin nedenselliğine bağlı olmasıdır. Eğer sistem nedensel ise ROC dışarı doğru nedensel değilse içeri doğru çizim yapılır.

z Dönüşümünün özellikleri
1. Lineerlik
x[n]↔X(z)
x1[n]↔X1(z) ROC : R1
x2[n]↔X2(z) ROC : R2
a.x1[n] + b.x2[n] ↔ a.X1(z) + b.X2(z) ROC : R1 ∩ R2

2. Time Shifting
x[n -nd] ↔ X(z).z^(-nd) ROC : Rx

3. Multiplication by an exponantial sequence
Zo^n.X[n] ↔ X(z/Zo) ROC : |Zo|.Rx

4. X(z) 'n türevi
n.x[n] ↔ -z.dx(z)/dz ROC : Rx

5. Time Reversal
x[-n] ↔ x(1/z) ROC : 1/Rx

6. x1[n] * x2[n] ↔ X1(z).X2(z)

Konu 4 - Multi Rate DSP

Dijital sinyal örnekleme sinyali birden çok kez değiştiriliyorsa buna multi-rate DSP denir. Bu aynı verinin bir kaç kez örneklendiği anlamında değildir. Daha çok örneklenmiş veri üzerinde değişiklik yapmaktır.

Açıkçası yukardaki tanımdan bir şey anlıyorsanız burda daha fazla oyalanmayın gidin bir tane ultra teorik kitabın başına zamanınızı orda geçirin daha faydalı olacaktır. Bu blog ders notları halindedir ve herşey kısaca özetle anlaşılır bir şekilde anlatılmaya çalışılmıştır.

Tahminimce bu konunun adının multi-rate DSP olması bizim değineceğimiz konulardan daha fazlasını içermesinden ileri gelmektedir. Biz ise sadece interpolation ve decimation konularından bahsedeceğiz.

Decimation
Decimation işlemi örneklemiş sinyalin bazı örneklerinin atılması yoluyla elimizdeki veriyi küçültmek anlamına gelir diyebiliriz. Bu sayede örneklediğimiz sinyal hakkında daha az bilgiye sahip olacağız ama sinyalimiz küçüleceği için iletimde daha az bir bantgenişliği kullanabilmemizi sağlayacaktır. İşlem aşağıdaki diyagramda kısaca gösterilmiştir.
decimation
Decimation

Diyagramdaki M harfi deciMation dan ve aşağı doğru olan ok ta işlemin örnekleme oranını azaltmasından gelmiştir. Zaten bu işlemin diğer bir adı da down-sampling olarak geçer. M harfi örnekleme azaltma oranını göstermektedir. Decimation işlemi de bu sayıya göre yapılır. İşlem asıl örneklenmiş sinyalin sıfırdan başlayarak her M inci örneğinin alınması diğerlerinin ise göz ardı edilmesi ile yapılır. Örneğin M = 3 ise örneklenmiş sinyalin 0. örneği alınır 1 ve 2. örneği alımaz 3. örneği alınır 4 ve 5. örneği alınmaz 6. örneği alınır ... İşlem aşağıdaki grafiklerde gösterilmiştir.
decimation
M = 3 ile down-sampling

Bu işlemin yapılması şekilde de görüldüğü gibi tekrar örnekleme olarak düşünülebilir. Unutmamak gerekir ki, her örnekleme işleminde aliasing sorunumuz vardır ve örnekleme yapmadan önce engellenmesi gerekir. Aliasing hakkında daha fazla bilgi için bir önceki post a bakınız.

Interpolation
interpolation
Interpolation
Şekildeki L harfi interpoLation dan ve yukarı doğru ok da işlemin örnekleme oranını artırılmasından gelir. Interpolation işlemi decimation ın tersi olarak düşünülebilir. Yapılan işlem örneklenmiş sinyalin örnekleri arasına ek sıfırlar koymak ve bunları örneklenen sinyalin ordaki olası değerine çekmektir. Bu yüzden süzgeç up-sampling işleminden sonra gelir. Bu filtre ideal ise (sinc), örneklenmiş sequence ın tüm örneklerinin, yeni konulacak örneğe olan etkisini hesaplayıp örneği bu şekilde olası değerine çeker. Bu oluşturulmuş değer gerçekten de ilk örneklenen sürekli zaman sinyalinin o andaki değerini verecektir. Ama tabii ki bu ideal durumdur ve gerçeklenmesi imkansızdır. Bu işlemin gerçek hayattaki örneği filmlerde sıklıkla karşılaşılan düşük çözünürlüklü bir fotoğrafın çözünürlüğünün bu şekilde artırılarak istenilen bilginin (bir arabanın plakası ya da arka plandaki bir kişinin yüzü) okunmasıdır. İşlem aşağıdaki şekilde gösterilmiştir. Burda kullanılan filtre de bir alttaki şekildedir.
interpolation
Interpolation işlemi

kullanılan filtre
Kullanılan filtre

Konu 3 - Örnekleme

Sürekli zaman sinyalinin kesikli zaman sinyaline dönüştürülme işine örnekleme denir. Örnekleme kısaca sürekli zaman sinyalinin bir impulse fonksiyonu dizisiyle çarpılması ve çıkan sinyalin kesikli zamana dönüştürülmesi ile olur. Sözkonusu impulse fonksiyonu dizisinin sıklığı örnekleme frekansını verir. Daha doğrusu saniye başına geçen impulse sayısı örnekleme frekansıdır. Sürekli zaman sinyaliyle bu sinyalin çarpımı, genlikleri o anki sürekli zaman sinyalinin genliğine eşit olan impulse fonksiyonları dizisini verir. Ama elde edilen bu sinyal kesikli zaman sinyali değildir. Zira sinyalin impulse lar dışındada değerleri vardır ve bunlar sıfırdır. Kesikli zaman sinyaline dönüştürmek için bu impulse dizisi başka bir sisteme (burda açıklanmayacak) sokulur.
örnekleme
örnekleme
örneklenmiş sinyal
örneklenmiş sinyal
kesikli sinyal
kesikli sinyal


s(t) = (n=-∞)∑(∞) (dirak)(t-nT)
Xs(t) = Xc(t)s(t)
Xs(Ω) = 1/T (k=-∞)∑(∞) Xc(Ω - kΩs)


Örnekleme yapılırken dikkat edilmesi gereken konu aliasing tir. Aliasing örneklenen sürekli zaman sinyalinin yüksek frekans bileşenlerinin, düşük frekans bileşeniymiş gibi görünmesi ve sonuçta sinyali tekrar oluşutururken yanlış oluşturulmasıdır. Eğer örnekleme frekansı örneklenen sinyalin en yüksek frekans bileşeninin iki katıdan fazla değilse bu olay meydana gelir. Aliasing in engellenmesi için örnekleme yapılmadan önce örneklenecek sinyal anti-aliasing denen bir alçak geçirgen süzgece sokulur. Böylece yüksek frekans bileşenleri elenerek düzgün bir örnekleme ve dolayısıyla düzgün bir yeniden oluşturma yapılır.

sürekli zaman sinyali frekans spektrumu
sürekli zaman sinyalinin tahmini frekans spektrumu
örneklenen sinyalin frekans spektrumu
örneklenen sinyalin frekans spektrumu


2. şekilde görülen örneklenmiş sinyalin frekans spektrumundaki üçgenler, tepe değerlerini örnekleme frekansının katlarında alırlar. Eğer Ωm bu Ωs in yarısından fazla olursa bu üçgenlerin köşeleri birbirleriyle girişecektir. İşte bu olaya aliasing denir.

Sinyali tekrar oluşturmak için ideal reconstruction filter denilen alçak geçirgen bir süzgece sokarız. Bu süzgecin frekans bölgesi gösterimi bir dikdörtgendir yani kesme frekansı kesindir ve tek bir değerdir. Adından da anlaşılacağı gibi bu süzgeç idealdir yani gerçeklenemez. Bunun yerine gerçek hayatta zero order hold filtre ve başka bir alçak geçirgen filtre kullanılır. Her ne olursa olsun ilk örneklenen sinyal tam olarak birebir elde edilemez. Örnek olarak hiç bir dijital kayıt gerçek bir konserdeki kadar çok ses bileşenini bir arada içermez.

Analog-Sayısal Dönüştürücü
A/D
Şekilde görülen antialiasing filtre daha önce anlatıldı. Sample & Hold normal sampling işlemi yapar ve oluşan kesikli sinyal örneğini diğer örnek gelinceye kadar tutar. Bu sayede sinyal bir nevi kare dalga gibi görünür. Analog & Digital Dönüştürücü sistemi ise girişinde tek, çıkışında ise ikinin kuvvetleri şeklinde bacak sayısına sahip bir entegredir. Bu sistem girişindeki genlik seviyesini derecelendirir ve bu derecenin ikili sistemdeki değerini çıkışında gösterir. Örnek olarak diyelim ki 0-5V sinyal genliği aralığını 256 parçaya böldük. Girişteki sinyal genlik seviyesi bu derecelerden hangisine en yakınsa onun ikili sistemdeki değeri çıkışta görülecektir. yani örneğin giriş seviyesi 2,265745 olsun. Bu seviye bizim aralığı böldüğümüzde elde edeceğimiz 2,265625 değerine yakındır ve buna eşitmiş gibi kabul edilir. 2,265625 seviyesi böldüğümüzde elde ettiğimiz 116. değerdir. Sonuç olarak çıkışta 116 nın ikili değeri olan 01110100 değeri görülecektir. Böylece analog sinyalin dijitale dönüştürülme işlemi tamamlanmış olur.

Burda önemli olan başka bir konu da, nicemleme işlemi yaparken ne kadar hata yaptığımızdır. Bir takım istatiksel hesaplamaların yapılması gerekmektedir. Nicemleme esnasındaki böldüğümüz aralıkların boyutu Δ diyelim (az önceki örnekte 5 / 256 = 0.01953125). Eğer gerçek değer ile nicemlenmiş değer arasındaki fark (hata) e[n] ise bunun değerinin -Δ/2 ile Δ/2 arasında değer alacağı açıktır. Hata, herhangi başka bir değişkene bağlı olmadığı için olasılık yoğunluk fonksiyonumuzun, sınırları -Δ/2 ile Δ/2 olan ve yüksekliği 1/Δ olan bir dikdörtgen vuruş olduğu söylenebilir. Burdan da e nin beklenen değeri:
ε{e} = (-Δ/2)∫(Δ/2) e.1/Δ.de = 0
ve e nin varyansı:
ε{e^2} = (-Δ/2)∫(Δ/2) e^2.1/Δ.de = Δ^2 / 12
olur

Konu 2 - LTI

Linear Time Invariant (LTI)
Doğrusal zamanla değişmez sistemlerin ilk söylenmesi gereken özellikleri çıkışlarının, girişlerindeki sinyalle kendi impulse response larının katlanmış hali olmasıdır.

y[n] = x[n] * h[n]
y[n] = (k=-∞)∑(∞) x[k]h[n - k]

Bu katlama işleminin sonucunda, iki fonksiyonun eleman sayılarının toplamının bir eksiği kadar eleman açığa çıkar. Yani x'in M tane h'nin de N tane elemanı varsa y'nin M + N - 1 tane elemanı olacaktır. İşlem fiziksel olarak x[n] sinyalinin, impulse response u h[n] olan sisteme girmesi durumunda alınacak çıktı olarak yorumlanabilir.

Paralel bağlı sistemler
Paralel bağlı sistemlerin girişine uygulanan tek bir girişin oluşturacağı çıkış şöyle olacaktır:

x[n] * (h1[n] + h2[n]) = x[n] * h1[n] + x[n] * h2[n]

buraya paralel bağlı sistemlerin bir diyagramı konulacak

Seri bağlı sistemler
Seri bağlı sistemlerde, sistemlerin impulse response larının katlanması tek bir sistem varmış gibi hesap yapılabilmesine imkan verir.

h[n] = h1[n] * h2[n]
x[n] * h[n] = x[n](h1[n] * h2[n])

buraya seri bağlı sistemlerin bir diyagramı konulacak


Doğrusal Kesikli Zaman Frekans Bölgesi
Az önceki katlama işleminde x[n] sinyalinin yerine exp(jwn) yazılırsa ve katlama işlemi bu şekilde yapılırsa sistemin frekans tepkisi elde edilir.

y[n] = (k=-∞)∑(∞) h[k]x[n - k]
y[n] = (k=-∞)∑(∞) h[k]exp(jw(n-k))
y[n] = exp(jwn) (k=-∞)∑(∞) h[k]exp(-jwk)

Burdaki
exp(jwn) ifadesi sistemin eigenvalue larını,
H(exp(jw)) = (k=-∞)∑(∞) h[k]exp(-jwk) ifadesi ise sistemin eigenfunction larını
göstermektedir. H(exp(jw)) sistemin frekans tepkisi olarak adlandırılır. Burda sistem yerine sinyali gösterecek şekilde, tüm h ler yerine x, ve H ler yerine de X , yazılırsa bu da sinyalin frekans bölgesi gösterimi ya da frekans spektrumu olarak adlandırılır. Sözkonusu değerler eksponansiyel formda olduklarından kompleks sayı olabilirler. Bu sayıların modülleri, sistemlerin genlik tepkisi, sinyallerin genlik spektrumunu; açıları ise, sistemlerin faz tepkisini, sinyallerin de faz spektrumunu verir.
SistemSinyal
H(exp(jw)) or X(exp(jw))Frekans TepkisiFrekans Spektrumu
|H(exp(jw))| or |X(exp(jw))|Genlik TepkisiGenlik Spektrumu
∢ H(exp(jw)) or ∢ X(exp(jw))Faz TepkisiFaz Spektrumu

Cumartesi, Ocak 01, 2005

Konu 1 - Tanım

Tanım
Aslında isimler sinyaller ve sistemler hakkında yeterince bilgiyi veriyor. Sürekli zaman, sinyallerin her zaman bir değere sahip olduklarını; kesikli zaman ise sinyalin sadece bazı zamanlarda değeri olduğu diğer zamanlarda ise değeri olmadığını (sıfır değil) anlatmaktadır. Sistemler için ise aşağıdaki grafiklerin o sistemin impulse response u olduğu düşünülebilir.

continous - sürekli
sürekli
discrete - kesikli
kesikli

Burada sıklıkla merak edilen bir konuya değinmek istiyorum. Her yerde dijital (sayısal) sinyal işleme şeklinde geçen bu konuda neden hep discrete (kesikli) kullanılır? İkisi hep aynı kavram gibi kullanılsa da aslında tamamen aynı değildirler. Discrete sinyal sonsuz farklı değer alabilirken dijital sinyal sadece bizim belirlediğimiz değerleri alabilmektedir. Şöyle ki bir discrete sinyalin genlik değeri 2,132136431 olabilirken dijital de böyle bir değer kullanılmak istenmez. Onun yerine daha çok 2,00 ya da 2,25 gibi değerler gelir. Analog-Dijital dönüştürme konusu geldiğinde bu daha rahat anlaşılacaktır. Ama yine de ikisi arasında pek fark olmadığının altını çizmek gerekir. Bu blogta da bu konuda ki bir çok kitap gibi terimler birbiri yerine kullanılacaktır.

Özellikler
1 - Hafızasız sistemler
Çıkış, girişin sadece o anki değerine bağlıdır.
2 - Doğrusal Sistemler

y1[n] = x1[n]
y2[n] = x2[n]

Aşağıda gösterilen iki özelliği birden barındıran sistemlerdir.
a) Homojenite
ay1[n]=ax1[n]

b) Süperpozisyon
y1[n]+y2[n]=x1[n]+x2[n]

3 - Zamanla değişmez sistemler
Giriş zamanında oluşan bir kaymanın çıkışta da aynen gözlendiği sistemler.
y1[n-nd]=x1[n-nd]

4 - Nedensellik
Sistemin çıkışının girişin o anki ya da daha önceki değerlerine bağlı olduğu sistemler. Sistemin impulse response u sağa yaslı çıkar. Yani sistemin bir andan önceki değerleri hep sıfırdır sadece o andan sonraki değerleri vardır.
sağa yaslı
sağa yaslı

5 - Kararlılık
Sınırlı girişe sınırlı çıkış üreten sistemlerdir. Bu sistemler aynı zamanda absolutely summable olma özelliğine de sahiptirler. Bu, sistemin tüm değerlerinin toplamının sonsuz olamdığı ve bir sayıya yakınsadığı anlamına gelir.

Giriş

Bu blog ta bu dönem almış olduğum ve bir kaç gün sonra finaline gireceğim işaret işleme dersi için yaptığım araştırmalara ve çalışmalara yer vereceğim. Bir ders olarak bakıldığında korkutucu görünse de elektronik mühendisliğinin en önemli konularından biridir. Benim için kendi ilgi alanımla (grafik-tasarım) okuduğum bölümü birbirine yaklaştırdığından çok eğlenceli bir ders olmuştur. Daha doğrusu ders, bir açıdan, grafik-tasarım da bazen kullandığımız yöntemlerin temelini oluşturmuştur. Daha anlaşılır bir şekilde dijital fotoğrafın çekilmesinden afiş olarak düzenlenip basılmasına kadar yaptığımız işlemlerde aslında neler yaptığımızı açıklamıştır. Tabii ki bu temel üzerine image-processing ten başka konular da oturtulabilir. Hatta genelleştirme yaparsak bilgisayarlarla yapılan her iş bir DSP dir denilebilir.

Sırasıyla şu konuları özetlemeye çalışacağım:

1. - Sürekli ve kesikli zaman sinyallerinin tanımı (Continous and Discrete Time Signals)
- Kesikli zaman sistemleri ve özellikleri (Discrete Time Systems)
2. - Doğrusal zamanla değişmez sistemler (LTI)
- Doğrusal katlama (Linear Convolution)
3. - Sürekli zaman sinyallerinin örneklenmesi (Sampling)
- Analog-Sayısal Dönüştürcüler (Analog-Digital Converters)
4. - Multi Rate DSP
- Interpolation and Decimation
5. - z Dönüşümü (z Transform)
6. - Kesikli zaman sinyal ve sistemler için Fourier analizi (Discrete Time Fourier Analysis)
- DTFT, DFT, FFT, STFT

ders ankara üniversitesi mühendislik fakültesi elektronik mühendisliği bölümü 4. sınıfta İşaret işleme adıyla Yrd. Doç. Dr. H. Gökhan İlk tarafından verilmektedir.