SONLU KELĐME UZUNLUKLU ARĐTMETĐK



Benzer belgeler
DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

MAK 210 SAYISAL ANALİZ

SAYISAL İŞARET İŞLEME LABORATUARI LAB 5: SONSUZ DÜRTÜ YANITLI (IIR) FİLTRELER

Hatalar ve Bilgisayar Aritmetiği

ADC Devrelerinde Pratik Düşünceler

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

Elektroniğe Giriş 1.1

SAYISAL DEVRELER. İTÜ Bilgisayar Mühendisliği Bölümündeki donanım derslerinin bağlantıları

Floating Point (Kayan Noktalı Sayılar)

Bilgisayarların Gelişimi

BILGISAYAR ARITMETIGI

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

BLM1011 Bilgisayar Bilimlerine Giriş I

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

İleri Diferansiyel Denklemler

SAYISAL ANALİZ. 2. Hafta SAYISAL ANALİZDE HATA KAVRAMI VE HATA TÜRLERİ

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

KABLOSUZ İLETİŞİM

BLM221 MANTIK DEVRELERİ

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

2. SAYI SİSTEMLERİ VE KODLAR

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Her bir kapının girişine sinyal verilmesi zamanı ile çıkışın alınması zamanı arasında çok kısa da olsa fark bulunmaktadır -> kapı gecikmesi

Floating Point (Kayan Noktalı Sayılar)

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

Mikroişlemcilerde Aritmetik

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS)

Mikrobilgisayarda Aritmetik

MANTIK DEVRELERİ HALL, 2002) (SAYISAL TASARIM, ÇEVİRİ, LITERATUR YAYINCILIK) DIGITAL DESIGN PRICIPLES & PRACTICES (3. EDITION, PRENTICE HALL, 2001)

n. basamak basamak 3. basamak 2. basamak 1. basamak Üstel değer 10 n Ağırlık 10 n-1...

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

Ayrık-Zaman Sistemler

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

TIBBİ ENSTRUMANTASYON TASARIM VE UYGULAMALARI SAYISAL FİLTRELER

Ayrık Fourier Dönüşümü

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

1. BÖLÜM Polinomlar BÖLÜM II. Dereceden Denklemler BÖLÜM II. Dereceden Eşitsizlikler BÖLÜM Parabol

2. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

SAYI SİSTEMLERİ. Sayı Sistemleri için Genel Tanım

İşaret İşleme ve Haberleşmenin Temelleri. Yrd. Doç. Dr. Ender M. Ekşioğlu

ÜSLÜ SAYILAR SİBEL BAŞ AKDENİZ ÜNİVERSİTESİ EĞİTİM FAK. İLKÖĞRT. MAT. ÖĞRT. 2. SINIF

RF MİKROELEKTRONİK GÜRÜLTÜ

Sayı Sistemleri. Onluk, İkilik, Sekizlik ve Onaltılık sistemler Dönüşümler Tümleyen aritmetiği

İSTANBUL TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ LOJİK DEVRELERİ LABORATUVARI DENEY RAPORU

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

MOD419 Görüntü İşleme

ANOLOG-DİJİTAL DÖNÜŞTÜRÜCÜLER

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

SİNYALLER VE SİSTEMLERİN MATLAB YARDIMIYLA BENZETİMİ

İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ

TAM SAYILAR. Tam Sayılarda Dört İşlem

Bilgisayar Mimarisi. Veri (DATA) Veri nedir? Veri bazı fiziksel niceliklerin ham ifadesidir. Bilgi verinin belli bir yapıdaki şeklidir.

İleri Diferansiyel Denklemler

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

Bölüm 4 Aritmetik Devreler

Şeklinde ifade edilir. Çift yan bant modülasyonlu işaret ise aşağıdaki biçimdedir. ile çarpılırsa frekans alanında bu sinyal w o kadar kayar.

Yöneylem Araştırması II

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

Sayısal Haberleşmeye Giriş

Deney 5 : Ayrık Filtre Tasarımı. Prof. Dr. Aydın Akan Bahattin Karakaya Umut Gündoğdu Yeşim Hekim Tanç

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

6. DİJİTAL / ANALOG VE ANALOG /DİJİTAL ÇEVİRİCİLER 1

pfrintf fonksiyonu: Çıkışın formatlı olması ve bunun bir dosyaya yazdırılması durumlarında kullanılır. fprintf fonksiyonunun genel yazım biçimi,

BLM221 MANTIK DEVRELERİ

OTOMATİK KONTROL SİSTEMLERİ. DİNAMİK SİSTEMLERİN MODELLENMESİ ve ANALİZİ

SAYISAL ANAHTARLAMA SLIC. Süzgeçleme Örnekleme Kuantalama. Uniform Uniform olmayan. Kodlama ADPCM. Çoğullama TDM- PCM. PCMo

2. SAHADA PROGRAMLANABİLİR KAPI DİZİLERİ (FPGA)

SAYISAL TASARIM. Ege Üniversitesi Ege MYO Mekatronik Programı

2. SAYI SİSTEMLERİ 2. SAYI SİSTEMLERİ

BÖLÜM 1 TEMEL KAVRAMLAR

Sayısal İşaret İşleme Dersi Laboratuvarı

Nesne Yönelimli Programlama

DENEY NO : 2 DENEY ADI : Sayısal Sinyallerin Analog Sinyallere Dönüştürülmesi

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme

SAYISAL ELEKTRONİK DERS NOTLARI:

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES)

1-)BİLİNMESİ GEREKEN ÜSLÜ İFADELER VE DEĞERLERİ

DERS 3 ÖLÇÜ HATALARI Kaynak: İ.ASRİ

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Şekil 1. Geri beslemeli yükselteçlerin genel yapısı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

Mühendislikte Sayısal Çözüm Yöntemleri NÜMERİK ANALİZ. Prof. Dr. İbrahim UZUN

8.333 İstatistiksel Mekanik I: Parçacıkların İstatistiksel Mekaniği

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

DENEY 9: JFET KARAKTERİSTİK EĞRİLERİ

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans:

ÜNİTE: TAM SAYILAR KONU: Tam Sayılar Kümesinde Çıkarma İşlemi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Sayıtlama Dizgeleri. (a n a n-1 a n1 a n0. b 1 b 2 b m )r. simgesi şu sayıyı temsil eder.

Transkript:

SONLU KELĐME UZUNLUKLU ARĐTMETĐK Sonlu kelime uzunluğu sabit yada kayan noktalı herhangi bir hesaplamada artarak büyüyen gürültüye neden olur. Gerçekleştirilecek uygulama ve gerekli algoritmalar kullanılacak aritmetiğin seçiminde önemli kriterler olarak karşımıza çıkarlar. Diğer kriterler ise karmaşıklık, maliyet, hız ve harcanan güç olarak sıralanabilir. hata ve dinamik bölge bit sayısı ile doğrudan ilintilidir. Sabit noktalı işlemlerde oluşan hatalar, kayan noktaya göre daha fazladır. Ancak, aynı bit sayısı için mutlak hatalar, kayan noktada daha yüksek olacaktır.

Sabit noktalı çözümler pek çok gerçek zamanlı uygulamada yeterli performansı sağlayabilir. Analog telefon hatlarındaki gürültü telefon konuşma işaretinin dinamik bölgesini 50-60 db ile sınırlar. 72 db den daha küçük kuantalama adımları yalnızca gürültünün daha iyi temsilini sağlar. Hifi kalitede bir müzik sisteminin dinamik bölgesi 80 db dir (14 bit). Ancak profesyonel sistemler daha yüksek sayıda bit gerektirir. Hesaplamadaki toplamsal hataların boyutu, kelime uzunluğunun yeterli olup olmadığını belirler. Basit sayısal filtreler için 16 bit yeterlidir. Öte yandan insan kulağının algılayabileceği en düşük ses seviyesi ile Ağrı meydana getirmeyecek en yüksek ses seviyesi arasındaki bölgenin 120 db olduğu tespit edilmiştir. Bu gürültüsüz ortamlarda daha yüksek kalitede ses sistemlerinin anlamlı olabileceğini gösterir.

Dinamik bölge, SNR ve Boşluk payları arasındaki ses işaret seviyesi ilişkisi

Stüdyo kayıtları genellikle üst tarafta 20dB lik bir güvenlik boşluğu (headroom) bırakırlar. Alt tarafta ise boş kayıt kısımlarının iletilmemesi için 10 db lik bir boşluk (footroom) bırakmak uygun olacaktır. Toplam dinamik bölgesi 50 db olan bir sistem hareket edebilecek 20 db kalır ki buda çok yetersizdir. Bu nedenle profesyonel sistemlerde bit sayısı daha yüksek olmalıdır. Teorik olarak her bir bit artışı S/Nq oranında 6 db bir artış sağlar.

Bit sayısı ve kalite

SABĐT VE KAYAN NOKTA YAPILARI SABĐT NOKTA Sabit nokta bir desimal sayının normal yazılış şeklidir. 12.568 b.c ile tanımlanır. Yada kelime bit sayısı belirliyse Qc olarak verilir b noktadan önceki hane sayısı (işaretli sayılarda işaretide içerir.) c noktadan sonraki hane sayısı Örneğin 16 bitlik bir yapı için 16.0 (Q0), 15.1 (Q1),... 1.15 (Q15) formatlarından bahsedilebilir. Đşaretli sayılarda en yüksek ağırlıklı bit işaret bitidir. 1.01-0.25 Temsil edilebilecek en büyük ve en küçük sayılar doğrudan hane sayısı ile ilgilidir Negatif sayılar ikinin tümleyeni ile temsil edilir.

Q15 FORMATI Kurallar Sayılar daima 1 ve -1 arasındadır Decimal nokta daima sabit bir noktadadır (örneğin., 0.74, 0.34, vs.) Kesir kısmının başka bir kesir kısmı ile çarpılması bir taşma üretmez (örneğin 0.99 x 0.9999 = 1 den küçüktür) Ardışıl toplamalar taşmaya neden olabilir. Neden tercih edilir? Đşaret işleme çarpma ağırlıklıdır. Fixed-point notasyonu taşmayı önler (küçük dinamik bölgede faydalıdır.) Fixed-point notasyonu ucuzdur Sabit-Nokta bir DSP de nasıl gerçeklenir? Sabit-Noktalı DSP lerin çoğunluğu 16 bitliktir. 32767 den -32768 ye kadar sayılar temsil edilebilir. Q15 en çok kullanıla formattır Q15 Formatı Bit 15 Bit 14-0 sign two s complement sayı

Sabit-Noktalı sayıların, bellekte temsili b.c noktalı sayı için tamsayı kısmı aynen alınır, kesirli kısım ise K=kesir*2 c biçiminde hesaplanır. Örnek 4.12 formatında, 3.68 sayısı neye karşılık düşer? K=0.68 * 4096 =2785 =0xAE1 böylece, sayı 0x3AE1 olacaktır. Q15 (1.15) formatı için 0.68 sayısı nedir? K=0.68*32768=0x570A olacaktır Q15 formatında 0x2218 hangi sayıya denk düşer? 0x2218=8728 sayi=8728/32768 =0.266357 Q15 formatında -0.266357 sayısının bellekteki değeri nasıl olacaktır? k=-0.266357*32768 =-8728 ikinin tümleyenine çevirelim 65536 8728 = 56808 = 0xDDE8 3.68 ile verilen 4.12 formatlı sayının 1.15 formatındaki karşılığı nedir? 4.12 den 1.15 e gidebilmek için noktayı 3 defa sola kaydırmalıyız. Değerin değişmemesi için sayı 8 e bölünmelidir. 3.68/8 =0.46 olacaktır. (1.15) formatında

Sabit noktalı sayıların çarpımı Đki adet b bitlik sabit noktalı sayının çarpımı sonucunda 2b uzunluklu bir sayı oluşur. Burada 2 adet işaret biti oluşacağından, sayı 1 bit sola ötelenmelidir. Örnek: Q15 formatlı 0.68 ile 0.22 sayısının çarpımı kaç olacaktır? K1=0.68*32768=22282 =0x570A, K2=*.22*32768=7208 =0x1C28 K1*K2=0x0992B190 Sayı 1 bit ötelenirse 0x13256320 sayısı elde edilir. 16 bite çevrildiğinde elde edilen 1.15 formatlı sayı 0x1325 olacaktır Buradan geriye dönülürse; 0x1325=4901 4901/32768 =0.14956=0.68*0.22 olacaktır.

KAYAN NOKTALI SAYILAR Kayan noktalı temsil, bilimsel gösterilim olarak da söylenebilir. Mantıs Üstel y= m b e m:mantıs, b:taban, e:üstel 31 30... 24 23... 0 S Üstel Mantıs IEEE 32 bit kayan nokta formatı

TI Kayan nokta formatında çevirme işlemi

KARŞILAŞTIRMALAR 0.999969482421875-1 KARAKTERĐSTĐK Floating point Fixed point (aynı bit sayısı için) Dinamik Bölge Oldukça büyük küçük Çözünürlük Düşük yüksek Hız Benzer benzer Programlama daha basit daha zor Derleyici verimliliği daha yüksek daha düşük Maliyet daha yüksek daha düşük Tasarım maliyeti daha az daha çok Pazara çıkış daha hızlı daha yavaş

Dinamik bölge üstel bit sayısı Hassasiyet mantıs bit sayısı Sabit noktada dinamik bölge kelime boyutu ile doğrusal artar Kayan noktada üstel olarak artar. Kelime uzunluğu 16 32 64 Sabit Nokta Dinamik Bölge 65536 4.3 10 9 1.8 10 19 Max Hassasiyet >4 digit >9 digit >19 digit Kayan Nokta Üstel Dinamik (4,12) 3.3 10 4 (8,24) 5.8 10 76 (13,51) 10 1419 Bölge Mantıs hassasiyeti >3 digit >7 digit >15 digit

Kayan noktalı toplama, çıkarma, çarpma, bölme Toplama/Çıkarma f 1 = m 1 b e 1, f 2 = m 2 b e 2 ise f 1 ± f 1 = (m 1 ± m 2 b -(e 1 - e 2 ) ) b e 1 e 1 > e 2 = (m 1 b -(e 2 - e 1 ) ± m 2 ) b e 2 e 1 < e 2 Çarpma f 1 * f 2 = ( m 1 * m 2 ) b (e 1 + e 2 ) Bölme f 1 / f 2 = (m 1 / m 2 ) b (e 1 - e 2 )

Toplama işleminde Küçük üstele ilişkin mantıs iki üstel arasındaki fark kadar sağa kaydırılır. Buda alt taşma oluşturur. Benzer bir şekilde üst taşma oluşan durumlarda söz konusudur. Bütün sayısal normalize biçimde olmalıdır. Yani mantısın en yüksek ağırlıklı dijiti en solda olmalıdır. Bu en yüksek doğruluğu sağlar. Herhangi bir kayan noktalı işlemin sonucu da normalize edilmelidir. Örnek 1 f 1 =0.10100 * 2 011 f 2 =0.111000 * 2 001 her iki sayıda normalize edilmiştir.

f 1 + f 2 =0.10100 * 2 011 +0.00111 * 2 011 =0.11011 * 2 011 Burada taşma söz konusu değildir. Örnek 2 f 1 =0.11100 * 2 011 f 2 =0.10101 * 2 001 0.11100 * 2 011 + 0.0010101 * 2 011 1.0000101 * 2 011 taşma alttan taşma

Denormalizasyon işlemi yapılırsa 0.10000101 * 2 100 =f 3 Sonuç kesilecek yada yuvarlatılacak olursa f 3 = 0.10001 * 2 100 (yuvarlatılmış) f 3 = 0.10000 * 2 100 (kesilmiş)

ARĐTMETĐK HATA HASSASĐYETĐ Sabit yada kayan noktalı işlemlerde farklı hassasiyetler söz konusudur. Taşma olmaması için gerekli bit uzunluğu farklı olacaktır Sabit noktalı aritmetikte toplama ve çıkarma kuralları kesindir. Toplamada taşma Çıkarmada alttaşma bayrağı Çarpma gerekli kelime uzunluğu Kayan noktada kelime büyümesi farklıdır. Buna göre; Kelime büyümesi çok fazla olmaz tek hassasiyetli hesaplamalarda mantıs için daima bir yuvarlatma gürültüsü vardır. (çift uzunluku çarpım sonucu, tek uzunluğa sıkıştırılmıştır) Kayan noktada mutlak hatalar daha hızlı artar

Sabit nokta Kayan nokta Toplama Normalize ikili kesir için tek toplamada hata yoktur. (Taşma biti var) Yuvarlatma hatası söz konusudur Çarpma b-bit lik girişler için 2b-bit lik çıkışlar sağlanmalıdır. Toplamsal yuvarlatmaya dikkat Çarpım bit büyümesi yavaştır. Tek hassasiyetli sayılarda mantıs hatası büyür.

Đki avantaj sağlar Blok kayan nokta Üst için gerekli olan bitler mantıs a aktarılmıştır. Tek bir üstel kayıtçısı vardır Bu yapı ucuz yapıların geliştirilmesine uygundur. Fazladan bir kayıtçı ve ölçeklendirme devresi gerektirir.

TAŞMA, ALTTAŞMA, YUVARLATMA Aritmetik işlemin sonuçları genellike veri yolu uzunluğundan fazla çıkar, bu durumda, fazla bitleri en iyi ne şekilde işleyebiliriz Çift hassasiyet 2b bit Genişletilmiş hassasiyet acc e extra bitler ekler. Taşma koruması sağlar Hızı yavaşlatmaz Bus genişlikleri, tam çift hassasiyete yetmez ise Doğruluk tek hassasiyetten daha yüksek olmak zorunda ise b bit x b bit = 2b bit (çift hassasiyet) b+g bit (genişletilmiş hassasiyet) Burada g sonuç kayıtçısındaki koruma bitlerinin sayısıdır 16 bitlik sayısların çarpılıp 24 bitlik sayıların tutulması genellikle yeterlidir.

B bit uzunluklu iki sayısının çarpımını düşünelim [MS LS] 1 x [MS LS] 2 =(2 b/2 MS 1 +LS 1 )x(2 b/2 MS 2 +LS 2 ) = 2 b (MS 1 MS 2 )+2 b/2 (MS 1 LS 2 + MS 2 LS 1 )+(LS 1 LS 2 ) tut tut at Hatta çift hassasiyetli çarpmada bile çarpım sonucunu atmak, ardışıl toplama sayısının daha fazla olabilmesini sağlar.

Örneğin çift hassasiyetli bir Fır filtre hesabı için } )]2 ( ) ( ) ( ) ( [ ) ( ) ( { ) ( 16 1 0 = + + = k n X k H k n X k H k n X k H n y M L L M L k M M Burada [H M H L ] 32 bit süzgeç katsayıları [X M X L ] 32 bit veridir. ] )2 ( ) ( [ 32 n k X k H L L Đle verilen en düşük ağırlıklı terim atılarak 48 bit çıkış elde edilir. Böylece akümülatör değerinin 64 bite kadar yükseltilebilmesi sağlanır

KESME, YUVARLATMA VE TARAFSIZ YUVARLATMA Çarpım sonucunda bit genişliğini azaltmak için 3 yöntem vardır. Kesme: En düşük ağırlıklı kısmı doğrudan atmaktır Yuvarlatma: Eğer silinecek bitler tam ölçekli LSB nin yarısından küçükse aşağıya, büyükse yukarıya yuvarlatılır. Tarafsız yuvarlatma: Eğer yuvarlatılacak kısım tam ortada ise, bir seferinde yukarıya, diğerinde aşağıya yuvarlatılır. Yada bir önceki dijitin çift yada tek olmasına bağlanır. (1.35 1.4, 1.45 1.4 gibi)

Sayı yuv. Kesme Yuvarlatma Tarafsız

Yuvarlatma rasgele süreçlerde kesmeden daha iyi sonuç verir.

DOYMA ARĐTMETĐĞĐ Bir sayı tam-ölçekli genligi geçerse ve kayıtçı boyutlarından taşarsa, hesaplamada önemli bir hata oluşur. Çünkü en büyük pozitif sayı birdenbire 0 a yakın, (ikinin tümleyeni ise 1 den biraz büyük olur) (111...11)+1=(000...00) + taşma (işaretsiz) (011...11)+1=(111...11) (ikinin tümleyeni) Doyma aritmetiği bu taşmaları kontrol ederek hata oluşmasını engeller.

Ödev 1.15 formatlı sayılarda uygulama Üniform ve Gauss Dağılımlı bir gürültü elde edebilmek için ne tür bir algoritma kullanılır. Algoritmayı matlab da uygulayarak, elde edilen bir gürültü işaretini çiziniz. Aşağıda verilen fonksiyonları seri açılımları ile elde ediniz. Her bir seri açılımı en fazla 5. dereceye kadar gidecek biçimde düzenlenerek, verilen fonksiyonları, bu seri açılımlarını matlab da uygulayarak verilen aralıklarda orijinal işareti (siyah) ve seri yaklaşımını (kırmızı) üst üste çiziniz. Sinüs(x) 0-2π Karekök(x) 0-5 Log(x) 0.01-10 Ln(x) 0.01-10

Sonlu kelime uzunluğunun olumsuz etkileri aşağıdaki nedenlerden oluşmaktadır ADC Dönüştürme gürültüsü Aritmetik hesaplamalardaki kesme ve yuvarlatmadan kaynaklanan kuantalama gürültüsü Hesapsal taşma (doyum) Katsayı kuantalama Limit salınım

SABĐT NOKTALI ARĐTMETĐK ĐÇĐN SÜZGEÇ KUANTALAMASI VE HATA ANALĐZĐ Kayan noktada, geniş dinamik bölgede daha doğru hesaplama söz konusudur. Ancak düşük maliyet, yüksek çıkış hızı ve ve düşük güç harcaması sabit noktalı çözümleri çekici hale getirir. Ayrıca sınırlı kelime uzunluğu, bitlerin bir kısmının üstele ayrılmasından dolayı, mantıs doğruluğunu azaltarak gürültü eşiğini artırır. Gerçek dünya işaretlerinin dinamik bölgesi genellikle küçük olduğundan sabit noktalı hesaplamalar süzgeçler için oldukça uygundur. Sabit noktalı aritmetik uygulamalarında aşağıdakilere dikkat edilmelidir.

1. Verilen bir transfer fonksiyonu için IIR hatası FIR dan daha büyüktür. Giriş x(n) x(n-1) Z -1 Z -1 x(n-2) Tap b 0 b 1 b 2 Ağırlık FIR Süzgeç Geri besleme yok Σ Σ Toplama noktası y(n) çıkış x(n) + y(n) x a z -1 IIR süzgeç

IIR bir süzgeçte tam sonucu tutabilmek için gerekli bit sayısı zamanla artar n x(n) y(n) 0 0 0 1 x(1) x(1) 2 x(2) x(2)+ax(1) 3 x(3) x(3)+ax(2)+aax(1) 4 x(4) x(4)+ax(3)+aax(2)+aaax(1) 5... Pratik olarak büyüyen bit sayısını tutmak imkansızdır. Eğer a 1 e yakınsa hata daha büyük olur.

IIR süzgeçlerde limit salınım (limit cycle) problemi. -Örneğin biquad band geçiren bir süzgeçte sonlu kelime uzunluğu bir ölü banda neden olur. Burada hiçbir giriş gelmezse bile yuvarlatmadan dolayı çıkış sabit kalır. - Eğer Bir IIR süzgecin katsayıları kutup bölgesine yakınsa, bir osilasyon oluşabilir. Bu osilasyona limit cycle adı verilir. Yuvarlatma yerine kesme kullanılması Limit cycle ları engelleyebilir y[k] = -0.625.y[k-1]+u[k] 4-bit yuvarlatmalı aritmetik giriş u[k]=0, y[0]=3/8 çıkış y[k] = 3/8, -1/4, 1/8, -1/8, 1/8, -1/8, 1/8, -1/8, 1/8,..

Ödev y(n)= 0.96 y(n-1)+ 0.04 x(n) için 7 bitlik bir rezolüsyon varsa ve giriş işaret belirli bir süre için sabit 100 değerini alıyorsa, y(n) başlangıç değeri 85 iken çıkışın bir süre sonra sabitleştiğini ve girişten etkisiz hale geldiğini gösterin.

2. Yuvarlatma kesmeden daha iyidir. (Limit cycle problemi olmadığında) çıkış giriş olasılık hata yuvarlatma kesme ortalama=0 ortalama=(-0.5)lsb variance=(1/12)lsb^2 variance=(1/3)lsb^2

3. Hata giriş yada süzgeç katsayılarının kuantalanmasından yada aritmetik yuvarlatmadan kaynaklanır a) ADC rezolüsyonu: Đdeal b bitlik bir ADC kuantalama adımının yarısı ile sınırlı bir hataya sahiptir. Giriş işaretini kuantalanmasında alt ve üst boşluk (headroom, footroom) payları bırakılarak bit sayısı belirlenmelidir. Bit sayısı sabit ise giriş işareti bir kazanç çarpanı ile ölçeklendirilmelidir. Bu da genellikle Kazanç* Rms seviye =1/4 olacak biçimde seçilir. b) Katsayıların kuantalanması a) Katsayılar kuantalandığında kutup ve sıfır yerleri ideal yerlerinden kayacaktır. b) Bu durum sıfırların yeri için önemli hatalar yaratmaz. c) IIR süzgeçlerde birim daireye yakın kutup noktaları önemli olacaktır d) Paralel ve kaskat yapılar direk formlara göre hatalara karşı daha az hassastır.

c.aritmetik yuvarlatmadan kaynaklanan hatalar 0110 x 1 x 01000010 x + x 1 x 2 +e 0011 Kesme yada yuvarlatma x 2 e Bu hata dinamik bölgeyi sınırlar ve SNR oranını kötüleştirir Parseval teoremi kullanılarak hesaplamalar nedeniyle sisteme katılan gürültüyü öngörebiliriz. σ 2 2b 2 12 n= 0 = h ( n) 0 2 Süzgeç tarafından eklenen gürültü süzgecin impuls yanıtının süresi ile değişir (yalnızca quantalama hatası için yapılmış hesaplama).

Taşmayı engellemek için işaret ölçeklenmelidir. Đşaret ölçekleme kuralları Giriş işareti sınırlıdır O halde u[ k] u max = h[ i]. u[ k i] h[ i]. u[ k i] umax. i= 0 i= 0 i= 0 y[ k] h[ i] = u. h max 1 Çıkış işaretide sınırlı olacaktır. Y[k] çıkışının sınırlı olması için gerekli şart y[ k] y max Olmalıdır. O halde ölçekleme katsayısı c c = u y max max. h 1 şeklinde seçilmelidir.

Ölçekleme Örnek: 1 H ( z) 1 0.99. z 1 h =... = 1 1 0.99 = 1 = 100 u[k] 12-bitlik A/D- dönüştürücüden gelsin y[k] ve çarpıcı için 16-bit aritmetik kullanalım 16 2 c= 12 2. h 1 = 0.16> 1 2 3 u[k] u[k] + y[k] ötele Böylece girişler u[k] süzgece girmeden önce 3 bit sağa kaydırılmalıdır (=doğruluk kaybı) y[k] + 0.99 0.99 x x