我想学习一下dsp或是fpga,但不知学习哪个好,求高手指点,万分感谢
别人不会的东西,难道你自己创造。
说真的。这个看个人爱好的。ARM跑linux基本上可以说是玩软件的。
DSP是数字信号处理,可以说数学一定要好,算法要过关,傅里叶啊,FFT啊,DFT等。FPGA是逻辑运算要好,时序要熟悉,有点偏硬件设计。
看个人爱好。反正这几样都有前途的。
本科生的话,建议做软件方向的嵌入式系统,即利用现有的芯片和操作系统(开源的非开源的都可以)进行开发。嵌入式没有竞争相对小的方向,不管你搞什么,今天无限风光,明天就有可能寄人篱下。希望楼主在选择之前首先端正一下态度,选择了电子工程师这条路,就没有“竞争小”这项选择。前途的话在个人,你要是真是个牛逼人物捡垃圾也能捡出不一样的精彩。
根据楼主本科生的情况,DSP还是不要碰了。这玩意单纯从编程角度来讲没有任何难度,其精髓在于你编程实现的算法.想把DSP用好,首先你将来从事的行业必须有大规模计算的需求,而且这种计算需求从某种程度上对时间要求比较高。比如通信,实时视频处理等方面。有些应用,比如地质数据分析,遥感数据分析,大规模计算的需求是有了,但是一个星期出结果和一年出结果没啥差别,那这种也就不需要DSP了,不如直接上PC来的顺手。其次应用DSP人员必须对自己行业所需要的专业知识极为精通,注意!这里的专业知识不是指什么数模电微机原理等“专业课”。而是解决本行业可能遇到的问题所需的知识。具体例子不好列举,就拿一般看得到的教材来说,很简单的DSP应用——FFT,你说你要是连FFT怎么回事儿都不知道,用在什么场合也没概念,什么时候用也说不清楚还搞什么DSP啊?DSP这东西跟什么学历没有太大关系,本科生也可以做得很好,关键是自己有没有足够的知识来用好它。
FPGA相对DSP来讲稍微简单一点,当然,视个人情况而定。比起动不动就FIR啊IIR啊椭圆滤波器啊Butterworth啊什么的,我更喜欢几百万门的与非逻辑。基本的逻辑电路设计,本科时候的数字电路就可以够用了。不过大的趋势还是做SOC。SOC这个概念不难理解,简单点说就是把你原来做的实验那个PCB板换成硅片,把与外界的连线换成管脚。用芯片做了原来电路板做的工作。单纯组建一套片上系统并不复杂,复杂的是这套系统的商业化成本。现在很多SOC设计里面大量应用的现成的IP都是需要付费的。一方面原因是如果自己设计,周期和风险就会成倍放大,另一方面针对某些功能的IP靠自己的力量也搞不出来。如果是学生或者独立开发者,当SOC进行到一定程度后就会感觉自己的开发寸步难行了。抬头望去到处都是IP壁垒。想做出自己的东西真的很不容易。如果你的理论知识够牛的话,可以自己设计IP也是一个挺好的出路。
不过这又回到了DSP的老话题:你的知识够用吗?以我们公司现在的视频处理项目来讲,实现的时候很简单,就是一连串的矩阵转换。问题是如果没人告诉你这么做,你自己能想到吗?如何把一个BMP或者PNG转换为YUV或者YPbPr?数据如何压缩?其实就是一堆色空间转来转去的。再比如让你用高斯算子和拉普拉斯算子做一个当前图像的边界检测,怎么做?先不讨论怎么做,麻烦问一下啥是高斯算子?归根到底,又是高等数学和线性代数那一档子事儿。按照中国当前的国情,50%的本科生基本靠混,另外50%不甘堕落的上进青年中,有90%不重视理论知识。所以FPGA入门可以,做也不是不能做,想有前途?难。
这就是为什么建议你做嵌入式软件的原因。软件面比较广,在你51单片机嵌入式编程的技术基础上继续深入嵌入式系统的应用编程方向,一来上手快,理解概念好理解一些,二来对理论知识的要求不是那么严苛。虽然没有理论知识你依然只是个代码民工,但是嵌入式编程本身的灵活性从另一方面给了自己发展的空间,也就是说单纯就代码如何实现上自己也可以学到不少东西。所以软件可以不限于某几个行业而存在,而DSP和FPGA不行。如果可以参与一些开源的项目,对自己的提升就更大了。
总之,本科生的话,如果不准备继续深造而且考虑今后一定时间的发展的话,做嵌入式软件比较合适。
FPGA是可编程硬件。这是一个相对比较新的领域,国外很多大公司比如intel,HP等也只是有专门的研发队伍进行此研究领域的研发,尚未有很多产品投向市场。在国内还不成熟,国内本来就没有很多公司愿意投入大量资金做研发,做FPGA的公司就更少了。
至于难易程度要看你准备掌握到什么深度了。FPGA开发要用硬件编程语言,与软件完全不同。而DSP一般提供了与C语言类似的API,如果你学过C的话可能相对比较熟悉DSP的编程。
DSP方向主要是c编程与算法,fpga是数字电路方向。两者完全不同,FPGA是硬件工程师中的一种,DSP是嵌入式软件工程师中的一种
连个一起学吧,经常会在一起应用,尤其是多媒体系统,还有通讯系统里面,FPGA可以节约PCB空间,整个一些器件,DSP做算法很不错。
当然 ,如果能用FPGA做软核或硬核,将系统集成在一块芯片上,就更好了。呵呵
哎 我学计算机的 我们学语言 有C语言 C++ JAVA,
教授说 每种语言都有它的好处 重要的是 学习它的方法 思维 ,因为以后很多东西都会变 但他的内在思想是不会变的
所以我觉得 没那个好 看你的喜爱 及实际情况吧
我也是学生,不过感觉现在在学校里学不到什么东西的了,都要靠自学才行,我目前选择了fpga,经同学推荐刚买了一块康草科技(www.21control.com)的板子,感觉他们的板子的做工和售后都不错,可以考虑一下。
答:学DSP吧,DSP是数字信号处理处理芯片,可以实现大量数字信号的高速运算,因此可以用于图像、视频处理这类数据量大的场合。因此学习DSP不但可以去科研院所,还可以去一些进行视频图像处理芯片开发的公司。FPGA是可编程硬件。这是一个相对比较新的领域,国外很多大公司比如intel,HP等也只是有专门的研发队伍进行...
答:1、硬件层面的不同。在硬件层面,DSP是ASIC,如同CPU GPU一样,适宜于量产降低成本,缺点是(硬件)设计一旦确定,便不易于修改。而FPGA较灵活,可以通过硬件描述语言进行快速设计和改进,但成本较高,传统上讲用于ASIC的prototype设计。2、软件层面的不同。在软件层面上,给DSP写程序和给多核CPU写程序,...
答:FPGA是DSP算法实现的一种重要硬件平台。在FPGA上实现DSP算法可以获得更高的性能和灵活性。设计师可以使用硬件描述语言将DSP算法直接转化为硬件电路,从而实现高速、并行的数字信号处理。总结:在DSP领域,FPGA由于其并行处理能力、高速度和高精度以及灵活性和可配置性等特点,表现出比通用处理器更好的性能。...
答:baiDSP最风光的时代已经过去了,但FPGA的时代尚未迎来顶du峰。从处理能力来看,DSP所具有zhi的单周期乘法运算单元在FPGA强大的并行处理能力比较下简直不值一提,也就是说DSP曾经引以为傲的实时信号处理能力相对FPGA来说已经成了弱项;从设计难度上看,DSP上针对性优化的常用的数字信号处理算法如FIR, FFT等...
答:单片机接口单一,一般只能提供TTL,CMOS等接口电平,其它的就需要外围电路实现;而现在FPGA的发展,大有超越和包含CPU的趋势,甚至能涵盖整个系统——只有想不到,没有做不到。 但是单片机简单实用,在机电工控领域应用广泛;而FPGA前途无量但复杂难学…… DSP(digital signal processor)与单片机区别在于核心的DSP核的运算能力(...
答:实践操作:理论学习是基础,但实践操作是掌握数字信号处理技能的关键。可以通过编程实现各种数字信号处理算法,如使用MATLAB、Python等编程语言进行仿真实验。此外,还可以使用硬件平台(如FPGA、DSP芯片等)进行实际的信号处理操作。参加培训和研讨会:可以参加数字信号处理相关的培训课程、研讨会、学术会议等活动...
答:在DSP方向走下去,就是为某款DSP平台写软件代码,在IC设计公司或系统设计公司工作。选择哪个方向,首先要看你自己的喜爱。自己不很喜欢的工作,不会做得很好,因为缺乏内在的动力。其次是看产业发展,做IC硬件设计,难度较大,但就业面相对较窄,在积累了一定经验以后职业地位相对稳固;做DSP软件设计,...
答:LynxOS等比较不常用 总结一下,涉及的课程主要有:电路分析,模拟电路,数字电路,C语言,C++,JAVA,操作系统原理,微机原理,单片机原理与应用,数据结构,嵌入式系统。拓展部分(就是说不是必须会的,有些公司需要):DSP、FPGA,传感器原理,信号分析。重点在于编程语言,即C/C++/JAVA等。
答:不一定要会DSP,verilog是一种硬件语言,可以用来编写FPGA程序,FPGA是一种可编程芯片,在工业应用中它主要体现在开发周期短,可以迅速推向市场,相比开发专用芯片要快的多,但缺点是价格贵。在学生的学习应用方面,只要是用它做控制模块,来开发一些小系统 ...
答:1、这世界真是疯了,貌似有人连FPGA原理是什么都不知道就开始来学习FPGA了。2、DSP就 是一个指令比较独特的处理器。它虽然是通用处理器,但是实际上不怎么“通用”。技术很牛的人可以用DSP做一台电脑出来跑windows,而实际上真正这 么干的肯定是蠢材。用DSP做信号处理,比其他种类的处理器要厉害;用...