哪位大神可以指点我一下 如何在该FFT汇编语言程序下 实现IFFT 芯片是MSP430f5529 程序在附件中 由于汇编不太懂 一直没有弄清楚 十分感谢 这个问题应经研究一个月 什么成果都没有 谢谢指点
灰小子:
用汇编的越来越少了,建议用c语言把
xue liu1:
回复 zhifang yang1:
十分感谢哈 我的问题主要是在不能明白这个程序的实现流程 首先 它是频率抽取还是时间抽取 其次在旋转因子数值表中如何查找数值的 希望能给予解答 研究好久了 一直不明白 谢谢
CFFT430_4: mov.w R7,R10 ;R10:=n3 for bytes!!! | | | | R10=scr add.w #BitRT,R10 mov.b @R10,R10 add.w #Twidd,R10 mov.w 0(R10),R12 mov.w VecSiz/2(R10),R13
还有就是为什么只有一对旋转因子数值之后 一直用着一对旋转因子进行蝶形运算。 CFFT_3是蝶形运算部分
CFFT430_3: mov.w R14,R15 ; | | | | | | R15=*B's add.w R6,R15 ;R15 points to B's (n2) | | | | | | | | mov.w R12,&MPYS ;2Ci=Kr… | | | | | | | | mov.w 2(R15),&OP2 ;2Ci=Kr*Bi… | | | | | | | | mov.w R13,&MACS ;2Ci=Kr*Bi+Ki*… | | | | | | | | mov.w @R15,&OP2 ;2Ci=Kr*Bi+Ki*Cr | | | | | | | | mov.w &RESHI,R9 ;*** ;R9:=Ci | | | | | | | R9=Ci | mov.w R12,&MPYS ;2Cr=Kr… | | | + | | | | | mov.w @R15,&OP2 ;2Cr=Kr*Br… | | | | | | | | mov.w &RESHI,R8 ;R8=Kr*Br | | | | | | | R8=Cr mov.w R13,&MPYS ;2Cr=Kr*Br-Ki… | | | + | | | | | mov.w 2(R15),&OP2 ;2Cr=Kr*Br-Ki*Bi | | | | | | | | sub.w &RESHI,R8 ;R8:Cr | | | | | | | | mov.w @R14,R10 ;Br=Ar… | | | | | | | R10=scr rra R10 ;Br=Ar/2… | | | | | | | | | sub.w R8,R10 ;Br=Ar/2-Cr | | | | | | | | | mov.w R10,0(R15) ;save Br .. .. .. .. | | | | | | | + | mov.w 2(R14),R10 ;Bi=Ai… | | | | | | | R10=scr rra.w R10 ;Bi=Ai/2… | | | | | | | | | sub.w R9,R10 ;Bi=Ai/2-Ci | | | | + | | | | mov.w R10,2(R15) ;save Bi | | | | | | + | rra.w @R14 ;Ar=Ar/2… | | | | | | | add.w R8,0(R14) ;Ar=Ar/2+Cr | | | | | + | rra.w 2(R14) ;Ai=Ai/2… | | | | | | add.w R9,2(R14) ;Ai=Ai/2+Ci | | | + + | add.w #4,R14 ;*A's++ corrected word +imag | | | | add.w #1,R5 ;n1++ in word | | | | cmp.w R5,R11 ;next n1 | | | | jne CFFT430_3 ;do next butterfly
TI中文支持网



