This abstract class defines the methods of all analysis wavelet filters. Specialized abstract classes that work on particular data types (int, float) provide more specific method calls while retaining the generality of this one. See the AnWTFilterInt and AnWTFilterFloat classes. Implementations of analysis filters should inherit from one of those classes.
All analysis wavelet filters should follow the following conventions:
- The first sample to filter is the low-pass one. As a consequence, if the input signal is of odd-length then the low-pass output signal is one sample longer than the high-pass output one. Therefore, if the length of input signal is N, the low-pass output signal is of length N/2 if N is even and N/2+1/2 if N is odd, while the high-pass output signal is of length N/2 if N is even and N/2-1/2 if N is odd.
- The normalization is 1 for the DC gain and 2 for the Nyquist gain (Type I normalization), for both reversible and non-reversible filters.
- If the length of input signal is N, the low-pass output signal is of length N/2 if N is even and N/2+1/2 if N is odd, while the high-pass output sample is of length N/2 if N is even and N/2-1/2 if N is odd.
- The analyze method may seem very complicated, but is designed to minimize the amount of data copying and redundant calculations when used for block-based or line-based wavelet transform implementations, while being applicable to full-frame transforms as well.
- All filters should implement the equals() method of the Object class. The call x.equals(y) should test if the 'x' and 'y' filters are the same or not, in what concerns the bit stream header syntax (two filters are the same if the same filter code should be output to the bit stream).
オブジェクト モデル
シンタックス
'宣言
Public MustInherit Class AnWTFilter
'使用法
Dim instance As AnWTFilter
public abstract class AnWTFilter
継承階層
参照