A. DSP定点化: 非线性函数如何定点化
自己做个表(数据是手算某些个数量点的值) 之后插值 计算
B. 大家觉得dsp算法定点化难不难啊
比浮点慢,还用它干嘛啊 没有意义,我定点化的目的,就是想让速度提升的啊这种基础算法,你能想到的优化别人肯定都想过,如果没有广泛传播开来的话说明这办法本身优化不了多少甚至更慢。整数FFT最大的问题是必须要有取模运算。取模一下子就比浮点加乘要慢很多了。 定点的话,如果没有硬件支持,肯定要比有硬件支持的浮点加乘要慢。现在浮点加法乘法的速度又不比整数差多少。定点对于FFT的实际意义并不大,却又要牺牲精度。所以一般没人这么干。
C. 如何用定点DSP处理器来实现浮点运算
就是要 先把浮点运算定点化了,关于定点化要经过一定学习才能比较好地自己完成了。
如:浮点0.5 用16位定点 0.5*32768 =16384 了。 当然这个比较简单的了。
D. 2,dsp算法的实现方法有哪些
dsp:英文原名叫digital signal processing,简称DSP。数字信号处理就是用数值计算的方式对信号进行加工的理论和技术。另外DSP也是digital signal processor的简称,即数字信号处理器
数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。即将事物的运动变化转变为一串数字,并用计算的方法从中提取有用的信息,以满足我们实际应用的需求。
E. 浅谈如何学习DSP软件开发
对于学习DSP重要的是理清外设的工作 构架,相应的寄存器如何设置,没有必 要对寄存器花太多的时间去研究,用的 时候能找到(寄存器的名称都是英文的 缩写,很好理解的)。学习DSP,先找 本中文教材入个门,之后你会发现好多 地方、尤其是真正要用的,往往也是最 复杂的地方书上都找不到,更谈不上做 什么项目了,这时候就要开始深入研究 Data Sheet,以及官网的源代码示例 有了之前的中文教材基础看起来就快多 了;学习DSP重要的不是会编程,而是 算法的研究(Matlab/Simulnk仿真就不
F. 怎样实现DSP算法
不是高手, 但可以说下自己的对这个的想法. 以前也有过同样的疑惑.
后来发现一些想法: DSP它的主要作用就是用来运算.大量的运算,如矩阵乘法之类的.主要用处多媒体的处理等.
既然这样的话,DSP追求的就是高速,高效.所以在运算数据的时候都通过硬件来实现.如乘法运算在普通CPU中是很耗时钟周期的,所以DSP中加入硬件乘法器.
定点DSP也可以实现浮点数, 但要消耗更多的CPU寄存器和时钟周期,为了进一步提前效率,所以设计了专门的浮点运算DSP. 但对应用来说,除了慢了一点.基本上没什么区别.
另外,算法一般也都是TI或IC厂商提供.也可单独去买或自己设计.一般也用C.编程来说不用考虑太多DSP内部处理的情况, 不过要多研究下编译原理,这样才会写出更高效精练的代码.
G. dsp的算法指的是计算机算法吗
通常意义来说,DSP是指Digital Signal Processing,还可以指Digital Signal Processor。
前者是数字信号处理的意思,后者是用于数字信号处理的数字信号处理器。《算法导论》一书还是有必要看一看的,因为无论你将来要从事软件还是硬件的研发,这门课程都会起到良好的基础作用。当然,这门课是“软”的。此书没有直接的东西,但是会渗透出一种软件设计的逻辑思想,一些常用的算法的理论。
要是将来想从事DSP的相关工作,可以再看一门《数字信号处理》的书,两者虽然不是直接耦合,就如你自己所说,多储备一些总是好的。
还有,进一步的深入研究可以研究FPGA,这是数字信号处理的利器。要是用专用处理器的话,可以看德州仪器的相应资料,它是DSP器件领域的老大。
祝学业顺利。
H. 为什么在FPGA实现需要算法定点化
用FPGA实现算法,简单理解就像用C语言实现算法一样。不过FPGA用硬件描述语言,如verilog
等。可以根据算法先用C实现,然后再用verilog实现。C和verilog有种一一对应的关系。综合之后有需要可以进行布局,约束和优化等。因为FPGA可以并行执行,所以实现算法要比CPU类型的器件(如DSP、MCU等)有优势。
I. 大家觉得DSP算法定点化难不难
关键在于理解算法,确定用到的变量的取值范围这样就可以用合适的数据结构,实现原来的算法当然定点化是不可避免的有精度损失的,要作好取舍,然后就是用C/C++重新描述算法了
J. DSP的算法移植问题
移植:
1)如果你的算法是基本opencv这样的基本上开发的,你需要脱离opencv的环境。
2)如果你的算法是C++语言,请你改成标准的C语言。虽然DSP的开发环境是支持C++的,但是不建议你这么做。
3)修改你算法的内存分配,尽量内存一次分配好,DSP在算法不断的申请和释放时会有隐患。优先使用静态数组,会减轻很多工作量。
4)在CCS下建立工程,来调试你的算法,内存分配函数需要使用TI提供的函数。如果你的算法能够长期稳定的运行,那么恭喜你,你的算法移植就完成了。
优化:
算法优化,需要你能懂算法,也懂DSP。如果你只会写DSP程序,而不会算法,这对整个产品来说,是不能达到最优的。有些公司怕算法泄密,给优化人员一段或几段程序让其优化。我觉得这样做是很不合理的。除非你自己能控制大局,精通优化,这样才可行。
1)你需要对算法原理做一个深刻苦的理解,阅读相关的文章。
2)对你拿到的算法做全方位的熟悉。
3)做好上面的准备工作后,你要对算法的结构做重新的整理。依据DSP的特点,比如内存的分布。算法结构调整完成后,你的算法在DSP上速度应该有一个明显的提高了。
4)结构调整完成后,找到算法中比较费时的部分。确定我们需要优化的重点,这部分内容多是每张图像都要处理一次或多次的部分。对于算法启动时初始化部分的内容,一般不需要优化。
5)确定优化内容后,你首先考虑从语言结构上去做优化,这个时候应该还是C语言的。我不建议大家用TI提供的在C语言中使用优化嵌入的C库函数。
6)你把需要优化的函数改写为线性汇编或汇编函数。不断的调整软件流水,提高速率。