Elektrik Mühendisliği · Sayı 378 · 1991 / 2
SAYISAL İŞARET İŞLEME (DSP), BİR DAP MİMARİSİNİN İNCELENMESİ VE UYGULAMALARI
Elektronik ve yarı iletkenler Teknik / bilimsel makale
- Yıl
- 1991
- Sayfa
- 8
- Okuma süresi
- 18 dk
- Görüntülenme
- 0
Konu
İlgili: Bilgisayar, yazılım ve internet, Kontrol, otomasyon ve robotik
Anahtar kelimeler
- Sayısal İşaret İşleme
- DSP mimarisi
- TMS320
- A/D-D/A çevirici
- kuantalama hatası
- Harvard mimarisi
Özet
Yazıda sayısal işaret işleme (DSP) kavramı, DSP sistemlerinin genel yapısı, analog sistemlere göre üstünlükleri ve sınırlamaları ele alınmakta; TMS320 ailesi örneği üzerinden DSP mimarisi, çarpma-biriktirme işlemleri, kuantalama/kesme hataları ve bellek yapıları teknik olarak incelenmektedir.
Tam metin
Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.
SAY ISAL İŞARET İŞLEME (DSP), BİR DSP MİMARİSİNİN İNCELENMESİ VE UY GULAMALARI
Türker CAMBAZOĞLU (*)
Sayısal İşaret İşleme (DSP) Nedir?
Neden DSP?
T
eorik bir disiplin olarak DSP, f1' uzun yıllar önce ortaya çıkmış bir konudur. Kısaca, sayısal işaret iş leme; sinyallerin sayı dizileri şeklin
de temsil edilmesi ve bu sayı dizilerinin,
nümerik hesaplama yöntemleri ile dönüş
türülmesi (tranformasyon) veya işlenmesi
ile ilgilidir. O halde genel anlamda bir DSP
sisteminde, dış dünya ile haberleşebilmek
için A/D ve D/A çeviriciler bulunacaktır
(Şekil 1). Analog işaret dururken, naden
sayısal domene geçerek sinyal işlemeye gerek duyuldu
ğu ise ayrı bir konudur. Analog sinyal işlemede, sinyal,
sürekli zaman ve sürekli genlik seviyeleri ile işlenir. Bir
DSP sisteminde ise, analog sinyal artık zaman aralıkla
rında örneklenir. Örnek alınmış analog sinyal genlikleri bir
A/D ile sayısal değerlere çevrilir ve sinyalin sayısal eş
değeri, sayısal domende sayı dizileri halinde, DSP'nin
kendisi tarafından işlenir. Bu işlemler; sinyallerin analiz
edilmesi veya sentezlenmesi (FFT'Ier, konuşma sentezi
gibi), sinyallerin frekans veya genlik yanıtlarının değişik
liğe uğratılması (süzgeçler, denetleyi
ciler gibr) ve hatta sistemlerin veya
sinyallerin kestirimi (tahmin edilmesi)
(Kalman filtreleri, adaptif filtreler, de
netleyiciler, vs.) gibi şeyler olacaktır.
DSP ile üzerinde işlem yaptıktan son
ra, veri, D/A çeviriciler yardımı ile
analog biçime dönüştürülür.
performans sağlarlar. Bir takım karmaşık işaret (sinyal) işleme teknikleri vardır ki, bunları analog yöntemlerle halletmek ya çok zordur ya da tümden olanaksızdır. DSP'ler programlanabilir olduğundan, sis temler üzerinde değişikliklerle veya yukarı doğru güncelleştirmelerle kolayca başedi lebilir. Bundan başka, tek bir DSP'yi, farklı sayıda sinyal işleme için zaman içinde paylaştırmak mümkündür.
DSP sistemleri sorunsuz değillerdir. Bu tür sistemlerde, analog sinyaller işlenmeden önce sayısal biçime çevrildiğinden; zaman ve genliğin sürekli durumdan ayrık duruma çevrilmesi, çeşitli kısıtlamaları da beraberinde getirir. Eğer bu kısıtla malara uyulmazsa, oldukça ciddi sorunlarla karşılaşılır. Gözönüne alınması gerekli en önemli nokta, örnekleme aralığının seçimidir. Bu seçimi yapabilmek için genel.bir kural; "analog işaret içindeki bilgiyi kaybetmemek için, işaret en azından en yüksek frekanslı bileşenin 2 katı frekans ile örneklenir" biçiminde ifade edilir. Fakat, örne ğin sayısal kontrol sistemlerinde, örnekleme hızı, sistem band genişliğinin 6 ila 10 katı bir değerde seçilir.
Sinyallerin, DSP teknikleri ile sayısal domende işlenme sinin, analog domende işlenmesine göre birçok üstün lükleri vardır. Eskime, sıcaklık ile parametre değerlerinin kayması gibi ortam koşullarına bağlı analog elemanların tersine, DSP elemanları ortam koşullarından daha az et kilenirler ve bu halleriyle daha kararlı ve daha güvenilir bir (*) EMPA A Ş . Araştırma Bölümü
Şekil 1: EN GENEL bir DSP Sistemi
Gerçek zamanda işlemler yaparken, sayısal işaret işlemci bir sonraki örnek değerini almadan önce, tüm işlemlerini bitirip, hazır hale gelmelidir. Bu nedenle, DSP, son dere ce hızlı olmalıdır. Bu yüksek performansı sağlıyabilmek için DSP'lerin iç mimarileri donanımsal olarak birbirine bağlı birimlerden oluşur Halbuki geleneksel mikroişlemci
31 MÜHENDİSLİĞİ
ve mikrodenetleyicilerde, iç mimari "mikrokod" denilen yöntemle oluşturulur, ve bu yüzden bunlar genel olarak yavaştırlar, işte, bu "donanımsal olarak birbirine bağlı bi rimlerden oluşan mimarisi" sayesinde DSP'ler komutların birçoğunu tek bir makina çevriminde yürütürler. Örneğin Texas Ins TMS320CIX ailesi için, bu çevrim süresi ya 160ns ya da 200 ns olabilmektedir.
Birçok analog işaret işleme sistemi, PID<2» algoritmalarına benzer bir biçimde diferansiyel denklemleri gerçekleşti rirler. Bu tür algoritmalar sayısal işaret işlemede:
a2y(n 2) + ... +box(n)+b,x(n 1)+...
şeklinde fark denklemlerine dönüşür. Burada y(n), çıkış sinyali örneklerini x(n) ise giriş sinyali örneklerini göster mektedir, (o anda güncel olan örnekler). Benzer şekilde y(n k) ve x(n k) k zaman önce güncel olan örnekleri, a, a2, b0, b,... ise kazanç katsayıları gösterir.
Yukarıdaki denklemlerden de anlaşılacağı üzere, işaret işlemede yaygın bir biçimde kullanılan işlem, çarpım biriktirme (akümülasyon) işlevidir. Bu tür işlevlere bazı örnekler; süzme, korelasyon, pencere fonksiyonları ile çarpma'31, hızlı Fourier dönüşümü (FFT(4)) sayılabilir. O halde, tek yongadan ibaret iyi bir sayısal işaret işlemcide, çok hızlı çarpmalar yapmak üzere, yonga üzerinde do nanımsal bir çarpma birimi bulunması çok gereklidir. Ör
neğin, TMS320CIX ürünlerinde yer alan 16x16 bit paralel çarpma birimi, çarpma neticesini 32 Bit şeklinde tek bir makina çevriminde, yani 160 veya 200 ns'de çıkarır. Buna karşılık, öneğin 68020 gibi 32 Bit'lik bir mikroişlemcide aynı iş için 36 tane CPU'5' (Merkezi işlem Birimi) çevrimi gerekecektir. TMS320CIX ürünlerinde, çarpma birimine bağlı kaydedicilerden (saklayıcılardan) biri, daha önceden yüklenmesi gerekeceğinden, bir tablodaki elemanlar çif ter çifter 400ns'lik (veya 320 ns'lik) hızlarda çarpılarak toplanırlar (biriktirme işlemi).
Analog işaretlerin sürekli genliklerinin, ayrık genlik sevi yelerine dönüştürülmesi, ayırma duyarlılığının'6' kaybı an lamına gelmektedir. Bu olay, kuantalama hatası olarak da bilinmektedir. Kuantalama hatasına ek olarak, sayısal domende çalışmak başka hataları da yol açar. Örneğin 8x8 Bit'lik bir çarpmanın sonucu 16 Bit'dir. Eğer sadece 8 Bit'lik bir saklama gözü mevcutsa, o vakit daha az anlamlı olan 8 Bit atılır. Sözcük uzunluğunun kısıtlı oluşu nedeniyle ortaya çıkan bu hataya kesme hatası'7' adı ve rilmektedir.
Kuantalama ve kesme hataları özellikle 8 Bit'lik mikroiş lemcilerde önemli sorunlara yol açarlar. Aynı sorunlar, biraz daha hafiflemiş olarak 16 Bit'lik mikroişlemcilerde de mevcuttur. Kesme ve kuantalama hataları hem işaret örnekleri üzerinde hem de kazanç katsayıları üzerinde
Yaklaşın Bit Slice
Üstün Yanı • Çok Hızlı • Donanımsal Çarpıcı
Zayıf Yanı
• Yonga sayısı/Güç tüketimi/ maliyet yüksek
• Karmaşık Tasarım • Programlamak zor
Ismarlanmış Yongalar (ASIC)
• Üretim miktarları • Sadece çok yüksek hacimli yeterince yüksek ise, uygulamalar için geçerli en düşük üretim maliyeti
• tyi tanımlanmış performans
• tik geliştirme maliyetleri yüksek.
• Yüksek risk.
Genel amaçlı mikroişlemciler
• Donanımsal çarpıcı mevcut değil
• Hız düşük
• Özel DSP işlevleri içermez
Genel amaçlı DSP İşlemcileri (TMS32O)
• Orta Hız (Bit Slice'a göre)
• Yonga sayısı ASIC çözüme göre biraz fazla
• Alçak/Orta hacimlerde üretim
• Hızlı
• Donanımsal/Çarpıcı içerir
• Özel DSP işlevleri
• Belirli bir uygulama ile sınırlı değildir.
Tablo 1: DSP UYGULAMALARI için çeşitli çözümler
etkilidir. Bu etkiler, kendisini kararsızlıklar ve osilasyon lar'8' şeklinde gösterir.
Alışılagelmiş 8 ve 165 Bit'lik mikroişlemcilerde kesme (veya yuvarlatma) hatasının üstesinden gelebilmek için bir yol, çok sayıda Byte'ı peşpeşe uzatarak, nümerik duyarlılığı (presisyon) arttır maktadır. Tabii bunun so nucu olarak, bir işlemin yü rütülme hızı düşecektir.
Sayısal işaret işlemede, aritmetik değerlerin üstten taşması çeşitli sorunlar ya ratmaktadır. Üstten taşma lar sonucunda, çok büyük sayılarla çok küçük sayılar arasında salınımlar ortaya çıkmakta ve bu, sistemin hatalı davranmasına yol açmaktadır. Bu tür davra nışları gidermek üzere, ör neğin DSP ailesinde TMS320 özel bir üstten taşma modu mevcuttur. Eğer SOVM komutu kulla nılarak üstten taşma modu yetkili kılınmışsa (izin veril mişse), bir taşma oluşması halinde, AMB (Aritmetik Mantık Birimi) tarafından
32 378 ELEKTRİK MÜHENDİSLİĞİ
temsil edilen en büyük/en küçük sayısal eğer akumülatöre yüklenir. Bu özellik, analog sistemlerdeki 'doyma (satürasyon)" karakteristiği ne benzemektedir. Üstten taışma modu ROVM komutu ile yasaklana bilir. Bu durumda, taşma değerleri hiçbir değişikliğe uğratılmadan aku mülatöre yüklenir (2'nin tümleyeni sayı sisteminde dairesel simetri ne deniyle katlanme etkisi ortaya çıka caktır).
Sayısal işaret işleme açısından oldukça önemli olabilecek bir diğer özellik, işlemcinin bir veri örneği üzerine gecikme (Z domende Z'1 operatörü) uygulayabilme yeteneğidir. Tanım olarak; bir x (n k) örnekler dizisinin, x(n k 1) ör nekler dizisine dönüştürülmesi işlemi "birim örnek gecik mesi" olarak adlandırılır ve x (n)'nin X(z) Z dönüşümünü Z 1 ile çarparak elde edilir. Birim gecikme işlemi özellikle süzme, konvolüsyon ve korelasyon gibi fonksiyonların gerekli olduğu uygulamalarda çok kullanışlıdır. Örneğin TMS320CIX'de, DMOV komutu, veriyi RAM'daki bir son raki saklama gözüne öteliyerek, birim gecikme işlemini gerçekleştirir. Bu arada LTD diye tek bir komut; DMOV komutu ile LT (T kaydedicisini yükle) ve APAC (P kayde dicisinin değerini biriktirir) komutlarını paralel olarak aynı anda icra eder. Bu sayede saniyede 2.5 milyon örnek hı zında konvolüsyon işlemleri yürütülebilir.
DSP Uygulamalarında, TMS320 gibi DSP yongaları dı şında 3 tane daha yaklaşım mevcut olup, 4 çözümün üs tün ve zayıf yanları Tablo 1'de özetlenmiştir.
Sayısal İşaret İşlemci Ürünlerin Seçiminde Rol Oynayan Etkenler
Sayısal işaret işlemci (DSP) yongalarının birçoğu genel amaçlı mikroişlemcilere benzemektedir. Bu yüzden mık roişlemdlerle tecrübe kazanmış bir tasarımcı için, bu tec rübe DSP ürünlerinin seçimi ve kullanılmasında yararlı olacaktır. Fakat bir kere. dışardan bağlanacak bellekler, anabilgisayarlar ve giriş/çıkış brimleri ile ilgili basit ara bağlaşım sorunları halledildikten sonra benzerlikler kay bolur. Uygun DSP yongası seçiminin yapılabilmesi için bellek yapıları, "performans düzeylerini'0' gösteren prog ramlar, "pipeline'lar, kesmeler'10', gibi kavramların bilin mesi gerekir.
DSP'lerde, çoğunlukla veri ve program belleklerinin ayn olduğu Harvard tipi mimari yapı kullanılır, ilk DSP yonga larının içinde, program adımlarının saklandığı bir ROM bulunmaktaydı. Yeni DSP ürünlerinde ise, program dış bellekte saklanabilmektedir. Göze çarpan bir diğer nokta ise, daha yeni DSP yongalarında, VERİ de dışardan bağ lanan bellekte tutulmaktadır.
Her ne kadar DSP üreticileri, komut ve veriye ilişkin bellek alanlarının ayrı olması gerektiğinde anlaşılıyorsa da, bu bellek yapılarının nasıl gerçekleştirileceği konusunda iki ayrı eğilim mevcuttur. Eğilimlerin birinde, dışardan bağla nacak bellek ve giriş/çıkış birimleri gibi elemanlarla ha berleşebilmek üzere tek bir adres ve veri yolu'11' sağlan maktadır. Tek adres/veri yolunu destekleyen üreticiler,
Eğer yazılım ve donanım, arabağlaşım devreleri hedeflenmiş olan sisteminkinden farklı bir ortamda test ediliyorsa, sözkonsu test ortamında geçerli olan zamanlama sınırlamalarının bilinmesi gerekir."
"Basitliğin" gözönüne alınması gereken başlıca özellik ol duğunu söylemesine karşılık, "çok yol" taraftarları ürünle rinin belirli bir zaman diliminde CPU'ya daha fazla bilgi gönderebileceğini söylemektedir.
Belleğe erişme ile ilişkili zamanlama bilgisi kolayca far kedilemez. Bir DSP üzerinde test programları koşturmaya imkan tanıvan simülatör, emülatör veya bir değerlendirme kartı kullanılırken bu nokta gözden uzak tutulmamalıdır. Örneğin, DSP gerçekte veri ve komutlarını yavaş bir dış bellekten elde ediyordur, buna karşılık siz programınızın yonganın üst limit hızında koşturduğunu varsayıyor ola bilirsiniz.
Eğer yazılım ve donanım, arabağlaşım devreleri hedef lenmiş olan sisteminkinden farklı bir ortamda test edili yorsa, söz konusu test ortamında geçerli olan zamanla ma sınırlamalarının bilinmesi gerekir.
CPU'lara hızlı olarak veri ve komutlar gönderen yüksek hızlı belleklere ek oiarak, günümüzdeki DSP'lerin birçoğu, yüksek işlem hızlarına çıkabilmek için "Pipeline" kavra mından yararlanır. Fakat "Pipeline" kavramı sadece DSP'ler için kullanılmamaktadır; tüm yüksek hızlı bilgisa yarlarda bu kavrama başvurulmaktadır. "Pipeline" kavra mı, CPU'ya gönderilen komutların, CPU'ya vardıklarında kısmen kodçözülmüş ve CPU tarafından yürütülmek üzere hazır durumda bulunmasını garanti eder. Bununla beraber, "Pipeline", bir komutun yonga tarafından alın ması ile o komutu yürütmesi arasında gecikme yarattı ğından, pipeline ile başedebilmek programcılar için za man zaman sorunlar yaratmaktadır.
bölge sunmasına ve yu
varlatma
hatalarını
azaltmasına karşılık, sa
bıt nokta aritmetiği de,
birçok DSP problemini
çözebilecek yeterlilikte
dinamik bölge sunmak
tadır. Fakat sabit nokta
ile aritmetik işlemlerin
bazı sakıncaları vardır.
Örneğin, iki 16 Bit'lik
değerin çarpma neticesi
32 Biflik bir değerdir.
Bu değer bilgisayarda
saklanmadan önce 16
Bit olarak ya yuvarlatıl
malı ya da kesilmelidir.
Bu yönteme alternatif
olarak, çarpma sonu
cunda oluşan 32 Bit'lik
ara netice, daha sonraki
bir matematiksel işlem
de kullanılmak üzere,
geçici olarak bir biriktiri
cide (akümülatör) sakla
nır. Ara neticeleri yonga
içindeki kaydedicilerde
saklamakla, yuvarlatma
işlemi nedeniyle doğa
bilecek bazı sorunlardan
kaçınılmış olur. Böylece
her bir ara neticeyi yu
Her ne kadar, "Pipelinelar ve bellek mimari yapıları DSP'ye sürdürülen işlemleri hızlandırmakta yararlı ise de, bu yongalar giriş/çıkış yongaları ve bazen de ana bilgisa yarlar ile haberleşmeden veri üzerinde işlemler yapa mazlar.
Bir takım DSP ürünleri yalnızca dış giriş/çıkış kapılarına'121 bel bağlamışken, diğerleri içlerindeki paralel ve seri yol ların birleşimlerine dayanır.
DSP yongaları, G/Ç birimlerine giden ve G/Ç birimlerin den gelen bilgi akışını, yürüttükleri işaret işleme görevleri ile eşzamanlı kılmalı veya koordine etmelidir. Mevcut DSP yongalarından birçoğu, dışardan bağlanan birimlerin hiz met isteklerine izin veren "kesme" işaretleri sağlar. Bu "kesmeye hizmet verme" mimari yapısı ilk mikroiş lemcilerin mimari yapısını hatırlatmaktadır. Yongalarm birçoğunda, "kesmeler" üzerinde işlem yapıldıktan sonra, dönüş adreslerinin saklandığı sınırlı sayıda iç yiğit'13' yer leri mevcuttur, içerde bulunan yığıtın dışarda (bellek üze rinde) yer alan yığıttan üstünlüğü vardır; içteki yiğit daha hızlıdır.
Kesmeler, bellek mimari yapıları ve G/Ç kontrolü, DSP ürününün seçiminde önemli etkenlerdir; fakat aynı za manda veri üzerinde nasıl işlem yapılması gerektiğine de karar verilmelidir. Yani, tam sayı aritmetiği mi(U), yoksa kayan nokta aritmetiğimi'15' kullanılacaktır?
Her ne kadar kayan nokta aritmetiği geniş bir dinamik
varlatacak yerde, ardışık işlemlerin en sonunda oluşan netice yuvarlatılır.
Yuvarlatma işlemi sonsuz impuls yanıtlı (IIR)<16) filtrelerde ve geribesleme kullanılmış veya yinelemeli(17) sistemler de kararsızlıklara yol açabilir. Yuvarlatma işlemi özellikle küçük sayılarla çalışırlarken önem kazanır; çünkü küçük bir değerde göreceli olarak son derece büyük değişiklikler oluşabilir. Örneğin 2.51 değerini 3 olarak yuvarlatmak %16'lık bir hata getirir ve çok küçük sayıların yuvarlatıl ması sıfır neticesini yaratabilir. Bir değerin, çok küçük bir sayı ile veya sıfır ile bölünmesi arasında büyük farklar vardır. Kayan nokta ile aritmetik yapan bilgisayarlarda ise, yuvarlatma hatası, yuvarlatılan sayının mutlak değe rine bağlı değildir.
Unutulmamalıdır ki, kayan nokta işlemleri sabit nokta iş lemlerinden daha uzun yer işgal eder. CPU, neticeleri normalize hale getirmenin yanında aynı zamanda diğer kontrol işlemlerini de yürütmelidir. Uzunca bir program, kayan nokta aritmetiği nedeniyle ortaya çıkan ilave süre, hızla birbirine eklenerek artar. Ayrıca, A/D, D/A çeviriciler gibi birçok çevre birimi elemanları tam sayılarla çalışırlar ve aradıkları ayırma duyarlılığı daha fazla değildir. Bu yüzden belirli bir uygulamada gereğinden fazla duyarlık derecesi aranmaya özen gösterilmelidir. O halde bir ma tematiksel format seçmeden önce yapılması gereken iş, başlangıç ara ve son değerler açısından gerekecek du yarlık derecesinin gözden geçirilmesidir.
34 378 ELEKTRİK MÜHENDİSLİĞİ
DSP üreticileri, mikroişlemcilerdeki ne benzer biçimde, DSP ürünlerinin veriişleme yeteneklerini gösterebil mek amacı ile, "DSP performans düzeyi programlan" sağlarlar. Bu programlar sayesinde tasarımcı bir yonga üzerinde yürüttüğü işlemleri diğerlerinde de yaptırarak, karşılaş tırma olanağı bulur. Fakat unutul maması gereken nokta performans düzeyi programlarının öznel kaldığı dır.
Örneğin, belirli bir ürünün yüksek hızda çalıştığına dair bir
iddia, tüm verinin DSP içindeki RAM'da yerleşmiş olduğu
bazı özel durumlara uygulanabilir. Bu nedenle, hız ile ilgili
spek'ler ve performans düzeyi değerlerini biraz temkinli
değerlendirmek gerekir.
.
Hızlı Fourier dönüşümü (FFT) çok yaygın kullanılan bir performans düzeyi programıdır ve üreticilerin birçoğu en azından bir tane FFT progr.amı için yürütme hızı değerini verir. Her ne kadar birçok verinin bir yerden diğerine ha reket ettirilmesi ve üzerinde işlem yapılması nedeniyle, bir FFT programı iyi bir performans düzeyi programı gibi gö zükmesine karşılık, ne tüm FFT'ı programları, nede veri len FFT performans düzeyi değerleri aynıdır. Örneğin FFT programı 64 tane, 1024 veya ara bir değerde veri noktası üzerinde uygulanabilir. FFT algoritması, radix 2 veya ra dix 4 işlemleri kullanılıyor olabileceği gibi, program ya doğrusal olarak ya da çevrim oluşturulacak şekilde koş turuluyor olabilir. Ayrıca, performans düzeyi değerleri karmaşık bir problemin sadece bir parçasını yansıtabilir. Örneğin,grafik veri işlemede, "pixel (resim elemanları)" konvolüsyon işlemleri pixel başına 9 adet çarpma işlemi gerektirir. Halbuki, olayı gösteren tipik programlar, adres lerin nasıl ele alındığı göstermiyeceği gibi, "görüntü sınır koşullarını'181" gözönüne alan özel işlemleri de belirtmiye cektir.
DSP ürünlerinin seçiminde gözönünde bulundurulması
"DSP yongalannuı derhal akla gelen uygıdamalan, sayısal işaret işleme konulan ile uğraşanların çok iyi bildiği genel amaçlı birtakım DSP işlevlerini gerçekleştirmektedir."
gereken diğer noktalar: • Üreticinin gerçekten, ilan edildiği üzere DSP yongalarını üretip üretmediğinden emin olunuz (elde edilebilirlik). • Seçilen yonganın ikinci bir kaynak (üretici) tarafından sağlanıyor olması, kullanıcı da güven yaratacaktır. • Uygulama mühendisliği desteğinin, uygulama bilgisinin, teknik bilgilerinin olup olmadığını kontrol ediniz. • Ürünün tanıtımına yönelik bir seminer programının ve/ veya uygulamalı kurslarının (workshop), olup olmadığını öğreniniz. • Yazılım, değerlendirme kartı, geliştirme sistemi, gibi destek yordamlarının varlığını araştırınız. şeklinde sıralanabilir.
DSP UY GULAMALARI DSP yongalarının derhal akla gelen uygulamaları, sayısal işaret işleme konuları ile uğraşanların çok iyi bildiği genel amaçlı birtakım DSP işlevlerini gerçekleştirmektedir. Bu işlevlerden en çok kullanılanları: (i) Sayısal süzme (filtreleme) (ii) Konvolüsyon (iii) Korelasyon (ilıntilılik) (iv) Hilbert Dönüştürücüleri (v) Hızlı Fourier Dönüşümleri (FFT) (vi) Adaptif (uyarlamalı) süzme (vii) Pencere fonksiyonları ile çarpma (viii) Dalgaşekli üretilmesi
SAY ISAL FİLTRELER, KONVOLÜSY ON, KORELASY ON
Frekans seçimi özellikleri gösteren herhangi bir sistem veya devre filtre (süzgeç) olarak nitelenebilir, örneğin birçok uygulamada, bir işarete ilişkin frekans spektrumun değişikliğe uğratılması, tekrar biçim verilmesi veya isteni len spek.lere uyacak şekilde elden geçirilmesi istenebilir. Bir işareti bozan gürültünün giderilmesi, iletim ortamından kaynaklanan işaret distorsiyonun giderilmesi, bir iletim kanalından en fazla yararlanabilmek amacı ile, karıştırıl mış 2 işaretin birbirinden ayrılması, işaretlerin demodü lasyonu ve ayrık zaman işaretlerinin sürekli zaman işa retlerine çevrilmesi, sayısal görüntü işleme, patern (örüntü) tanıma ve spektrum analizi, sayılabilecek diğer bazı filtre kullanım alanlarıdır. Sayısal filtreler analog
benzerlerine göre : (i) Daha yüksek güvenilirlik (ii) Daha fazla doğruluk (iii) Eleman değerlerinin zamanla kayması nedeniyle sistem performansının etkilenmesi (iv) Eleman toleranslarının kritik olmaması gibi nedenlerle üstünlük sağlarlar. Ayrıca TMS320 gibi programlanabilir bir DSP işlemcisinin kullanılması ile, filtre karakterisiklerini değiş tirmek için gerekli filtre parametre değişiklikleri kolayca gerçekleştirilebilir. Sayısal filtre tasarımlarında çoğu kez şu 4 adımdan geçilir:
a) Yaklaşıklık yapılması b) Gerçekleşmeye yönelik sayısal filtre yapılarının seçil mesi
c) Sonlu aritmetik duyarlık nedeniyle aritmetik hataların etkisinin incelenmesi d) Pratik gerçekleştirme
Yaklaşık yapılmasından kasıt, istenilen spek'leri sağlayan bir transfer fonksiyonunun oluşturulmasıdır. Bu işlem sı rasında, filtrenin hem zaman hem de frekans yanıtların dan herikisi veya teki işin içine girebilir.
Gerçekleşmeye yönelik filtre yapıları seçerken genellikle ya.
Filtre katsayılarını
Program ROM'undan veri
KAM'ına oku (Başlangıç
İfnjuıllunnı oku)
THS320CH Konutları TBLR
Şimdiki (o andaki)
g i r l s v e r i s i n i oku
İN
(())
Şimdiki veya geçmiş
veri değerleri i l e filtre
HPY
katsayılarını çarp
fh(k)x(n kT)
Çarpım neticelerini biriktir, T kaydedici sini yükle
LTD
Veriyi 1 adres gözü ileri doğru otele (x(n k)—
Hayır
Çıkış y(n)
Nl
•E T(n)
h(k) x (n k)
k0 y(n) : Filtre çıkısı
h(k) : Filtre impuls yanıtı
*(n) : Filtre girifi
TMS32OC1X ile FIR Filtre Gerçekle
Şekil 2:
36 378 • ELEKTRİK MÜHENDİSLİĞİ
M y(n)= £ b.X(n k)
Şeklinde veriler sonlu impuls Yanıtlı (FIR) yada,
M
N
y(n)= ^ & .X(n k)+ £ a , y (n i)
i=1
şeklinde verilen Sonsuz İmpuls Yanıtlı (IIR) filtreler seçilir.
Burada amacımız, sayısal filtre teorisini anlatmak olmayıp; TMS320 DSP ailesinin hangi tür uygulamalarda uygun olduğunu belirtmek; mesaj ve fikirler vermektir.
Anlaşılacağı üzere, yukarıdaki denklemler birçok defa yinelenen çarpma ve toplama (biriktirme) işlemleri gerektirir. TMS320, yüksek hızı ve özel birtakım DSP'ye yö nelik komutları ile, bu tür denklemleri hızla sıralayabilir ve diğer ek birtakım işlerin daha yapılabilmesi için yeterli süreyi bıra kır.
Şekil 2'de TMS320CIX ile bir FIR ger çekleştirilmesi halinde, geçilecek başlıca adımlar gösterilmiştir. Başlagıçta, ROM'da tutulan h (k) katsayıları TBLR (tablo oku ma) komutu yardımı ile RAM'a aktarılmalı dır. Sonra, o andaki x (n) gifiş değeri ve RAM'ına okunur ve peşpeşe, çarpma, bi riktirme ve veri öteleme işleri gerçekleşti rilir. Veri öteleme işlemi, z"' (birim gecik me) işlemine karşı düşmek üzere, x (n) değerlerinin yerini ayarlar ve böylece bir sonraki y (n) değerinin hesaplanabilmesi ne olanak tanır.
Katsayıları TBLR komutu yardımı ile RAM'a okutmaya alternatif bir yöntem, MPYK (ivedi çarpma) komutunun kullanıl masıdır. MPYK komutu, çarpılacak değer
lerden birisini (13 Bit'lik bir sabit), komut kodu içinde içe rir. Bu yaklaşım hem süreden hem de ROM alanından tasarruf sağlar. Buna karşılık, aritmetik duyarlıktan (pre sisyon) kaybedilir.
DSP'de sıkça kullanılan KORELASYON işlemi de fıltrele me işlemlerine benzer. Korelasyon; 2 sinyal arasındaki benzerliğin bir ölçüsü olarak, örneğin rastgele bir gürültü içnde kaybolmuş zayıf bir sinyali elde etmekte kullanıla bilir. En genel durumda, x (n) ve y (n) gibi 2 fonksiyon arasındaki korelasyon (çapraz korelasyon),
Rxym = şeklinde tanımlanır. Benzer şekilde, tek bir x (n) dalga şekli için de korelasyon (ortakorelasyon) fonksiyonu ta nımlanabilir.
Korelasyon işlemleri örneğin sonar sinyali işlemede, he def tayin etmek için kullanılır ve 2 frekanslı bir korelasyon fonksiyonu şeklinde kendini gösterir. Jeofizik uygulama larında, sismik dalga yayılımını analiz etmek için de gene otokorelasyon katsayılarına başvurulur.
=M bağıntısı ile tanımlanır. Anlaşılacağı üzere, yukarıda sözü edilen tüm işlemler, TMS320 gibi DSP mimarileri ile etkin bir biçimde yürütülebilir.
x(n)
h(n) (impuls yanıtı'
Şekil 3 : Lineer zamanla değişmeyen sistem
Konvolüsyon işlemi de yukarıda yazılan denklemlere benzer bir karakter gösterir. Konvolüsyon; lineer, zaman la değişmeyen sistemleri tanımlamak için başvurulan bir işlemdir (Şekil 3) ve
SPEKTRUM ANALİZİ, FFT, PENCERE FONKSİY ONLARI İLE ÇARPMA
Spektrum analizi; tıp, sonar ve radar gibi uygulamalarda kullanılmaktadır. Bu tür uygulamalarda; alışılagelmiş analog yöntemler yerine sayısal tekniklerin tercih edil mesinin bazı nedenleri:
• Gürültü olması halinde bile daha ince frekans çözümle mesi yapılabilmesi
• Daha büyük dinamik bölge sağlatılabilmesi olmuştur. Aslında, sismik işaret işleme halinde olduğu gibi, çok alçak frekansların (1 Hz'den küçük) sözkonusu olduğu uygulamalar, sadece sayısal sistemlerle gerçek lenebilir.
FFT hesaplama yöntemine dayalı spektrum analizi, Şekil 4'deki bloklardan oluşan bir sisteme gerek duyar. Şekil 4'den anlaşılacağı üzere, TMS320CIX, spektrum anali
ANALOG VERİ GİRİŞİ
AGF A/D ÇEVİRİCİ
TAMPON KAYDEDİCİ
I
AGF Alçak Geçiren Filtre
PbNCbHb FONK. İLE ÇARPMA
TMS320CIX
FFT İŞLEMCİSİ —
KAHt ALICI
VE
TOPLAYICI 1
ı
D/A ÇEVİRİCİ
ANALOG
|— SPEKTRAL . FONKSİYON
Şekil 4: FFT'ye dayalı Spektrum Analizi
378 ELEKTRİK ^yf J MÜHENDİSLİĞİ 3 I
zinin can damarı olan, yoğun hesaplama gerektiren işlemleri yürütür. Pencere fonk siyonu ile çarpma; bir veri dizisindeki (çer çevesindeki) her bir veri noktasını bir ağır laştırma katsayısı'19' ile çarpmaya karşı düşer. Pencere fonksiyonu ile çarpma iş lemi, FFT hesaplama tekniğinin sonlu uzunlukta bir veri çerçevesi üzerine uygu lanması nedeniyle yapılmaktadır. Çünkü; anlamlı sonuçlar verebilmesi için,teorik olarak FFT'nin sonsuz uzunlukta bir çer çeve üzerinde hesaplanması gerekir. Hal buki FFT hesapları sonsuz uzunlukta çer çevelerle yapılmaktadır ve eğer pencere fonksiyonları ile gerçekleştirilmezse, çok fazla distorsiyon oluşur ve spektrum yanlış ölçülmüş olur. Spektrum analizinin en kar maşık bloğu FFT işlemcisidir. FFT hesap larında, en genel durumda her veri noktası için hem reel hem de sanal bileşene ilişkin hesaplama yapılmaktadır. Tek yonga mo dunda (yonga üzerindeki ROM'dan çalış ma) TMS320CIX ürünleri, 64 sanal nokta için (a+jb) FFT hesabını 590 us'de (200 ns'lik çevrim süresi için) tamamlamaktadır. 64'den daha fazla nokta için; yonga dışında yer alan RAM'dan çalışarak, FFT hesapla nabilir. FFT sonuçları sanal sayılar çıkardı ğından, FFT bloğunun çıkışındaki verinin karesi alınır, toplanır ve D/A 'den geçirilerek analog spektral fonksiyonu elde edilir.
Günümüzde DSP yongaları birçok alanda uygulama bulmuş olup, bu yazımızda bun ların tümünden söz etmek mümkün olma yacaktır. Tablo 2 TMS320 yongalarının günümüzde uygulandığı alanları özetle mektedir.
(1) Digital Sıgnal Processing (DSP)
(2)Proportıonal Integral Derivative (PID7 (3) Windowing (4) Fast Fourier Transform (FFT)
(5) Central Processing Unit (CPU)
(6) Resolution (7) Truncation Error (8) Limit Cycles (9) Benchmark (10) Interrupt (11)Bus (12)Port (13)Stack (14) Integer Math (15) Floating Point Math (16) IIR (Infinite Impulse Response)
(17) Recursive (18) Image Boudry Conditions (19) VVeighting Coefficient
38 378 ELEKTRİK MÜHENDİSLİĞİ
TMS 320 Y ongalarının Günümüzde Uygulandığı Alanlar
GENEL AMAÇLI DSP • Sayısal Filtreler • Konvolüsyon • Nlbert Dönüştürücüler • Adaptf Fitreler • Pencere Fonksiyonları İle Çarpma (Wındowing) •Dalgeşekli Üretim
ENSTRÜMANTASVON • Speknm Anala • Fonksiyon Üreteci • Patem Uyduma •Sismik İşleme • Geçıa hal Analizi • Sayısal Süzme • Sayısal Faz Kenetlemen Çevnm (PLL) oluşluma
KONTROL •DskDenetmı •Servo Denetim • Robot Deneten •LazerYazıcı Denetimi •Araç. Taşıt Motoru Denetimi
TELEKOMÜNİKASY ON • Eko Giderme •EDPCM • Sayısal Pb» • Kanal Çoklama (Multpiexer| •19200 Bitse Kadar Modemler •Adaptı Dengeleyiciler • DTMF Kodamatodçözme)
GRAFİK. GORUNTU •3 Boyutu Döndürme • Robotk Göm» Sisten» •Görüntü Dönüşümü/sıkıştırma • Patem Tanıma •Görüntü lyıleştrme • Homomorphıc İşleme •İş İstasyonları (Works Statons) • Sayısal Haritalar
KONUŞMA/SES • Konuşma Postası (Voıce Maili •Vocoder • Konuşma Tanıma • Konuşucu Yoklama/doğrulama • Konuşma l/ıleştrme • Konuşma Sentezi • Metnden Konuşmaya Geçiş (Text to speeck)
ASKERİ ELEKTRONİK • Gizli İletişim • Radar İşleme • Sonar İşleme • Görüntü İşleme •Klavuzluk Sistemleri Navıganon, • Güdümlü Mermi Yönlendirme • RF Modemleri
TELEKOMÜNİKASY ON •Ven Şifreleme •Fax • Hücresel Telefonlar (CeMar Telephonei • Sayısal Konuşma Interpolasyonu (Speech InterpcJaton) •X 25 Paket Anahtarlama • Video Konlerans Sistemleri •Yayılmış Spektrum Tekniği İle İletişim (Spread Spectrum)
OTOMOTİV • Araç/taşıt Motoru Denetmı • Titreşim Analizi
• Patinaj Yapmayı Önleyen Frenler (Antskıd Brakesl • Adaptı Bnış Denetmı • Klavuzluk Sistemleri • Ses Komutan • Ses Frekanslı (Audio) İşaretlerin İşlenmesi
TÜKETİCİ EKTRONİĞI •Radar Detektörü
• Motorlu Aygıtlar • Sayısal AudroTV • Müz* Sentezleyıa • Eğitsel Oyuncaklar
ENDÜSTRİYEL •Robotk • Nümerik Kontrol
• Güvenlik Erişimi •Gûc Hatlarının Gözlenmesi
• Motor Kontrott • Programlanabilir Deneteyicier
TIBBİ ELEKTRONİK • İşitme Cihazları •Hasta Gözlemleme/monitörleri
• Ultrasonik Cihazlar • Cerm Gözlemleme/monitörleri
•Tanı(Diagnostk)aygıtları • Protez Sıstemlen
Tablo 2