Vc++下如何利用Matlab工具箱进行数字信号处理
Psd
为了简洁且便于处理将生成的 c函数稍改动,给出部分代码如下:
本文链接地址:http://www.oyaya.net/fanwen/view/144478.html
将上述生成的
.c文件的头文件加入到工程的.cpp中,且将#ifdef_cplusplus extern “c”{#end if
c
代码声明加入Vc的包含文件和生成的.C的包含文件之间将
#ifdef_cplusplus}
#end if
加入.cpp文件未尾void CTestpsdwinDlg::OnButtonPsd(){
mxArray* x_rhs_;//
指向采集数据存放区 Fs=23510;//数据采集的频率 nfft=1024;//1024点的fftdouble datax[1024]//
采集的数据x_rhs_mxCreateDoubleMatrix(1,1024,mxReal);
memcpy(mxGetPr(x_rhs_),datax,1024*sizeof(double));
noverlap=512;
……………….
……………….
mccCopy(&Pxx,&Spec);
mccCopy(&f,&frevgg_vector);
for(int j=0;j<(int)(nfft/2+1);j++)
{
datap[j]=mccGetRealVectorElement(&Pxx, (j+1));//
功率谱密度存于datap[]数组 dataf[j]=mccGetRealVectorElement(&f, (j+1));//相应频率存于数组dataf[]中}
《Vc++下如何利用Matlab工具箱进行数字信号处理(第6页)》