N阶IIR低通滤波器参数计算

     /*  
     * n-order lp butterworth analog filter 
     *                      1
     * H(s)*H(-s) = -------------------
     *               1 + (-s^2/wc^2)^n
     *
     * poles: 
     *      pk = wc*(-sk + j*ck), k = 1, 2, .., n/2 
     * 
     *                 2*k - 1
     * where sk = sin(--------- * PI)
     *                  2*n
     *
     *                 2*k - 1
     *       ck = cos(--------- * PI)
     *                  2*n
     *
     * so, (n is odd)
     *
     *        n/2           wc^2
     * H(s) = MUL ------------------------
     *        k=1  wc^2 + 2*wc*sk*s + s^2
     *
     *                 1 - z^-1
     * replace s with ----------
     *                 1 + z^-1
     *
     * so, 
     *        n/2               wc^2 * (1 + 2*z^-1 + z^-2)
     * H(z) = MUL ------------------------------------------------------------
     *        k=1  (wc^2+2*wc*sk+1) + (2*wc^2-2)*z^-1 + (wc^2-2*wc*sk+1)*z^-2
     *
     * if n is even, 
     *
     *      p0 = -wc 
     * 
     * so, 
     *
     *           wc       n/2           wc^2
     * H(s) = -------- *  MUL ------------------------
     *         wc + s     k=1  wc^2 + 2*wc*sk*s + s^2
     *
     * and, 
     *
     *             wc*(1+z^-1)
     * H(z) = ---------------------- * MUL ....
     *         (wc+1) + (wc-1)*z^-1
     *
     *
     * NOTE: 
     *  here wc is not normalized digital frequency but analog frequency 
     *
     *      wc = tan(fc*PI), where fc is normalized digital frequency 
     
*/

 

 

 

 

    /* 
     * n-th order chebyshev I analog lpf's transfer function: 
     *
     *                      1
     *      H(s) = --------------------
     *              1 + e^2*Tn^2(s/wc)
     *
     * where e is the ripple factor, wc is the cutoff frequency 
     * and Tn() is nth order Chebyshev polynomial.
     *
     * poles: 
     *
     *      pk = (+-sinh(A)*sin(B) + jcosh(A)*cos(B))*wc
     *
     *         = Rp + j*Ip
     *
     *            1          1
     * where A = ---*arsinh(---), 
     *            n          e
     *
     *            PI   2*k-1
     *       B =  ---*-------, k = 1, 2, ... n/2
     *             2     n
     *
     * so, 
     *             n/2                     1
     *      H(s) = MUL ------------------------------------------
     *             k=1  1 - ((pk+pk~)/(pk*pk~))*s + s^2/(pk*pk~)
     *
     *             n/2                     1        
     *           = MUL ---------------------------------------------
     *             k=1  1 - ((2*Rp)/(Rp^2+Ip^2))*s + s^2/(Rp^2+Ip^2)
     *
     *             n/2          1
     *           = MUL -------------------
     *             k=1  1 + A1*s + A2*s^2
     *
     * where pk have negtive real parts
     *
     *                 1 - z^-1
     * replace s with ----------
     *                 1 + z^-1
     *
     *             n/2             1 + 2*z^-1 + z^-2
     *      H(z) = MUL --------------------------------------------
     *             k=1  (1+A1+A2) + (2-2*A2)*z^-1 + (1-A1+A2)*z^-2
     *
     *
     * NOTE: 
     *  wc is analog frequency;
     *

     */ 

转载于:https://www.cnblogs.com/magic-chen/archive/2012/08/25/2656728.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值