如何用C语言写正弦波代码
时间: 2024-01-01 11:03:13 浏览: 105
正弦波 实现在10HZ~300HZ的频率可调 C 语言代码
3星 · 编辑精心推荐
以下是用C语言编写正弦波代码的示例:
```c
#include <stdio.h>
#include <math.h>
#define PI 3.14159265
int main()
{
double frequency = 440.0; // 设置频率为440Hz
double amplitude = 1.0; // 设置振幅为1
double time = 0.0;
double duration = 5.0; // 设置持续时间为5秒
double sampling_rate = 44100.0; // 设置采样率为44100Hz
int num_samples = (int)(duration * sampling_rate);
short sample;
for(int i=0; i<num_samples; i++)
{
sample = (short)(amplitude * sin(2.0 * PI * frequency * time));
printf("%d\n", sample); // 输出采样值
time += 1.0 / sampling_rate;
}
return 0;
}
```
该代码使用了数学库中的sin函数,根据正弦函数的公式生成正弦波的采样值,并将采样值输出到控制台。可以将输出的采样值保存到文件中,然后使用音频工具播放生成的正弦波。
阅读全文