MATLAB is een software die wordt gebruikt voor engineering simulatie , signaalverwerking , wiskundige bewerkingen en data-analyse . Convolutie is een wiskundige bewerking die twee functies elkaar mengt . MATLAB biedt methoden voor convolving twee keer signalen in het tijd - of frequentie - domein. U kunt gebruik maken van ingebouwde functies om tijd signalen convolve in MATAB , of schrijf uw eigen code om u te helpen de convolutiebewerking begrijpen . Convolution convolutie-bewerking wordt gedefinieerd als de integraal of som in discrete gevallen in het bereik van de functie f ( t ) * g ( tT ) ten opzichte van T. Terwijl u via bereik van een functie f , wordt elk punt vermenigvuldigd met een tweede functie g . In de tijd-domein , convolutie is een berekening intensieve operatie; . Maar na transformeren in het frequentiedomein met behulp van een Fourier-transformatie , convolutie vereenvoudigt tot vermenigvuldigingen ingebouwde functie " conv ( )" of de tweedimensionale variant " conv2 ( ) " kunnen worden gebruikt om eenvoudig en efficiënt oprollen om signalen MATLAB . Het wordt normaal aangenomen dat de signalen in het tijd - en ruimte - domein , in tegenstelling tot het frequentiedomein . De eerste twee argumenten zijn twee signalen te convolved of een signaal en een filter . Het derde argument is een vorm argument dat de omvang van de output bepaalt . Geldige opties zijn " full ", " dezelfde ", of " geldige " mixed_signal = conv ( SIGNAAL1 , SIGNAAL2 , ' hetzelfde ' ) ; . New_image = conv2 ( image1 , image2 , ' vol ' ) ; Time - Domain Hoewel het uitvoeren van convolutie in het tijd-domein , kan het nuttig zijn om te begrijpen hoe de convolutiebewerking werken < . br > % voor twee 1 - D signalen , f en gmy_length = lengte ( f ) + lengte ( g ) - 1 ; resultaat = nullen ( my_length , 1 ) ; voor i = 1 : my_lengthfor j = 1 : lengte ( f ) if ( ( i - j 1 ) > 0 && ( i - j 1 ) < lengte ( g ) ) resultaat ( i ) = f ( j ) * g ( i - j +1 ) ; endendend Frequency - Domain tijddomeinsignalen kan worden omgezet in het frequentiedomein met behulp van de Fourier-transformatie . MATLAB implementeert een snelle Fourier-transformatie in de " FFT ( ) " functie . In het frequentiedomein , kan twee signalen gemengd worden met punt - wise vermenigvuldiging met de exploitant % Voor twee signalen , f en GF = FFT ( f ) " * . " ; . G = FFT ( g ) ; U = F * G ; . u = ifftshift ( ifft ( U) ) ;
|