Nghiên cứu Khoa học
Khảo sát các đặc tính của DFT bằng Matlab
Khảo sát tính chất dịch vòng của DFT-N điểm:
N = 20;
m = 3;
x = randn(1,N);
y = fft(x,N);
x1 = cshift(x,m);
y1 = fft(x1,N);
k = 0:N-1;
y2 = exp(-j*2*pi*k*m/N).*y;
subplot(221),stem(abs(y));title(‘y1’);
subplot(222),stem(angle(y)); title(‘y1’);
subplot(223),stem(abs(y2));title(‘y2’);
subplot(224),stem(angle(y2)); title(‘y2’);
% Program P4_6
% Circular Time-Shifting Property of DFT
clf;
x = [0 2 4 6 8 10 12 14 16];
N = length(x)-1; n = 0:N;
y = circshift(x,5);
XF = fft(x);
YF = fft(y);
subplot(2,2,1)
stem(n,abs(XF));grid
title('Magnitude of DFT of Original Sequence');
subplot(2,2,2)
stem(n,abs(YF));grid
title('Magnitude of DFT of Circularly Shifted Sequence');
subplot(2,2,3)
stem(n,angle(XF));grid
title('Phase of DFT of Original Sequence');
subplot(2,2,4)
stem(n,angle(YF));grid
title('Phase of DFT of Circularly Shifted Sequence');
% Circular Convolution Property of DFT
g1 = [1 2 3 4 5 6]; g2 = [1 -2 3 3 -2 1];
ycir = circonv(g1,g2);
disp('Result of circular convolution = ');disp(ycir)
G1 = fft(g1); G2 = fft(g2);
yc = real(ifft(G1.*G2));
disp('Result of IDFT of the DFT products = ');disp(yc)