Introdução à função de filtro no Matlab
Esta função filtra a sequência de dados usando um filtro digital; a saída da filtragem é basicamente suavizar ou aprimorar o sinal (eliminando a faixa de frequência específica). É direto da II implementação do sinal (equação da diferença padrão). Existem quatro maneiras de representar filtros no Matlab da seguinte maneira:
- Saída = filtro (coeficiente b, coeficiente a, x)
- Saída = filtro ((b, a, x, z)
- Filtro (b, a, x, z, dim)
- F, zf = filtro ()
Sintaxe e Exemplos
Abaixo estão a sintaxe e os exemplos de função de filtro no Matlab:
1. Saída = filtro (coeficiente b, coeficiente a, x)
- Essa modelagem usou a função de transferência racional no sinal de entrada 'x'. Na equação acima, a e b são os coeficientes de numerador e denominador do sinal.
- Nesse caso, é obrigatório ter um (1) é 1, portanto, normalizamos o coeficiente para 1 para satisfazer essa condição a (1) não deve ser igual a zero, apenas podemos normalizar o coeficiente.
- A saída do filtro depende do tipo de entrada 'x'.
- Se a entrada 'x' é um vetor, obtemos a saída 'z' como um vetor.
- Se o sinal de entrada 'x' for matriz, obteremos um sinal de saída 'z' em relação a cada coluna.
- E se for um sinal multidimensional, obtemos saída com relação ao primeiro array.
Exemplo
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')
Resultado:
2. F = filtro ((b, a, x, z)
- Se houver limitações de memória no design, alguns filtros consideram a condição inicial e a condição final.
- Esses filtros criam grandes dados e dividem a entrada em dois segmentos.
Exemplo
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
Resultado:
A saída do código acima é 1 que significa lógico 1, lógico 1 é uma condição verdadeira.
3. Filtro (b, a, x, z, dim)
Esse tipo de filtro é usado para o design de entrada e saída da matriz.
Exemplo
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')
Resultado:
4. F, zf = filtro ()
Se houver limitação de memória, esse tipo de filtro é usado, ele usa condições iniciais e finais e divide o sinal de entrada em dois segmentos.
Exemplo
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
Resultado:
A saída do sinal acima é lógica 1, o que significa que a condição é verdadeira.
Conclusão - Função de filtro no Matlab
A função de filtro usada principalmente para implementar o filtro de média móvel. A filtragem da média móvel é o método mais simples e comum de suavização. a filtragem também é usada para remover o ruído.
Artigos recomendados
Este é um guia para a Função de filtro no Matlab. Aqui discutimos a introdução e diferentes exemplos de funções de filtro no matlab, juntamente com sua sintaxe. Você também pode consultar os seguintes artigos para saber mais:
- Funções embutidas no Matlab
- Funções de transferência no Matlab
- Funções anônimas no Matlab
- Perguntas da entrevista do MATLAB
- Funções do MATLAB
- Compilador Matlab | Aplicações do Matlab Compiler