MATLAB är en programvara som används för teknisk simulering , signalbehandling , matematiska operationer och dataanalys . Faltning är en matematisk operation som blandar två funktioner tillsammans . MATLAB innehåller metoder för att falta två tidssignaler i tid - eller frekvens - domän . Du kan använda inbyggda funktioner för att convolve tidssignaler i MATAB , eller skriva din egen kod för att hjälpa dig att förstå Faltningsoperationen . Faltning
Faltningsoperationen definieras som integralen eller summan i diskreta fall , över området av funktion f ( t ) * g (TT ) med avseende på T. Samtidigt rör sig över räckvidden för en funktion f , är varje punkt multipliceras med en andra funktion g . I tidsplanet , är faltning en beräkning intensiv drift , . Dock , efter omvandling till frekvensdomänen med en Fouriertransform , förenklar faltning till multiplikationer
inbyggda funktionen
" conv ( ) , " eller den tvådimensionella variant " conv2 ( ) , " kan funktionerna användas för att enkelt och effektivt convolve till signaler i MATLAB . Det är normalt antas att signalerna är i tid - eller rymd - domän , i motsats till frekvensdomänen. De första två argument är de två signalerna som skall faltade , eller en signal-och ett filter. Det tredje argumentet är en form argument som definierar storleken på utgången. Giltiga alternativ är "full ", " samma " eller " giltigt "
mixed_signal = conv ( SIGNAL 1 , SIGNAL2 , " samma" ) ; . New_image = conv2 ( image1 , image2 , ' fullständig ');
Time - Domain
Även utföra faltning i tidsplanet , kan det vara bra att förstå hur Faltningsoperationen verk < . br >
% för två 1 - D-signaler , F och gmy_length = längd ( f ) + längd ( g ) - 1 , resultat = zeros ( my_length , 1 ) ;
för i = 1 : my_lengthfor j = 1 : längd ( f) if ( (i- j 1 ) > 0 && ( i- j 1 ) < längd ( g ) ) träff (i) = f ( j ) * g ( i- j +1 ) , endendend
frekvensdomänskoda
Tidsdomänmetoder signaler kan omvandlas till frekvensdomänen med Fouriertransformen . MATLAB implementerar en snabb Fouriertransform i " fft ( ) " -funktion . I frekvensdomänen , kan två signaler blandas med peka - multiplikation med operatören För två signaler , F och GF = fft ( f ) katalog
% " * . "; . G = fft ( g ) , U = F * G ; . u = ifftshift ( IFFT ( U ) ) ;