必威体育精装版-高中信息技术教学论文Vc++下如何利用Matlab工具箱进行数字信号处理精品.pdfVIP

必威体育精装版-高中信息技术教学论文Vc++下如何利用Matlab工具箱进行数字信号处理精品.pdf

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Vc++下如何利用 Matlab 工具箱进行数字信号处理 摘要 : 本文详述了在 Vc 环境下如何利用 Matlab 工具箱进行数字信号处理,全文以 Matlab 工具箱 中功率谱密度分析函数为例,介绍了通过 Matlab 自带的引擎、 Matlab 自身的编译器以及利 用 MathTools 公司的 Matcom进行对工具箱函数的调用。 关键词 :Matlab M- 文件 引擎 编译器 Matcom Vc++ Matlab 的信号处理工具箱是信号算法文件的集合,它处理的基本对象是信号与系统,信号 处理工具箱位于目录、 Toolbox\Signal 下,利用工具箱中的文件可以实现信号的变换、滤 波、谱估计、滤波器设计等。在其它的环境如 Vc 下如果能调用 Matlab 工具箱中的文件, 会 大大地加快一些算法的实现,同时其可靠性也很高。 1. 利用 Matlab 引擎 Matlab 引擎采用客户和服务器计算方式,在运用中, Vc 的 C语言或 C++语言的程序 作为前端客户机,它向 Matlab 引擎传递命令和数据信息,并从 Matlab 引擎接收数 据信息,它提供了下列几个函数: engOpen, engGetArray, engPutArray, engEva String, engOutputBuffer ,engClose 与客户机进行交互。 下面例程是在 Vc 下建一个基于对话框的应用程序,在对话框中设置一个 Button 控 件 OnMatlabEngine., 在对话框 .cpp 文件中加入” engine.h ” 和“ math.h ” 头文 件,下面给出部分程序清单。 Void CtestmatlabDlg::OnMatlabEngine(){ Engine *ep; mxArray* T=NULL,*result=NULL,*mFs=NULL,*mnfft= NULL; double datax[1184]; char buffer[1184]; for(int j=0;j1184;j++)// 注: 如通过采集卡采集数据可将采集的数据放在 datax [] 数组中 , 此循环就不需要 { double samt=(double)(1.0/1184); datax[j]=sin(2.0*63.0*samt*3.1415926+1.15*3.1415926); } double *pPxx,*pFxx; if(!(ep=engOpen( \0))){// 打开 Matlab 引擎,建立与本地 Matlab 的连接 fprintf(stderr,\n Cant start MATLAB engine\n); exit(-1); } double Fs[1]={1184};// 因为 Matlab 所有参与运算的参数都是矩阵的形式, 因而下 列几行将参数转变 double nfft[1]={1184};// 成 Matlab 可接受的矩阵形式。 T=mxCreateDoubleMatrix(1,1184,mxREAL); mnfft=mxCreateDoubleMatrix(1,1,mxREAL); mFs=mxCreateDoubleMatrix(1,1,mxREAL); mxSetName(T,T); mxSetName(mnfft,mnfft); mxSetName(mFs,mFs); memcpy((char*)mxGetPr(T),(char*)datax, 1184*sizeof(double)); memcpy((char*)mxGetPr(mnfft),(char*)nfft, sizeof(

文档评论(0)

拉拉链 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档