⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 window.c

📁 ADSP-21xx Applications Handbook File Area
💻 C
字号:
/*      Generates Hanning and Hamming window coefficients

        INPUT: enter 'N' for window length of N

        OUTPUT: generates the following four data files, where xxx = 'N'
          hanflt.xxx - floating point Hanning window coefficients
          hamflt.xxx - floating point Hamming window coefficients
          hanhex.xxx - 16-bit (1.15) hexadecimal Hanning window coefficients
          hamhex.xxx - 16-bit (1.15) hexadecimal Hamming window coefficients

       Analog Devices, Inc. -- DSP Division -- Norwood, MA 02062
       Christoph Cavigioli -- DSP Applications -- revised 30-June-1989
*/
#include <stdio.h>
#include <math.h>

main()
{
   int h, n, N;
   float garb, w;
   float PI=3.1415926535897932384626434;
   char hanflt_name[255], hamflt_name[255];
   char hanhex_name[255], hamhex_name[255];
   FILE *hanflt, *hamflt, *hanhex, *hamhex;

   printf("\nenter N (pts): ");
   scanf("%d", &N);
   sprintf( hanflt_name, "hanflt.%d", N );
   sprintf( hamflt_name, "hamflt.%d", N );
   sprintf( hanhex_name, "hanhex.%d", N );
   sprintf( hamhex_name, "hamhex.%d", N );


   hanflt=fopen(hanflt_name,"w"); printf("\n opening %s ...",hanflt_name);
   hamflt=fopen(hamflt_name,"w"); printf("\n opening %s ...",hamflt_name);
   hanhex=fopen(hanhex_name,"w"); printf("\n opening %s ...",hanhex_name);
   hamhex=fopen(hamhex_name,"w"); printf("\n opening %s ...",hamhex_name);

   for (n=0; n<N; n++)
      {
      /*---------- Hanning ----------*/
      w = (1 - cos( (2*PI*n) / (N-1) )) / 2;
      h = (int) (w * 32768);
      fprintf( hanflt, "%f\n", w );
      fprintf( hanhex, "%04X\n", h );
      /*---------- Hamming ----------*/
      w = 0.54 - 0.46 * cos( (2*PI*n) / (N-1) );
      h = (int) (w * 32768);
      fprintf( hamflt, "%f\n", w );
      fprintf( hamhex, "%04X\n", h );
      }
   fclose(hanflt); fclose(hamflt); fclose(hanhex); fclose(hamhex);
   printf("\nDone.");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -