当前位置:首考文秘网>范文大全 > 公文范文 > 简化“算法到c代码”是软件业的一项挑战

简化“算法到c代码”是软件业的一项挑战

时间:2023-07-09 17:30:03 公文范文 来源:网友投稿

算法密集型电子和通信系统的设计需要大量算法和熟悉C/C++的人员。现在,从算法到c代码有望一键实现了。

不久前,数学计算软件的领先软件供应商MathWorks公司发布了MATLAB Coder。该公司称是一个全新平台,是过去十年专注努力的结晶,特点是可以直接从MATLAB算法到实现一键完成。

MathWorks中国教育业务发展总监陈炜博士解释道,传统上,算法密集型电子和通信系统的设计通常首先使用MATLAB:MATLAB算法最后需要转换为c代码,以集成到最终产品中。从MATLAB手动转换为c可能需要数天到数周的时间,有可能产生设计错误并造成投放市场的时间延迟。现在,设计工程师可以使用MATLAB加快开发任务(如定点设计和原型建立),然后使用MATLAB Coder自动生成c代码。传统软件分工

MATLAB是矩阵实验室的缩写复合词,在MathWorks看来,所有算法都可以转化为矩阵,而MATLAB的目标是做算法易于开发的科学计算平台。现在的算法工程师或系统工程师可能是某个方面专家,例如信号处理、图像处理、通信处理以及其他算法密集型的开发应用。这些领域核心的工作需要一些创新或自己的IP(知识产权)。对于使用MATLAB的设计、系统和研发工程师/研究人员,当他们把新的构想和算法写出来后,真正实现需要硬件或软件工程师重新写C/C++代码来实现。

传统的从算法到c代码的流程如图l。左侧是某一领域的专家,有新的想法后,例如想开发新的雷达系统(算法),或新一代的手机(不仅有蓝牙、WiFi和3G等,还要完成多任务处理等),在概念设计阶段最重要的任务是算法/想法是可以实现的。MATLAB可以快速地实现算法,因为优势是一种算法平台,无需专门针对某种硬件和考虑细节,例如数据类型、内存管理等(这些是c代码开发的人实现的),只需要考虑概念能否实现。用MATLAB写完程序,验证合格后,再由软硬件工程师手动地、重新基于这些算法,改写成c/C++代码。为何要用C,C++

如图l右侧,需要用C/c++。其原因是:首先,现在的新技术开发是跨团队或跨领域的,而c是多领域通用的。很可能是某团队只开发某一功能,最重要的是需要多团队工作融合成一个平台,需要C/C++源代码来分享,因此第一部分要手动写出c/c++源代码。

第二部分是,exe,在算法开发后,要验证,快速原型,即到硬件上后实时是什么样:还有测试,需要开发各种测试环境,保证模型在各种开发环境下都是可靠的,用,exe可执行文件就可以脱离MATLAB平台,这是为快速原型开发和测试时使用的。

Jib文件(库文件)生成了静态库,可使更多的组件或仿真器来直接调用。

MEX是MATLAB Executable(MATLAB下的可执行文件),意味着当有了c语言后,还可以生成MEX可执行文件,回到MATLAB环境,做更多的验证。

传统来说,既有专家级的人物开发算法,又有另一部分人写c代码,这是一个循环往复的工作,直至拿到c/c++代码获得最优处理。有了MATLAB Coder,工作简化为一个人一一系统工程师或算法工程师,想一个新的算法或需求,然后再直接生成代码,即源文件,这大大缩减了代码生成时间。

推荐访问:软件业 简化 算法 挑战 代码

版权所有:首考文秘网 2015-2024 未经授权禁止复制或建立镜像[首考文秘网]所有资源完全免费共享

Powered by 首考文秘网 © All Rights Reserved.。备案号:冀ICP备15026071号-91