MDK中半正弦波代码
时间: 2023-07-02 21:05:49 浏览: 221
正弦波代码
以下是MDK中实现半正弦波的代码示例:
```c
#include <math.h>
#define PI 3.1415926
int main(void)
{
// 定义半正弦波参数
double amplitude = 10; // 振幅
double frequency = 100; // 频率
double phase = PI / 2; // 相位
double duration = 1; // 持续时间
double sampling_rate = 1000;// 采样率
int sample_num = duration * sampling_rate;
double output[sample_num];
double time_step = 1 / sampling_rate;
// 生成半正弦波数据
for (int i = 0; i < sample_num; i++)
{
double t = i * time_step;
output[i] = amplitude * sin(2 * PI * frequency * t + phase);
if (output[i] < 0)
{
output[i] = 0;
}
}
// 输出半正弦波数据
for (int i = 0; i < sample_num; i++)
{
printf("%lf\n", output[i]);
}
return 0;
}
```
该代码使用了数学库中的正弦函数 `sin()`,并根据给定的振幅、频率、相位等参数生成了半正弦波数据。其中,如果生成的数据小于0,则将其置为0,以保证数据是半正弦波形式。最后,通过输出数据可以查看生成的半正弦波形。
阅读全文