




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP原理与应用练习题参考答案24学时版本用于通信方向注意:红色字体文字为解题注解与说明,万万不可作为答题内容1. Q.15表示是16位数据中第15位为符号位,第140位为小数位。试写出下面问题的答案: 分别写出十进制正数 0.68和十进制负数-0.245的Q.15表示。0.68*32768=570AH-0.245*32768=-1F5CH=E0A4H 分别写出Q.15表示的A200H和5A00H的十进制数值。A200H/32768=-5E00H/32768=- 0.734375 5A00H/32768=0.703125上面两小题使用教材P7两条公式,公式中 Q为数据中的小数位数,digits
2、data。取补码的正规方法是按位取反得到的反码加上1。16进制下快速算法是找出互补的数,即加上该互补数得10000H。例如求 1F5CH 补码,1F5CH+E0A4H=10000H。故 E0A4H 为所求。 已知两个Q.15数相乘的乘积存放于累加器A中。FRCT=O时A为16进制OxFFEAOOOOOO,该乘积的十进制数是多少?FRCT=1时A为16进制0X007D000000,该乘积的十进制数又是多少?FRCT=0时累加器A低30位为小数位乘积既非Q.31,也非Q.30解法一,写出小数点后二进制位数值,乘积为-16000000H,小数点后的二进制为01011B,得2-2+2-4+2-5=-1
3、1/25=-0.34375解法二,运用教材 P7 公式,EA000000/2 30=-16000000/2 30=-11/25=-0.34375FRCT=1时累加器A低31位为小数位乘积为Q.31,其中高16位为Q.15解法一,写出小数点后二进制位数值,乘积7D000000H小数点后的二进制为1111101B,得2-1+2-2+2-3+2-4+2-5+2-7=125/27= 0.9765625解法二,运用教材 P7 公式,7D000000H/2 31=125/27= 0.9765625解法三,取乘积 Q.15形式,乘积 Q.15形式为7D00H=32000/32768=0.97656252.解
4、决图像编码中常见的8x8离散余弦变换在 VC5402 DSP上定点运算问题。33用VC5402指令写出定点运算实现192 cos cos 的代码。其中定点乘法精度16 8128字长数据缓存区存放数据。(10分)果保留整数部分。可以利用首地址数据页1000H的地址存放的数据是数据页1001H的地址存放的数据是1000H 的3cos一163cos一832768=2724632768=1254016位。最后结1000H 存放 27246,1001H 存放 12540,结果存放 1002HSSBX FRCTMPY *(1000H), #192, AMPYA *(1001H)STH B, *(1002H
5、)以上有符号数乘法中小数点位置:第一次乘法第二次乘法33 写出用上面(1)的指令段计算出192 cos cos 的数值。(6分) 16 8192*27246乘积取1位符号和高15位得159,159*12540乘积取1位符号和高15位得60。33用计算器,分两步,第一步算192 cos 取整数得159;第二步算159 cos取整数得6016 861.0924 得 0 分61得1分60得2分159和60得3分3. 现在需要对16位整型音频信号数据执行 512点FFT,待处理数据放在数据页首地址为0A00H,长度为512的缓冲区内。在按时间抽取基2 FFT碟形运算中输入数据倒序,输出数据顺序。写出在
6、一个512次循环中以降序 ARX-0B读入数据页0BFFH0A00H的512个输入数据的汇编指令代码。STM #0BFFH, AR1STM #256, AR0STM #511, AR2loop:LD *AR1-0B, ABANZ loop, *AR2-或者STM #0BFFH, AR1STM #256, AR0STM #511, BRCRPTB end_loop -1LD *AR1-0B, Aen d_loop:或者STM #0BFFH, AR1STM 256, AR0RPT #511LD *AR1-0B, AFFT基2碟形运算,时间抽取时输入乱序、输出顺序;频域抽取时输入顺序、输出乱序AR0
7、数值设为FFT点数一半。循环计数器初值设为循环次数-1也就是FFT点数-1。升序时,AR1数值设为缓冲区首地址,乱序读 LD *AR1+0B, A,乱序写STL A, *AR1+0B 降序时,AR1数值设为缓冲区尾地址,乱序读 LD *AR1-0B, A,乱序写STL A, *AR1-0B4. 在VC5402芯片上对无限长16位整型音频信号执行分段实时采集、滤波、输出至功放。其中滤波 使用51阶Hamming窗低通滤波以及循环缓冲区方法。汇编指令代码段如下:LOOP FILTERING:STM #DATA_BUF_PTR+50,AR3或者 AR4STM #COEF_BUF_PTR, AR4或者
8、 AR5STM # LEN -1, AR7STM #IN_BUF_PTR, AR2STM #OUT_BUF_PTR, AR1STM#1, AR0SSBXFRCTIoop2:STM #51, BKMVDD *AR2+,AR3+0滅者 AR4+0%LD #0, ASTM #50, AR6loop1:MACAR3+0娥者 AR4+0% ,AR4+0娥者 AR5+0%, ABANZ loop1, *AR6-STH A, *AR1 +BANZ loop2, *AR7-其中COEF_PTR指向滤波系数缓冲区,DATA_PTR指向输入缓冲区,IN_BUF指向音频采集缓冲区,OUT_BUF指向音频功放输出缓冲
9、区。试写出下面问题的答案:(1) 在上面汇编指令代码段中9个标有序号的空中填空,使程序完整并且正确运行。AR3或者 AR4,AR4或者 AR5,#1,#FRCT,#51,AR3+0喊者AR4+0%#50,AR3+0娥者 AR4+0%,AR4+0喊者 AR5+0%(2) 在上面代码段跟踪过程中,读出指向滤波系数缓冲区的辅助寄存器内容为10AFH,随后连续执行4次MAC指令所访问的4个内存地址分别是多少?又读出指向输入缓冲区的辅助寄存器内容为10F1H,随后同一辅助寄存器对同一缓冲区访问 102次后读数是多少?循环寻址运算是*ARx+%BK,在BK个地址的集合内循环递增。缓冲区尾地址+仁首地址的条
10、件是首地N址低N位全零,N为2 BK的最小整数。任意给出一个循环寻址的缓冲区内地址,可唯一确定该缓冲区(首、尾地址)。本题 BK=51,N=6。第 1 问,10B0,10B1,10B2,1080地址10AFH二进制展开后,低 6位全零时得首地址 1080H,尾地址=1080H+51-1=10B2H第 2 问,10F1H循环寻址的缓冲区内任一地址a+51 n=a5. 在题7标示为LOOP_FILTERING的使用循环缓冲区法完成 FIR滤波的汇编指令代码段中存在两重 循环嵌套。现有代码采用根据辅助寄存器进行条件跳转的方法实现循环。C54x DSP还提供另外一种执行效率更高的实现循环的方法,即重复
11、和块重复。试写出下面问题的答案:重复指令RPT和RPTZ使用C54x DSP内核什么专门的寄存器或者标志位?把他们全部列举出来。重复指令 RPT和RPTZ使用C54x DSP内核RC寄存器块重复指令RPTB使用C54x DSP内核什么专门的寄存器或者标志位?把他们全部列举出来。块重复指令 RPTB 使用 C54x DSP 内核 BRC、 RSA 、 REA 寄存器和 ST1 寄存器的 BRAF 位 对题 7 标示为 LOOP_FILTERING 的使用循环缓冲区法完成 FIR 滤波的汇编指令代码段进行优化, 用重复指令和块重复指令完全消除根据辅助寄存器进行条件跳转的指令。LOOP_FILTER
12、ING:STM #DATA_BUF_PTR+50, AR3STM #COEF_BUF_PTR, AR4STM # LEN -1, BRCSTM #IN_BUF_PTR, AR2STM #OUT_BUF_PTR, AR1STM #1, AR0SSBX FRCTSTM #51, BKRPTB end_loop - 1MVDD *AR2+, AR3+0%RTPZA, #50MAC *AR3+0%, *AR4+0%, ASTH A, *AR1+end_loop:6. 上题 4标号为 LOOP_FILTERING 的滤波代码段必须封装成为如下形式的函数方能被 C 语言主程序 调用。void fir(in
13、t *in_buf, int *data_buf, int *coeff_buf, int len, int *out_buf) 其中第一形参为指向音频采集缓冲区的指针 in_buf ,第二形参为指向输入缓冲区的指针 data_buf, 第三形参为指向滤波系数缓冲区的指针 coeff_buf ,第四形参为滤波长度(不等于信号分段长度) len, 第五形参为指向音频功放输出缓冲区的指针out_buf。从C主程序跳入汇编子函数时ST1状态寄存器的CPL 位自动为 1。试写出下面问题的答案: 在跳入汇编子程序 fir 并且执行如下现场保护后,写出把上述 fir 函数五个形参传递至累加器 B 的指 令
14、。PSHM AR0PSHM AR1PSHM AR2PSHM AR3PSHM AR4PSHM AR5PSHM AR6PSHM AR7FRAME #-12LDM AL, B 或者 STLM A, BLLD 21, BLD 22, BLD 23, BLD 24, BC语言调用汇编子程序时 C编译器规则:从C主程序一进入汇编子程序,SP指向返回地址,累加器 A存放第一个形参,SP+1指向第二个形参,SP+2指向第三个形参,。由此类推在汇编子程序开头,用PSHM保护现场,每条 PSHM指令使SP递减1。接着使用FRAME指令为子程序内局部变量分配内存空间。子程序返回时通过累加器 A向主程序输出返回值。本
15、题中,8条PSHM指令使SP-8, FRAME指令使SP-12,总共减去 20,新SP=旧 SP-20,第一形参在 累加器 A,第二形参在 SP+21 (旧SP=新SP+20,旧SP+仁新SP+20+1),第三形参在 SP+22,第四形 参在SP+23,第五形参在 SP+24 写出返回C语言主函数前执行现场恢复的汇编指令代码。FRAME #12POPM AR7POPM AR6POPM AR5POPM AR4POPM AR3POPM AR2POPM AR1POPM AR0堆栈后进先出。7. 由美国国家科学奖章获得者、美国高通公司创始人之一兼首席科学家、被誉为CDMA之父的An drew J. V
16、iterbi发明的Viterbi译码是卷积码的译码方法之一,因运算复杂度最低而广泛用于3G移动通信系统和卫星通信系统的信道纠错与检错。其运算核心为循环执行的加比选 ACS碟形运算,VC5402汇编代码如下:LD *AR2, BADD *AR5, B, ASUB *AR5(1), B, BMAX ASTL A, *AR4+LD *AR2, BSUB *AR5+, B, AADD *AR5+, B, BMAX A;本地码间汉明距离 t BL;AL=Old_Met(2*j)+BL ;BL=Old_Met(2*j+1)-BL ;A=max(A, B);AL=Old_Met(2*j)-BL ;BL=Ol
17、d_Met(2*j+1)+BL ;A=max(A, B)STL A, *AR3+以下优化过程必须用SSBX C16指令设置C16LD *AR2, TDADST *AR5, ADSADT *AR5+, BCMPS A, *AR4+CMPS B, *AR3+以上代码源自文献 SPRA071A , Viterbi Decodi ng Tech ni ques for the TMS320C54x DSP Gen eratio n, P13。相关汇编指令注释如下:DADST *ARx, A 或者B累加器高16位=ARx指向的32位数据的高16位+T暂存器,同时累加器低16位=ARx指向的32位数据的低
18、16位-T暂存器DSADT *ARx, A 或者B累加器高16位=ARx指向的32位数据的高16位-T暂存器,同时累加器低16位=ARx指向的32位数据的低16位+T暂存器CMPS A或者B, *ARx ARx指向的16位数据=max(累加器低16位,累加器高16位)8. 现在需要对信号缓冲区的256个16位有符号整数的音频信号数据减去其均值(直流分量),成为交流信号。信号缓冲区在数据页,首地址2C00H。均值存放于数据页 2D00H地址中。去直流分量的汇编指令代码如下:STM #2C00H, AR1LD *(2D00H), BSTM #255, AR0loop:LD *AR1,ASUB B,
19、ASTL A,*AR1 +BANZ loop, *AR0-现在要求对上述代码进行优化以提高执行效率,措施包括双16位读写和减法运算、重复或者块重复等。其中仅改写为双 16位操作便可使循环次数减半。写出在上述代码基础上经过优化达到最高执行 效率的汇编指令代码。STM #2C00H, AR1LD *(2D00H), TSTM #127, BRC256 次 SUB 变成 128 次 DSUBTSSBX C16RPTB L1-1DSUBT *AR1,ADST A, *AR1 +L1:单16位运算改为双16位运算,力口 ADD改为DADD,减SUB可改为DSUB、DRSUB和DSUBT中最 适合于具体应
20、用的一种9. 实验六A/D转换(输入数据)实验和实验七 D/A转换(输出数据)实验利用 VC5402 DSP的片内 外设第1号多通道缓冲串行口 McBSP#1分别接收和发送数据。 McBSP的结构方框图如图1所示。在EL-DSP-EXP I教学实验系统中,VC5402的McBSP#1与位于语音处理单元的 TLC320AD50C芯片相连, 分别完成一维音频信号的输入、A/D转换、DSP采集和DSP输出、D/A转换、输出。McBSPDRDX H RBRAExpandCompressCompandXSR Y fRSRDRR|CLKXCLKRFSX 4-FSRCLKS AClock and frame
21、-sync generation and controlSPCR ktRGR |XCR pSRGR R16七 it peripheral busPCR XMGR pMultichannelselectionRCER ktXCERRINTXINTInterrupts to CPUREVTSynchronizatia n events to DMAXEVTREVTAXEVTA图1 VC5402芯片的片内外设多通道缓冲串行口 McBSP的结构方框图接收数据时,自DR进入的数据最后到达 McBSP#1内部16位寄存器DRR1 , DDR1在VC5402的 数据存储区映像地址是0x0041,同时发生三个
22、动作:第 1号串行口控制寄存器 SPCR1的第1bit接收就绪位 RRDY( Receive Ready)显1;RINT线向C5402的CPU发出中断; REVT线向VC5402的DMA控制器发出事件激励信号。一旦VC5402的CPU或者DMA控制器把DRR1的16位数据读出,1号串行口控制寄存器 SPCR1的第1bit接收设备就绪位 (Receiver Ready)显0。这样VC5402的CPU或 者DMA控制器就逐个读出 DRR1的16位数据并且转存到数据缓存区中。实验六的数据缓存区首地址 1000H,长度256个16位字。数据缓存区填满后,便可进行数字信号处理。发送数据时,一旦上一个数据
23、自McBSP#1内部16位寄存器DXR1 ( DXR1在C5402的数据存储区映像地址是0x0043)复制到发送部件上去(最后从DX发送出去),相当于DXR1被清空,就同时发生三个动作:第2号串行口控制寄存器 SPCR2的第1bit发送设备就绪位 XRDY(Transmitter Ready)显1;XINT线向VC5402的CPU发出中断;XEVT线向VC5402的DMA控制器发出事件激励信 号。一旦 VC5402的CPU或者DMA控制器向DXR1写入16位数据,2号串行口控制寄存器 SPCR2 的第1bit发送设备就绪位 XRDY ( Transmitt Ready )显0。这样VC5402
24、的CPU或者DMA控制器就把 数据缓冲区中经过数字信号处理的数据逐个写入到DXR1。实验七的数据缓存区首地址3000H,长度40个16位字。实验六和实验七的指导程序都是用CPU查询方式分别完成数据接收和数据发送。现在要求用效率较高的中断方式完成数据接收与发送的方案。相关中断系统参数如图2和图3所示。(h) C5402 /MR151413121110937654321 DBXINT1BRINT1TINT1D(JAC5IMAC4orrHPINTINT3orDMACOBXINTOBRINTOTINTOINT2INTIINTODM AC 3DMAC2图2Table 6-26. TMS320C5402 Interrupt Locations and Priorities (Continued)TRAP/1NTRNumber fK)PriorityNameLocation(HexFunction163INTO/SINTO4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 买房有物业合同范本
- bt合同ppp合同范本
- 企业人事聘用合同范本
- 出租保安服装合同范本
- 单位购仪器合同范本
- 先打款后开票合同范本
- 协议付款合同范例
- 上门宴席服务合同范本
- 东莞企业劳务合同范本
- 儿童游泳班合同范本
- 2025年企业法务顾问聘用协议范本
- 教育部人文社科 申请书
- 无菌手术台铺置的细节管理
- 《康复评定技术》课件-第五章 运动控制
- 议论文8(试题+审题+范文+点评+素材)-2025年高考语文写作复习
- 【理特咨询】2024生成式人工智能GenAI在生物医药大健康行业应用进展报告
- 2025新人教版英语七年级下单词默写表(小学部分)
- 2025年春新外研版(三起)英语三年级下册课件 Unit6第1课时Startup
- 2025江苏苏州高新区狮山商务创新区下属国企业招聘9人高频重点提升(共500题)附带答案详解
- 《蒙牛集团实施财务共享过程中存在的问题及优化建议探析》8800字(论文)
- 平抛运动的经典例题
评论
0/150
提交评论