Forum: Digitale Signalverarbeitung / DSP / Machine Learning Testsignal für Filter


von Kalg (Gast)


Lesenswert?

Guten Morgen.

Ich bin gerade dabei das erste Mal einen Filter für einen µC zu 
entwerfen und frage mich, welche Eingangsfunktion ich am Besten benutzte 
um die Filtercharakteristik zu überprüfen?

Eine Impuls- oder Sprungfunktion und hilft mir da ja nur wenig weiter 
und würde eher aus Stabilität testen?

von El Ef (Gast)


Lesenswert?

Das schöne an Digitalfiltern ist ja, dass die Filtercharakteristik 
vollständig durch die Filter-Koeffizienten beschrieben ist.

Oder möchtest du testen ob deine Implementierung des Filters korrekt 
ist?

von Dergute W. (derguteweka)


Lesenswert?

Kalg schrieb:
> welche Eingangsfunktion ich am Besten benutzte
> um die Filtercharakteristik zu überprüfen?

Naja, klar einen Dirac. Dann die Antwort deines zu testenden Filters in 
ein geeignetes Tool (Matlab,Octave, irgendwas_mit_Python,...) und 
gucken...

Vielleicht kriegst du evtl. numerische Ueberlaeufe eher mit einer 
Sprungfunktion oder vielleicht auch der umgedrehten Filterantwort. Aber 
das wird wahrscheinlich schon wieder stark von deiner Programmierung 
abhaengen.

Gruss
WK

von pumuggl (Gast)


Lesenswert?

Das letzte Mal war es ein Sinus aus dem Funktionsgenerator.

Den auf Dirac zu schalten waere mir zu gefaehrlich.

von El Ef (Gast)


Lesenswert?

pumuggl schrieb:
> Das letzte Mal war es ein Sinus aus dem Funktionsgenerator.
>
> Den auf Dirac zu schalten waere mir zu gefaehrlich.

Du kannst Digitalfilter ja auch digital testen. Da ist die Gefahr nicht 
so groß ;)

Zum analogen Test der Gesamtstrecke mit ADC und DAC ist Sinus 
durchwobbeln ok

von Kalg (Gast)


Lesenswert?

> Oder möchtest du testen ob deine Implementierung des Filters korrekt ist?

Genau das habe ich gemeint :o)

Da bleibt mir wohl nur die Wahl des Diracs.

Danke!

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

El Ef schrieb:
> Das schöne an Digitalfiltern ist ja, dass die Filtercharakteristik
> vollständig durch die Filter-Koeffizienten beschrieben ist.

Richtig, allerdings ist die Wirkung immer vom konkreten Eingangsspektum 
abhängig und damit gibt es Optimierungsansätze. Ließe sich zwar auch 
alles irgendwie simulieren, aber nicht alles ist perfekt zu modellieren.

von Gustl B. (-gb-)


Lesenswert?

Du kannst ja einen Sweep am Eingang anlegen (das geht auch digital in 
einer Simulation) und dann guckst du auf die Amplitude vom Ausgang. Wenn 
du das analog mit Oszi und Generator machst ist es schick wenn du eine 
schöne Triggerquelle hast. Z. B. einen Puls der immer beim Start eines 
Sweeps ausgegeben wird.

von Olaf (Gast)


Lesenswert?

> Du kannst ja einen Sweep am Eingang anlegen (das geht auch digital in
> einer Simulation) und dann guckst du auf die Amplitude vom Ausgang.

Und wenn man dann an seinem Oszi die variable Persistenz hochdreht
dann bekommt man ein megatolles Bild der Uebertragungsfunktion...

Olaf

von Bernd (Gast)



Lesenswert?

...oder den Trigger richtig setzt und die Sweepzeit gleich der 
horizontalen Zeitablenkung einstellt.

von C. A. Rotwang (Gast)


Lesenswert?

Kalg schrieb:

> Eine Impuls- oder Sprungfunktion und hilft mir da ja nur wenig weiter
> und würde eher aus Stabilität testen?

Das ist ein Beispiel, das ein Narr mit einem Werkzeug, imer noch ein 
Narr bleibt. Wenn der Narr studiert hätte, wüsste er das sich aus der 
Sprungantwort eines Systems die Übertragungsfunktion ergibt.

Falls das dem TO zu akademisch ist, kann er sich ja der klassischen 
pragmatischem Variante  - Benutzung eines Wobbelgenerators- bedienen. 
Aber ich befürchte, auch Wobbelgenerator ist hier ein böhmisches Dorf.

https://de.wikipedia.org/wiki/Impulsantwort
https://de.wikipedia.org/wiki/Sprungantwort
https://de.wikipedia.org/wiki/Wobbelgenerator


Wobei das gesagt nur gilt, wenn der TO Filter im hier gebräuchlichen 
Sinne  meint, also Systeme, die Frequanz, Amplitude und Phase verändern.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Der Threadstarter ist wahrscheinlich schon lange weg. Für die 
diejenigen, die in 10 Jahren über den Thread stolpern:

Wenn es um ein real aufgebautes Filter geht, dann lohnt es sich zum 
Testen mal das erwartete Nutzsignal anzulegen. Echt jetzt, keine Spaß. 
Zu Anfang einfach mal schauen ob das was durchkommen soll durch kommt.

Je nach Situation darf es von der Originalquelle, wie einem Sensor, 
kommen oder man hat es, als vorausschauend arbeitender Ingenieur, im 
ARB-Generator nachgebaut. Wenn es geht in mehreren exemplarischen 
Varianten.

Dann legt man mal Signale mit Störungen an die das Filter wegfiltern 
soll. Also die Art von Störungen aus dem realen Betrieb, wegen denen man 
das Filter überhaupt gebaut hat. Wenn man schon mal dabei ist auch mal 
verschiedene Pegel von Rauschen zusammen mit dem Nutzsignal drauf legen 
um zu sehen wann in der Realität Schluss mit Lustig ist.

Man kann sich auch ansehen, wie das bei großen (Übersteuerung) und 
kleinen Signalpegeln am Eingang aussieht.

Warum das alles? Weil es ungemein hilft zu wissen dass das Filter im 
Prinzip für den geplanten Einsatzzweck funktioniert.

Dann kann man Frequenz- und Phasengang messen (Bodediagramm), die 
Sprungantwort näherungsweise bestimmen und die Ergebnisse irgendwo in 
der Dokumentation verschwinden lasse, wo sie sich kaum jemand jemals 
ansehen wird.

von W.S. (Gast)


Lesenswert?

Dergute W. schrieb:
> Naja, klar einen Dirac. Dann die Antwort deines zu testenden Filters in
> ein geeignetes Tool (Matlab,Octave, irgendwas_mit_Python,...) und
> gucken...

Da halte ich für sehr blauäugig. Wenn jemand sich ein Filter berechnet 
und dann genau das zum Überprüfen seiner Charakteristik benützt, dann 
ist das so, als ob man seinen Zollstock mit eben demselben Zollstock 
überprüft. Denk- und Programmierfehler verdoppeln sich entweder oder 
heben sich heraus oder werden garnicht bemerkt.

Nein, wenn man's tatsächlich überprüfen will, dann erzeugt man sich 
passende Daten unterschiedlicher Frequenz in der gewünschten 
Samplefrequenz mit einem anderen Programm und füttert damit seinen 
Filter. Dessen Output kann man dann in aller Ruhe auswerten. Und wie man 
mit einem simplen DDS-Algorithmus in double saubere Testdaten erzeugt, 
sollte jeder selber wissen.

Merke: das Verifizieren von egal was hat grundsätzlich mit einer anderen 
Methode/Equipment zu erfolgen als derjenigen, die für dessen Erzeugung 
verwendet wurde.

W.S.

von FalkS (Gast)


Lesenswert?

@C. A. Rotwang: was bist du den für ein Trottel? Studiert und dumm wie 
Stroh.

Wieder einmal hat W. S. Die einzig sinnvolle Antwort geliefert.

von Gustl B. (-gb-)


Lesenswert?

@FalkS: Herzlichen Glückwunsch, Menschen wie du sind der Grund wieso ich 
mittlerweile für eine Ausweispflicht im Internet bin. Du brauchst also 
nicht jammern wenn du das Internet in D in wenigen Jahren nur noch mit 
Klarname betreten darfst, denn du bist ein Teil des Problems das man mit 
dieser Maßnahme in den Griff zu bekommen glaubt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.