-->

RESUME "BAB 12" PROSESOR SINYAL DIGITAL SECARA UMUM & SPECIAL-PURPOSE


PROSESOR SINYAL DIGITAL SECARA UMUM & SPECIAL-PURPOSE

Untuk Kenyamanan, prosesor DSP dapat dibagi menjadi dua kategori umum dan tujuan khusus. Prosesor DSP termasuk perangkat fixed-point seperti Texas instrument TMS320C54x, dan prosesor Motorola DSP563x, dan prosesor floating-point seperti Texas Instrument TMS320C4x dan Analog Devices ADSP21xxx SHARC processor.
Ada dua jenis perangkat keras tujuan khusus.

(1)  Hardware dirancang untuk pelaksanaan yang efisien dari algoritma DSP spesifik seperti filter digital, transformasi Fourier cepat. Jenis perangkat keras tujuan khusus ini kadang-kadang disebut prosesor sinyal digital algoritma-spesifik.
(2) Perangkat keras yang dirancang untuk aplikasi tertentu, misalnya telekomunikasi, audio digital, atau aplikasi kontrol. Jenis perangkat keras ini kadang-kadang disebut prosesor sinyal digital khusus aplikasi.

      Menghitung arsitektur untuk pemrosesan sinyal

      Kebanyakan prosesor tujuan umum yang tersedia saat ini didasarkan pada konsep von Neurmann, di mana operasi dilakukan secara berurutan. Gambar 12.1 menunjukkan fase instruksi tunggu kontrol isyarat diteruskan kepada mereka. Peningkatan kecepatan prosesor

Dicapai dengan membuat unit individu beroperasi lebih cepat, tetapi ada batasan pada seberapa cepat
 mereka dapat dioperasikan untuk beroperasi.
Mengapa arsitektur semacam itu diperlukan? Sebagian besar algoritma DSP (seperti penyaringan Korelasi dan transformasi Fourier cepat) melibatkan operasi aritmatika berulang seperti penggandaan, penambahan, akses memori, dan aliran data berat melalui cpu. Arsitektur mikroprosesor standar tidak cocok untuk jenis aktivitas ini. tujuan penting untuk operasi DSP. Dalam prosesor sinyal digital ini dicapai dengan membuat ekstensif menggunakan konsep paralelisme. Secara khusus, teknik berikut digunakan:
• Arsitektur Harvard;
• Pipelining
• Pengganda / akumulator perangkat keras khusus yang berdedikasi tinggi;
• Replikasi;
• Memori on-chip / cache;
• Perpanjangan paralelisme - SIMD, VLIW dan pemrosesan superskalar statis.
Untuk desain DSP yang sukses, penting untuk memahami fitur arsitektur utama ini
Arsitektur Harvard
Fitur utama dari arsitektur Harvard adalah bahwa program dan memori data terletak di dua ruang terpisah, memungkinkan tumpang tindih penuh dari pengambilan instruksi dan eksekusi. Mikroprosesor standar, seperti Intel 6502, dicirikan oleh struktur bus tunggal untuk data dan instruksi, seperti yang ditunjukkan pada gambar 12.1,
Misalkan dalam mikroprosesor standar kita ingin membaca nilai op1 pada alamat ADR3. Instruksi bisa
LDA ADR1 Memuat operand op1 ke akumulator dari ADR1
STA ADR2 store op1 di alamat ADR2
STA ADR3 menyimpan op1 di alamat ADR3



Biasanya, masing-masing instruksi ini akan melibatkan langkah-langkah yang berbeda:
  • Pengambilan instruksi;
  • Dekode instruksi;
  • Instruksi dijalankan;
Dalam kasus kami, instruksi mengambil melibatkan mengambil instruksi berikutnya dari memori, dan pelaksanaan instruksi melibatkan membaca atau menulis data ke dalam memori. Dalam prosesor standar tanpa arsitektur Harvard, instruksi program (yaitu kode program) dan data (operan) disimpan dalam satu ruang memori, lihat Gambar 12.3. Dengan demikian pengambilan instruksi berikutnya sementara yang sekarang sedang dieksekusi tidak diperbolehkan karena fase fetch dan eksekusi masing-masing memerlukan akses memori.


Pipelining

Pipelining adalah teknik yang memungkinkan dua atau lebih operasi untuk tumpang tindih selama eksekusi. Dalam pipelining, tugas dibagi menjadi beberapa subtugas yang berbeda
yang kemudian tumpang tindih selama. itu digunakan secara luas dalam prosesor sinyal digital untuk meningkatkan kecepatan. Saluran pipa mirip dengan produksi khas di pabrik, seperti pabrik perakitan mobil atau televisi. Seperti dalam jalur produksi, tugas dipecah menjadi subtugas independen kecil yang disebut tahapan pipa. Tahapan pipa dihubungkan secara seri untuk membentuk pipa dan tahap-tahap yang dieksekusi secara berurutan.
Dengan mengeksploitasi paralelisme yang melekat dalam aliran instruksi, pipelining mengarah ke pengurangan yang signifikan, rata-rata, dari waktu eksekusi per instruksi. Throughput dari mesin pipa ditentukan oleh banyaknya instruksi melalui pipa per satuan waktu. Seperti dalam jalur produksi, semua tahapan dalam pipa harus disinkronkan. Waktu untuk memindahkan instruksi dari satu langkah ke langkah lain dalam pipa (lihat Gambar 12.6 (a)) adalah satu siklus dan bergantung pada tahap paling lambat dalam pipa. Dalam pipa yang sempurna, waktu rata-rata per instalasi diberikan oleh (Hennessy dan Patterson, 1990)


Dalam kasus yang ideal, peningkatan kecepatan sama dengan jumlah tahapan pipa. Dalam prakteknya, peningkatan kecepatan akan lebih sedikit karena biaya overhead dalam pengaturan saluran pipa, dan penundaan dalam daftar saluran pipa dan sebagainya.Dalam mesin nonpipeline, instruksi ambil, decode dan eksekusi masing-masing mengambil 35ns, 25ns, dan 40ns. Tentukan peningkatan troughput jika langkah-langkah instruksi pipelined. Asumsikan overhead pipa 5ns pada setiap tahap, dan abaikan penundaan lainnya.
       Dalam mesin nonpipeline, rata-rata waktu instruksi hanyalah jumlah waktu eksekusi semua langkah: 35 + 25 + 40 ns = 100 ns. Namun, jika kita mengasumsikan bahwa prosesor memiliki siklus mesin tetap dengan langkah-langkah instruksi yang disinkronkan ke jam sistem, maka setiap instruksi akan mengambil tiga siklus mesin untuk menyelesaikan: 40ns x 3 = 120 ns. Ini sesuai dengan throughput 8,3 x 106 instruksi s-1. Dalam mesin pipa, kecepatan clock ditentukan oleh kecepatan tahap paling lambat ditambah overhead. Dalam kasus kami, siklus mesin adalah 40 + 5 = 45ns. Ini menempatkan batas waktu eksekusi instruksi rata-rata. Troughput (ketika pipa penuh) adalah 22,2 x 106 instruksi s-1. Kemudian


Pengganda-akumulator perangkat
operasi numerik dasar dalam DSP adalah perkalian dan penambahan. Perkalian, dalam perangkat lunak, sangat memakan waktu. Penambahan bahkan lebih memakan waktu jika aritmatika floating point digunakan. Untuk maje real-time DSP mungkin perangkat keras khusus multiplier-accumulator (MAC) menggunakan aritmatika fixed atau floating point adalah wajib. Perangkat keras tetap atau mengambang MAC sekarang standar di semua prosesor sinyal digital. Dalam prosesor titik tetap, biasanya pengganda perangkat keras.
      Prosesor sinyal digital menyediakan instruksi khusus yang dioptimalkan untuk DSP. Manfaat dari instruksi khusus ini ada dua: mereka mengarah ke kode yang lebih ringkas yang memakan lebih sedikit ruang dalam memori (hampir sekompak kode yang ditulis dalam bahasa tingkat tinggi seperti C) dan mereka mengarah pada peningkatan kecepatan pelaksanaan algoritma DSP. Instruksi khusus yang disediakan oleh DSP, chip termasuk (i) instruksi yang mendukung operasi DSP dasar, (ii) instruksi yang mengurangi overhead dalam instruksi loop dan (iii) instruksi yang berorientasi pada aplikasi.
      Banyak algoritma kunci dalam DSP, seperti penyaringan digital dan korelasi, memerlukan pergeseran data atau penundaan untuk memberi ruang bagi sampel data baru. Procssors sinyal digital memberikan instruksi khusus yang memungkinkan sampel data untuk disalin ke alamat memori berikutnya yang lebih tinggi seperti yang diambil dari memori atau dioperasikan, semua dalam satu siklus. Misalnya di TM320 keluarga generasi kedua dari prosesor DSP, pasangan instruksi, LTD sebuah MPY, memungkinkan pemuatan simultan data ke register sementara untuk multiplier, data pergeseran (untuk melaksanakan unit delay dilambangkan z ^ (- 1)), dan akumulasi produk. Instruksi khusus yang mendukung operasi multiply dan accumulating (MAC) dengan data shift sekarang menjadi standar dalam prosesor DSP modern.
Pengolah sinyal digital tujuan umum
      Prosesor sinyal digital tujuan umum pada dasarnya adalah mikroprosesor kecepatan tinggi, dengan arsitektur perangkat keras dan set instruksi yang dioptimalkan untuk operasi DSP. Prosesor ini menggunakan banyak paralelisme, arsitektur Harvard, pipelining dan perangkat keras khusus bila memungkinkan untuk melakukan operasi yang memakan waktu, seperti pemindahan / penskalaan, perkalian, dan sebagainya.
      General-purpose DSPs telah berevolusi secara substansial selama dekade terakhir sebagai hasil dari pencarian tanpa akhir untuk menemukan cara yang lebih baik untuk melakukan operasi DSP, dalam hal efisiensi komputasi, kemudahan implementasi, biaya, konsumsi daya, ukuran dan kebutuhan spesifik aplikasi (Levy, 1998, 1999; Berkeley Design Technology, 1999). Nafsu makan yang tak terpuaskan untuk meningkatkan efisiensi komputasi telah menyebabkan pengurangan substansial dalam siklus instruksi dan, yang lebih penting, untuk meningkatkan kecanggihan dalam arsitektur perangkat keras dan perangkat lunak. Sekarang umum untuk memiliki unit-unit hardware aritmatika on-chip yang berdedikasi (misalnya untuk mendukung operasi pengganda / akumulasi yang cepat), memori on-chip yang besar dengan akses ganda dan instruksi khusus untuk pelaksanaan perhitungan core dalam DSP yang efisien. Kami juga telah melihat kecenderungan terhadap peningkatan ukuran kata data (misalnya untuk mempertahankan kualitas sinyal) dan peningkatan paralelisme (untuk meningkatkan baik jumlah instruksi yang dilaksanakan dalam satu siklus dan jumlah operasi yang dilakukan per instruksi). Dengan demikian, kami menemukan bahwa dalam prosesor DSP tujuan umum yang lebih baru, peningkatan penggunaan dibuat dari beberapa jalur data / aritmatika untuk mendukung operasi paralel. Prosesor DSP berdasarkan SIMD (Single Instruction, Multiple Data), VLIW (Very Large Instruction Worth) dan arsitektur superscalar sedang diperkenalkan untuk mendukung pemrosesan paralel yang efisien. Pada beberapa DSP, kinerja ditingkatkan lebih lanjut dengan menggunakan ko-prosesor khusus, on-chip untuk mempercepat algoritma DSP spesifik seperti penyaringan FIR dan penyiasatan Viterbi. Pertumbuhan eksplosif dalam komunikasi dan teknologi audio digital telah memiliki pengaruh besar dalam evolusi DSP, seperti juga pertumbuhan dalam aplikasi prosesor DSP tertanam.
      Di dalam dua bagian, kami akan menjelaskan secara singkat ciri-ciri arsitektur dari beberapa generasi prosesor DSP titik tetap dan apung.


TMS320C3x mungkin adalah keluarga yang paling terkenal dari generasi pertama DSPs floating-point generasi umum. Keluarga C3x adalah prosesor sinyal digital chip tunggal 32-bit dan mendukung kedua operasi aritmatika bilangan bulat dan floating-point. Mereka memiliki ruang memori yang besar dan dilengkapi dengan banyak fasilitas periferal di-chip untuk menyederhanakan desain sistem. Ini termasuk cache program untuk meningkatkan eksekusi kode yang umum digunakan, dan memori akses ganda di kapal.
pada inisialisasi, lokasi RAM di mana data sampel harus disimpan diatur ke nol karena kami selalu memulai tanpa data. Operasi berikut ini kemudian dilakukan.

1.  Sampling pertama instan. Baca contoh data dari ADC, gantilah data RAM satu tempat (untuk        memberi ruang bagi data baru), simpan sampel masukan baru, hitung sampel keluaran dari Persamaan 12,5 dan kemudian kirim sampel keluaran yang dikomputasi ke DAC :



2.  Contoh instan kedua. Ulangi operasi di atas dan kerjakan sampel output baru dan kirim ke DAC:

     

3.  Pengambilan sampel ketiga instan Ulangi operasi di atas dan hasilkan sampel output baru dan kirim ke DAC:

   

4.  Sampling keempat instan Ulangi operasi di atas dan kerjakan sampel keluaran baru dan kirim ke DAC:

    

Catatan  bahwa sampel data terlama sekarang telah jatuh dari ujungnya.


12.4 Memilih prosesor sinyal digital
Pemilihan prosesor DSP untuk aplikasi yang diberikan telah menjadi masalah penting dalam beberapa tahun terakhir karena banyaknya prosesor yang tersedia (Levy, 1999; Berkeley Design Technology, 1996, 1999). Faktor-faktor khusus yang dapat dipertimbangkan ketika memilih prosesor DSP untuk aplikasi termasuk fitur arsitektur, kecepatan eksekusi, jenis aritmatika dan panjang kata.


  1. Fitur arsitektur Kebanyakan prosesor DSP yang tersedia saat ini memiliki fitur arsitektur yang bagus, tetapi ini mungkin tidak memadai untuk aplikasi tertentu. Fitur utama yang menarik termasuk ukuran memori on-chip, instruksi khusus dan kemampuan I / O. Memori on-chip merupakan persyaratan penting dalam sebagian besar aplikasi DSP real-time untuk akses cepat ke data dan eksekusi program yang cepat. Untuk aplikasi yang haus memori (misalnya audio digital - Dolby AC-2, FAX / Modem, MPEG coding / decoding), ukuran RAM internal dapat menjadi faktor pembeda yang penting. Di mana memori internal tidak cukup ini dapat ditambah dengan kecepatan tinggi, off-chip memori, meskipun ini dapat menambah biaya sistem. Untuk aplikasi yang membutuhkan komunikasi atau aliran data yang cepat dan efisien dengan dunia luar. I / O fitur antarmuka tersebut ke ADC dan DAC. Kemampuan dan dukungan DMA untuk multiprocessing mungkin penting. Tergantung pada aplikasinya, satu set instruksi khusus yang kaya untuk mendukung operasi DSP adalah penting, mis. kemampuan looping nol-overhead, instruksi DSP khusus, dan pengalamatan melingkar.
  2. Kecepatan eksekusi Kecepatan prosesor DSP merupakan ukuran kinerja yang penting karena sifat waktu kritis dari sebagian besar tugas DSP. Secara tradisional, dua unit utama pengukuran untuk ini adalah kecepatan clock prosesor, dalam MHz, dan jumlah instruksi yang dilakukan, dalam jutaan instruksi per detik (MIPS) atau, dalam kasus prosesor DSP floating-point, di jutaan operasi floating-point per detik (MFLOPS). Namun, tindakan tersebut mungkin tidak pantas dalam beberapa kasus karena perbedaan signifikan dalam cara prosesor DSP yang berbeda beroperasi, dengan sebagian besar mampu melakukan beberapa operasi dalam satu instruksi mesin dalam satu siklus. Jumlah operasi yang dilakukan dalam setiap siklus juga berbeda dari prosesor ke prosesor. Jadi, perbandingan kecepatan eksekusi prosesor berdasarkan kecepatan eksekusi dari algoritma benchmark (Levy, 1998; Berkeley Design Technology, 1999) - mis. Kernel DSP seperti filter FFT, FIR dan IIR. Di Tabel 12.1 dan 12.2 indeks kinerja berdasarkan tolok ukur tersebut memberikan indikasi kinerja relatif dari sejumlah prosesor DSP populer.
  3. Jenis aritmatika Dua jenis aritmetika yang paling umum digunakan dalam prosesor DSP modern adalah aritmatika fixed-and floating-point. Aritmatika mengambang adalah pilihan alami untuk aplikasi dengan persyaratan jangkauan dinamis yang luas dan variabel (rentang dinamis dapat didefinisikan sebagai perbedaan antara tingkat sinyal terbesar dan terkecil yang dapat direpresentasikan, atau perbedaan antara sinyal terbesar dan tingkat kebisingan, diukur dalam desibel). Prosesor fixed-point disukai dalam aplikasi berbiaya rendah dan bervolume tinggi (misalnya telepon seluler dan disk drive komputer). Penggunaan aritmatika fixed-point menimbulkan masalah yang terkait dengan batasan jangkauan dinamis yang harus ditangani oleh perancang (lihat Bab 13 untuk lebih jelasnya). Secara umum, prosesor mengambang lebih mahal daripada prosesor fixed-point. Meskipun perbedaan biaya telah turun secara signifikan dalam beberapa tahun terakhir. PALING prosesor DSP floating-point yang tersedia saat ini juga mendukung aritmatika fixed-point.
  4. Wordlength Data prosesor wordlength dan parameter penting dalam DSP karena dapat memiliki dampak yang signifikan terhadap kualitas sinyal. Ini menentukan seberapa akurat parameter dan hasil dari operasi DSP dapat diwakili (lihat Bab 13 untuk lebih jelasnya). Secara umum, semakin panjang kata data semakin rendah kesalahan yang diperkenalkan oleh pemrosesan sinyal digital. Dalam pemrosesan audio titik-tetap, misalnya, panjang kata pengolah setidaknya 24 bit diperlukan untuk menjaga tingkat sinyal terkecil cukup di atas lantai suara yang dihasilkan oleh pemrosesan sinyal untuk menjaga kualitas CD. Berbagai wordlengths prosesor digunakan dalam prosesor DSP titik tetap, tergantung pada aplikasinya (lihat Tabel 12.1). Proses DSP fixed-point yang ditujukan untuk pasar telekomunikasi cenderung menggunakan word-length 16-bit (misalnya TMS320C54x), sedangkan yang ditujukan untuk aplikasi audio berkualitas tinggi cenderung menggunakan 24 bit (misalnya DSP56300). Dalam beberapa tahun terakhir, kami telah melihat kecenderungan penggunaan lebih banyak bit untuk ADC dan DAC (misalnya Cirrus 24-bit audio codec, CS4228) karena biaya perangkat di sana turun untuk memenuhi permintaan yang tak terpuaskan untuk meningkatkan kualitas. Dengan demikian, kita cenderung melihat peningkatan permintaan untuk wordlengths prosesor yang lebih besar untuk pemrosesan audio. Dalam prosesor titik tetap, mungkin juga diperlukan untuk memberikan bit penjaga

Sebuah FIR filter 61 titik yang optimal memenuhi spesifikasi di atas. Desain filter ini dibahas secara rinci di Bagian 7.6.5. di sini, kami hanya akan berkonsentrasi pada implementasi. Koefisien filter dikuantisasi menjadi 16 bit (format Q15), dengan mengalikan setiap koefisien dengan 2, dan kemudian membulatkan ke integer terdekat. Koefisien yang terkuantisasi dan tidak terkuantisasi didengarkan pada Tabel 12.3. seperti yang ditunjukkan pada diagram alur pada Gambar 12.25, filter FIR lengkap memiliki setidaknya empat bagian penting:


  • Inisialisasi Inisialisasi sistem; ini mungkin termasuk menyiapkan tabel koefisien.
  • Bagian input ini mungkin termasuk membaca atau sampel input, x (n), mis. dari ADC melalui port serial.
  • Penghitungan lingkaran dalam pelaksanaan persamaan FIR untuk memperoleh y (n)
  • Bagian output ini dapat mencakup pemindahan / pembulatan hasil perhitungan loop bagian dalam dan mengirimkan ini, mis. ke DAC melalui port serial.

Dalam hal ini, koefisien dan memori data diatur seperti yang ditunjukkan pada Gambar 12.24 (c). register tambahan AR1 digunakan untuk pengalamatan tidak langsung dalam perhitungan loop dalam (instruksi MACD) dan awalnya menunjuk ke sampel data tertua, XNM1, dalam memori data. Dalam lingkaran dalam, instruksi MACD melakukan hal berikut:

 Menambahkan produk sebelumnya ke akumulator - awalnya, produk adalah nol;
Mengalikan koefisien, h (k), dengan data yang ditunjukkan oleh AR1 - awalnya, h (k) = h (N - 1), dan register tambahan menunjuk ke x [n - (N - 1)];
 Salinan data yang ditunjukkan oleh AR1 ke lokasi berikutnya yang lebih tinggi - awalnya, x [n - (N - 1)] disalin ke x (n - N); contoh data tertua yang dihapus. Instruksi MACD terakhir menyalin x (n) ke x (n - 1) untuk memberi ruang bagi sampel masukan berikutnya;
 Decrements AR1 oleh 1 (yaitu menunjuk ke sampel berikutnya dalam memori data) - awalnya AR1 menunjuk ke x [n - (N - 1)], dan kemudian, berturut-turut, menunjuk ke x [n - (N - 2)], x [n - (N - 3)],. . . , x (n) saat kita mengitari loop;

Menambahkan alamat COEFF dengan 1 - alamat yang berurutan adalah h (N - 1), h (N - 2),. . . , h (0).

Contoh
Mewakili fungsi transfer dari Contoh ini suatu bentuk paralel menggunakan bagian kanonik orde kedua sebagai blok pembangun. Menerapkan filter menggunakan perangkat keras yang sama seperti contoh terakhir.
Solusi
Menggunakan peogram ekspansi pecahan parsial yang dibahas dalam Bab 4, koefisien untuk realisasi paralel diperoleh dari realisasi kaskade. Pengalihan transfer menjadi


Tabel 12.5 memberikan nilai koefisien sebelum dan sesudah kuantisasi menjadi 16 bit. The TMS320C50, TMS350, TMS320C54, DSP56000, DSP56300 kode untuk filter tersedia di CD dan di buku pegangan pendamping (lihat Pengantar untuk rincian). Untuk DSP56000, koefisien dikuantisasi menjadi 24 bit.

Implementasi filter IIR urutan keempat dari Contoh 12.5: koefisien filter sebelum dan sesudah kuantisasi menjadi 16 bit.



FFT Processing

Transformasi Fourier diskrit (DFT) dari urutan data berhingga, x (n), didefinisikan sebagai

               
Di mana W_N, sering disebut faktor twiddle, adalah seperangkat coeffiticients kompleks.
Komputasi langsung dari koefisien DFT, C (k), memakan waktu ketika N besar. Algoritma FFT memberikan cara efisien untuk menghitung X (k) dengan pengurangan waktu komputasi yang signifikan. Sebagaimana dibahas dalam Bab 3, faktor kupu-kupu dan twiddle merupakan pusat algoritma FFT.

Implementation of the butterfly

Secara umum, input dan output data sampel serta faktor-faktor pokok semuanya kompleks dan dapat dinyatakan sebagai


Dimana akhiran r menunjukkan bagian nyata dan saya bagian imajiner dari data. Operasi kupu-kupu dalam Persamaan 12.11 melibatkan aritmatika kompleks, tetapi dalam praktiknya sering dilakukan menggunakan aritmatika nyata. Untuk menyatakan operasi dalam bentuk yang cocok untuk aritmatika nyata, kami mencatat bahwa produk B dan W dalam Persamaan 12.11 memiliki bentuk:


Program pseudo-code bahasa C untuk pra-perhitungan nilai faktor teka-teki.
Pi=6.28375307179586/N;
For(k=0;k<N/2; ++k){
                X=k*pi;
w.real[k]=cps[X];
w.imag[k]=sin[X];
}

Program pseudo-code bahasa C untuk butterfly
t.real;=br*w.real[k]+bi*w.imag[k];
t.imag=bi*w.real[k]-br*w.imag[k];
b.real[j]=a.real-t.real;
b.imag[j]=a.imag-t.imag;
a.real[j]=a.real+t.real;
a.imag[j]=a.imag+t.imag;

di mana X = 2Ï€k / N. Menggunakan Persamaan 12/12 dan 12.13 dalam Persamaan 12.11a dan 12.11b yang kita miliki


pseudo-code bahasa C untuk kupu-kupu radix-2, dengan nilai-nilai faktor melintir pra-dihitung dan disimpan dalam tabel look-up, diberikan dalam program 12,8.
Sebuah pseudo-code

Program Kode TMS320C50 untuk butterfly.
Hitung istilah umum untuk dua output kupu-kupu, A’ dan B’
                LT            BR                           ;compute 1/2*[b.real*cos(X)+b.imag*sin(X)]
                MPY       WREAL                  ;1/2*b.real*cos(X)
                LTP         BI
                MPY       WIMAG                ;1/2*b.imag*sin(X)
                APAC                                     ;1/2[b.real*cos(X)+b.imag*sin(X)]
                MPY       WREAL                  ;1/2*b.imag*cos(X)
                LT            BR
                SACH     BR                           ;1/2[b.real*cos(X)+b.imag*sin(X)]
                PAC                                        ;compute[q.imag*cos(X)-q.real*sin(X)]
                MPY       WIMAG
                SPAC
                SACH     BI

menghitung dan simpan output butterfly

                LACC      AR, 14                    ;compute and save the real parts of the outputs
                ADD       BR, 15
                SACH     AR, 1                      ;save a.real
                SUB        BR
                SACH     BR, 1                      ;save b.real
                LAC        AI, 14                     ;compute and save the imaginary parts of the outputs
                ADD       BI, 15                    
                SACH     AI, 1                       ;save a.imag
                SUB        BI
                SACH     BI, 1                       ;save b.imag      

Data scrambling dan bit reversal

Dalam DIT (decimation-in-time) FFT, jika urutan data input diterapkan ke prosesor FFT dalam urutan alami, output dari FFT tampak acak (lihat Gambar 12.32). Untuk memastikan output muncul dalam urutan yang benar (yaitu, sebagai X (0), X (1),..., X (N-1)), kita juga mengacak urutan data input sebelum mengambil FFT (lihat Gambar 12.33 dan 12.34) atau menguraikan output setelah mengambil FFT (lihat Gambar 12.32).



Data untuk eight-point FFT memperlihatkan konsep dari bit reversing.

Input sequence, natural order
Binary code of sequence
Input sequence,
bit reversed
Binary code of sequence
(bit reversed)
x(0)
000
X(0)
000
X(1)
001
X(4)
100
X(2)
010
X(2)
010
X(3)
011
X(6)
110
X(4)
100
X(1)
001
X(5)
101
X(5)
101
X(6)
110
X(3)
011
X(7)
111
X(7)
111


                Untuk radix-2 FFT, pengacakan data input dicapai dengan menyimpan urutan input dalam urutan bit-terbalik. Dengan asumsi data input telah disimpan dalam urutan alami (yaitu, seperti X (0), X (1), X (2),..., X (N-1)), urutan bit-terbalik tercapai dengan merepresentasikan indeks data input dalam biner seperti yang ditunjukkan pada kolom kedua Tabel 12.6 untuk delapan titik FFT, dan kemudian menukar bit tentang pusat (kolom keempat pada Tabel 12.6).
Ketika data input disimpan dalam memori atau array, mengacak data input melibatkan identifikasi pasangan lokasi data input dan interchanging atau swapping data di lokasi tersebut. Algoritma bit reversal karena Rader (Rabiner dan Gold, 1976) adalah yang paling banyak digunakan untuk menentukan indeks lokasi memori untuk bertukar. Sebuah pseudo-code bahasa C untuk algoritma bit reversing diberikan dalam Program 12.10.
Chip Advance DSP sekarang menyediakan intruksi untuk melakukan pembalikan bit pada sampel data input karena diambil dari memori dalam kesiapan untuk FFT atau pada data yang diubah saat disimpan dalam memori setelah FFT.

Multirate processing

Sebagaimana dibahas dalam Bab 9, pengolahan multirate melibatkan melakukan operasi DSP di lebih dari satu tingkat sampling. Dua operasi mendasar dalam multirate

In-place bit reversal untuk radix-2 FFT.

/Perform in-place bit reversal/

J=1;
For(i=1; i<N; ++i){
                If(i<j){
                                Tr=x.real[j];        /swapx[j] and x[i]/
                                Ti=x.imag[j];
                                x.real[j]=x.real[i];
                                x.imag[j]=x.imag[i];
                                x.ral[i]=tr;
                                x.imag[i]=ti;
                                x.imag[i]=ti;
                                k=N/2;
                                while(k<j){
                                          j=j-k;
                                         k=k/2;
                                }
                }
                Else        {
                                K=N/2;
                                While(k<j){
                                                J=j-k;
                                                K=k/2;
                                }
                }
J=j+k;
}


Pengolahan adalah dedikasi (pengurangan tingkat sampel) dan interpolasi (peningkatan tingkat pengambilan sampel). Kami akan mengilustrasikan implementasi desimalator waktu nyata dengan sebuah contoh.

Contoh
Tingkat pengambilan sampel sinyal akan dikurangi dengan proses penipisan tiga tahap dari 30kHz hingga 1 kHz. Asumsikan frekuensi tertinggi bunga setelah penipisan adalah 400Hz, riak dalam-pita 0,08dB dan penolakan stopband dari 50dB. Decimator akan diimplementasikan pada TMS 320C50.
Solusi
Menggunakan program desain multirate (tersedia di CD dan di buku pegangan pendamping - lihat Pengantar untuk perincian), parameter decimator tiga tahap diperoleh; lihat Gambar 12.35. Koefisien dari tiga filter, menggunakan program desain FIR yang optimal, diberikan pada Tabel 12.7. Panjang filter sedikit lebih lama dari perkiraan yang diprediksi oleh program desain pelebur (12, 13, 48, bukannya 13, 12, 46) untuk memastikan spesifikasi terpenuhi.
Flowchart untuk decimator tiga tahap umum diberikan pada Gambar 9.15. Koefisien dan peta penyimpanan data untuk desimator berbasis TMS320C50 ditunjukkan pada Gambar 12.46. Koefisien filter dikuantisasi menjadi 16 bit dengan mengalikan masing-masing.

Adaptive filtering

Sebagaimana dibahas dalam Bab 10, penyaringan adaptif melibatkan dua proses.

1.      Digital Filtering Koefisien filter digital digunakan untuk mengekstrak informasi yang tepat dari sinyal input, x (n), untuk menghasilkan y (n). Dengan asumsi struktur FIR transversal, filter diberikan oleh

 (12.15)

Dimana w (k), k = 0,1,. . . . , N-1, adalah filter digital coeffitients (sering disebut bobot) dan x (n-k), k = 0,1,. . . . , N-1, adalah urutan dari input data.
Implementasi filter digital yang diberikan dalam Persamaan 12,15 sangat mirip dengan filter FIR standar yang dibahas sebelumnya. Dengan demikian, implementasi Clanguage dari filter akan memiliki bentuk yang serupa

                Y[n]=0;
                For(k=0; k<N; k++){
                                Y[n]=y[n]+wn[k]*xn[k];
                }

2.      Adaptive process Proses ini melibatkan pembaruan, yaitu menyesuaikan koefisien filter terhadap nilai optimalnya. Ketika algoritma dasar LMS digunakan, koefisien diperbarui sebagai berikut:
 

Program  C pseudo-code untuk pembaruan koefisien filter adaptif LMS.

Uen=2*u*e[n]
For(K+): k<N; k++){
                Wn[k]=wn[k]+uen*xn[k]
}


Program  TMS320C50 pseudo-code untuk LMS adaptive filter coefficient update.

                LT            ERR       
                MPY       U                             ; compute
                PAC
                ADD       ONE, 15
                SACH     ERRF
                LACC      #N-1                      ; specify filter length
                SAMM  BRCH
                LAR        AR2, #WNM1     ; point to the last coefficient, wk(N-1)
                LAR        AR3, #XNM1      ; point to x(n-(N-1))
                LT            ERRF
                MPY       -, AR2                    ; compute
                RPTB      LMS-1                   ; update coefficients, wk+1(N)
                ZALR      *, AR3
                MPYA    *-, AR2
                SACH     *+
LMS       ZALR      *, AR3
                APAC
                SACH     *+

Dimana wn ¬ (k) adalah koefisien kth dari filter digital pada sampling nontian, µ adalah faktor stabilitas, dan x (n - k) adalah sampel data input kth pada baris delay kth.

Special-purpose DSP hardware


Kenapa special purpose?

Operasi pemrosesan sinyal digital intensif secara komputasi. Dalam aplikasi lebar pita lebar di mana kecepatan input / output data tinggi, sebagian besar digital untuk keperluan umum
Prosesor sinyal (DSPs) tidak dapat melakukan perhitungan yang diperlukan cukup cepat. Ini tentu saja alasan mengapa DSP tujuan umum sering ditemukan dalam aplikasi frekuensi audio. Selanjutnya, untuk aplikasi yang diberikan, kebanyakan DSP tujuan umum berisi banyak sumber daya on-chip yang berlebihan atau kurang dimanfaatkan, misalnya mode pengalamatan, set instruksi I / O peripheral. Dalam DSPs tujuan khusus, perangkat keras dioptimalkan untuk mengeksekusi suatu algoritma khusus untuk melakukan fungsi tertentu dalam aplikasi tertentu. Ini mengarah pada pemanfaatan sumber daya on-chip yang lebih besar dan peningkatan kecepatan operasi,


Persyaratan dasar dari special-purpose DSPs

Operasi aritmatik yang paling umum dalam algoritma DSP, seperti penyaringan digital, korelasi dan transformasi, adalah produk penjumlahan:

 

Dimana ak adalah seperangkat koefisien atau variabel dan xk suatu urutan data.
Persamaan karakteristik 12.17 dapat ditulis dalam bentuk rekursif untuk memungkinkan perhitungan yang lebih efisien dari jumlah produk:


Dimana


Dalam DSPs tujuan-khusus Persamaan 12.18 dihitung dengan multiplier-accumulator (MAC) pada tingkat yang sangat cepat, misalnya 40 ns per MAC.
Seperti DSP tujuan umum, arsitektur DSP tujuan khusus termasuk memori data, RAM dan / atau ROM, untuk menyimpan data dan variabel (seperti filter dari FFT coeffitients), perangkat keras cepat pengganda-akumulator, dan register sementara untuk menyimpan data atau hasil tengah.

Hardware digital filters


FIR digital filters
Filter FIR bentuk langsung dicirikan oleh persamaan berikut:


arsitektur dasar untuk filter digital FIR menggunakan blok-blok komponen individual. Komponen utama adalah koefisien dan ingatan data, unit input / output analod (ADC dan DAC), multiplier-accumulator (MAC), dan pengontrol (tidak ditampilkan). Komponen-komponen filter FIR dapat diimplementasikan dengan produk yang cepat, off-the-shelf.

IIR figital filter
Dalam hal ini, memori data menyimpan data inter node w (n). Bagian kanomik orde kedua standar pada Gambar 12.39 (a) dikarakterisasi oleh persamaan berikut:

               
Dimana x (n) mewakili data input, w (n) merepresentasikan simpul internal, y (n) adalah sampel keluaran dilter dan s1 adalah faktor skala.

Prosesor Hardware FFT
DFT mengambil satu set sampel domain N waktu dan mengubahnya menjadi satu set sampel domain frekuensi N, X (k). FFT adalah cara yang efisien untuk menghitung DFT
Koefisien, X (k). Aritmatika butterfly adalah operasi dasar dalam FFT. Seekor kupu-kupu dicirikan oleh persamaan berikut:


Di mana A dan B adalah sepasang data input data bernilai kompleks untuk kupu-kupu. A ’dan B’ adalah output dari kupu-kupu, dan WN adalah faktor terpadu, juga bernilai kompleks.
Setiap operasi kupu-kupu membutuhkan perkalian cinplex, apa itu W_N ^ k B, penambahan yang kompleks dan pengurangan yang rumit. Gambar 12.40 menunjukkan implementasi perangkat keras langsung dari prosesor kupu-kupu menggunakan blok individual unit aritmatika kompleks: multiplier akompleks dan sepasang akumulator kompleks. Pengganda kompleks menghitung istilah umum, W_N ^ k B. Kedua akumulator kompleks menghitung dua output kupu-kupu, A ’dan B’
waktu-nyata tanpa kehilangan data. Masximum untuk menyelesaikan N-point FFT adalah interval T1 = NT (s).


Penyusun:

            Daniel Ortaga                                Nandy Wahyu P                             Hilal Vilardo EDaniel Ortega Nandy Wahyu PutrantoHilal Vilardo E

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

pemrosesan sinyal digital, analog to digital converter circuit, analog to digital converter block diagram, analog to digital converter theory, pengolahan sinyal digital dengan pemrograman matlab pdf, digital signal processing, digital signal processing adalah, digital signal processing pdf, digital signal processing book, digital signal processing ppt, digital signal processing proakis, digital signal processing applications, pemrosesan sinyal digital pdf, pemrosesan sinyal digital adalah, pemrosesan sinyal digital john g proakis, pengolahan sinyal digital, pengolahan sinyal digital dengan pemrograman matlab, pengolahan sinyal digital pdf, pengolahan sinyal digital ebook, pengolahan sinyal digital ppt, rumus impuls, analog adalah, pengertian resolusi, pengertian pengolahan, digital adalah, pengertian konversi, pengertian transformasi, politeknik jambi, apa yang dimaksud dengan software, adc adalah, modulasi, fungsi radio, pengertian plc, pengertian mikrokontroler, data diskrit, materi transformasi, apa yang dimaksud dengan pengolahan, transformasi fourier, makalah gelombang elektromagnetik, diskrit, contoh soal pencerminan dan jawabannya, sinyal analog, definisi software, pengertian input dan output, perbedaan sinyal analog dan digital, perbedaan analog dan digital, pengertian analog, arti noise, sinyal adalah, converter adalah, jenis jenis sampel, makalah teknologi digital, pengertian bit, teknologi digital fisika, contoh data diskrit, sinyal 3, pengertian komunikasi digital, fungsi e learning, sinyal digital, modulasi digital, materi teknik elektro, pengertian sinyal, pengertian filter, mata kuliah teknik elektro, sinyal analog dan digital, tabel transformasi laplace, jenis mikrokontroler, pengertian a, sdr adalah, sinyal tri, apa itu converter, contoh soal bilangan kompleks dan penyelesaiannya, pengertian counter, contoh diktat, jelaskan perbedaan fungsi pertahanan dengan fungsi keamanan, jenis jenis mikrokontroler, materi elektronika dasar, dr aulia malang, macam macam sampling, contoh data kontinu, jenis jenis sampling, data kontinu, perbedaan am dan fm, modifikasi mixer 8 potensio, pengertian matlab, jenis jenis ic, contoh soal c1 c2 c3 c4 c5 c6, pengertian op amp, pengertian teknik elektro, contoh soal pencerminan, contoh soal deret fourier, deret fourier pdf, sinyal analog adalah, pengertian converter, fungsi converter, data diskrit dan kontinu, keluaran kr, pengolahan sinyal digital, utama audio, pengertian scada, jenis ic, cuplik, pengertian eigrp, kepanjangan adc, contoh pengolahan, contoh impuls dalam kehidupan sehari hari, sinyal digital dan analog, prinsip kerja op amp, aplikasi len, pengertian adc, makalah tentang gelombang elektromagnetik, pengertian pwm, merakit mixer 8 potensio, definisi radio, materi sistem digital, pengertian data diskrit, pengertian sistem digital, sinyal dan sistem, jenis jenis op amp, sinyal analog dan sinyal digital, arti adc, sinyal diskrit, frekuensi digital, mikrokontroler atmega16, kuliah teknik elektro, contoh soal deret fourier dan penyelesaiannya, prinsip kerja potensiometer, makalah tentang gelombang, definisi pengolahan, rangkaian adc, pengertian gambar digital, data analog, rumus frekuensi dan amplitudo, contoh sinyal analog, invers transformasi laplace, rumus adc, contoh soal op amp, konsep pengolahan audio, jenis ic dan fungsinya, contoh pencerminan, transformasi fourier pdf, jurnal akuisisi, apa yang dimaksud dengan filter, arti converter, sinyal data, perangkat pemroses, teknik pengolahan audio, rangkaian mixer 7 potensio, rangkaian band pass filter, adc dan dac, cara kerja multiplexer, pengertian analog dan digital, pengertian sinyal digital, perbedaan sistem analog dan digital, sistem digital pdf, rumus besar impuls, contoh soal komunikasi data, contoh aplikasi komunikasi data, sistem dinamis, definisi sinyal, gambarkan dengan model blok sistem kerja perangkat komputer, gambar counter, fungsi komparator, arti sinyal, data analog adalah, komponen digital, frekuensi cut off, converter waktu, pemrosesan sinyal digital, pengolahan sinyal, sinyal sinusoidal, pengertian low pass filter, pengertian sinyal analog dan digital, pengertian dac, materi scada, macam macam e learning, prinsip kerja adc, rangkaian low pass filter pasif, makalah gelombang elektromagnetik pdf, irwan kurniawan, contoh sinyal analog dan digital, prinsip kerja dac, transformasi laplace invers, analog to digital converter adalah, apa yang dimaksud dengan multiplexer, contoh sistem digital, fungsi adc, jenis jenis adc, prinsip kerja ic, pengertian komparator, alat yang mengubah sinyal analog menjadi digital atau sebaliknya adalah, cara menggambar tubuh manusia secara proporsional, contoh data digital, cara membuat blok diagram, contoh soal transformasi fourier, pengolahan sinyal digital pdf, data analog dan data digital, definisi broadcasting, contoh sensor analog, transmisi digital, pengertian audio digital, modul matlab, pengertian band pass filter, contoh soal penerapan matriks dalam kehidupan sehari hari, pengertian adc dan dac, macam macam ic op amp, materi kuliah teknik elektro, pengertian data digital, e learning itn, pengertian high pass filter, jenis jenis ic dan fungsinya, cara kerja adc, makalah tentang elektromagnetik, contoh aplikasi pengolah data, pengertian ramp, konversi analog ke digital, transmisi data analog dan digital, perbedaan data analog dan data digital, materi dasar elektronika, aplikasi transformasi laplace, cara kerja low pass filter, elektronika analog pdf, contoh rangkaian digital, rangkaian multiplexer dan contohnya, contoh analog dan digital, pengolahan audio, perbedaan alat ukur analog dan digital, contoh conversion, contoh soal refleksi terhadap sumbu y, sinyal x, pengertian elektronika daya, rumus low pass filter, kegunaan mikrokontroler, filter aktif pdf, sifat transformasi laplace, cara kerja emg, filter fir adalah, frekuensi gitar, contoh format bahan ajar, contoh data analog, filter iir adalah, pengertian folding, nilai angka digital dan bit adalah, sensor analog adalah, blok diagram sistem, aplikasi scada, fungsi dari e learning, makalah sistem digital, rangkaian converter, gambar komputer analog, pengertian conversion, rangkaian digital sederhana, fungsi low pass filter, silabus komunikasi data, materi teknik listrik, mata sensor ac, elearning itn, rangkaian komparator op amp, pengertian wireless sensor network, sistem analog dan digital, gambar novita, pengertian ladder diagram, pengertian fpga, konversi sinyal analog ke digital, rumus high pass filter, perbedaan data analog dan digital, aplikasi pengolah suara, frekuensi senar gitar, pengertian rangkaian digital, proses perubahan sinyal analog ke digital, komputer analog dan digital, cara kerja sinyal, contoh processing, definisi analog, pengertian konversi data, jenis jenis konverter, contoh gambar pencerminan, perbedaan adc dan dac, contoh soal sistem digital, contoh simulasi digital dalam kehidupan sehari hari, pengolahan sinyal digital ebook, sinyal audio, teknik komunikasi data digital, modul sampling, contoh soal transformasi laplace invers, contoh aplikasi rangkaian op amp, pengertian komputer menurut fuori, makalah transformasi laplace, materi elektronika analog, makalah ic, elektronika analog dan digital, pengertian audio analog, materi teknik pengolahan audio, contoh sistem analog, contoh aplikasi mikrokontroler, pengertian elektronika analog, pengertian optocoupler, sinyal fm, rangkaian digital pdf, pengertian frekuensi cut off, modul sistem digital, frekuensi cut off low pass filter, e learning itn malang, rangkaian mikrokontroler sederhana, rangkaian modulator am, materi deret fourier, contoh aplikasi sistem digital, rpp komunikasi data, analog ke digital, pengertian simulasi digital dan contohnya, aplikasi transformasi fourier, soal sistem digital, analog digital converter adalah, makalah modulasi digital, transformasi z pdf, komponen it, contoh block diagram, mengubah sinyal analog menjadi digital, jenis jenis rangkaian, modulasi fasa, pengertian signal generator, konverter analog ke digital, membuat amperemeter digital, soal dan jawaban menerapkan teknik elektronika analog dan digital dasar, jenis ic op amp, transformasi 2d, jenis ic digital, pengolahan sinyal digital dengan pemrograman matlab, sebutkan penggolongan macam macam perangkat lunak aplikasi, pengertian band stop filter, aplikasi pengolahan sinyal digital, rangkaian analog to digital converter, pengertian video analog dan digital, pengertian emg, pengertian timing diagram, aplikasi adc, pengertian teknik elektronika industri, fungsi mpeg, sistem digital dan analog, fungsi high pass filter, contoh soal dan pembahasan transformasi laplace, rumus daya akustik, pengantar komunikasi data, makalah dasar sistem kontrol, kelebihan dan kekurangan simulasi digital, contoh soal dimensi 2, materi dasar plc, pengertian dsp, pengertian analog to digital converter, contoh alat digital, pengertian sistem analog, pengertian sistem embedded, contoh aplikasi matlab, sistem kendali kontinyu, buku pengolahan sinyal digital, modulasi phasa, skema audio mixer 7 potensio, penguat sinyal radio am, maksud digital, pengertian audio analog dan audio digital, contoh soal dimensi 3 dan penyelesaiannya, audio utama, kelebihan dan kekurangan komputer analog, rangkaian adc 0804, makalah sistem pneumatik dan hidrolik, cara membuat h shifter, komponen delphi 7, membuat grafik pada matlab, pengertian digital to analog converter, jenis jenis mikrokontroler beserta gambarnya, makalah pneumatik hidrolik, proses konversi analog ke digital, apa yang dimaksud materi digital, materi register teknik digital, aplikasi elektronika digital, skema rangkaian mixer 7 potensio, soal menerapkan teknik elektronika analog dan digital dasar, materi elektronika analog dan digital dasar, soal elektronika digital, aplikasi rangkaian digital, keunggulan sistem digital, sistem telekomunikasi digital, rpp menerapkan teknik elektronika analog dan digital dasar, definisi plc secara umum, sifat sifat dari sistem komputer, contoh timing diagram, pembagian perangkat lunak secara garis besar, contoh makalah sistem digital, pengertian hamming code, makalah elektronika analog, materi audio digital, dimensi tiga matematika ppt, perbedaan audio digital dan analog, pengertian vhdl, buku sinyal dan sistem, fungsi rangkaian komparator, fungsi audio converter, sirkuit digital, sensor suara analog, alat untuk mengukur diameter senar gitar,

Iklan Bawah Artikel