Wprowadzenie do funkcji filtrowania w Matlabie

Ta funkcja filtruje sekwencję danych za pomocą filtra cyfrowego, a wyjście filtrowania zasadniczo wygładza lub wyostrza sygnał (eliminując określony zakres częstotliwości). Bezpośrednio z II implementacji sygnału (równanie różnicy standardowej). Istnieją cztery sposoby reprezentowania filtrów w Matlabie w następujący sposób:

  1. Wyjście = filtr (coeff b, coeff a, x)
  2. Wyjście = filtr ((b, a, x, z)
  3. Filtruj (b, a, x, z, dim)
  4. F, zf = filter ()

Składnia i przykłady

Poniżej znajduje się składnia i przykłady funkcji filtrowania w Matlabie:

1. Wyjście = filtr (coeff b, coeff a, x)

  • W tym modelowaniu zastosowano funkcję racjonalnego transferu sygnału wejściowego „x”. W powyższym równaniu aib są współczynnikami licznika i mianownika sygnału.
  • W takim przypadku obowiązkowe jest, aby (1) wynosiła 1, więc normalizujemy współczynnik do 1, aby spełnić ten warunek a (1) nie powinien być równy zeru, wtedy tylko możemy normalizować współczynnik.
  • Wydajność filtra zależy od typu wejścia „x”.
  • Jeśli wejście „x” jest wektorem, wówczas otrzymujemy wyjście „z” jako wektor.
  • Jeśli sygnał wejściowy „x” jest macierzą, wówczas otrzymujemy sygnał wyjściowy „z” w odniesieniu do każdej kolumny.
  • A jeśli jest to sygnał wielowymiarowy, wówczas otrzymujemy dane wyjściowe w odniesieniu do pierwszej tablicy.

Przykład

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')

Wynik:

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

  • Jeśli podczas projektowania występują ograniczenia pamięci, niektóre filtry uwzględniają stan początkowy i końcowy.
  • Filtry te tworzą duże dane i dzielą dane wejściowe na dwa segmenty.

Przykład

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

Wynik:

Wyjście powyższego kodu to 1, co oznacza logiczne 1, logiczne 1 jest prawdziwym warunkiem.

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

Ten typ filtra służy do projektowania matryc wejściowych i wyjściowych.

Przykład

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')

Wynik:

4. F, zf = filter ()

Jeżeli istnieje ograniczenie pamięci, wówczas stosuje się ten typ filtra, wykorzystano warunki początkowe i końcowe oraz dzieli sygnał wejściowy na dwa segmenty.

Przykład

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

Wynik:

Sygnał wyjściowy powyższego sygnału jest logiczny 1, co oznacza, że ​​warunek jest spełniony.

Wniosek - funkcja filtrowania w Matlabie

Funkcja filtra używana głównie do implementacji filtra średniej ruchomej. Filtrowanie średniej ruchomej jest najprostszą i powszechną metodą wygładzania. Filtrowanie służy również do usuwania szumu.

Polecane artykuły

Jest to przewodnik po funkcji filtrowania w Matlabie. Tutaj omawiamy wprowadzenie i różne przykłady funkcji filtrowania w matlab wraz z jego składnią. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej-

  1. Funkcje wbudowane w Matlabie
  2. Funkcje przenoszenia w Matlabie
  3. Anonimowe funkcje w Matlabie
  4. Pytania do wywiadu MATLAB
  5. Funkcje MATLAB
  6. Kompilator Matlab | Aplikacje kompilatora Matlab

Kategoria: