24.07.2013 Views

ampirik kip ayrışımı için kübik esnek şerit aradeğerleme yönteminin ...

ampirik kip ayrışımı için kübik esnek şerit aradeğerleme yönteminin ...

ampirik kip ayrışımı için kübik esnek şerit aradeğerleme yönteminin ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

AMPİRİK KİP AYRIŞIMI İÇİN KÜBİK ESNEK ŞERİT ARADEĞERLEME<br />

YÖNTEMİNİN APKD ÜZERİNDE GERÇEKLENMESİ<br />

FPGA IMPLEMENTATION OF CUBIC SPLINE INTERPOLATION METHOD FOR<br />

EMPIRICAL MODE DECOMPOSITION<br />

Serhat Çağdaş , Anıl Çelebi<br />

İşaret ve Görüntü İşleme Laboratuarı (KULIS),<br />

Elektronik ve Haberleşme Mühendisliği Bölümü, Kocaeli Üniversitesi<br />

ÖZETÇE<br />

Bu çalışmada, <strong>ampirik</strong> <strong>kip</strong> <strong>ayrışımı</strong> (AKA) işlemi <strong>için</strong> <strong>kübik</strong><br />

<strong>esnek</strong> <strong>şerit</strong> ara değerleme yöntemi alan programlanabilir<br />

kapı dizisi (APKD) üzerinde gerçeklenmiştir. Yöntemin<br />

yazılımsal uygulamasından farklı olarak donanımsal<br />

gerçeklemede, performans ve kaynak kullanımı kriterleri göz<br />

önünde bulundurularak bir donanım mimarisi tasarlanmıştır.<br />

Deneysel çalışmalarda da gerçeklenen donanım mimarisinin<br />

yazılıma göre yaklaşık 900 kat daha hızlı sonuç ürettiği<br />

gözlemlenmiştir. Tasarım sınıflandırma amaçlı kullanılan<br />

yöntemlerden <strong>ampirik</strong> <strong>kip</strong> <strong>ayrışımı</strong> (AKA) yöntemi ile başarılı<br />

bir şekilde tümleştirilmiştir.<br />

ABSTRACT<br />

In this work, cubic spline interpolation method is<br />

implemented on a field programmable gate array (FPGA) to<br />

be used for real time empirical mode decomposition.<br />

Different from the software implementation of the method, in<br />

the hardware implementation, a hardware architecture is<br />

designed with performance and resource usage under<br />

consideration. According to the experimental results, the<br />

hardware architecture performed the computation<br />

approximately 900 times faster compared to the software<br />

implementation. The designed hardware architecture is<br />

successfully integrated with empirical mode decomposition<br />

(EMD) method which generally is utilized as a building block<br />

of classification methods proposed in the literature.<br />

1. GİRİŞ<br />

Esnek <strong>şerit</strong> ara değerleme yöntemi günümüzde, bilgisayar<br />

grafikleri, uydu davranış kontrolü, veri analizi, imge ve video<br />

işleme, biyomedikal sinyal işleme ve sismik analiz gibi<br />

mühendislik uygulamalarında yaygın olarak kullanılan bir ara<br />

değerleme yöntemidir[1]. Önceleri, bu yöntemin getirmiş<br />

olduğu aşırı hesaplama ve hafıza yükünden dolayı bu işlemler<br />

ancak genel amaçlı işlemciler ile gerçekleştirilebiliyordu.<br />

Fakat günümüzde DSP ve APKD gibi yüksek işlem gücü<br />

sağlayabilen platformların gelişmesi ve artan yonga üzeri<br />

bellek alanı sayesinde bu yöntem kişisel bilgisayarlardan<br />

kurtulmayı başarmıştır[2]. Özellikle APKD’lerin paralel<br />

işlemler yapabilmeye olanak sağlayan mimarisi ve yeterli<br />

yonga üzeri hafıza kapasitesine sahip olması bu yöntemin<br />

donanımsal olarak gerçekleştirilmesine olanak sağlamıştır.<br />

Bu çalışma Kocaeli Üniversitesi BAP programı çerçevesinde<br />

2011/002 no'lu proje kapsamında desteklenmektedir. Bu<br />

çalışmada kullanılan, APKD üzerinde donanım geliştirme<br />

yazılımları Xilinx firması tarafından bağışlanmıştır.<br />

978-1-4673-0056-8/12/$26.00 ©2012 IEEE<br />

srhtcgds@gmail.com, anilcelebi@kocaeli.edu.tr<br />

[3]'de önerilen sinüs üreteci mimarisinde de <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong><br />

ara değerleme yöntemi kullanılmıştır ancak, yöntem sadece<br />

sinüs fonksiyonu <strong>için</strong> gerçekleştirilmiş olup, sabit aralıklarda<br />

ara değerleme yapılmıştır. Kontrol noktalarının sabit olması<br />

nedeniyle ara değerleme işlemine herhangi bir işlem<br />

yapmadan başlanabilmektedir. Bu çalışmada önerilen<br />

donanım mimarisi ise AKA <strong>yönteminin</strong> donanım mimarisinde<br />

kullanılacağı <strong>için</strong> sabit olmayan kontrol noktası sayısı ve<br />

değeri <strong>için</strong> ara değerleme işlemini yapabilecek şekilde<br />

tasarlanmıştır.<br />

2. KÜBİK ESNEK ŞERİT ARADEĞERLEME<br />

Kübik <strong>esnek</strong> <strong>şerit</strong>, adet kontrol noktasından geçen üçüncü<br />

dereceden polinomlardan oluşan ve <strong>esnek</strong> bir şeride benzeyen<br />

yapıya verilen isimdir. Bu polinomların genel formülü eşitlik<br />

(1)'de görülmektedir.<br />

() = ( − ) + ( − ) + ( − ) + [4] (1)<br />

Burada =1,2,..,'e kadar devam ederken, , , ve <br />

ilgili polinomun katsayıları, de değeri bilinen kontrol<br />

noktalarını temsil etmektedir. Çizilen <strong>esnek</strong> şeridin <strong>kübik</strong><br />

<strong>esnek</strong> <strong>şerit</strong> olarak kabul edilebilmesi <strong>için</strong> aşağıdaki dört koşulu<br />

sağlaması gerekmektedir:<br />

• Parçalı () fonksiyonu bütün noktaların ara<br />

değerlemesini yapmalı.<br />

• Parçalı () fonksiyonu bütün noktaların ara<br />

değerlemesini yapmalı.<br />

• Parçalı () fonksiyonu, [ , ] arası sürekli olmalı.<br />

• Bu fonksiyonun birinci türevi ′() , [ , ] arası<br />

sürekli olmalı.<br />

• Bu fonksiyonun ikinci türevi ′′(), [, ] arası sürekli<br />

olmalı.<br />

Kübik <strong>esnek</strong> şeridin bu dört özelliğini kullanarak , , ve<br />

katsayıları aşağıdaki çıkarımlarla bulunabilir. Parçalı ()<br />

fonksiyonun bütün noktaların ara değerlemesini yapacağı<br />

özelliğinden eşitlik (2)'de görülen sonuca ulaşılabilir. Burada<br />

(2) ve (3) numaralı eşitlikleri kullanarak katsayısı<br />

bulunabilir.<br />

( ) = <br />

() = = ( −) +( −) +( −)+ = (2)<br />

(3)


Bir sonraki adımda <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong>lerin üçüncü özelliği<br />

kullanılırsa eşitlik (4) elde edilir.<br />

′( ) = ′( )<br />

‘ () = <br />

‘ ( ) = 3 ( − ) +2 ( − )<br />

+ <br />

= 3 ( − ) +2 ( − )+ <br />

Üçüncü adım olarak da <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong>lerin dördüncü<br />

özelliği kullanıldığında yine eşitlik (5) <strong>için</strong> elde edilir.<br />

′′() = ′′(), ′′() = ′′() = 6 ( − ) + 2 ′′() = 6 ( − ) + 2 2 =6 ( − ) + 2 Eşitlik (5)'de ℎ= − ve ′′() = ifadeleri<br />

kullanılırsa<br />

2 =6ℎ + 2 =<br />

(6)<br />

+ 6ℎ<br />

katsayısı da elde edilmiş olur. Bulunan sonuçlarda <br />

katsayısının diğer denklemlerle tekrar düzenlenmesiyle<br />

birlikte genel formüller aşağıdaki gibi olur.<br />

= + <br />

6ℎ<br />

= 2<br />

= + +ℎ<br />

ℎ<br />

− 2 6<br />

= n adet kontrol noktası bulunan bir <strong>kübik</strong> <strong>şerit</strong> <strong>için</strong> 4 adet<br />

bilinmeyen var demektir. Fakat yukarıdaki işlemlerle ancak<br />

4-2 adet denklem elde edilebilir. Bu da sınırlardan<br />

kaynaklanmaktadır. Bu sorunu çözmek <strong>için</strong> sınır koşulları<br />

belirlenmelidir. Bu noktada belirlenen üç adet durum vardır ve<br />

bu durumlar <strong>için</strong> üç farklı <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong> ortaya çıkar:<br />

• Natural Splines: Bu <strong>şerit</strong>lerde n noktalı <strong>kübik</strong> <strong>şerit</strong>te baş<br />

ve son noktanın ikinci türevleri 0 kabul edilir. Yani,<br />

(4)<br />

(5)<br />

(7)<br />

=0 ve =0 (8)<br />

• Clamped Splines: Şeridin baş ve son noktalarının birinci<br />

türevlerine sabit sayılar atanır.<br />

′ ( ) = ve ′ ( ) = (9)<br />

• Not-a-Knot Splines: Üçüncü türevler eşitlenir.<br />

′′′ ()=′′′ () ′′′ ()=′′′ () (10)<br />

Bu çalışmada yaygın olarak kullanılması sebebiyle natural<br />

spline sınır koşulları kabul edilmiştir. Sınır koşullarının<br />

belirlenmesi ile elde edilen 4n adet denklem eşitlik (11)'de<br />

görülen bir tri-diagonal matris sistemine indirgenebilir. Bu<br />

matris sisteminin çözülmesi sonucunda bulunan değerler<br />

(ikinci türevler) de eşitlik (7)'de yerine konulduğunda <strong>kübik</strong><br />

<strong>esnek</strong> <strong>şerit</strong>ler çizilmeye başlanabilir.<br />

3. APKD ÜZERİNDE GERÇEKLEME<br />

Yukarıda yapılan işlemler ve sonuçtaki katsayıların<br />

çıkarımları göz önünde bulundurulduğunda gelen kontrol<br />

noktalarının indisleri, değerleri, matris değerleri ve ikinci<br />

türev sonuçlarının bir bellekte saklanması gerektiği görülür.<br />

Buna çözüm olarak tasarımda gelen indis ve değerleri <strong>için</strong><br />

birer, matrise dönüştürülmüş denklemlerde matrisin sağ ve sol<br />

tarafı <strong>için</strong> birer ayrıca ikinci türev sonuçları <strong>için</strong> bir adet<br />

olmak üzere toplamda beş adet RAM yapısı kullanılmıştır.<br />

Bunlara ek olarak girişe gelen ve RAM bellekte saklanan<br />

ardışık verileri birlikte kullanma ihtiyacı olduğundan dolayı<br />

(örneğin matrisin sağ tarafının ikinci satır elemanı<br />

hesaplanacağı sırada , , , , ve değerleri) 3 adet D<br />

tipi yaz boz içeren bir kaydırmalı kaydedici (KK)<br />

tasarlanmıştır.<br />

Tasarımda öncelikli amaç kontrol noktaları gelmeye<br />

başladığı anda indis, değer ve matrisler <strong>için</strong> ayrılan RAM<br />

yapılarına veri yazmaya başlamak ve son kontrol noktası<br />

geldiğinde matrislerin yerine koyma işlemi ile çözülebilecek<br />

sadelikte olmasıdır. Bu amaç doğrultusunda tasarımın genel<br />

mimarisi Şekil 1'deki gibi oluşturulmuştur.<br />

3.1. LHSM Hesapla Öbeği<br />

Şekil 2’de görülen LHSM hesaplama yapısı tri-diagonal<br />

matrisin sol tarafındaki sayıları yukarıdan aşağıya doğru gelen<br />

sayılara uygun olarak köşegenin solundaki elemanları (2.<br />

satırda ℎ, 3. satırda ℎ vb.) yok edecek şekilde hesaplar ve<br />

LHSM RAM ine gönderir. Matristeki ℎ elemanları indis<br />

değerlerine döndürülürse,<br />

ℎ = − 2(ℎ +ℎ )=2( − ) (12)<br />

Şekil 3’deki blok verilerin indirgenip köşegen verilerinin<br />

RAM belleğe gönderilmesini sağlar. Elde edilen tridiagonal<br />

matriste köşegen elemanlarının sağ tarafındaki<br />

değerlerin ayrı bir RAM de tutulmasına gerek yoktur.<br />

Çünkü bu veriler indislerin tutulduğu matriste zaten<br />

mevcuttur ve tridiagonal matrislerin özelliğinden dolayı<br />

indirgeme sonucu herhangi bir değişikliğe uğramazlar.<br />

(11)


Şekil 1: Önerilen <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong> ara değerleme donanımının mimarisi.<br />

Şekil 2: LHSM Hesapla öbeğinin mimarisi<br />

Şekil 3: RHSM Hesapla öbeğinin mimarisi.<br />

Şekil 4: İkinci Türev Hesapla öbeğinin mimarisi<br />

3.2. RHSM Hesapla Öbeği<br />

Şekil 2’de iç yapısı görülen RHSM hesaplama öbeği tridiyagonal<br />

matrisin sağ tarafındaki veri grubunu LHSM<br />

hesaplama öbeğinden gelen katsayılar yardımıyla hesaplar ve<br />

RHSM RAM öbeğine gönderir. Şekil 4’deki blok matrisin sol<br />

tarafı ile eş zamanlı şekilde sağ tarafın veri grubunun da<br />

indirgenmesini sağlar.<br />

3.3. İkinci Türev Hesapla Öbeği<br />

Tasarlanan donanım mimarisinde girişe son kontrol noktası<br />

geldiğinde indirgenmiş matrisler, indisler ve değerler<br />

hesaplanmış olmaktadır. Bundan sonra kalan ikinci türevleri<br />

bulma işlemini ikinci türev hesaplama öbeği geriye koyma<br />

işlemini kullanarak yapar ve artık ,,ve değerlerini<br />

bulmak <strong>için</strong> gerekli bütün veriler elde edilmiş olur. İkinci<br />

Türev Hesapla öbeğinin mimarisi Şekil 4’de görülmektedir.<br />

4. ARA DEĞERLEME DONANIMININ ARA<br />

YÜZÜ<br />

Önerilen <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong> ara değerleme mimarisinin AKA<br />

hızlandırıcı gibi daha büyük sistemler ile tümleştirilebilmesi<br />

<strong>için</strong> bir sinyalleşme yapısı ve bu sinyalleşmenin yapılacağı<br />

fiziksel bir ara yüze sahip olması gerekmektedir. Şekil 5 ve<br />

Şekil 6'da sırasıyla bu çalışmada önerilen <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong><br />

ara değerleme mimarisinin sahip olduğu fiziksel ara yüz ve<br />

sinyalleşme yapısı görülmektedir.<br />

Şekil 6'da gösterilen sinyalleşme yapısına bakıldığında<br />

ara değerleme donanımının çalışmaya başlaması <strong>için</strong><br />

öncelikle basla sinyalinin yüksek seviyede tutulduğu<br />

görülmektedir. Daha sonra da sırasıyla kontrol noktaları ve bu<br />

noktaların veri dizisi içerisindeki konumlarını gösteren din ve<br />

yin sinyalleri wclk isimli bir saat işareti ile eş zamanlı bir<br />

biçimde ara değerleyiciye gönderilmelidir. Tasarım, ikinci<br />

türev hesapla öbeğine geçmeden önce N sayısı kadar kontrol<br />

noktasının gelmesini bekler.<br />

Son nokta geldiğinde ise N saat darbesi zamanı kadar bir<br />

sürede geriye koyma işlemi ile ikinci türev değerlerini bulur<br />

ve ara değerleme sonuçlarını vermeye başlar. Model üzerinde<br />

din girişi kontrol noktalarının indekslerini, yin giriş<br />

değerlerini, wclk değerlerin geldiğine dair eş zamanlama<br />

sinyalini ve basla sinyali de ara değerlemeye başlama<br />

uyarısını alırken, dv geçerli veri bilgisini, cikis ise ara<br />

değerleme sonuçlarını gösterir.<br />

5. GERÇEKLEME SONUÇLARI<br />

Tasarım VerilogHDL ile kodlanmıştır ve ISIM benzetim<br />

aracı ile fonksiyonel olarak geçerlenmiştir. Elde edilen<br />

sonuçlar <strong>esnek</strong> <strong>şerit</strong> ara değerleme algoritması kullanılarak<br />

elde edilen sonuçlar ile karşılaştırılmıştır.


Ara değerleme algoritması ve önerilen donanım mimarisi <strong>için</strong><br />

elde edilen sonuçlar Şekil 7'de grafik olarak gösterilmiştir.<br />

Tablo 1'de tasarımın gerçekleştirilmesinde kullanılan hedef<br />

APKD <strong>için</strong> kaynak kullanım miktarları verilmiştir. Sentez<br />

sonuçlarına göre önerilen donanım mimarisinin çalışma<br />

frekansı 8.9MHz olarak gözlemlenmiştir. Bu değerin düşük<br />

olmasının sebebi bölme işlemi <strong>için</strong> birleşimsel dizi şeklinde<br />

bir tasarım gerçeklenmiş olmasıdır. Bu bölme devresi<br />

birleşimsel bir dizi yerine sıra düzensel (pipelined) bir yapı ile<br />

gerçeklenirse çalışma frekansı kolayca 100MHz'in üzerine<br />

çıkarılabilir. Önerilen donanım mimarisi [3]'den farklı olarak<br />

değişken sayıdaki kontrol noktası <strong>için</strong> ara değerleme<br />

yapabilir. 8.9MHz çalışma frekansı <strong>için</strong> yazılım ile bir<br />

karşılaştırma yapıldığında tasarlanan mimarinin 900 kat daha<br />

hızlı olduğu gözlemlenmiştir.<br />

6. SONUÇ<br />

Bu çalışmada, <strong>kübik</strong> <strong>esnek</strong> <strong>şerit</strong> ara değerleme yöntemi<br />

APKD üzerinde gerçeklenmiştir ve elde edilen donanım<br />

mimarisi sınıflandırma amaçlı donanım hızlandırıcılar<br />

içerisinde rahatlıkla kullanılabilir. Günümüzde bu işlemlerin<br />

DSP ve uygulamaya özel tümleşik devreler ile<br />

gerçekleştirilmiş çözümler bulunmaktadır. Önerilen yapı<br />

uygulamaya özel tümleşik devrelerden daha ucuz, DSP<br />

yongalarına göre ise daha hızlı çalışabilmektedir. Bu çalışma<br />

Kocaeli Üniversitesi BAP programı kapsamında desteklenen<br />

"İmge ve Video İşaretlerinde Sınıflandırma İşlemi <strong>için</strong><br />

Donanımsal Hızlandırıcı" isimli bilimsel araştırma projesi<br />

çerçevesinde bugüne kadar gerçekleştirilen çalışmalar sonucu<br />

elde edilmiştir ve çalışmalar devam etmektedir.<br />

Şekil 5: Kübik <strong>esnek</strong> <strong>şerit</strong> ara değerleme ara yüzü<br />

Şekil 6: Kontrol noktası değerleri giriş başlangıcı<br />

Şekil 7: Ara değerleme sonuçları<br />

Tablo 1: Kaynak kullanımı<br />

Hedef APKD Xilinx Spartan 6 – xc6slx45-3csg484<br />

Slice Registers 583/54576<br />

Slice LUTs 10930/27288<br />

Occupied Slices 3087/6822<br />

RAMB16BWERs 5/116<br />

BUFG - BUFGMUXs 2/16<br />

DSP48A1s 30/58<br />

I/O 132/320<br />

7. KAYNAKÇA<br />

[1] M.-H. Lee, K.-K. Shyu, P.-L. Lee, C.-M. Huang ve Y.-J.<br />

Chiu,”Hardware Implementation of EMD Using DSP and<br />

FPGA for Online Signal Processing”,Industrial<br />

Electronics, IEEE Trans. on , 58 (6) : 2473–2481 , 2010.<br />

[2] N. E. Huang, Z. Shen, S.R. Long, M.C. Wu, H.H. Shih,<br />

Q. Zheng, N.C. Yen, C.C. Tung ve H.H. Liu, “The<br />

empirical mode decomposition and the Hilbert spectrum<br />

for nonlinear and non-stationary time series analysis”,<br />

Proc. R. Soc. London. A., Math. Phys. Eng. Sci. vol. 454<br />

no. 1971 pp. 903-995, 1998.<br />

[3] H. S. Dhillon, ve A. Mitra, “A Low Power Architecture<br />

of Digital Sinusoidal Generator Using Cubic Spline<br />

Interpolation”, IETE Journal of Education, vol. 47, no. 3,<br />

pp. 129-136, July-Sept. 2006.<br />

[4] C. O'neal, ''Cubic Spline Interpolation'', Acta<br />

Mathematica Hungarica, 107(May): 493-507, 2002

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!