ccs实现fir高通滤波器的c代码
时间: 2023-12-09 11:04:30 浏览: 114
基于MATLAB与CCS的FIR滤波器的C语言实现.pdf
5星 · 资源好评率100%
下面是在CCS中实现FIR高通滤波器的示例C代码:
```c
#define N 64 // 输入信号长度
#define M 9 // 滤波器阶数
float x[N]; // 输入信号数组
float y[N]; // 输出信号数组
float h[M] = { // 滤波器系数数组
-0.0254, -0.0191, -0.0010, 0.0389, 0.0813,
0.1093, 0.1093, 0.0813, 0.0389
};
void fir_filter(float* x, float* y, int n, float* h, int m) {
int i, j;
float acc;
for (i = m - 1; i < n; i++) {
acc = 0;
for (j = 0; j < m; j++) {
acc += h[j] * x[i - j];
}
y[i] = acc;
}
}
void main() {
int i;
// 生成输入信号
for (i = 0; i < N; i++) {
x[i] = sin(2 * PI * i / N);
}
// 调用FIR滤波器函数
fir_filter(x, y, N, h, M);
}
```
这个代码实现了一个9阶FIR高通滤波器,使用了一个长度为64的正弦波作为输入信号。你可以根据自己的需要修改输入信号、滤波器系数和其他参数,以实现不同的功能。
阅读全文