資源簡介
零初始化的零相位數字濾波器C代碼,與Matlab中的filtfilt()功能相似。濾波器初始化部分許改進。VS2010下編寫,使用時注意設置編譯優化選項
代碼片段和文件信息
#include?
#include?
//?Zero-phase?digital?filter?with?a?5?order?IIR?filter
void?filtfilt(float?*?b?float?*?a?float?*?rfData?float?*?psData?int?sampLength)
{
//?Usage...
//?b?----------?the?numerator?coefficients?of?the?filter
//?a?----------?the?denominator?coefficients?of?the?filter
//?rfData?-----?the?input?data
//?psData?-----?filtered?data
//?sampLength?-?length?of?the?input?Data?
//?Using?digital?filter?coefficients?obtained?from?b?a?=?signal.butter(5?0.5)?in?python
int?i;
float?tData;
//double?*tpData;
//?Zero?initialization.
psData[0]?=?+?(?b[0]*rfData[0]?);
psData[1]?=?-?(?a[1]*psData[0]?)
????????+?(?b[0]*rfData[1]?+?b[1]*rfData[0]?);
psData[2]?=?-?(?a[1]*psData[1]?+?a[2]*psData[0]?)
????????+?(?b[0]*rfDat
- 上一篇:MFC 科學計算器包括常用的三角函數
- 下一篇:MFC-科學計算器
評論
共有 條評論