Headlines
Loading...
Data Communication network(DCN) Program to implement Walsh matrix

Data Communication network(DCN) Program to implement Walsh matrix

Program to implement Walsh matrix

#include<stdio.h>
#include<conio.h>
#include<math.h>

void main()
{
int matrix[32][32];
int n,i,j,flag=0,incre,start;

h1:
clrscr();
printf("\nEnter number of terminals (<=32) : ");
scanf("%d",&n);

if(n>32)
{
printf("\nNumber too large! ");
getch();
goto h1;
}

for(i=0;pow(2,i)<=n;i++)
{
if(pow(2,i)==n)
flag=1;
}

if(flag==0)
{
printf("\nInvalid Number! Must be a power of 2! ");
printf("\nEnter Again ");
getch();
goto h1;
}

h2:
   printf("\nEnter Starting digit : ");
   scanf("%d",&start);

   if(abs(start)<1 || abs(start)>9)
   {
printf("\nDigit must be in 1-9 range (Negative or Positive)");
goto h2;
   }

   matrix[0][0]=n;
   incre=matrix[0][0];

   while(incre!=1)
   {
i=0;
while(i<n)
{
j=0;
while(j<n)
{
matrix[i][j]=(matrix[i][j])/2;
matrix[i][j+(incre/2)]=matrix[i][j];
matrix[i+(incre/2)][j]=matrix[i][j];
matrix[i+(incre/2)][j+(incre/2)]=-matrix[i][j];

j=j+incre;
}
i=i+incre;
}
incre=matrix[0][0];
   }
   printf("\n");

   for(i=0;i<n;i++)
   {
for(j=0;j<n;j++)
{
matrix[i][j]*=start;
}
   }
   printf("\nChip code for : \n");
   for(i=0;i<n;i++)
   {
printf("\nTerminal number %d : ",i+1);
for(j=0;j<n;j++)
{
if(matrix[i][j]>0)
printf(" +");
else
printf(" ");

printf("%d ",matrix[i][j]);
}
   }getch();}
OUTPUT


Enter number of terminals (<=32) : 4

Enter Starting digit : 1


Chip code for :

Terminal number 1 :  +1  +1  +1  +1
Terminal number 2 :  +1  -1  +1  -1
Terminal number 3 :  +1  +1  -1  -1
Terminal number 4 :  +1  -1  -1  +1

*** PLEASE checkout the Best deals from for top sites like Amazon, Flipkart etc ***