Convolução é uma operação matemática que combina duas funções relativas à sobreposição de uma função , uma vez que é deslocado em relação a outro . Embora MATLAB contém uma função de convolução pré- construído , é possível calcular a convolução se integrante discreta. A convolução discreta de duas funções f e g é definido como a soma ao longo do intervalo de 0 a j f ( j ) * g ( kj ) . Instruções
1
Definir dois vetores , F e G , que contém as duas funções que pretende convolve . Os comprimentos de f e g não tem que ser igual . O comprimento da sequência de convolução , k , será uma menor do que a soma do comprimento de f e g :
m = comprimento ( f ), n = comprimento ( g ) ; k = m + n - 1;
2
Defina o j intervalo em que a convolução ocorrerá. O valor de j é o intervalo em que os subscritos das duas funções a convolução , f ( j ) e g ( k +1- n ) , são legais . O valor de 1 a k é adicionado para dar conta do facto de que os vectores de indexação MATLAB começa a 1 em vez de 0 :
j = max ( 1 , k +1- n ) : min ( k , m )
3
espaço para pré-alocar o resultado da convolução :
my_result = zeros ( k) ;
4
Escrever um loop for para iterar através de valores de k:
para result_index = 1: k
5
Calcule a convolução para todos os valores de j:
my_result ( k) = soma ( f ( j) * g ( k -j +1) ); .
6
Feche o loop com o "fim" comando
< . br>