Untitled
clc; clear; close all; n = -20:20; % Time axis (discrete time indices) f = 1; % Frequency for sinusoidal and cosine signals (Hz) Fs = 100; % Sampling frequency (samples/sec) A = 1; % Amplitude tau = 5; % Width parameter for rectangular and triangular pulses alpha = 0.9; % Parameter for exponential signal % --- 1. Sinusoidal Signal --- t = n/Fs; % Convert discrete indices to time (seconds) sinusoidal = A * sin(2*pi*f*t); % --- 2. Cosine Signal --- cosine = A * cos(2*pi*f*t); % --- 3. Triangular Signal --- triangular = zeros(size(n)); triangular(n >= -tau & n <= tau); for i=1:length(n) if (n(i)>=-tau && n(i)<=0) triangular(i) = (1 + (n(i)/tau)); elseif (n(i)>0 && n(i)<= tau) triangular(i) = (1- (n(i)/tau)); end end % --- 4. Sawtooth Signal --- sawtooth = A * mod(n, 10) / 5 -1; % Simple discrete sawtooth % --- 5. Rectangular Signal --- rectangular = zeros(size(n)); rectangular(n >= -tau/2 & n <= tau/2) = 1; % --- 6. Exponential Signal --- exponential = A * (alpha).^n; % --- 7. Unit Impulse Signal --- unit_impulse = zeros(size(n)); unit_impulse(n == 0) = 1; % --- 8. Unit Step Signal --- unit_step = zeros(size(n)); unit_step(n >= 0) = 1; % --- 9. Unit Ramp Signal --- unit_ramp = zeros(size(n)); unit_ramp(n >= 0) = n(n >= 0); figure; % Subplot layout subplot(3,3,1); stem(t,sinusoidal,'k'); title('Sinusoidal'); xlabel('Time (sec)'); ylabel('Amplitude'); subplot(3,3,2); stem(t,cosine,'k'); title('Cosine'); xlabel('Time (sec)'); ylabel('Amplitude'); subplot(3,3,3); stem(n,triangular,'k'); title('Triangular'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,4); stem(n,sawtooth,'k'); title('Sawtooth'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,5); stem(n,rectangular,'k'); title('Rectangular'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,6); stem(n,exponential,'k'); title('Exponential'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,7); stem(n,unit_impulse,'k'); title('Unit Impulse'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,8); stem(n,unit_step,'k'); title('Unit Step'); xlabel('n'); ylabel('Amplitude'); subplot(3,3,9); stem(n,unit_ramp,'k'); title('Unit Ramp'); xlabel('n'); ylabel('Amplitude'); sgtitle('Elementary Discrete-Time Signals ');
Leave a Comment