Output of Input Sequence using Linear Convolution
Problem Statement : Find the output of a given system for given input sequence using linear convolution
1: // Generation of Standard Sequences (Unit Sample, Unit Ramp, Unit Step)
2: #include<dos.h>
3: #include<graphics.h>
4: #include<math.h>
5: #include<iostream.h>
6: #include<stdio.h>
7: #include<conio.h>
8: #include<stdlib.h>
9: void draw_seq(int a,int choice) //a is number of samples
10: {
11: int i,j,size;
12: size = getmaxx()/(2*a);
13: setcolor(15);
14: line(getmaxx()/2,0,getmaxx()/2,getmaxy()); //drawing axes
15: line(0,getmaxy()/2,getmaxx(),getmaxy()/2);
16: setcolor(14);
17: setfillstyle(SOLID_FILL,14);
18: for(i=-a;i<0;i++) // left part of origin
19: pieslice(getmaxx()/2+(i*size),getmaxy()/2,0,360,2);
20: switch(choice)
21: {
22: case 1 :
23: outtextxy(getmaxx()/2-43,20,"UNIT - SAMPLE");
24: for(i=0;i<=a;i++)
25: {
26: if(i==0)
27: {
28: pieslice(getmaxx()/2,getmaxy()/2-size,0,360,2);
29: line(getmaxx()/2,getmaxy()/2-size,getmaxx()/2,getmaxy()/2);
30: }
31: else
32: pieslice(getmaxx()/2+(i*size),getmaxy()/2,0,360,2);
33: }
34: break;
35: case 2 :
36: outtextxy(getmaxx()/2-43,20,"UNIT - STEP");
37: for(i=0;i<=a;i++)
38: {
39: pieslice(getmaxx()/2+(i*size),getmaxy()/2-size,0,360,2);
40: line(getmaxx()/2+(i*size),getmaxy()/2,getmaxx()/2+(i*size),getmaxy()/2-size);
41: }
42: break;
43: case 3 :
44: outtextxy(getmaxx()/2-43,20,"UNIT - RAMP");
45: for(i=0;i<=a;i++)
46: { setfillstyle(SOLID_FILL,14);
47: pieslice(getmaxx()/2+(i*size),getmaxy()/2-size-((i-1)*size),0,360,2);
48: line(getmaxx()/2+(i*size),getmaxy()/2,getmaxx()/2+(i*size),getmaxy()/2-size-((i-1)*size));
49: }
50: break;
51: }
52: getch();
53: }
54: void main()
55: {
56: int gd=DETECT,gm;
57: int sample,choice;
58: while(1)
59: {
60: initgraph(&gd,&gm,"E:\\tc\\bgi");
61: cleardevice();
62: cout<<"\n\t\tGeneration of Standard Sequences\n\t1.Unit Sample";
63: cout<<"\n\t2.Unit Step\n\t3.Unit Ramp\n\t4.Exit";
64: setcolor(GREEN);
65: outtextxy(10,100,"Enter Ur Choice :");
66: gotoxy(32,7);
67: cin>>choice;
68: if(choice==4)
69: exit(0);
70: setcolor(GREEN);
71: outtextxy(10,120,"Enter Number of SAMPLE :");
72: gotoxy(32,8);
73: cin>>sample;
74: if(sample==0)
75: { setcolor(14);
76: outtextxy(getmaxx()/2-150,getmaxy()/2-10,"No Graph Exists for ZERO Samples");
77: }
78: switch(choice)
79: {
80: case 1:
81: draw_seq(sample,1);
82: break;
83: case 2:
84: draw_seq(sample,2);
85: break;
86: case 3:
87: draw_seq(sample,3);
88: break;
89: }
90: }
91: }
{ 0 comments... read them below or add one }
Post a Comment