Como criar um filtro passa-baixas usando Filter2 em MATLAB

Escrito por chris daniels | Traduzido por josé fabián
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como criar um filtro passa-baixas usando Filter2 em MATLAB
A função filter2() do MATLAB permite implementar um filtro passa-baixas (Hemera Technologies/AbleStock.com/Getty Images)

MATLAB é uma ferramenta de programação que pode ser usada para analizar e processar sinais detalhadamente. Uma operação comum no processamento de sinais em uma ou várias dimensões é a remoção do ruído de alta frequência. Um filtro passa-baixas, por definição, está desenhado para remover de um sinal as frequências que estejam por cima de um certo valor. Usar a função filter2() em MATLAB é uma forma de implementar tal filtro.

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

Instruções

  1. 1

    Importe os seus dados em MATLAB. Frequentemente, os sinais que precisam ser filtrados são guardados em formato binário, requerendo uma função de E/S de baixo nível, tais como fread(), para serem importados. No entanto, o MATLAB inclui importadores de imagens para os formatos mais comuns.

    my_data = fread(file_handle, n_samples, data_type); my_image = imread('my_image_file.tif','TIFF');

  2. 2

    Converta os dados para uma matriz bidimensional antes de processá-la com a função filter2(). Você pode fazê-lo convertendo um array binário unidimensional para uma matriz por meio da função reshape(), ou selecionando uma imagem de uma série. Use a função squeeze() para remover dimensões "singleton" ao selecionar uma parte de uma matriz com mais de duas dimensões.

    my_image = reshape(my_data, width, height); my_other_image = squeeze(my_image_series(:, :, image_number));

  3. 3

    Desenhe o seu filtro e armazene o resultado em uma matriz bidimensional H. Geralmente um filtro passa-baixas usa uma "janela gaussiana" que pode ser criada com a função fspecial(). Os filtros também podem ser desenhados com a função especial de processamento de sinais sptool(). Você pode ver a resposta em frequência da janela do seu filtro usando a função wvtool(). No código de exemplo, H é uma matriz de 24x24 que contém uma janela gaussiana de desvio padrão 10.

    H = fspecial('gaussian',[24 24], 10); wvtool(H);

  4. 4

    Realize a filtragem usando o algoritmo de convolução bidimensional implementado por meio de filter2(). Por padrão, o resultado de filter2() tem as mesmas dimensões do que o conjunto de dados de entrada.

    my_filtered_data = filter2(my_data, H);

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível