Hochgeschwindigkeits-Signalverarbeitung

FPGA sticht DSP in der Ultraschallanalyse

25.08.2008 | Autor / Redakteur: Jürgen Kern* / Hendrik Härter

Bild 3: Einfache digitale Signalverarbeitung
Bild 3: Einfache digitale Signalverarbeitung

Das Auswerten komplexer digitaler Ultraschall-Signale erfordert eine hohe Rechenleistung und viel Speicher. Selbst schnelle DSPs stoßen dabei an ihre Grenzen. In dem hier vorgestellten, batteriebetriebenen Ultraschall-Auswertesystem für den Einsatz vor Ort und in der Notfallmedizin kam deshalb ein FPGA zum Einsatz.

In der Medizintechnik konnte sich in den letzten Jahren der Ultraschall in unterschiedlichen Gebieten etablieren: als Mikroskop, zur Lithotripsie zum Zertrümmern von Nieren- und Gallensteinen, zum Entfernen von Zahnstein und als bildgebendes Verfahren zur Diagnose und Darstellung.

Ultraschall breitet sich in verschiedenen Materialien unterschiedlich aus

Die Frequenzen des Ultraschalls liegen oberhalb von 20 kHz und somit jenseits des menschlichen Hörens. So genannte longitudinale Schalldruckwellen komprimieren und expandieren das durchschallte Medium. Die Ausbreitungseigenschaften sind materialspezifisch: die Ausbreitungsgeschwindigkeit einer Ultraschallwelle in Weichgeweben und Flüssigkeiten liegt beispielsweise bei 1450 bis 1580 m/s und in Knochen bei rund 3000 bis 4000 m/s. Diese Eigenschaft lässt sich für die medizinische Sonografie ausnutzen.

Inverser piezoelektrischer Effekt erzeugt Ultraschall

Mit dem inversen piezoelektrischen Effekt können in bestimmten Kristallen und Keramiken Ultraschallwellen erzeugt werden: Dabei wird ein elektrisches Wechselfeld an das piezoelektrische Material angelegt, was zu einer mechanischen Verformung (Zusammenziehen/Dehnen) des Materials führt. Die entstehende Ultraschallwelle breitet sich in dem angekoppelten Medium (Patient) wellenförmig aus.

Schallkopf für bildgebende Diagnostik

In der bildgebenden Ultraschalldiagnostik wird mit einem Schallkopf die Ultraschallwelle erzeugt. Er besteht aus bis zu 256 elektrisch einzeln angesprochenen Piezoelementen und erlaubt die Ultraschallwelle gepulst in den Körper mit einer entsprechenden Emissionsfrequenz zu übertragen. Das Echo wird mit dem gleichen Schallkopf aufgenommen und in elektrische Signale rückgewandelt. Diese eindimensionalen Signale hoher Frequenz werden in Echtzeit verarbeitet und in zweidimensionale Bildinformationen gerechnet, welche auf einem Display dargestellt oder weiterverarbeitet werden können.

Echtzeitverarbeitung der Signale

Bild 2: Prinzipbild des Schallkopfes
Bild 2: Prinzipbild des Schallkopfes

Die Echtzeitverarbeitung der gewandelten Ultraschallsignale stellt eine Herausforderung an die Signalverarbeitungseinheit dar. Der Schallkopf besteht in der gezeigten Anwendung aus 64 Transducer-Elementen, mit je einem Sende- /Empfangssignal pro Element. Bei einer Auflösung des Signals von 12 Bit und einer Abtastrate von 25 ns entsteht ein kontinuierlicher Datenstrom von 7680 MBit/s. Diese Datenmenge muss von der Signalverarbeitungseinheit bewältigt werden. Bild 2 zeigt die prinzipielle Arbeitsweise eines Schallkopfes.

Tabelle 1: Rechenbedarf einer einfachen Signalverarbeitung
Tabelle 1: Rechenbedarf einer einfachen Signalverarbeitung

Mit der einfachsten Signalverarbeitung lassen sich 2-D-Bilddaten erzeugen und das gescannte Bild auf einem Display darstellen. Bild 3 zeigt die dazugehörige Verarbeitungseinheit. Der Rechnenbedarf für ein System aus 16 Kanälen ist in Tabelle 1 dargestellt. Insgesamt werden etwa 7000 MOPS (Additionen/Multiplikationen) ausgeführt.

Akustischer Dopplereffekt für Blutstromgeschwindigkeit

Bild 4: Verarbeitungsschritte zur Doppleranalyse
Bild 4: Verarbeitungsschritte zur Doppleranalyse

Je nach zusätzlicher Auswertung der Ultraschalldaten steigt der Leistungsbedarf der Signalverarbeitungseinheit, zum Teil signifikant. Im vorliegenden Beispiel soll eine Doppler-Analyse umgesetzt werden. In der Medizin wird der akustische Dopplereffekt bei Ultraschalluntersuchungen ausgenutzt, um die Geschwindigkeit des Blutes darzustellen und zu messen. Ein komplexer Algorithmus stellt den Doppler-Effekt auf dem Bildschirm dar. Die dazu notwendigen Verarbeitungsschritte werden in Bild 4 gezeigt.

Tabelle 2: Rechenbedarf für die Doppler-Analyse
Tabelle 2: Rechenbedarf für die Doppler-Analyse

In der Tabelle 2 wird der benötigte Rechenbedarf gezeigt, um die Doppler-Analyse zu realisieren und vernünftig darstellen zu können. Insgesamt werden etwa 10.000 Millionen Operationen pro Sekunde (MOPS) ausgeführt.

Schaltung entweder mit DSPs oder FPGAs realisieren

Bei der Umsetzung musste entschieden werden, ob die Signalverarbeitung mit kommerziellen digitalen Signalprozessoren (DSPs) oder direkt in programmierbarer Hardware (FPGAs) umgesetzt werden soll. Dazu wurden leistungsfähige DSPs von Texas Instruments und FPGAs der Spartan 3A-Familie von Xilinx bzw. der Virtex 5-Familie von Xilinx, XC5VSX240T miteinander verglichen.

Nach dem Vergleich stellte sich heraus, dass nur mit FPGAs eine sinnvolle Lösung möglich war. Für die gleiche Rechenleistung mit DSPs müssten mehrere DSPs parallel betrieben werden. Die Folge wären höhere Bauteilekosten und ein höherer Programmieraufwand.

Komplette Signalverarbeitung als Single-Chip-Lösung

Tabelle 3: Vergleich der Leistungsdaten zwischen DSP und FPGA
Tabelle 3: Vergleich der Leistungsdaten zwischen DSP und FPGA

Für die Ultraschallanwendung wurde die FPGA-Familie „Spartan“ ausgewählt, da sie das beste Preis/Leistungsverhältnis bot. Das High-end FPGA wäre für diese Anwendung überdimensioniert und zu teuer. Das kostenoptimierte Modell aus der Spartan-Reihe passt zudem optimal zu der Anwendung in einem Ultraschall-Diagnosegerät.

Die Spartan 3A-Familie verfügt über zwei Chips, die auf DSP-Applikationen ausgerichtet sind (XC3SD1800A und XC3SD3400A). Mit diesen Chips ist es möglich, die komplette digitale Signalverarbeitung eines Ultraschallsystems in einer Single-Chip Lösung zu implementieren. Ein äquivalentes Vorgängersystem verwendete noch sechs FPGAs der „Virtex II-Familie“.

Eine Million Systemgatter zur Signalverarbeitung

Die Signalverarbeitung ist sehr komplex: mehr als eine Million Systemgatter bei den FPGAs. Und das bei sehr hohen Taktraten mit bis zu 500 MHz am Interface. Zu dem mussten die Signalverarbeitungsalgorithmen in die programmierbaren Gate-Arrays implementiert werden, ohne zu viele Systemgatter zu verbrauchen.

Bedingung dazu war ein modular aufgebautes Design, das mit strukturierten Design Flows implementiert wurde. Die Signalverarbeitungsalgorithmen wurden in der plattformunabhängigen Programmiersprache Matlab entwickelt. Die Design-Spezifikationen wurden nach der von NetModule entwickelten „Structured Analysis and Design“-Methode entworfen und anschließend in VHDL codiert. Als Tool diente Visual VHDL von Summit Design.

Design Pattern halfen beim Implementieren

Zum Implementieren halfen Design Pattern, die analog zur objektorientierten Programmierung von Software mit VHDL eingesetzt werden können. Dabei werden Problemlösungen auf einem relativ hohen Abstraktionsniveau beschrieben und in verschiedenen Designs wiederverwendet. Design Patterns sind nicht zu verwechseln mit IPs. Der Vorteil liegt in der Wiederverwendbarkeit von Problemlösungen, die zuvor in anderen Designs erarbeitet wurden. Dabei ist das Design transparent und gut zu warten.

Verifikation mit VHDL-Testbenches

Für die Verifikation wurden VHDL-Testbenches implementiert, welche über eine Script-Sprache gesteuert werden und die Simulationsergebnisse teilweise automatisch überprüfen können. Es lassen sich Regression Tests realisieren, die nach Modifikationen erforderlich sind. Verwendet wurde der Visual HDL-Simulator und ModelSim.

Die anschließende Synthese erfolgte mit Synplify PRO und das Place-and-Route mit dem Tool ISE. Dieses Tool des Herstellers der FPGAs war vor allem beim Platzieren der Clock-Elemente und kritischen Interface-Modulen hilfreich.

*Jürgen Kern ist Geschäftsführer bei netModule in Niederwangen, Schweiz.

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 267737 / Embedded Boards & PCs)