Scilab Manual for
Signals and Systems
by Prof Ishit Shah
Electrical Engineering
Venus International College of Technology,
GTU1
Solutions provided by
Prof Ishit Shah
Electrical Engineering
Venus International College of Technology - GTU
October 8, 2021
1 Funded by a grant from the National Mission on Education through ICT,
http://spoken-tutorial.org/NMEICT-Intro. This Scilab Manual and Scilab codes
written in it can be downloaded from the ”Migrated Labs” section at the website
http://scilab.in
1
Contents
List of Scilab Solutions 3
1 Generation of unit step and unit ramp signals in Scilab 5
2 Generation of the sinusoidal wave in discrete time mode
through Scilab code 8
3 Plotting of exponential sequence and complex exponential
sequence 11
4 Performing cross correlation operation using SCILAB code 17
5 Performing auto correlation operation using Scilab code 21
6 A Scilab program to perform addition of sequences 23
7 A Scilab program to perform multiplication and folding of
sequences 26
8 Scilab code to demonstrate amplitude Modulation concept 29
9 Scilab code to demonstrate frequency Modulation concept 32
2
List of Experiments
Solution 1.1 Exp1 . . . . . . . . . . . . . . . . . . . . . . . . . 5
Solution 2.2 Exp2 . . . . . . . . . . . . . . . . . . . . . . . . . 8
Solution 3.3 Exp3 . . . . . . . . . . . . . . . . . . . . . . . . . 11
Solution 4.4 Exp4 . . . . . . . . . . . . . . . . . . . . . . . . . 17
Solution 5.3 Exp5 . . . . . . . . . . . . . . . . . . . . . . . . . 21
Solution 6.6 Exp6 . . . . . . . . . . . . . . . . . . . . . . . . . 23
Solution 7.7 Exp7 . . . . . . . . . . . . . . . . . . . . . . . . . 26
Solution 8.8 Exp8 . . . . . . . . . . . . . . . . . . . . . . . . . 29
Solution 9.9 Exp9 . . . . . . . . . . . . . . . . . . . . . . . . . 32
3
List of Figures
1.1 Exp1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Exp2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Exp3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Exp3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Exp4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 Exp4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1 Exp5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.1 Exp6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.1 Exp7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.1 Exp8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
9.1 Exp9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4
Experiment: 1
Generation of unit step and
unit ramp signals in Scilab
Scilab code Solution 1.1 Exp1
1 // Experiment −1
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 //AIM : G e n e r a t i o n o f U n i t s t e p and U n i t ramp s i g n a l s
i n SCILAB .
7
8
9 // U n i t S t e p S i g n a l
10
11 clear ; clc ;
12 t = -6:0.01:6;
13 u = ones ( t ) .*( t >=0) ;
14 subplot (2 ,1 ,1) ; // p l o t t i n g m u l t i p l e
g r a p h i n one window
15 plot (t , u ) ;
16 xgrid (4 ,1 ,7) ; // x g r i d ( [ c o l o r ] [ ,
thickness ] [ , style ])
5
17 xlabel ( ” t ” ,” f o n t s i z e ” ,4) ; // L a b e l o f
X−A x i s
18 ylabel ( ” u ( t ) ” ,” f o n t s i z e ” ,4) ; // L a b e l o f
Y−A x i s
19 title ( ” U n i t s t e p ” ,” f o n t s i z e ” ,4) ; // T i t l e o f
graph
20
21 set ( gca () ,” d a t a b o u n d s ” , matrix ([ -6 ,6 , -0.1 ,1.1] ,2 , -1)
); // Range o f a x i s
22
23 //Ramp S i g n a l
24 r = t .*( t >=0) ;
25 subplot (2 ,1 ,2) ;
26 plot (t , r ) ;
27 xgrid (4 ,1 ,7) ;
28 xlabel ( ” t ” ,” f o n t s i z e ” ,4) ;
29 ylabel ( ” r ( t ) ” ,” f o n t s i z e ” ,4) ;
30 title ( ”Ramp” ,” f o n t s i z e ” ,4) ;
31 set ( gca () ,” d a t a b o u n d s ” , matrix ([ -6 ,6 , -0.1 ,7] ,2 , -1) ) ;
// Range o f a x i s
6
Figure 1.1: Exp1
7
Experiment: 2
Generation of the sinusoidal
wave in discrete time mode
through Scilab code
Scilab code Solution 2.2 Exp2
1 // Experiment −2
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 //AIM : G e n e r a t i o n o f t h e S i n u s o i d a l wave i n D i s c r e t e
t i m e mode t h r o u g h SCILAB c o d e
7
8
9 // G e n e r a t i o n o f a s i n u s o i d a l s e q u e n c e
10 clear ; clc ;
11 n =0:40; // Length o f s e q u e n c e
12 f =0.05; // F r e q u e n c y
13 phase =0;
14 A =1.5; // A m p l i t u d e
15 x1 = A * sin (2* %pi * f *n - phase ) ;
16 subplot (3 ,1 ,1) ;
8
17 plot2d3 ( ’ gnn ’ ,n , x1 ) ; //
p l o t 2 d 3 ( ’ gnn ’ , n , x1 ) i n d i s c r e t e form
18 a = gca () ; //
get the current axes
19 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
20 a . y_location = ” o r i g i n ” ;
21 title ( ” s i n u s o i d a l s e q u e n c e ” ,” f o n t s i z e ” ,4)
22 xlabel ( ” Time i n ( ms ) ” ,” f o n t s i z e ” ,4)
23 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
24 set ( gca () ,” d a t a b o u n d s ” , matrix ([0 ,40 , -2 ,2] ,2 , -1) ) ;
// Range o f A x i s
25
26 x2 = A * cos (2* %pi * f *n - phase ) ;
27 subplot (3 ,1 ,2) ;
28 plot2d3 ( ’ gnn ’ ,n , x2 ) ;
29 a = gca () ; //
get the current axes
30 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
31 a . y_location = ” o r i g i n ” ;
32 title ( ” c o s i n e s e q u e n c e ” ,” f o n t s i z e ” ,4)
33 xlabel ( ” Time i n ( ms ) ” ,” f o n t s i z e ” ,4)
34 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
35 set ( gca () ,” d a t a b o u n d s ” , matrix ([0 ,40 , -2 ,2] ,2 , -1) ) ;
36
37 x3 = A * cos (2* %pi * f * n +120) ;
38 subplot (3 ,1 ,3) ;
39 plot2d3 ( ’ gnn ’ ,n , x3 ) ;
40 a = gca () ; //
get the current axes
41 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
42 a . y_location = ” o r i g i n ” ;
43 title ( ” p h a s e s h i f t e d c o s i n e s e q u e n c e ” ,” f o n t s i z e ” ,4)
44 xlabel ( ” Time i n ( ms ) ” ,” f o n t s i z e ” ,4)
45 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
46 set ( gca () ,” d a t a b o u n d s ” , matrix ([0 ,40 , -2 ,2] ,2 , -1) ) ;
9
Figure 2.1: Exp2
10
Experiment: 3
Plotting of exponential
sequence and complex
exponential sequence
Scilab code Solution 3.3 Exp3
1 // Experiment −3
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 // P l o t t i n g o f e x p o n e n t i a l s e q u e n c e and c o m p l e x
exponential sequence
7
8 // G e n e r a t i o n o f e x p o n e n t i a l s e q u e n c e
9 clear ; clc ;
10 n =0:20;
11 a1 =2;
12 k =0.5;
13 x1 = k * a1 .^ n ;
14 f4 = scf (1) ;
15 figure (1)
16 subplot (2 ,2 ,1)
11
17 plot2d3 ( ’ gnn ’ ,n , x1 ) ; // g r a p h i n d i s c r e t e
form
18 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
19 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
20 a2 =0.9;
21 x2 = k * a2 .^ n ;
22 subplot (2 ,2 ,2)
23 plot2d3 ( ’ gnn ’ ,n , x2 ) ;
24 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
25 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
26 a3 = -2;
27 x3 = k * a3 .^ n ;
28 subplot (2 ,2 ,3)
29 plot2d3 ( ’ gnn ’ ,n , x3 ) ;
30 a = gca () ; //
get the current axes
31 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
32 a . y_location = ” o r i g i n ” ;
33 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
34 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
35 a4 = -0.9;
36 x4 = k * a4 .^ n ;
37 subplot (2 ,2 ,4)
38 plot2d3 ( ’ gnn ’ ,n , x4 ) ;
39 a = gca () ; //
get the current axes
40 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
41 a . y_location = ” o r i g i n ” ;
42 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
43 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
44
45
46
47
48 // G e n e r a t i o i n o f a c o m p l e x e x p o n e n t i a l s e q u e n c e
49
12
50 clear ; clc ;
51 n =0:20;
52 w = %pi /6;
53 x = exp ( %i * w * n ) ;
54 f4 = scf (2) ;
55 figure (2)
56 subplot (2 ,1 ,1) ;
57 plot2d3 ( ’ gnn ’ ,n , real ( x ) ) ;
58 a = gca () ; //
get the current axes
59 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
60 a . y_location = ” o r i g i n ” ;
61 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4)
62 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
63 title ( ” R e a l P a r t ” ,” f o n t s i z e ” ,4) ;
64 subplot (2 ,1 ,2) ;
65 plot2d3 ( ’ gnn ’ ,n , imag ( x ) ) ;
66 a = gca () ; //
get the current axes
67 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
68 a . y_location = ” o r i g i n ” ;
69 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4)
70 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
71 title ( ” I m a g i n a r y P a r t ” ,” f o n t s i z e ” ,4)
72
73
74 // G e n e r a t i o n o f c o m l e x e x p o n e n t i a l s e q u e n c e
75
76 clear ; clc ;
77 a = input ( ” Type i n r e a l e x p o n e n t = ” ) ;
78 b = input ( ” Type i n i m a g i n a r y e x p o n e n t = ” ) ;
79 c = a + b * %i ; // a+j ∗ b
f o r imaginary value
80 K = input ( ” Type i n t h e g a i n c o n s t a n t = ” ) ;
81 N = input ( ” Type i n l e n g t h o f s e q u e n c e = ” ) ;
82 n =1: N ;
13
83 x = K * exp ( c * n ) ; // g e n e r a t e t h e s e q u e n c e
84 f4 = scf (3) ;
85 figure (3)
86 subplot (2 ,1 ,1) ;
87 plot2d3 ( ’ gnn ’ ,n , real ( x ) ) ; //
r e a l ( x ) = g i v e s r e a l component
88 a = gca () ; //
get the current axes
89 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
90 a . y_location = ” o r i g i n ” ;
91 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4)
92 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
93 title ( ” R e a l P a r t ” ,” f o n t s i z e ” ,4) ;
94 subplot (2 ,1 ,2)
95 plot2d3 ( ’ gnn ’ ,n , imag ( x ) ) ; //
imag ( x ) = g i v e s i m a g i n a r y component
96 a = gca () ; //
get the current axes
97 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
98 a . y_location = ” o r i g i n ” ;
99 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4)
100 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4)
101 title ( ” I m a g i n a r y P a r t ” ,” f o n t s i z e ” ,4)
102
103 // For Example
104
105 // Type in r e a l e x p o n e n t = −0.0833
106 // Type in imaginary exponent = 0.5236
107 // Type in the gain constant = 1.5
108 // Type in l e n g t h o f s e q u e n c e = 40
14
Figure 3.1: Exp3
15
Figure 3.2: Exp3
16
Experiment: 4
Performing cross correlation
operation using SCILAB code
Scilab code Solution 4.4 Exp4
1 // Experiment −4
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 // AIM : P e r f o r m i n g C r o s s C o r r e l a t i o n O p e r a t i o n
u s i n g SCILAB c o d e
7
8 clear ; clc ;
9
10 n1 =[ -1 ,0 ,1]
11 x1 =[1 ,2 ,3]
12 f4 = scf (1) ;
13 figure (1)
14 subplot (2 ,2 ,1)
15 plot2d3 ( ’ gnn ’ ,n1 , x1 ) ;
16 a = gca () ; //
get the current axes
17 a . x_location = ” o r i g i n ” ; //
17
To Change r e f e r e n c e a x i s
18 a . y_location = ” o r i g i n ” ;
19 xlabel ( ” R e f e r e n c e A x i s ” ,” f o n t s i z e ” ,3) ;
20 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,3) ;
21 title ( ” S e q u e n c e −1” ,” f o n t s i z e ” ,3) ;
22 n2 =[ -1 ,0 ,1]
23 x2 =[4 ,5 ,6]
24 subplot (2 ,2 ,2)
25 plot2d3 ( ’ gnn ’ ,n2 , x2 ) ;
26 a = gca () ; //
get the current axes
27 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
28 a . y_location = ” o r i g i n ” ;
29 xlabel ( ” R e f e r e n c e A x i s ” ,” f o n t s i z e ” ,3) ;
30 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,3) ;
31 title ( ” S e q u e n c e −2” ,” f o n t s i z e ” ,3) ;
32 [c , ind ]= xcorr ( x1 , x2 ) // f u n c t i o n o f c r o s s
correlation
33 [ ind ’ ,c ’]
34 subplot (2 ,2 ,3)
35 plot2d3 ( ’ gnn ’ ,c )
36 a = gca () ; //
get the current axes
37 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
38 a . y_location = ” o r i g i n ” ;
39 xlabel ( ” R e f e r e n c e A x i s ” ,” f o n t s i z e ” ,3) ;
40 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,3) ;
41 title ( ” C r o s s − C o r r e l a t i o n S e q u e n c e ” ,” f o n t s i z e ” ,3) ;
42
43
44 clear ; clc ;
45
46 x = input ( ” Type i n t h e r e f r e n c e s e q u e n c e = ” ) ;
47 y = input ( ” Type i n t h e s e c o n d s e q u e n c e = ” ) ;
48
49 // compute t h e c o r r e l a t i o n s e q u e n c e
18
50
51 n1 = length ( y ) -1;
52 n2 = length ( x ) -1;
53 r = conv (x , y ) ;
54 k =( - n1 ) : n2 ;
55 f4 = scf (2) ;
56 figure (2)
57 plot2d3 ( ’ gnn ’ ,k , r ) ;
58 a = gca () ; //
get the current axes
59 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
60 a . y_location = ” o r i g i n ” ;
61 xlabel ( ” Lag i n d e x ” ,” f o n t s i z e ” ,4) ;
62 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
63
64
65
66 // For Example
67
68 // Type i n t h e r e f r e n c e s e q u e n c e =
[2 , −1 ,3 ,7 ,1 ,2 , −3 ,0]
69 // Type i n t h e s e c o n d s e q u e n c e = [ 1 , − 1 , 2 , − 2 , 4 , 1 , − 2 , 5 ]
19
Figure 4.1: Exp4
Figure 4.2: Exp4
20
Experiment: 5
Performing auto correlation
operation using Scilab code
Scilab code Solution 5.3 Exp5
1 // Experiment −5
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5 // 5
6
7 //AIM : P e r f o r m i n g Auto C o r r e l a t i o n O p e r a t i o n u s i n g
SCILAB c o d e
8
9 clear ; clc ;
10 x =[2 , -1 ,3 ,7 ,1 ,2 , -3 ,0]
11 [c , ind ]= xcorr ( x )
12 [ ind ’ c ’]
13 plot2d3 ( ” gnn ” ,c )
14 a = gca () ; //
get the current axes
15 a . x_location = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
16 a . y_location = ” o r i g i n ” ;
21
Figure 5.1: Exp5
17 xlabel ( ” Lag i n d e x ” ,” f o n t s i z e ” ,4) ;
18 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
22
Experiment: 6
A Scilab program to perform
addition of sequences
Scilab code Solution 6.6 Exp6
1 // Experiment −6
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5 //A SCILAB program t o p e r f o r m A d d i t i o n o f s e q u e n c e s
6 clc ;
7 clear ;
8 i =1:20;
9 n1 =[ ones (1 ,10) , zeros (1 ,10) ]; // D i s c r e t e
Signal
10 n2 =[ zeros (1 ,6) , ones (1 ,6) , zeros (1 ,8) ]; // D i s c r e t e
Signal
11 n3 = n1 + n2 ; // A d d i t i o n
o f two d i s c r e t e S i g n a l s
12 // n4=n1−n2 ; //
S u b t r a c t i o n o f two d i s c r e t e S i g n a l s
13 subplot (2 ,2 ,1) ;
14 plot2d3 (i , n1 ) ;
15 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
23
16 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
17 title ( ’ 1 s t S i g n a l ’ ,” f o n t s i z e ” ,4) ;
18 subplot (2 ,2 ,2) ;
19 plot2d3 (i , n2 ) ; // p l o t 2 d 3 ( ’
gnn ’ , n , x1 ) i n d i s c r e t e form
20 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
21 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
22 title ( ’ 2 nd S i g n a l ’ ,” f o n t s i z e ” ,4) ;
23 subplot (2 ,2 ,3) ;
24 plot2d3 (i , n3 ) ;
25 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
26 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
27 title ( ’ A d d i t i o n o f two d i s c r e t e S i g n a l s ’ ,” f o n t s i z e ”
,4) ;
28 subplot (2 ,2 ,4) ;
29 plot (i , n3 ) ; // P l o t
Continuous S i g n a l
30 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
31 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
32 title ( ’ A d d i t i o n o f two c o n t i n u o u s S i g n a l s ’ ,” f o n t s i z e
” ,4) ;
33 set ( gca () ,” d a t a b o u n d s ” , matrix ([0 ,20 ,0 ,2.5] ,2 , -1) ) ;
// Range o f a x i s
34 // s u b p l o t ( 2 , 3 , 5 ) ;
35 // p l o t 2 d 3 ( i , n4 ) ;
36 // a = g c a ( ) ; //
get the current axes
37 // a . x l o c a t i o n = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
38 // a . y l o c a t i o n = ” o r i g i n ” ;
39 // x l a b e l ( ’ time ’ ) ;
40 // y l a b e l ( ’ a m p l i t u d e ’ ) ;
41 // t i t l e ( ’ S u b t r a c t i o n o f two d i s c r e t e S i g n a l s ’ ) ;
42 // s u b p l o t ( 2 , 3 , 6 ) ;
43 // p l o t ( i , n4 ) ;
44 // x l a b e l ( ’ time ’ ) ;
45 // y l a b e l ( ’ a m p l i t u d e ’ ) ;
46 // t i t l e ( ’ S u b t r a c t i o n o f two c o n t i n u o u s S i g n a l s ’ ) ;
24
Figure 6.1: Exp6
47 //
25
Experiment: 7
A Scilab program to perform
multiplication and folding of
sequences
Scilab code Solution 7.7 Exp7
1 // Experiment −7
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5 //A SCILAB program t o p e r f o r m M u l t i p l i c a t i o n and
Folding of sequences
6
7 clc ;
8 clear ;
9 i =0:6;
10 n1 =[ zeros (1 ,3) , ones (1 ,4) ];
11 n2 =i -2; // Advancing S h i f t i n g
Signal
12 n3 = i +2; // D e l a y S h i f t i n g
Signal
13 n4 = i ; // F o l d e d S i g n a l
14 // n5=n1+n2 ; // A d d i t i o n o f
26
Signals
15 n6 = n3 .* n4 ; // M u l t i p l i c a t i o n o f
Signals
16 subplot (3 ,1 ,1) ;
17 plot2d3 (i , n1 ) ;
18 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
19 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
20 title ( ’ Sample S i g n a l ’ ,” f o n t s i z e ” ,4) ;
21 // s u b p l o t ( 3 , 2 , 2 ) ;
22 // p l o t 2 d 3 ( i , n2 ) ;
23 // a = g c a ( ) ; //
get the current axes
24 // a . x l o c a t i o n = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
25 // a . y l o c a t i o n = ” o r i g i n ” ;
26 // x l a b e l ( ’ time ’ ) ;
27 // y l a b e l ( ’ a m p l i t u d e ’ ) ;
28 // t i t l e ( ’ Advancing S h i f t i n g S i g n a l ’ ) ;
29 // s u b p l o t ( 3 , 2 , 3 ) ;
30 // p l o t 2 d 3 ( i , n3 ) ;
31 // a = g c a ( ) ; //
get the current axes
32 // a . x l o c a t i o n = ” o r i g i n ” ; //
To Change r e f e r e n c e a x i s
33 // a . y l o c a t i o n = ” o r i g i n ” ;
34 // x l a b e l ( ’ time ’ ) ;
35 // y l a b e l ( ’ a m p l i t u d e ’ ) ;
36 // t i t l e ( ’ D e l a y S h i f t i n g S i g n a l ’ ) ;
37 subplot (3 ,1 ,2) ;
38 plot2d3 (i , n4 ) ;
39 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
40 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
41 title ( ’ F o l d e d S i g n a l ’ ,” f o n t s i z e ” ,4) ;
42 // s u b p l o t ( 3 , 2 , 5 ) ;
43 // p l o t 2 d 3 ( i , n5 ) ;
44 // a = g c a ( ) ; //
get the current axes
45 // a . x l o c a t i o n = ” o r i g i n ” ; //
27
Figure 7.1: Exp7
To Change r e f e r e n c e a x i s
46 // a . y l o c a t i o n = ” o r i g i n ” ;
47 // x l a b e l ( ’ time ’ ) ;
48 // y l a b e l ( ’ a m p l i t u d e ’ ) ;
49 // t i t l e ( ’ A d d i t i o n o f S i g n a l s ’ ) ;
50 subplot (3 ,1 ,3) ;
51 plot2d3 (i , n6 ) ;
52 xlabel ( ’ R e f e r e n c e A x i s ’ ,” f o n t s i z e ” ,4) ;
53 ylabel ( ’ A m p l i t u d e ’ ,” f o n t s i z e ” ,4) ;
54 title ( ’ M u l t i p l i c a t i o n o f S i g n a l s ’ ,” f o n t s i z e ” ,4) ;
28
Experiment: 8
Scilab code to demonstrate
amplitude Modulation concept
Scilab code Solution 8.8 Exp8
1 // Experiment −8
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 //SCILAB c o d e t o d e m o n s t r a t e A m p l i t u d e M o d u l a t i o n
concept
7
8 clear ; clc ;
9 t =0:0.001:1;
10 Am =5; // A m p l i t u d e o f s i g n a l
11 Ac =5;
12 fm = input ( ” M es sa ge f r e q u e n c y=” ) ; // A c c e p t i n g i n p u t
value
13 fc = input ( ” C a r r i e r f r e q u e n c y=” ) ; // A c c e p t i n g i n p u t
v a l u e ( f c >f a )
14 mi = input ( ” M o d u l a t i o n I n d e x=” ) ; // M o d u l a t i o n I n d e x
15 Sm = Am * sin (2* %pi * fm * t ) ; // Me ss age S i g n a l
16 subplot (3 ,1 ,1) ;
29
17 plot (t , Sm ) ;
18 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
19 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
20 title ( ” M es sag e S i g n a l ” ,” f o n t s i z e ” ,4) ;
21 Sc = Ac * sin (2* %pi * fc * t ) ; // C a r r i e r S i g n a l
22 subplot (3 ,1 ,2) ;
23 plot (t , Sc ) ;
24 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
25 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
26 title ( ” C a r r i e r S i g n a l ” ,” f o n t s i z e ” ,4) ;
27 Sam =( Ac + mi * Sm ) .* sin (2* %pi * fc * t ) ; //AM S i g n a l
28 subplot (3 ,1 ,3) ;
29 plot (t , Sam ) ;
30 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
31 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
32 title ( ”AM S i g n a l ” ,” f o n t s i z e ” ,4) ;
33
34
35 // For Example
36 // fm = 3
37 // f c = 50
38 // mi = 1
30
Figure 8.1: Exp8
31
Experiment: 9
Scilab code to demonstrate
frequency Modulation concept
Scilab code Solution 9.9 Exp9
1 // Experiment −9
2 // windows − 10 − 64− B i t
3 // S c i l a b − 5 . 4 . 1
4
5
6 //SCILAB c o d e t o d e m o n s t r a t e F r e q u e n c y M o d u l a t i o n
concept
7
8 clear ; clc ;
9 fm = input ( ” M es sa ge f r e q u e n c y=” ) ; // A c c e p t i n g i n p u t
value
10 fc = input ( ” C a r r i e r f r e q u e n c y=” ) ; // A c c e p t i n g i n p u t
v a l u e ( f c >f a )
11 mi = input ( ” M o d u l a t i o n I n d e x=” ) ; // M o d u l a t i o n I n d e x
12 t =0:0.0001:0.1;
13 Sm = sin (2* %pi * fm * t ) ;
14 subplot (3 ,1 ,1) ;
15 plot (t , Sm ) ;
16 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
32
17 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
18 title ( ” M es sag e S i g n a l ” ,” f o n t s i z e ” ,4) ;
19 Sc = sin (2* %pi * fc * t ) ;
20 subplot (3 ,1 ,2) ;
21 plot (t , Sc ) ;
22 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
23 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
24 title ( ” C a r r i e r S i g n a l ” ,” f o n t s i z e ” ,4) ;
25 Sfm = sin (2* %pi * fc * t +( mi .* sin (2* %pi * fm * t ) ) ) ; //
F r e q u e n c y c h a n g i n g w . r . t M ess ag e
26 subplot (3 ,1 ,3) ;
27 plot (t , Sfm ) ;
28 xlabel ( ” Time i n ( s e c . ) ” ,” f o n t s i z e ” ,4) ;
29 ylabel ( ” A m p l i t u d e ” ,” f o n t s i z e ” ,4) ;
30 title ( ”FM S i g n a l ” ,” f o n t s i z e ” ,4) ;
31
32
33 // For Example
34
35 // Me ss age f r e q u e n c y =25
36 // C a r r i e r f r e q u e n c y =400
37 // M o d u l a t i o n I n d e x =5
33
Figure 9.1: Exp9
34