A programmable CMOS analog vector quantizer chin
Programlanabilir CMOS analog vektör kuantalayıcı tümdevresi
- Tez No: 100569
- Danışmanlar: PROF. DR. UĞUR ÇİLİNGİROĞLU
- Tez Türü: Yüksek Lisans
- Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 1999
- Dil: İngilizce
- Üniversite: İstanbul Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Belirtilmemiş.
- Bilim Dalı: Belirtilmemiş.
- Sayfa Sayısı: 205
Özet
Kuantalama fikrinin temelleri 1898'li yıllara kadar uzanmaktadır. Kuantalayıcıların tarihsel hikayesi ve ilgili kaynakların önemli bir bölümü Robert M. GRAY ve David L. NEUHOFF'un 'Quantization' başlıklı makalesinde bulunabilir. Haberleşme teorisinde, kuantalayıcılar genellikle bir işaret sıkıştırma metodu olarak algılanmışlardır. Kuantalamanın amacı şu şekilde özetlenebilir: Belli bir olasılık yoğunluk fonksiyonu ile tanımlanmış bir kaynaktan gelen işaretlerin mümkün olan en düşük bit sayısı ile kodlamak, öyle ki bu kodun çözülmesi ile elde edilen işaret mümkün olduğu kadar yüksek kalitede olsun. Kuantalayıcıları giriş işaret vektörlerinin boyutlarına göre 2 ana kategoriye ayırmak mümkündür. Giriş işaret vektörü tek boyutlu ise kuantalayıcı 'Skalar Kuantalayıcı' olarak adlandırılır, aksi takdirde kuantalayıcı 'Vektörel Kuantalayıcı' olarak adlandırılır. Son yıllarda Vektörel Kuantalayıcılar üzerine odaklanmış çalışmaların sayısı hızla artmaktadır. Bunun ana sebebi, Shannon' in 'Rate-Distortion' teoremine göre, teorik olarak, daha iyi bir performans, her zaman, tek bir işaret yerine bir işaret bloğunun birlikte kodlanması sayesinde elde edilebilir. Vektör Kuantalamayı, m boyutlu vektör uzayı Rm'den onun bir alt kümesi olan T ye bir dönüşüm olarak tanımlayabiliriz. Q : Rm -> T Kod-kitabı (code-book) olarak adlandırılan T kümesinin içinde kuanta vektörleri vardır. Kuantalayıcı, girişindeki her bir giriş vektörüne karşı düşen kuanta vektörünü seçer. Bunu şu şekilde ifade edebiliriz: Q(x) = t, Daha sonra seçilen kuanta vektörünün Kod-kitabı içindeki indeksi kodlanarak çıkış işareti üretilir. Birinci işlem bir sınıflama işlemidir, ikincisi ise kodlama işlemidir. xvıYukarıdaki bilgilerden yararlanarak şunu belirtebiliriz ki, Vektör Kuantalayıcı tasarımı kendi içinde iki problemi barındırır. Birinci problem olasılık yoğunluk fonksiyonu belli giriş işaretleri için 'optimal' Kod-kitabının tasarlanması. Bu problemin çözümü Haberleşme Teorisinin konusudur. İkinci problem ise Kod- Kitaplığı belirlenmiş bir Vektör Kuantalayıcının optimal bir şekilde silikon üzerine aktarılmasıdır. Bu tezde ikinci problemin çözümüne ilişkin bir sistem yapısı gösterilmiş; ve sistem alt blokları ile birlikte gerçekleştirilerek silikon üzerine aktarılmıştır. Aşağıda, önerilen Programlanabilir CMOS Analog Vektör Kuantalayıcı sistemin mimari yapısı görülmektedir. P O o o Distance Block uP r t. ıı T2ı "T:ml - T- l-T, 12 22 ~Tm2 l-T, İm w I o o o. '-s Output Distance Call input T T:: X (input vector) Şekil 1 : Sistem blok Şeması {output Sistem kabaca iki ana fonksiyonel bölüme ayrılabilir, Distance ve MİNNET bloklarından oluşan birinci bölüm sınıflandırma işlemini, Encoder bloğundan oluşan ikinci bölüm ise kodlama işlemini yapar. Şemadaki Distance bloğu, Distance hücre matrisinden oluşmuştur. Matristeki her bir satırda giriş vektör boyu kadar Distance hücresi vardır ve içlerinde o satıra ilişkin kuanta vektörü saklanmaktadır. Distance hücreleri girişlerine uygulanan işaret ile içlerinde saklanan kuanta vektör elemanı arasındaki mesafeyi ölçer ve çıkışlarına aktarırlar. Matristeki satır sayısı Kod-kitabındaki kuanta vektör sayısına eşittir. Distance hücresi olarak gerçeklenen devrenin devre şeması aşağıda görünmektedir. Bu devrenin giriş işareti gerilim, çıkış işareti akımdır. Devre kuanta vektör elemanını dinamik olarak saklamaktadır. Devre, hız, rezolüsyon ve silikon alanı açılarından benzer devrelere göre çok daha avantajlı bir konumdadır. Hücre satırının çıkışında kuanta vektörü ile giriş vektörü arasındaki Euclid mesafesi ölçülür. Birim hücrenin kapladığı alan 15.8 um x 13.6um dır. Şekil 1 deki MİNNET bloğu, giriş işaretleri arasında en küçük genliğe sahip olanı seçen bir devredir. Kaybeden-Hepsini-Alır (Loser-Takes-All (LTA) ) devreleri ile gerçeklenirler. Literatürde pek çok değişik LTA yapısı önerilmiştir. Değişik devrelerin değişik avantaj ve dezavantajları vardır. Tez de bu devre ROWWTA bloğu ile gerçekleştirilmiştir. Şekil 3 de ROW_WTA bloğunun şeması xvııgörülmektedir. Bu devre önce sabit bir akımdan giriş akımını (Distance bloğu satır çıkışı) çıkarır. Sabit akım her zaman giriş akımından büyük olacak şekilde seçilir. Böylece fark akımı vektörler arası mesafe kısaldıkça sabit akıma, arttıkça sıfıra doğru yaklaşır. Bu fark akımı J. Lazarro tarafından önerilmiş Kazanan-Hepsini-Alır (Winner-Takes-All (WTA)) devresine uygulanır ve böylece en büyük fark akımı yada girişe en küçük mesafedeki kuanta vektörü seçilmiş olur. Bu blok da küçük bir silikon alanı kaplamaktadır. Devrenin WTA kısmı sisteme hız ve rezolüsyon limitleri getirebilir. Bu sebeple yüksek performans gerektiren uygulamaklarda farklı WTA topolojilerinin aranması anlamlıdır. VDD N2 C2 Şekil 2 : Distance hücresinin şema gösterimi Encoder bloğu ROW_WTA bloğu tarafından seçilen kuanta vektörünün Kod-kitabı içindeki indeksinin kodlanmasından sorumludur. Uygulamada bu blok kuanta vektörünün Kod-kitabındaki adresini gösteren basit bir Kodlayıcı devresi ile gerçeklenmiştir. Bu durumda kodlamanın optimal olması için her bir kuanta vektörünün seçilme olasılığının birbirine eşit olması gereklidir. Farklı uygulamalar için farklı encoder blokları tasarlanabilir. Devre basit bir sayısal devredir. Sistem şemasında gözüken RAM ve Controller bloklarına gelince; Ram bloğu içinde Kod-kitabı saklanmaktadır. Distance bloğu içindeki değerlerin (Kod kitabının) yenilenmesi gerektiğinde bu bloktan yararlanılır. Sistem Analog bir Vektör Kuantalayıcı olduğu için ihtiyaç duyulan RAM hücre sayısı Distance bloğundaki Distance hücresi sayısı çarpı bir Distance hücresinin rezolüsyonuna eşittir. Sistemin seriminden de rahatlıkla görülebileceği üzere sistemin RAM ihtiyacı aktif alanın en büyük kısmını kaplamaktadır. Controller bloğu ise Distance bloğuna ve RAM bloğuna yazma (okuma) işlemlerinden sorumlu sayısal bloktur. Vektör kuantalayıcıyı programlamak için kullanacağımız mikroişlemci bu blok ile iletişim kurar. Basit bir sayısal kontrol devresidir ve ciddi bir silikon alanı kaplamaz. XV111VDD L|M3 16.5/5.5^ vdn |
Özet (Çeviri)
The basis of the quantization idea has a long history since 1898. The historical story of the quantizers and an important part of the related references can be found in the article title 'Quantization' of Robert M. GRAY and David L. NEUHOFF. In the information theory, the quantization is generally considered as a method of signal compression. The goal of quantization is to encode the data from a source that is characterized by its probability density function with as minimum rate as possible in such a way that reproducing may be recovered from the bits as high quality as possible. We can classify quantizers into two different sub-categories with respect to their input vector size. If the input vector space is one dimensional, the quantizer is classified as 'Scalar quantizer'; otherwise it is classified as 'Vector Quantizer'. In recent years, there has been much interest focused on Vector Quantization. The main cause of this trend is: According to Shannon's rate-distortion theory, a better performance is always achievable in theory by coding a block of signal (vector) instead of coding each signal individually (scalar). Vector quantization is a mapping Q from m dimensional vector space Rm into a finite subset TofRm(TcRm). It is denoted by Q:Rm->T T is the set of reproduction vectors and it is called template-book (code-book) for the vector quantizer. For every input vector X, a template-word tj is selected as the representation for X. This process is called quantization phase (or the template-book search phase) of the Vector Quantizer. It is denoted by Q(X) = ti XIThen the code word tj is represented by some symbols (normally the address of the template-vector in the template-book). This is called the encoding phase of the Vector Quantizer. The first phase is an classification, and the second one is an encoding. The problem of designing a VQ system is constituted by 2 part. First part of the problem concern to design an 'optimal' template-book for a given probability density function of input vector space in order to minimize average distortion in replacing any input vector by the closest template-vector. This part of the problem is the subject of Information Theory. The second part of the problem, which concerns the subject of this thesis, is to implement Vector Quantizer System for a given template- book. The schematic view of implemented VQ system can be seen in figure below. O o o Mi M Distance Block r T 11 '21 Tml -Ty- I“ T, 12 MTnı2 X', T llm -? - L2m in X, 2 Z W H e O O.”S Output Distance Cell input T T:: UP X (input vector) Figure 1: Block Schematic of the VQ system [output In the schematic, The first part of the system consists of 'Distance block' and 'MİNNET block' (Loser-Takes- All). The second part of the system consists of 'The Encoder block'. The block Distance contains the Distance Cell (DCELL) matrix. The number of DCELL in each row is equal to the input vector dimension. And the number of the matrix row is equal to the number of template-vector in code-book. Each row stores related template-vector, and measures the Euclidean distance between the input vector and stored template-vector. The schematic view of the DCELL can be seen in figure below. The input signal of the circuit is voltage and the output signal is current. The template-vector is stored dynamically. The silicon area consumption of the cell is x 13.6um. The block MİNNET, in Figure 1, is a circuit selecting the minimum one among its input signals. This is a famous Loser-Takes-All circuit. In the literature, there are many different circuit topologies. Every topology has its own advantages and disadvantages. In the VQ system, the block ROW_WTA realizes it. The schematic view of the block can be seen in Figure 3. Circuit subtracts the input current from a constant bias current being unconditionally greater than the input current and applies this difference current to the input of a current based Winner-Takes- All circuit of J. Lazarro. As the bias current is unconditionally greater than the input current, it is maximum when the measured distance is minimum. It consumes considerably small xnsilicon area. WTA part of the circuit may pose resolution problem. Therefore, different WTA topologies must be considered for high performance applications. VDD M 2 N2 C2 Vphi Figure 2: The schematic view of the Distance Cell The block ENCODER is coding the selected template-vector's index in the code- book. In the system, a simple circuit showing the address in the code-book realizes it. It is optimal if all of the template- vector have the same probability. Vbias VDD 16.5/5.5^ vda_| OUT,Iin M4 1 0/0.6 l_ydd v7. 10/0.6 M 2 gn M5 5.5/5.5 nd X 2/1 vd fi liail M6 Vkuy M ^nd 0.6 Figure 3 The schematic view of the block ROWWTA The block RAM stores the content of the code-book. As the template-vectors are stored dynamically in the Distance matrix, RAM block is used during the refresh phase. As we can easily remark from the system layout, RAM block consumes more xmthan 60% of the silicon area. The block Controller is responsible of the reading and writing operation to the Distance and RAM blocks. This is a simple digital block. In the VQ system, there are two other block not showed in the system schematic but needed due to the analog structure of the system. They are input amplifier block IN_AMP and the digital to analog converter block DAC6. These blocks may determine the resolution and the speed of the system. The design procedure of the all of the blocks is examined in detail in the thesis. Let me now briefly explain the working principles and the floorplan of the system. Code-book is stored in the RAM block. The number of word is equal to the number of template-vector in the code-book. The word length of the block is equal to the multiple of the input vector size with the resolution of the one vector element (m). The resolution of the DAC is also equal to the resolution of the one vector element. The output buses of the RAM block are connected to the DAC blocks to constitute one of the template vector elements. The number of row in the Distance matrix is equal to the number of template-vector. Each row stores its template- vector. The number of the colon in the Distance matrix is equal to the input vector size. Input vectors are applied to the Distance matrix from its colon inputs. Therefore, the distance cells on the same colon have the same input vector. Obviously, if the stored template-vector elements are different, their output will be different. As mentioned previously, the template-vectors are stored dynamically in the Distance matrix. Thus, we need to refresh them. During the refresh period, template-vector elements are applied from the colon input of the matrix too. For that reason, each row of the matrix must be activated for refresh operation sequentially. The block INAMP drives matrix colon inputs because distance cell needs the input and its inverse at the same time for proper operation. Obviously, we must use one IN_AMP block for every colon of the matrix. The block has 2 inputs. During the operation phase, block accepts the input vector, whereas during the refresh phase, it accepts DAC block output. Refresh phase can be summarized as follows: At the end of a time determined by the microprocessor, the block Controller starts to send the control signals to the RAM. Thus the template- vectors starts to appear at the output of the DAC blocks. During this phase, the block INAMP process the DAC output. And finally, all of matrix rows are activated sequentially for writing template-vectors when their template- vector appears at the colons of the matrix. During the operation phase, colon signals change with the input signals. Therefore, row's output changes, winner template changes and encoded index changes. The structure of the system permits to adapt it to the Kohonen Self-Organizing Feature Map. We must simply post-process the system outputs and update the code- book. The layout of the system can be found in the thesis. It contains 79 bonding pads. They are: XIV6 digital output pads for the Encoder block. 20 analog pad for input vectors. 8 analog pad for biasing. 8 bi-directional digital pad for microprocessor data bus. 10 digital input pad for microprocessor address bus. 3 digital input pad for microprocessor control signals. 2 digital input pad for system clock and reset. 4 couple of analog and 7 couple of digital power pads. The total silicon area of the system including bonding pads is 4.1mm x 3.7mm (15.17 mm2). xv
Benzer Tezler
- A Programmable fuzzy controller emulator chip
Programlanabilir bir puslu denetleyici emülatörü tümdevresi
FİKRET DÜLGER
Yüksek Lisans
İngilizce
1996
Elektrik ve Elektronik Mühendisliğiİstanbul Teknik ÜniversitesiPROF.DR. UĞUR ÇİLİNGİROĞLU
- A low-power succesive approximation register analog-to-digital converter integrated circuit for imaging sensors
Görüntüleme sensörleri için düşük güçlü ardışık yaklaşıklama kaydedicili analog-sayısal çevirici tümleşik devresi
SERHAT KOÇAK
Doktora
İngilizce
2023
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. TAYFUN AKIN
- A low-power analog-to-digital converter integrated circuit for data acquisition applications
Sinyal alma uygulamaları için düşük güç tüketimli analog-sayısal çevirici tümleşik devresi
SERHAT KOÇAK
Yüksek Lisans
İngilizce
2016
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. TAYFUN AKIN
- Column parallel incremental zoom adc for uncooled imaging applications
Soğutmasız görüntüleme sistemleri için kolon paralel artımlı zoom analog-sayısal çevirici
AYCAN BEYENİR
Yüksek Lisans
İngilizce
2022
Elektrik ve Elektronik MühendisliğiOrta Doğu Teknik ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. TAYFUN AKIN
- Design, simulation and realization of an on screen display IC
Bir ekran üzerine görüntüleme tümdevresinin tasarım, simülasyon ve gerçeklenmesi
MURAT GÜVEN
Yüksek Lisans
İngilizce
1998
Elektrik ve Elektronik MühendisliğiBoğaziçi ÜniversitesiElektrik-Elektronik Mühendisliği Ana Bilim Dalı
PROF. DR. AVNİ MORGÜL