📄 1d_demo.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <imagelib.h>
#include<wavelet.h>
#define LENGTH 128
short signal[LENGTH], temp_wksp[LENGTH], backup[LENGTH];
short noise[LENGTH];
void main( )
{
int i, freq1, freq2, rate;
// Initialization
//==================================================
freq1 = 2;
freq2 = 31;
rate = 64;
for( i = 0; i < (LENGTH>>1); i++ )
signal[i] = 255 * sin(2.0*3.1415*freq1*i/rate);
for( i = (LENGTH>>1); i < LENGTH; i++ )
signal[i] = 255 *sin(2.0*3.1415*freq1*(i+1)/rate);
for( i = 0; i < LENGTH; i++ )
backup[i] = signal[i];
for( i = 0; i < LENGTH; i++ )
noise[i] = 31 * sin(2.0*3.1415*freq2*i/rate);
//--------------------------------------------------
// Using Wavelet to find a discontinuity
//==================================================
IMG_wave_decom_one_dim( signal, temp_wksp, db4, LENGTH, 1 );
//--------------------------------------------------
// Using Wavelet for Denosing
//==================================================
for( i = 0; i < LENGTH; i++ )
signal[i] = backup[i] + noise[i];
IMG_wave_decom_one_dim( signal, temp_wksp, db4, LENGTH, 1);
for( i = (LENGTH>>1); i < LENGTH; i++ )
{
if(signal[i] > 3 ) signal[i] = 3;
if(signal[i] < -3 ) signal[i] = -3;
}
IMG_wave_recon_one_dim( signal, temp_wksp, db4, LENGTH, 1 );
//--------------------------------------------------
// Perfect Reconstruction of Pyramid, Level 3
//==================================================
for( i = 0; i < LENGTH; i++ )
signal[i] = backup[i];
IMG_wave_decom_one_dim( signal, temp_wksp, db4, LENGTH, 1 );
IMG_wave_recon_one_dim( signal, temp_wksp, db4, LENGTH, 1 );
for( i = 0; i < LENGTH; i++ )
noise[i] = signal[i] - backup[i];
//--------------------------------------------------
// Perfect Reconstruction of Wavelet-Packet, Level 3
//==================================================
for( i = 0; i < LENGTH; i++ )
signal[i] = backup[i];
IMG_wavep_decom_one_dim( signal, temp_wksp, db4, LENGTH, 3 );
IMG_wavep_recon_one_dim( signal, temp_wksp, db4, LENGTH, 3 );
for( i = 0; i < LENGTH; i++ )
noise[i] = signal[i] - backup[i];
//--------------------------------------------------
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -