《DSP using MATLAB》示例Example5.2

代码:

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');

  运行结果:

 

posted @ 2016-12-03 09:12  跑啊跑  阅读(396)  评论(0编辑  收藏  举报