% GDFTCmplxTest.m % % demonstrates the use of GDFTAnaCmplx() and GDFTSynCmplx() % in combination with ModifyPrototype() and MakeTDL(). % % S Weiss, Univ. of Southampton, 21/1/2001 % prototype filter and parameters p = filter16_14_448; K = 16; N = 14; Lp = 448; p_mod = ModifyPrototypeOct(p,K); % input signal Lx = 2*Lp; x = randn(1,Lx) + sqrt(-1)*randn(1,Lx); % initialisation of output TDL for GDFTSynCmplx() y_tdl = zeros(1,Lp); % iteration for analysis and synthesis operations for k = 1:N:Lx, U = MakeTDL(x,k,Lp); % extract TDL X = GDFTAnaCmplxOct(U,K,p_mod); % analysis [y(k:k+N-1) y_tdl] = GDFTSynCmplxOct(X,N,p_mod,y_tdl); % synthesis end; % display of I/O to cascaded analysis and synthesis filter bank clg; subplot(211); E = length(y); plot(real(x(1:E-Lp+1))); hold on; plot(real(y(Lp:E))); hold off; ylabel('real(.)'); title('I/O for complex valued GDFT OSFB'); subplot(212); plot(imag(x(1:E-Lp+1))); hold on; plot(imag(y(Lp:E))); hold off; ylabel('imag(.)'); xlabel('time [fullband sampling periods]');