文档库 最新最全的文档下载
当前位置:文档库 › dsp原理及应用试卷及答案

dsp原理及应用试卷及答案

dsp原理及应用试卷及答案

【篇一:dsp原理及应用_复习题】

ass=txt>1.累加器a分为三个部分,分别为。

1.ag,ah,al

2.tms320vc5402型dsp的内部采用

2.8,16

3.tms320vc5402型dsp采用总线结构对程序存储器和数据存储器进行控制。

3.哈佛

4.tms329vc5402型dsp有个辅助工作寄存器。

4.8个

5.dsp处理器tms320vc5402中daram的容量是字。

5.16k字

6.ti公司的dsp处理器tms320vc5402pge100有___________个定时器。

6.2

7.在链接器命令文件中,page 1通常指________存储空间。

7.数据

8.c54x的中断系统的中断源分为_______中断和____ ____中断。 8.硬件、软件

1.ti公司dsp处理器的软件开发环境是__________________。 1.答:ccs(code composer studio)

2.dsp处理器tms320vc5402外部有___________根地址线。

2.答:20根

3.直接寻址中从页指针的位置可以偏移寻址

3.答:128

4.在链接器命令文件中,page 0通常指________存储空间。

4.答:程序

5.c54x系列dsp处理器中,实现时钟频率倍频或分频的部件是

_____________。

5.答:锁相环pll

6.tms320c54x系列dsp处理器上电复位后,程序从指定存储地址________单元开始工作。

6.答:ff80h

7.tms320c54x系列dsp处理器有_____个通用i/o引脚,分别是_________。

7.答:2个,bio和xf

8.dsp处理器按数据格式分为两类,分别是;。

8.答:定点dsp和浮点dsp

9.tms329vc5402型dsp的st1寄存器中,intm位的功能是。

9.答:开放/关闭所有可屏蔽中断

10.ms320c54x dsp主机接口hpi是________位并行口。

10.答:8

1.答:无延迟分支转移,延迟分支转移

3.c54x的程序中,“.bss”段主要用于_______________。

3.答:为变量保留存储空间

4.从数据总线的宽度来说,tms320vc5402pge100是_______位的dsp处理器。

4.答:16位

7.tms320vc5402型dsp处理器的内核供电电压________伏。

7.答:1.8v

9.tms320c5402系列dsp处理器最大的数据存储空间为_____字。

9.答:64k

10.在链接器命令文件中,page 0通常指________存储空间。

10.答:程序

1. dsp技术是利用专用或通用数字信号处理芯片,通过_ _运算的方法对信号进行处理。

1.答:数值运算

2. c54x的程序中,“.text”段是_________段,主要包含

_______________。

2.答:文本段,可执行文本

3. c54x系列dsp上电复位后的工作频率是由片外3个管脚;;来决定的。

3.答:clkmd1、clkmd2、clkmd3

4. dsp处理器tms320c5402最大的程序存储空间为______字。

4.答:1m

5. 从应用领域来说,mcu(单片机)主要用于_______________;dsp处理器主要应用于___________________。

5.答:控制领域;信号处理

6. tms320c54x dsp提供一个用16位堆栈指针(sp)寻址的软件堆栈。当向堆栈中压入数据时,堆栈是从地址向地址方向填入。

6.答:高低

7. tms320c54x dsp软硬件复位时,复位中断向量的地址为程序空间的________。

7.答:ff80h

4.tms320c54x可编程定时器的定时周期 =(时钟周期)*(分频系数tddr+1)*(____ +1)。

4.答:prd

5.dsp处理器的英文全称。

5.答: digitalsignal processor

7.dsp处理器tms320vc5402的io管脚供电电压________伏。

7.答: 3.3v

8.c54x的程序中,“.data”段是_________段,主要用于

_______________。

8.答:数据段,通常包含初始化数据;

10.dsp处理器tms320c5402的i/o空间为

10.答:64k

1.tms320vc5402型dsp的累加器是位。

1.40

2.tms329vc5402型dsp的mp/mc管脚的功能是。

2. 微计算机或是微处理器工作模式

4.tms320vc5402型dsp的cpu采用寄存器作为专用硬件实现移位功能。

4. 桶形移位寄存器

5.汇编语句“stl a,@y”中“@y”表示

5. 直接寻址

6.tms320vc5402型dsp的st1寄存器中,cpl。

6. 直接寻址采用何种指针

8.解释汇编语句“reada *ar1”的功能:。

8. 以累加器a的内容作为地址读取程序存储单元,将读取的数据存入以ar1的内容作为地址的数据存储单元中

10.tms320c54x具有两个通用i/o口,________用于输入外设的状态;________用于输出外设的控制信号。

10. bio,xf

二.判断题(本题总分10分,每小题1分)

############################错误

#####################################

4.dsp 处理器tms320vc5402的供电电压为5v。()

5.dsp的工作频率只能是外部晶体振荡器的频率。()

8.tms320c54x dsp是浮点型处理器。()

9.tms320c54x dsp的汇编语言中有除法指令。()

10.tms320vc5402型dsp内部有8k字的rom,用于存放自举引

导程序、u律和a律扩展表、sin函数表以及中断向量表。

1. dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。

()

3. tms320c54x 系列dsp外部程序存储器的分页扩展受drom位控制。()

4. tms320c54x dsp是浮点型处理器。()

6. dsp的工作频率只能是外部晶体振荡器的频率。()

9. tms320c54x dsp的汇编语言中有除法指令。()

1. 汇编伪指令可以用大写表示。()

3. dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。() 8. tms320vc5402型dsp汇编指令reada的寻址范围为64k字。() 10. tms320vc5402型dsp可以通过设置drom位实现数据存储空

间和程序存储空间共享片内daram。

1. tms320vc5402型dsp汇编指令reada的寻址范围为64k字。()

2. tms320c54x 系列dsp可以通过设置ovly位实现数据存储空间

和程序存储空间共享片内rom。()

5. tms320vc5402型dsp汇编语言的伪指令也是一种指令,同样占

用存储空间。()

8. tms320vc5402型dsp的工作频率是由外部晶振唯一确定的。

()

3. dsp 处理器tms320vc5402的中断向量表位置是固定的。()

5. tms320vc5402型dsp可以通过设置drom位实现数据存储空间

和程序存储空间的共享片内daram。()

7. tms320c54x 系列dsp可以通过设置ovly位实现数据存储空间

和程序存储空间的共享片内rom。()

9. tms320vc5402型dsp汇编语言的伪指令也是一种指令,同样占

用存储空间。()

1.dsp 处理器tms320vc5402内部含有saram存储器。()

2.3.3v的ttl电平器件可以直接驱动5v的cmos器件。()

3.dsp的流水线冲突产生的原因是由于dsp运行速度还不够快。()

6.c54x系列dsp 处理器的累加器a,b是32位的。()

8.dsp 处理器tms320vc5402有不止一种串行口。()

4.dsp处理器tms320vc5402在微型计算机工作模式时,上电复位

后程序从片外存储器的ff80h单元开始执行。()

5.dsp处理器tms320vc5402的中断向量表位置是固定的。()

9.dsp处理器tms320vc5402的程序存储空间只有64k字。()

****************************正确

**********************************************

1.memory伪指令用来指定链接器将输入段组合成输出段方式,以及输出段在存储器中的位置。()

2.tms320c54x dsp汇编语言源程序中,标号是可选项,若使用标号,则标号必须从第一列开始。()

3.dsp 处理器的中断请求可以由软件产生。()

6.哈佛结构的特点是数据总线和程序总线分开。()

7.dsp和mcu属于软件可编程微处理器,用软件实现数据处理;

而不带cpu软核的fpga属于硬件可编程器件,用硬件实现数据处理。()

2. 在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔

4个字。()

4. 在c54x系列dsp中断向量表的最大长度只能128字。()

5. dsp对程序存储空间、数据存储空间和i/o空间的选择分别是由

三根片选线ps、ds、is独立选择的。()

6. c54x系列dsp的cpu寄存器及片内外设寄存器映射在数据存储

空间的0000h-0080h中。()

7. 单片机通过hpi接口可以访问tms320vc5402的全部64k字数据

存储空间。()

8. 在dsp处理器汇编程序中,标号区分大小写。()

9. dsp处理器tms320vc5402的堆栈是向低地址方向生长的。()

10. dsp 处理器tms320vc5402的中断向量表位置是固定的。()

1. 当tms320c54x dsp处于微处理器模式时,dsp上电复位之后从

片外程序存储器的ff80h开始运行。()

2. 在tms320vc5402型dsp所有中断向量中,只有硬件复位向量不能被重定位,即硬件复位向量总是指向程序空间的0ff80h位置。()

3. dsp和mcu属于软件可编程微处理器,用软件实现数据处理;而不带cpu软核的fpga属于硬件可编程器件,用硬件实现数据处理。()

5. 在dsp处理器汇编程序中,标号区分大小写。()

7. dsp 处理器tms320vc5402的软件中断是不可屏蔽的中断。()

8. 链接器命令文件是用来规定程序段的存放位置的。()

10. dsp处理器tms320vc5402的堆栈是向低地址方向生长的。

()

2. c54x系列dsp只有两个通用的i/o引脚。()

4. 在c54x系列dsp的寻址方式中,使用dp作为直接寻址的偏移

寻址范围只有128个字。()

5. dsp的流水线冲突可以通过改变编程方法或者添加nop语句来消除。()

6. tms320vc5402型dsp汇编语言的寻址方式可以实现fft算法中

的位倒序寻址方式。()

7. 在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔

4个字。()

9. 如果ovly=1,程序存储空间可以使用内部ram,此时,不论xpc

为何值,扩展程序存储空间的所有低32k字都被映像到内部ram中。()

3. 在dsp的编程中可以将程序中不同的段放置在不同的存储器中。()

4. c54x系列dsp的寻址方式中,用dp作为直接寻址的偏移寻址范

围只有128个字。()

6. 在c54x系列dsp中断向量表中,每个中断向量的入口地址间隔

4个字。()

7. dsp对程序存储空间、数据存储空间和i/o空间的选择分别是由

三根片选线ps、ds、is独立选择的。()

9. dsp的流水线冲突可以通过改变编程方法或者添加nop语句来消除。()

10. tms320c54x系列dsp的汇编语言中分支转移指令执行需要4

个机器周期。()

1. dsp 处理器tms320vc5402的定时器可以构成20位的定时器。()

2. dsp 处理器tms320vc5402的软件中断是不可屏蔽的中断。() 4. dsp 处理器tms320vc5402可以计算浮点小数运算。()

6. tms320vc5402型dsp汇编语言的寻址方式可以实现fft算法中

的位倒序寻址方式。(

8. 在dsp的编程中可以将程序中不同的段放置在不同的存储器中。()

10. tms320c54x 系列dsp的汇编指令writa可以寻址1m字的程序空间。()

4.dsp 处理器tms320vc5402内部没有专用的除法指令。()

5.定点dsp 处理器tms320vc5402可以计算浮点小数运算()

7.dsp 处理器tms320vc5402的定时器可以构成20位的定时器。()

9.dsp 处理器tms320vc5402的软件中断是不可屏蔽的中断。() 10.dsp 处理器tms320vc5402支持流水线的指令运行方式()

1.dsp处理器tms320vc5402内部没有专用的除法指令。()

2.定点dsp处理器tms320vc5402可以计算浮点小数运算。()

3.ccs

6.dsp

7.dsp

8.dsp

软件开发系统支持c语言程序编程。()处理器c54x的软件中断

是不可屏蔽的中断。()处理器c54x支持流水线的指令运行方式。()处理器c54x的堆栈是向低地址方向生长的。() 10.dsp处

理器c54x的汇编程序是由许多“段”组成的。()

三.程序阅读题(本题总分30分,每小题10分)

1. 阅读下面的程序,回答问题。

.bss x, 8

ld #0001h,16,b

stm#7,brc

stm#x,ar4

rptb next-1

add*ar4,16,b,a

stha,*ar4+

next:ld #0,b

问题:(1)寄存器“brc”的功能是什么?

(2)汇编语句“add*ar4,16,b,a”执行了多少次?

(3)执行语句“ld #0001h,16,b”后,累加器b的内容是多少?

1.(1) 寄存器“brc”的功能是暂存块循环的次数

【篇二:dsp原理与应用-期末试卷a及答案】

1a. z?2 b. 2?z?2 c. z?2d. z?45

一、选择题(每题2分,共20分)7、设两有限长序列的长度分别

是m与n,欲通过计算两者的

循环卷积来得到两者的线性卷积,则循环卷积的点数至少应

1、下列属于数字信号特征的是()()

a. 时间离散、幅值连续

b. 时间连续、幅值连续

c. 时间连续、幅值量化

d. 时间离散、幅值量化 a. m?n b. m ?n?

1c. m?n? 1d. m?n? 1

2、设x(n)是输入序列,y(n)是输出序列,则下列属于因果系统 8、

下列序列中为共轭对称序列的是() 的是( ) a. x(k)?x?(k) b.

x(k)?x?(?k) c. x(k)??x?(?k) d. x(k)??x?(k)

a. y(n)=x(n+2)

b. y(n)=cos(n+1)x(n) 9、下列表示式错误的是()。

c. y(n)=x(2n)

d. y(n)=x(-n)

3、设x(n)是输入序列,y(n)是输出序列,则下列属于线性系统 a. w?nk?w(n?k)nnk*nk

nn b. (wn)?wn

的是( )。 c. w?nk?w(n?n)k

nd. wn/2

n n??1

a. y(n)=x2(n)

b. y(n)=4x(n)+6

c. y(n)=x(n-n0)

d. y(n)=ex(n) 10、已知x(n)??1,2,3,4?,则

x?(?n)?6r6(n)?(a),x?(n?1)?6r6(n)?

4、下列表达式正确的是()。()

?n

a.u(n)???(n?k)

b.u(n)???(n?k) a.?1,0,0,4,3,2? b.?2,1,0,0,4,3? c.?2,3,4,0,0,1? d.?0,1,2,3,4,0?

k?0k?0n?

c.u(n)?11、在iir滤波器中,()型结构可以灵活控制零极点特性。

k??(n?k)d. u(n)???? k??(n?k)???

5、对于线性时不变(lti)系统,如果输入x(n)时,输出y(n);

a.直接Ⅰ b.直接Ⅱ c.并联 d.级联则输入2x(n-3)时,输出为() 12、利用窗函数设计fir 滤波器,为使滤波器的过渡带变小,

a. y(n-3)

b. 3y(n-2)

c. 2y(n-3)

d. 2y(n) 可通过()有效实现。

6、以下是一些系统函数的收敛域,则其中稳定的是() a改变窗口形状b减少窗口长度

c增加窗口长度d窗口长度不变

二、填空题(每小题2分,共26分)11、进行简单滤波器设计时,可以通过低通滤波器与高通滤波

1、已知一模拟信号xa(t)?2sin40?t?3cos20?t,若对该信号进行器

的传输函数进行相互转换来实现。如果某低通滤波器传输函等间隔

采样,且采样频率为100hz,则采样后的信号表达式数的单位脉冲

响应分别为hj?j?

lpf(e)?h0(e)和hlpf(n)?h0(n),则

x(n)=__________。对应的高通滤波器传输函数和脉冲响应分别为

hj

hpf(e?)?

3、离散时间序列x(n)?cos(n?

4??

8)的周期是__________。为。因果稳定的滤波器其全部极点处于,最小

4、某lti系统当输入x(n)??(n?1)时输出y(n)??(n?2)??(n?3),相

位滤波器其全部极点处于,全部零点处于。则该系统的单位冲激响

应h(n)=__________。 13、iir数字滤波器的四个基本设计指标是通

带边界频率?p、

5、一个线性时不变系统为稳定系统的充要条件是其系统函数的阻带

边界频率?s、和。收敛域

满足条件:________。三、名词解释(写出中英文全称,每小题2分,共10分)

6、输入x(n)?cos?(0n中)仅包含频率为?0的信号,输出

y(n)?x2(n中包含的频率为)__________。 1、dsp

7、序列x(n)?(1

2)nu(n)的z变换为???????????????。

8、若序列x(n)是实序列,其离散时间傅里叶变换x(ej?),则其2、dft 幅度响应是?的函数,相位响应是?的函数。

3、a/d

9、数字信号频谱分析时要求频率分辨力?10hz,如果信号采样频率

为4khz,则要求数据长度n至少为点。

4、bpf

10、理想数字滤波器的三个重要特点是:滤波器通带内幅度为常数,阻带内幅度为零、和_______。 5、iir

四、画图与分析计算题(共40分)2、已知某离散时间系统的差分

方程为

1、请分别画出各序列的图形(12分)

y(n)?3y(n?1)?2y(n?2)?x(n)?2x(n?1)

(1) f1(n)?nu(n?2);(2) fn

2(n)?(2??1)u(n?1); 系统初始状态为y(?1)?1,y(?2)?2,系统激励

为x(n)?(3)nu(n),

(3) f)???n?2, n?0

3(n(4) f

?3(2)n, n?0 ;4(n)?f2(n)?f3(n); 试求:(1)系统函数h(z),系统

频率响应h(ej?)。(2)系统的

(5) f5(n)?f1(n)f3(n);(6) f6(n)?f1(2?n)零输入响应yzi(n)、零状态

响应yzs(n)。(12分)

1?1

3、设有一模拟滤波器ha(s)?(s2?s?1),抽样周期t=2,试用z?1

4、设iir数字滤波器的系统函数为h(z)?3

双线性变换法将它转变为数字系统函数h(z)。(6分) 1?3,试求该滤 ?11?2

4z?8z

波器的差分方程,并用一阶节的级联型以及一阶节的并联型结构实

现之。 (10分)

2015-2016年第2学期《dsp原理与应用》期末考试试卷a 参考答

案 1、根据所给序列表式可以分别画出对应的图形如下(每个2分)

一、选择题(每题2分,共24分) (2) 1、d2、b 3、c 4、a 5、c

6、b

7、b

8、a

9、b 10、c 11、d12、c 二、填空题(每小题2分,共26分) 1、 x(n)?2sin2?n/5?3cos?n/5; 2、3、;

4、?(k?1)??(k?2);

5、收敛域包含单位圆;

6、?0、2?0;(3) 1

7、 1?1;

8、偶、奇;

9、400;10、具有线性相位、单位脉冲响应?

2z1

为非因果无限长序列; 11、hj?

hpf(e)?hj(???)

0[e]、hhpf(n)?(?1)nh0(n);

1213? p 、 (5)

阻带最小衰减?s 三、名词解释(请写出中文名称及英文全称,每题

2分,共10分) 1、dsp: 数字信号处理或数字信号处理器、digital signal processing或 digital signal processor 2、dft: 离散傅里

叶变换、discrete fourier transform;3、a/d: 模/数转换、

analog/digital;4、bpf: 带通滤波器、band-pass filter;5、iir:无限

长脉冲响应、infinite impulse response 四、画图与分析计算题

(共40分) 2、解一:

【篇三:通信系《dsp原理及应用》试卷_答案】

class=txt>一、填空题(每空2分,共20分)

1、在c语言和c55x汇编语言的混合程序设计中,c函数的参数和

返回值传递到c55x的寄存器中。在函数“long func(int *p1, int i2,

int i3, int i4)”中,*p1传递到 ar0寄存器,i2传递到 t0寄存器,i4

传递到ar1 寄存器,返回值由 ac0 寄存器传递。

2、汇编语言“mov *ar0,ac0”使用的寻址方式是间接寻址模式,“mov #0x3,dph”使用的寻址方式是直接寻址模式,“mov

*(#0x011234),t2”使用的寻址方式是绝对寻址模式。

3、指令执行前ac0的值是0012345678,那么汇编语句“and

#0x7f,ac0”,执行之后,ac0的值是 0000000078。

4、c55x 的链接器命令文件中,sections命令的主要作用是告诉

链接器如何将输入段组合成输出段,以及在存储器何处存放输出。memory命令的主要作用是定义目标系统的存储器配置图,包括对

存储器各部分的命名,以及规定它们的起始地址和长度。

二、简述题(共40分)

1、根据你的理解,试列举 dsp 芯片的特点?(5分)

答:哈佛结构;多总线结构;指令系统的流水线操作;专用的硬件

乘法器;特殊的dsp

指令;快速的指令周期;丰富的外设

2、tms320c55x 芯片的总线结构有何特点,主要包括哪些总线?

它们的功能是什么?(6分)

答:tms320c55x dsp采用先进的哈佛结构并具有十二组总线,其

独立的程序总线和数

据总线允许同时读取指令和操作数,实现高度的并行操作。

采用各自分开的数据总线分别用于读数据和写数据,允许cpu在同一个机器周期内进行两次读操作数和一次写操作数。独立的程序总线和数据总线允许cpu同时访问程序指令和数据。

包括12条总线,分别是:pab和pb、bab和bb、cab和cb、dab 和db、eab和eb、fab和fb。

功能:

3、dsp 为了降低功耗采取了哪些措施?(6分)

答:双电压供电;多种工作模式

4、tms320c55x 的总存储空间为多少?可分为哪 3 类,它们的大小是多少?存储器空间的各自作用是什么?(6分)

答:程序空间16m byte;i/o空间64k words;数据空间8m words

5、tms320c55x有哪些寻址方式,它们是如何寻址的?试为每种寻址方式列举一条指令(6分)

答:直接寻址模式,mov #k16,dp;

间接寻址模式,mov *ar0,ac0;

绝对寻址模式,mov *(#0x011234),t2;

mmr寻址模式,mov *abs16(#ar2), t2;

寄存器位寻址模式,btstp @30, ac1;

圆形寻址模式。

6、将c源程序转换成可执行文件需要经过哪些步骤?(6分)答:创建c源文件;创建工程文件;创建连接器命令文件;编译整个工程文件;链接;

生成可执行文件

7、常用的tms320c55x汇编命令有哪些,它们的作用是什么?(5分)

三、程序设计题(共40分)

4

1、用c55x汇编语言实现计算 y?

答:mpym *ar0+, *ar1+, ac0

mpym *ar0+, *ar1+, ac1

add ac1, ac0

mpym *ar0+, *ar1+, ac1

add ac1, ac0

mpym *ar0+, *ar1+, ac1

add ac1, ac0

或者:

mpym *ar0+, *ar1+, ac0

||rpt #2

macm *ar0+, *ar1+, ac0 ?ai?1ixi 的程序。(10分)

2、用c55x汇编语言实现计算 y1?x1*a1?x2*a2

答:mpym *ar0+, *ar1+, ac3

masm *ar0+, *ar1+, ac3 的10分)

3、以8点的fft为例,用c55x的汇编语言实现fft的算法,并且解释该算法的实现方法。(20分)

答: .sect fft_code

_fft:

aadd #(args-size+1),sp; adjust stack for local vars

mov mmap(st1_55),ar2 ; save st1,st3

mov mmap(st3_55),ar3

mov ar2,fft.d_st1

mov ar3,fft.d_st3

btst @#0,t1,tc1 ; check scale flag set

mov #0x6340,mmap(st1_55); set cpl,xf,satd,sxam,frct (scale=1)mov #0x1f22,mmap(st3_55); set: hint,sata,smul

xcc do_scale,tc1

mov #0x6300,mmap(st1_55); set cpl,xf,satd,sxam (scale=2)

do_scale

mov t2,fft.d_t2; save t2

|| mov #1,ac0

mov ac0,fft.d_l; initialize l=1

|| sfts ac0,t0 ; t0=exp

mov ac0,fft.d_n; n=1exp

mov xar1,xcdp ; cdp = pointer to u[]

mov xsp,xar4

add #fft.d_temp,ar4 ; ar4 = pointer to temp

mov xar0,xar1 ; ar1 points to sample buffer

mov t0,t1

mov xar0,xar5 ; copy externd bits to xar5

outer_loop ; for (l=1; l=exp; l++)

mov fft.d_l,t0 ; note: since the buffer is

|| mov #2,ac0 ; arranged in re,im pairs

sfts ac0,t0 ; the index to the buffer

neg t0; is doubled

|| mov fft.d_n,ac1; but the repeat coutners

sftl ac1,t0 ; are not doubled

mov ac0,t0 ; le=2l

|| sfts ac0,#-1

mov ac0,ar0 ; le1=le1

|| sfts ac0,#-1

sub #1,ac0 ; init mid_loop counter

mov mmap(ac0l),brc0 ;brc0=le1-1

sub #1,ac1 ; init inner loop counter

mov mmap(ac1l),brc1 ;brc1=(nl)-1

add ar1,ar0

mov #0,t2; j=0

|| rptblocal mid_loop-1 ; for (j=0; jle1;j++)

mov t2,ar5 ; ar5=id=i+le1

mov t2,ar3

add ar0,ar5 ; ar5 = pointer to x[id].re

add #1,ar5,ar2 ; ar2 = pointer to x[id].im

add ar1,ar3 ; ar3 = pointer to x[i].re

|| rptblocal inner_loop-1; for(i=j; in; i+=le)

mpy *ar5+,*cdp+,ac0 ; ac0=(x[id].re*u.re

:: mpy *ar2-,*cdp+,ac1 ; -x[id].im*u.im)/scale

masr *ar5-,*cdp-,ac0 ; ac1=(x[id].im*u.re:: macr *ar2+,*cdp-,ac1 ; +x[id].re*u.im)/scale

mov pair(hi(ac0)),dbl(*ar4); ac0h=temp.re ac1h=temp.im

|| mov dbl(*ar3),ac2

xcc scale,tc1

|| mov ac2#1,dual(*ar3) ; scale x[i] by 1/scale

mov dbl(*ar3),ac2

scale

add t0,ar2

|| sub dual(*ar4),ac2,ac1 ; x[id].re=x[i].re/scale-temp.re

mov ac1,dbl(*(ar5+t0)) ; x[id].im=x[i].im/scale-temp.im

|| add dual(*ar4),ac2; x[i].re=x[i].re/scale+temp.re

mov ac2,dbl(*(ar3+t0)) ; x[i].im=x[i].im/scale+temp.im

inner_loop ; end of inner loop

amar *cdp+

amar *cdp+; update k for pointer to u[k]

|| add #2,t2; update j

mid_loop; end of mid-loop

sub #1,t1

add #1,fft.d_l ; update l

bcc outer_loop,t10 ; end of outer-loop mov fft.d_st1,ar2 ; restore st1,st3,t2 mov fft.d_st3,ar3

mov ar2,mmap(st1_55)

mov ar3,mmap(st3_55)

mov fft.d_t2,t2

aadd #(size-args-1),sp; reset sp

ret

.end

相关文档
相关文档 最新文档