Posts tagged DSP
在TMS320C62x上实现扩展精度的复数基2FFT/IFFT算法
Jul 10th
本文翻译自TI的文档《spra696a_Extended-Precision Complex Radix-2 FFT_IFFT Implemented on TMS320C62x.pdf》。——哎,没过CET4,看E文就是累啊!
— 文首预览 —
定点DSP有限的动态范围导致在计算FFT时精度不够。这是因为使用了量化和缩放来防止输出溢出。因此,会需要使用扩展精度来执行计算,特别是对于大尺寸的FFT。高度优化的扩展精度的FFT和IFFT汇编程序,可以在TMS320C62X上,通过适度增加运行时间来提高运算精度。
DSP中数的定标
Jul 3rd
在TI的文档<spru402 _TMS320C62x DSP Library Programmer’s Reference>中,提到了Q格式。关于这个,我手上的两本书,都没有提到,而TI的这个文档里也只是在附录里简单说明了一下。大意是:DSPLIB函数一般都使用Q15格式。其实这个Q15确切的说是Q0.15。格式是Qm.n,m指小数点前(即整数部分)的数的个数,n指小数点后(即小数部分)的数的个数,再加上最高位是符号位,这样Q15就是一个16位的word。它表示的范围是(1,-1)。它表示的数分辨率是2的-15次方,数是用2的补码来表示的。
FFT在C6000DSP上的仿真
Jul 1st
经过一段时间的学习,今天在CCS内成功仿真了基2频域抽取FFT(radix2 DIF FFT)。
环境:CCS 3.1 + C6201 Device Simulator
仿真结果如下图:
CCS的一些问题(转)
Jul 1st
窄带随机信号分析的数学工具
Jun 6th
CCS中DSP的编译连接
May 27th
源代码,经编译器,生成可重定位的代码块和数据块(称为段-section).
然后经连接器,将这些段分配到目标存储器。
可通过.cmd文件用两个伪指令来定义连接:
memory – 定义存储器各部分的起始地址和长度
sections – 定义把各个段放在存储器的什么位置
数字信号处理的基本概念
May 16th
线性时不变系统:数字信号处理涉及的是离散时间系统,其中最经常遇到的是线性时不变系统,他具有如下特征:
1. 叠加性和均匀性 – 即线性
2. 时不变 – 含义是,同样起始条件下系统响应与激励施加于系统的时刻无关。
关于 关键字 restrict
May 14th
为了帮助编译器确定存储器相关性,可以使用关键字restrict来限定指针、引用或数组。关键字restrict是对指针、引用或数组的一种限定。使用restrict关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的唯一指针,及这个指针不会和其它指针指向存储器的同一地址。这使编译器更容易确定是否有别名信息,从而更好地优化代码。 More >
关于MAP文件的一点认识
May 14th
关于C6000的寻址
May 7th
C6000提供32bit的寻址能力,但是经EMIF直接输出的地址信号只有EA[21:2],直接使用这个地址可以达到1M word的寻址,EA的最低2位译码后有BEx输出,所以结合BEx可以进行Byte访问,即4M Byte寻址,这是每个CE空间的范围,对于整个CE空间(CE3:0)就是有16M Byte的外部存储器寻址能力。 More >