DSP System Toolbox

Hauptmerkmale

  • Als MATLAB System Objects und Simulink-Blöcke verfügbare Algorithmen
  • Simulation von Streaming-, Frame- und Multiraten-Systemen
  • Signalquellen- und I/O-Unterstützung für Multimediadateien und -geräte, einschließlich ASIO-Treiber und Mehrkanalaudio
  • Entwurfsmethoden für spezialisierte Filter, darunter parametrische Equalizer sowie adaptive, Multiraten-, Oktav- und Akustik-Bewertungsfilter
  • Architekturen zur Implementierung von Filtern, wie Second Order Sections und digitalen Lattice Wave-Filtern
  • Signalmessung für Spitze-Spitze-, Spitze-Effektivwert-, Statusschätzungsmetriken und Metriken zur zweistufigen Wellenform
  • FFT, Spektralschätzung, Windowing, Signalstatistiken und Lineare Algebra
  • Unterstützung von Algorithmen für Fließkomma-, Ganzzahl- und Festkommadatentypen
  • Unterstützung für die Modellierung von Festkomma-Arithmetik sowie die Generierung von C- und HDL-Code
Acoustic noise cancellation algorithm using System objects in MATLAB.
Ein Rauschunterdrückungs-Algorithmus, der mit System Objects in MATLAB arbeitet (oben links). Die Filterkoeffizienten können visualisiert und so ihre Werte vor (oben rechts) und nach der Anpassung (unten rechts) verglichen werden.

DSP-Algorithmen für den Systementwurf und das Prototyping

Mit der DSP System Toolbox lässt sich das Verhalten von Systemen mathematisch modellieren und dann das Modell zur präzisen Vorhersage und Optimierung seiner späteren Leistung simulieren. Die Toolbox erlaubt die Simulation digitaler Systeme sowohl in MATLAB als auch in Simulink. In Simulink lassen sich mit der Toolbox auch komplexe Systeme wie Mixed-Signal- und Mehrdomänensysteme modellieren.

Die Algorithmen der DSP System Toolbox eignen sich als Komponenten zum Aufbau der Signalverarbeitungs-Anteile von Systemen für die Daten- und Sprachübertragung, die Bild- und Videoverarbeitung, die Medizintechnik, industrielle Anwendungen sowie von Audio- und RADAR-Systemen.

Bibliotheken mit DSP-Algorithmen

Alle Algorithmen der System Toolbox – ob als MATLAB-Funktionen, MATLAB System Objects oder Simulink-Blöcke implementiert – können Fließkommawerte mit einfacher und doppelter Genauigkeit verarbeiten. Die meisten Algorithmen unterstützen außerdem Ganzzahl- und Festkommadatentypen (hierfür ist die Fixed-Point Designer™ erforderlich).

Die Toolbox enthält folgende Algorithmentypen:

  • Signaloperationen wie Faltung, Windowing, Padding, die Modellierung von Laufzeitverzögerungen sowie die Ermittlung von Spitzenwerten und Nulldurchgängen
  • Signaltransformationen wie Fast-Fourier-Transformation (FFT), diskrete Kosinustransformation (DCT, Discrete Cosine Transform), Short-Time-Fourier-Transformation und diskrete Wavelet-Transformation (DWT, Discrete Wavelet Transform)
  • Methoden zur Entwicklung und Implementierung digitaler FIR- und IIR-Filter
  • Statistische Signalverarbeitungstechniken für die Signalanalyse und Spektralschätzung
  • Signalverwaltungsmethoden wie Pufferung, Indizierung, Switching, Stapelung und Warteschlangen
  • Routinen für die Lineare Algebra wie Solver für lineare Systeme und für die Faktorisierung und Invertierung von Matrizen
  • Kodierung und Dekodierung durch Skalar- und Vektor-Quantisierung
Partial list of System objects available in MATLAB, with category view of blocks available for use in Simulink, with expanded views of the Signal Processing Sources and Transforms block libraries.
Auswahl der in MATLAB verfügbaren System Objects (oben) und Kategorienansicht von Blöcken; in Simulink nutzbare Blöcke sind nach Kategorien geordnet und darin die Blockbibliotheken für Signalverarbeitungsquellen und Transformationen aufgeklappt (unten).

Modellierung von Multiratensystemen

Die DSP System Toolbox unterstützt die Multiratenverarbeitung und damit die Abtastratenkonvertierung sowie die Modellierung von Systemen, in denen Komponenten mit unterschiedlichen Abtast- oder Taktraten zusammenarbeiten. Die Multiratenfunktionalität umfasst Multiratenfilter und ermöglicht Signaloperationen wie Upsampling, Downsampling, Interpolation, Dezimierung und Resampling.

Sigma-delta A/D converter model in Simulink showing signals operating at multiple sample rates.
Simulink Modell eines Sigma-Delta-A/D-Wandlers, dessen Signale unterschiedliche Abtastraten haben.

Signale variabler Größe

Die DSP System Toolbox unterstützt Signaleingaben, deren Größe und Werte sich während der Ausführung verändern. Eine Teilmenge der System Objects und Simulink-Blöcke unterstützt Signale variabler Größe, deren Größe während der Simulation oder während definierter Modiwechsel, wie sie bei der Initialisierung bedingt ausgeführter Subsysteme auftreten, veränderlich ist. Durch die Unterstützung für Signale variabler Größe lassen sich Systeme modellieren, die auch veränderliche Ressourcenverfügbarkeiten, Beschränkungen und Umgebungen berücksichtigen.

Entwurfsmethoden für adaptive, Multiraten- und spezialisierte Filter

Die DSP System Toolbox bietet vielfältige Methoden für den Entwurf und die Implementierung digitaler Filter. Sie können damit Tiefpass-, Hochpass-, Bandpass- und Bandstop-Filter sowie Filter mit anderen Antworttypen entwickeln. Dazu stehen Filterstrukturen wie Direct-Form-FIR, Overlap-Add-FIR, Direct-Form II mit Second Order Sections, Kaskaden-Allpass sowie Lattice-Strukturen zur Verfügung.

Sie können Filter mithilfe von MATLAB-Funktionen, Apps oder Simulink-Blöcken entwerfen.

Die DSP System Toolbox unterstützt eine Vielzahl von Entwurfsmethoden wie etwa:

  • Erweiterte Equiripple-FIR-Filter wie Constrained-Ripple-Filter und Entwürfe mit Mindestordnungen und Mindestphasen
  • Nyquist- und Halbband-FIR- und -IIR-Filter für Linearphasen-, Mindestphasen- und Quasilinearerphasen (IIR)-Filter sowie Equiripple-, Sloped Stopband- und Fenstermethoden
  • Optimierte Mehrstufenentwürfe, bei denen die Anzahl der Kaskadenstufen auf eine möglichst geringe Rechenkomplexität hin optimiert wird
  • Fractional-Delay-Filter wie Implementierungen mit Farrow-Filterstrukturen, die vor allem für abstimmbare Filteranwendungen geeignet sind
  • Allpass-IIR-Filter mit beliebiger Gruppenverzögerung, die Gruppenverzögerungen anderer IIR-Filter kompensieren und so einen annähernd linearen Phasengang im Durchgangsbereich erzielen
  • Digitale Lattice Wave-IIR-Filter für robuste Festkomma-Implementierungen
  • FIR- und IIR-Filter mit beliebiger Amplitude sowie Phase, mit denen sich praktisch jede Filterspezifikation realisieren lässt
Specialized filter designs in MATLAB showing LMS adaptive filter applied to a noisy music signal, arbitrary magnitude filter design, direct-form FIR filter responses for fixed-point data types, and octave filter design.
Spezialisierte Filterentwürfe in MATLAB: Ein auf ein verrauschtes Signal angewendeter adaptiver LMS-Filter (oben links), ein Filter mit beliebiger Amplitude (oben rechts), Direct-Form-FIR-Filter für Festkommadatentypen (unten links) sowie ein Oktavfilter (unten rechts).

Adaptive Filter

Die DSP System Toolbox enthält verschiedene Methoden für den Entwurf adaptiver Filter: LMS- oder RLS-basiert, affine Projektion, Fast Transversal, Frequenzdomäne und Lattice-basiert. Darüber hinaus bietet die Toolbox Algorithmen zur Analyse dieser Filter wie Koeffizientenverfolgung, Lernkurven und Konvergenz.

Multiratenfilter

Die DSP System Toolbox enthält Funktionen für den Entwurf und die Implementierung von Multiratenfiltern wie.Polyphaseninterpolatoren, Dezimatoren, Abtastratenwandlern, CIC-Filtern und -Kompensatoren und unterstützt mehrstufige Entwürfe. Zusätzlich bietet sie spezialisierte Analysefunktionen zur Schätzung der Berechnungskomplexität von Multiratenfiltern.

Interactive design of a lowpass filter in the Filterbuilder tool and visualization of magnitude response.
Ein interaktiv im Filterbuilder entworfener Tiefpassfilter (links) sowie dessen Amplitudengang (rechts).

Spezialisierte Filter für DSP-Anwendungen

Mit der DSP System Toolbox können Sie spezialisierte digitale Filter wie die folgenden entwerfen:

  • Audio-Gewichtungsfilter, Oktavfilter und parametrische Equalizer-Filter für Audio-, Sprach- und Akustikanwendungen
  • Pulse Shaping-, Glocken- oder Kerb- und Multiratenfilter für Kommunikationssysteme
  • Kalman-Filter für die Luft- und Raumfahrt sowie für Navigationssysteme

Integration von Filtern in Simulink-Systemmodelle

Alle mit der DSP System Toolbox entworfenen digitalen Filter lassen sich auch in System Level-Modelle in Simulink integrieren. Mit MATLAB-Funktionen und System Objects können Sie aus MATLAB-Filterentwürfen bitgenaue Simulink-Modelle erzeugen. Die in Simulink verfügbaren Blockbibliotheken für den Filterentwurf können außerdem zusammen mit der DSP System Toolbox für den direkten Entwurf, die Simulation und die Implementierung von Filtern in Simulink genutzt werden.

Verarbeitung von Streaming- und Frame-Signalen

Die DSP System Toolbox unterstützt sowohl die Verarbeitung von Streaming-Signalen als auch die framebasierte Verarbeitung in MATLAB und Simulink und ermöglicht so die effiziente Simulation von Echtzeit-Signalverarbeitungssystemen.

Streaming- und Frame-Verarbeitungsmethoden beschleunigen Simulationen, da Eingabedaten als einzelne Frames gepuffert und mehrere Datensamples gleichzeitig verarbeitet werden. Durch Verteilung des starren Verarbeitungs-Overheads auf mehrere Samples werden Simulationen schneller ausgeführt. Obwohl dadurch eine gewisse Latenz in das System eingebracht wird, lassen sich in vielen Fällen die Framegrößen so wählen, dass der Datendurchsatz erhöht wird, ohne die Latenzzeit zu groß werden zu lassen.

In MATLAB wird die Verarbeitung von Streaming-Signalen durch System Objects ermöglicht, die datengetriebene Algorithmen, Quellen und Senken darstellen. Diese System Objects übernehmen für das Streaming typische Aufgaben wie die Datenindizierung, die Pufferung und die Verwaltung von Algorithmenzuständen. System Objects können mit gewöhnlichen MATLAB-Funktionen und -Operatoren gemischt werden. MATLAB-Programme, die System Objects verwenden, können mithilfe des MATLAB Function-Blocks in Simulink-Modelle integriert werden. Für die meisten System Objects sind außerdem Simulink-Blöcke mit identischer Funktionalität vorhanden.

In Simulink verarbeiten Blöcke der DSP System Toolbox Eingabesignale in Form von Frames, wenn im Blockdialog der Modus hierfür entsprechend eingerichtet ist. Für Systeme mit kurzen Latenzzeiten sowie für Anwendungen, die eine Skalarverarbeitung erfordern, unterstützt die DSP System Toolbox aber auch die samplebasierte Verarbeitung. Viele Blöcke unterstützen sowohl samplebasierte als auch framebasierte Verarbeitungsmodi.

Envelope detection algorithm illustrating stream processing in MATLAB with System objects.
Dieser Algorithmus zur Hüllkurvenerkennung demonstriert die Stream-Verarbeitung in MATLAB mit System Objects. Dargestellt sind die Simulationsergebnisse einer Hüllkurvenerkennung durch Hilbert-Transformation sowie durch Amplitudenmodulation.

Signalerzeugung, I/O und Visualisierung

Erzeugung und Import von Signalen

Die DSP System Toolbox kann Signale aus einer Vielzahl verschiedener Quellen nutzen und ermöglicht:

  • Den Import von Audiosignalen aus Multimediadateien
  • Die Aufzeichnung von Audiodaten von Soundkarten
  • Die Erfassung von Mehrkanal-Audiodaten in Echtzeit
  • Den Empfang von UDP-Paketen über IP-Netzwerke

Simulationsergebnisse können in Audiodateien oder auf Audiogeräte exportiert sowie als UDP-Pakete über IP-Netzwerke übertragen werden.

Mit den Funktionen der Toolbox lassen sich zudem Binär- und Zufallssignale sowie Wellenformen wie Sinus- und Chirp-Signale erzeugen.

Visualisierung von Signalen im Zeit- und Frequenzbereich

Die DSP System Toolbox enthält verschiedene Tools für Visualisierungen im Zeit- und Frequenzbereich: Das Time Scope, das Spectrum Scope, das Vector Scope sowie das Waterfall Scope.

Visualizing time-domain signals in the Time Scope tool.
Visualisierung von Zeitbereichssignalen im Time Scope-Tool. Mit der Simulationssteuerung des Time Scope lassen sich Simulationen starten, pausieren und beenden.

Das Time Scope zeigt Signale im Zeitbereich an und unterstützt verschiedene Signaltypen – kontinuierliche und diskontinuierliche Signale, Signale fester und variabler Größe, Fließkomma- und Festkommadaten sowie n-dimensionale Signale. Auf den gleichen Achsen lassen sich mehrere Signale gleichzeitig anzeigen, die ganz unterschiedliche Dimensionen, Abtastraten und Datentypen besitzen können. Die Simulationssteuerung des Time Scope gestattet es außerdem, Simulationen zu starten, zu pausieren und zu beenden sowie Snapshots aufzunehmen, ohne zwischen Fenstern wechseln zu müssen.

Das Spectrum Scope schätzt das Spektrum eines Zeitbereichs-Eingangssignals und zeigt dann seine Frequenzen auf einer linearen oder logarithmischen Skala an. Es verfügt außerdem über Scope-Parameter zur Einstellung von FFT-Länge, Puffergröße und -überlappung sowie der verwendeten Maßeinheiten.

Beim Vector Scope handelt es sich um ein Vielzweck-Tool mit ähnlichem Funktionsumfang wie ein digitales Oszilloskop. Mit ihm lassen sich aufeinanderfolgende Zeit-Samples von Vektoren visualisieren oder Vektoren mit Daten wie Filterkoeffizienten oder Spektralamplituden herausgreifen.

Das Waterfall Scope zeigt mehrere Datenvektoren gleichzeitig an, wobei jeder Vektor die Eingangsdaten zu aufeinanderfolgenden Abtastzeiten darstellt. Dieses Tool zeigt ausschließlich reelle Daten mit doppelter Genauigkeit an.

Festkommaimplementierung von/Codegenerierung aus Modellen von DSP-Systemen

Zusammen mit der Fixed-Point Designer lassen sich mit der DSP System Toolbox Algorithmen für die Verarbeitung von Festkommasignalen modellieren sowie der Einfluss der Quantisierung auf das Verhalten und die Leistung solcher Systeme analysieren.

Die DSP System Toolbox unterstützt:

  • Wortlängen von 1 bis 128 Bit
  • Überlauf- und Rundungsmethoden
  • Die Protokollierung von Überläufen, Maxima und Minima interner Variablen
  • Manuelle und automatische Skalierungen
  • Optionen zum Override von Datentypen und damit zur Steuerung der auf der Systemebene verwendeten Datentypen

Festkomma-Modellierung und -Simulation

Die System Objects und Blöcke in der DSP System Toolbox lassen sich auf Modi für den Festkommabetrieb konfigurieren, wodurch bereits vor der Hardware-Umsetzung Trade-off-Analysen mit verschiedenen Wortlängen, Skalierungen, Überlauf- und Rundungseinstellungen ermöglicht werden.

Die folgenden DSP-Algorithmen unterstützen Festkommamodi:

  • FFTs, DCTs, IFFTs, IDCTs und andere Signaltransformationen
  • Digitale Filter-, Biquad-Filter-, LMS-Filter- und andere Filterimplementierungen
  • Mittelwerte, Varianzen, Autokorrelationen, Histogramme und andere Statistiken
  • Levinson-Durbin, Vorwärtssubstitution, Rückwärtssubstitution und andere Solver für lineare Systeme
  • Matrizen-Multiplikationen, Matrizenprodukte, Matrizensummen, Matrizen 1-Norm und andere Matrizen-Operationen
  • Kumulative Produkte, kumulative Summen, Differenzen, Normalisierungen und andere mathematische Operationen

In Simulink automatisiert die DSP System Toolbox die Konfiguration von Blöcken für Festkommaoperationen und nimmt dabei folgende Einstellungen vor:  

  • Akkumulator- und Multiplizierer-Größen werden so eingestellt, dass die Kompatibilität mit bestimmten Hardware-Targets gewährleistet ist.
  • Das Binärkomma von Filterkoeffizienten wird automatisch auf der Basis der vom Anwender eingestellten Wortlänge und Genauigkeit sowie der aktuellen Werte gesetzt.
  • Bei der Produktausgabe bleiben sämtliche Bits der Produkte aus Filterkoeffizienten und Eingangswerten erhalten.
  • Der Akkumulator wird so konfiguriert, dass keine Überläufe entstehen.
Block dialog for FFT block in DSP System Toolbox.
Blockdialogfeld für den FFT-Block der DSP System Toolbox. Das Dialogfeld enthält Optionen zur Festlegung der Festkomma-Datentypen von Akkumulator-, Produkt- und Ausgabesignalen (erfordert Simulink Fixed-Point).

Entwurf von Festkomma-Filtern

Mit den Filterentwurfs-Funktionen der DSP System Toolbox lassen sich Fließkommafilter entwerfen und dann mit der Fixed-Point Toolbox direkt in Festkommadatentypen konvertieren. Dieser Workflow vereinfacht den Entwurf von Festkommafiltern und ermöglicht die unkomplizierte Analyse von Quantisierungseffekten.

Generieren von C- und HDL-Code

Zusammen mit dem MATLAB Coder und dem Simulink Coder lässt sich aus Algorithmen und Systemmodellen C-Code generieren. Der dabei erzeugte Code eignet sich zur Verifikation, zum Rapid Prototyping sowie zur Implementierung von Systemen im Rahmen der Produktentwicklung.

Der Filter Design HDL Coder kann gemeinsam mit der DSP System Toolbox aus Entwürfen für digitale Filter HDL-Code generieren. Unter Simulink kann außerdem aus Blöcken der DSP System Toolbox mit dem HDL Coder ebenfalls HDL-Code generiert werden.

Probieren Sie DSP System Toolbox

Testsoftware anfordern

Multirate Systems and Sample Rate Conversion with MATLAB

Webinar anzeigen