您现在的位置: 范文先生网 >> 理工论文 >> 计算机信息技术 >> 正文

Vc++下如何利用Matlab工具箱进行数字信号处理

时间:2007-1-18栏目:计算机信息技术

摘要: 本文详述了在Vc环境下如何利用Matlab工具箱进行数字信号处理,全文以Matlab工具箱中功率谱密度分析函数为例,介绍了通过Matlab自带的引擎、Matlab自身的编译器以及利用MathTools公司的Matcom进行对工具箱函数的调用。

关键词:Matlab M-文件 引擎 编译器 Matcom Vc++

Matlab的信号处理工具箱是信号算法文件的集合,它处理的基本对象是信号与系统,信号处理工具箱位于目录、Toolbox\Signal下,利用工具箱中的文件可以实现信号的变换、滤波、谱估计、滤波器设计等。在其它的环境如Vc下如果能调用Matlab工具箱中的文件,会大大地加快一些算法的实现,同时其可靠性也很高。

  1. 利用Matlab引擎

    Matlab引擎采用客户和服务器计算方式,在运用中,VcC语言或C++语言的程序作为前端客户机,它向Matlab引擎传递命令和数据信息,并从Matlab引擎接收数据信息,它提供了下列几个函数: engOpen, engGetArray, engPutArray, engEvaString,

    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[1024];

    char buffer[1024];

    for(int j=0;j<1024;j++)//注:如通过采集卡采集数据可将采集的数据放在datax[]数组中,此循环就不需要

    {

    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页

    下页更精彩:1 2 3 4 下一页