Saturday, 12 April 2014

DSP PRACTICAL

EXP:1

Q:Implement the program for DFT?

ANS: Program:
 close all;
 clear all;
 x=[1 2 4 5]
 g=fft(x)
 N=length(x)
 for k=1:N
     y(k)=0;
     for n=1:N
         y(k)=y(k)+x(n)*exp(-j*2*pi*(k-1)*(n-1)/N)
     end
 end
 subplot(3,1,1)
 stem(x)
 title('angle')
 xlabel('time')
 ylabel('magnitude')
 subplot(3,1,2)
 stem(abs(y))
 title('magnitude spectrum')
 xlabel('frequecy')
 ylabel('magnitude')
 subplot(3,1,3)
 stem(angle(y))
 title('phase spectrum')
 xlabel('frequecy')
 ylabel('angle')


OUTPUT:
x =

     1     2     4     5


N =

     4


y =

     0


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     0


y =

    12     1


y =

  12.0000             1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 2.0000i


y =

  12.0000            -3.0000 + 3.0000i


y =

  12.0000            -3.0000 + 3.0000i        0        


y =

  12.0000            -3.0000 + 3.0000i   1.0000        


y =

  12.0000            -3.0000 + 3.0000i  -1.0000 - 0.0000i


y =

  12.0000            -3.0000 + 3.0000i   3.0000 + 0.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i        0        


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000        


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


x =

     1     2     4     5


g =

  12.0000            -3.0000 + 3.0000i  -2.0000            -3.0000 - 3.0000i


N =

     4


y =

        0            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   1.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   3.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   7.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000                  0            -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000             1.0000            -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000             1.0000 - 2.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 2.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i        0            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i   1.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -1.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i   3.0000 + 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i        0        


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000        


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i

>>
FIGURE:


Q:Implement the program for IDFT?
ANS: PROGRAM:
 close all;
 clear all;
 x=[1 2 4 5]
 g=ifft(x)
 N=length(x)
 for n=1:N
     y(n)=0;
     for k=1:N
         y(n)=y(n)+x(k)*exp(j*2*pi*(k-1)*(n-1)/N)
     end
 end
 y=y/N

 subplot(3,1,1)
 stem(x)
 title('amplitude')
 xlabel('time')
 ylabel('frequency')
 subplot(3,1,2)
 stem(abs(y))
 title('magnitude spectrum')
 xlabel('amplitude')
 ylabel('frequency')
 subplot(3,1,3)
 stem(angle(y))
 title('phase spectrum')
 xlabel('angle')
 ylabel('frequency')

OUTPUT:
x =

     1     2     4     5


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


x =

     1     2     4     5


g =

   3.0000            -0.7500 - 0.7500i  -0.5000            -0.7500 + 0.7500i


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


y =

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i


x =

     1     2     4     5


g =

   3.0000            -0.7500 - 0.7500i  -0.5000            -0.7500 + 0.7500i


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000        


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


y =

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i

>>
FIGURE:


RESULT:I understood the working of discrete and inverse fourier transform by using MATLAB tool.Basically I got the output and their figures for dft and idft.
Q:Implement the program for DFT?

ANS: Program:
 close all;
 clear all;
 x=[1 2 4 5]
 g=fft(x)
 N=length(x)
 for k=1:N
     y(k)=0;
     for n=1:N
         y(k)=y(k)+x(n)*exp(-j*2*pi*(k-1)*(n-1)/N)
     end
 end  
 subplot(3,1,1)
 stem(x)
 title('angle')
 xlabel('time')
 ylabel('magnitude')
 subplot(3,1,2)
 stem(abs(y))
 title('magnitude spectrum')
 xlabel('frequecy')
 ylabel('magnitude')
 subplot(3,1,3)
 stem(angle(y))
 title('phase spectrum')
 xlabel('frequecy')
 ylabel('angle')


OUTPUT:
x =

     1     2     4     5


N =

     4


y =

     0


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     0


y =

    12     1


y =

  12.0000             1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 2.0000i


y =

  12.0000            -3.0000 + 3.0000i


y =

  12.0000            -3.0000 + 3.0000i        0          


y =

  12.0000            -3.0000 + 3.0000i   1.0000          


y =

  12.0000            -3.0000 + 3.0000i  -1.0000 - 0.0000i


y =

  12.0000            -3.0000 + 3.0000i   3.0000 + 0.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i        0          


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000          


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


x =

     1     2     4     5


g =

  12.0000            -3.0000 + 3.0000i  -2.0000            -3.0000 - 3.0000i


N =

     4


y =

        0            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   1.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   3.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

   7.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000                  0            -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000             1.0000            -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000             1.0000 - 2.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 2.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i        0            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i   1.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -1.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i   3.0000 + 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i        0          


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000          


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i   1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 + 2.0000i


y =

  12.0000            -3.0000 + 3.0000i  -2.0000 - 0.0000i  -3.0000 - 3.0000i

>> 
FIGURE:


Q:Implement the program for IDFT?
ANS: PROGRAM:
 close all;
 clear all;
 x=[1 2 4 5]
 g=ifft(x)
 N=length(x)
 for n=1:N
     y(n)=0;
     for k=1:N
         y(n)=y(n)+x(k)*exp(j*2*pi*(k-1)*(n-1)/N)
     end
 end  
 y=y/N
 
 subplot(3,1,1)
 stem(x)
 title('amplitude')
 xlabel('time')
 ylabel('frequency')
 subplot(3,1,2)
 stem(abs(y))
 title('magnitude spectrum')
 xlabel('amplitude')
 ylabel('frequency')
 subplot(3,1,3)
 stem(angle(y))
 title('phase spectrum')
 xlabel('angle')
 ylabel('frequency')

OUTPUT:
x =

     1     2     4     5


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


x =

     1     2     4     5


g =

   3.0000            -0.7500 - 0.7500i  -0.5000            -0.7500 + 0.7500i


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


y =

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i


x =

     1     2     4     5


g =

   3.0000            -0.7500 - 0.7500i  -0.5000            -0.7500 + 0.7500i


N =

     4


y =

     1


y =

     3


y =

     7


y =

    12


y =

    12     1


y =

  12.0000             1.0000 + 2.0000i


y =

  12.0000            -3.0000 + 2.0000i


y =

  12.0000            -3.0000 - 3.0000i


y =

  12.0000            -3.0000 - 3.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -1.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i   3.0000 - 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000          


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i   1.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 - 2.0000i


y =

  12.0000            -3.0000 - 3.0000i  -2.0000 + 0.0000i  -3.0000 + 3.0000i


y =

   3.0000            -0.7500 - 0.7500i  -0.5000 + 0.0000i  -0.7500 + 0.7500i

>> 
FIGURE:


RESULT:I understood the working of discrete and inverse fourier transform by using MATLAB tool.Basically I got the output and their figures for dft and idft.

No comments:

Post a Comment