搜索
bottom↓
回复: 16

搞算法是不是一定要接触硬件?

[复制链接]

出0入0汤圆

发表于 2011-11-13 22:26:09 | 显示全部楼层 |阅读模式
以我之见,不必。

matlab本身已经很强大了,搞算法验证很快捷,基于PC机,本身硬件配置很高,内存一般2G,读写大文件有完善的操作系统支持,不必关心底层驱动的实现。

而DSP硬件却种类繁多,开发工具也参差不齐,虽然也有标准数学库,但跟matlab比起来差得多。学习硬件费时而且很容易受硬件干扰,片上存储器一般容量都是KB级别的,很少超过2MB,外扩DDR2又增加了系统复杂度,开发时不得不受到各方面的限制。

所以,学DSP硬件和学DSP算法方向是有差别的!

如果学DSP硬件,那就仔细研究硬件功能模块(CPU,时钟,定时器,中断,EMIF,串行接口……)和软件(C编译器,汇编器,汇编指令……),其实只要学过单片机,开发过完整软硬件系统,这些都不难掌握的。

如果学DSP算法,那就要专注理论的学习。信号与系统,数字信号处理,通信原理,这些基础基础课要牢牢掌握,这样就能完成简单的算法设计了,包括数字滤波器设计,各种通信编码实现,频谱、功率谱分析,基带信号处理等。再高深的,学一下随机过程,数值分析,泛函分析,矩阵论,反卷积,数字图像处理,小波变换……这些搞定了,那开发复杂协议,搞语音识别、特征提取,雷达探测,天文数据处理、气象分析,音视频、图像编解码实现,地震预测……都不成问题了

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-11-13 22:27:24 | 显示全部楼层
不用,数学牛点就行。

出0入0汤圆

发表于 2011-11-13 22:30:30 | 显示全部楼层
算法博士做,开发实现民工做

出0入0汤圆

 楼主| 发表于 2011-11-13 22:35:00 | 显示全部楼层
回复【1楼】suncq
-----------------------------------------------------------------------

确实……

最近考数学,抓紧复习了………………

出0入0汤圆

发表于 2011-11-13 22:38:33 | 显示全部楼层
算法与其实现是密切关联的,你在PC机上搞个算法看起来能行,但放到DSP上很可能跑不起来。算法设计必须基于一定的资源要求。

出0入0汤圆

发表于 2011-11-15 08:59:33 | 显示全部楼层
确实,搞算法的不用搞硬件的。

出0入0汤圆

 楼主| 发表于 2011-11-16 00:25:21 | 显示全部楼层
回复【2楼】NJ8888
-----------------------------------------------------------------------

也未必,高手在民间嘛~

博士如果只搞理论,脱离实际,也研究不出啥成果

出0入0汤圆

发表于 2011-11-16 00:54:08 | 显示全部楼层
好的算法工程师一定是清楚硬件层面的工作原理的,一个最简单的例子
一个5阶滤波器设计,一个普通的算法工程师可能设计成 {0.09, -0.5, 1.12, -0.5, 0.09}
一个好的算法工程师,必定考虑实现复杂度和效果之间的平衡,也许会是这样 {23/256, -1/2, 285/256, -1/2, 23/256}
而且算法这个东西,不熟悉的总有个误解,认为是纯粹数学的东西,个人理解,其实是更偏概率的东西
举个简单例子,JPEG中最后一步的熵编码采用的是huffman编码,熵编码是个数学的概念,但是实际的码字呢,科学家是怎么算出来的,其实不是算出来的,是几十万个实际的图像序列中统计出来的,这样的例子举不胜举

出0入0汤圆

发表于 2011-11-16 08:20:50 | 显示全部楼层
回复【7楼】crazy.diamond  
好的算法工程师一定是清楚硬件层面的工作原理的,一个最简单的例子
一个5阶滤波器设计,一个普通的算法工程师可能设计成 {0.09, -0.5, 1.12, -0.5, 0.09}
一个好的算法工程师,必定考虑实现复杂度和效果之间的平衡,也许会是这样 {23/256, -1/2, 285/256, -1/2, 23/256}
而且算法这个东西,不熟悉的总有个误解,认为是纯粹数学的东西,个人理解,其实是更偏概率的东西
举个简单例子,jpeg中最后一步的熵编码采用的是huffman编码,熵编码是个数学的概念,但是实际的码字呢,科学家是怎么算出来的,其实不是算出来的,是几十万个实际的图像序列中统计出来的,这样的例子举不胜举
-----------------------------------------------------------------------

同意,其实算法没有那么神乎其神,算法的初衷也是为了解决在实际中碰到的问题。只不过慢慢抽象成纯了数学的东西,看似和实际脱离了。但个人认为,真正好的算法还是要考虑到实际实现时的效率。
硬件、软件和算法在研究时的侧重点有所不同。

出0入0汤圆

发表于 2011-11-16 09:27:21 | 显示全部楼层
有人做模型,自然不用管物理实现,如果没模型,那恐怕不是知道硬件那么简单了

出0入0汤圆

发表于 2011-11-16 10:04:57 | 显示全部楼层
这个讨论很好,等高手发表见解。

出0入0汤圆

发表于 2011-11-16 12:16:20 | 显示全部楼层
回复【8楼】redbat_228
-----------------------------------------------------------------------

有道理!

出0入0汤圆

发表于 2011-11-17 00:36:53 | 显示全部楼层
回复【9楼】1ongquan
有人做模型,自然不用管物理实现,如果没模型,那恐怕不是知道硬件那么简单了
-----------------------------------------------------------------------

首先同意这个观点,但是我觉得我们这个帖子的讨论应该建立在一个普遍适用的范围里面。
就是绝大部分的算法工程师,说实话,个人观点,可能永远达不到这个境界,能做的也就是在
现有模型的基础上优化提升,比如视频压缩的分块混合编码模型,几十年来一直也是在原有基础上
不断深化,加强;新的纹理加形状编码模型发明十几年来也一直因为硬件的限制而无大的发展。
所以,做算法要清醒了解自己的定位,做模型是需要的,但是是极难的
踏踏实实在前人基础上根据工程需要多做优化,做效率是条切实可行之路

出0入0汤圆

发表于 2011-11-17 19:22:19 | 显示全部楼层
都应该有所了解,这是最好的我认为。

出0入0汤圆

发表于 2011-12-12 16:44:50 | 显示全部楼层
算法就是核心控制思想,这个理解透了,程序研究得才够深入。硬件同样重要,不光体现在设计与控制方面,在调试中也是重要的。比如在调试中一个问题出来了,你懂硬件控制原理,马上能判断是硬件还是软件问题?知道哪块出了毛病,自己能立马解决。

出0入0汤圆

发表于 2012-2-6 20:51:40 | 显示全部楼层
DSP算法是不是一定要高数很好才可以呀?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表