Contoh Desain Filter Desimal yang Dapat Dikonfigurasi Ulang

Disarankan untuk:

  • Perangkat: Tidak Diketahui

  • Quartus®: v9.1

author-image

Oleh

Contoh ini menunjukkan cara mengimplementasikan filter desimal laju variabel multi-saluran di Intel® DSP Builder Advanced Blockset. Untuk banyak sistem pencitraan medis termasuk ultrasound dan magnetic resonance imaging (MRI) diperlukan filter desimal yang dapat dikonfigurasi ulang untuk mengurangi laju sampel data echo. Data yang dimasukkan memiliki laju sampel tetap; namun tingkat desimal integer perlu diubah secara real-time. Selain itu, total panjang filter tumbuh secara linear dengan laju desimal. Persyaratan serupa mungkin berlaku dalam aplikasi komunikasi nirkabel dan sistem lainnya. Struktur polifase sangat dioptimalkan untuk jenis aplikasi ini, karena jumlah multiplier diperbaiki pada waktu kompilasi dan tidak tumbuh dengan peningkatan kecepatan. Fitur utama desain ini adalah keran tunda sepanjang variabel dan penyimpanan koefisien filter yang efisien.

Fitur

Contoh desain ini memiliki fitur utama berikut:

  • Dukungan untuk tingkat desimal integer arbitrer, termasuk kasus tanpa perubahan laju sampel
  • Dukungan untuk jumlah saluran semena-mena, laju clock arbitrer, dan laju sampel input, selama clock rate cukup tinggi untuk memproses semua saluran dalam satu jalur data, atau dengan kata lain, tidak ada duplikasi perangkat keras
  • Dukungan untuk konfigurasi ulang run-time tingkat desimal
  • Penggunaan dua bank memori untuk penyimpanan koefisien filter alih-alih melakukan pra-penyimpanan koefisien untuk semua tingkat dalam memori. Fitur ini memungkinkan satu bank memori untuk diperbarui saat desain sedang membaca koefisien dari bank lain
  • Kontrol penskalaan real-time dalam datapath finite impulse response (FIR)

Deskripsi Fungsi

Desain menggunakan struktur filter desimal polifase bentuk langsung dan ditunjukkan pada Gambar 1. Kontroler alamat menghasilkan alamat baca memori koefisien, pemilih bank, dan alamat penulisan variabel keran tunda. Koefisien disimpan dalam blok RAM pada chip. Keran tunda variabel juga diterapkan dalam memori dua port, dan penunjuknya dikontrol oleh laju desimal saat ini. Jumlah pengganda tetap digunakan.

Gambar 1. Diagram blok dari desiator laju variabel.

Variabel blok tunda tap dalam contoh ini memiliki kedalaman run-time yang dapat dikonfigurasi ulang. Oleh karena itu, memori ini diimplementasikan sebagai memori elastis menggunakan blok RAM pada chip. Setiap keran tunda dialokasikan berdasarkan kasus terburuk. Jumlah penundaan aktual melalui blok keran tunda adalah berdasarkan tingkat desimal saat ini. Penunjuk tunggal atau sinyal alamat digunakan untuk operasi pembacaan dan penulisan ke keran tunda. Oleh karena itu Anda akan membaca dan menulis ke lokasi memori yang sama. RAM dua port dikonfigurasi untuk membaca konten memori lama, sehingga menyadari penundaan jumlah siklus tertentu.

Desain ini hanya menggunakan dua bank memori, dengan satu yang diperbarui sementara yang lain sedang dibaca. Antarmuka prosesor diperlukan untuk mewujudkan muatan ulang koefisien pada waktu proses.

Dalam skrip pengaturan untuk desain ini, kami mendefinisikan clock rate, laju desimal, panjang filter, mesin pengganda, dsb. Manajemen lebar bit juga skrip untuk parameterisasi. Parameter utama dan definisinya tercantum dalam tabel berikut.

Semua parameter dapat dimodifikasi untuk menargetkan desain yang berbeda. Kode HDL baru akan dihasilkan berdasarkan parameter yang diperbarui.

Untuk informasi lebih lanjut tentang merancang filter resampling di DSP Builder Advanced Blockset, silakan merujuk ke AN 623: Menggunakan DSP Builder Advanced Blockset untuk Menerapkan Filter Resampling (PDF).

Unduh file yang digunakan dalam contoh ini:

File dalam unduhan zip ini meliputi:

  • vardownsampler.mdl – Bench uji tingkat atas dan file desain DSP Builder Advanced Blockset untuk filter desimal yang dapat dikonfigurasi ulang
  • setup_vardownsampler.m – Skrip MATLAB* untuk mengonfigurasi inisialisasi dan parameter vardownsampler.mdl
  • vardownsampler_bare.mdl – File desain berdasarkan vardownsampler.mdl. Beberapa blok bench uji yang tidak dapat disintesis dihapus untuk generasi register transfer level (RTL)

Untuk informasi lebih lanjut tentang fitur terkait yang digunakan dalam contoh desain ini dalam proyek Anda, kunjungi:

Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.