Posts tagged DSP

在TMS320C62x上实现扩展精度的复数基2FFT/IFFT算法

本文翻译自TI的文档《spra696a_Extended-Precision Complex Radix-2 FFT_IFFT Implemented on TMS320C62x.pdf》。——哎,没过CET4,看E文就是累啊!

— 文首预览 —

定点DSP有限的动态范围导致在计算FFT时精度不够。这是因为使用了量化和缩放来防止输出溢出。因此,会需要使用扩展精度来执行计算,特别是对于大尺寸的FFT。高度优化的扩展精度的FFTIFFT汇编程序,可以在TMS320C62X上,通过适度增加运行时间来提高运算精度。

More >

DSP中数的定标

在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的补码来表示的。

More >

FFT在C6000DSP上的仿真

经过一段时间的学习,今天在CCS内成功仿真了基2频域抽取FFT(radix2 DIF FFT)。

环境:CCS 3.1 + C6201 Device Simulator

仿真结果如下图:

More >

CCS的一些问题(转)

来自DSP交流网
CCS版本:V3.1

1.run和animate的区别

如果没有断点的话,这两个没区别.
如果有断点,那么run的时候到断点会停止,直到再次按run或者F5才继续执行.
而Animate到断点的时候,会停一小会,将所有窗口刷新一遍,然后就继续执行

More >

窄带随机信号分析的数学工具

窄带随机信号x(t)的数学表示:

- 发射信号的中心频率
- 慢变的随机函数

————————-

希尔伯特(Hilbert)变换

希尔伯特变换常在通信理论中用来处理窄带信号。
假定输入x(t)经过滤波器H(ω)后产生输出y(t)。如果H(ω)具有以下特性:
(1) 幅频特性是全通型的。
(2) 相频特性是-90°相移。
这时滤波器的输出y(t)便称为x(t)的希尔伯特变换,用
表示。H(ω) 称为希尔伯特变换器。
可见,它实质就是全频带的-90°相移网络

More >

CCS中DSP的编译连接

源代码,经编译器,生成可重定位的代码块和数据块(称为段-section).

然后经连接器,将这些段分配到目标存储器。

可通过.cmd文件用两个伪指令来定义连接:

memory – 定义存储器各部分的起始地址和长度

sections – 定义把各个段放在存储器的什么位置

More >

数字信号处理的基本概念

线性时不变系统:数字信号处理涉及的是离散时间系统,其中最经常遇到的是线性时不变系统,他具有如下特征:

1. 叠加性和均匀性 即线性

2. 时不变 含义是,同样起始条件下系统响应与激励施加于系统的时刻无关。

More >

关于 关键字 restrict

为了帮助编译器确定存储器相关性,可以使用关键字restrict来限定指针、引用或数组。关键字restrict是对指针、引用或数组的一种限定。使用restrict关键字是为了确保其限定的指针在声明的范围内,是指向一个特定对象的唯一指针,及这个指针不会和其它指针指向存储器的同一地址。这使编译器更容易确定是否有别名信息,从而更好地优化代码。 More >

关于MAP文件的一点认识

转载自 hellodsp 论坛,作者: huttu
MAP文件是CCS软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。 More >

关于C6000的寻址

C6000提供32bit的寻址能力,但是经EMIF直接输出的地址信号只有EA[21:2],直接使用这个地址可以达到1M word的寻址,EA的最低2位译码后有BEx输出,所以结合BEx可以进行Byte访问,即4M Byte寻址,这是每个CE空间的范围,对于整个CE空间(CE3:0)就是有16M Byte的外部存储器寻址能力。 More >