mikrocontroller.net

Forum: Digitale Signalverarbeitung / DSP SampleFrequenz ändern


Autor: Mumba S. (mumba)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bräuchte nochmal ein bisschen Hilfe. Es ist wahrscheinlich mehr ein 
Verständnisproblem.
Ich bekomme alle 10us ein Signal und das entspricht ja somit einer 
SampleFrequenz von 100kHz.
Jetzt will ich damit aber zu einer SampleFrequenz von 10kHz und nur alle 
100us ein Signal bekommen, alles was darüber liegt brauch ich nicht.

Kann ich dafür einfach einen Tiefpassfilter nehmen? Und beeinflusst der 
dann das Signal so, dass ich meine Werte nur noch alle 100us bekomme? In 
meiner Vorstellung nimmt der Tiefpass zwar die hohen Frequenzen raus, 
aber ich versteh nicht, wie damit auch die Zeitschritte beeinflusst 
werden, in denen ich mein gefiltertes Signal erhalte.

Vielleicht kann mir jemand helfen?!
Danke schon mal für jeden Versuch.
Mumba

Autor: pedro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was du suchst ist downsampling (und dort brauchts auch ein 
tiefpassfilter, anti aliasing)

Autor: Christoph Gradl (christoph_gradl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
in Matlab gibt es den Befehl DOWNSAMPLE(X,N), der nimmt aber z.B. dann 
einfach nur jeden zehnten Wert heraus.

Weiteres gibt es in Matlab noch DECIMATE(), hier wird das Signal noch 
geeignet gefiltert (Tschebyscheff Filter 8. Ordnung).

mfg

Autor: Mumba (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Danke erstmal für die Antworten. Zum Vorschlag mit Matlab zu arbeiten:
Das mach ich momentan auch, allerdings ist das nur der Testlauf, ich 
brauche also Funktionen die auch außerhalb von Matlab berechenbar sind. 
Deswegen bastel ich mir aus Filterkoeffizienten Differenzgleichungen, 
die ich dann problemlos übernehmen kann.

Den Begriff Downsampling habe ich inzwischen auch gefunden, aber mein 
Problem ist immer noch die Vorstellung von den Zeitschritten der 
Ausgabe.
Wenn ich den Tiefpass über meine Werte laufen lasse, bekomme ich dann 
automatisch die Werte in neuen Zeitabständen? Oder muss ich dann einfach 
alle Werte dazwischen rausschmeißen, quasi nur jeden zehnten Wert 
verwenden??

Würde mich freuen, wenn mir jemand zu mehr Verständnis verhelfen kann.
Liebe Grüße
Mumba

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Tiefpass ändert nichts an der Samplingfrequenz, du musst die 
benötigten Samples danach selbst auswählen.

Grüße,

Peter

Autor: pedro (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du in deinem fall von 100kHz auf 10kHz reduzieren willst, beachtest 
du nur jeden 10. wert.

mit dem downsampeln reduzierst du die abtastfrequenz, nach abtasttheorem 
hast du aber auch eine geringere bandbreite des signals. damit sich 
spektren nicht überschneiden, musst du einen tiefpass haben (vor 
downsampling), der dementsprechend filtert (angepasst auf die neue 
abtastfrequenz).

Autor: Mumba S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay,

ich denke, dass sollte ich hinkriegen.
Erst den Tiefpass und dann jeden 10ten Wert.
Wenn ich zu den 10kHZ SamplingFrequenz will, muss mein Tiefpass dann 
quasi alles unter 5kHz rausschmeißen, richtig? Weiß jemand wie steil die 
Flanke von dem Filter sein muss? Sind ein paar wenige Werte über den 
5kHz tragisch oder geh ich lieber runter auf 4kHz als Grenzfrequenz für 
meinen Filter.
Danke für all eure Antworten und Hilfe.
Liebe Grüße
Mumba

Autor: Mumba S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

Downsamplen klappt inzwischen ganz gut, aber eine Frage hätte ich noch:
Und zwar gehts um den AmplitudenVerlauf, der ist in meinen Augen ne 
Größenordnung zu klein.
Irgendwie macht dieses Verhalten keinen Sinn für mich, vor allem wenn 
ich mein System zerlege: Der Tiefpass prägt zwar seine 
Filtercharakteristik auf, ändert aber nichts an der Größenordnung.
Und die Auswahl jedes zehnten Wertes sollte doch auch nichts an der 
generellen Amplitude ändern, oder doch?
Ich kann nirgendwo was dazu finden...kann mir jemand helfen?
Danke schonmal

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.