DSP原理课练习题通信参考答案.docx

上传人:王** 文档编号:894228 上传时间:2024-02-22 格式:DOCX 页数:17 大小:55.63KB
下载 相关 举报
DSP原理课练习题通信参考答案.docx_第1页
第1页 / 共17页
DSP原理课练习题通信参考答案.docx_第2页
第2页 / 共17页
DSP原理课练习题通信参考答案.docx_第3页
第3页 / 共17页
DSP原理课练习题通信参考答案.docx_第4页
第4页 / 共17页
DSP原理课练习题通信参考答案.docx_第5页
第5页 / 共17页
DSP原理课练习题通信参考答案.docx_第6页
第6页 / 共17页
DSP原理课练习题通信参考答案.docx_第7页
第7页 / 共17页
DSP原理课练习题通信参考答案.docx_第8页
第8页 / 共17页
DSP原理课练习题通信参考答案.docx_第9页
第9页 / 共17页
DSP原理课练习题通信参考答案.docx_第10页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《DSP原理课练习题通信参考答案.docx》由会员分享,可在线阅读,更多相关《DSP原理课练习题通信参考答案.docx(17页珍藏版)》请在优知文库上搜索。

1、DSP原理与应用练习题参考答案24学时版本用于2010级通信工程1.在16位定点DSP中,一个16位二进制数在Q15表示法下的含义是第15位为符号位,第140位为小数位;在Q12表示法下的含义是第15位为符号位,第1412位为整数位,第110位为小数位:在Qll表示法下的含义是第15位为符号位,第1413位为整数位,第100位为小数位。由此类推。试写出下面问题的答案:根据教材P7的公式(1)16位二进制数IOAAH在Q15表示法下的十进制数值是多少?在Qll表示法下的十进制数值是多少?Q15表示法下的十进制数值是4266/32768=0.13018798828125Qll表示法下的十进制数值是

2、4266/2048=2.083007812516位二进制数C650H在Q15表示法下的十进制数值是多少?在Q12表示法下的十进制数值是多少?QI5表示法下的十进制数值是-14768/32768=-0.45068359375Q12表示法下的十进制数值是-14768/4096=-3.60546875十进制正数0.625在Q15表示法下的二进制数是多少?在QIl表示方法下的二进制数是多少?Q15表示法下的二进制数是0.625x32768=500OHQll表示法下的二进制数是0.625x2048=050OH(4)十进制负数-6.375在Q12表示法下的二进制数是多少?在QIl表示方法下的二进制数是多少

3、?-6.375x4096=-6600H=9A00H6375x2048=-3300H=CDooH2.在C54xDSP的C语言开发环境中,数据类型与通常的C语言开发环境的数据类型不同,主要数据类型如下表所示:数据类型位长char,unsignedchar16short,unsignedshort,signedshort16int,unsignedint,signedint16long,unsignedlong,signedlong32float32double32现在利用一个15阶Hamming低通滤波器对16位音频信号进行FlR滤波。在C54xDSP和CCS2.2上的C语言程序如下:constd

4、oublecoef15=0,00482584,0.00804504,-0.00885584,-0.04291741,-0.02903702,0.09725365,0.28342322,0.37452503,0.28342322,0.09725365,-0.02903702,-0.04291741,-0.00885584,0.00804504,0.00482584);voidfir(int*x,int*y)(inti,j;for(i=0;i1024;i+)(doubleaccumulator=0.0;for(j=OJ15;j+)(accumulator+=xi-j*coefj;)yi=(int)

5、accumulator;)以上表达式中,x,y分别是低通滤波输入、输出的16位整型数组变量。现在要求把以上过程优化为在C54x平台上运行的精度最高、执行效率最高的16位定点运算形式。试写出在C54xDSP和CCS2.2环境下完成16位相乘和32位累加的定点运算的C程序。第一步:把滤波器系数转化为Q15定点数第二步:把乘累加转化为整数乘法,Q15乘以整数的小数点位置在第14位和第15位之间,累加结果为32位整数,其中最高两位为符号位,接着15位为整数,低15位为小数第三步:舍去低15位小数,取一位符号位和15位整数位作为滤波输出结果constintcoef15=158,264,-290,-140

6、6,-951,3187,9287,12272,9287,3187,-951,-1406,-290,264158;voidfir(int*x,int*y)(inti,j;for(i=0;i1024;i+)(longaccumulator=0;ford=0J15);)3.解决图像编码中常见的8x8离散余弦变换在VC5402DSP上定点运算问题。JT用C语言编写VC5402上用定点运算实现153xcos-+221xcos的程序,并且把最后结果存放48到16位整型变量i中。数据类型见前面题3的表格。COSq的Q15定点数是23170,5A82HCOS(的QI5定点数是30274,7642Hconsti

7、ntx2=153,221);constinty2=23170,30274);longa;intr;a=x0*y0+xl*y1;r=(int)(a15);或者C程序也可写成:longa;intr;a=153*23170221*30274;r=(int)(a15);用C54x汇编指令写出用定点运算实现153XCoSX+221XCoSX的代码,并且把最后结果转换为4816位整数存放到1102H的地址中。IoOOH存放153,IoolH存放2211002H存放23170,1003H存放30274SSBXFRCTSTM#1000H,AR2STM#1002H,AR3STM#11O2H,AR1RPTZA,#

8、1MAC*AR2+,*AR3+,ASTHA,*AR1现有一个8位无符号字符数216,对其执行浮点运算216XCOSXCOS。在VC5402上的汇编指48令代码段如下:SSBXFRCTMPY*(1000H),#216,AMPYA*(1001H)STHB,*(1002H)运算前数据页IOooH和IOolH的地址存放的数据是多少?运算后数据页1002H的地址存放的结果是多少?用CCS可以算出140,与笔算一致笔算方法:216*23170=5004720,取1位符号和15位得152,乘以30274后再取1位符号和15位得140运算前数据页IoOoH的地址存放的数据是CoSXX32768=23170=5

9、A82H4运算前数据页100IH的地址存放的数据是CoSxX32768=30274=7642H8运算后数据页1002H的地址存放的结果是8CH=140(4)上面的运算精度偏低。如何在中插入移位指令提高运算精度?写出完整的指令代码。在第一次乘法后果把A左移8位,接着在第二次乘法后右移8位SSBXFRCTMPY*(1000H),#216,ASFTAA,#8MPYA*(1001H)SFTAB,#-8STHB,*(1002H)这样可得141在以上的基础上简述如何在VC5402上使用MAC指令通过双重循环嵌套的16位定点乘累加运算求出一个图像数据的8x8离散余弦变换系数?忽略常数项的8x8离散余弦变换为

10、:F(u,v)=ZZf(x,y)cos2:;*COS:*u,vixty/0,7,K=O)=O1616用COS号产X32768后取整的方法,求出8个余弦常数的Q15数,存放到内存。把FRCT置1在内循环用MAC指令计算f(x,y)与Q15余弦常数的乘累加,32位结果存放A累加器在外循环用MAC指令计算A的高16位与Q15余弦常数的乘累加,高16位为最后结果。4.在VC5402汇编语言程序中需要连续读取散布于数据页地址0A06H,0A27H,0A3AH,0A53H,0A65H,0A92H,OACAH,OAEoH中的8个数据。要求以最少指令和最快速度读入这8个地址的数据。写出执行指令。注意读入8个地

11、址数据的次序不能改变。如全写成绝对寻址,得一半分1.D*(0A06H),A1.D*(0A27H),A1.D*(0A3AH),A1.D*(0A53H),A1.D*(0A65H),A1.D*(0A92H),A1.D*(OACAH),A1.D*(OAEOH),A满分答案:RSBXCPL或者CPL=O时1.D#14H,DP1.D06H,A1.D27H,A1.D3AH,A1.D53H,A1.D65H,A1.D#15H,DP1.D12H,A1.D4AH,A1.D60H,A5.当VC5402内部STI状态寄存器第14位CPL=I同时数据页指针寄存器DP=100OH,堆栈指针寄存器SP=0275H时,指令LD

12、2AH,A和LD82H,A所读取的数据页地址是多少?当CPL=I同时DP=0480H,SP=1C22H时,指令LD40H,A和LD2A6H,A所读取的数据页地址又是多少?CPL=I,指令LD2AH,A和LD82H,A所读取的数据页地址分别是029FH和0277HCPL=I,指令LD40H,A和LD2A6H,A所读取的数据页地址分别是1C62H和1C48H注意,DP有效位数9位,直接寻址位数7位6.现在需要对16位整型音频信号数据执行512点FFT,待处理数据放在数据页首地址为OAOOH,长度为512的缓冲区内。在按时间抽取基2FFT碟形运算中输入数据倒序,输出数据顺序。写出在一个512次循环中

13、以降序ARx-OB读入数据页OBFFFH0A00H的256个输入数据的汇编指令代码。STM#0BFFH,ARlSTM#256,AROSTM#511,AR2loop:1.D*AR1-OB.ABANZIOoD,*AR2-或者STM#OBFFH,ARlSTM#256,AROSTM#511,BRCRPTBend_loop-1LD*AR1-OB,Aend_loop:或者STM#OBFFH,ARlSTM#256,ARORPT#5111.D*AR1-OB,A在中已经读取0A65H地址的数据后,随后连续8次读取的输入数据的地址是多少?要求写出详细计算过程,光写对答案不能得满分。第1次:0(X)0,1010,0

14、110,0101-1,0000,(X)OOB=OOOO,IOllJOlO,0101=0BA5H第2次:0000,1011,1010,0101-1,0000,0000B=0000,1010,1010,0101=0AA5H第3次:0000,1010,1010,0101-1,OOOO.OOOOB=(X)OO,101l,0010,0101=0B25H第4次:0000,1011,0010,0101-1,0000,0000B=0000,1010,0010,0101=0A25H第5次:OooO,1010,0010,0101-1,0000,0000B=0000,1011,1100,0101=0BC5H第6次:

15、0000,1011,1100,0101-1,0000,0000B=0000,1010J100,0101=OAC5H第7次:0000,1010,1100,0101-1,0000,OOOOB=0000,1011,0100,0101=0B45H第8次:0000,1011,0100,0101-1,0000,OOOOB=0000,1010,0100,0101=0A45H7.现在需要对16位整型音频信号数据执行128点FFT,待处理数据放在数据页首地址为1200H,长度为128的缓冲区内。在按时间抽取基2FFT碟形运算中输入数据倒序,输出数据顺序。(1)写出在一个128次循环中以升序ARx0B读入数据页1200H12

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!