第一范文网 - 专业文章范例文档资料分享平台

(完整word版)基于DSP的快速傅立叶变换(FFT)的实现(汇编语言)

来源:用户分享 时间:2025/6/29 13:27:20 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

p3end: p3test: p4end: power:

MVDK sav_sin,AR0 STM #DATA+2,AR2 STM #DATA+2*N-2,AR3 STM #DATA+2*N+3,AR7 STM #DATA+4*N-1,AR6 STM #-2+N/2,BRC RPTBD p3end-1 STM #3,AR0

ADD *AR2,*AR3,A

SUB *AR2,*AR3,B STH A,ASM,*AR2+ STH A,ASM,*AR3+ STH B,ASM,*AR6- NEG B

STH B,ASM,*AR7- ADD *AR2,*AR3,A SUB *AR2,*AR3,B STH A,ASM,*AR2+ STH A,ASM,*AR3-0 STH B,ASM,*AR6- NEG B

STH B,ASM,*AR7+0 ST #0,*AR6- ST #0,*AR6 STM #DATA,AR2 STM #DATA+1,AR4 STM #DATA+2*N+1,AR5 ADD *AR2,*AR4,A SUB *AR2,*AR4,B STH A,ASM,*AR2+ ST #0,*AR2 MVDD *AR2+,*AR5- STH B,ASM,*AR5

STM #DATA+4*N-1,AR3 STM #TWI2+512/N,AR4 STM #TWI1+512/N,AR5 STM #N-2,BRC RPTBD p4end-1 STM #512/N,AR0 LD *AR2+,16,A MACR *AR4,*AR2,A MASR *AR5,*AR3-,A LD *AR3+,16,B

MASR *AR5+0%,*AR2-,B MASR *AR4+0%,*AR3,B STH A,ASM,*AR2+ STH B,ASM,*AR2+ NEG B

STH B,ASM,*AR3- STH A,ASM,*AR3- STM #OUTPUT,AR3 STM #255,BRC RPTBD power_end-1 STM #DATA,AR2 SQUR

*AR2+,A

;AR3指向输出缓冲地址 ;块循环计数器设置为255 ;带延迟方式的重复执行指令;AR2指向AR[0] ;A := AR2

5

SQURA *AR2+,A ;A := AR2 + AI2

STH A,7,*AR3 ;将A中的数据存入输出缓冲中,

ANDM #7FFFH,*AR3+ ;避免输出数据过大在虚拟示波器中显示错误 power_end: B power_end .end

命令链接文件: /*fft.cmd*/ fft.obj -m fft.map -o fft.out

MEMORY {

PAGE 0: ROM(RIX) :origin=8000h,length=1000h ROM1 :origin=9000h,length=0200h PAGE 1: B2A(RW) :origin=0060h,length=10h B2B(RW) :origin=0070h,length=10h INTRAM1(RW) :origin=0400h,length=0200h INTRAM2(RW) :origin=0800h,length=0200h INTRAM3(RW) :origin=1400h,length=0800h OTHER :origin=2000h,length=800h }

SECTIONS {

.text : {}>ROM PAGE 0 INPUT : {}>ROM1 PAGE 0 .data : {}>INTRAM3 PAGE 1 twiddle1: {}>INTRAM1 PAGE 1 twiddle2: {}>INTRAM2 PAGE 1 tempv : {}>B2A PAGE 1 stack : {}>B2B PAGE 1 OUTPUT : {}>OTHER PAGE 1 .stack : {}>OTHER PAGE 1 }

三角因子:

TWI1: .sect \ .int 0,201,402,603

.int 804,1005,1206,1407 .int 1607,1808,2009,2210 .int 2410,2611,2811,3011 .int 3211,3411,3611,3811 .int 4011,4210,4409,4609 .int 4808,5006,5205,5403 .int 5602,5800,5997,6195 .int 6392,6589,6786,6983 .int 7179,7375,7571,7766 .int 7961,8156,8351,8545 .int 8739,8933,9126,9319 .int 9512,9704,9896,10087 .int 10278,10469,10659,10849 .int 11039,11228,11416,11605 .int 11793,11980,12167,12353 .int 12539,12725,12910,13094 .int 13278,13462,13645,13828 .int 14010,14191,14372,14552 .int 14732,14912,15090,15269

6

.int 15446,15623,15800,15976 .int 16151,16325,16499,16673 .int 16846,17018,17189,17360 .int 17530,17700,17869,18037 .int 18204,18371,18537,18703 .int 18868,19032,19195,19358 .int 19519,19681,19841,20001 .int 20159,20318,20475,20631 .int 20787,20942,21097,21250 .int 21403,21555,21706,21856 .int 22005,22154,22301,22448 .int 22594,22740,22884,23027 .int 23170,23312,23453,23593 .int 23732,23870,24007,24144 .int 24279,24414,24547,24680 .int 24812,24943,25073,25201 .int 25330,25457,25583,25708 .int 25832,25955,26077,26199 .int 26319,26438,26557,26674 .int 26790,26905,27020,27133 .int 27245,27356,27466,27576 .int 27684,27791,27897,28002 .int 28106,28208,28310,28411 .int 28511,28609,28707,28803 .int 28898,28993,29086,29178 .int 29269,29359,29447,29535 .int 29621,29707,29791,29874 .int 29956,30037,30117,30196 .int 30273,30350,30425,30499 .int 30572,30644,30714,30784 .int 30852,30919,30985,31050 .int 31114,31176,31237,31298 .int 31357,31414,31471,31526 .int 31581,31634,31685,31736 .int 31785,31834,31881,31927 .int 31971,32015,32057,32098 .int 32138,32176,32214,32250 .int 32285,32319,32351,32383 .int 32413,32442,32469,32496 .int 32521,32545,32568,32589 .int 32610,32629,32647,32663 .int 32679,32693,32706,32718 .int 32728,32737,32745,32752 .int 32758,32762,32765,32767 .int 32767,32767,32765,32762 .int 32758,32752,32745,32737 .int 32728,32718,32706,32693 .int 32679,32663,32647,32629 .int 32610,32589,32568,32545 .int 32521,32496,32469,32442 .int 32413,32383,32351,32319 .int 32285,32250,32214,32176 .int 32138,32098,32057,32015 .int 31971,31927,31881,31834 .int 31785,31736,31685,31634 .int 31581,31526,31471,31414 .int 31357,31298,31237,31176 .int 31114,31050,30985,30919

7

.int 30852,30784,30714,30644 .int 30572,30499,30425,30350 .int 30273,30196,30117,30037 .int 29956,29874,29791,29707 .int 29621,29535,29447,29359 .int 29269,29178,29086,28993 .int 28898,28803,28707,28609 .int 28511,28411,28310,28208 .int 28106,28002,27897,27791 .int 27684,27576,27466,27356 .int 27245,27133,27020,26905 .int 26790,26674,26557,26438 .int 26319,26199,26077,25955 .int 25832,25708,25583,25457 .int 25330,25201,25073,24943 .int 24812,24680,24547,24414 .int 24279,24144,24007,23870 .int 23732,23593,23453,23312 .int 23170,23027,22884,22740 .int 22594,22448,22301,22154 .int 22005,21856,21706,21555 .int 21403,21250,21097,20942 .int 20787,20631,20475,20318 .int 20159,20001,19841,19681 .int 19519,19358,19195,19032 .int 18868,18703,18537,18371 .int 18204,18037,17869,17700 .int 17530,17360,17189,17018 .int 16846,16673,16499,16325 .int 16151,15976,15800,15623 .int 15446,15269,15090,14912 .int 14732,14552,14372,14191 .int 14010,13828,13645,13462 .int 13278,13094,12910,12725 .int 12539,12353,12167,11980 .int 11793,11605,11416,11228 .int 11039,10849,10659,10469 .int 10278,10087,9896,9704 .int 9512,9319,9126,8933 .int 8739,8545,8351,8156 .int 7961,7766,7571,7375 .int 7179,6983,6786,6589 .int 6392,6195,5997,5800 .int 5602,5403,5205,5006 .int 4808,4609,4409,4210 .int 4011,3811,3611,3411 .int 3211,3011,2811,2611 .int 2410,2210,2009,1808 .int 1607,1407,1206,1005 .int 804,603,402,201

TWI2: .sect \

.int 32767,32767,32765,32762 .int 32758,32752,32745,32737 .int 32728,32718,32706,32693 .int 32679,32663,32647,32629 .int 32610,32589,32568,32545

.int 32521,32496,32469,32442

8

(完整word版)基于DSP的快速傅立叶变换(FFT)的实现(汇编语言).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c12y8h738dm83uyx9681999g5n13tgu00uoy_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top