MATLAB é um pacote de análise que leva para o processamento digital de sinais e outras variedades de análise técnica. O processamento de sinal é de opinião que qualquer sinal de dados arbitrário é composto pela soma de muitos sinais de diferentes freqüências. Muitas vezes , os sinais provenientes de diferentes fontes , ou ruído, terá diferentes freqüências. Sinais de alta freqüência pode ser removido por convolving um sinal com um filtro passa- baixa. Low-Pass Filtering
filtragem para remover freqüências é baseado em encontrar uma função de transferência no domínio da freqüência , que seleciona o alcance ea magnitude das freqüências a serem incluídos no sinal filtrado . Uma transformada de Fourier inversa é, então, aplicado à função no domínio de frequência para obter o filtro no domínio do tempo , com a função de transferência de frequência seleccionada . O filtro no domínio do tempo é, então, aplicado ao seu sinal de escolha utilizando a operação de convolução. Alternativamente , você pode tomar a transformada de Fourier do sinal no domínio do tempo e multiplicar pela função de transferência no domínio da freqüência do filtro, antes de aplicar uma transformação inversa de Fourier. Este pode ser mais rápido para executar, como convolução é uma operação computacionalmente caro.
Usando suave ()
MATLAB contém a função suave () para remover o ruído de alta freqüência num sinal sem a necessidade de determinar a frequência de corte exacto para um filtro passa- baixo . Por padrão, o MATLAB usa um filtro de média móvel de cinco pontos de dados adjacentes. . O segundo exemplo usa um espaço de 10 pontos de dados e os robustos linear ponderada mínimos quadrados funcionar com um modelo polinomial de segundo grau
my_smoothed_data = lisa ( my_data ); my_smoothed_data = lisa ( my_data , 10, ' rloess ') ;
Usando filter ()
a função de filtro MATLAB é usado para aplicar um filtro digital unidimensional de um sinal. Para aplicar um filtro passa-baixa com uma certa freqüência de corte , use o seguinte código:
my_filtered_data = filtro ( freq [1 freq -1] , my_data );
A variável é freq igual a T /t, onde "T" é o tempo entre amostras e "t" é a constante de tempo do filtro de freqüência. Filtros
Personalizado
Muitas vezes, filtros passa-baixa não terá um corte de freqüência exata , passando todas as freqüências abaixo do cutoff e excluindo todas as freqüências acima do cutoff . Na verdade, porque os dados são discretos, um filtro passa-baixa ideal é impossível de implementar. Qualquer filtro arbitrário pode ser projetado em MATLAB e aplicado usando o conv function () , a aplicação de convolução , como segue:
my_new_signal = conv ( my_signal , my_filter , "mesmo" );
< br >