Como criar um filtro passa-baixas usando Filter2 em MATLAB

Autor: Laura McKinney
Data De Criação: 1 Abril 2021
Data De Atualização: 12 Poderia 2024
Anonim
Aula 3 - filtros digitais FIR no Matlab
Vídeo: Aula 3 - filtros digitais FIR no Matlab

Contente

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.


Instruções

A função filter2() do MATLAB permite implementar um filtro passa-baixas (Hemera Technologies/AbleStock.com/Getty Images)
  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. 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. 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. 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);


Decorar a feta de aniverário do filho ou filha pode er divertido, ma também gerar etree. Entretanto, com alguma ideia para e inpirar, você logo fará uma feta que a criança ir&...

Cantar rock peado requer uma voz poderoa e a capacidade de lidar com grito primitivo, força e durabilidade para fazer io na frente de uma grande banda de rock. Cantore de metal lendário como...

Novos Artigos