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

📄 makewavs.c

📁 Mobile STK for Symbian OS V0.1
💻 C
字号:
/**********************************************//**    Utility to make various flavors of    **//**    sine wave (rectified, etc), and       **//**    other commonly needed waveforms, like **//**    triangles, ramps, etc.                **//**    The files generated are all 16 bit    **//**    linear signed integer, of length      **//**    as defined by LENGTH below            **//**********************************************/#include <math.h>#include <stdio.h>#include <stdlib.h>#define LENGTH 256#define PI 3.14159265358979323846void main(){  int i,j;  double temp;  short data[LENGTH + 2];  FILE *fd;  ///////////  Yer Basic TX81Z Waves, Including Sine ///////////    fd = fopen("halfwave.raw","wb");  for (i=0;i<LENGTH/2;i++)    data[i] = 32767 * sin(i * 2 * PI / (double) LENGTH);  for (i=LENGTH/2;i<LENGTH;i++)     data[i] = 0;  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("sinewave.raw","wb");  for (i=LENGTH/2;i<LENGTH;i++)    data[i] = 32767 * sin(i * 2 * PI / (double) LENGTH);  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("sineblnk.raw","wb");  for (i=0;i<LENGTH/2;i++)    data[i] = data[2*i];  for (i=LENGTH/2;i<LENGTH;i++)     data[i] = 0;  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("fwavblnk.raw","wb");  for (i=0;i<LENGTH/4;i++)    data[i+LENGTH/4] = data[i];  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("snglpeak.raw","wb");  for (i=0;i<=LENGTH/4;i++)    data[i] = 32767 * (1.0 - cos(i * 2 * PI / (double) LENGTH));  for (i=0;i<=LENGTH/4;i++)    data[LENGTH/2-i] = data[i];  for (i=LENGTH/2;i<LENGTH;i++)     data[i] = 0;  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("twopeaks.raw","wb");  for (i=0;i<=LENGTH/2;i++)    {    data[LENGTH/2+i] = -data[i];  }  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("peksblnk.raw","wb");  for (i=0;i<=LENGTH/2;i++)    data[i] = data[i*2];  for (i=LENGTH/2;i<LENGTH;i++)     data[i] = 0;  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("ppksblnk.raw","wb");  for (i=0;i<=LENGTH/4;i++)    data[i+LENGTH/4] = data[i];   fwrite(&data,2,LENGTH,fd);  fclose(fd);  ///////////  Impulses of various bandwidth  ///////////    fd = fopen("impuls10.raw","wb");  for (i=0;i<LENGTH;i++)      {    temp = 0.0;    for (j=1;j<=10;j++)      temp += cos(i * j * 2 * PI / (double) LENGTH);    data[i] = 32767 / 10.0 * temp;  }  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("impuls20.raw","wb");  for (i=0;i<LENGTH;i++)      {    temp = 0.0;    for (j=1;j<=20;j++)      temp += cos(i * j * 2 * PI / (double) LENGTH);    data[i] = 32767 / 20.0 * temp;  }  fwrite(&data,2,LENGTH,fd);  fclose(fd);      fd = fopen("impuls40.raw","wb");  for (i=0;i<LENGTH;i++)      {    temp = 0.0;    for (j=1;j<=40;j++)      temp += cos(i * j * 2 * PI / (double) LENGTH);    data[i] = 32767 / 40.0 * temp;  }  fwrite(&data,2,LENGTH,fd);  fclose(fd);}

⌨️ 快捷键说明

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