⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c2cx0032.asm

📁 tms320lf2407实现快速傅立叶变换源程序 tms320lf2407实现快速傅立叶变换源程序
💻 ASM
字号:
        
N        .set       32   ; 32点FFT
         .include C2CXRAD2.MAC
         .include DIVID.ASM

         .def    TWIDLEN,FFTLEN,TWIDSTRT,INPUT,INIT,FFT
         .def    STAGE1,STAGE3,STAGE4,SINES4,STAGE5,SINES5

         .sect "twiddles"
; FFT的函数表
TWIDSTRT .set    $
         .include twiddles.q15
TWIDLEN  .set    $-TWIDSTRT
;
INPUT    .usect  "input",N*2    ; 输入数据地址
TWID     .usect  "twid",TWIDLEN 
DATA     .data
         .space  N*2*16         ; 输出数据的地址

         .include init-fft.asm

         .sect    "fftp"

FFT:     lar     ar3,DATAADD   ; 转移 2*N 字 从 'input' 到 'data'
         lar     ar0,NN       
         rpt     #N*2-1        ; 2*N 次
         bldd    #INPUT,*BR0+
;
;    
;
STAGE1:  lar     ar0,#7        
         lar     ar1,DATAADD   
         lar     ar2,DATA2    
         lar     ar3,DATA4     
         lar     ar4,DATA6     
         COMBO2X 8             ; 重复8次
;
;   
;
STAGE3:  lar     ar0,#9        ;修改寄存器= 9
         lar     ar1,DATAADD   
         lar     ar2,DATA8     
         stage3l 4             ;重复4次  
;
STAGE4:  lar     ar0,#16       ; 修改寄存器= 16
         sar     ar0,TEMP+1    
         lar     ar1,DATAADD   
         lar     ar2,DATA16    
         lar     ar6,#1        
;
loop4:   lar     ar3,cos4      ; 启动余旋4
         lar     ar4,sin4      ; 启动正旋4
         do_btfly 8            
         banz    loop4,*-,ar2   

STAGE5:  lar     ar1,DATAADD   
         lar     ar2,DATA32    
;
         lar     ar3,cos5      ; 启动余旋5
         lar     ar4,sin5      ; 启动正旋5
         do_loops 16           
         ex_btfly              
FFTLEN   .set    $-FFT           
         .end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -