Funktionen > Signalverarbeitung > Digitale Filterung > Beispiel: Interpolation und Sampling
Beispiel: Interpolation und Sampling
Verwenden Sie die Funktionen multirate, resample und upsample, um die Abtastfrequenz für ein Signal auf unterschiedliche Arten und bei verschiedenen Annahmen zu speichern.
Funktion multirate mit FIR-Standardfilter
Die Funktion multirate verwendet die Gruppenverzögerung eines linearphasigen nichtrekursiven Filters FIR, um zu schätzen, wo die anfängliche Ausgabetransienz endet, und beschneidet die Transienten.
1. Definieren Sie die Signalparameter.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Verwenden Sie die Funktion sin, um ein Sinussummen-Signal festzulegen.
Zum Kopieren dieses Ausdrucks klicken
3. Wenden Sie die Funktion multirate auf das Signal an.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
4. Plotten Sie das neu gesampelte Signal.
Zum Kopieren dieses Ausdrucks klicken
Das Diagramm zeigt, dass das erneut gesampelte Signal leicht verschoben ist und n/m-mal die Anzahl der ursprünglichen Datenpunkte enthält. Die Verschiebung wurde durch den FIR-Filter bewirkt und entspricht der Gruppenverzögerung.
Funktion multirate mit optionalem FIR-Tiefpassfilter
1. Definieren Sie die Grenzfrequenz, die Anzahl an Koeffizienten und den Typ des verjüngten Fensters.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Berechnen Sie mit der Funktion lowpass die Koeffizienten des FIR-Tiefpass-Filters.
Zum Kopieren dieses Ausdrucks klicken
3. Verwenden Sie die Funktion multirate zum Resampling des Signals x mit einem anderen Faktor.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
4. Plotten Sie das neu gesampelte Signal.
Zum Kopieren dieses Ausdrucks klicken
Das Resampling resultiert in einer Signaldämpfung, weil die Zunahme des Filters FIR nicht der Upsampling-Rate n entspricht.
5. Passen Sie die Koeffizienten des FIR-Filters an, um den Zuwachs zu korrigieren, und stellen Sie das neu gesampelte Signal erneut grafisch dar.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Durch Anpassen der Koeffizienten des FIR-Filters wird der Skalierungseffekt entfernt.
Signal-Upsampling
Sie können die Funktion multirate verwenden, um ein Signal zu verdichten (Upsampling) oder auszudünnen.
1. Verwenden Sie die Funktion multirate zum Verdichten des Signals x, indem Sie das n/m-Verhältnis erhöhen.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Stellen Sie das Signal grafisch dar, für das Sie ein Upsampling durchgeführt haben.
Zum Kopieren dieses Ausdrucks klicken
Das Erhöhen des n/m-Verhältnisses führt zu einer höheren Anzahl an Stichproben, wie dem Längenwert zu entnehmen, und zu einer höheren Anzahl an neuen Stichproben zwischen zwei beliebigen aufeinanderfolgenden Stichproben des ursprünglichen Signals.
3. Verwenden Sie die Funktion multirate zum Ausdünnen des Signals x, indem Sie das n/m-Verhältnis verringern.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
4. Stellen Sie das Signal grafisch dar, für das Sie ein Downsampling durchgeführt haben.
Zum Kopieren dieses Ausdrucks klicken
Das Verringern des n/m-Verhältnisses führt zu einer niedrigeren Anzahl an Stichproben, wie dem Längenwert zu entnehmen, und zu einer niedrigeren Anzahl an neuen Stichproben zwischen zwei beliebigen aufeinanderfolgenden Stichproben des ursprünglichen Signals.
Daten-Upsampling
Die Funktion upsample führt FFT für die ursprünglichen Daten durch und fügt Nullen in der Mitte des Koeffizientenbereichs hinzu, um eine Transformation zu erzeugen, die die erforderliche interpolierte Länge aufweist. Anschließend transformiert die Funktion das erweiterte Spektrum durch Inversion. Für das Interpolieren von Daten sind mehrere Methoden verfügbar. Möglicherweise ist auch ein speziell konstruierter FIR-Filter erforderlich. Bei regelmäßigen Daten gibt diese Funktion eine angemessene Interpolation zurück.
1. Legen Sie den Interpolationsfaktor n fest, und wenden Sie die Funktion upsample auf das Signal x an.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Plotten Sie das zurückgegebene Signal.
Zum Kopieren dieses Ausdrucks klicken
Bei dem zurückgegebenen Signal handelt es sich um eine interpolierte Version des Signals x mit der n-fachen Anzahl an Punkten.
Resampling von Signalen
Die Funktion resample wird mithilfe der Interpolation ausgeführt, um n-mal so viele Punkte zu erzeugen und dann jeden mth-ten Punkt zu verwenden, um die Ausgabe zu erzeugen.
1. Legen Sie den Dezimierungsfaktor m und den Interpolationsfaktor n fest.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Plotten Sie das zurückgegebene Signal.
Zum Kopieren dieses Ausdrucks klicken
Das zurückgegebene Signal weist 3/5 Mal so viele Punkte auf, sodass der Abstand zwischen den Stichproben 5/3 des ursprünglichen Abstands beträgt.
Upsampling mit aperiodischen und periodischen Eingaben verwenden
Die Funktion upsample geht davon aus, dass die Eingabe periodisch ist. Untersuchen Sie das zurückgegebene Signal in beiden Fällen.
Aperiodische Eingabe
1. Legen Sie den Interpolationsfaktor fest.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Definieren Sie ein nicht periodisches Eingabesignal.
Zum Kopieren dieses Ausdrucks klicken
3. Wenden Sie die Funktion upsample an.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
4. Plotten Sie das zurückgegebene Signal.
Zum Kopieren dieses Ausdrucks klicken
Die Interpolationsroutine geht davon aus, dass X periodisch ist. Deshalb versucht sie, Punkte in der Nähe des Endes des Graphen zu interpolieren, die wieder die ursprüngliche Höhe von 1 annehmen. Diese Funktion gibt jedoch sinnvolle Ergebnisse aus, wenn das "Wrapping" der Eingabesequenz eine angemessene Glättung bewirkt.
Periodische Eingabe
1. Legen Sie den Interpolationsfaktor fest.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
2. Definieren Sie ein periodisches Eingabesignal.
Zum Kopieren dieses Ausdrucks klicken
3. Wenden Sie die Funktion upsample an.
Zum Kopieren dieses Ausdrucks klicken
Zum Kopieren dieses Ausdrucks klicken
4. Plotten Sie das zurückgegebene Signal.
Zum Kopieren dieses Ausdrucks klicken
Die Interpolation ergibt eine genauere Annäherung an das ursprüngliche Signal, wenn das Signal periodisch ist.
War dies hilfreich?