微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 太原嵌入式linux驱动开发之实数蝶形运算算法的推导

太原嵌入式linux驱动开发之实数蝶形运算算法的推导

时间:10-02 整理:3721RD 点击:

太原市山西思软IT实训中心嵌入式学员和大家分享实数蝶形运算算法,如下。

蝶形公式:

    X(K) = X‘(K) +X’(K+B)W PN ,

    X(K+B) = X‘(K) -X’(K+B) W PN

    其中W PN= cos(2餚/N)- jsin(2餚/N)。

    设 X(K+B) = XR(K+B) + jXI(K+B),

    X(K) = XR(K) + jXI(K) ,

    有:

    XR(K)+jXI(K)= XR‘(K)+jXI’(K)+[ XR‘(K+B) + jXI’(K+B)]*[ cos(2餚/N)-jsin(2餚/N)];

    继续分解得到下列两式:

    XR(K)= XR‘(K)+ XR’(K+B) cos(2餚/N)+ XI‘(K+B) sin (2餚/N) (1)

    XI(K)= XI’(K)-XR‘(K+B) sin(2餚/N)+XI’(K+B)cos(2餚/N) (2)

需要注意的是: XR(K)、XR‘(K)的存储位置相同,所以经过(1)、(2)后,该位置上的值已经改变,而下面求X(K+B)要用到X’(K),因此在编程时要注意保存XR‘(K)和XI’(K)到TR和TI两个临时变量中。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top