Generating Basic Discrete Time Signals
Generating basic discrete-time signals for Discrete-Time Signal ProcessingUnit Step, Unit Impulse, Unit Ramp, exponential signals are very commonly used signals in signal processing to perform various operations.
- Unit step signal is given by
- Unit impulse signal is given by
- Unit ramp signal is given by
- Exponential signal is given by
Examples:




Input : Unit Step Signal u[n-2] Output :

Input : Unit Impulse Signal d(4) Output :

Input : Unit Ramp Signal Output:

Input: Exponential signal for a=2 Output:

Code: Python code implementation to generate the basic discrete time signals
# importing libraries import numpy as np import matplotlib.pyplot as plt # function to generate unit step u[n-a] # LL and UL are lower and upper limits of discrete time line def unit_step(a, n): unit = [] for sample in n: if sample<a: unit.append( 0 ) else : unit.append( 1 ) return (unit) # plot unit step function u[n-a] a = 2 # Enter delay or advance UL = 10 LL = - 10 n = np.arange(LL, UL, 1 ) unit = unit_step(a, n) plt.stem(n, unit) plt.xlabel( 'n' ) plt.xticks(np.arange(LL, UL, 1 )) plt.yticks([ 0 , 1 ]) plt.ylabel( 'u[n]' ) plt.title( 'Unit step u[n-a]' ) plt.savefig( 'UnitStep.png' ) # Function to plot Impulse signal d(a) def unit_impulse(a, n): delta = [] for sample in n: if sample = = a: delta.append( 1 ) else : delta.append( 0 ) return delta a = 4 # Enter delay or advance UL = 10 LL = - 10 n = np.arange(LL, UL, 1 ) d = unit_impulse(a, n) plt.stem(n, d) plt.xlabel( 'n' ) plt.xticks(np.arange(LL, UL, 1 )) plt.yticks([ 0 , 1 ]) plt.ylabel( 'd[n]' ) plt.title( 'Unit Impulse d[4]' ) plt.savefig( "UnitImpulse.png" ) # Function to generate unit ramp signal r(n) # r(n)= n for n>= 0, r(n)= 0 otherwise def unit_ramp(n): ramp = [] for sample in n: if sample< 0 : ramp.append( 0 ) else : ramp.append(sample) return ramp UL = 10 LL = - 10 n = np.arange(LL, UL, 1 ) r = unit_ramp(n) plt.stem(n, r) plt.xlabel( 'n' ) plt.xticks(np.arange(LL, UL, 1 )) plt.yticks([ 0 , UL, 1 ]) plt.ylabel( 'r[n]' ) plt.title( 'Unit Ramp r[n]' ) plt.savefig( "UnitRamp.png" ) # Function to generate exponential signals e**(at) def exponential(a, n): expo = [] for sample in n: expo.append(np.exp(a * sample)) return (expo) a = 2 UL = 1 LL = - 1 n = np.arange(LL, UL, 0.1 ) x = exponential(a, n) plt.stem(n, x) plt.xlabel( 'n' ) plt.xticks(np.arange(LL, UL, 0.2 )) # plt.yticks([0, UL, 1]) plt.ylabel( 'x[n]' ) plt.title( 'Exponential Signal e**(an)' ) plt.savefig( "Exponential.png" ) |
chevron_right
filter_none
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.