資源簡(jiǎn)介
使用db4小波,對(duì)離散信號(hào)進(jìn)行分解重構(gòu),代碼數(shù)據(jù)都有。

代碼片段和文件信息
?
#define?N0?1024*2
#include?“stdio.h“
#include?“stdlib.h“
#include?“math.h“
#include?“string.h“
#include?“tool.h“
void?db4(double?*h0double?*h1double?*g0double?*g1);
void?conv(double?*aint?len_adouble?*bint?len_bdouble?*result);?
void?wkeep(double?*aint?len_aint?lendouble?*result);?
void?dyaddown(double?*aint?len_adouble?*result);?
void?dyadup(double?*aint?len_adouble?*result);
void?vectoradd(double?*adouble?*bint?len_adouble?*result);
void?vectordetract(double?*adouble?*bint?len_adouble?*result);
void?main()
{
int ???LEN_F=8LEN_S;
double?h0[8]h1[8]g0[8]g1[8];
double?*orign_y*recon_y*diff_y;
//float?fk0[N0];
double?*decom_low *decom_hig;
double?*decom_low_down *decom_hig_down;
double?*recon_low_up *recon_hig_up;
double?*recon_low *recon_hig;
double?*recon_low_better*recon_hig_better;
FILE *fp;
int iLEN_K;
char *FileName=“Data.txt“;
float file_y[N0];
//輸入信號(hào)fk0長(zhǎng)度為N
fp=fopen(“wdata.dat““rt“);
fscanf(fp“%d“&LEN_S);
orign_y?=?(double?*)?calloc(?LEN_Ssizeof(double));
recon_y =?(double?*)?calloc(?LEN_Ssizeof(double));
diff_y =?(double?*)?calloc(?LEN_Ssizeof(double));
decom_low=?(double?*)?calloc(LEN_S+LEN_F-1sizeof(double));
decom_hig=?(double?*)?calloc(LEN_S+LEN_F-1sizeof(double));
decom_low_down=?(double?*)?calloc(?(LEN_S+LEN_F-1)/2sizeof(double));
decom_hig_down=?(double?*)?calloc(?(LEN_S+LEN_F-1)/2sizeof(double));
LEN_K=(LEN_S+LEN_F-1)/2*2+1;
recon_low_up=?(double?*)?calloc(?LEN_Ksizeof(double));
recon_hig_up=?(double?*)?calloc(?LEN_Ksizeof(double));
recon_low=?(double?*)?calloc(?LEN_K+LEN_F-1sizeof(double));
recon_hig=?(double?*)?calloc(?LEN_K+LEN_F-1sizeof(double));
recon_low_better=?(double?*)?calloc(?LEN_Ssizeof(double));
recon_hig_better=?(double?*)?calloc(?LEN_Ssizeof(double));
for(i=0;i fscanf(fp“%f“&file_y[i]);
orign_y[i]=file_y[i];
}
fclose(fp);
//構(gòu)造濾波器組(分解的高通低通,重構(gòu)的高通低通)
db4(h0h1g0g1);
fp=fopen(FileName“w“);fclose(fp);
Vector2File(FileName“\n\n濾波器系數(shù)\n“LEN_F“\th0=%10f“h0“\th1=%10f“h1“\tg0=%10f“g0“\tg1=%10f\n“g1““);
//對(duì)信號(hào)進(jìn)行小波分解
/*
decom_low=conv(yLOW_DECOMPOSE);?%卷積?
decom_hig=conv(yHIGH_DECOMPOSE);?
decom_low_down=dyaddown(decom_low);?%抽取得低頻細(xì)節(jié)
decom_hig_down=dyaddown(decom_hig);?%信號(hào)高頻細(xì)節(jié)?
decom_low
decom_hig
decom_low_down
decom_hig_down
*/
conv(h0LEN_Forign_yLEN_Sdecom_low);
conv(h1LEN_Forign_yLEN_Sdecom_hig);
dyaddown(decom_lowLEN_S+LEN_F-1decom_low_down);
dyaddown(decom_higLEN_S+LEN_F-1decom_hig_down);
Vector2File(FileName“\n\n分解的高低頻系數(shù)\n“LEN_S+LEN_F-1“\tdecom_low=%10f“decom_low“\tdecom_hig=%10f\n“decom_hig““);
Vector2File(FileName“\n\n分解的高低頻系數(shù)(二抽取)\n“(LEN_S+LEN_F-1)/2“\tdecom_low_down=%10f“decom_low_down“\tdecom_hig_down=%10f\n“decom_hig_down““);
//對(duì)信號(hào)進(jìn)行小波重構(gòu)
/*
recon_low_up=dyadup(decom_low_down);?%0差值?
recon_hig_up=dyadup(decom_hig_down);?
recon_low=conv(LOW_CONSTRUCTrecon_low_up);?
recon_hig=conv(HIGH_CONSTRUCTrecon_hig_up);?
recon_
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????文件????????154??2005-03-11?10:43??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\readme.txt
?????文件???????6167??2005-03-03?20:33??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.c
?????文件???????3458??2005-03-02?20:25??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.dsp
?????文件??????58368??2005-03-11?10:44??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.ncb
?????文件???????1163??2005-03-03?20:33??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.plg
?????文件????????537??2005-02-28?21:42??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.dsw
?????文件????????244??2005-03-01?11:10??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\wdata.dat
?????文件???????1822??2005-03-03?08:56??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\tool.h
?????文件???????9538??2005-03-11?10:36??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Data.txt
?????文件??????48640??2005-03-11?10:44??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Mallat.opt
?????目錄??????????0??2005-03-11?10:44??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼\Debug
?????目錄??????????0??2005-03-11?10:44??1DSignal_DecomRecon_Bywavelet[xtulbd050311]\一維信號(hào)的小波分解和重構(gòu)的C代碼
?????目錄??????????0??2005-03-11?10:45??1DSignal_DecomRecon_Bywavelet[xtulbd050311]
?-rw-r--r--???????227??2011-08-12?15:27??readme_verysource.com.txt
-----------?---------??----------?-----??----
???????????????130318????????????????????14
評(píng)論
共有 條評(píng)論