Einführung in die Filterfunktion in Matlab

Diese Funktion filtert die Datensequenz mithilfe eines Digitalfilters. Die Ausgabe der Filterung erfolgt im Wesentlichen durch Glätten oder Schärfen des Signals (Eliminieren eines bestimmten Frequenzbereichs). Es ist direkt von II-Implementierung des Signals (Standarddifferenzgleichung). Es gibt vier Möglichkeiten, Filter in Matlab wie folgt darzustellen:

  1. Ausgang = Filter (Koeffizient b, Koeffizient a, x)
  2. Ausgabe = Filter ((b, a, x, z)
  3. Filter (b, a, x, z, dim)
  4. F, zf = filter ()

Syntax und Beispiele

Nachfolgend finden Sie die Syntax und Beispiele für Filterfunktionen in Matlab:

1. Ausgabe = Filter (Koeffizient b, Koeffizient a, x)

  • Diese Modellierung verwendete eine rationale Übertragungsfunktion für das Eingangssignal 'x'. In der obigen Gleichung sind a und b die Zähler- und Nennerkoeffizienten des Signals.
  • In diesem Fall ist es zwingend erforderlich, dass a (1) gleich 1 ist. Wir normalisieren den Koeffizienten also auf 1, um diese Bedingung zu erfüllen. A (1) sollte nicht gleich Null sein, dann können wir nur den Koeffizienten normalisieren.
  • Die Ausgabe des Filters hängt von der Art der Eingabe 'x' ab.
  • Wenn die Eingabe 'x' ein Vektor ist, erhalten wir die Ausgabe 'z' als Vektor.
  • Wenn das Eingangssignal 'x' eine Matrix ist, erhalten wir für jede Spalte ein Ausgangssignal 'z'.
  • Und wenn es sich um ein mehrdimensionales Signal handelt, wird es in Bezug auf das erste Array ausgegeben.

Beispiel

T = linspace(-pi, pi, 100 );
X = sin( t ) + 0.50 * rand ( size( t )) ;
w_size = 5;
b = ( 1 /w_size ) * ones( 1, w_size ) ;
a = 1 ;
f = filter ( coeff b, coeff a, x ) ;
plot ( t, x )
hold on
plot ( t, f )
legend ( 'Input ', 'Filter Data')

Ausgabe:

2. F = Filter ((b, a, x, z)

  • Wenn beim Entwerfen Speicherbeschränkungen auftreten, berücksichtigen einige Filter den Anfangszustand und den Endzustand.
  • Diese Filter erzeugen große Datenmengen und teilen die Eingabe in zwei Segmente auf.

Beispiel

x = randn( 110000, 1 ); - - - creation of input sequence x (1 to 110000)
x1 = x ( 1 : 51000 ) ; - - - splitting the seq. x1= 1 to 51000
x2 = x ( 51001 : end ) ; - - - second seg is x2 = 51000 to 110000
b = ( 4, 3 ) ; - - - numerator coefficient
a = ( 1, 0.4 ) ; - - - denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; - - - filter function
f2 = filter ( b, a, x2, zf ) ; - - - filter function
f = filter ( b, a, x ) ; - - - filter function
isequal( f, ( f1 ; f2 ) ) - - - filter function matching

Ausgabe:

Die Ausgabe des obigen Codes ist 1, was logisch 1 bedeutet, logisch 1 ist eine wahre Bedingung.

3. Filter (b, a, x, z, dim)

Dieser Filtertyp wird für das Entwerfen von Matrixeingaben und -ausgaben verwendet.

Beispiel

rng default
x = rand ( 3, 10 ) ; - - - creation of input sequence 3 by 10
b = 1 ; - - - coefficient of numerator
a = ( 4 -0 .1 ) ; - - - coefficient of numerator
f = filter ( b, a, x, ( ), 2 ) ; - - - filter function
t = 0 : length (input seq. )-1 ;
plot ( t, x ( 1, : ) ) - - - input signal
hold on
plot ( t, f ( 1, : ) ) - - - output signal
legend('Input ', 'Filter output')

Ausgabe:

4. F, zf = filter ()

Wenn die Speicherkapazität begrenzt ist, wird dieser Filtertyp verwendet, der die Anfangs- und Endbedingungen verwendet und das Eingangssignal in zwei Segmente unterteilt.

Beispiel

x = randn ( 110000, 1 ) ; - - - create random signal
x1 = x ( 1 : 51000 ) ; - - - splits signal from 1 to 51000
x2 = x ( 51001 : end ) ; - - - second input signal 51001 to 110000
b = ( 6, 3 ); . - - -numerator coefficient
a = ( 1, 0.9 ) ; - - - denominator coefficient
( f1, zf ) = filter ( b, a, x1 ) ; - - - filter function
f2 = filter ( b, a, x2, zf ) ; . - - - filter function
f = filter ( b, a, x) ; - - - .filter function
isequal ( f, ( f1 ; f2 ) ) - - - output signal matching

Ausgabe:

Die Ausgabe des obigen Signals ist logisch 1, was bedeutet, dass die Bedingung wahr ist.

Fazit - Filterfunktion in Matlab

Die Filterfunktion, die hauptsächlich zur Implementierung des Filters für den gleitenden Durchschnitt verwendet wird. Das Filtern nach gleitendem Durchschnitt ist die einfachste und gebräuchlichste Methode zum Glätten. Filterung wird auch verwendet, um Rauschen zu entfernen.

Empfohlene Artikel

Dies ist eine Anleitung zur Filterfunktion in Matlab. Hier diskutieren wir die Einführung und verschiedene Beispiele der Filterfunktion in matlab zusammen mit ihrer Syntax. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren.

  1. Inline-Funktionen in Matlab
  2. Transferfunktionen in Matlab
  3. Anonyme Funktionen in Matlab
  4. Fragen in Vorstellungsgesprächen bei MATLAB
  5. MATLAB-Funktionen
  6. Matlab Compiler | Anwendungen von Matlab Compiler

Kategorie: