A convolução de dois sinais de tempo no MATLAB

O MATLAB é um programa usado para a simulação de operações de engenharia, processamento de sinais e matemática e análise de dados., A convolução é uma operação matemática que combina duas funções. O MATLAB fornece métodos para executar esta operação com dois sinais temporários no domínio da frequência ou do tempo. Você pode usar as funções internas para convencer sinais de tempo no MATLAB ou escrever seu próprio código que ajuda a entender a operação de convolução.

Convolução

A operação de convolução é definida como a integral ou soma em casos discretos, em uma faixa de funções f (T) * g (tT) em relação a T. Ao mover a faixa de uma função f, cada ponto é multiplicado por uma segunda função em g. No domínio do tempo, a convolução é uma operação de computação intensiva; no entanto, após transformá-lo no domínio da frequência por meio da transformação de Fourier, a convolução é simplificada para multiplicações.

Função integrada

As funções “conv (), ou sua variante bidimensional” conv2 () “, podem ser usadas de maneira fácil e eficiente para convencer os sinais no MATLAB. Normalmente, supõe-se que os sinais estejam no domínio temporal ou espacial, em oposição ao domínio do frequency Os dois primeiros argumentos são os dois sinais a serem convoluídos, ou um sinal e um filtro. O terceiro argumento é um argumento que define o tamanho da saída. As opções válidas são “full”, “same” ou “valid “(” completo “,” igual “ou” válido “).

mixed_signal = conv (sinal1, sinal2, ‘igual’); nova_image = conv2 (imagem1, imagem2, ‘cheia’);

Domínio do tempo

A execução da convolução no domínio do tempo pode ser útil para entender como esta operação funciona:

% para dois sinais 1-D, fyg my_length = length (f) + length (g) – 1; resultado = zeros (meu_comprimento, 1);

for i = 1: my_length for j = 1: length (f) if ((i-j + 1)> 0 && (i-j + 1) <length (g)) resultado (i) = f (j) * g (i-j + 1); fim fim fim

Domínio de frequência

Os sinais no domínio do tempo podem ser transformados no domínio da frequência usando a transformação de Fourier. O MATLAB implementa uma transformação rápida de Fourier usando a função “ffft ()”. No domínio da frequência, dois sinais podem ser misturados usando a multiplicação de pontos usando o operador “. *”.

% para dois sinais, fyg F = fft (f); G = fft (g); U = F. * G; u = mudança de iffts (ifft (U));

Referências

 

Você pode estar interessado:

Deixe um comentário