Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -------------------------------------------------------------------------------------------------
- Assignment No:5
- Title: Compute N Point DFT Using linear transformation matrix.
- -------------------------------------------------------------------------------------------------
- */
- #include<conio.h>
- #include<iostream.h>
- #include<math.h>
- # define max 50
- void main()
- {
- int i,j,k,n,ch,xr[max]={0},xi[max]={0};
- int x[max]={0},wi[max]={0},wr[max]={0},c[max][max]={0},s[max][max]={0};
- clrscr();
- do
- {
- cout<<"\n--::MENU::---\n";
- cout<<"\n-------------\n";
- cout<<"\n 1.DFT \n";
- cout<<"\n 2.IDFT \n";
- cout<<"\n-------------";
- cout<<"\nEnter your choice:\n";
- cin>>ch;
- switch(ch)
- {
- case 1:
- cout<<"\n Enter your choice of seq u want:";
- cin>>n;
- cout<<"\n Enter values in x(n)\n";
- for(i=0;i<n;i++)
- {
- cout<<"x("<<i<<")=";
- cin>>x[i];
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- c[i][j]=s[i][j]=0;
- }
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- c[i][j]=cos((2*M_PI*i*j)/n);
- s[i][j]=sin((2*M_PI*i*j)/n);
- s[i][j]=s[i][j]*(-1);
- cout<<c[i][j]<<"+j("<<s[i][j]<<")\t";
- }
- cout<<"\n";
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- wr[i]=wr[i]+(c[i][j]*x[j]);
- wi[i]=wi[i]+(s[i][j]*x[j]);
- }
- cout<<"\n";
- }
- cout<<"\nFinal Output Sequence:\n";
- for(i=0;i<n;i++)
- {
- cout<<"\t"<<wr[i]<<"+j("<<wi[i]<<")\n";
- }
- cout<<"\nFinal output Sequence is:\n";
- cout<<"{";
- for(i=0;i<n;i++)
- {
- cout<<wr[i]<<"+j("<<wi[i]<<"),";
- }
- cout<<"}";
- break;
- case 2:
- cout<<"\n Enter your choice of seq u want:";
- cin>>n;
- cout<<"\n Enter values in x(n)\n";
- for(i=0;i<n;i++)
- {
- cout<<"x("<<i<<")=";
- cin>>xr[i]>>xi[i];
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- c[i][j]=s[i][j]=0;
- }
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- c[i][j]=cos((2*M_PI*i*j)/n);
- s[i][j]=sin((2*M_PI*i*j)/n);
- s[i][j]=s[i][j]*(1);
- cout<<c[i][j]<<"+j("<<s[i][j]<<")\t";
- }
- cout<<"\n";
- }
- for(i=0;i<n;i++)
- {
- wi[i]=wr[i];
- }
- for(i=0;i<n;i++)
- {
- for(j=0;j<n;j++)
- {
- wr[i]=wr[i]+(c[i][j]*xr[j])-(s[i][j]*xi[i]);
- wi[i]=wi[i]+(s[i][j]*xr[j])+(c[i][j]*xi[j]);
- }
- wr[i]=wr[i]/n;
- wi[i]=wi[i]/n;
- cout<<"\n";
- }
- cout<<"\nFinal Output Sequence:\n";
- for(i=0;i<n;i++)
- {
- cout<<"\t"<<wr[i]<<"+j("<<wi[i]<<")\n";
- }
- cout<<"\nFinal output Sequence is:\n";
- cout<<"{";
- for(i=0;i<n;i++)
- {
- cout<<wr[i]<<"+j("<<wi[i]<<"),";
- }
- cout<<"}";
- cout<<"\n";
- break;
- }//case
- }while(ch!=3);
- getch();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement