Introduktion til filterfunktion i Matlab

Denne funktion filtrerer datasekvensen ved hjælp af et digitalt filter, output fra filtrering er dybest set glatning eller skærpning af signalet (eliminerer specifikt frekvensområde). Det er direkte fra II-implementering af signal (standardforskel ligning). Der er fire måder at repræsentere filtre i Matlab på følgende måde:

  1. Output = filter (koeff b, koeff a, x)
  2. Output = filter ((b, a, x, z)
  3. Filter (b, a, x, z, dim)
  4. F, zf = filter ()

Syntaks og eksempler

Nedenfor er syntaks og eksempler på filterfunktion i Matlab:

1. Output = filter (koeff b, koeff a, x)

  • Denne modellering anvendte rationel overførselsfunktion på indgangssignalet 'x'. I ovennævnte ligning er a og b tæller- og nævnekoefficienter for signal.
  • I dette tilfælde er det obligatorisk at have en (1) er 1 så vi normaliserer koefficienten til 1 for at opfylde denne betingelse a (1) skal ikke være lig med nul, så kun vi kan normalisere koefficienten.
  • Outputet fra filteret afhænger af typen af ​​input 'x'.
  • Hvis input 'x' er vektor, får vi output 'z' som en vektor.
  • Hvis indgangssignalet 'x' er matrix, får vi et udgangssignal 'z' med hensyn til hver kolonne.
  • Og hvis det er et multidimensionalt signal, får vi output med hensyn til den første matrix.

Eksempel

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

Produktion:

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

  • Hvis der er hukommelsesbegrænsninger ved design, overvejer nogle filtre den oprindelige tilstand og den endelige tilstand.
  • Disse filtre skaber store data og deler input i to segmenter.

Eksempel

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

Produktion:

Output fra ovenstående kode er 1, der betyder logisk 1, logisk 1 er en sand betingelse.

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

Denne type filter bruges til matrixindgang og outputdesign.

Eksempel

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

Produktion:

4. F, zf = filter ()

Hvis der er hukommelsesbegrænsning, bruges denne type filter, det brugte start- og slutbetingelser, og det deler indgangssignalet i to segmenter.

Eksempel

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

Produktion:

Outputet fra ovennævnte signal er logisk 1, hvilket betyder, at betingelsen er sand.

Konklusion - Filterfunktion i Matlab

Filterfunktionen anvendes hovedsageligt til implementering af bevægende gennemsnitsfilter. Bevægende gennemsnitsfiltrering er den enkleste og mest almindelige metode til udjævning. filtrering bruges også til at fjerne støj.

Anbefalede artikler

Dette er en guide til filterfunktion i Matlab. Her diskuterer vi introduktionen og forskellige eksempler på filterfunktion i matlab sammen med dens syntaks. Du kan også se på de følgende artikler for at lære mere-

  1. Inline-funktioner i Matlab
  2. Overfør funktioner i Matlab
  3. Anonyme funktioner i Matlab
  4. MATLAB Interview spørgsmål
  5. MATLAB-funktioner
  6. Matlab Compiler | Anvendelser af Matlab Compiler

Kategori: