Go to: www.scheidig.de

Spektrumanalysator und Oszilloskop mit der Soundkarte ( Autor: Hardy u. Karola Scheidig)



1.1 Vorwort

Mit der Soundkarte hat nunmehr nahezu jeder PC die Fähigkeit in gewissen Grenzen analoge Signale zu erfassen.Die AD-Wandler von Soundkarten erreichen je nach Ausstattung bereits bis zu 196 kHz Abtastrate.Gute Soundkarten können Bandbreiten bis knapp 100 kHz erfassen.Diese Eigenschaften reichen bereits aus, ein für NF-Zwecke durchaus brauchbares digitales Oszilloskop zu realisieren.
Es ist Ziel dieses Projektes, einen einfachen digitalen Signalanalyser für

  • den Zeitbereich (Oszilloskop)
  • und den Frequenzbereich (Spektrumanalysator)
    basierend auf der Soundkarte zu entwickeln.


    Hardy u. Karola Scheidig
    (Januar 2009)

    1.2 Historie

      Version   Datum   Bemerkung
      1.0   25.01.2009   Grundversion
      1.1   30.01.2009   Erweiterung auf den Spektrumanalysator
      2.0   31.05.2009   Erweiterungen zum Signalanalyser
      2.1   16.01.2010   Erweiterung SoundGen, AKF und KKF
         

    1.3 Urheberrechtsbestimmung

    Der Inhalt dieses Werkes mit allen Texten und Abbildungen ist,soweit nicht anders gekennzeichnet, das geistige Eigentum von Hardy und Karola Scheidig.
    Es unterliegt den deutschen und internationalen Urheberrechtsbestimmung.
    Alle Rechte vorbehalten.

    2 Einführung

    2.1 Grundprinzip der Signalanalyse mit Soundkarte

    Messprinzip:
    Die folgende Darstellung illustriert das Messprinzip.Die zugehörige Beschreibung gibt einen Überblick über die Funktionalität.

    Abbildung1 -  Messprinzip
    Abbildung 1 - Messprinzip

    Computer:

  • Der Computer beherbergt die beiden Blöcke "User Interface" und "Signalverarbeitung"
  • Das User Interface ist eine grafische Oberfläche zur Eingabe von Bedienparametern sowie zu Visualisierung von Kurvenverläufen und Ergebnissen.
  • Der Signalverarbeitungsblock dient
  • der Datenaufzeichnung
  • der Realisierung der Triggerfunktionalität
  • sowie der Durchführung von Signalverarbeitungsalgorithmen.
  • "User Interface" und "Signalverarbeitung sind im Programm "WilyOszi" zusammengefasst.
  • Soundkarte:

  • Die Soundkarte ist der eigentliche Teil der Signalerfassung.
  • Externe als auch interne Soundkarten können zur Anwendung kommen.
  • Wenn Stereoeingänge verfügbar sind, können zwei unabhängige Signale erfasst und verarbeitet werden.
  • Achtung !
    Es wird empfohlen externe Soundkarten zu benutzen. Dies ist sinnvoll, da bei der messtechnischen Verwendung je nach Sorgfalt ein gewisses Risiko der Beschädigung oder sogar Zerstörung der Soundkarte besteht. Bei externen Soundkarten ist die Wahrscheinlichkeit höher, dass sich ggf. die Beschädigung auf die externe Karte reduziert.
    Einfache externe Soundkarten sind bereits für wenige Euro zu haben.
  • 2.2 Architektur der Signalverarbeitung

    Das folgende Bild illustriert die Architektur der Signalverarbeitung

    Architectur

    Device:

  • Das Device (in diesem Fall Soundkarte) dient der Datenerfassung, Vorverarbeitung und Triggerung
  • Data Conversion:
  • Bedeutet hier die analog zu digital Wandlung der eingehenden Signale
  • Es wird hier von zwei unabhängigen Einganssignalen ausgegangen.
  • An dieser Stelle geht die Abtastrate (FSampling) als Parameter ein
  • PreProcessing:
  • Hier findet eine Vorverarbeitung der Signale (z.B. Mischung und Filterung) statt.
  • Derzeit noch nicht verfügbar
  • Capture Tool:
  • Dies ermöglicht die Realtime Datenaufnahme in ein File
  • Siehe --> Capture Tool
  • Trigger:
  • Im Trigger Block wird festgelegt, wann und wie viel Daten zwecks weiterer Verarbeitung aufgenommen werden.
  • Der Start der Aufnahme kann sofort (Free Run) oder in Abhängigkeit von wählbaren Signal Parametern (z.B. Überschreiten eines bestimmten Signalpegels) erfolgen
  • siehe --> Triggerung
  • Hier gehen Trigger Parameter sowie die MeasTime ein.
  • Channel Buffer:

  • Symbolisiert den Daten Buffer für die beiden Kanäle A und B, welcher die aufgenommenen Rohdaten für die weitere Verarbeitung zwischenspeichert.
  • Der Channel Buffer ermöglicht es nach einer Datenaufnahme mittels Single-Button, die Daten wahlweise, nachträglich im Zeitbereich und im Frequenzbereich auszuwerten.
  • Nach dem Channel Buffer teilt sich die Signalverarbeitung in zwei Zweige auf:
  • Verarbeitungszweig im Zeitbereich (Oszilloskop)
  • Verarbeitungszweig im Frequenzbereich (Spektrumanalysator)
  • Dies ist zweckmäßig, da es letztlich um die Visualisierung der Signal geht und die y=f(x) Darstellung für verschiedene x (z. B. Zeit und Frequenz) gleichzeitig in einem Diagramm zu unübersichtlich und kompliziert ist.
    Die Auswahl zwischen Zeitbereich und Frequenzbereich erfolgt indirekt über die Einstellung der x1-Source .
    Siehe --> Haupt-Menü --> Einstellung der x-Achse


    Signal Processing (im Zeitbereich):

  • Neben dem Trivialfall, der simplen Weiterleitung der Daten, können hier verschiedene Operationen auf die einzelnen Channels oder auch Kombinationen ausgewählt werden.
  • Die Auswahl der Operationen erfolgt mittels Y1(a,b) Source (Src)
  • Siehe --> Haupt-Menü Y1a / Y1b
  • Operationen sind beispielsweise:
  • Channel A – Channel B
  • (Channel A)2
  • ....
  • Siehe --> Haupt-Menü Y1a / Y1b
  • Signal Processing (im Frequenzbereich):

  • Vor den eigentlichen Operationen erfolgt hier zuerst die Fensterung sowie die nachfolgende Überführung in den Frequenzbereich (FFT)
  • FFT Window (Fensterung):
  • Bei der Fensterung werden die Zeitbereichsdaten mit einer so genannten Fensterfunktion multipliziert. Dies entspricht im Frequenzbereich einer Faltung des fourier-transformierten Messsignals mit der fouriertransformierten Fensterfunktion.
  • Das Trivialfenster ist das Recheckfenster, welches bereits durch die zeitlich begrenzte Beobachtungsdauer unabwendbar aufgeprägt ist. Im Frequenzbereich transformiert ergibt das zeitliche Recheckfenster eine sin(x) /x –Funktion , welche nicht zuletzt wegen ausgeprägten "Nebenkeulen" und dem steilen Abfall der Betragsfunktion zum nächsten Bin nachteilig für die Spektrumsanalyse ist.
  • Zur Optimierung der jeweiligen Messaufgabe stehen verschiedene Fensterfunktionen (FFT Window) zur Auswahl.
  • Siehe auch --> Fensterung
  • FFT:
  • Dieser Block transformiert das Signal in den Frequenzbereich.
  • Darauf folgend können, ähnlich der Signalverarbeitung im Zeitbereich, verschiedene Operation auf das Signal angewendet werden.
  • Siehe --> Haupt-Menü Y1a / Y1b
  • Es sind auch sehr spezielle Operationen wie die Schätzung der Übertragungsfunktion (Transfer Function Estimation Tfe) von einem Kanal zu dem anderen Kanal möglich. Dies erlaubt die Durchführung einer einfachen Netzwerkanalyse (z. B. das Vermessen des Frequenzgangs eines Audio-Verstärkers).
  • siehe auch --> Messungen im Frequenzbereich.

  • Das so verarbeitete Signal wird in den folgenden Blöcken auf die Darstellung vorbereitet.

    Trace Function:

  • Dieser Block führt eine weitere Selektierung der letztendlich dargestellten Daten durch.
  • Im einfachsten Fall ist dies eine einfache Weitergabe der Daten (Clear/ Write).
  • Es sind aber auch Funktionen zum punktweisen Selektieren des Maximum's oder Minimus (Max Hold, Min
    Hold) bzw. zur Mittelung (Average) aufeinander folgender Datenblöcke möglich.
  • Siehe --> Haupt-Menü Y1a / Y1b

  • Style:

  • Dieser Block definiert die Art der Darstellung des Signals.
  • Darstellung als Linie , Punkte …
  • Siehe --> Haupt-Menü Y1a / Y1b

  • Snapshot:

  • Der Snapshot ermöglicht es einen "Schnappschuss" des aktuell Traces (y1a oder y1b) im
    Snapshot Buffer zu speichern. Dies ist hilfreich für den Vergleich von verschiedenen
    Messsignalen
  • Die Anzeige des Snapshot kann aktiviert / deaktiviert werden. ( Enable Snapshot)
  • Die Aktualisierung des Snapshot Buffers erfolgt mittels jeweiligen Snapshot-Button.

  • Color:

  • Dient der Auswahl der Farbe der verschiedenen Traces.
  • Siehe --> Haupt-Menü Y1(a,b) Color

  • Display:

  • Dieser Block symbolisiert Funktionalität der eigentlichen grafischen Darstellung der Messdaten.
  • x-Limits, y-Limits:
  • Die Darstellungsgrenzen können in x- und y-Richtung entsprechend der Erfordernisse frei
    gewählt werden (Editierbare Werte)
  • Zoom:
  • Ermöglicht die Anpassung der Darstellungsgrenzen mittels Maus.
  • Cursor:
  • Es sind zwei Cursor verfügbar, welche mittels Maus oder Tastatur bestimmten Punkten
    des Messsignals zugeordnet werden.
  • Für die entsprechenden Punkte werden sodann die entsprechenden x-y Werte, sowie
    deren Differenz als Zahlenwerte dargestellt.

  • X-Achse:

  • Die Daten für die X-Achse werden durch die x1-Source ausgewählt.
  • Für die entsprechende Messung (Zeitbereich oder Frequenzbereich) wird die Zeit oder die
    Frequenz der X-Achse zugeordnet.
  • Die so genannte X-Y Darstellung, in welcher ein Messsignal in Abhängigkeit des anderen
    dargestellt wird, ist ebenfalls möglich.
  • Siehe --> Haupt-Menü

  • 3 Programm SpekOszi

    3.1 Überblick und Eigenschaften

    Das Programm "SpekOszi" enthält die Grafisches User Interface und Messalgorithmen

    Abbildung2-GUI SpekOszi
    Abbildung2- GUI SpekOszi

    Eigenschaften (Features):

  • Unterstützte Geräte zur Datenerfassung:
  • vorerst nur Soundkarte
  • Sampling Rate:
  • Standard Soundkarten Sampling Raten sofern von der jeweiligen Soundkarte unterstützt.
    11.025kHz, 22.050 kHz, 44.100 kHz, 48 kHz, 96 kHz, 192 kHz
  • Darstellungen:
  • Channel[1,2] versus Time
  • Channel[1,2] versus Frequency
  • Channel[1,2] versus Channel[2,1]
  • Trace Funktionen:
  • Clear/Write, Max Hold , Min Hold, Moving Average (2,5,10)
  • Anzahl der Traces :
  • 2 realtime Traces
  • plus jeweils ein statischer Snapshot
  • Farben frei wählbar
  • Trigger Funktionalität:
  • Trigger Type:
  • Free Run
  • positive Flanke
  • negative Flanke
  • Trigger Sources:
  • Channel[1,2]
  • Betrag von Channel[1,2]
  • Trigger Offset
  • -MeasTime+2 Samples … MeasTime
  • Messzeiten ( Beobachtungslänge ):
  • 100 Samples … 100000 Samples
  • Cursor-Funktinalität
  • x / y Anzeiger zweier unabhängiger Cursoren
  • Differenz der Cursoren
  • Zoom Funktionalität
  • Mittels Maus grafisch frei wählbarer Ausschnitt
  • Links/ Rechts Maus Tasten Funktionalität
  • Zudem können die Anzeige Limits per Eingabe frei gewählt werden.
  • Autofit Funktionalität
  • getrennt jeweils für x- und y-Achse
  • Zusätzliche Tools:
  • Capture Funktion
  • Alle Datensätze können in Files abgespeichert werden.
  • 3.2 Generelle Menüs, Dialoge und Settings / Action Buttons

    3.2.1 Haupt-Menü

    Abbildung 3 - Menu SpekOszi-
    Abbildung 3 - Menu SpekOszi

    Menü Beschreibung
    File
    Abbildung -File
    Allgemeine Einstellungen zum Lesen und Schreiben der Settings.
    Load Settings   Öffnen eines Dateiauswahldialoges zur Auswahl eines gespeicherten Einstellungsdatensatzes (Settings) (*.osz).
    SaveSettings   Öffnen eines Dateiauswahldialoges zur Eingabe der Zieldatei (*.osz) zum speichern der aktuellen Einstellungen.
    Export ...   Speichern der aktuellen Programmdarstellung mit allen Anzeigen in einen *emf File als Bild.
    Print ...   Drucken der aktuellen Programmdarstellung mit allen Anzeigen als Bild. Gedruckt wird auf den aktuell eingestellten Drucker.
    Exit   Verlassen des Programms
     
    Device
    Abbildung -Device
    Einstellungen des Eingangsdevices.
    SoundCard   Eingangsdevice ist die Soundkarte
    SDS200   Eingangsdevice ist das SDS200, Funktion steht in der Douwnloadversion nicht zur Verfügung!
     
    SoundGen
    Abbildung -SoundGen
    Einstellungen der Soundkarte.
    Settings   Öffnen des Dialoges zur Auswahl der Soundkarte
    --> Device --> SoundCard --> Settings
    Volume   Öffnen des Dialoges zur Einstellung des Signallevels der Soundkarte
    --> Device --> Soundcard --> Volume
     
    X1
    Abbildung -X1
    Einstellungen zur X - Achse.
    Abbildung -Einstellungen zur X - Achse. Time Der X – Achse wird die Zeit zugeordnet.(normaler Oszilloskope Mode)
    Y1a Der X- Achse wird das über Y1a definierte Signal zugeordnet. Diese ermöglicht die Darstellung Kanal A vs. Kanal B
    Y1b Der X- Achse wird das über Y1b definierte Signal zugeordnet.
    Frequency (FFT) Messung im Frequenzbereich
    (abs(fft(channel))).
    Dies ist der Spektrum Analyser Mode.
    Time-"Eye View" Augendiagrammdarstellung. In der ersten Version deaktiviert.
     
    Y1a / Y1b
    Abbildung -Y1a/Y1b
    Einstellungen für Trace "Y1a" und "Y1b" der Y – Achse
    Src:
    Abbildung -SRC
    Siehe Kapitel --> Messungen im Zeitbereich
    FFT Src:
    (abs(fft(Channel))

    Abbildung -FFT SRC
    Siehe Kapitel --> Messungen im Frequenzbereich
    DC Remove Entfernt den berechneten Mittelwert des gesamten Eingangsdatensatzes um einen eventuellen Gleichanteil der Daten zu entfernen.
    Style:
    Abbildung -Style
    Solid Line Die Messpunkte werden mit durchgezogenen Linien verbunden.
    Dotted Line Darstellung der einzelnen Messpunkte als gepunktete Linie.
    Dots Darstellung der einzelnen Messpunkte als Punkte ohne Verbindung.
    Off Der Trace wird nicht dargestellt.
    Function:
    Abbildung -Function
    Clear – Write Anzeige der aktuellen Messergebnisse.
    Max – Hold Anzeige der maximalen Messergebnisse seit Start der Messung bzw. der letzten Änderung von Einstellungen.
    Min – Hold Anzeige der minimalen Messergebnisse seit Start der Messung bzw. der letzten Änderung von Einstellungen.
    Average 2 Anzeige des Mittelwertes der letzten [2, 5, 10] Messergebnisse seit Start der Messung bzw. der letzten Änderung von Einstellungen. (gleitende Mittlung)
    Average 5
    Average 10
    Enable Snapshot   Aktiviert / Deaktiviert den Snapshot Trace von Y1[a,b] sowie den zugehörigen Snapshot Button --> siehe Snapshot
    Color
    Abbildung -Color
    Trace Color Einstellung der Farbe des Traces von Y1[a,b]
    --> Y1[a,b] --> Color --> TraceColor und --> Snapshot Color
    Snapshot Color Einstellung der Farbe des Snapshot Traces von Y1[a,b]
    --> Y1[a,b] --> Color --> TraceColor und --> Snapshot Color
     
    Tools
    Abbildung -CaptureTool
    Capture Tool   Öffnet einen Dialog zur Auswahl eines Verzeichnisses, in welchen pro Messaufnahme die Daten gespeichert werden.
    --> Siehe Capture Tool
     
    SoundGen
    Abbildung -SoundGen
    xxxxxxxxxx
    Off    
    PRBS14    
    PRBS13    
    PRBS12    
     
    About Abbildung -About
    Öffnet das About Anzeigefenster

    3.2.2 Dialoge

    3.2.2.1 Device --> SoundCard --> Settings

    Dieser Dialog dient der Auswahl der Soundkarte:

    Abbildung 4-Einstellung der Soundkarte
    Abbildung 4 – Einstellung der Soundkarte

    Siehe --> Offene Punkte --> Optimierung Dialog Select Soundcard

    Einstellung / Anzeige Art Beschreibung
    Soundcard Auswahlbox In dieser Box erscheinen alle im Gerät aktiven Soundkartentreiber
    F – Sample Auswahlbox In dieser Box erscheinen alle Abtastraten des selektierten Soundkartentreibers.
    Bits per Sample Anzeige Es wird die maximale Einstellung der Bits per Sample angezeigt.
    OK Button Die Einstellungen des Soundkartentreibers und F – Sample werden gespeichert und übernommen.
    Abbrechen Button Die letzte Einstellung des Soundkartentreibers und F – Sample bleiben bestehen.

    3.2.2.2 Device --> Soundcard --> Volume

    Zur Optimierung der Genauigkeit ist es wichtig, dass die Soundkarteneingänge gut ausgesteuert sind.
    Die "Level-Anzeige" dient der Einstellung einer optimalen Aussteuerung. Am Soundkarteneingang sollte man den Line-Eingang (also nicht den Mikrofoneingang) benutzen und nur eine möglichst geringe Verstärkung einstellen.
    Die Balance muss mittig stehen.

    Abbildung 5 – Einstellung Soundkarteneingang
    Abbildung 5 – Einstellung Soundkarteneingang


    3.2.2.3 Y1[a,b] --> Color --> TraceColor und --> Snapshot Color

    Öffnet den Standard Dialog zur Farbauswahl des ausgewählten Traces bzw. Snapshots

    Abbildung 6 – Einstellung der Tracedarstellungsfarbe
    Abbildung 6 – Einstellung der Tracedarstellungsfarbe

    3.2.3 Settings / Action Buttons

    Die Settings und Action Buttons sind im rechten Bereich der Anzeige untergebracht.

    3.2.3.1 Snapshot

    Mittels der Snapshot Funktion kann ein aktuelles Messergebnis für Y1a bzw. Y1b festgehalten werden. Um die Zuordnung visuell zu erleichtern, wird die Schrift in der aktuell eingestellten Farbe des Traces (Y1[a,b] --> Coor) dargestellt.
    Der Button "Snapshot" wird über das Menü "Y1[a,b]--> Enable Snapshot" aktiviert/deaktiviert.

    Deaktivierter Snapshot Aktivierter Snapshot
    Abbildung -Deaktivierter Snapshot Abbildung -Aktivierter Snapshot

    Abbildung 8 – Action Button Snapshot

    Mit dem Druck auf den Button Snapshot wird das aktuelle Messergebnis des entsprechenden Traces Y1[a,b] zusätzlich angezeigt und nun festgehalten, bis erneut ein Snapshot erzeugt wird oder die Snapshot - Funktionalität deaktiviert wird.

    3.2.3.2 Achsenscalierung

    In den weißen Feldern werden die aktuellen Grenzen der X und Y Achse angezeigt. Sie sind manuell veränderbar und wirken dann sofort auf die aktuelle Einstellung.

    Abbildung 9 -Settings Achsenscalierung Abbildung 9 -Settings Achsenscalierung

    Abbildung 9 – Settings Achsenscalierung

    Die Buttons Y: und X: haben jeweils ein "rechte Maus Button" Menü.

  • Y:
  • Fit Limits:
    Optimieren der Y - Achsenskalierung auf die aktuellen Messergebnisse.
  • X:
  • Fit Limits:
    Optimieren der X - Achsenskalierung auf die aktuellen Messergebnisse.
  • Der Button Y bzw. X führt ebenfalls die Aktion "Fit Limits" aus. Während der Aktion wird die Farbe des Buttons auf gelb umgestellt.

    3.2.3.3 Cursor & Zoom

    Es können 2 Cursors oder der Zoom aktiviert werden. Die gelbe Farbe gibt an, welcher Cursor bzw. ob der Zoom gerade für die Mausbedienung aktiviert ist.

    Abbildung10-Settings und Action Buttons  Cursor & Zoom
    Abbildung 10 – Settings und Action Buttons Cursor & Zoom

    Ergebnisse / Button Pfeiltasten --> und -->
    Linke bzw. rechte Maus
    Beschreibung
    Button: C1 Mit den Pfeiltasten kann der aktive Cursor auf den Trace verschoben werden. Ist der Button gelb, ist der entsprechende Cursor für den Klick mit der Maus auf einen Trace und die Pfeiltasten aktiv.
    Button: C2
    Ergebnisse C1 / C2:   Es wird der zum Cursor zugehörige X und Y Wert angezeigt.
    Ergebnis dC   Es wird die Differenz zwischen beiden Cursors jeweils für X und Y angezeigt.
    Ergebnis F (Hz)   Aus dem Abstand der Cursor wird eine Frequenz mittels 1/dC errechnet und angezeigt.Diese Funktion gibt es nur in der Zeitbereichsdarstellung.
    Button: Zoom Mittels linker bzw. rechter Maustaste (innerhalb des Bereiches der Trace Grafik) erfolgt das ZoomIn bzw. ZoomOut. Ist der Button gelb, so ist der Zoom aktiv und die Mausklicks innerhalb des Bereiches der Trace Grafik gelten für den Zoom.

    3.2.3.4 Start / Stop / Single

    Die Action Buttons „Start“ , „Stop“ und „Single“ steuern die eigentliche Messwertaufnahme.

    Abbildung 11 - Action Buttons  Start / Stop / Single
    Abbildung 11 - Action Buttons  Start / Stop / Single
    Abbildung 11 - Action Buttons  Start / Stop / Single



    Abbildung 11 - Action Buttons Start / Stop / Single


    Button Beschreibung
    Start Start der Messwertaufnahme. Der Text des Buttons wird auf Stop gesetzt und der Single Button wird deaktiviert.
    Stop Beenden der Messwertaufnahme. Der Text des Buttons wird auf „Start“ gesetzt und der Single Button wird aktiviert. Bis zum Stoppen der Messung wird die Farbe des Buttons geändert.
    Single Durchführung einer einzelnen Messung. Während der Messung ändert sich die Farbe des Buttons. Die Einzelmessung kann durch den Stop – Button gestoppt werden.

    3.2.3.5 Triggerung

    Abbildung 12  - Settings und Anzeige der Triggereinstellung
    Abbildung 12  - Settings und Anzeige der Triggereinstellung

    Abbildung 12 - Settings und Anzeige der Triggereinstellung

    Anzeige / Eingabe Beschreibung
    Trg-Type: Einstellung des Triggertypes
  • Free Run
    Kein Trigger aktiv, die Messwertaufzeichnung erfolgt so schnell wie
    möglich und ohne zusätzliches Event. Die Einstellungen Trg-Source,
    Trg-Offset und Trg-Level sind deaktiviert.
  • Pos. Edge
    Es wird auf die positive Flanke des Signals getriggert. Überschreitet diese
    den eingestellten Trg-Level, werden die Messdaten gespeichert und mit
    den eingestellten Trg-Offset angezeigt.
  • Neg. Edge
    Es wird auf die negative Flanke des Signals getriggert. Unterschreitet diese
    den eingestellten Trg-Level, werden die Messdaten gespeichert und mit den
    eingestellten Trg-Offset angezeigt.
  • Aufgenommenes Signal
    Trg-Source: Einstellung der Triggersource
  • Ch.A
    Die Daten von Channel 1 der Soundkarte sind Eingangsdaten der
    Triggerlogik.
  • Ch.B
    Die Daten von Channel 2 der Soundkarte sind Eingangsdaten der
    Triggerlogik.
  • Abs(Ch.A)
    Der Betrag der Daten von Channel 1 der Soundkarte sind Eingangsdaten
    der Triggerlogik.
  • Abs (Ch. B)
    Der Betrag der Daten von Channel 2 der Soundkarte sind Eingangsdaten
    der Triggerlogik.
  • Triggersource
    Trg-Offset (Smp): Einstellung des Triggeroffsets. Die Eingabe erfolgt in Samples. Der in Zeit (ms)
    umgerechnete Wert wird in der Anzeige Trg-Offset (ms) dargestellt.
    Der Triggeroffset gibt den Abstand vom Triggerzeitpunkt an, mit welchen das
    Signal dargestellt werden soll.
    Der Maximal/Minimalwert des Triggeroffsets ist auf die MeasTime begrenzt.
    Triggersource
    Trg-Offset (ms): Die Einstellung des Trg-Offset erfolgt in Samples. In dieser Anzeige wird der
    eingestellte Wert in eine Zeit (ms) umgerechnet und dargestellt.
    Trg-Level: Mit dem Triggellevel wird der Level angegeben, bei welchen über bzw.
    Unterschreiten der Triggerzeitpunkt erkannt werden soll.

    3.2.3.6 Messeinstellung

    Die Messeinstellungen bestimmen die Aufzeichnungslänge und zeitliche Auflösung der Messdaten.

    Abbildung 13  - Settings und Anzeige der Messeinstellung
    Abbildung 13 - Settings und Anzeige der Messeinstellung

    Anzeige / Eingabe Beschreibung
    MeasTime (smp) Einstellung der Anzahl der Samples, die aufgezeichnet werden sollen.
    Unter des Eingabefeldes wird die Messzeit entsprechende der eingestellten
    Abtastrate als Zeit dargestellt.
    F - Sample Öffnet den Dialog zur Einstellung der Soundkarte und Übernimmt die Eingabe
    der Abtastrate. Der Wert hat Einfluß auf die dargestellte Messzeit.
    Siehe Device--> SoundCard --> Settings

    3.2.4 Tools

    3.2.4.1 Capture Tool

    Über das Capture Tool können die erfassten Messdaten neben der grafischen Anzeige auch in Files aufgezeichnet werden.Beim Aktivieren wird über den Dialog

    Ordner suchen

    Das Verzeichnis eingestellt, in welchen die gespeicherten Ausgabefiles abgelegt werden. Die gespeicherten Daten werden in Files mit der Namenskonvention „Wo__TT_MM_JJJJ__st_m_se_ms.bin“ abgelegt, wobei:

    TT: Tag
    MM: Monat
    JJJJ: Jahr
    st: Stunde
    m: Minute
    se: Sekunde
    ms: Millisekunde

    Die Daten werden binär gespeichert und können gemäß dem nachfolgenden Matlab – Code ausgelesen werden:

    function y = ReadWoFile(chFileName)
    close all
    fp = fopen(chFileName, 'r');
    lenHeader = fread(fp, 1, 'uint');
    lenData = fread(fp, 1, 'uint');
    header = fread(fp, 1, 'uint');
    channel1 = fread(fp, lenData, 'float');
    channel2 = fread(fp, lenData, 'float');
    fclose(fp);

    Aktuell enthält der Header nur ein UINT32 mit der Version des Headers.

    3.2.4.2 Capture Data Tool --> noch nicht verfügbar !

    Das Tool Capture Data zeichnet eine beliebe Anzahl von Samples ohne Pause in eine Datei. Die
    Daten werden nicht parallel mit dargestellt.

    Capture Data

  • MeasTime:
    Eingabe der Anzahl der aufzuzeichnen Samples. Die Anzahl der Samples wird entsprechend der
    eingestellten Abtastrate in Zeit umgerechnet und dargestellt.
  • F – Sample:
    Angezeigt wird die aktuell eingestellte Abtastrate. Durch Betätigung des Buttons wird der Dialog
    „SelectSoundCard“ (Device--> SoundCard --> Settings)geöffnet und die Soundkarte bzw. dessen
    Abtastrate kann eingestellt werden.
  • Capturefilename
    Es wird eine Fileselectionsbox geöffnet, in welcher eine Datei angegeben werden kann.
    Vorzugsweise *.bin.
  • Start
    Der Startbutton ist erst aktiv, wenn ein Dateiname angegeben wurde. Bei Start wird die
    Datenaufzeichnung gestartet. Der Fortschritt ist über die Progressbar ersichtlich. Am Ende der
    Aufzeichnung schließt sich der Dialog.
  • Abbruch
    Mittels Abbruch kann der Dialog geschlossen werden. Ist eine Datenaufzeichnung aktiv, so wird
    diese unterbrochen.

  • Die Daten werden binär gespeichert und können gemäß dem nachfolgenden Matlab – Code
    ausgelesen werden:

    function y = ReadWoFile(chFileName)
    close all
    fp = fopen(chFileName, 'r');
    lenHeader = fread(fp, 1, 'uint');
    lenData = fread(fp, 1, 'uint');
    header = fread(fp, 1, 'uint');
    channel12 = fread(fp, lenData * 2, 'float');
    channel1 = channel12(1:2:end);
    channel2 = channel12(2:2:end);
    fclose(fp);

    Aktuell enthält der Header nur ein UINT32 mit der Version des Headers.

    3.3 Messungen im Zeitbereich

    3.3.1 Menü

    Für die Allgemeinen Einstellungen siehe --> Haupt-Menü

    Menü Beschreibung
    Y1a / Y1b
    Y1a/Y1b
    Einstellungen für Trace "Y1a" und "Y1b" der Y - Achse
    Src:
    Src
    Channel A Datenquelle für y1[a,b] ist Channel A der Soundkarte
    Channel B Datenquelle für y1[a,b] istChannel B der Soundkarte
    AKF (Ch A/B) Normierte Autokorrelation
    KKF (Ch A, Ch B) Normierte Kreuzkorrelation

    3.3.2 Settings / Action Buttons

    Für die allgemeine Beschreibung siehe --> Settings / Action Buttons

    3.3.3 Erweiterte Messungen im Zeitbereich

    Neben den altbekannten, üblichen Oszilloskopmessungen (wie z.B. Signal vs. Time), können auch erweiterte Signalverarbeitungsroutinen angewendet werden.
    Diese sind:

  • Normierte Autokorrelation / Autokovarianz
  • Normierte Kreuzkorrelation / Kreuzkovarianz
  • 3.3.3.1 Autokorrelation

    Die Autokorrelation ist die Korrelation eines Signals mit sich selbst.
    Die Autokorrelation ermöglicht es Zusammenhänge bzw. Ähnlichkeiten zwischen Teilabschnitten des erfassten Signals aufzuspüren.
    Das Maximum der Autokorrelation ist an der Stelle t=0, da das Signal im unverschobenen Zustand am besten zu sich selbst passt. Das es bei der Autokorrelation darum geht, gewissermaßen ein Maß für die Ähnlichkeit zu geben, ist es sinnvoll, die punktweisen Ergebnisse auf das Maximum der Autokorrelationsfunktion zu normieren (normierte Autokorrelation). Die maximale Ähnlichkeit ist somit durch den Wert 1 gegeben.

    Eine Ähnlichkeit von Signalabschnitte ist natürlich bei Vorhandensein eines Gleichanteils unmittelbar gegeben. Schon allein der oftmals nicht kompensierte Gleichanteil von AD-Wandlern, wie auch bei der Soundkarte, würde bereits eine große Ähnlichkeit induzieren, welche gegebenenfalls interessantere Ergebnisse überdeckt. Aus diesem Grund ist es möglich, mittels Y1a/Y1b => DC Remove den Gleichanteil zu eliminieren. Das so entstehende Ergebnis entspricht dann der Autokovarianz.

    Die in Spekoszi implementierte Art der Autokorrelation entspricht der so genannten zyklischen Autokorrelation. Die Ergebnisse der zyklischen Autokorrelation sind spiegelsymmetrisch zu tmess/2.
    Zudem wird der Betrag der Korrelationsergebnisse dargestellt.

    3.3.3.2 Kreuzkorrelation

    Die Kreuzkorrelation ist die Korrelation zweier Signale.
    Die Kreuzkorrelation ermöglicht es Zusammenhänge bzw. Ähnlichkeiten zwischen zwei verschiedenen Signalen zu entdecken.
    Das es bei der Kreuzkorrelation darum geht, gewissermaßen ein Maß für die Ähnlichkeit der beiden Signale zu geben, ist es sinnvoll, die punktweisen Ergebnisse zu normieren (normierte Kreuzkorrelation). Die Normierung erfolgt auf das Produkt der Wurzeln der mittleren Leistung des jeweiligen Signal.

    Eine Ähnlichkeit von Signalabschnitte ist natürlich bei Vorhandensein eines Gleichanteils unmittelbar gegeben. Schon allein der oftmals nicht kompensierte Gleichanteil von AD-Wandlern, wie auch bei der Soundkarte, würde bereits eine große Ähnlichkeit induzieren, welche gegebenenfalls interessantere Ergebnisse verdeckt. Aus diesem Grund ist es möglich, mittels Y1a/Y1b => DC Remove den Gleichanteil zu eliminieren. Das so entstehende Ergebnis entspricht dann der Kreuzkovarianz.

    Die in Spekoszi implementierte Art der Kreuzkorrelation entspricht der so genannten zyklischen Kreuzkorrelation. Die zyklische Kreuzkorrelation liefert Ergebnisse für den Bereich der relativen Signalverschiebung -tmess/2...0... + tmess/2.
    Zudem wird der Betrag der Korrelationsergebnisse dargestellt.

    3.3.4 Messbeispiele

    1. Channel1 und Channel2 versus Time:

    Channel1 und Channel2  versus Time:

    2. Channel1 vesrus Channel2 (Lissajous Figure):

    Channel1 vesrus Channel2 (Lissajous Figure):

    3. Echo / Reflexions - Messung mittels PRBS14-Signal (siehe --> Generatorfunktion) und AKF:

    Echo / Reflexions - Messung  mittels PRBS14-Signal:

    Bei dieser Messung wurde das PRBS-Signal auf einen Lautsprecher ausgegeben. Ein ca. 60cm langes und am Ende verschlossenes Rohr wurde in die Nähe der Signalquelle gehalten. Am Eingang des Rohres wurde ein Mikrofon als Signalsensor platziert.
    Es ist ein deutliches Echo bei ca. 3.58ms zu sehen. Über die Schallgeschwindigkeit folgt:
    343 m/s * 3.58ms = 1.23m. Dies entspricht dem Schallweg (hin und zurück ) des abgeschlossenen Rohres.

    3.4 Messungen im Frequenzbereich

    3.4.1 Übersicht


    3.4.1.1 Einführung

    Bei Messungen im Frequenzbereich steht nicht der zeitliche Verlauf des Signals, sondern dessen spektrale Manifestation im Fokus des Interesses. Die Darstellung im Frequenzbereich ermöglicht es< spezielle Eigenschaften des Signals besser visualisieren und beurteilen zu können, als dies durch eine Darstellung im Zeitbereich möglich wäre.
    Für ein einzelnes Messsignal bedeutet dies beispielsweise für den einfachsten Messfall, wie viel der Leistung des beobachteten Signalausschnittes welcher Frequenz zuzuordnen ist. Dies könnte beispielsweise dann von Interesse sein, wenn das Messsignal ein Gemisch aus verschiedenen Sinussignalen (im Prinzip ist dies, wenn man so will, eigentlich immer der Fall) besteht.
    Praktische Beispiele hierfür sind:

  • Die Beurteilung der Linearität bzw. des Klirrfaktors eines Audioverstärkers.
  • Nichtlinearitäten führen dazu, das ein einzelner Ton teilweise in so genannte Obertöne (vielfache der ursprünglichen Tonfrequenz) umgewandelt werden.
  • Die Beurteilung der Eigenschaften von Filtern.
  • Hoch/ Tief/ Bandpass, Grenzfrequenzen …
  • Die Beurteilung von Audiosignale allgemein (z.B von einem Mikrophon aufgenommen)
  • Die Feststellung der "einzelnen Sinuskomponenten" eines Signalgemisches.
  • ....
  • Prinzipielle Funktion:
    Die Überführung des Signals vom Zeitbereich in den Frequenzbereich erfolgt mittels FFT nach Fensterung.

    Formel

    3.4.1.2 Fensterung

    Fensterung ist die Multiplikation der Zeitbereichsdaten mit einer so genannten Fensterfunktion w(t) Dies entspricht im Frequenzbereich einer Faltung des fourier-transformierten Messsignals mit der fouriertransformierten Fensterfunktion.
    Das Trivialfenster ist das Recheckfenster, welches ohne weiteres Zutun bereits durch die zeitliche Begrenzung des zu transformierenden Zeitsignals ergibt. Es entspricht der Multiplikation aller Samples mit eins. Die zeitliche Begrenzung des Messsignals (also das Trivialfenster) führt allerdings zu unerwünschten Effekten im Frequenzbereich, welche die Beurteilung des Signals erschweren bzw. verschiedene Signalparameter ggf. verfälschen.
    Unerwünschte Effekte des Trivialfensters:

  • Amplitudenfehler:
  • Dieser ergibt sich, wenn die Frequenz einer Signalkomponente zwischen zwei Bin's (diskrete Frequenzpunkte, für welche die Transformation gemäß Dfmin= 1/Tmeas Ergebnisse liefert) liegt.
  • Durch den steilen Abfall des fouriertransformierten Rechteckfensters kann sich im schlechtesten Fall ein Amplitudenfehler von ca. 4dB ergeben. Das heißt das Signal wird ggf. ca. 4dB schwächer dargestellt als es ist.
  • Nebenkeulen :
  • Die fouriertransformierte des Rechteckfensters ist eine sin(x)/x Funktion. Diese Funktion zeichnet sich durch periodisch wiederkehrende vergleichsweise hohe Spitzenwerte aus.
  • Das heißt das eine Sinuskomponente (ergibt im Spektrum eine diskrete Linie) durch das Rechteckfenster starke periodisch wiederkehrende Nebenlinien erzeugt. Diese könnten ggf. eine schwächere Signalkomponente bei einer andern Frequenz überdecken.
  • Diese Effekte sollen durch die Verwendung alternativer Fensterfunktionen gemindert werden.
    Natürlich haben andere Fensterfunktionen wieder andere Nachteile. Deshalb ist es wichtig aus einem Set von Fensterfunktionen das für die jeweilige Messung geeignete auswählen zu können.
    Die folgende Tabelle soll einen Überblick der Eigenschaften geben.

    Eigenschaften der verfügbaren Fensterfunktionen:
    Fensterfunktion max. Amplitudenfehler(dB) max Nebenkeule(dB) relative Rauschbandbreite(NBw)
    Rectangle(Trivialfenster) 4 -13 1
    Flattop 0.004   3.78
    Hanning 1.42   1.5
    Hamming 1.75   1.36
    Barlett 1.85   1.33
    Blackmann 1.2   1.73
    Gauss_1.5 1.6   1.5
    Gauss_2.0 1   2.0
    Gauss_3.0 0.4   3.0
    Gauss_4.0 0.2   4.0
    Tukey 2.2   1.25
    Nuttall 0.9   1.97

    relative Rauschbandbreite bedeutet hier die Vergrößerung der Rauschbandbreite relative zum Rechteckfenster.

    3.4.2 Menü

    Für die allgemeinen Einstellungen siehe --> 3.2.1

    Menü Beschreibung
    Y1a / Y1b
    Y1a/Y1b
    Einstellungen für Trace "Y1a" und "Y1b" der Y – Achse
    FFT Src (abs(fft(channel))):
    Src
    Channel A Datenquelle für die Spektrumsanalyse ist Channel A der Soundkarte
    Channel B Datenquelle für die Spektrumsanalyse ist Channel B der Soundkarte
    TFE
    (Ch A --> Ch B)
    Schätzung der Übertragungsfunktion

    3.4.3 Settings / Action Button

    Für die allgemeinen Beschreibung siehe --> 3.2.3

    3.4.4 Messbeispiele

    Messbeispiele

    Darstellung der Auswirkungen eines durch Nichtlinearitäten verzerrten Sinussignals (5.2 KHz)
    Man kann deutlich die entstandenen Oberwellen sehen.

    Messbeispiele

    Frequenzgang eines schlechten Hochpass-Filters.
    Gemessen im Spektrumanalysator Mode mit "Max-Hold" und händischen wobblen eines Sinusgenerators

    3.5 Generatorfunktion (SoundGen)

    Die Generatorfunktion ermöglicht es, Testsignale zu erzeugen.
    Diese Signale sind:

  • PRBS12, PRBS13, PRBS14
  • Weitere folgen bald
  • 3.5.1 PRBS-Signale

    Die Generatorfunktion ermöglicht es spezielle rauschähnliche Signale so genannte PRBS-Signale (Pseudo Random Binary Sequence) oder auch PN-Signale (Pseudo Noise) zu erzeugen.
    Eine genaurer Beschreibung dieser Signale ist hier zu finden -->
    PrbsGen: Einführung
    Wegen Ihrer besonderen Eigenschaften sind diese Signale gut zur Vermessung von Frequenzgängen geeignet. Dies ist insbesondere dann der Fall, wenn Beobachtungslänge (MeasTime) exakt der Sequenzlänge des PRBS-Signals entspricht und das Generatorpolynom ein so genanntes "primitives Polynom" darstellt.

    Die folgende Tabelle zeigt Polynom und Sequenzlänge der angebotenen PRBS-Signale
    Signal Polynom Sequenzlänge (N) in Systemtakten
    PRBS14 x14 + x13 + x8 + x4 + 1 16383
    PRBS13 x13 + x12 + x10 + x9 + 1 8191
    PRBS12 x12 + x11 + x8 + x6 + 1 4095

    3.5.2 Messbeispiele

    Messung des Frequenzgangs der Soundkarte mittels PRBS12 als Signalquelle und Spektumanalysator .
    Beachte:

  • "FFT-Window" muss dazu auf "Rectangle" stehen
  • Die "MesaTime" muss gleich der Sequenzlänge sein.
  • Frequenzgang der Soundkarte in voller Bandbreite

    Frequenzgang der Soundkarte in voller Bandbreite

    Frequenzgang der Soundkarte im Durchlassbereich

    Frequenzgang der Soundkarte im Durchlassbereich

    Frequenzgang der Soundkarte im Durchlassbereich mit etwa 5dB Equalizer Boost bei 6 kHz.

    Frequenzgang der Soundkarte im Durchlassbereich mit etwa 5dB Equalizer Boost bei 6 kHz.

    3.6 Offene Punkte

    3.6.1 Störung bei Verschieben der Anzeige

    Bei Verwendung der internen Grafikkarte sehen wir bei uns eine minimale Störung in den Messergebnissen. Wir vermuten, dass dies eine Störung im Rechner ist, die aus der Änderung des Stromverbrauches und damit der Betriebsspannung resultiert.

    3.6.2 Sporadische falsche Farbe im Snapshotview

    Sporadisch behält der Snapshot – Trace seine Farbe, obwohl die Trace Farbe umgestellt wurde.

    3.6.3 Menu Device --> SoundCard --> Volume Dialog öffnet sich nicht

    Falls es sich um einen Spezialsoundkartentreiber handelt kann es sein, dass der Befehl "sndvol32.exe -r" nicht den Dialog zur Einstellung der Lautstärke einstellen kann.

    3.6.4 Optimierung Dialog Select Soundcard

    In einer der folgenden Versionen werden folgende Änderungen einfließen:

  • Die bestehende Auswahlbox wird zu einen Editfeld und jeder Eingabe wird geprüft, ob es möglich ist.
  • Die Anzeige Bits per Sample wird auch auf 24 bzw. 32 Bit geprüft und immer das Maximum verwendet
  • 3.6.5 Deaktivieren eines Traces mit aktiven Cursor

    Wird ein Trace deaktiviert, auf dem ein Cursor aktiviert war, so bleibt der Cursor noch auf den nicht mehr sichtbaren Trace aktiv.







    Weiterführende Links

    http://de.wikipedia.org/wiki/Spektrumanalysator
    .

    http://de.wikipedia.org/wiki/Oszilloskop
    .