MATLAB er en software , der anvendes til engineering simulation, signalbehandling, matematiske operationer og dataanalyse. Convolution er en matematisk operation , der blander to funktioner sammen. MATLAB indeholder metoder til foldning to tidssignaler i den tid - eller frekvens - domænet. Du kan bruge indbyggede funktioner til at convolve tidssignaler i MATAB , eller skriv din egen kode til at hjælpe dig med at forstå convolution operation. Convolution
convolution drift defineres som integralet eller summen i diskrete tilfælde over området funktion f (t) * g (TT) med hensyn til T. Mens du flytter over vifte af en funktion f, hvert punkt multipliceret med en anden funktion g. . I den tid - domæne, er foldning en beregning intensiv operation . Men efter omdanne til frekvensdomænet ved hjælp af en Fourier transformation , foldning forenkler til multiplikationer
indbygget funktion
" conv () ", eller det todimensionale variant " conv2 () " funktionen kan bruges til nemt og effektivt convolve på signaler i Matlab . Det antages normalt, at signalerne er i den tid - eller rum - domæne i modsætning til frekvensdomænet . De første to argumenter er de to signaler , der skal foldes , eller et signal og et filter . Det tredje argument er en form parameter, som definerer størrelsen af produktionen . Gyldige indstillinger er "fuld ", " samme " eller " gyldigt "
mixed_signal = conv ( signal1 , signal2 ' samme '); . New_image = conv2 ( image1 , image2 ' fuld " ),
Time -Domain
Selv udfører foldning i den tid - domænet, kan det være nyttigt at forstå, hvordan convolution operation værker < . br >
% for to 1- D-signaler , f og gmy_length = længde ( f ) + længde ( g ) - 1 , resultat = nuller ( my_length , 1 ),
for i = 1: my_lengthfor j = 1: længde ( f ) if ( (i - j +1) > 0 && (I- j +1) < længde ( g ) ) resultat ( i) = f ( j ) * g ( i- j +1 ), endendend
frekvensanalyse
Time- domæne signaler kan omdannes til frekvensdomænet ved hjælp af Fouriertransformation . MATLAB implementerer en hurtig Fouriertransformation i " FFT ( ) "-funktionen . I frekvensdomænet , kan to signaler blandes ved hjælp af punkt -wise multiplikation ved hjælp operatøren
% For to signaler , f og GF = FFT ( f) " * ." . G = fft ( g ), U = F * G . u = ifftshift ( IFFT (U )),