Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
operácia konvolúcie je definovaná ako integrálna , alebo v jednotlivých prípadoch , súčet , v rozsahu funkcia f ( t ) * g ( tT ) , pokiaľ ide o T. Pri pohybe po rad funkcie f , každý bod sa vynásobí druhej funkcie g V časovej oblasti , konvolúcia je výpočet intenzívnu prevádzku , ale po transformácii do frekvenčnej oblasti pomocou Fourierovej transformácie , konvolúcia zjednodušuje na násobenie
Vstavaný Funkcia
.
" conv ( ) " , alebo dvoch - dimenzionální variant " conv2 ( ) , " funkcie možno ľahko a efektívne zvinúť sa signály v prostredí MATLAB . Bežne sa predpokladá , že signály sú v časovo alebo priestorovo doméne , na rozdiel od frekvenčnej oblasti . Prvé dva argumenty sú dva signály , ktoré majú byť konvolvovaného , alebo signálu a filter . Tretí argument je tvar argument , ktorý určuje veľkosť výstupu . Platné voľby sú " plná " , " rovnaký" alebo " platný "
mixed_signal = conv ( SIGNAL1 , SIGNAL2 , " rovnaký " ) . New_image = conv2 ( image1 , image2 , " full ' ) ; .
Time - Domain
Hoci prevedení konvolúcie v časovej doméne , môže byť užitočné pochopiť , ako operácia konvolúcie práce
% pre dva 1 - D signály , f a gmy_length = dĺžka ( f ) + dĺžka ( g ) - 1 ; výsledok = nuly ( my_length , 1 ) ;
pre i = 1 : my_lengthfor j = 1 : dĺžka ( f ) v prípade , ( ( i - j +1 ) > 0 && ( i - j +1 ) < dĺžka ( g ) ) , výsledok ( i ) = f ( j ) * g ( i - j +1 ) ; endendend
Frequency - Domain
signály Time - domény môžu byť transformované do frekvenčnej oblasti pomocou Fourierovej transformácie . MATLAB implementuje rýchla Fourierova transformácia v " FFT ) ( " funkcia . Vo frekvenčnej doméne , dva signály môžu byť zmiešané s použitím point - múdry násobenie pomocou operátora celým
% pre dva signály , f a GF = fft ( f ) " * . " . G = fft ( g ) , u = F * G ; . u = ifftshift ( IFFT ( u ) ) ;
Copyright © počítačové znalosti Všetky práva vyhradené