|
|
|
Resample original Daten in resultierendem Vektor erhalten |
|
| medtech |

Forum-Fortgeschrittener
|
 |
Beiträge: 59
|
 |
|
 |
Anmeldedatum: 21.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.05.2017, 09:52
Titel: Resample original Daten in resultierendem Vektor erhalten
|
 |
Hallo zusammen,
ich mehrere Sensoren die mit verschiedenen Sampleraten abtasten.
Nun mache ich eine Langzeitauswertung von mehreren Messungen und möchte up- und ggfs. downsampling durchführen.
Hierzu bietet m.E. sich die Funktion resample() an.
a=[1,2,3,4,5,6,7,8];
a ist beispielhaft mein 1-D Datenvektor.
Angenommen a wäre mit 8Hz erstellt worden.
Mein Ziel wäre nun, dass ich zum Beispiel eine Ausgabe y mit 16 Hz erhalte, welche meine Originaldaten aus a enthält und und jeweils zwischen 2 Werten aus a einmalig interpoliert.
Bei dem Befehl
y=resample(a,16,8 )
erhalte ich ein Array mit 20 Einträgen wie gewünscht, jedoch werden die Originalwerte aus a nicht übernommen.
Ich verstehe nicht ganz weshalb ich bei der doppelten Abtastrate nicht auch die original Messdaten in y übernommen werden.
Danke für eure Hilfe.
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.05.2017, 16:24
Titel: Re: Resample original Daten in resultierendem Vektor erhalte
|
 |
Hallo medtech,
Wenn Du eine Frage zu einem Befehl hast, ist die Dokumentation der erste Punkt, an dem Du suchen kannst:
Dort findest Du:
| Zitat: |
resample applies an antialiasing FIR lowpass filter to x and compensates
for the delay introduced by the filter. |
Der Anti-Aliasing-Filter sorgt also für die Abweichungen. Wenn Du das nicht möchtest, versuche es doch mit
interp1
.
Gruß, Jan
|
|
|
|
| medtech |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 59
|
 |
|
 |
Anmeldedatum: 21.04.16
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.05.2017, 07:42
Titel:
|
 |
Hallo Jan,
vielen Dank für deine Antwort.
Ja ich habe ja die Doku durchforstet und bin auf diese zwei Befehle gestoßen( also resample und interp1).
| Zitat: |
resample applies an antialiasing FIR lowpass filter to x and compensates
for the delay introduced by the filter. |
Das mit dem Filter habe ich auch gelesen, jedoch irritierte mich
| Zitat: |
| ..and compensates.. |
. Ich dachte der Delay würde hierduch ausgeglichen.
Ich habe es so verstanden, dass spieziell bei der Arbeit in einem Datensatz mit verschiedenen Samplerates die Funktion resample passen würde.
Im Prinzip möchte ich zwar nichts anderes als linear interpolieren, was interp1 wiederum umsetzt.
Nun gut, dann werde ich es auf diese Weise versuchen.
Vielen Dank nochmals.
VG medtech
|
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|