⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waveletrma.txt

📁 执行小波多分辨分解
💻 TXT
字号:
附录:

1、小波多分辨分析核心代码(DELPHI 7.0下调试通过)


//滤波器系数
function db4():real;
var
   k,isgn:integer;
begin
 //       int k,isgn;
 //   GIVED BY DAUBECHIES */
 //   g=(-1)**n*h(1-n)    */

	  h[0]:=0.2303778133088964;
	  h[1]:=0.7148465705529154;
	  h[2]:=0.6308807679398597;
	  h[3]:=-0.0279837694168599;
	  h[4]:=-0.1870348117190931;
	  h[5]:=0.0308413818355607;
	  h[6]:=0.0328830116668852;
    h[7]:=-0.0105974017850890;

   { h[0]:=0.1629;
    h[1]:=0.5055;
	  h[2]:=0.4461;
	  h[3]:=-0.0198;
	  h[4]:=-0.1323;
	  h[5]:=0.0218;
	  h[6]:=0.0233;
    h[7]:=-0.0075;
    }

	  isgn:=-1;
	  //for k=0;k<8;k++) {
		 // g[k]=isgn*h[7-k];
		  //isgn=-isgn;    	  }
     for k:=0 to 7 do
       begin
         g[k]:=isgn*h[7-k];
         isgn:=-isgn;
       end;

end;

function wd(Nu:integer;h,g,c,d:array of real):real;
//    //decompostion
var
   k,n,k2,l:integer;
   ck,dk,c0n:real;
begin
    for k:=0 to Nu do
      begin
        ck:=0.0;
        dk:=0.0;
           for l:=0 to 7 do
             begin
                	n:=k+l;
			           	ck:=ck+c0[n mod Nu]*h[l];
				          dk:=dk+c0[n mod Nu]*g[l];
             end;
            c[k]:=ck;
            d[k]:=dk;
      end;
    for k:=0 to nu div 2 do
      begin
         c0[k]:=c[2*k];
		    // c0[Nu div 2+k+1]:=d[2*k];
         c0[Nu div 2+k+1]:=0;
      end;

end;

function wr(Nu:integer;h,g,c,d: array of real):real;
//   wavelet reconstruction
var
    k,n,l:integer;
    ck,cn,dn:real;
begin
    n:=0;
    for k:=0 to nu div 2 do
      begin
        c[2*k]:=c0[k];
		    c[2*k+1]:=0;
		    d[2*k]:=c0[(Nu div 2)+k+1];
		    d[2*k+1]:=0;
      end;
      for k:=0 to Nu do
        begin
          ck:=0.0;
          for l:=0 to 7 do
            begin
              n:=k-l;
              cn:=c[(Nu+1+n) mod (Nu+1)];
              dn:=d[(Nu+1+n) mod (Nu+1)];
              ck:=ck+cn*h[l]+dn*g[l];
            end;
          c0[k]:=ck;
        end;
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -