一阶低通滤波器离散化c语言代码
时间: 2023-07-31 16:10:45 浏览: 210
以下是一阶低通滤波器的离散化C语言代码:
```c
#include <stdio.h>
#define ALPHA 0.1 // 系数,可以根据需要调整
float lowPassFilter(float input, float prevOutput)
{
float output = ALPHA * input + (1 - ALPHA) * prevOutput;
return output;
}
int main()
{
float inputSignal[] = {1.0, 2.0, 3.0, 4.0, 5.0}; // 输入信号
float prevOutput = 0.0; // 上一次的输出值
for(int i = 0; i < 5; i++)
{
float output = lowPassFilter(inputSignal[i], prevOutput);
printf("Input: %f, Output: %f\n", inputSignal[i], output);
prevOutput = output; // 保存输出值
}
return 0;
}
```
在这个代码中,`ALPHA` 是一个用来控制低通滤波器响应速度的系数。它的值通常在0到1之间,可以根据需要进行调整。`lowPassFilter` 函数接收输入信号和上一次的输出值,然后计算出当前的输出值。在 `main` 函数中,我们可以将输入信号传递给低通滤波器,并且保存每一次的输出值,以便下一次的计算使用。
阅读全文