DSP

数字滤波器设计

2019-07-13 20:08发布

DSP中对一些采样变量要用到各种滤波器,特别是三相逆变系统。 在此记录下数字滤波器设计过程。 z数值滤波器设计分为几个步骤: 1先确定滤波器阶数和带宽 2使用 Matlab 中的filterDesigneer 设计数字滤波器。 例如设计截止频率为50Hz 采样频率为16000Hz的低通滤波器。 选择Lowpass  IIR Butterworth Specify order 选择1阶,设置截止 和采样频率,点Design Filter ,滤波器设计ok, 点Analysis中的filter coefficients 导出滤波器参数: Numerator 分子: 1 1 0 Denominator 分母: 1 -0.98055531890995351 0 Gain: 0.0097223405450232395 可以用matlab验证下参数 >> sys1=tf([0.0097223405450232395 0.0097223405450232395 0],[1 -0.98055531890995351 0],6.25e-5);
>> bode(sys1) 把获得的参数直接可用在DSP中。         FilteredValue  = LOW_PASS_NUM1_16K_50 * (Value + ValueLastInput);
        FilteredValue  -= LOW_PASS_DEN2_16K_50 * ValueLastOutput;
        ValueLastInput = Value ;
        ValueLastOutput= FilteredValue  ;   同理,谐振滤波器和陷波器都可以用该方法得到,根据需求,可选择不同滤波器类型。