DSP using MATLAB 示例Example3.21

时间:2023-03-09 03:12:34
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

DSP using MATLAB 示例Example3.21