Filtro FIR

Cria um filtro de resposta por impulso finito para o processamento de sinal

Categoria: Transformação de Dados / Filtro

Nota

Aplica-se a: Machine Learning Studio (clássico)

Este conteúdo diz respeito apenas ao Studio (clássico). Módulos semelhantes de arrasto e queda foram adicionados ao designer de Aprendizagem automática Azure. Saiba mais neste artigo comparando as duas versões.

Visão geral do módulo

Este artigo descreve como usar o módulo de filtro FIR no Azure Machine Learning Studio (clássico), para definir um tipo de filtro chamado filtro de resposta por impulso finito (FIR). Os filtros FIR têm muitas aplicações no processamento de sinal, e são mais comumente usados em aplicações que requerem uma resposta de fase linear. Por exemplo, um filtro pode ser aplicado a imagens usadas nos cuidados de saúde para afiar a imagem geral, eliminar o ruído ou focar-se num objeto com imagem.

Nota

Um filtro é uma função de transferência que toma um sinal de entrada e cria um sinal de saída baseado nas características do filtro. Para obter informações mais gerais sobre o utilizador de filtros no processamento de sinais digitais, consulte Filtro.

Depois de ter definido um filtro de processamento de sinal digital, pode aplicar o filtro aos dados ligando um conjunto de dados e o filtro ao módulo 'Aplicar filtro'. Também pode guardar o filtro para reutilizar com conjuntos de dados semelhantes.

Dica

É necessário filtrar dados de um conjunto de dados ou remover valores em falta? Utilize estes módulos em vez disso:

  • Limpar dados em falta: Utilize este módulo para remover os valores em falta ou substituir os valores em falta por espaços reservados.
  • Partição e Amostra: Utilize este módulo para dividir ou filtrar o conjunto de dados por critérios como uma gama de datas, um valor específico ou expressões regulares.
  • Valores do clipe: Utilize este módulo para definir um intervalo e mantenha apenas os valores dentro desse intervalo.

Como configurar o filtro FIR

  1. Adicione o módulo de filtro FIR à sua experiência. Pode encontrar este módulo na categoria De Transformação de Dados, na categoria Filtro.

  2. Para encomenda, digite um valor inteiro que defina o número de elementos ativos utilizados para afetar a resposta do filtro. A ordem do filtro representa o comprimento da janela do filtro.

    Para um filtro FIR, a ordem mínima é 4.

  3. Para janela, selecione a forma dos dados aos quais o filtro será aplicado. A Azure Machine Learning suporta os seguintes tipos de funções de janela para utilização em filtros finitos de resposta por impulso:

    Hamming: A janela de Hamming generalizada fornece um tipo de média ponderada, que é comumente usada no processamento de imagem e visão computacional.

    Blackman: Uma janela Blackman aplica uma função de curva cónica suave ao sinal. A janela Blackman tem melhor atenuação da banda de paragem do que outros tipos de janelas.

    Retangular: Uma janela retangular aplica um valor consistente dentro do intervalo especificado e não aplica qualquer valor em outros lugares. A janela retangular mais simples pode substituir n valores numa sequência de dados por zeros, o que faz com que pareça que o sinal se liga e desliga repentinamente.

    Uma janela retangular também é conhecida como um carro de boxe ou janela de Dirichlet.

    Triangular: Uma janela triangular aplica coeficientes de filtro de forma passo a passo. O valor atual aparece no pico do triângulo, e depois declina com valores anteriores ou seguintes.

    Nenhuma: Em algumas aplicações é preferível não utilizar nenhuma função de janela. Por exemplo, se o sinal que está a analisar já representar uma janela ou uma rutura, a aplicação de uma função de janela pode deteriorar a relação sinal-ruído.

  4. Para o tipo filtro, selecione uma opção que defina como o filtro é aplicado. Pode especificar que o filtro exclui os valores-alvo, altera os valores, rejeita os valores ou passa-os.

    Lowpass: "Low pass" significa que o filtro passa por valores mais baixos e remove os valores mais elevados. Por exemplo, pode usar isto para remover os picos de ruído e dados de alta frequência de um sinal.

    Este tipo de filtro tem um efeito de alisamento nos dados.

    Highpass: "High pass" significa que o filtro passa por valores mais elevados e remove valores mais baixos. Pode usá-lo para remover dados de baixa frequência, como um enviesamento ou compensação, de um sinal.

    Este tipo de filtro preserva mudanças repentinas e picos num sinal.

    Bandpass: "Band pass" significa que passa pela faixa de valores especificada e remove outros. Pode utilizar este filtro para preservar os dados de um sinal com características de frequência na intersecção entre os filtros highpass e lowpass.

    Os filtros bandpass são criados combinando um highpass e um filtro lowpass. A frequência de corte do filtro de highpass representa o corte inferior, e a frequência do filtro lowpass representa o corte mais alto.

    Este tipo de filtro é bom para remover um viés e suavizar um sinal.

    Bate-se: "Paragem da banda" significa que bloqueia sigals especificados. Por outras palavras, remove dados de um sinal com características de frequência que são rejeitadas pelo passe baixo e pelos filtros de highpass.

    Este tipo de filtro é bom para preservar o viés do sinal e alterações repentinas.

  5. Dependendo do tipo de filtro que escolheu, deve definir um ou mais valores de corte.

    Utilize as opções de corte alto e baixo para definir um limiar superior e/ou inferior para valores. Uma ou ambas as opções são necessárias para especificar quais os valores que são rejeitados ou passados. Um filtro de bandstop ou bandpass requer que se estabeleça valores de corte altos e baixos. Outros tipos de filtro, como o filtro lowpass, exigem que se estabeleça apenas o baixo valor de corte.

  6. Selecione a opção Escala se a escala for aplicada aos coeficientes; caso contrário deixar em branco.

  7. Ligue o filtro ao Filtro de Aplicaçãoe conecte um conjunto de dados.

    Utilize o seletor de colunas para especificar a que colunas o filtro deve ser aplicado. Por predefinição, o módulo 'Filtro' Apply utilizará o filtro para todas as colunas numéricas selecionadas.

  8. Execute a experimentação.

    Não são realizados cálculos até ligar um conjunto de dados ao módulo 'Aplicar filtro' e executar a experiência. Nessa altura, a transformação especificada é aplicada às colunas numéricas selecionadas.

Nota

O módulo filtro FIR não oferece a opção de criar uma coluna indicadora. Os valores das colunas são sempre transformados no lugar.

Exemplos

Por exemplo, como os filtros são usados na aprendizagem automática, consulte esta experiência na Galeria Azure AI:

  • Filtros: Esta experiência demonstra todos os tipos de filtros, utilizando um conjunto de dados de forma de onda projetado.

Notas técnicas

Esta secção contém detalhes de implementação, dicas e respostas a perguntas frequentes.

Detalhes de implementação

Os filtros FIR têm estas características:

  • Os filtros FIR não têm feedback; ou seja, usam as saídas de filtro anteriores.
  • Os filtros FIR são mais estáveis, porque a resposta por impulso voltará sempre a 0.
  • Os filtros FIR requerem uma ordem mais alta para obter a mesma seletividade que os filtros infinitos de resposta por impulso (IIR).
  • Tal como outros filtros, o filtro FIR pode ser concebido com uma frequência de corte específica que preserva ou rejeita frequências que compõem o sinal.

Cálculo dos coeficientes sobre a janela do filtro

O tipo de janela determina a compensação entre a seletividade (largura da banda de transição em que as frequências não são totalmente aceites nem rejeitadas) e a supressão (a atenuação total das frequências a rejeitar). A função de janela é aplicada na resposta do filtro ideal para forçar a resposta de frequência a zero fora da janela. Os coeficientes são selecionados através da amostragem da resposta de frequência dentro da janela.

O número de coeficientes devolvidos pelo módulo filtro FIR é igual à ordem do filtro mais um. Os valores do coeficiente são determinados pelos parâmetros do filtro e pelo método de janela, e são simétricos para garantir uma resposta linear da fase

Escalagem de coeficientes

O módulo filtro FIR devolve coeficientes de filtro, ou pesos de toque, para o filtro criado.

Os coeficientes são determinados pelo filtro, com base nos parâmetros introduzidos (como a ordem). Se pretender especificar coeficientes personalizados, utilize o módulo filtro definido pelo utilizador.

Quando a Escala estiver definida para True, os coeficientes do filtro serão normalizados, de modo a que a resposta de magnitude do filtro na frequência central da banda passária seja 0. A implementação da normalização no Azure Machine Learning Studio (clássico) é a mesma que na função fir1 no MATLAB.

Tipicamente, no método de design da janela, você projeta um filtro de resposta de impulso infinito ideal (IIR). A função da janela é aplicada à forma de onda no domínio do tempo, e multiplica a resposta de impulso infinita pela função da janela. Isto resulta na resposta de frequência do filtro IIR sendo confundido com a resposta de frequência da função da janela. No entanto, no caso dos filtros FIR, os coeficientes de entrada e filtro (ou pesos de toque) são confundidos ao aplicar o filtro.

Seletividade e atenuação da banda

A tabela a seguir compara a seletividade com a atenuação da banda de stop para um filtro FIR com comprimento n utilizando diferentes métodos de janela:

Tipo de janela Região de Transição Atenuação mínima da banda de paragem
Retangular 0.041n 21 dB
Triângulo 0.11n 26 dB
Estação Hann 0.12n 44 dB
Hamming 0.23n 53 dB
Homem-Negro 0.2n 75 dB

Parâmetros do módulo

Nome Intervalo Tipo Predefinição Descrição
Encomenda >=4 Número inteiro 5 Especificar a ordem do filtro
Janela Qualquer Tipo de janela Especificar o tipo de janela para aplicar
Tipo de filtro Qualquer Tipo de Filtro LowPass Selecione o tipo de filtro para criar
Corte baixo [O dobro. Epsilon;. 9999999] Float 0.3 Desacorda a frequência de corte baixo
Corte alto [O dobro. Epsilon;. 9999999] Float 0.7 Desacorda a frequência de corte elevado
Escala Qualquer Booleano Verdadeiro Se for verdade, os coeficientes de filtro serão normalizados

Saída

Nome Tipo Descrição
Filtro Interface IFilter Implementação do filtro

Exceções

Exceção Descrição
NotInRangeValue A exceção ocorre se o parâmetro não estiver ao alcance.

Para obter uma lista de erros específicos dos módulos Studio (clássicos), consulte códigos de erro de aprendizagem automática.

Para obter uma lista de exceções da API, consulte códigos de erro da API de aprendizagem automática.

Ver também

Filtro
Aplicar filtro
Lista de Módulos A-Z