VisualC++与MATLAB混合编程在数字信号处理中的应用.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:186KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

VisualC++与MATLAB混合编程在数字信号处理中的应用.pdf

VisualC++与MATLAB混合编程在数字信号处理中的应用.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VisualC++与MATLAB混合编程在数字信号处理中的应用ApplicationofVC++andMATLAB[]Mixed—ProgramminginDSP丁洲苏兰兰(上海海事大学上海200135)摘要MATLAB是一个功能非常强大的数值计算和可视化软件,广泛应用于线性代数、自动控制、数字信号处理、动态系统仿真等领域.MATLAB程序被Vc++、VB及其它语言编制的程序调用,将大大提高编程效率、保证程序的准确性,并且继承vc++等软件良好的用户界面.文章介绍了通过MATLAB引擎、MATLAB自身编译器以及利用MathTools公司的Matcom进行工具箱函数调用的方法.关键词MATLAB6.5MATLAB引擎数字信号处理Matcom编译器AbstractMATLABisapowerfulvisualsoftwarefo,.numericalvaluecalculation,anditiswide~usedinlinearalgebra,automaticcontrol,DSP,d3,namicsystemsimulation,etc.ItwillsignifcantlyraisetheefficiencyofprogrammingandensureprogramaccuracywhenMATLABprogramiscalledbyotherprograms,suchasthoseprogrammedin++,VBorotherlanguages.ThisarticleintroduceshowtocallthetoolboxfunctionsofMATLABthroughMATLABSengine。compilerorMatcomfromMathTools.KeywordMATLAB6.5,MATLABengine,DSP,Matcomcompiler中图分类号:TP31文献标识码:A文章编号:1005-8354(2004)06-0017-051前言的集合,处理的基本对象是信号与系统,信号处理VisualC++是Microsoft公司推出的可视化编程工具箱位于目录MATLAB\Toolbox\Signal下,利用语言,是目前最强大的综合性软件开发工具之一,工具箱中的文件可以实现信号的变换、滤波、谱估应用极为广泛.MATLAB是Mathwork公司推出的计、滤波器设计等.如果能在其它的环境,如VC++一种高性能数值计算和可视化软件,也称矩阵实验下调用MATLAB工具箱中的文件,则会大大地加室,在信号处理、数值分析、系统辨识等方面具有快一些算法的实现,同时其可靠性也很高.下面分广泛的应用.MATLAB的突出特点是简洁,利用丰别介绍用MATLAB自身的引擎、编译器和富的函数资源,给用户带来最直观的开发环境.如MathTools公司的Matcom调用工具箱中函数的方果把MATLAB与VisualC++很好地结合起来,将大法.大提高编程工作的效率.下面通过在vC++下利用2.1MATLAB引擎MATLAB工具箱进行数字信号处理的方法,介绍MATLAB引擎采用客户和服务器计算方式,在VisualC++与MATLAB的混合编程.运用中,VC的C语言或C++语言的程序作为前端客户机,向MATLAB引擎传递命令和数据信息,2、,c++下利用MATLAB工具箱的数字信号处并从MATLAB引擎接收数据信息,MATLAB提供理了下列几个函数与客户机进行交互:engOpen,MATLAB的信号处理工具箱是信号算法文件engGetArray,engPutArray,engEvalString,engOutput机r}!l设备2004年第6期一l7一Bufer,engClose.sizeof(double));下例是VC下建一个基于对话框的应用程memcpy((char)mxGetPr(mFs),(char)Fs,序,在对话柢·fl设置‘个Button控件OnMATLABlsizeof(double));Engine,在对话框cpp文件中加入engine.h和math.hengPutArray(ep,T)://将转化的参数放入引擎头文件,下面是部分程序清单.中,此时可在MATLABcommand窗口下查看此参VoidCtestMATLABDlg::OnMATLABEngine()数Engineep;engPutArray(ep,mnfft);mxArrayT=NULL.result=NULL.mFs=NUengPutArray(ep,mFs);LL.mnfft=NULL:engEvalString(ep,”[pxx,fo]=p