コード例 #1
0
 public void wavelet_packet_decomposition(ref Wavelet w, double[] signal, int level, ref List<double[]> decomposed)
 {
     if (level == 0)
     {
         decomposed.Add(signal);
         return;
     }
     double[] level_coefs_g = signal, level_coefs_h = signal;
     TimeDomain.convolution(ref w.low_pass_filter_coef, level_coefs_g, out level_coefs_g);
     TimeDomain.downsample(level_coefs_g, 2, out level_coefs_g);
     wavelet_packet_decomposition(ref w, level_coefs_g, level-1, ref decomposed);
     TimeDomain.convolution(ref w.high_pass_filter_coef, level_coefs_h, out level_coefs_h);
     TimeDomain.downsample(level_coefs_h, 2, out level_coefs_h);
     wavelet_packet_decomposition(ref w, level_coefs_h, level-1, ref decomposed);
 }
コード例 #2
0
 public void forward_wavelet_transform(ref Wavelet w, double[] signal, int level, ref List<double[]> decomposed)
 {
 }