电子工程专辑互动社区>自由讨论>信号处理专区>DSP和51之我见--顺便说说DSP除法 (转)
作者 问题:

DSP和51之我见--顺便说说DSP除法 (转)

发布时间:2007-9-24 下午7:23

作者: liuzilin

等级: 学有小成

积分: 437分

发帖数: 23次

网站总积分: 437分

经验值: 13.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
经过一段时间的学习,对于DSP有了一定的自我见解了。
本人是大学专业是自动化,用的最多的是51单片机,学习最多的是控制理论,用的最多的算法是PID算法,控制的一般是电机等。工作后倒是基本没有碰电机等东西了。
进来买了基本DSP的书,学习了一下。一些学习心得说出来给各位看看,讲得不对的地方不要见笑。
到底DSP是什么,我们又需要学习一些什么?
不同过程的学习获得了不同阶段的理解。
刚开始,感觉DSP是一些和51类似的器件,只是该CPU功能强大一些。具体强大在什么地方呢?
1、架构!51用的是冯诺伊曼架构,DSP器件使用的哈佛架构,一个是程序、数据、IO共用地址编码,一个是程序、数据、IO独立地址编码,所以,51的指令是一条一条的执行,DSP的指令可以多条并行处理,从而获得了更快的计算速度。
2、运算能力。很多DSP器件硬件支持浮点数乘法,同时有硬件循环指令。硬件浮点乘法极大的提高了运算能力。硬件循环指令又大大的释放了重复运算时CPU的干预开销。两者合一大大提高了DSP器件的运算能力。
3、如果到这里看来,我们会仅仅说DSP只是一个增强的51芯片而已,没有什么特别的地方吗!为什么要独立出来自成一体呢?经过进一步的学习,DSP拆开来看就是数字信号处理,深一步的理解,何谓数字信号处理呢?和他对应的就是模拟信号处理。如果将数字信号处理和模拟信号处理放到一起来看,各位就会明白了。我是学习自动化出身的,不可避免的和模拟信号处理结下了不解之缘。如果要我用模拟器件来做一阶滤波,或者是二阶滤波,或者是巴特奥斯滤波器等等,手到擒来的事情,又或者做一些其他的低通,高通,带通,带阻也不会是一件困难的事情。由于模拟信号的先入为主,之前从来没有想过数字上的处理也可以实现模拟信号处理的功能。DSP的精髓也就是如他自己所表现的,通过采样信号得到的数据,经过数字处理,将信号输出自己的期望值。这个过程可以这样来看,信号输入-->AD-->滤波处理-->DA-->信号输出,如果忽略这个过程(AD-->滤波处理-->DA),那么就是{信号输入-->变换-->信号输出}。可以看到,这个过程和模拟信号的处理过程是一样的!
? ? 可以得出结论,DSP的精髓就是信号处理,数字化的信号处理。他和模拟信号处理是针锋相对的。所以,这来需要用到大量的运算,并且是大量的浮点运算,所以很多DSP引入了浮点数的乘法,引入了硬件循环控制,但是仅仅是这样还不够,还达不到我们期望的速度,所以,还引入了更高级的CPU架构,使用了哈佛架构,让指令能够并行处理,于是比51强大的运算能力优势体现出来了。没有快速的,可优化的,高效率的CPU,是无法实现数字信号处理的。
? ? 通过数字信号处理,我们可以看到,大量的模拟器件可以被抛弃,运放没有了,电阻没有了,电容没有了,信号处理部分的繁杂电路没有了。噪声来了?没有模拟滤波器怎么办?没有关系,用数字模拟一个滤波器一样可以实现,并且做的还可以比模拟滤波器更好。这就是DSP--数字信号处理的魅力所在吧。


? ?最后聊一下除法。很多面试的时候恐怕DSP工程师都会遇到这个问题。这里说说我对书上实现DSP除法的理解。
? ? 除法,为什么没有硬件模块大规模的实现呢?
? ? 乘法和除法是一对冤家!他就和开门,关门一样,是相反的一个操作,所以对于相反的操作,应该是可以用另一个相反的操作--乘法来实现除法的。对于除法的实现,有三种方法。
1、最高效率的实现,利用空间换取时间的查表方法当然是最高效率的了。没有比他更高效率的除法实现了。当然这种方法需要大量的空间。
2、还有一种方法叫曲线拟合的方法。何谓曲线拟合?打个比方,函数f(x) = 1/x;我们知道函数f(x)是一条双曲线,在第一象限,我们可以用N条折线相连来逼近该曲线,如果我们知道每一条折线的斜率和x范围(折线方程用f(x) = kx + c表示),那么,函数的x值一旦给定,我们就可以通过该折线计算出的值来代替该函数的值,只要该折线和曲线逼近足够,那么获得的值的误差就是可以被接受的,从而实现了除法的运算。可以看到,折线方程的计算中没有除法,只有乘法和加法。对于DSP器件来说,乘法和加法是可以被硬件直接实现的,故,该除法的实现方式也可以被高效的实现。
3、第三种方法是级数展开的方法。打个比方,函数f(x) = 10log(x) ;
当|x-1|
f(x) = 10log(x) = 4.35[(x-1) - (1/2)*(x-1)^2 + (1/3)*(x-1)^3……]
显然,对于展开后的函数表达式已经没有了浮点数的除法了,虽然有一些除法,但是也仅仅是1/2或者是1/3、1/4这样简单的除法了,这些简直就可以用一个很小很小的表格来存贮。剩下的只是一些乘法操作和除法操作了,为了保证精度,仅仅需要计算前面四项到五项就可以了。所以,在函数收敛的时候,采用级数展开也未尝不是一种很好的实现算法。
4、另外还有一点需要注意的就是,如果a/b这种运算中的1/b很多的话,不妨先将1/b的值计算出来,然后统一做a*(1/b)的运算,那样也可以大大减少除法的运算量,提高系统的处理速度。


? ? 由于DSP本身的三大特性--多指令同时运行、硬件循环、硬件浮点乘法指令,决定了他在可以实现信号的实时数字处理,而51系统不能,所以我们的51系统需要配合大量的模拟电路来控制一个系统,而DSP系统则不要,他本身就可以集成51系统的数字控制部分和模拟电路处理部分的功能。
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0) 有新回复时发送邮件通知
电子工程专辑Apple Pay+指纹识别,开启移动支付新时代
第1楼

回复主题:DSP和51之我见--顺便说说DSP除法 (转)

发布时间:2007-9-25 下午1:32

作者: Rodger

等级: 遁门入道

积分: 356分

发帖数: 94次

网站总积分: 358分

经验值: 4.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
你讲得太多了,我看了一半。很疑惑。 1、架构!51用的是冯诺伊曼架构,DSP器件使用的哈佛架构。 请各路朋友帮他看看这句话讲得对不对!
一个大学生完成电子设计的全过程 值得一读 (下载2666 次) 书上学不到的~某高手谈开关电源设计心得,经典~ (下载2580 次)
运放和比较器的根本区别 (下载2242 次) 焊接工艺(花了很多时间整理,图文并茂) (下载2674 次)
电子电路制作大全[PDF共6本] (下载128277 次) WiFi模块全总结 (下载4332 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑害人不浅的“智能”医疗App
第2楼 回复主题:DSP和51之我见--顺便说说DSP除法 (转) 发布时间:2009-5-11 下午7:21

作者: 黄牛wqy

等级: 学有小成

积分: 440分

发帖数: 140次

网站总积分: 446分

经验值: 0.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
最近正在用合众达的DEC6416,路过看看 没有实践经验是没有发言权的,容易误导人~
【年度巨献】《嵌入式系统开发之道-菜鸟成长日志与项目经理的私房菜》 (下载1090 次) 一本很好的通信原理教程 (下载17257 次)
开关电源及电源设计经验集锦! (下载1154 次) [共享]10个清晰的经典电路 (下载13485 次)
学习单片机总结宝典 (下载3060 次) C语言常用算法程序集 (下载10858 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)
电子工程专辑从教育看印度工程师的培养
第3楼 回复主题:DSP和51之我见--顺便说说DSP除法 (转) 发布时间:2009-5-12 上午6:21

作者: LucienZ

等级: 初入江湖

积分: 114分

发帖数: 2次

网站总积分: 117分

经验值: 0.0

查看用户的所有发言

查看用户的个人e空间

需要确认注册邮箱后才能下载,立即确认我的邮箱
回复后可下载附件 关闭
51是哈佛结构!
【竞赛】全国电子设计竞赛各届题目及获奖作品集锦(含各届获奖作品论文,其中一些有源代码及PCB) (下载1430 次) 硬件工程师手册 (下载3523 次)
Cortex-M3权威指南中文版 (下载7798 次) 电容寿命的设计方法 (下载3627 次)
51单片机各类源程序集锦 (下载3669 次) 一周看懂电路图 (下载6484 次)
引用 回复 鲜花 ( 0) 臭鸡蛋 ( 0)

?
快速回复
用户名:?
美国的游客?????? (您将以游客身份发表,请登陆 | 注册 ) ?
标题: * 你还可以输入80
评论: * 你还可以输入10000
分享到: 新浪微博?? qq空间?? qq微博?? 人人网?? 百度搜藏??
验证码: ?*?
维护专业、整洁的论坛环境需要您的参与,请及时举报违规帖子,如果举报属实,我们将给予相应的积分奖励。
谢谢您的热心参与!
返回信号处理专区 | 返回自由讨论
本论坛仅陈述专家或个人观点,并不代表电子工程专辑网站立场。
返回论坛页首
有问题请反馈