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

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

?? untitled1.c

?? FFT匯編
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <msp430x16x.h>
PUBLIC asmFFT
RSEG CODE                    
asmFFT;                       //什么意思?????????????????

;--------------------------------------------------------------
;----------------傳遞C語言中定義的變量名稱標號-----------------------------------
;--------------------------------------------------------------
extern x2
extern maxOfGrade;                             //FFT計算過程中總共需要計算的級數
extern totalOfNum;                             //參與FFT計算的數據點數
extern gradeOverFlowFlag;                        //級運算結束后,根據這位判斷同級中最大的數是否超出Q13表示范圍,如果超過了就將這一級的運算結果整體右移2位
extern counterOfFFTShiftTimes;                            //整個FFT計算完成后,總共移位的次數。
extern tempDataOfOverFlowJudge;                 //蝶形因子計算完成后,需要判斷結果是否超出Q13,判斷過程中的變量,就是放在該臨時變量中。
extern gradeOfW;                                //旋轉因子級系數,初始值為數據總點數,第一級開始就除以2,以后每開始一級都除以2;用于和factorOfW相乘,產生正余弦表偏移向量
extern numOfGrade;                             //級數,128點就分為7級  
extern maxOfW;                                  //最大旋轉因子系數,在同一級計算中,是根據旋轉因子系數進行循環的,所有的旋轉因子計算完成后,該級就計算完成了
;extern stepOfBf;                                //同級運算中,對于一個蝶形因子,低位運算單元與高位運算單元的距離
stepOfBf EQU maxOfW ;                            //stepOfBf和maxOfW指向同一內存單元,                          
extern stepBetweenW;                            //同級運算中,對于具有相同旋轉因子的蝶形單元將被放在一起計算,該內存中存放在這些蝶形單元之間跨距
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
extern factorOfW;                               //存放旋轉因子系數,是根據旋轉因子系數進行循環的,所有的旋轉因子計算完成后,該級就計算完成了
extern shiftOfLowBf;                            //存放蝶形因子低位偏移量,然后蝶形因子就根據該偏移量找到對應的內存單元中存放的蝶形因子系數,在蝶形運算過程中,同級相同蝶形因子計算過程中,一個蝶形單元運算完成后,該偏移量將加上該級的蝶形運算單元跨距,開始新的同旋轉單元蝶形因子計算。
extern shiftOfW;                                //存放著旋轉因子偏移量,根據該偏移量查找旋轉因子
//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
extern shiftOfHighBf; 
extern L1VCOS;       
extern L1VSIN;        
extern L1RCOS;        
extern L1RSIN;
extern tableVOfFFT;數組虛部
extern fft_num
tableROfFFT equ fft_num
;extern tableROfFFT  ;數組實部
;20080826:該正余弦表在文件提前寫入了,需要由其他文件產生了
;extern sin_table   ;正余弦表
;extern cos_table ;
;--------------------------------------------------------------
;----------------FFT單元定義-----------------------------------
;--------------------------------------------------------------

;------------------------級循環單元----------------------------
;;級一層使用的內存單元
;------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

;---------------------------定義256個字節的單元用于存放FFT數據的實部和虛部-------------------------------

;tableROfFFT   EQU 354h


;-------------------------------------------------------通用寄存器使用列表-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;R4----&shiftOfLowBf,低位蝶形因子偏移量
;R5----&shiftHighBf,高位蝶形因子偏移量
;R6----&shiftOfW.旋轉因子偏移量
;R7,R8----FFT計算過程中用來存儲計算過程的中間變量。
;R8-----用來做fft實部虛部數據清零循環計數器
   
               		
;--------------------------------------------------
;-----------        主程序區          -------------
;--------------------------------------------------
                 PUSH.W R11
                 PUSH.W R10
                 PUSH.W R9
                 PUSH.W R8
                 PUSH.W R7
                 PUSH.W R6
                 PUSH.W R5
                 PUSH.W R4                 
   
                              
initFFTParameters
                 CLR.W R11
                 CLR.W R10
                 CLR.W R9
                 CLR.W R8
                 CLR.W R7
                 CLR.W R6
                 CLR.W R5
                 CLR.W R4 
                clr.w &numOfGrade;                  
                mov.w #1,&stepBetweenW      ;同級中不同旋轉因子之間距離,初始化為1,每次開始新的級內運算都需要乘以2
                mov.w &totalOfNum,&gradeOfW ;                
                CLR.W &counterOfFFTShiftTimes ;將上次計算的次數清0

                jmp   BITREV              
                
            	            	
              	;-----------------   碼位整序  ------------------

fftRoutinStart              	

                                                  

                
                
gradeLoop       ;級層循環,
                cmp  &maxOfGrade,&numOfGrade;判斷所有級是否都算完,如果沒有就跳轉到級運算設置
                
                jl  gradeSet
                ;程序運行結束時候,彈出使用各個寄存器,使程序恢復到調用前的狀態。
                POP.W R4
                POP.W R5
                POP.W R6
                POP.W R7 
                POP.W R8
                POP.W R9
                POP.W R10
                POP.W R11                
                RET                
                
                
                
;-------------------------------------------------- 
;-----------------   級層設置  ------------------
;--------------------------------------------------
gradeSet          ;級層運算設置
                  mov.w &stepBetweenW ,&maxOfW ;最大旋轉因子系數就等于(上1級)具有相同旋轉因子蝶形單元之間的距離
                  rla &stepBetweenW            ;開始設置同級中旋轉因子的距離
                  rra &gradeOfW                ;設置旋轉因子級系數
                  inc &numOfGrade              ;級數加1
                  clr.w &factorOfW             ;將旋轉因子系數清0,開始同級中不同旋轉因子循環
                  clr.w &gradeOverFlowFlag;    ;將上次的標志清0
                                               ;級運算結束后,根據這位判斷同級中最大的數是否超出Q13表示范圍,如果超過了就將這一級的運算結果整體右移2位
                  
                  
wLoop             ;旋轉因子循環
                  cmp &maxOfW,&factorOfW       ;判斷同級中是否旋轉因子都計算完畢,沒有就跳轉到旋轉因子計算,完畢就跳轉到級層循環。    
                  jl   caculateW
                  
                  
                  tst.w &gradeOverFlowFlag     ;判斷是否有超出Q13,如果有,就將數據整體右移兩位
                  jeq wLoopRet
                  
                  clr.w &gradeOverFlowFlag;    ;將的標志清0
                                               ;級運算結束后,根據這位判斷同級中最大的數是否超出Q13表示范圍,如果超過了就將這一級的運算結果整體右移2位
                  
                  inc.w &counterOfFFTShiftTimes ;右移次數加1
                  CALL #SHUJUYIWEI
                  
wLoopRet          jmp gradeLoop 

caculateW         ;計算旋轉因子
                  mov.w &factorOfW,&shiftOfLowBf //旋轉因子系數就是該旋轉因子的初始偏移量
                  dint                           ;關閉中斷,開始根據旋轉因子級系數和旋轉因子系數計算旋轉因子偏移量
                  mov.w &factorOfW,&MPY
                  mov.w &gradeOfW,&OP2
                  MOV.W &RESLO,&shiftOfW 
                  eint                           ;計算完畢,重新開啟中斷              
                  inc &factorOfW                 ;旋轉因子級系數加1
                  
bfLoop            ;蝶形因子循環
                  cmp &totalOfNum,&shiftOfLowBf   ;判斷同級中具有相同的旋轉因子的蝶形單元是否都計算完畢,低位蝶形因子與數據總數比較,低于就跳轉到蝶形單元計算,高于就跳轉到旋轉因子循環處。
                 
                  jl caculateBf
                  
                  jmp wLoop
                  
caculateBf        
                  MOV.W &shiftOfLowBf,R7
                  
                  add &stepOfBf,R7
                  mov.w R7,&shiftOfHighBf
                  mov.w &shiftOfLowBf,R4
                  mov.w &shiftOfHighBf,R5
                  mov.w &shiftOfW,R6
                  ;由于表中是以字存儲的,所以查表的偏移量都需要乘以2來對應字存儲的表。
                  rla R4
                  rla R5
                  rla R6
                  
                  ;DINT ;關閉中斷,啟動乘法器運算
                  
;L1V*COS
                  mov.w tableVOfFFT(R5),&MPYS                 
                  mov.w cos_table(R6),&OP2
                                  
                  RLA &RESLO
                  RLC &RESHI
                  RLA &RESLO
                  RLC &RESHI   //結果左移2位??????
                                
                  mov.w &RESHI,&L1VCOS
                  
                  
;L1V*SIN
                  MOV.W tableVOfFFT(R5),&MPYS
                  MOV.W sin_table(R6),&OP2
                                  
                  RLA &RESLO
                  RLC &RESHI
                  RLA &RESLO
                  RLC &RESHI
                                
                  mov.w &RESHI,&L1VSIN
                  
;L1R*COS
                   MOV.W tableROfFFT(R5),&MPYS
                  MOV.W cos_table(R6),&OP2
                                  
                  RLA &RESLO
                  RLC &RESHI
                  RLA &RESLO
                  RLC &RESHI
                                
                  mov.w &RESHI,&L1RCOS
                  
;L1R*SIN          
                  MOV.W tableROfFFT(R5),&MPYS
                  MOV.W sin_table(R6),&OP2                              
                  RLA &RESLO
                  RLC &RESHI
                  RLA &RESLO
                  RLC &RESHI
                                
                  mov.w &RESHI,&L1RSIN
                  ;EINT 開啟中斷

YUANWEICUNCHU                       
               
L1V               mov.w &L1VCOS,R8
                  sub.w &L1RSIN,R8
                  mov.w tableVOfFFT(R4),R7
                  sub.w R8,R7
                  
                  ;對計算結果取絕對值
                  ;判斷計算結果正負
                  ;當為正時候,就不去反,當為負時候,就取反。//為什么要取反?????

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品中文字幕一区二区小辣椒| 欧美日韩国产精品成人| 欧美日韩电影一区| 日韩一级二级三级精品视频| 欧美一区二区三区四区视频 | 日本一区二区在线不卡| 国产精品久久看| 天堂蜜桃91精品| 国产原创一区二区| 欧美中文字幕亚洲一区二区va在线| 欧美一级二级三级乱码| 国产精品国产a| 麻豆精品国产91久久久久久| 成人做爰69片免费看网站| 欧美日韩色一区| 久久精品欧美日韩精品 | 91网站黄www| 欧美一区二区大片| 亚洲欧美一区二区在线观看| 免费欧美日韩国产三级电影| 91小视频在线观看| 欧美一二三区在线观看| 亚洲欧美综合色| 久久电影网站中文字幕| 在线亚洲人成电影网站色www| 97久久超碰国产精品电影| 日韩午夜激情电影| 欧美日韩亚洲另类| 久久免费午夜影院| 五月天亚洲精品| 成人黄色a**站在线观看| 56国语精品自产拍在线观看| 国产精品免费久久久久| 毛片av一区二区三区| 91久久精品一区二区三| 国产精品色婷婷| 激情文学综合插| 91精品国产91综合久久蜜臀| 亚洲男人的天堂av| 国产精品一区二区三区网站| 欧美高清视频www夜色资源网| 亚洲人成网站色在线观看| 国产九色sp调教91| 日韩美一区二区三区| 午夜电影一区二区三区| 色婷婷激情综合| 国产精品久久午夜| 国产精品一区三区| 精品久久99ma| 日本欧美韩国一区三区| 欧美日韩亚洲综合在线| 亚洲综合无码一区二区| 91丨porny丨国产| 国产精品剧情在线亚洲| 国产精品影视在线观看| 久久亚洲精品国产精品紫薇| 蜜桃91丨九色丨蝌蚪91桃色| 欧美日韩国产首页| 亚洲一区二区三区四区在线| 91丨porny丨国产| 亚洲人成在线播放网站岛国| 91在线看国产| 18成人在线观看| 97se亚洲国产综合自在线观| 久久久www成人免费无遮挡大片| 精一区二区三区| 欧美成人精品1314www| 麻豆成人综合网| 精品国产一区二区三区不卡| 精品一区二区精品| 精品久久久久久无| 国产精品一区专区| 中文字幕av一区二区三区免费看 | 欧美xxxxx牲另类人与| 蜜臀av一区二区| 久久综合中文字幕| 国产一区91精品张津瑜| 久久精品一区二区三区四区| 丁香六月综合激情| 国产精品久久久久一区二区三区| 成人免费av资源| 亚洲精品成人悠悠色影视| 91成人国产精品| 日韩精品欧美成人高清一区二区| 欧美一级二级在线观看| 国产麻豆视频精品| 国产精品天天看| 在线精品亚洲一区二区不卡| 亚洲一区二区成人在线观看| 欧美精品久久一区二区三区| 久久国产综合精品| 国产日韩精品一区二区三区| av在线一区二区三区| 一区二区三区在线视频观看58| 欧美日韩一区二区在线视频| 日本在线不卡一区| 久久综合久久99| 97久久精品人人澡人人爽| 亚洲国产cao| 精品久久久久久最新网址| 成人精品免费视频| 亚洲高清免费在线| 日韩精品影音先锋| 99久久精品情趣| 亚洲国产精品视频| 国产亚洲人成网站| 在线视频一区二区三| 免费成人在线网站| 国产女同性恋一区二区| 欧美性猛交一区二区三区精品| 免费成人av在线| 成人免费一区二区三区在线观看| 欧美日韩国产综合视频在线观看| 韩国在线一区二区| 亚洲欧美日韩在线播放| 9191成人精品久久| 成人h版在线观看| 奇米影视7777精品一区二区| 日本一区二区三区久久久久久久久不 | 色婷婷激情综合| 精品亚洲成av人在线观看| 成人免费一区二区三区视频| 日韩一区二区精品在线观看| 成人av先锋影音| 日本视频在线一区| 亚洲视频免费看| 精品国产一二三区| 欧美伊人久久久久久久久影院| 国产毛片精品一区| 婷婷国产在线综合| 综合激情网...| 国产美女一区二区| 在线一区二区视频| 日韩精品一区二区三区在线观看| 中文字幕一区在线| 亚洲一区二区精品久久av| 人人爽香蕉精品| 成人一区在线看| 91精品国产黑色紧身裤美女| 久久久亚洲精品一区二区三区| 亚洲素人一区二区| 国产又粗又猛又爽又黄91精品| 亚洲免费观看在线观看| 欧美二区三区的天堂| www.亚洲色图| 精品一区二区在线观看| 亚洲综合免费观看高清完整版在线 | 欧美放荡的少妇| 色猫猫国产区一区二在线视频| 久热成人在线视频| 亚洲www啪成人一区二区麻豆| 中文字幕在线一区免费| 精品欧美一区二区在线观看| 欧美性生活大片视频| a在线播放不卡| 国产馆精品极品| 精品在线播放免费| 日本不卡视频在线观看| 亚洲乱码精品一二三四区日韩在线| 国产欧美精品在线观看| 亚洲精品在线观看网站| 欧美体内she精视频| 久久91精品国产91久久小草| 久久99久久久久| 五月天中文字幕一区二区| 一区二区三区精品在线| 中文字幕一区二区三区在线播放 | 极品少妇一区二区三区精品视频 | 欧美一区二区网站| 欧美色老头old∨ideo| 99麻豆久久久国产精品免费优播| 国产精品亚洲专一区二区三区| 日韩av不卡在线观看| 怡红院av一区二区三区| 亚洲精品乱码久久久久久| 日韩伦理免费电影| 亚洲欧洲日韩综合一区二区| 中文字幕乱码日本亚洲一区二区| 久久精品免视看| 久久久久国产免费免费 | 成人精品高清在线| 成人看片黄a免费看在线| 丰满岳乱妇一区二区三区| 国产大陆a不卡| 成人精品高清在线| 99久久精品免费| 色综合咪咪久久| 在线视频观看一区| 欧美三级蜜桃2在线观看| 欧美日本国产视频| 欧美一区二区免费视频| 日韩欧美国产小视频| 精品国产乱码久久久久久图片| 欧美大胆人体bbbb| 精品久久久久久久一区二区蜜臀| 久久久综合视频| 国产精品萝li| 亚洲一区自拍偷拍| 三级久久三级久久久| 麻豆成人久久精品二区三区小说|