Article Preview
TopIntroduction
The brief analysis of literature shows that multiscale discrete wavelet transform software implementation is not widely discussed. The main interest in most works is concerned with hardware implementation instead. The authors of this article couldn’t find any real-time algorithm proposed for discrete wavelet transform calculation. It is possible to segment data and process these segments in real-time if performance of the system is high enough. However the length of segments is limited from below by the number of analysis scales. So, for multiscale analysis it is necessary to increase the length of the segments.
Mallat pyramidal algorithm is being used for most of implementations and it is described in details in many sources, for example in (Strang & Ngueyen, 1996) or (Mallat, 1999). According to this algorithm, data segment is being accumulated and further is processed by scale filter bank. The result is composed of approximation coefficients and detail coefficients . The approximation coefficients are being processed further by scale filter bank and this process is iteratively being repeated. It is possible to process data in real-time if segments are small enough and data rate is very high, for instance in master’s thesis (Bomers, 2000) such approach is described for audio signal real-time processing. Other works and articles describe segmentation with or without overlapping in order to minimize the border effect of segmentation (for example, in (Prusa & Rajmic, 2011)).
There is wide variety of hardware implementation descriptions. It is very popular to implement such filter banks with Field Programmable Gate Array (FPGA) logic, examples are provided in (Bahoura & Ezzaidi, 2010; Cavuslu & Karakaya, 2010)). Also such implementations are described in details in master’s thesis (Sripath, 2003). This work proposes different implementations – direct, polyphase, lattice structures. There are many articles with performance improvements, such as (Jing & Yuan Bin, 2007; Wenbing & Yingmin, 2008). Another optimization is related to decreased power consumption for multiplications, for example in (O’Brien & Conway, 2008).
There are discrete wavelet transform implementation algorithms for DSP processors as well, for example (Ben Hnia Gazzah et al., 2008; QiWei Lin et al., 2009), including parallel processing in (Wilburn & Alexander, 1994) to increase computational efficiency of discrete wavelet transform algorithm.
The publishing years of most of these works show that this topic is well researched and evolved. Of course, there are new works describing multidimensional transforms and more efficient processing algorithms, for example in (Darji et al., 2014; Darji et al., 2014). In other works the algorithms are being optimized for specific tasks, few of many examples are (Sardar & Babu, 2014; Cutajar et al., 2014). Another important topic is energy efficiency, which is also being researched at the present moment and some publications can give insight in this, for example (Tang-Hsuan et al., 2014) uses discrete wavelet transform for neuron network processing.