Funktionen > Signalverarbeitung > Digitale Filterung > Interpolation und Resampling
Interpolation und Resampling
multirate(v, n, m, [f]) – Gibt eine Version des Mehrkanalsignals v zurück, das mit dem Faktor n/m neu abgetastet wurde, wobei das optionale Argument f als Tiefpass-Interpolationsfilter verwendet wird.
resample(v, m, n) – Gibt einen Vektor zurück, der aus v durch n-fache Interpolation und anschließendes Abtasten nach jedem m-ten Punkt ermittelt wurde. Die Eingabedaten müssen reell sein.
upsample(v, n) – Gibt eine interpolierte Version des Vektors v mit n Mal so vielen Punkte wie v zurück.
Argumente
v ist ein Vektor oder eine Matrix reeller oder komplexer Zahlen, die die Samples eines Signals darstellen. Ist v eine Matrix, jede Spalte wird einzeln verarbeitet.
Bei den Funktionen multirate und resample gilt Folgendes: Wenn Vektor v Einheiten enthält, enthalten die Elemente des übergebenen Vektors die gleichen Einheiten.
n ist eine Ganzzahl, der Upsamling-/Interpolationsfaktor. Für upsample und resample gilt n ≥ 2.
m ist eine Ganzzahl, der Ausdünnungs-/Dezimierungsfaktor. Für resample gilt m ≥ 2.
f (optional) ist ein Vektor von Koeffizienten für einen nichtrekursiven Tiefpassfilter, die zwischen Upsampling und Ausdünnung (Downsampling) verwendet werden. Der Standardfilter hat eine Länge von 32, einen Zuwachs n, ein Fenster mit Hanning-Konik und eine Grenzfrequenz von:
Zusätzliche Informationen
Die Funktionen geben das neu abgetastete Signal zurück.
Bei multirate und resample entspricht die Länge des übergebenen Vektors etwa n/m Mal der Länge der ursprünglichen Daten.
upsample gibt eine gerade Anzahl von Punkten zurück, entweder n Mal die Eingabelänge oder n Mal die Eingabelänge plus 1.
Es wird empfohlen, multirate zu verwenden, da es in den meisten Fällen funktioniert und den Aliasing-Effekt vermeidet, der beim Ausdünnen eines Signals auftreten kann.
multirate filtert im Zeitbereich und erfordert lediglich ein in seiner Bandbreite begrenztes Signal. upsample und resample setzen die Periodizität des Signals voraus und führen nach einer Fast Fourier-Transformation (FFT) Operationen im Frequenzbereich durch.
multirate verwendet die Gruppenverzögerung eines linearphasigen nichtrekursiven Filters, um zu schätzen, wo die anfängliche Ausgabestörgröße endet, und schneidet diese ab. Bei Filterlänge L beträgt die Gruppenverzögerung L/2, sodass multirate die ersten L/2m Samples der Signalausgabe überspringt. Füllen Sie das Signal mit Nullen auf, um die Störgröße zu beobachten. Wenn der angegebene Filter nicht linearphasig ist, fehlen eventuell einige Daten am Anfang. Das Signal sollte daher auch in diesem Fall mit Nullen aufgefüllt werden.
Die Filterung mit multirate erfolgt mithilfe einer mehrphasigen Darstellung der Filterkoeffizienten.
War dies hilfreich?