首页 > 代码库 > DSP using MATLAB 示例Example3.21

DSP using MATLAB 示例Example3.21

技术分享

代码:

% Discrete-time Signal x1(n)
% Ts = 0.0002; n = -25:1:25; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nTs));
Ts = 0.001; n = -5:1:5; nTs = n*Ts; Fs = 1/Ts; x = exp(-1000*abs(nTs));

% Analog Signal
Dt = 0.00005; t = -0.005:Dt:0.005; 
xa = x * sinc(Fs*(ones(length(n),1)*t - nTs‘*ones(1,length(t)))) ;

%% --------------------------------------------------------------------
%%              
%% --------------------------------------------------------------------
figure(‘NumberTitle‘, ‘off‘, ‘Name‘, ‘<<DSP MATLAB>> Example3.21‘);
set(gcf,‘Color‘,‘white‘); 
subplot(1,1,1); plot(t*1000,xa); grid on;  %axis([0,1,0,1.5]); 
% title(‘Reconstructed Signal from x1(n) using sinc function‘);
title(‘Reconstructed Signal from x2(n) using sinc function‘);
xlabel(‘t in msec units.‘); ylabel(‘xa(n)‘); hold on;
% stem(n*Ts*1000,x); gtext(‘Ts=0.2 msec‘); hold off;
stem(n*Ts*1000,x); gtext(‘Ts=1 msec‘); hold off;

% subplot(2,1,2); plot(w/pi, X); grid on; % axis([-1,1,-1,1]);
% title(‘Discrete-time Fourier Transform‘);
% xlabel(‘frequency in \pi units‘); ylabel(‘X1(w)‘);

%% -------------------------------------------------------------------
%%           
%% -------------------------------------------------------------------


% check
error = max(abs(xa - exp(-1000*abs(t))))

  运行结果:

技术分享

技术分享

 

DSP using MATLAB 示例Example3.21