ten przykład pokazuje, jak ustalić równoważność splotu liniowego i kołowego.
splot liniowy i kołowy to zasadniczo różne operacje. Istnieją jednak warunki, w których splot liniowy i kołowy są równoważne. Ustalenie tej równoważności ma istotne konsekwencje. Dla dwóch wektorów, x
i y
, splot kołowy jest równy odwrotnej dyskretnej transformacji Fouriera (DFT) iloczynu DFTs wektorów. Znajomość warunków, w których sploty liniowe i kołowe są równoważne, pozwala na użycie DFT do wydajnego obliczania splotów liniowych.
splot liniowy wektora punktu n, x
i wektora punktu L, y
, ma długość N + L-1.
aby splot kołowy X i y był równoważny, musisz umieścić wektory z zerami o długości co najmniej N + L – 1, zanim weźmiesz DFT. Po odwróceniu iloczynu DFTs, Zachowaj tylko pierwsze elementy N + L – 1.
utwórz dwa wektory, x
i y
i Oblicz splot liniowy dwóch wektorów.
x = ;y = ;clin = conv(x,y);
wyjście ma długość 4+3-1.
Obróć oba wektory zerami na długość 4+3-1. Uzyskaj DFT obu wektorów, pomnóż DFTs i uzyskaj odwrotność DFT produktu.
xpad = ;ypad = ;ccirc = ifft(fft(xpad).*fft(ypad));
splot kołowy wektorów zerowych, xpad
i ypad
, jest równoważny splotowi liniowemu x
i y
. Zachowujesz wszystkie elementy ccirc
, ponieważ wyjście ma długość 4+3-1.
Wykreśl wyjście splotu liniowego i odwrotność produktu DFT, aby pokazać równoważność.
subplot(2,1,1)stem(clin,'filled')ylim()title('Linear Convolution of x and y')subplot(2,1,2)stem(ccirc,'filled')ylim()title('Circular Convolution of xpad and ypad')
przyłóż wektory do długości 12 i uzyskaj splot kołowy za pomocą odwrotnego DFT iloczynu DFTs. Zachowaj tylko pierwsze 4 + 3-1 elementów, aby uzyskać równoważny wynik splotu liniowego.
N = length(x)+length(y)-1;xpad = ;ypad = ;ccirc = ifft(fft(xpad).*fft(ypad));ccirc = ccirc(1:N);
oprogramowanie Signal Processing Toolbox™ posiada funkcję cconv
, która zwraca splot kołowy dwóch wektorów. Możesz otrzymać splot liniowy x
i y
używając splotu kołowego z następującym kodem.
ccirc2 = cconv(x,y,6);
cconv
wewnętrznie używa tej samej procedury opartej na DFT, zilustrowanej w poprzednim przykładzie.