亚洲欧美第一页_禁久久精品乱码_粉嫩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精品国产一区二区精品 | 日韩欧美电影一二三| 欧美一区二区三区视频在线| 日韩视频在线观看一区二区| 日韩免费电影一区| 久久久午夜精品理论片中文字幕| 欧美精品一区二区在线观看| 久久精品免视看| 中文字幕永久在线不卡| 曰韩精品一区二区| 日韩高清一区二区| 国产白丝精品91爽爽久久| 91亚洲精品乱码久久久久久蜜桃| 99久久综合狠狠综合久久| 在线免费观看日本一区| 欧美电影免费观看高清完整版在 | 日韩三级av在线播放| 精品精品国产高清a毛片牛牛| 国产亚洲一区二区三区四区| 亚洲麻豆国产自偷在线| 日韩中文字幕不卡| 丁香网亚洲国际| 欧美图区在线视频| 精品久久久久一区| 亚洲人成影院在线观看| 另类专区欧美蜜桃臀第一页| 成人免费看的视频| 欧美剧情电影在线观看完整版免费励志电影| 欧美日韩精品免费观看视频| 久久久99精品久久| 日日夜夜免费精品| 成人短视频下载| 日韩精品中文字幕在线一区| 亚洲激情图片qvod| 国产精品系列在线播放| 欧美亚洲日本国产| 久久久九九九九| 日本在线播放一区二区三区| jiyouzz国产精品久久| 日韩欧美中文字幕制服| 亚洲精品大片www| 成人美女视频在线观看| 精品黑人一区二区三区久久| 午夜精品福利久久久| 99免费精品视频| 久久久av毛片精品| 视频在线在亚洲| 欧美日韩精品专区| 亚洲码国产岛国毛片在线| 不卡免费追剧大全电视剧网站| 欧美xfplay| 免费看日韩a级影片| 欧美日韩三级在线| 亚洲综合成人在线视频| 91丝袜国产在线播放| 国产日产欧美一区二区三区| 激情深爱一区二区| 日韩区在线观看| 亚洲成人自拍网| 欧美视频一区二区在线观看| 亚洲伦在线观看| 色999日韩国产欧美一区二区| 自拍偷拍亚洲欧美日韩| av一区二区久久| 国产精品女主播av| av在线一区二区| 中文字幕亚洲区| 91麻豆免费看| 亚洲韩国精品一区| 欧美日本在线看| 美女视频黄 久久| 精品国产凹凸成av人网站| 精品一区二区三区不卡| 精品国产一区二区在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美一级黄色片| 免费成人美女在线观看.| 精品国产污网站| 国产露脸91国语对白| 国产色91在线| 91麻豆精品秘密| 亚洲国产美女搞黄色| 欧美狂野另类xxxxoooo| 久久精品国产秦先生| 精品成a人在线观看| a级精品国产片在线观看| 亚洲人成在线观看一区二区| 欧美日韩日日骚| 美女一区二区三区| 欧美国产精品专区| 欧美综合天天夜夜久久| 老司机精品视频导航| 欧美韩日一区二区三区四区| 91碰在线视频| 蜜臀a∨国产成人精品| 久久欧美一区二区| 91福利国产精品| 精品亚洲成a人| 国产精品久久久久三级| 欧美日韩久久久久久| 国产米奇在线777精品观看| 亚洲视频精选在线| 欧美一级黄色片| 91农村精品一区二区在线| 日韩av电影天堂| 综合激情成人伊人| 欧美mv日韩mv| 欧美日韩免费一区二区三区视频| 国产麻豆日韩欧美久久| 亚洲精品国产无天堂网2021| 欧美电视剧免费观看| 日本韩国精品在线| 国产综合色产在线精品| 亚洲影视在线播放| 国产精品久久久久久久久动漫 | 国产一区二区中文字幕| 一区二区三区高清不卡| 国产拍欧美日韩视频二区| 欧美亚洲国产一区二区三区| 成人午夜电影网站| 国产综合色在线| 日韩高清电影一区| 亚洲综合激情另类小说区| 国产精品久久久一区麻豆最新章节| 日韩欧美国产wwwww| 91精品免费观看| 欧美亚州韩日在线看免费版国语版| 国产99久久久久久免费看农村| 日本sm残虐另类| 日韩精品电影在线| 亚洲与欧洲av电影| 亚洲精品久久嫩草网站秘色| 欧美国产精品中文字幕| 久久免费美女视频| 精品国产免费久久| 欧美电影精品一区二区| 91麻豆精品国产自产在线观看一区 | 国产一区日韩二区欧美三区| 日韩成人精品在线| 日本不卡在线视频| 日本伊人色综合网| 日韩精品电影一区亚洲| 青青草97国产精品免费观看 | 日韩一区二区电影在线| 欧美日韩在线观看一区二区| 欧美中文字幕不卡| 欧美视频一区二区| 欧美一区二区三区在线观看 | 国产在线精品一区二区| 久久99久久久久| 国产一区三区三区| 国产精品123| 99综合影院在线| 色一情一伦一子一伦一区| 在线观看一区不卡| 欧美精品自拍偷拍| 日韩午夜电影av| 国产三级精品三级在线专区| 国产免费成人在线视频| 国产精品久久久一本精品 | 美女视频黄 久久| 国产大陆精品国产| 91免费看`日韩一区二区| 欧美中文字幕一区二区三区亚洲| 欧美三区在线视频| 日韩女优制服丝袜电影| 国产欧美精品在线观看| 亚洲人精品午夜| 亚洲成av人片一区二区三区| 麻豆精品视频在线| 成人免费视频网站在线观看| 91精品1区2区| 日韩欧美高清在线| 亚洲欧美怡红院| 亚洲h精品动漫在线观看| 精品制服美女久久| 一本色道久久综合狠狠躁的推荐| 91麻豆精品91久久久久久清纯| 26uuu欧美| 一区二区三区在线免费| 久久99国产精品久久| 91污在线观看| 精品久久久久香蕉网| 亚洲国产日韩av| 成人午夜视频网站| 制服丝袜在线91| 亚洲免费伊人电影| 激情综合网天天干| 欧美午夜一区二区| 国产欧美一区二区三区鸳鸯浴| 亚洲国产精品久久久久秋霞影院| 国产福利精品一区| 精品日韩欧美在线| 亚洲国产日韩av| 99久久99久久免费精品蜜臀|