Sunday, September 11, 2011

Communication Principles


E- II    Communication Principles
                                                       Question Bank

Chapter-1
Introduction to Communication

1.    What do you mean by communication?
2.    Give classification of communication system.
3.    What is noise in communication?
4.    Explain communication system with neat block diagram and
    explain each block in detail.
5.    What do you mean by communication channel?
6.    Write a short note on electromagnetic(EM) spectrum.
7.    Define Bandwidth and channel capacity.
8.    State Shannon’s theorem.
9.    What is the significance of S/N ratio?
10.If the Bandwidth of communication channel is 10kHz and
     S/N ratio is 30 db.Calculate the channel capacity.
11.Define the Baud Rate.
12.Explain the importance of Channel Bandwidth.
13.  Differentiate between serial and parallel communication
      system.
14.    What is a Protocol?
15.    Differentiate between Synchronous and Asynchronous
           communication system.
16.   Explain the elements of a Protocol?
17.   What are simplex, Half and Full Duplex communication
       system? Give examples of each one.
18.   Explain TDM and FDM in detail.

                                        CHAPTER-2
                         
                    Modulation and Demodulation

1.What is a Modulation Process?
2. Explain the need of modulation.
3. Define Amplitude modulation and Angle modulation.
4. Give the expression for Amplitude modulated signal and    
      explain it.
5.What is modulation index and how it is calculated?
6. Describe the power division of AM wave.
7. What do you mean by overmodulation?
8. Draw the envelope of AM signal.
9.  Define Bandwidth of AM signal
10. What is demodulation process.
11. Explain Diode Modulator.
12. Explain Diode Demodulator circuit.
13. What are Sidebands in AM signal?
14. How much is power of  AM signal?
15. What do you mean by SSB transmission.
16. Draw the frequency spectrum of AM.
17. What is frequency modulation?
18. Differentiate or compare AM and FM.
19. Define Phase modulation.
20. Define Pulse modulation and explain different types of pulse
        Modulation.
21. Explain Pulse Amplitude Modulation (PAM).
22. Explain the advantage of delta modulation over PCM.
23. Draw the waveform of ASK and FSK for the data 110010101.
24. Explain Phase shift keying.
25. Draw the Phases diagram and constellation diagram for
       a QPSK system.
26. What is advantage of GMCK over MSK?
27 . “16 QAM is a combination of ASK and PSK”. Comment.
28. Explain the basic principle of PCM and explain the steps
    involved in PCM.
29. With a neat block diagram explain FSK transmitter and  
        receiver
30. Explain QPSK modem in detail.
31. Draw the constellation diagram of 16QAM and explain
      the  16QAM.
32. With a neat block diagram explain 16QAM modem.
33. Explain what is modem, How are they classified?      
      

                        
                             CHAPTER-3
     Multiplexing and Multiple Access Techniques 
 
1. Explain the term multiplexing? What is it’s need?
2. Give one point of differentiation between multiplexing
     and multiple access.
3. State different types of multiplexing techniques.
4. State one application of 1.FDM 2.SDM
5. Write a short note on CDM.
6. What is full form of FHMA/ CDMA
7. What do you mean by narrowband and wideband systems?
8. A cellular operator is alloted 20MHz for each simplex band
    and if it is Bguard is 10KHz and Bc is 25KHz,find the
    number of channels available in FDMA system.
9. How does a frequency hopped system help , to provide security
and immunity to fading?
10. Explain the self jamming problem in CDMA?
11. Compare FDMA and CDMA .
12. Explain the advantage of SDMA.
Long Answer questions
13. What do you mean by multiplexing? Explain with neat block
       Diagram.
14. Explain the concept of TDM. Discuss multichannel TDM.
15. Draw the block diagram of PAM multiplexer using TDM.
16. Explain with neat block diagram the transmitting / receiving
      FDM system.
17. Write a short note on FHMA.
18. What is CDMA? State important features of CDMA.
19. Why multiple access is necessary in a communication system?


CHAPTER  4

INTRODUCTION TO WIRELESS COMMUNICATION

1.    What is wireless communication?
2.    What is an antenna? What is its role in wireless communication system?
3.    What are Electromagnetic waves?
4.    What is Transmitting antenna?
5.    What is relation between frequency and wavelength?
6.    What is the relation between magnet flux density B and magnetic field intensity?
7.    Give any two examples of wireless systems?
8.    Define the radiation pattern  of an antenna.
9.    Define the gain of an antenna.
10.What do you mean by HPBW?
11. Draw a labeled diagram of a rectangular strip antenna.
12. Define (i) Broadside array antenna
                  (ii) End Fire array antenna
                   (iii) Omni directional antenna
13. What is RFID ?
14. State different technologies in the wireless field.
15. State the role of protocol in communication system.
16. State various features of protocols.
17. List the parameters of an antenna.
18. What do you mean by directivity for an antenna?
19. Define the terms (i) Antenna impedance
                                 (ii)  Polarization
                                   (iii) antenna bandwidth
20.Define Multielement of an array.
21.State types of ad-hoc networks.
22.State any two advantages of ad-hoc networks.
23.State disadvantages of ad-hoc networks.
24. What is radio paging?
25. State different components of    RFID technology.
26. State different types of RFID technology.
27. State applications of RFID.

Long Answer Questions 

1.    Explain the concept of an antenna ? 
2.    Write a short note on Zigbee technology.
3.    Explain the concept of  electric field with proper diagram.
4.    Explain the following parameters of an antenna : Directivity, HPBW , Front and back ratio and radiation pattern.  
5.    An antenna has a field pattern as
E( ѳ ) =sin2    )   for 0  <   ѳ    <  90  
Find the HPBW.
6.    Explain in detail about multielement antenna (array).
7.    Write a short note on microstrip patch  antenna.
8.    Discuss various types of antennas.
9.    Write a short note on Polarization of an  electric field.   
10.Compare Wrired and wireless communication system.
11. Write a short note on “ Ad-hoc networks”.
12. State different layers in a communication system and
      explain at least 2 in brief.
13.Compare Active and Passive RFID.
14. State different components of RFID technology.
15. Compare infrastructured and ad-hoc networks on the basis
      Of scalability, flexibility, coverage and reliability.
16. Compare RFID with barcode.
17. Write a note on (i) MANET (ii) WSN (iii) WPAN.
18. State advantages of RFID over other existing technology.
19. Draw different possible shapes of microstrip patch antenna.
20. List the application of wireless communication.


CHAPTER  5

MOBILE COMMUNICATION
Short answer questions

1.    What is a mobile communication?
2.    What has caused to reduce the size of mobile unit?
3.    Explain the basic principle of cellular system.
4.    What is the “ Hand off” facility of a mobile system?
5.    What is a cell in cellular mobile system?
6.    Give any two features of GSM.
7.    What are the limitations of conventional mobile telephone?
8.    Why is the hexagonal cell preferred over other in cellular concept?
9.    What is RTS-CTS protocol? Explain with specific example.
10.What do you mean by GPR? Explain with example.
11. What is the role of MTSO?
12. What is cell splitting?
13. What is cluster of a cell?
14. Give the relationship between the cell radius R and distance
       between two cells D.
15. What are  the basic operations of GSM?
16. What is the Bluetooth technology?
17. List the basic operations of GSM.
18. What are VLR and HLR in GSM architecture?
19. List the types of Handovers in GSM.
20.What is GPRS?
21. List the features of GPRS.
22. What is the basic requirement of GPRS?
23.List the applications of GPRS.
24. List the limitations of GPRS.
25. What is the data rate of the Bluetooth device?

Long answer questions
1.    State the advantages of mobile communication.
2.    State the functions and advantages of MTSO.
3.    Explain the concept of frequency re-use in mobile communication.
4.    Explain the demerits of conventional mobile system.
5.    Explain the characteristics of a cell.
6.    Write a short note on “ Handoff” in cellular mobile system.
7.    Explain an architecture of GSM with a neat diagram
8.    Explain the various interfaces used in GSM.
9.    Write a short note on RTS-CTS protocol.
10.Explain “ handovers” in GSM.
11. Discuss the Bluetooth architecture .
12. Explain the protocols in Bluetooth.
13. Explain  SMS ,EMS and MMS.
14. Explain security issue in Bluetooth .
15. Explain CG, LIG, DNS in GPRS architecture.
16. Explain an Intercell handover call flow in GSM.
17. Explain general architecture of GPRS with proper diagram.
18. Explain how is IR transmission .
19. Write a short note on GSM services.  

Saturday, September 3, 2011

Stack





typedef struct stack
{
char data;
struct stack *next;
} stack;
void init(stack **T)
{
*T=NULL;
}
int empty(stack *TOP)
{
if(TOP==NULL)
return(1);
return(0);
}
void push(stack **T,char x)
{
stack *P;
P=(stack *)malloc(sizeof(stack));
P->data=x;
P->next=*T;
*T=P;
}
char pop(stack **T)
{
char x;
stack * P;
P=*T;
*T=P->next;
x=P->data;
free(P);
return(x);
}
void print(stack *p)
 { printf("\n");
  while(p!=NULL)
   {printf("%c  ",p->data);
    p=p->next;
   }
}

Stack


#define MAX 10
typedef struct stack
{
char data[MAX];
int top;
}stack;
void init(stack *s)
{ s->top=-1;
}

int empty(stack *s)
{ if(s->top==-1)
return(1);
return(0);
}

int full(stack *s)
{ if(s->top==MAX-1)
return(1);
return(0);
}

void push(stack *s,char x)
{
s->top=s->top+1;
s->data[s->top]=x;
}

char pop(stack *s)
{
char x;
x=s->data[s->top];
s->top=s->top-1;
return(x);
}
void print(stack *s)
  { int i;
    printf("\n");
    for(i=s->top;i>=0;i--)
       printf("%c  ",s->data[i]);
  }

Minimum cost spanning tree


/* Program for constructing a minimum cost spanning tree  */

#define infinity 9999
#define MAX 20
#include<stdio.h>
#include<stdlib.h>
int G[MAX][MAX],spanning[MAX][MAX],n;

/**** Functions and structures used for Kruskal's Algorithm */
typedef struct edge
{ int u,v,w;
}edge;

typedef struct edgelist
 { edge data[30];
   int n;
 }edgelist;
edgelist elist,spanlist;
int find(int belongs[],int vertexno);
void sort();
void union1(int belongs[],int c1,int c2); //merging of two components
void print();
void kruskal();

int main()
{
int i,j,op;
do {
   printf("\n\n1)Create\n2)Kruskal\n3)Quit");
   printf("\nEnter Your Choice : ");
   scanf("%d",&op);
   switch(op)
    { case 1:
     printf("\nEnter No. of vertices : ");
     scanf("%d",&n);
     printf("\nEnter the adjacency matrix :");
     for(i=0;i<n;i++)
for(j=0;j<n;j++)
 scanf("%d",&G[i][j]);
      break;
case 2: kruskal();break;

     }
}while(op!=3);
}
void kruskal()
{  int belongs[MAX],i,j,cno1,cno2;
   /*create a list of edges */
   elist.n=0;
   for(i=0;i<n;i++)
     for(j=0;j<n;j++)
       if(G[i][j]!=0)
{ elist.data[elist.n].u=i;
  elist.data[elist.n].v=j;
  elist.data[elist.n].w=G[i][j];
  elist.n++;
}
   sort();
 // create the spanning tree with n components
 for(i=0;i<n;i++)
    belongs[i]=i;
 spanlist.n=0;
 // add edges one by one to spanning tree
 for(i=0;i<elist.n;i++)
  { cno1=find(belongs,elist.data[i].u);
    cno2=find(belongs,elist.data[i].v);
    if(cno1 != cno2) // if the edge does not cause a cycle
      { spanlist.data[spanlist.n++]=elist.data[i];
union1(belongs,cno1,cno2);
      }
   }
 //print the spanning tree
  print();
}

int find(int belongs[] ,int vertexno)
 { return(belongs[vertexno]);
 }

void union1(int belongs[], int c1 , int c2)
 { int i;
   for(i=0;i<n;i++)
    if(belongs[i]==c2) // merge two components
      belongs[i]=c1;
 }
void sort()
 { int i,j;
   edge temp;
   for(i=1;i<elist.n;i++)
     for(j=0;j<elist.n-i;j++)
       if(elist.data[j].w > elist.data[j+1].w)
 { temp=elist.data[j];
   elist.data[j]=elist.data[j+1];
   elist.data[j+1]=temp;
 }
  }

void print()
 { int i,cost=0;
   for(i=0;i<spanlist.n;i++)
     { printf("\n%d - %d cost= %d",spanlist.data[i].u,spanlist.data[i].v,
  spanlist.data[i].w);
       cost=cost+spanlist.data[i].w;
     }
   printf("\nCost of the spanning tree : %d",cost);
}

Minimum cost spanning tree using Prim's algorithm


/* Program for constructing a minimum cost spanning tree using Prim's algorithm */

#define infinity 9999
#define MAX 20
#include<stdio.h>
#include<stdlib.h>
int G[MAX][MAX],n;
void prims();
int main()
{
int i,j,op;
do {
   printf("\n\n1)Create\n2)Prim's\n3)Quit");
   printf("\nEnter Your Choice : ");
   scanf("%d",&op);
   switch(op)
    { case 1:
     printf("\nEnter No. of vertices : ");
     scanf("%d",&n);
     printf("\nEnter the adjacency matrix :");
     for(i=0;i<n;i++)
for(j=0;j<n;j++)
 scanf("%d",&G[i][j]);
      break;
case 2: prims();break;

     }
}while(op!=3);
}
void prims()
{
int cost[MAX][MAX];
int u,v,min_distance,distance[MAX],from[MAX];
int visited[MAX],no_of_edges,i,min_cost,j;
// create cost[][] matrix ,spanning[][]
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(G[i][j]==0)
cost[i][j]=infinity;
else
cost[i][j]=G[i][j];

}
// initialise visited[],distance[] and from[]
distance[0]=0;visited[0]=1;
for(i=1;i<n;i++)
{
distance[i]=cost[0][i];
from[i]=0;
visited[i]=0;
}
min_cost=0;            //cost of spanning tree
no_of_edges=n-1;       //no.of edges to be added
while(no_of_edges>0)
{
//find the vertex at minimum distance from the tree
min_distance=infinity;
for(i=1;i<n;i++)
if(visited[i]==0 && distance[i] < min_distance)
{
v=i;
min_distance=distance[i];
}
u=from[v];
printf("\nNext edge in spanning tree is:(%d,%d,%d)",u,v,distance[v]);
no_of_edges--;
visited[v]=1;
// update the distance[] array
for(i=1;i<n;i++)
if(visited[i]==0 && cost[i][v] < distance[i])
{
distance[i]=cost[i][v];
from[i]=v;
}
min_cost=min_cost+cost[u][v];
}

printf("\nTotal cost of spanning tree=%d",min_cost);
}

Dijkstra's algorith on a graph represented using adjacency list


 /*Dijkstra's algorith on a graph represented using adjacency list*/

#define INFINITY 9999
#include <stdio.h>
#include<stdlib.h>
#define MAX 10

typedef struct node
{
struct node *next;
int vertex,weight;
}node;

node *G[10];//adjacency list
int n;// Number of vertices
void readgraph();
void insert(int vi,int vj,int w);
void dijkstra( int startnode);

int main()
{
int u;
readgraph();
printf("\nEnter the starting node : ");
scanf("%d",&u);
dijkstra(u);

}

void dijkstra( int startnode)
{
int distance[MAX],pred[MAX];
int visited[MAX],count,mindistance,nextnode,i,j;
/*pred[] stores the predecessor of each node
count gives the number of nodes seen so far*/
/* A node picked up for expansion is marked as visited[node no.]=1*/
       //initialize
node *p;
for(i=0;i<n;i++)
  {
distance[i]=INFINITY;
pred[i]=startnode;visited[i]=0;
  }
distance[startnode]=0;
count=0;
while(count<n-1)
  {
mindistance=INFINITY ;
// nextnode is the node at minimum distance
for(i=0;i<n;i++)
if(distance[i] < mindistance && !visited[i])
   {
mindistance=distance[i];
nextnode=i;
   }
//check if a better path exist through nextnode
visited[nextnode]=1;
for(p=G[nextnode];p!=NULL;p=p->next)
if(!visited[p->vertex])
if(mindistance+p->weight<distance[p->vertex])
   {
distance[p->vertex]=mindistance+p->weight;
pred[p->vertex]=nextnode;
   }
count++;
  }

 //print the path and distance of each node
for(i=0;i<n;i++)
if(i!=startnode)
  {
printf("\n Distance of %d = %d ",i,distance[i]);
printf("       Path = %d ",i);
j=i;
do
  {
j=pred[j];
printf("<- %d ",j);
  }while(j!=startnode);
  }

}

void readgraph()
{ int i,j;
int adj[10][10];
printf("\nEnter no. of vertices :");
scanf("%d",&n);
printf("\nEnter Adjacency matrix :\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&adj[i][j]);
//initialise G[] with NULL
for(i=0;i<n;i++)
G[i]=NULL;

for(i=0;i<n;i++) //create adjacency list
for(j=0;j<n;j++)
      if(adj[i][j]!=0)
  insert(i,j,adj[i][j]);

}

void insert(int vi,int vj,int w)
{
node *p,*q;
//acquire memory for the new node
q=(node *)malloc(sizeof(node));
q->vertex=vj;
q->next=NULL;
q->weight=w;
//insert the node in the linked list for the vertex no. vi
if(G[vi]==NULL)
G[vi]=q;
else
{
// go to the end of linked list
p=G[vi];
while(p->next!=NULL)
p=p->next;
p->next=q;
}
}

Orthogonal list representation of a graph


/*Orthogonal list representation of a graph */

#include <stdio.h>
#include<stdlib.h>
typedef struct node
 {
int  u,v;
struct  node *next,*down;
 }node;

 node *rows[10],*cols[10];
 int nodecount=0;

 void insert(node *p)
   {
     //address of the node to be inserted is in p
     node *q;
     //insert the node pointed by p in the linked list of the row
     q=rows[p->u];//head of the linked list for the row to be used for insertion
     if(q==NULL || p->u < q->u)//first node
     {
p->next=q;
rows[p->u]=p;
     }
     else
     {
    //Locate the point of insertion
    while(q->next != NULL && p->u > q->next->u)
    q=q->next;

    p->next=q->next;
    q->next=p;

     }



 //insert the node pointed by p in the linked list of the column
     q=cols[p->v];//head of the linked list for the column to be used for insertion
     if(q==NULL || p->v < q->v)//first node
     {
p->down=q;
cols[p->v]=p;
     }
     else
     {
    //Locate the point of insertion
    while(q->down != NULL && p->v > q->down->v)
    q=q->down;

    p->down=q->down;
    q->down=p;

     }
  }


 int main()
   {
int edgecount=0,i,j,k;
node *p;
printf("\nEnter No of vertices : ");
scanf("%d",&nodecount);
for(i=0;i<nodecount;i++)
   rows[i]=cols[i]=NULL;
printf("\nEnter No. of edges  : ");
scanf("%d",&edgecount);
printf("\nEnter edges as (u,v) pair : ");
for(i=0;i<edgecount;i++)
 {     fflush(stdin);
p=(node*)malloc(sizeof(node));
scanf("%d%d",&p->u,&p->v);
p->next=p->down=NULL;
insert(p);
 }
//display the list
 printf("\nList(Row-wise):");

  for(i=0;i<nodecount;i++)
      {
printf("\nRow=%d",i);
for(p=rows[i];p!=NULL;p=p->next)
printf(" (%d,%d)",p->u,p->v);
      }
 printf("\n\nList(Column-wise):");

  for(i=0;i<nodecount;i++)
      {
printf("\nColumn=%d",i);
for(p=cols[i];p!=NULL;p=p->down)
printf(" (%d,%d)",p->u,p->v);
      }

  return(0);
}



Multi list representation of a graph


/*Multi list representation of a graph */
#include <stdio.h>
typedef struct edge
 {
char u,v;
int next;
 }edge;

 int main()
   {
edge list[10];
int edgecount=0,nodecount,i,j,k;
char heads[10][2];
printf("\nEnter No of vertices : ");
scanf("%d",&nodecount);
printf("\nEnter the name of each node(A,B....) : ");
for(i=0;i<nodecount;i++)
  {    fflush(stdin);
scanf("%c",&heads[i][0]);
      // heads[i][0]=getchar();
fflush(stdin);
heads[i][1]=-1;
  }
printf("\nEnter No. of edges  : ");
scanf("%d",&edgecount);

printf("\nEnter edges as (u,v) pair : ");
for(i=0;i<edgecount;i++)
 {     fflush(stdin);
scanf("%c%c",&list[i].u,&list[i].v);
list[i].next=-1;
 }
   //creation of multilist
for(i=0;i<nodecount;i++)
 {
j=0;
while( j < edgecount && heads[i][0] != list[j].u)
    j++;
if(j<edgecount)
 {
heads[i][1]=j;
for(k=j+1;k<edgecount;k++)
 {
if(list[k].u==list[j].u)
    {
list[j].next=k;
j=k;
    }
 }
  }
  }

//display the headers
printf("\nHeaders\n" );
for(i=0;i<nodecount;i++)
       printf("\n%c  %d",heads[i][0],heads[i][1]);
printf("\nAdjacency list(u,v,next): \n");
for(i=0;i<edgecount;i++)
       printf("\n%c  %c  %d ",list[i].u,list[i].v,list[i].next);
return(0);
}