Beispiel für umkonfigurierbare Dezimierungsfilter

Empfohlen für:

  • Gerät: Nicht bekannt

  • Quartus®: v9.1

author-image

Von

Dieses Beispiel zeigt, wie Sie einen Filter zur Dezimierung mehrerer Kanäle mit variabler Rate im Intel® DSP Builder Advanced Blockset implementieren. Für viele medizinische Bildgebungssysteme, einschließlich Magnetresonanztomographie (MRT), ist ein neu konfigurierbarer Dezimierungsfilter erforderlich, um die Echodaten-Abtastrate zu reduzieren. Die Eingabedaten haben eine feste Abtastrate; Die Integer-Dezimierungsrate muss jedoch in Echtzeit geändert werden. Darüber hinaus wächst die gesamte Filterlänge linear mit der Dezimierungsrate. Ähnliche Anforderungen können für Wireless-Kommunikationsanwendungen und andere Systeme gelten. Die Polyphasenstruktur ist für diese Art von Anwendungen hoch optimiert, da die Multiplikatorzahl zur Kompilierungszeit festgelegt ist und nicht mit einer Ratesteigerung wächst. Die wichtigsten Merkmale dieses Designs sind die Verzögerungshahne mit variabler Länge und die effiziente Filterspeicherung.

Funktionen

Dieses Designbeispiel hat die folgenden Hauptfunktionen:

  • Unterstützung für beliebige Integer-Dezimierungsraten, einschließlich der Fälle ohne Änderung der Samplerate
  • Unterstützung einer beliebigen Anzahl von Kanälen, beliebiger Taktrate und Eingabe-Sample-Raten, solange die Taktrate hoch genug ist, um alle Kanäle in einem einzigen Datenpfad zu verarbeiten, oder mit anderen Worten, keine Hardware-Duplikation
  • Unterstützung für die Laufzeit-Neukonfiguration von Dezimierungsraten
  • Verwendung von zwei Speicherbanken für Filterspeicher, anstatt Speicher für alle Speicherraten vorbewahren zu müssen. Mit dieser Funktion kann eine Speicherbank aktualisiert werden, während das Design Die andere Bank liest
  • Echtzeit-Steuerung der Skalierung im datenpfad "impulse response" (OFN)

Funktionelle Beschreibung

Das Design verwendet eine Direktform-Polyphasen-Dezimierungsfilterstruktur und ist in Abbildung 1 dargestellt. Der Adresscontroller generiert die Leseadresse des Speichers, einen Bankwähler und die Schreibadresse der variablen Verzögerung. Die Chips sind in On-Chip-RAM-Blöcken gespeichert. Die variablen Verzögerungshähne werden auch in Dual-Port-Speicher implementiert, und der Pointer wird durch die aktuelle Dezimierungsrate gesteuert. Es wird eine feste Anzahl von Multiplikatoren verwendet.

Abbildung 1. Blockdiagramm des Variable Rate Decimator.

Die Blöcke mit variabler Tap-Delay in diesem Beispiel haben eine neu konfigurierbare Laufzeittiefe. Daher werden sie als elastische Speicher mit On-Chip-RAM-Blocks implementiert. Jeder Verzögerungshahn wird basierend auf dem worst case zugewiesen. Die tatsächliche Anzahl der Verzögerungen durch einen Verzögerungs-Tap-Block basiert auf der aktuellen Dezimierungsrate. Ein einzelnes Pointer- oder Adresssignal wird sowohl für die Lese- als auch für das Schreiben in den Verzögerungshahn verwendet. Aus diesem Grund werden Sie den gleichen Speicherspeicherort lesen und schreiben. Der Zwei-Port-RAM ist so konfiguriert, dass alter Speicherinhalt ausgelesen wird, wodurch eine Verzögerung einer bestimmten Anzahl von Zyklen realisiert wird.

Dieses Design verwendet nur zwei Speicherbanken, wobei eine aktualisiert wird, während die andere gelesen wird. Eine Prozessorschnittstelle wird benötigt, um das Nachladen der Prozessoren zur Laufzeit zu realisieren.

Im Setup-Skript für dieses Design haben wir die Taktrate, Dezimierungsrate, Filterlänge, Multiplikator-Engine usw. definiert. Die Verwaltung der Bitbreite wird auch für die Parameterisierung geschrieben. Die wichtigsten Parameter und ihre Definitionen sind in der folgenden Tabelle aufgeführt.

Alle Parameter können an unterschiedliche Designs angepasst werden. Basierend auf den aktualisierten Parametern werden neue HDL-Codes generiert.

Weitere Informationen zum Design von Resampling-Filtern in DSP Builder Advanced Blockset finden Sie unter AN 623: Using the DSP Builder Advanced Blockset to Implement Resampling Filters (PDF).

Laden Sie die in diesem Beispiel verwendeten Dateien herunter:

Zu den Dateien in diesem ZIP-Download gehören:

  • vardownsampler.mdl – DSP Builder Advanced Blockset Aufsteiger-Teststand und Designdatei für neu konfigurierbare Dezimierungsfilter
  • setup_vardownsampler.m – SKRIPT FÜR "BEREITSTELLUNG*", um die Initialisierung und die Parameter von vardownsampler.mdl zu konfigurieren
  • vardownsampler_bare.mdl – Designdatei basierend auf vardownsampler.mdl. Einige nicht-überprüfbare Testbank-Blocks werden für die Register-Transfer-Level-Generation (RTL) entfernt

Weitere Informationen zu verwandten Funktionen, die in diesem Designbeispiel in Ihrem Projekt verwendet werden, siehe:

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.