0% found this document useful (0 votes)
134 views

DSP Lab1

The document describes an experiment involving time domain analysis of discrete time signals and systems using MATLAB. It includes theory on discrete time signals and their graphical representation. It then presents 12 questions involving MATLAB programs to generate and analyze various discrete time signals including unit impulse, unit step, complex exponential, sinusoidal, amplitude modulated signals, and signal smoothing. The programs demonstrate plotting signals, computing their power and period, convolution, and effects of changing parameters. The learning outcomes from implementing the programs are also summarized.

Uploaded by

Anchit Kawaatra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
134 views

DSP Lab1

The document describes an experiment involving time domain analysis of discrete time signals and systems using MATLAB. It includes theory on discrete time signals and their graphical representation. It then presents 12 questions involving MATLAB programs to generate and analyze various discrete time signals including unit impulse, unit step, complex exponential, sinusoidal, amplitude modulated signals, and signal smoothing. The programs demonstrate plotting signals, computing their power and period, convolution, and effects of changing parameters. The learning outcomes from implementing the programs are also summarized.

Uploaded by

Anchit Kawaatra
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 14

EXPERIMENT NO.

-1
AIM: 1. Graphical representation of discrete time signals and operation 2.Time domain analysis of discrete time systems. THEORY: Digital signal processing is concerned with the processing of a discrete-time signal, called the input signal, to develop another discrete-time signal,called the output signal, with more desirable properties. A discrete-time signal is represented as a sequence of numbers , called samples. A sample value of a typical discrete-time signal or sequence {x[n]} is denoted as x[n] with the argument n being an integer in the range inf and inf. Graphical representation of discrete time signal is shown

Signal Energy
y

The energy of a signal x is defined as:

Signal Power
y

The average power of a signal x is defined as:

MATLAB PROGRAMS
QUEST 1. Write Program to generate the unit sample sequence and display it.
t=-5:5 y=1.*(t==0)+0.*(t<0)+0.*(t>0) stem(t,y) xlabel('time') ylabel('y(t)')

ANS.
1 0.9 0.8 0.7 0.6 y (t) 0.5 0.4 0.3 0.2 0.1 0 -5

-4

-3

-2

-1

0 tim e

QUSEST 2. Modify Program to generate a delayed unit sample sequence with a delay of 11 samples. ANS.
t=-5:30 y=1.*((t-11)==0)+0.*((t-11)<0)+0.*((t-11)>0) stem(t,y) xlabel('time') ylabel('y(t)')

1 0.9 0.8 0.7 0.6 y (t) 0.5 0.4 0.3 0.2 0.1 0 -5

10 tim e

15

20

25

QUEST 3. Write Program to generate the unit sample sequence u[n] and display it ANS.
t=-10:10 y1=1.*(t==0) y2=1.*(t>0)+0.*(t<0) y=y1+y2; stem(t,y) xlabel('time-->')

ylabel('y(t)')
1 0.9 0.8 0.7 0.6 y (t) 0.5 0.4 0.3 0.2 0.1 0 -10

-8

-6

-4

-2

0 tim e-->

10

QUEST 4. Modify Program to generate a delayed unit step sequence with an advance of 7 samples.
t=-10:10 n=t+7; y1=1.*(n==0) y2=0.*(n>0)+0.*(n<0) y=y1+y2; stem(t,y) xlabel('time-->') ylabel('y(t)')

1 0.9 0.8 0.7 0.6 y (t) 0.5 0.4 0.3 0.2 0.1 0 -10

-8

-6

-4

-2

0 tim e-->

10

QUEST 5. Write Program to generate the complex-valued exponential sequence with (1/12)+(pi/6)*I and A=2. ANS.
t=-10:10 a=2 b=(1/12)+(pi/6)*i y=a.*(b.^t) stem(t,y) xlabel('Time') ylabel('y(t)')

600 500 400 300 y (t) 200 100 0 -100 -200 -10

-8

-6

-4

-2

0 Tim e

10

QUEST 6. Write Program to generate the sinusoidal sequence with f = 0.1 Hz, phase = 0; A = 1.5 ANS.
t=-10:10 f=.1 a=1.5 y=a*(sin(2*pi*f.*t)) stem(t,y) xlabel('time') ylabel('sin fntn')

1.5

0.5 s in fnt n

-0.5

-1

-1.5 -10

-8

-6

-4

-2

0 tim e

10

QUEST 7. Compute the average power of the generated sinusoidal sequence. ANS.
t=-10:10 f=0.1 a=1.5 x=a*( sin(2*pi* f.*t)) stem(t,x) sum=0 for i=1:10 y=(abs(a*( sin(2*pi* f.*i))).^2) sum=sum+y end power=sum/10

sum = 11.2500 power = 1.1250 QUEST 8. Modify the above program to generate a sinusoidal sequence of length 50, frequency 0.08, amplitude 2.5, and phase shift 90 degrees and display it. What is the period of this

sequence? ANS.
n=-25:1:25 f=0.08 a=2.5 p=pi/2 x=a*( sin(2*pi* f.*n+p)) stem(n,x) xlabel('time') ylabel('sin fn') timeperiod=1/f

timeperiod = 12.5000
2.5 2 1.5 1 0.5 s in fn 0 -0.5 -1 -1.5 -2 -2.5 -25

-20

-15

-10

-5

0 tim e

10

15

20

25

QUEST 9. Replace the stem command with the stairs command and run the above program again. What is the difference between the new plot and those generated above? ANS.
n=-25:25 f=0.08 a=2.5

x=a.*sin(2*pi* f.*n+ pi/2) stairs(n,x) xlabel('time') ylabel('sin fn') timeperiod = 1/f

timeperiod =

12.5000

2.5 2 1.5 1 0.5 s in fn 0 -0.5 -1 -1.5 -2 -2.5 -25

-20

-15

-10

-5

0 tim e

10

15

20

25

QUEST 10. Write a MATLAB program to generate and display five sample sequences of a random sinusoidal signal of length 31 {X[n]} = {A cos( on + )}, where the amplitude A and the phase are statistically independent random variables with uniform probability distribution in the range 0 A 4 for the amplitude and in the range 0 2 for the phase. ANS.
n= 0:31 f=1/31 a=4*rand(5) w=2*pi*rand(5)

for i=1:5 for r=1:5 x=a(r,r).*cos(2*pi* f.*n+ w(r,r)) stem(n,x) hold all end end xlabel('time') ylabel('sin fn')

4 3 2 1 s in fn 0 -1 -2 -3 -4

10

15 tim e

20

25

30

35

QUEST 11. Write a program to implements the signal smoothing algorithm to smooth a sequence x[n] = 2n*(.9)n for n=0:50 which is corrupted by Gaussian distributed noise with mean 0.5 and variance .5.
n=1:50 s= (2.*n).*(.9.^n) u= .5 g=.5^.5

d=u+ g.*(randn(size(s))) x=s+d plot(x) hold all

for i=5:50 y(i)= (x(i) +x(i-1) +x(i-2) +x(i-3) +x(i-4))/5

%i=i+1 end plot(y) xlabel('time') ylabel('smoothend signal')

9 8 7 6 s m oot hend s ignal 5 4 3 2 1 0 -1

50

100

150

200

250 tim e

300

350

400

450

500

QUEST 12. Write a program to generate the amplitude modulated signal y[n] for various values

of the frequencies of the carrier signal xH[n] and the modulating signal xL[n], and for various values of the modulation index m.
n=0:.1:20 a=5 m=1*rand(5) wl=2*pi*rand(5) wh=2000*pi*rand(5) for i=1:5 for j=1:5 for k=1:5 x1=cos(wl(r,r).*n) x2=cos(wh(r,r).*n) x3=m(r,r) end end end y=a*(1+x3.*x1).*x2 plot(n,y)

10

-2

-4

-6

-8

-10

10

12

14

16

18

20

QUEST 13. Write your own a matlab function named DT_conv that perform DT convolution of

two sequence which takes sequences as argument and return the convolved sequence.
function y =dt_conv(x,h) x=[3 11 7 0 -1 4 2 0]; h=[0 0 2 3 0 -5 2 1 ]; m=length(x); n=length(h); w=m+n-1; y=zeros(1,w) for i=1:w for j=1:n if( (i+1-j )>0 && (i+1-j) <= n ) y(1,i)=y(1,i)+(x(j).*h(i+1-j)) end end end

QUEST 14. Use above function DT_conv to convolve sequence . x[n]=[3,11,7,0,-1,4,2]; nx = [-3:3], h[n] = [2,3,0,-5,2,1]; nh = [-1:4] . Verify the result with inbuilt function conv. Also give graphical representation of all the sequences under consideration
x=[3 11 7 0 -1 4 2 0]; h=[0 0 2 3 0 -5 2 1 ]; y=dt_conv(x,h); y1=conv(x,h); subplot(2,1,1); stem(y) subplot(2,1,2); stem(y1)

Result: All the programs were successfully implemented using MATLAB. Learning Outcomes: y y y y y y I learnt working on discreet time signals and plotting them on MATLAB. I learnt creating and working with functions. I learnt use of stair function in MATLAB. I learnt about unit step and unit impulse function and their corresponding responses viz. unit step response and impulse response. I learnt plotting sine function and finding energy of these signals. I learnt using rand function.

You might also like