非下采样轮廓波变换源码及文献


这个文件里含有一篇文献和该文献的程序代码,主要是实现非下采用轮廓波变换。希望对大家有用!
资源截图
代码片段和文件信息
/******************************************************************
* atrousc.c -  Written by Arthur Cunha. This routine builds up on 
*               zconv2D_OS.c written by Jason Laska
*
* Inputs:   x - A 2D signal
*           h - 2D filter
*           m - separable upsampling matrix
*         
* Outputs:  y - 2D result of convolution with filter 
*           upsampled by a m only the ‘valid‘ part is returned.
*           Similar to conv2(xh‘valid‘) where h is the upsampled
*           filter.
*  
*          
*
* Usage:    y = zconv2D_O(xhm);
*
* Notes:    This function does not actually upsample the filter 
*           it computes the convolution as if the filter had been 
*           upsampled. This is the ultimate optimized version.
*           Further optimized for separable (diagonal) upsampling matrices.
*
* This is a MEX-FILE for matlab
*
/********************************************************/

#include “mex.h“
#include 

//Constants for matlab interfacing
#define OUT     plhs[0]
#define SIGNAL  prhs[0] //flip and shift
#define FILTER  prhs[1] //stationary
#define MMATRIX prhs[2]

//MACRO for converting positions to linear
#define LINPOS(rowcolcollen) (row*collen)+col


void mexFunction(int nlhs mxArray *plhs[] int nrhs const mxArray *prhs[])
{
    //Declarations
   double *FArray*SArray*outArray*M;
/* FArray   - Filter coefficients
   SArray   - Signal coefficients
   outArray - Output coefficients
   M        - upsampling matrix  */
   int SColLengthSRowLengthFColLengthFRowLengthO_SColLengthO_SRowLength;
   int SFColLengthSFRowLength;
   int n1n2l1l2k1k2f1f2 kk2 kk1;
   double sum;   
   int M0M3sM0sM3;

    //Get the input sizes
    SColLength = mxGetM(SIGNAL); 
    SRowLength = mxGetN(SIGNAL);
    FColLength = mxGetM(FILTER); 
    FRowLength = mxGetN(FILTER);
    
    SFColLength = FColLength-1;
    SFRowLength = FRowLength-1;
    

//Get The Data
    FArray = mxGetPr(FILTER);
    SArray = mxGetPr(SIGNAL);
    M = mxGetPr(MMATRIX);
    M0 = (int)M[0];    
    M3 = (int)M[3];   
    sM0 = M0-1;
    sM3 = M3-1;
    

// Corrected Lengths

O_SColLength = SColLength - M0*FColLength + 1;
O_SRowLength = SRowLength - M3*FRowLength + 1;


    //Make output size and Allocate out vector
    
 
    OUT      = mxCreateDoubleMatrix(O_SColLength O_SRowLength mxREAL); 
    outArray = mxGetPr(OUT); //outArray is new vector
 
/* Convoluyion loop */

    for (n1=0;n1 for (n2=0;n2 sum=0;     
    kk1 = n1 + sM0;;
for (k1=0;k1       kk2 = n2 + sM3;
for (k2=0;k2  f1 = SFRowLength - k1; /* flipped index */
 f2 = SFColLength - k2;  
 sum+= FArray[LINPOS(f1f2FColLength)] * SArray[LINPOS(kk1kk2SColLength)];
 kk2+=M3;
}
kk1+=M0;

    outArray[LINPOS(n1n2O_SColLength)] = sum;
}
}

    return;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2969  2004-10-17 16:42  nsct_toolbox
sct_toolboxatrousc.c

     文件       7168  2004-10-17 16:45  nsct_toolbox
sct_toolboxatrousc.dll

     文件       8664  2005-01-24 21:51  nsct_toolbox
sct_toolboxatrousc.mexmac

     文件       1234  2005-11-03 09:10  nsct_toolbox
sct_toolboxatrousdec.m

     文件      19406  2004-09-09 15:01  nsct_toolbox
sct_toolboxatrousfilters.m

     文件       1012  2004-10-17 16:45  nsct_toolbox
sct_toolboxatrousrec.m

     文件       3214  2005-01-21 15:59  nsct_toolbox
sct_toolboxdecdemo.m

     文件       1495  2004-12-22 22:48  nsct_toolbox
sct_toolboxdfbdecdemo.m

     文件      13234  2004-10-18 12:28  nsct_toolbox
sct_toolboxdfilters.m

     文件       2607  2004-12-22 21:26  nsct_toolbox
sct_toolboxdmaxflat.m

     文件       1103  2003-04-10 11:30  nsct_toolbox
sct_toolboxefilter2.m

     文件       1861  2003-11-06 00:25  nsct_toolbox
sct_toolboxextend2.m

     文件        856  2003-04-10 11:30  nsct_toolbox
sct_toolboxld2quin.m

     文件        662  2003-11-05 10:17  nsct_toolbox
sct_toolboxldfilter.m

     文件        854  2003-11-05 10:19  nsct_toolbox
sct_toolboxmctrans.m

     文件        775  2003-04-10 11:30  nsct_toolbox
sct_toolboxmodulate2.m

     文件       4662  2005-11-03 10:47  nsct_toolbox
sct_toolbox
sctdec.m

     文件       3257  2005-11-03 10:33  nsct_toolbox
sct_toolbox
sctrec.m

     文件       5046  2005-01-20 23:13  nsct_toolbox
sct_toolbox
sdfbdec.m

     文件       4931  2005-01-20 23:14  nsct_toolbox
sct_toolbox
sdfbrec.m

     文件        889  2005-12-19 11:12  nsct_toolbox
sct_toolbox
sfbdec.m

     文件        821  2004-10-21 07:11  nsct_toolbox
sct_toolbox
sfbrec.m

     文件       2424  2005-01-20 23:51  nsct_toolbox
sct_toolbox
ssfbdec.m

     文件       2785  2005-01-20 23:50  nsct_toolbox
sct_toolbox
ssfbrec.m

     文件       1552  2004-08-07 18:43  nsct_toolbox
sct_toolboxparafilters.m

     文件       1161  2003-11-07 19:58  nsct_toolbox
sct_toolboxqupz.m

     文件       1557  2005-01-20 23:45  nsct_toolbox
sct_toolboxREADME.txt

     文件       1981  2003-04-10 11:30  nsct_toolbox
sct_toolbox
esampz.m

     文件       1001  2005-01-20 23:27  nsct_toolbox
sct_toolboxshownsct.m

     文件        888  2005-12-19 11:07  nsct_toolbox
sct_toolboxsymext.m

............此处省略15个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)