代码:
L = 5; N = 20; k = [-N/2:N/2]; % square wave parameters
xn = [ones(1,L), zeros(1,N-L)]; % Sq wave x(n)
Xk = dfs(xn,N); % DFS %% ----------------------------------------------------
%% START periodic sequence
%% ----------------------------------------------------
self_periods = N;
periods = 3;
n1 = [-20: -1 + (periods-1) * self_periods]; xtilde = xn' * ones(1,periods); xtilde = (xtilde(:))'; figure('NumberTitle', 'off', 'Name', 'Example5.2 3 Period Sequence')
set(gcf,'Color','white');
stem(n1,xtilde); title('Three Peroids of xtilde(n)');axis([-20, 40, -0.5, 1.5]);
xlabel('n'); ylabel('xtilde(n)');grid on;
%% ----------------------------------------------------
%% END periodic sequence
%% ---------------------------------------------------- magXk = abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % DFS magnitude figure('NumberTitle', 'off', 'Name', 'Example5.2')
set(gcf,'Color','white');
subplot(2,2,1); stem(k, magXk); axis([-N/2, N/2, -0.5, 5.5]);
xlabel('k'); ylabel('Xtilde(k)'); grid on;
title('DFS of SQ. wave: L=5 N=20'); L = 5; N = 40; k = [-N/2:N/2]; % square wave parameters
xn = [ones(1,L), zeros(1,N-L)]; % Sq wave x(n)
Xk = dfs(xn,N); % DFS magXk = abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % DFS magnitude %figure('NumberTitle', 'off', 'Name', 'Example5.2')
%set(gcf,'Color','white');
subplot(2,2,2); stem(k, magXk); axis([-N/2, N/2, -0.5, 5.5]);
xlabel('k'); ylabel('Xtilde(k)'); grid on;
title('DFS of SQ. wave: L=5 N=40'); L = 5; N = 60; k = [-N/2:N/2]; % square wave parameters
xn = [ones(1,L), zeros(1,N-L)]; % Sq wave x(n)
Xk = dfs(xn,N); % DFS magXk = abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % DFS magnitude %figure('NumberTitle', 'off', 'Name', 'Example5.2')
%set(gcf,'Color','white');
subplot(2,2,3); stem(k, magXk); axis([-N/2, N/2, -0.5, 5.5]);
xlabel('k'); ylabel('Xtilde(k)'); grid on;
title('DFS of SQ. wave: L=5 N=60'); L = 7; N = 60; k = [-N/2:N/2]; % square wave parameters
xn = [ones(1,L), zeros(1,N-L)]; % Sq wave x(n)
Xk = dfs(xn,N); % DFS magXk = abs([Xk(N/2+1:N) Xk(1:N/2+1)]); % DFS magnitude %figure('NumberTitle', 'off', 'Name', 'Example5.2')
%set(gcf,'Color','white');
subplot(2,2,4); stem(k, magXk); axis([-N/2, N/2, -0.5, 7.5]);
xlabel('k'); ylabel('Xtilde(k)'); grid on;
title('DFS of SQ. wave: L=7 N=60');
运行结果: