Introduzione alla funzione filtro in Matlab

Questa funzione filtra la sequenza di dati utilizzando un filtro digitale, l'output del filtraggio è sostanzialmente il livellamento o l'affilatura del segnale (eliminando l'intervallo di frequenza specifico). È diretto dall'implementazione II del segnale (equazione di differenza standard). Esistono quattro modi per rappresentare i filtri in Matlab come segue:

  1. Output = filtro (coeff b, coeff a, x)
  2. Output = filtro ((b, a, x, z)
  3. Filtro (b, a, x, z, dim)
  4. F, zf = filter ()

Sintassi ed esempi

Di seguito sono riportati la sintassi e gli esempi della funzione di filtro in Matlab:

1. Output = filtro (coeff b, coeff a, x)

  • Questa modellazione ha utilizzato la funzione di trasferimento razionale sul segnale di input 'x'. Nell'equazione di cui sopra, aeb sono i coefficienti numeratori e denominatori del segnale.
  • In questo caso, è obbligatorio avere un (1) è 1, quindi normalizziamo il coefficiente a 1 per soddisfare questa condizione a (1) non dovrebbe essere uguale a zero, quindi solo noi possiamo normalizzare il coefficiente.
  • L'output del filtro dipende dal tipo di input 'x'.
  • Se l'input 'x' è un vettore, allora otteniamo l'output 'z' come vettore.
  • Se il segnale di input 'x' è una matrice, otteniamo un segnale di output 'z' rispetto a ciascuna colonna.
  • E se si tratta di un segnale multidimensionale, otteniamo un output rispetto al primo array.

Esempio

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

Produzione:

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

  • Se ci sono limiti di memoria nella progettazione, alcuni filtri considerano la condizione iniziale e la condizione finale.
  • Questi filtri creano dati di grandi dimensioni e dividono l'input in due segmenti.

Esempio

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

Produzione:

L'output del codice sopra è 1 che significa 1 logico, 1 logico è una condizione vera.

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

Questo tipo di filtro viene utilizzato per la progettazione di input e output di matrici.

Esempio

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

Produzione:

4. F, zf = filter ()

Se esiste una limitazione di memoria, viene utilizzato questo tipo di filtro, utilizza le condizioni iniziale e finale e divide il segnale di ingresso in due segmenti.

Esempio

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

Produzione:

L'uscita del segnale sopra è logico 1, il che significa che la condizione è vera.

Conclusione - Funzione filtro in Matlab

La funzione filtro utilizzata principalmente per implementare il filtro a media mobile. Il filtraggio a media mobile è il metodo più semplice e comune di lisciatura. il filtro viene utilizzato anche per rimuovere il rumore.

Articoli consigliati

Questa è una guida alla funzione Filtro in Matlab. Qui discutiamo l'introduzione e diversi esempi di funzione filtro in matlab insieme alla sua sintassi. Puoi anche consultare i seguenti articoli per saperne di più-

  1. Funzioni incorporate in Matlab
  2. Funzioni di trasferimento in Matlab
  3. Funzioni anonime in Matlab
  4. Domande di intervista MATLAB
  5. Funzioni MATLAB
  6. Compilatore Matlab | Applicazioni del compilatore Matlab

Categoria: