亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? real_dit_fft.lst

?? 基于c166的 FFT算法源程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C166 COMPILER V6.04, REAL_DIT_FFT                                                          09/04/2007 16:24:44 PAGE 1   


C166 COMPILER V6.04, COMPILATION OF MODULE REAL_DIT_FFT
OBJECT MODULE PLACED IN real_DIT_FFT.OBJ
COMPILER INVOKED BY: C:\Keil\C166\BIN\C166.EXE real_DIT_FFT.c MODV2 BROWSE MODV2 DEBUG

 stmt lvl     source

    1         /******************************************************************************* 
    2         ;  Module:              Real_DIT_FFT
    3         ;  Filename:    Real_DIT_FFT.c
    4         ;  Project:             DSP library for XC16x Microcontroller 
    5         ;------------------------------------------------------------------------------
    6         ;  Compiler:    Keil
    7         ;
    8         ;  Version:             V1.2
    9         ;
   10         ;  Description: Implementation of forward real Radix-2 decimation-in-time 
   11         ;                               Fast Fourie Transformation
   12         ;             
   13         ;  Date:                May 2003 
   14         ;
   15         ;  Copyright:   Infineon Technologies AG 
   16         ;
   17         ;  Author:              Guangyu Wang            
   18         ;******************************************************************************/
   19         
   20         /******************************************************************************
   21         ; void  real_DIT_FFT(
   22         ;                               DataS*  x,                              // input vector
   23         ;                               DataS*  index,                  // bit reversed input indecies
   24         ;                   DataS   exp,            // exponent of vector size
   25         ;                               DataS*  table,                  // trigonomic function table
   26         ;                               DataS*  X                               // output of FFT
   27         ;                               )
   28         ;
   29         ; INPUTS:
   30         ;               x                       the input value in 1Q15 format
   31         ;               index           bit reversed input indecie
   32         ;           exp         exponent of vector size
   33         ;           table           trigonomic function table
   34         ; 
   35         ; RETURN:       
   36         ;               X          the FFT output vector in 1Q15 format         
   37         ;               
   38         ; ALGORITHM: Radix-2 decimation-in-time FFT
   39         ;                          
   40         ; REGISTER USAGE:
   41         ;       1.      From .c file to .asm file:
   42         ;                       R8              pointer of input vector x
   43         ;                       R9              pointer of index vector
   44         ;                       (R10) = exp
   45         ;                       R11     pointer of trigonomic function table 
   46         ;                       R12     contains the pointer of output vector X
   47         ;                       
   48         ;
   49         ;       2.      From .asm file to .c file
   50         ;
   51         ; Assumptions: 
   52         ;       1. scale factor = 1/N (N=2^exp), preventing overflow
   53         ;       2. FFT_of_x(k) = N*X(k)         
   54         ;
   55         ;*****************************************************************************/
C166 COMPILER V6.04, REAL_DIT_FFT                                                          09/04/2007 16:24:44 PAGE 2   

   56         
   57         /*========================= Define registers =================================
   58         
   59         Outloop         LIT     'R4'    ; R4 counter
   60         Midloop         LIT     'R3'    ; Midloop counter
   61         Inloop          LIT     'R1'    ; Inloop counter
   62         P_off           LIT     'QR0'   ; offset to P element in x
   63         Q_off           LIT     'QR1'   ; offset to Q element in x
   64         FFT_in          LIT     'R8'    ; Pointer to first element in x
   65         index               LIT     'R9'    ; Pointer to first element in index
   66         exp             LIT     'R10'   ; exp
   67         table           LIT     'R11'   ; Pointer to first element in table
   68         X               LIT     'R12'   ; Pointer to first element in X
   69         counter         LIT     'R13'   ; 2^(exp)=N
   70         ============================================================================*/
   71         
   72         /* ---------------------------------------------------------
   73         ; Butterfly macros used for radix-2 forward 
   74         ; decimation-in-time (DIT) FFT 
   75         ; ---------------------------------------------------------
   76         
   77         ;**************************************************************
   78         ;
   79         ; n = stage
   80         ;
   81         ; Pn = Re(Pn) + Im(Pn)
   82         ;
   83         ; Qn = Re(Qn) + Im(Qn)
   84         ;
   85         ; Pn------------------->-------->(+)----------------->Pn+1
   86         ;                       \      ^
   87         ;                        \    /
   88         ;                         \  /
   89         ;                          \/
   90         ;                          /\
   91         ;                         /  \
   92         ;                        /    \
   93         ;                       /      V
   94         ; Qn------------------->-------->(+)----------------->Qn+1
   95         ;         k
   96         ;       W                  -1
   97         ;         N
   98         ;
   99         ;              k
  100         ; Pn+1 = Pn + W  * Qn
  101         ;              N
  102         ;              k
  103         ; Qn+1 = Pn - W  * Qn
  104         ;              N
  105         ;
  106         ;  k    -j(2pi/N)k
  107         ; W  = e           = cos(X) - j * sin(X)
  108         ;  N
  109         ;
  110         ;       2*pi
  111         ; X = ( ---- )k
  112         ;        N
  113         ;
  114         ; Pn+1 = Re(Pn) + Re(Qn) * cos(x) + Im(Qn) * sin(x)
  115         ;        + j[Im(Pn) + Im(Qn) * cos(x) - Re(Qn) * sin(x)]
  116         ;
  117         ; Qn+1 = Re(Pn) - Re(Qn) * cos(x) - Im(Qn) * sin(x)
C166 COMPILER V6.04, REAL_DIT_FFT                                                          09/04/2007 16:24:44 PAGE 3   

  118         ;        + j[Im(Pn) - Im(Qn) * cos(x) + Re(Qn) * sin(x)]
  119         ;----------------------------------------------------------*/
  120         
  121         
  122         #include "DspLib_Keil.h"
  123         
  124         void real_DIT_FFT(DataS* x, DataS* index, DataS exp, DataS* table, DataS* X)
  125         {
  126  1         __asm
  127  1        {
  128  1      //store the system state
  129  1              PUSH    R13
  130  1              PUSH    R14
  131  1              PUSH    R15
  132  1       
  133  1      //initialization of registers
  134  1              MOV     R4,exp                  // (R4) = exp
  135  1              SUB             R4,#1h                  // (R4) = exp-1
  136  1          MOV     R13,#1h             // (R13)=counter = 1
  137  1              SHL             R13,exp                 // (R13)=counter = 2^exp = N
  138  1              MOV             R5,R13                  // (R5) = N
  139  1              SHR             R5,#1h                  // (R5) = N/2 
  140  1      
  141  1      //initialize the basic address of cosinus
  142  1              ADD             R5,table                        // (R5) = table + N/2= address of cos(x)
  143  1      
  144  1      //reset R2
  145  1              MOV             R2,R13                          // (R2) = N
  146  1              SHL             R2,#1h                          // (R2) = 2*N 
  147  1      
  148  1      //MAC registers initialization
  149  1              MOV             MCW,#0200h                      // MP=0, MS=1
  150  1       
  151  1      OUT_LOOP:                         
  152  1              MOV     R3,#0                           //(R3) = 0    
  153  1              MOV     R6,R13                          //(R6) = N
  154  1              SHR     R6,#2               //(R6) = N/4 = number of Inloops
  155  1       
  156  1      MID_LOOP:       
  157  1              MOV     R1,R6          // restore Inloop
  158  1       
  159  1              EXTR    #3
  160  1              MOV     QR0,R3                  // (QR0) = offset of Pn in FFT_in
  161  1              MOV             QR1,QR0                 // (QR1) = (QR0)                   
  162  1              ADD     QR1,R13                 // (QR1) = offset of Qn in FFT_in
  163  1              PUSH    R13
  164  1      
  165  1      //------Determination of Index for Twiddle-Factor
  166  1              MOV     R7,R3
  167  1              SHR     R7,R4                      
  168  1      
  169  1      //------Determination of Twiddle-Factor
  170  1              ADD             R7,index                // (R7)=(R7)+index
  171  1          MOV     R7,[R7]             // (R7) = Bit reverse index
  172  1      
  173  1              MOV             R14,R5                  // move basic address of cos(x) into R14
  174  1              MOV     R15,table               // move basic address of sin(x) into R15
  175  1              ADD     R14,R7                  // add offset
  176  1              ADD     R15,R7
  177  1      
  178  1              MOV     R14,[R14]               // (R14) = cos(x)
  179  1              MOV     R15,[R15]               // (R15) = sin(x)
C166 COMPILER V6.04, REAL_DIT_FFT                                                          09/04/2007 16:24:44 PAGE 4   

  180  1      
  181  1              PUSH    R5                              // push basic address of cos(x)into stack
  182  1              PUSH    R6
  183  1              PUSH    R12
  184  1      
  185  1      IN_LOOP:
  186  1      //------use general butterfly
  187  1      
  188  1              CoNOP [x+QR0]
  189  1      
  190  1      //      %Wk_Butterfly()
  191  1      /*-----------------------------------------
  192  1      ; %DEFINE (Wk_Butterfly ())(
  193  1      ; general Butterfly
  194  1      ; (R14) = cos(x) 
  195  1      ; (R15) = sin(x)
  196  1      ; W = cos(x) - j * sin(x)
  197  1      ------------------------------------------*/
  198  1      
  199  1      //------Input Pn---------------------------
  200  1      //(R5) = Re(Pn)
  201  1      //(R6) = Im(Pn) 
  202  1              MOV     R5,[x+]                 // (R5) = X[QR0]   = Re(Pn)
  203  1                                                              // (R8) = (R8)+2
  204  1              MOV     R6,[x]                  // (R6) = X[QR0+1] = Im(Pn)
  205  1              ASHR    R5,#1                           // Re(Pn)=Re(Pn)/2, 
  206  1              ASHR    R6,#1                           // Im(Pn)=Im(Pn)/2, 
  207  1      
  208  1              SUB             x,#2h                           // (R8) = (R8)-2
  209  1              CoNOP   [x - QR0]                       // (R8) = (R8) - (QR0)
  210  1              CoNOP   [x + QR1]                       // (R8) = (R8) + (QR1)
  211  1      
  212  1      //------Input Qn---------------------------
  213  1      // ((R12))   = Re(Qn)
  214  1      // ((R12+2)) = Im(Qn)
  215  1      
  216  1      //------Calculation     of Real Parts---------
  217  1      //(R7) = Re(Pn+1) = Re(Pn) + Re(Qn) * cos(X) + Im(Qn) * sin(x)
  218  1              MOV             MAH,R5                          // (ACC) = Re(Pn)
  219  1          CoMAC   R14,[x+]                    // (ACC) = Re(Pn) + (Re(Qn) * cos(x))
  220  1                                                              // (R8) = (R8)+2 
  221  1              CoMAC   R15,[x-]                        // (ACC) = (ACC) + (Im(Qn) * sin(x))
  222  1                                                                      // (R8) = (R8) - 2
  223  1              CoSTORE R7,MAS                          // (R7) = Re(Pn+1)
  224  1      
  225  1      //(R8) = Re(Qn+1) = Re(Pn) - Re(Qn) * cos(x) - Im(Qn) * sin(x)
  226  1              MOV             MAH,R5                          // (ACC) = Re(Pn)
  227  1          CoMAC-  R14,[x+]                    // (ACC) = Re(Pn) - (Re(Qn) * cos(x))
  228  1                                                              // (R8) = (R8) + 2 
  229  1              CoMAC-  R15,[x]                         // (ACC) = (ACC) - (Im(Qn) * sin(x))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线免费观看| 欧美精品vⅰdeose4hd| 亚洲一区自拍偷拍| 精品国产一区二区三区久久影院| fc2成人免费人成在线观看播放| 香蕉成人啪国产精品视频综合网| 国产精品污污网站在线观看 | 精品无码三级在线观看视频 | 中文字幕中文字幕在线一区| 在线成人小视频| 成人av免费网站| 蜜臀久久99精品久久久久久9| 亚洲手机成人高清视频| 精品奇米国产一区二区三区| 色哟哟在线观看一区二区三区| 国产在线看一区| 日韩成人精品视频| 亚洲精品免费在线观看| 日本一区二区动态图| 日韩欧美在线影院| 欧美日韩一区不卡| 91视频.com| 成人中文字幕在线| 国产美女娇喘av呻吟久久| 日日骚欧美日韩| 一区二区三区在线不卡| 亚洲欧美综合网| 久久久精品天堂| 精品噜噜噜噜久久久久久久久试看| 欧美日韩国产小视频| 在线精品视频免费播放| 99精品偷自拍| 成人动漫一区二区三区| 国产成人综合网站| 久久电影网电视剧免费观看| 美女视频黄a大片欧美| 日日嗨av一区二区三区四区| 亚洲电影在线免费观看| 亚洲综合图片区| 一区二区不卡在线播放 | 欧美成人video| 欧美一级高清片在线观看| 欧美日韩视频不卡| 欧美日韩国产在线播放网站| 欧美午夜理伦三级在线观看| 欧美色网一区二区| 这里是久久伊人| 91麻豆精品国产自产在线| 日韩一区和二区| 精品美女一区二区三区| wwwwxxxxx欧美| 日本一区二区三区高清不卡 | 无吗不卡中文字幕| 日韩精品一级二级| 麻豆精品在线视频| 国内国产精品久久| 成人a区在线观看| av在线播放不卡| 91视频观看免费| 欧美日韩一区二区三区不卡 | 日韩欧美一区二区视频| 欧美一卡二卡在线| 精品sm在线观看| 中文字幕精品一区| 亚洲欧美日韩电影| 亚洲成人免费看| 久88久久88久久久| 成人午夜在线播放| 在线看日韩精品电影| 欧美精品少妇一区二区三区| 日韩欧美中文一区| 欧美韩国日本不卡| 亚洲一区精品在线| 久久超碰97人人做人人爱| 国产福利一区二区三区视频| 91在线porny国产在线看| 在线观看av一区| 精品国产乱码久久久久久影片| 国产精品天干天干在线综合| 中文字幕亚洲一区二区av在线| 五月综合激情婷婷六月色窝| 国产美女久久久久| 色天天综合色天天久久| 日韩免费福利电影在线观看| 中文字幕第一页久久| 婷婷亚洲久悠悠色悠在线播放| 国产真实乱子伦精品视频| 91丨porny丨国产入口| 制服丝袜中文字幕一区| 国产精品乱人伦| 婷婷综合另类小说色区| 成人一区在线观看| 91精品国产欧美一区二区| 国产精品灌醉下药二区| 全国精品久久少妇| 一本一本久久a久久精品综合麻豆| 日韩欧美不卡在线观看视频| 亚洲日本在线视频观看| 久久97超碰色| 欧美视频中文字幕| 亚洲国产精品传媒在线观看| 免费高清在线一区| 91久久精品网| 中文av字幕一区| 看片的网站亚洲| 欧美中文字幕亚洲一区二区va在线 | 日本欧美肥老太交大片| 成人aa视频在线观看| 欧美成人vps| 亚洲一区二区三区在线播放| 高清视频一区二区| 日韩欧美一区二区免费| 亚洲高清免费视频| 成人av动漫网站| 久久综合精品国产一区二区三区| 五月激情六月综合| 色94色欧美sute亚洲线路二| 欧美国产日韩在线观看| 久久99精品久久只有精品| 欧美日韩国产综合视频在线观看| 成人免费在线观看入口| 国产成人精品午夜视频免费| 日韩久久免费av| 免费观看一级欧美片| 在线成人高清不卡| 午夜久久久影院| 欧美日韩高清在线| 一区二区成人在线视频| 色婷婷综合五月| 17c精品麻豆一区二区免费| 国产成人在线视频网站| 2017欧美狠狠色| 国产一区二区在线电影| 精品少妇一区二区三区日产乱码 | 91精品国产综合久久久久久久| 一区二区免费看| 91在线视频播放| 国产精品短视频| 99久久国产综合色|国产精品| 国产欧美精品在线观看| 国产成人精品免费一区二区| 久久亚区不卡日本| 国产精品一二三四五| 久久这里只有精品首页| 精品一区二区三区影院在线午夜 | 玉足女爽爽91| 一本色道a无线码一区v| 一区二区三区欧美日| 欧美巨大另类极品videosbest| 亚洲国产另类av| 欧美一区二区三区人| 精品亚洲成a人| 久久久影视传媒| 风间由美性色一区二区三区| 国产精品久久久久久亚洲伦| 色综合天天在线| 亚洲国产欧美日韩另类综合| 欧美疯狂做受xxxx富婆| 久久激情五月激情| 久久久久久久久蜜桃| 成人av动漫网站| 亚洲一区二区精品3399| 欧美一区二区在线观看| 国产一区二区导航在线播放| 国产精品动漫网站| 在线精品视频一区二区三四| 日韩高清在线观看| 精品国产免费一区二区三区香蕉| 国产激情一区二区三区四区| 亚洲天天做日日做天天谢日日欢 | 久久久精品欧美丰满| 99久久99久久精品免费观看| 亚洲国产欧美另类丝袜| 精品福利av导航| av电影天堂一区二区在线| 亚洲图片欧美色图| 欧美mv和日韩mv的网站| 99精品在线免费| 日韩精品每日更新| 欧美经典一区二区| 欧美优质美女网站| 久久狠狠亚洲综合| 亚洲激情校园春色| 日韩欧美不卡在线观看视频| 99精品一区二区三区| 蜜桃精品在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 337p亚洲精品色噜噜狠狠| 成人听书哪个软件好| 五月激情综合色| 亚洲婷婷国产精品电影人久久| 欧美一级片在线看| 91女人视频在线观看| 精品一区二区三区视频| 亚洲一区二区欧美日韩| 国产欧美一区二区精品性色超碰| 欧美午夜精品久久久久久超碰 | 色琪琪一区二区三区亚洲区| 国内精品在线播放| 亚洲一线二线三线久久久|