power_spectrum.c
上传用户:bossps2lzz
上传日期:2022-07-07
资源大小:522k
文件大小:1k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*****************************************************************************
  2.  * 
  3.  * power_spectrum.c 
  4.  *
  5.  * This program will compute the power in a given signal.
  6.  *
  7.  * The input will be the address of the structure that 
  8.  * has the data after applying FFT.
  9.  *
  10.  * The power will be a real quantity and will be stored
  11.  * in the real part of the complex number.
  12.  * data.real = ((data.real)*(data.real)) + ((data.imag)*(data.imag))
  13.  *
  14.  * Written by Vasanthan Rangan and Sowmya Narayanan
  15.  *
  16.  *****************************************************************************/
  17. #define column_length 256 /* Define the Column Length */
  18. #define row_length 100 /* Define Row Length */
  19. struct complex { /* Generic Structure to define real and imaginary part
  20.   * of the signal */
  21. float real;
  22. float imag;
  23. };
  24. struct buffer {
  25. struct complex data[row_length][column_length];
  26. }; /* Structre to store the input data */
  27. /* Function to compute the power spectrum of the input signal */
  28. power_spectrum(struct buffer *input_data) {
  29. int i,j; /* Variables used as counters */
  30. for (i=0; i<row_length; i++) { /* For all the Frames */
  31. for ( j=0; j < column_length; j++) { /* For all the samples in one Frame */
  32. /* Compute Power (real)^2 + (imaginary)^2 */
  33. input_data->data[i][j].real = ((input_data->data[i][j].real)*(input_data->data[i][j].real))+ ((input_data->data[i][j].imag)*(input_data->data[i][j].imag));
  34. }
  35. }
  36. return; /* Return back to Main Function */
  37. }