195 7 6MB
English Pages [302] Year 2014,2014/
Amir Z. Averbuch · Pekka Neittaanmäki Valery A. Zheludev
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing Volume III: Selected Topics
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing
Amir Z. Averbuch Pekka Neittaanmäki Valery A. Zheludev •
Spline and Spline Wavelet Methods with Applications to Signal and Image Processing Volume III: Selected Topics
123
Amir Z. Averbuch School of Computer Science Tel Aviv University Tel Aviv Israel
Valery A. Zheludev School of Computer Science Tel Aviv University Tel Aviv Israel
Pekka Neittaanmäki Faculty of Information Technology University of Jyväskylä Jyväskylä Finland
and Department of Mathematical Information Technology University of Jyväskylä Jyväskylä Finland
Additional material to this book can be downloaded from http://extras.springer.com. ISBN 978-3-319-92122-8 ISBN 978-3-319-92123-5 https://doi.org/10.1007/978-3-319-92123-5
(eBook)
Library of Congress Control Number: 2018942193 © Springer International Publishing AG, part of Springer Nature 2019 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. Printed on acid-free paper This Springer imprint is published by the registered company Springer International Publishing AG part of Springer Nature The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
To Dorit Peled-Averbuch Neittaanmäki Family Tatiana Zheludev
Preface
This volume concludes our three-volume series titled Spline and spline wavelet methods with applications to signal and image processing. Volume I [12] systematically describes the design and applications of periodic polynomial and discrete splines and wavelets, wavelet packets and wavelet frames that originate from these splines. As a working tool in [12], the so-called Spline Harmonic Analysis (SHA) [29, 30] is used, which combines approximation abilities of splines with the computational strength of the fast Fourier transform (FFT). It introduces the harmonic analysis methodologies into periodic spline spaces. SHA enables us to efficiently construct and manipulate different types of splines, wavelets, wavelet packets, and wavelet frames. SHA has paved the way for periodic splines to contribute to solutions for applied signal/image processing problems [6–9, 11, 30, 31]. A few applications are presented in [12], such as Upsampling of discrete-time signals/images: It is done using binary and ternary spline subdivision. Signals’ deconvolution by regularized matching pursuit (RMP): The RMP method that uses orthonormal spline wavelet packet dictionaries, restores signals blurred by convolution with a bandlimited kernel and corrupted by strong noise. Block-based deconvolution and inversion of the heat equation: When a signal/image is restored from blurred sampled data affected by noise, relative contributions of a coherent signal and noise are different in different frequency components of the data. The deconvolution problem then can be solved separately in different frequency bands, while regularization parameters are found according to the signal-to-noise ratio in each band. This scheme is implemented via the utilization of orthonormal spline wavelet packets. Image restoration using spline-based wavelet frames: The wavelet frames designed in [12], which utilize three- and four-channel periodic filter banks, succeed in restoring blurred, noised images, where most of the pixels are missing. The solution was achieved by l1 minimization of a parameterized functional by using the split Bregman iteration (SBI) scheme [18].
vii
viii
Preface
Acoustic application: Spline-based wavelet packets are applied in [12] to solving the problem of hydro-acoustic detection of a certain vessel type in a busy harbor. The solution is based on the characteristic frequency bands extraction using energies in blocks of wavelet packet transform coefficients. Volume II [13] systematically describes design and applications of non-periodic polynomial and discrete splines and wavelets, multiwavelets, and wavelet and multiwavelet frames that originate from these splines. In [13], splines, wavelets, multiwavelets, and frames are described from a unified perspective, which is based on the Zak transform (ZT) [14, 28]. The ZT generates an integral representation of polynomial and discrete splines, which have much in common with the Fourier integral. While in the periodic case, the transforms were implemented using the FFT, in the non-periodic case, the recursive filtering was applied. Biorthogonal wavelets derived from interpolating polynomial and discrete splines are applied in [13] to data compression, which is a critical area in signal processing. These wavelets demonstrate excellent performance in comparison with other known wavelets such as, for example, the most popular 9/7 biorthogonal wavelets [2]. Some types of data, such as seismic and many multimedia images, have a mixed structure. They are piece-wise smooth in one direction(s) and have oscillating events in the other direction. A hybrid algorithm described in [13], which combines wavelet and local cosine transform (LCT) [17], proved to be highly efficient for compressing such data. In both [12] and [13], we deal with splines constructed on uniform grids. Chapter 6 in [13] is an exception, where local quasi-interpolating cubic splines on non-uniform grids are briefly outlined. They are computed by fast computational algorithms, which utilize the relation between cubic splines and cubic interpolation polynomials. In the current Volume III, we describe some new applications of the spline-based wavelet packets and wavelet frames to the solution of practical problems. In main bulk of the volume, we stay in the discrete periodic setting, but, as in [13], an exception is made for continuous splines on irregular grids. These splines are used as a source for the design of wavelet transforms of non-uniformly sampled signals and real-time implementation of the transforms. Splines on irregular grids: Chap. 6 in this volume describes cubic quasi-interpolating splines in more detail compared to Chap. 6 in [13] and, in addition, describes quadratic quasi-interpolating splines. In particular, simple algorithms for the splines computation are presented that allow real-time implementation. Formulas for the splines’ extensions to the boundaries of the sampling intervals and for the accurate extrapolation of the splines beyond the sampling intervals are given. Estimations of the approximation accuracy are presented in Chap. 6, which are sharp, for the cubic splines. For the quadratic splines on uniform grids, the so-called super-convergence property is established, which is valuable for the wavelet design. In Chap. 7, biorthogonal wavelet transforms of non-uniformly sampled signals are constructed. It is done via the Lifting Scheme [23, 24] where the basic operations are:
Preface
ix
1. Prediction of odd samples of a signal from its even samples; 2. Extraction of predicted samples from actual odd samples; 3. Updating even samples using differences produced by operation 2. In the scheme presented in Chap. 7, odd samples of a signal are predicted by values at odd grid points of either cubic or quadratic spline, which quasi-interpolates even samples of the signal. In turn, even samples are updated using values at even grid points of the spline, which quasi-interpolates the differences between actual and predicted odd samples. The wavelet transforms of non-equally sampled signals described in Chap. 7 are executed in a fast way. For example, the MATLAB implementation of 10-level wavelet transform originating from quasi-interpolating cubic spline of a signal comprising 20,000 non-equally spaced samples, takes 1.707415 s. Chapter 7 presents a scheme of the real-time implementation of signals’ wavelet transforms in the situation when samples arrive one after another at random times. On the arrival of new samples, only a couple of adjacent transform coefficients are updated in a way that no boundary effects occur. These real-time wavelet transforms of signals can provide real-time operations on signals, such as denoising and compression, for example. The 2D version of the scheme enables to apply processing of images on the adapted rectangular grids. The contents of both Chaps. 6 and 7 are based on [5]. Discrete and discrete-time periodic splines: Practical applications described in this volume are handled by using wavelet packets and wavelet frames derived from discrete and discrete-time periodic splines. The discrete periodic setting provides flexibility to the transforms design and guarantees a fast implementation of the transforms using the FFT. The basics of the periodic discrete splines are given in [12] but, in order for the current volume to be self-contained, we outline the theory of periodic discrete splines with span 2 in Chap. 3. The periodic discrete splines are defined as linear combinations of the periodic discrete B-splines shifts. However, the term discrete B-spline is used in the literature for designation of different objects. For example in [1, 25, 26], the discrete B-spline is understood as a sampled polynomial B-spline. Our definition of the discrete B-spline is that used in [20, 21, 27]. For the design of discrete splines, we kept the latter definition. However, a similar design can be developed using the former definition of the B-spline. To distinguish between the schemes, we use the term discrete-time splines. The discrete-time splines are designed using properties of periodic polynomial splines, which are briefly recalled in Chap. 2. The discrete-time splines were not discussed in [12]. Orthogonal wavelets and wavelet packets originating from periodic discrete and discrete-time splines: The discrete and discrete-time splines serve as a source for the design of versatile families of periodic discrete-time orthogonal wavelets and wavelet packets. The design is described in Chap. 4 (1D case) and Chap. 5 (2D case). These wavelets and wavelet packets, although not having compact supports, are well localized in the time domain. They can have any number of discrete vanishing moments. Their DFT spectra tend to have a rectangular shape when the spline order grows and provide a collection of refined splits of the Nyquist
x
Preface
frequency band. Due to the orthogonality of the spline-based wavelet packets, the energy in a block of wavelet packet transform coefficients of a signal is equal to the energy of the signal filtered into the corresponding frequency band. Therefore, the collection of energies in the transform coefficient blocks constitute a “waveband spectrum” of the signal, which proved to be valuable for the characterization of signals that contain periodic components. The wavelet and wavelet packet transforms are implemented in a fast way using the FFT. The design of orthogonal wavelets and wavelet packets originated from discrete-time splines is described in [12]. These wavelet packets are substantially used in the practical applications that are presented in Chaps. 12 and 13. Therefore, in order for the current volume to be self-contained, we include the design description in the volume. This description differs in some details from the description in [12]. In addition, the design of orthogonal wavelets and wavelet packets originated from discrete-time splines is presented. Biorthogonal wavelet transforms originating from discrete and discretetime splines: Chap. 8 describes how to generate families of biorthogonal wavelet transforms in spaces of periodic signals by the lifting scheme [22–24]. Since the sampling of signals is uniform, prediction and updating operations are executed by filtering the corresponding subarrays. Prediction and updating filters are derived from discrete and discrete-time splines by, generally, the same approach as in Chap. 7: 1. The spline is constructed which (quasi-)interpolates even samples of a signal at even grid points; 2. Values of this spline at odd grid points are computed and used for the prediction of the odd array (this operation is reduced to filter ing the even array). The predicted odd samples are extracted from the actual samples; 3. The spline is constructed, which (quasi-)interpolates the differences between the predicted and actual odd samples at the odd grid points; 4. Its values at the even grid points are computed (this operation is reduced to filtering the array of differences). These values are used for updating the even array. The discrete-time wavelets related to these transforms are (anti)symmetric, well localized in time domain, and have flat spectra. The families comprise wavelets with any number of local discrete vanishing moments (LDVMs). The transforms are implemented in a fast way by critically sampled perfect reconstruction periodic filter banks using the FFT. There is an overlap with [12] in the part concerning discrete splines, which is not the case for the discrete-time splines part. Wavelet frames generated by spline-based filter banks: Chap. 9 presents a design scheme to generate tight and so-called semi-tight frames in the space of discrete-time periodic signals. The frames originate from oversampled perfect reconstruction periodic filter banks. The filters for these filter banks are derived from discrete-time and discrete periodic splines in a way somewhat similar to the
Preface
xi
way how the prediction and updating filters for the biorthogonal wavelet transforms are derived. Each filter bank comprises one linear-phase low-pass filter (in most cases interpolating) and one high-pass filter. The magnitude response of the high-pass filter mirrors that of the low-pass filter. In addition, these filter banks comprise a number of band-pass filters. Frames generated by three- and four-channel filter banks are described in detail in [12] and successfully applied to restoration of images that were blurred, corrupted by noise and a significant part of those pixels was missing. Keeping in mind another application of the four-channel filter bank frames in Chaps. 10 and 11, we briefly outline the design of these frames. In addition, we introduce tight frames generated by six- and eight-channel filter banks. These latter frames provide an additional redundancy to the frame representations of signals. The design scheme enables us to construct framelets with any number of local discrete vanishing moments (LDVMs). The computational complexity of the framelet transforms, which are executed using the FFT, practically does not depend on the number of LDVMs and on the size of the impulse response of filters. The last four chapters in this volume describe applications of the spline-based wavelet packets and wavelet frames to solving practical problems. Snapshot spectral imaging: Spectral imaging (SI) refers to the acquisition of a three-dimensional spectral cube of a source object. The spectral cube consists of monochromatic images of the object taken at a number of wavelengths in a given wavelength range. SI has a multitude of applications in many fields including biology, medicine, food inspection, archaeology, art conservation, astronomy, and remote sensing. Snapshot spectral imaging refers to the instantaneous acquisition (in a single “shot”) of the spectral cube. Such a process is suitable for imaging of fast-changing objects. Chapter 10 describes an application of the spline-based wavelet frames to SI. It presents a method that enables to convert a regular digital camera into a snapshot spectral imager by equipping the camera with a dispersive diffuser and with a compressed sensing-based algorithm for digital processing. The method relies on the assumption that typical images can be sparsely represented in the frame domain. The solution is found from the constrained l1 minimization of a functional comprising wavelet frame transform coefficients by Bregman iterations. Results of optical experiments are reported. The chapter is based on [19]. Delineation of Malignant Skin Tumors by Hyperspectral Imaging: As Chap. 10, Chap. 11 deals with SI. It outlines a new non-invasive method for delineation of skin lesions such as lentigo maligna and lentigo maligna melanoma. The method is based on the analysis of hyperspectral (HS) images taken in vivo before surgical excision of the lesions. The images are taken by a commercial HS camera. In order to separate diseased pixels from healthy ones, characteristic features of the spectral signatures of diseased pixels and healthy pixels are extracted. These features combine the intensities in a few selected wavebands with the coefficients of the wavelet frame transforms of the spectral curves. To reduce dimensionality and to reveal the internal structure of the datasets, the diffusion maps [16] technique is applied. The averaged nearest neighbor and the classification and
xii
Preface
regression tree (CART, [15]) classifiers are utilized as decision units. To reduce false alarms by the CART classifier, the Aisles procedure is used. Note that although the acquisition time for the utilized HS camera is short (about 2–3 s), this camera cannot be regarded as a snapshot imager. This chapter is based on [32]. Chapters 12 and 13 demonstrate successful applications of spline-based wavelet packets to the analysis of signals comprising periodic events. This success stems mainly from the ability of these wavelet packets to provide a variety of refined splits of the Nyquist frequency band of a signal into frequency bands of different widths. Acoustic detection of moving vehicles: Chap. 12 outlines a robust algorithm to detect the arrival of a vehicle of arbitrary type when other noises are present. It is done via the analysis of its acoustic signature against an existing database of recorded and processed acoustic signals. Acoustic signals emitted by vehicles have quasi-periodic structure. It stems from the fact that each part of the vehicle emits a distinct acoustic signal which, in the frequency domain, contains only a few dominating bands. As the vehicle is moving, the conditions are changing and the configuration of these bands may vary, but the general disposition remains. Therefore, it is logical to determine the acoustic signature of either a certain vehicle or a class of vehicles via the energy distribution between a number of characteristic spectral bands. This distribution can be obtained as a combination of the inherent energies in the blocks of the wavelet packet transform coefficients of the signals, each of which is related to a certain frequency band (waveband spectra, see Sect. 4.6). This approach has been corroborated in the detection and identification of a certain type of vehicles [3, 4] and so also in the hydro-acoustic detection of a cruising vessel [10, 12]. In the methodology presented in Chap. 12, the construction of a training database of acoustic signatures of signals emitted by vehicles using their waveband spectra is combined with a procedure of random search for a near-optimal footprint (RSNOFP). The detection succeeded even under severe conditions, such as variability of vehicles to be detected and a multitude of extraneous signals emitted by planes, helicopters, set aside wind, speech, steps etc. The described algorithm is robust even when the tested conditions are completely different from the conditions where the training signals were recorded. This technique has many algorithmic variations. For example, it can be used to distinguish among different vehicle types. The material of Chap. 12 is based on [11]. Detection of incipient bearing fault in a slowly rotating machine using spline wavelet packets: Chap. 13 describes a successful application of spline-based wavelet packet transforms originating from periodic discrete splines to a complicated problem of detection of incipient defects in rolling element bearings by the analysis of recorded vibration signals. The methodology presented in this chapter is applied to the analysis of vibration data recorded from large bearings working in real unfavorable operational conditions. In its early stage, a local fault in the bearing element produces a series of weak impacts at a rate that depends on the bearing geometry. These impacts, in turn, excite a special type of vibration that is, in principle, possible to detect using various condition monitoring methods. However, the analysis of vibration
Preface
xiii
measurements taken from a real industrial environment can be challenging because measurements are noisy. Typically, periodic phenomena from other external, known and unknown sources, overlap the fault-induced vibration events. When monitoring bearing faults, the choice of the frequency band, where fault-induced events persist, is critical. It is especially important for early fault detection when, typically, a weak signal of interest is shadowed by a strong noise and the contributions from extraneous vibration sources. The discrete spline-based wavelet packets proved to be a highly efficient tool for the selection of such frequency band and for the analysis of the vibration signals within the band. This is possible due to their properties such as orthogonality, near-rectangular spectra, transient oscillating shapes of testing waveforms and fast implementation of transforms. The methodology succeeded in the detection of even small defects that commercial vibration monitoring systems failed to detect. Tel Aviv, Israel Tel Aviv, Israel/Jyväskylä, Finland Jyväskylä, Finland April, 2018
Amir Z. Averbuch Valery A. Zheludev Pekka Neittaanmäki
References 1. A. Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of l2. SIAM J. Math. Anal. 25(5), 1412–1432 (1994) 2. M. Antonini, M. Barlaud, P. Mathieu, I. Daubechies, Image coding using wavelet transform. IEEE Trans. Image Process. 1(2), 205–220 (1992) 3. A. Averbuch, E. Hulata, V. Zheludev, I. Kozlov, A wavelet packet algorithm for classification and detection of moving vehicles. Multidimens. Syst. Signal Process. 12(1), 9–31 (2001) 4. A. Averbuch, I. Kozlov, V. Zheludev, Wavelet-packet-based algorithm for identification of quasi-periodic signals, in Wavelets: Applications in Signal and Image Processing IX, vol. 4478 of Proc. SPIE, ed. A.F. Laine, M.A. Unser, A. Aldroubi (2001), pp. 353–360 5. A. Averbuch, P. Neittaanmäki, E. Shefi, V. Zheludev, Local cubic splines on non-uniform grids and real-time implementation of wavelet transform. Adv. Comput. Math. 43(4), 733–758 (1917) 6. A. Averbuch, V. Zheludev, Construction of biorthogonal discrete wavelet transforms using interpolatory splines. Appl. Comput. Harmon. Anal. 12(1), 25–56 (2002) 7. A. Averbuch, V. Zheludev, Spline-based deconvolution. Signal Process. 89(9), 1782–1797 (2009) 8. A. Averbuch, V. Zheludev, M. Khazanovsky, Deconvolution by matching pursuit using spline wavelet packets dictionaries. Appl. Comput. Harmon. Anal. 31(1), 98–124 (2011) 9. A. Averbuch, V. Zheludev, P. Neittaanmäki, J. Koren, Block based deconvolution algorithm using spline wavelet packets. J. Math. Imaging Vis. 38(3), 197–225 (2010) 10. A. Averbuch, V. Zheludev, P. Neittaanmäki, P. Wartiainen, K. Huoman, K. Janson, Acoustic detection and classification of river boats. Appl. Acoust. 72(1), 22–34 (2011) 11. A. Averbuch, V. Zheludev, N. Rabin, A. Schclar, Wavelet-based acoustic detection of moving vehicles. Multidimens. Syst. Signal Process. 20(1), 55–80 (2009)
xiv
Preface
12. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, 2014) 13. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume II: Non-periodic Splines (Springer, 2015) 14. M.J. Bastiaans, Gabor’s expansion and the Zak transform for continuous-time and discrete-time signals, in Signal and Image Representation in Combined Spaces, Number 7 in Wavelet Anal. Appl. ed. Y.Y. Zeevi, R. Coifman (Academic Press, San Diego, 1998), pp. 23– 69 15. L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classification and Regression Trees (Wadsworth, 1984) 16. R.R. Coifman, S. Lafon, Diffusion maps. Appl. Comput. Harmonic Anal. Spec. Issue Diffus. Maps Wavelets 21(1), 5–30 (2006) 17. R.R. Coifman, Y. Meyer, Remarques sur l’analyse de Fourier à fenêtre. C. R. Acad. Sci. Paris Sér. I Math. 312(3), 259–261 (1991) 18. T. Goldstein, S. Osher, The split Bregman method for L1-regularized problems. SIAM J. Imaging Sci. 2(2), 323–343 (2009) 19. M. Golub, A. Averbuch, M. Nathan, V. Zheludev, J. Hauser, S. Gurevitch, R. Malinsky, A. Kagan, Compressed sensing snapshot spectral imaging by a regular digital camera with an added optical diffuser. Appl. Opt. 55, 432–443 (2016) 20. V.N. Malozemov, A.B. Pevnyi, Discrete periodic splines and their numerical applications. Comput. Math. Math. Phys. 38(8):1181–1192 (1998) 21. L.L. Schumaker, Spline Functions: Basic Theory (Wiley, New York, 1981) 22. W. Sweldens, Lifting scheme: A new philosophy in biorthogonal wavelet constructions, in Wavelet Applications in Signal and Image Processing III, Volume 2569 of Proc. SPIE ed. by A.F. Laine, M.A. Unser (1995), pp. 68–79 23. W. Sweldens, The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 24. W. Sweldens, The lifting scheme: a construction of second generation wavelets. SIAM J. Math. Anal. 29(2), 511–546 (1997) 25. M. Unser, A. Aldroubi, M. Eden, Fast B-spline transforms for continuous image representation and interpolation. IEEE Trans. Pattern Anal. Mach. Intell. 13(3), 277–285 (1991) 26. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. I. Theory. IEEE Trans. Signal Process. 41(2), 821–833 (1993) (IEEE Signal Processing Society’s 1995 best paper award) 27. K.F. Üstüner, L.A. Ferrari, Discrete splines and spline filters. IEEE Trans. Circuits Syst. II Analog Digit. Signal Process. 39(7), 417–422 (1992) 28. J. Zak, Finite translations in solid-state physics. Phys. Rev. Lett. 19(24), 1385–1387 (1967) 29. V. Zheludev, An operational calculus connected with periodic splines. Soviet. Math. Dokl. 42 (1), 162–167 (1991) 30. V. Zheludev, Periodic splines, harmonic analysis, and wavelets, in Signal and Image Representation in Combined Spaces, Volume 7 of Wavelet Anal. Appl. ed. by Y.Y. Zeevi, R. Coifman (Academic Press, San Diego, 1998), pp. 477–509 31. V. Zheludev, V.N. Malozemov, A.B. Pevnyi, Filter banks and frames in the discrete periodic case, in N.N. Uraltseva, ed., Proceedings of the St. Petersburg Mathematical Society, Vol. XIV, vol. 228 of American Mathematical Society Translations, Series 2, pp. 1–11 (2009) 32. V. Zheludev, I. Pölönen, N. Neittaanäki-Perttu, A. Averbuch, P. Neittaanmäki, M. Grönroos, H. Saari, Delineation of malignant skin tumors by hyperspectral imaging using diffusion maps dimensionality reduction. Biomed. Signal Process. Control 16, 48–60 (2015)
Acknowledgements
This research was partially supported by: • Israel Science Foundation (Grants No. 1041/10 and 1556/17), • Israeli Ministry of Science & Technology (Grants No. 3- 9096, 3-10898, 3-10416, 3-13601), • US-Israel Binational Science Foundation (BSF 2012282), • Blavatnik Computer Science Research Fund, Blavatink ICRC Funds, • Academy of Finland (grant 311514).
xv
Contents
1
Introduction: Periodic Signals and Filters . . . . . . . . . . . . . . . . 1.1 Periodic Discrete-Time Signals . . . . . . . . . . . . . . . . . . . . 1.1.1 One-Dimensional Periodic Discrete-Time Signals . 1.1.2 Two-Dimensional Periodic Discrete-Time Signals 1.2 Periodic Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Definition of Periodic Filters . . . . . . . . . . . . . . . . 1.2.2 Multirate p-Filtering . . . . . . . . . . . . . . . . . . . . . . 1.3 Periodic Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Modulation Matrices of p-Filter Banks . . . . . . . . 1.3.2 Polyphase Matrices of p-Filter Banks . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
1 1 1 4 5 5 6 8 8 9 10
2
Periodic Polynomial Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 Periodic B-Splines and Spline Spaces . . . . . . . . . . . . . . . 2.2 Exponential Splines and Characteristic Sequences . . . . . . . 2.3 Spline Harmonic Analysis (SHA) in the Space of Periodic Polynomial Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Orthogonal Periodic Exponential Splines . . . . . . . 2.3.2 Representation of Periodic Splines by Exponential Spline Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 SHA in Two-Dimensional Spline Spaces . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.... .... ....
11 11 13
.... ....
14 14
.... .... ....
15 19 20
...... ...... ......
21 21 21
......
23
3
Periodic Discrete and Discrete-Time Splines . . . . . . . . . . . . 3.1 Periodic Discrete Splines of Span 2 . . . . . . . . . . . . . . . 3.1.1 B-Splines and Discrete Spline Spaces . . . . . . . 3.1.2 Exponential Discrete Splines and Characteristic Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
xvii
xviii
Contents
3.1.3
Interpolating and Quasi-interpolating Discrete Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Orthonormal Periodic Discrete Splines . . . . . . . . . . . 3.2 Two-Dimensional Discrete Splines of Span 2 . . . . . . . . . . . . 3.3 Periodic Discrete-Time Splines . . . . . . . . . . . . . . . . . . . . . . 3.3.1 B-Splines and Discrete-Time Spline Spaces . . . . . . . 3.3.2 Exponential Discrete-Time Splines and Characteristic Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Orthonormal Periodic Discrete-Time Splines . . . . . . 3.3.4 Interpolating Discrete-Time Splines . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Periodic Orthogonal Wavelets and Wavelet Packets . . . . . . 4.1 Discrete-Spline Wavelets of First Decomposition Level . 4.1.1 Orthogonal Complement for Subspace 2r S0½1 . . 0 . . 4.1.2 Orthogonal Complement for Subspace p S ½1
. . . . .
. . . . .
25 27 30 32 32
. . . .
. . . .
35 37 39 40
...... ...... ......
41 41
...... ..
44 45
. . . . .
. . . . .
48 48 50 55 59
.. .. ..
61 61 63
. . . .
. . . .
64 66 68 72
...
73
. . . . .
. . . . .
73 73 76 78 78
...
80
4.1.3 One-Level Wavelet Transform of a Signal . . . . . . . . 4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 P-Filter Banks for the Second Decomposition Level . 4.2.2 Two-Level Wavelet Transforms . . . . . . . . . . . . . . . 4.2.3 Two-Level Wavelet Packet Transforms . . . . . . . . . . 4.2.4 Selection of Wavelet-Packet Basis . . . . . . . . . . . . . . 4.3 Extension of Wavelet Packet Transforms to Lower Decomposition Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Discrete-Spline Wavelet Packets . . . . . . . . . . . . . . . 4.3.2 Discrete-Time-Spline Wavelet Packets . . . . . . . . . . . 4.4 Best Basis and Signal’s Restoration from Wavelet Packet Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5 Illustrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6 Waveband Spectra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Two-Dimensional Orthogonal Wavelets and Wavelet Packets . . 5.1 Two-Dimensional Discrete-Spline and Discrete-Time-Spline Wavelets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Wavelets of the First Decomposition Level . . . . . . 5.1.2 Multi-level 2D Wavelet Transforms . . . . . . . . . . . . 5.2 Two-Dimensional Discrete-Spline Wavelet Packets . . . . . . . 5.2.1 Direct Wavelet Packet Transforms . . . . . . . . . . . . . 5.2.2 Best Basis and Restoration of 2D Signals From Wavelet Packet Bases . . . . . . . . . . . . . . . . . . . . . .
. . . . .
41
Contents
6
7
8
xix
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. 83 . 83 . 86 . 87 . 88 . 97 . 100 . 100
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
105 107 110 110 111 113
Spline-Based Wavelet Transforms . . . . . . . . . . . . . . . . . . . . . . . 7.1 Discrete Lifting Wavelet Transforms . . . . . . . . . . . . . . . . . 7.1.1 One-Level Transform . . . . . . . . . . . . . . . . . . . . . . 7.1.2 1-D Multilevel Wavelet Transform . . . . . . . . . . . . 7.2 Spline-Based Prediction and Updating Operators . . . . . . . . 7.2.1 Prediction and Updating Operators – Cubic Splines 7.2.2 Prediction and Updating Operators – Quadratic Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . .
. . . . . .
. . . . . .
115 115 115 117 117 118
Local Splines on Non-uniform Grid . . . . . . . . . . . . . . . . . . . 6.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Local Cubic Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.1 Simplest Cubic Splines . . . . . . . . . . . . . . . . . . . 6.2.2 Quasi-interpolating Cubic Splines . . . . . . . . . . . 6.2.3 Two-Dimensional Cubic Splines . . . . . . . . . . . . 6.3 Local Quadratic Splines . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Design of Quadratic Quasi-interpolating Splines . 6.3.2 Extension of Splines to Boundaries and Extrapolation . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 Quadratic Splines on Uniform Grids . . . . . . . . . 6.4 Examples: Restoration of Chirp Function . . . . . . . . . . . . 6.4.1 Cubic Splines . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Quadratic Splines . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 129 . . . 132
Biorthogonal Wavelet Transforms Originating from Discrete and Discrete-Time Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1 Filter Banks Related to Lifting Scheme of Wavelet Transforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.1 Lifting Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.1.2 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Prediction and Updating p-Filters Derived from Discrete Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.2.1 Summary for the Discrete Splines of Span 2 . . . . . . 8.2.2 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3 Prediction and Updating p-Filters Derived from Discrete-Time Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.3.2 Filter Banks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8.4 Discrete Vanishing Moments . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 133 . . 133 . . 133 . . 134 . . 136 . . 136 . . 136 . . . . .
. . . . .
140 140 142 145 147
xx
9
Contents
Wavelet Frames Generated by Spline-Based p-Filter Banks . . . . 9.1 Oversampled PR Filter Banks and Frames . . . . . . . . . . . . . . 9.1.1 Oversampled p-Filter Banks with Downsampling Factor 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.2 Frames in the Space of Periodic Signals . . . . . . . . . 9.2 Design of p-Filter Banks for Frames Generation . . . . . . . . . . 9.2.1 Four-Channel Perfect Reconstruction p-Filter Banks . 9.2.2 Symmetric Tight Frames with Increased Redundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3 Examples of PR p-Filter Banks Using Spline Filters . . . . . . . 9.3.1 Examples of Six-Channel p-Filter Banks Generating Tight Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Examples of Eight-Channel FIR p-Filter Banks Generating Tight Frames . . . . . . . . . . . . . . . . . . . . 9.3.3 Four-Channel p-Filter Banks with IIR p-Filters Derived from Discrete Splines . . . . . . . . . . . . . . . . . 9.3.4 Example of Image Restoration Using Tight Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . 149 . . 150 . . . .
. . . .
150 151 156 156
. . 161 . . 162 . . 162 . . 166 . . 170 . . 172 . . 175
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
177 177 178 178 180 181 183 183 184 185 187 194 195
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2.1 Imaging Device . . . . . . . . . . . . . . . . . . . . . . 11.2.2 Outline of the Processing Scheme . . . . . . . . . 11.2.3 Selection of Training Data . . . . . . . . . . . . . . 11.2.4 Preprocessing the Training Data . . . . . . . . . . 11.2.5 Selection of Characteristic Features . . . . . . . . 11.2.6 Dimension Reduction . . . . . . . . . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
197 197 198 198 199 201 202 204 207
10 Snapshot Spectral Imaging . . . . . . . . . . . . . . . . . . . . . . 10.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Spectral Imaging with a Dispersive Diffuser . . . . . . 10.2.1 Optical Scheme . . . . . . . . . . . . . . . . . . . . 10.3 Compressed Sensing Model for Spectral Imaging . . 10.3.1 Discrete Mathematical Model . . . . . . . . . . 10.4 Solution of the Reconstruction Problem . . . . . . . . . 10.4.1 Rationale Behind the Method . . . . . . . . . . 10.4.2 Outline of Algorithm . . . . . . . . . . . . . . . . 10.5 Experimental Optical Arrangement and Calibration . 10.6 Optical Experiments for Spectral Imaging . . . . . . . 10.7 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
Contents
11.2.7 Decision Units . . . . . . . . . . . . . . . 11.2.8 Identification Phase . . . . . . . . . . . 11.3 Experimental Results . . . . . . . . . . . . . . . . . 11.4 Comments . . . . . . . . . . . . . . . . . . . . . . . . 11.5 Appendix: Diffusion Framework . . . . . . . . 11.5.1 Diffusion Maps . . . . . . . . . . . . . . 11.5.2 Geometric Harmonics . . . . . . . . . . 11.6 Appendix: Outline of the CART Algorithm References . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xxi
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
209 210 211 213 213 213 215 216 218
12 Acoustic Detection of Moving Vehicles . . . . . . . . . . . . . . . . . 12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Structure of the Recorded Acoustics Signals . . . . . . . . . . 12.3 Formulation of the Approach . . . . . . . . . . . . . . . . . . . . . 12.3.1 Outline of the Approach . . . . . . . . . . . . . . . . . . 12.4 Description of the Algorithm and Its Implementation . . . 12.4.1 The Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 12.4.2 Choice of the Analyzing Waveforms . . . . . . . . . 12.4.3 Training the Algorithm . . . . . . . . . . . . . . . . . . . 12.4.4 Identification of an Acoustic Signal . . . . . . . . . . 12.5 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.5.1 Detection Experiments . . . . . . . . . . . . . . . . . . . 12.5.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.6 Appendix: Random Search for a Near Optimal Footprint (RSNOFP) Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
219 219 220 222 223 224 224 225 226 228 230 231 233
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . 236 . . . . . 239
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine Using Spline Wavelet Packets . . . . . . . . . . . . . . . . . . . . 13.1 Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.1.2 Outline of the Methodology . . . . . . . . . . . . . . . . . . 13.1.3 Time-Domain Meaning of Wavelet Packet Transform Coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.2 WPT-Based Methodology for the Fault Detection . . . . . . . . . 13.2.1 Structure of the Recorded Data . . . . . . . . . . . . . . . . 13.2.2 Outline of the Research Methodology . . . . . . . . . . . 13.3 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.3.1 Experiments with Bearing1 . . . . . . . . . . . . . . . . . . . 13.3.2 Experiments with Bearing2 . . . . . . . . . . . . . . . . . . . 13.4 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13.5 Appendix: Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . .
. . . .
241 241 241 243
. . . . . . . . . .
. . . . . . . . . .
244 245 246 248 249 249 255 259 260 262
xxii
Contents
Appendix A: Guide to SB_Soft1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Acronyms
(I)DFT 1D 2D aNN BBA CART CS DD DD DM DS FFT FR IIR IR IS LDVMs LPF MP MR nm p-FIR PR PSF PSNR QIS REB RF RS
(Inverse) discrete Fourier transform One-dimensional Two-dimensional Averaged nearest neighbors Best basis algorithm Classification and regression trees classifier Compressed sensing Diffused and dispersed (image) Divided difference Diffusion map Discrete spline Fast Fourier transform Frequency response Infinite impulse response Impulse response Interpolating spline Local discrete vanishing moments Low-pass p-filter Matching pursuit Magnitude response nanometer Periodic finite impulse response Perfect reconstruction Point spread function Peak signal to noise ratio Quasi-interpolating spline Rolling element bearing Repetition frequency of a bearing fault Rotation speed of a bearing
xxiii
xxiv
RSNOFP SHA SI SR SSI STD STF TF WPT
Acronyms
Random search for a near-optimal footprint Spline harmonic analysis Spectral imaging Sampling rate Snapshot spectral imaging Standard deviation Semi-tight frame Tight frame Wavelet packet transform
Chapter 1
Introduction: Periodic Signals and Filters
Abstract In this chapter we briefly outline some well-known facts about Discretetime periodic signals, their transforms and periodic digital filters and filter banks. For details we refer to the classical textbook A. V. Oppenheim and R. W. Schafer (Discrete-Time Signal Processing, Prentice Hall, New York, 2010, [3]) and Volume I of our book (Averbuch, Neittaanmäki and Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Periodic Splines, vol. 1 (Springer, Berlin, 2014)) [1] Throughout the volume, unless other indicated, N = 2j , j ∈ N.
1.1 Periodic Discrete-Time Signals Periodic sequences are called discrete-time periodic signals. The main tool to manipulate such signals is the discrete Fourier transform (DFT), which is a counterpart to the Fourier series. The fast Fourier transform (FFT) [2] algorithm is an important tool to process discrete-time signals.
1.1.1 One-Dimensional Periodic Discrete-Time Signals def
The N -periodic real-valued sequences x = {x[k]}, k ∈ Z, x[k + N ] = x[k] are referred to as discrete-time periodic signals. In the sequel, N = 2j , j is a natural number. These signals form an N -dimensional vector space, which is denoted by Π [N ], where the inner product and the norm are defined as def
x, y =
N −1 k=0
N −1 |x[k]|2 . x[k] y[k], x = x2 = def
k=0
Any discrete-time signal y of limited duration L can be embedded into a space def Π [N ], N ≥ L, by the periodization y˜ = y˜ [k] = l∈Z y[k + lN ] . © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_1
1
2
1 Introduction: Periodic Signals and Filters
The discrete circular convolution of two signals is an N-periodic signal y = h x ⇐⇒ y[k] =
N −1
h[k − l] x[l].
l=0
Throughout the book we use the notation def
ω = e2πi/N =⇒ ωn = e2πin/N . The discrete-time Fourier exponentials {en } def
en [k] = e2πink/N = ωkn , n, k = 0, . . . , N − 1, form an orthogonal basis of the space Π [N ] such that en , el =
N −1
e2πink/N e−2πilk/N =
k=0
N −1
e2πi(n−l)k/N = δ[n − l] N .
(1.1)
k=0
The symbol δ[k] denotes the N -periodic Kronecker delta (impulse). The signal δ[k] is zero for all integers k except for k = lN , l ∈ Z, and δ[lN ] = 1. The expansion of a signal x = {x[k]} over the exponential basis x[k] =
N −1 1 1 xˆ [n] ωnk = N n=0 N
N /2−1
xˆ [n] ωnk ,
where xˆ [n] =
n=−N /2
N −1
x[k] ω−nk ,
k=0
is the inverse discrete Fourier transform (IDFT) of the signal x. The set of coordinates xˆ [n] , n ∈ Z, is called the discrete Fourier transform (DFT) of x. Both IDFT and DFT are computed by the fast Fourier transform (FFT) algorithm [2]. Since the signals are real-valued, the complex conjugate DFT is xˆ [n]∗ = xˆ [−n]. Throughout the book, the notation N /2m −1
xˆ [n]m =
k=0
N /2 −1 2m m , x[k] = xˆ [n]m ω2 nk N n=0 m
x[k] ω
−2m nk
is used for the DFT of signals belonging to the space Π [N /2m ]. The sequence xˆ [n]m is N /2m -periodic. Remark 1.1.1 We stress that subsequent application of the direct and inverse discrete Fourier transforms to any (not necessary periodic) sequence of length N perfectly restores this sequence. The following relations between the signals from Π [N ] and their DFT hold:
1.1 Periodic Discrete-Time Signals
Parseval identities:
3
Equation (1.1) implies that
x, y = x2 =
N −1 k=0
x[k] y[k] =
k=0
|x[k]|2 =
N −1
Circular discrete convolution:
1 N
N /2−1
ˆ [n] yˆ [−n], n=−N /2 x 2 N /2−1 xˆ [n] . 1 N
(1.2)
n=−N /2
If y = x h then ˆ xˆ [n]. yˆ [n] = h[n]
def
Circular shift: If xd = {x[k + d ]} , l ∈ Z, then xˆ d [n] = ωnd xˆ [n]. Finite differences: The finite differences of a sequence x are defined iteratively by def
def
Δ(x)[k] = {x[k + 1] − x[k]} , k ∈ Z, Δn (x)[k] = Δ[Δn−1 (x)[k]]. The central def finite difference of the second order is δ 2 (x)[k] = {x[k + 1] − 2x[k] + x[k − def 1]}, k ∈ Z, and δ 2r (x)[k] = δ 2 [δ 2n−2 (x)[k]]. def
Proposition 1.1 Assume that Pn−1 = {Pn−1 (k)} , k ∈ Z, is a sampled polynomial of degree not exceeding n − 1. Then, for m < n, the difference Δm [Pn−1 ] is a sampled polynomial of degree not exceeding n − m − 1. In particular, Δn [Pn−1 ] = 0. If n is even then δ n [Pn−1 ] = 0. If x is a periodic discrete-time signal then its differences are periodic signals and their DFT coefficients are derived from the shift property of the DFT:
π n 2l m (x)[n] = (ωn − 1)m x 2l (x)[n] = (−1)l 2 sin Δ ˆ [n], δ xˆ [n]. N
(1.3)
def
Polyphase representation of DFT A signal x = {x[k]} ∈ Π [N ], N = 2j , can be decomposed into a superposition of M = 2m , m < j, signals belonging to Π [N /M ] = Π [N /2m ] by x=
M −1
def
xl,M , xl,M [k] = x[l + kM ], k ∈ Z.
l=0
It is called the polyphase decomposition of the signal x. The signals xl,M ∈ Π [N /M ] are the polyphase components of x. The DFT of x can be split into the sum xˆ [n] =
N −1 k=0
ω−nk x[k] =
/M −1 M −1 N m=0
k=0
ω−n(m+kM ) x[m + kM ] =
M −1
ω−ln xl,M [n]m .
m=0
Special case: M = 2. Then, x0,2 = {x[2k]} and x1,2 = {x[2k + 1]} are the even and odd components of the signal x. The DFTs are, respectively,
4
1 Introduction: Periodic Signals and Filters
xˆ [n] = xˆ 0,2 [n]1 + ω−n xˆ 1,2 [n]1 , xˆ [n + N /2] = xˆ 0,2 [n]1 − ω−n xˆ 1,2 [n]1 xˆ [n] + xˆ [n + N /2] xˆ [n] − xˆ [n + N /2] , xˆ 1,2 [n]1 = =⇒ xˆ 0,2 [n]1 = . (1.4) 2 2ω−n def
def
In the sequel, we use shortened notations: x0 = x0,2 , x1 = x1,2 .
1.1.2 Two-Dimensional Periodic Discrete-Time Signals def
Assume that j and l are natural numbers. Arrays x = {x[k, n]}, k, n ∈ Z, which are periodic with the periods K = 2l and N = 2j , x[k + K, n + N ] = x[k, n], are called two-dimensional periodic discrete-time signals. These signals form a KN dimensional vector space, which is denoted by Π [K, N ], where the norm (the Frobenius norm) is defined as K−1 N −1 def |x[k, n]|2 . x = k=0 n=0
The discrete N −1 convolution of two signals from Π [K, N ]: y = x h ⇐⇒ circular y[k, n] = K−1 κ=0 ν=0 x[k − κ, n − ν] h[κ, ν] belongs to the same space. The two-dimensional discrete Fourier transform and its inverse are xˆ [κ, ν] =
−1 K−1 N
e−2πi(κk/K+νn/N ) x[k, n]
k=0 n=0
x[k, n] =
K−1 N −1 1 2πi(κk/K+νn/N ) e xˆ [κ, ν]. KN κ=0 ν=0
The following relations between the signals from Π [K, N ] and their DFT hold: Parseval identity: x2 =
K−1 N −1 2 1 xˆ [κ, ν] . KN κ=0 ν=0
ˆ ν] xˆ [κ, ν]. Circular discrete convolution: If y = x h then yˆ [κ, ν] = h[κ, def Circular shift: If xc,d = {x[k + c, n + d ]} , c, d ∈ Z, then 2πi (κc/K+νd /N ) [κ, ν] = e xˆ [κ, ν]. x c,d 2D finite differences: The finite differences Δm,μ [x] and δ m,μ (x) for 2D periodic discrete-time signals x are defined as
1.1 Periodic Discrete-Time Signals
5
def
Δ1,1 (x)[k, n] = Δ1[k] (Δ1[n] (x))[k, n] = x[k + 1, n + 1] μ − x[k + 1, n] − x[k, n + 1] + x[k, n], Δm,μ (x) = Δm [k] [Δ[n] (x), def
def
μ
m δ m,μ (x) = δ[k] (δ[n] (x)).
They are 2D periodic signals and their DFT coefficients are: m,μ (x)[κ, ν] = (ωκ − 1)m ((ων − 1)μ x ˆ [κ.ν], Δ
π κ m
π ν μ m+μ m,μ 2 sin 2 sin δ (x)[k][κ n] = (−1) xˆ [κ, ν]. N N
1.2 Periodic Filters Filtering of signals is a basic operation in signal processing. This procedure has some peculiarities in the periodic case that are outlined in this section.
1.2.1 Definition of Periodic Filters A linear operator h : Π [N ] −→ Π [N ], whose to a signal x consists of application −1 h[k − l] x[l] of x with the signal circular convolution y = h · x ⇐⇒ y[k] = Nl=0 h = {h[k]} ∈ Π [N ], is called a digital periodic filter ( p-filter). The signal h = {h[k]} ∈ Π [N ], is called the impulse response (IR) of the p-filter h. If the IR of a p-filter is finite up to periodization then the p-filter is referred to as the periodic finite impulse response p-filter (p-FIR p-filters). Otherwise, the p-filter is referred to as the infinite impulse response p-filter (IIR p-filters). In the frequency domain, the filtering is reduced to the multiplication of the DFT of x with the DFT the impulse response of h, which is called the frequency response ˆ xˆ [n]. (FR) of the p-filter h: y = h · x ⇐⇒ yˆ [k] = h[n] ˆ The frequency response of a filter can be represented in a polar form h[n] = ˆ ˆ i arg(h[n]) ˆ , where the positive N -periodic sequence h[n] is called the mag h[n] e ˆ nitude response (MR) of h and the real-valued N -periodic sequence arg(h[n]) is called the phase response of h. A p-filter is referred to as a linear phase one if its phase response is linear in with respect to n. If the IR of a p-filter h is symmetric or antisymmetric within the interval k = −N /2, . . . , N /2 − 1 then h is a linear phase p-filter. A p-filter h is called low-pass if it passes low frequencies of signals while attenuating or completely rejecting frequencies higher than a cutoff frequency. Its FR ˆ ˆ h[0] = 0 and h[±N /2] is close/equal to zero. On the contrary, a high-pass p-filter g attenuates or rejects frequencies lower than the cutoff frequency. Its frequency ˆ response g[±N ˆ /2] = 0 while h[0] is close/equal to zero. A band-pass filter passes
6
1 Introduction: Periodic Signals and Filters
frequencies within a certain range (passband) and attenuates (rejects) frequencies outside that range (stopband).
1.2.2 Multirate p-Filtering def
Assume that x = {x[k]} belongs to Π [N ], N = 2j , and M = 2m , m < j. The operdef ation (↓ M )x = x` = {x[Mk]} ∈ Π [N /M ] is referred to as downsampling the signal x by factor of M . Assume that a signal x belongs to Π [N /M ]. The operation (↑ M )x = x´ , x´ [k] =
x[l], if k = lM ; , l ∈ Z, 0, otherwise.
is referred to as upsampling the signal x by the factor M . Obviously, the downsampled signal (↓ M )x = x0,M is the zero polyphase component of the signal x, while the upsampled signal (↑ M )x is a signal, whose all the polyphase components, except for the zero component, vanish. If p-filtering of a signal is accompanied by downsampling or upsampling then it is called multirate p-filtering. In the rest of the book, we mainly use down(up)sampling by factor M = 2. Here x0 and x1 are the even and odd polyphase components of a signal x. M = 2: Downsampling: The downsampled signal y˘ = y0 is the even polyphase −1 def ˜ − k] x[l] , whose DFT is yˆ [n] = component of the signal y = y[k] = Nl=0 h[l ˆ˜ h[−n] xˆ [n]. By using Eq. (1.4), we get 1 ˜ˆ ˆ˜ h[−n] xˆ [n] + h[−n + N /2] xˆ [n + N /2] yˆ˘ [n] = 2 ˆ ˜ = h0 [−n]1 xˆ 0 [n]1 + hˆ˜ 1 [−n]1 xˆ 1 [n]1 , n ∈ Z.
(1.5) (1.6)
M = 2: Upsampling: Assume that p-filter h is applied to a signal y˘ = {˘y[k]} ∈ Π [N /2], which is upsampled by factor 2. Then, xˇ [k] =
N /2−1
ˆ yˆ˘ [n]1 = hˆ 0 [n]1 + ω−n hˆ 1 [n]1 yˆ˘ [n]1 h[k − 2l] y˘ [l] ⇐⇒ xˆˇ [n] = h[n]
l=0
=⇒ xˆˇ 0 [n]1 = hˆ 0 [n]1 yˆ˘ [n]1 , xˆˇ 1 [n]1 = hˆ 1 [n]1 yˆ˘ [n]1
(1.7)
⇐⇒ xˆˇ [n] = hˆ 0 [n] yˆ˘ [n]1 , xˆˇ [n + N /2] = hˆ 0 [n + N /2] yˆ˘ [n]1 .
(1.8)
Interpolating p-filters If the DFT of the even polyphase component of a p-filter h hˆ 0 [n]1 ≡ C is constant, then the p-filter is called interpolating. In this case, Eq. (1.7)
1.2 Periodic Filters
7
implies that the DFT of the zero polyphase component of the output signal xˇ is xˆˇ 0 [n]1 = C yˆ˘ [n]1 . It means that xˇ [2k] = C y˘ [k], k ∈ Z. Example: Butterworth p-filters: Denote def
f [n]1 = 2r
ωn cos2r π n/N − sin2r π n/N cos2r π n/N + sin2r π n/N
.
Obviously the denominator of the N /2-p sequence f 2r [n]1 is strictly positive and f 2r [0]1 = 1. Therefore, the sequences √ 2 cos2r π n/N def 1 ˆ , = √ 1 + ω−n fd2r [n]1 = h[n] cos2r π n/N + sin2r π n/N 2 √ 2 sin2r π n/N def 1 −n 2r g[n] ˆ = √ 1 − ω fd [n]1 = cos2r π n/N + sin2r π n/N 2
(1.9) (1.10)
√ ˆ can serve as the FR of interpolating p-filters h and g. The FR h[0] = 2, /; hˆ [N √ /2] = 0. Therefore, the p-filter h is low-pass. On the contrary, g[0] ˆ = 0, /; g[N ˆ /2] = 2. Therefore, the p-filter g is high-pass. ˆ and g[n] The sequences h[n] ˆ are the magnitude squared FR of the periodized halfband low- and high-pass Butterworth filters of order r, respectively. The Butterworth filters are widely used in signal processing [3]. Figure 1.1 displays the magnitude squared FR of the half-band low- and high-pass Butterworth filters of orders r = 1, 2, 5. One can observe that these frequency responses, especially of the order 5 filters, are flat within their pass-band, while practically vanishing at the stop-band.
Fig. 1.1 The FR of the low-pass p-filters h (solid lines) and of the high-pass Butterworth p-filters g (dashed lines) for orders r = 1, 2, 5
8
1 Introduction: Periodic Signals and Filters
1.3 Periodic Filter Banks Keeping in mind the periodic wavelet and wavelet frame transforms, we introduce periodic filter banks (p-filter banks) with downsampling factor 2. ˜ def = h˜ s , s = 0, . . . , S − 1, which, being timeDefinition 1.1 The set of p-filters H reversed and applied to an input signal x ∈ Π [N ], produces the set of the output signals {ys }S−1 s=0 , which are downsampled by factor 2, ys [l] =
N −1
h˜ s [k − 2l] x[k], s = 0, . . . , S − 1, l ∈ Z,
(1.11)
k=0
is called the S−channel analysis p-filter bank. def
Definition 1.2 The set of p-filters H = {hs } , s = 0, . . . , S − 1, such that, being applied to a set of input signals {ys } ∈ Π [N /2], s = 0, . . . , S − 1, that are upsampled by factor 2, produces the output signal xˇ [l]) =
/2−1 S−1 N s=0
hs [l − 2k] ys [k], l ∈ Z,
(1.12)
k=0
is called the S−channel synthesis p-filter bank. Definition 1.3 Assume that the upsampled signals {ys }, s = 0, . . . , S − 1, which are defined in Eq. (1.11), are used as an input to the synthesis p-filter bank and the output signal is xˇ = x. Then the pair of analysis–synthesis p-filter banks is referred to as a perfect reconstruction (PR) p-filter bank. Definition 1.4 If the number of channels S = 2 in a p-filter with downsampling factor 2, then the p-filter bank is said to be critically sampled. If S > 2 then the p-filter bank is oversampled. Critically sampled PR p-filter banks are used in wavelet analysis, while oversampled PR p-filter banks serve asa source for discrete-time wavelet frames design. ˜ def = h˜ s , s = 0, . . . , S − 1, is an analysis p-filter bank with downAssume that H def
sampling factor 2 and H = {hs } , s = 0, . . . , S − 1, is a synthesis p-filter bank with upsampling factor of 2. These p-filter banks can be characterized by either modulation or polyphase matrices.
1.3.1 Modulation Matrices of p-Filter Banks def
Denote provisionally n¯ = n + N /2. Equation (1.5) implies that the DFTs of the signals ys are
1.3 Periodic Filter Banks
yˆ s [n] =
9
1 ˆ˜ s h [−n] xˆ [n] + hˆ˜ s [−¯n] xˆ [¯n] , s = 0, . . . , S − 1. 2
These relations can be rewritten in a matrix form by ⎛
hˆ˜ 0 [n] yˆ [n]1 ⎜ .. xˆ [n] def ⎜ ⎜ ⎟ 1 ˜ .. . ⎜ ˜ M[−n] · , M[n] = = ⎝ ⎠ . ⎜ˆ xˆ [¯n] 2 S−1 ⎝ h˜ [n] yˆ S−1 [n]1 ⎛
⎞
0
⎞ hˆ˜ 0 [¯n] ⎟ .. ⎟ . ⎟. ˆh˜ S−1 [¯n] ⎟ ⎠
(1.13)
Equations (1.8) and (1.12) imply that xˆ [n] =
S−1
hˆ s [n] yˆ s [n]1 , xˆ [¯n] =
s=0
S−1
hˆ s [¯n] yˆ s [n]1 .
s=0
In a matrix form, these relations are represented by
xˆ [n] xˆ [¯n]
⎞ yˆ 0 [n]1 hˆ 0 [n] ... def ⎟ ⎜ . .. = M[n] · ⎝ ⎠ , M[n] = ˆ 0 h [¯n] ... yˆ S−1 [n]1 ⎛
hˆ S−1 [n] hˆ S−1 [¯n]
.
(1.14)
˜ The matrices M[n] and M[n] defined in Eqs. (1.13) and (1.14) are referred to as the analysis and synthesis modulation matrices, respectively. If the relation ˜ M[n] · M[−n] = 2I2 ,
(1.15)
where I2 is the 2 × 2 identity matrix, holds for all n ∈ Z, then ˜ M[n] · M[−n] ·
xˆ [n] xˆ [¯n]
=
xˆ [n] . xˆ [¯n]
˜ H of p-filter Thus, Eq. (1.15) is the condition for the analysis–synthesis pair H, ˜ banks to form a PR p-filter bank. Note that in the case, when the p-filter bank H ˜ is critically sampled (that means S = 2 ) and det(M[n] = 0, the synthesis matrix is −1 ˜ . M[n] = 2M[−n]
1.3.2 Polyphase Matrices of p-Filter Banks As before, x0 and x1 , h˜ 0s and h˜ 1s and h0s and h1s mean the even and odd polyphase components of a signal x, an analysis p-filter h˜ s and a synthesis p-filter hs , respec-
10
1 Introduction: Periodic Signals and Filters
tively. Using Eqs. (1.6) and (1.7), the results from the applications of the analysis and synthesis p-filter banks are represented by ⎞ ⎞ ⎛ 0 yˆ [n]1 yˆ 0 [n]1 xˆˇ 0 [n]1 xˆ 0 [n]1 ⎟ ˜ ⎟ ⎜ ⎜ .. .. ⎠ = P[−n] · xˆ [n] , ⎠ ⎝ . . ˆˇ 1 [n]1 = P[n] · ⎝ 1 1 x S−1 S−1 yˆ [n]1 yˆ [n]1 ⎛
where the S × 2 analysis and the 2 × S synthesis polyphase matrices are, respectively, ⎛
hˆ˜ 0 [n]1 ⎜ 0. .. def ⎜ ˜ =⎜ P[n] ⎜ˆ ⎝ h˜ S−1 [n]1 0 The relations
⎞ hˆ˜ 01 [n]1 ⎟ .. ⎟ ˆ 0 [n]1 ... hˆ S−1 [n]1 h def 0 0 . ⎟ P[n] = , n ∈ Z. hˆ 01 [n]1 ... hˆ S−1 ˆh˜ S−1 [n] ⎟ ⎠ 1 [n]1 1 1
˜ P[n] · P[−n] = I2 ,
˜ H of p-filter banks to form a is the condition for the analysis–synthesis pair H, PR p-filter bank.
References 1. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Periodic Splines, vol. 1 (Springer, Berlin, 2014) 2. J.W. Cooley, J.W. Tukey, An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965) 3. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010)
Chapter 2
Periodic Polynomial Splines
Abstract In this chapter, the spaces of periodic polynomial splines and the Spline Harmonic Analysis (SHA) in these spaces are briefly outlined. The stuff of this chapter is used for the design of periodic discrete-time splines and discrete-timespline-based wavelets and wavelet packets. For a detailed description of the subject we refer to (Averbuch, Neittaanmäki and Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Springer, Berlin, 2014) [1]. Periodic polynomial splines provide an example of mixed discrete-continuous circular convolution. Definition 2.1 An N-periodic function S p (t) is called periodic spline of order p ∈ N on the grid {k} , k ∈ Z, if it has p − 2 continuous derivatives (belongs to C p−2 ) and consists of pieces of polynomials of degree p − 1 that are linked to each other at the nodes. Nodes of splines of even and of odd orders are located at points {k} and {(k + 1)/2}, k ∈ Z, respectively. The spline spaces may have a variety of generating functions, best known of whose are B-splines.
2.1 Periodic B-Splines and Spline Spaces Let N = 2 j , j ∈ N. The centered N-periodic B-spline B 1 (t) of first order on the grid {k} , k ∈ Z, is the periodization of the is the so-called indicator function of the def interval [−1/2, 1/2], that is B 1 (t) = l∈Z χ [−1/2, 1/2](t + Nl), where def
χ [a, b](t) =
1, if t ∈ (a, b); 0, otherwise,
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_2
(2.1)
11
12
2 Periodic Polynomial Splines
The Fourier coefficients of the B-spline are cn (B ) = 1
N /2 −N /2
B (t) e 1
−2πint/N
1 = 2
1/2 −1/2
e−2πint/N =
sin π n/N . π n/N
The B-splines of higher order are defined iteratively via the circular convolution def B p (t) = B 1 B p−1 (t). It can be expanded into the Fourier series where the coefficients are sin π n/N p 1 2πint/N sin π n/N p p p =⇒ B (t) = e . cn (B ) = π n/N N π n/N n∈Z
The B-spline B p (t) is supported on the interval (− p/2, p/2) up to periodization. It is strictly positive inside this interval and symmetric about zero, where it has its single maximum. There exists an explicit expression for the B-spline at the interval (−N /2, N /2): p−1 p p t, if t ≥ 0; def t + −k , t+ = 0, otherwise. k 2 + (2.2) Surely, the length p + 1 of the spline’s B p support should not exceed the period N , thus p + 1 < N . Direct calculation of the B-splines values using Eq. (2.2) is implemented by MATLAB function bsplU.m. The following relations for the B-splines of any order p N N −1 B p (τ ) dτ = B p (t − k) ≡ 1 1 (−1)k ( p − 1)! k=0 p
B p (t) =
0
k=0
hold. The periodic B-splines generate the shift-invariant N-periodic spline spaces p S such that N −1 q[k] B p (t − k) , S p (t) ∈ p S ⇐⇒ S p (t) = k=0
where q is an N -periodic discrete-time Spline. The functions S p (t) ∈ p S are N periodic splines of order p, whose nodes are located at points {k} when p is even and at points {k + 1/2}, k ∈ Z, when p is odd. The Fourier coefficients of the spline S p (t) are ˆ cn [B p ] = q[n] ˆ cn [S p ] = q[n]
sin π (n/N ) π (n/N
p .
2.2 Exponential Splines and Characteristic Sequences
13
2.2 Exponential Splines and Characteristic Sequences The splines from the space p S N −1
def
ζ [n](t) = p
ωkn B p (t − k)
k=0
=
e
2πi(n+Nl)t/N
l∈Z
sin π (n/N + l) π (n/N + l)
p (2.3)
are referred to as periodic exponential splines. Their Fourier coefficients are cn+Nl (ζ p [n]) = N
sin π (n/N + l) π (n/N + l)
p , l ∈ Z.
The rest of the Fourier coefficients are zero. This can be formalized as follows sin π k/N p , k ∈ Z. ck (ζ p [n]) = N δ[k − n] π k/N where δ[k] is the N -periodized Kronecker delta. The B-splines can be expressed through the exponential splines: B p (t − k) =
N −1 1 p ζ [n](t) ω−kn , N n=0
B p (t) =
N −1 1 p ζ [n](t). N n=0
Therefore, the exponential splines form a basis in the space p S . The sequence def
u p [n] =
ζ p [n](0) =
N −1
ω−kn B p (k)
(2.4)
k=0
sin π (n/N + l) p πn (−1)lp = = sin p π (n/N + l) N ((π (n/N + l)) p l∈Z l∈Z is referred to as the characteristic sequence of the space p S . Equation (2.4) implies that the characteristic sequence u p [n] is readily calculated by the DFT of the sampled B-splines. On the other hand, once the characteristic sequence u p [n] is known, the samples of the B-spline B p are calculated by the IDFT: B p (k) =
N −1 1 kn p ω u [n]. N n=0
14
2 Periodic Polynomial Splines
The samples of B-splines of different orders at grid points {k} and so also at the points {k + 1/2} were computed by the MATLAB function bspuvU.m. They are gathered in the file BSUV.mat. The sequences u p [n] are calculated by the MATLAB function juviS.m. For further use, we introduce the sequence 1 v [n] = ζ [n](1/2) = (2.5) ω B k+ 2 k=0 sin π (n/N + l) p πn (−1)l( p+1) π i n/N πil =e e = eπ i n/N sin p π (n/N + l) N l∈Z ((π (n/N + l)) p l∈Z p
def
p
N −1
−kn
p
The sequences u p [n] and v p [n] of any order are calculated by MATLAB function juviS.m.
2.3 Spline Harmonic Analysis (SHA) in the Space of Periodic Polynomial Splines The exponential splines defined in Sect. 2.2 provide a flexible computational scheme in the space of periodic polynomial splines.
2.3.1 Orthogonal Periodic Exponential Splines A summary of properties of the periodic exponential splines ζ p [n](t), n = 0, . . . , N − 1 is given in Proposition 2.1. Proposition 2.1 1. The exponential spline ζ p [n](t), is orthogonal to all the exponential splines ζ r [m](t) where r is an arbitrary natural number and m = n. 2. The exponential splines {ζ p [n](t)} , n = −N /2, . . . , N /2 − 1, form an orthogonal basis of the space p S . If a spline S p (t) ∈ p S is defined by Eq. (2.1), then it can be represented by S p (t) =
N −1 1 def ξ [n] ζ p [n](t), ξ [n] = q[n]. ˆ N n=0
3. Squared norms of the exponential splines are ζ p [n]2 = N
sin π (n/N + l) 2 p = N u 2 p [n]. π (n/N + l) l∈Z
(2.6)
2.3 Spline Harmonic Analysis (SHA) in the Space of Periodic Polynomial Splines
15
4. Derivatives of order s of the order- p exponential splines are exponential splines of order p − s: s . ζ p [n](t)(s) = (1 − ω−n )s ζ p−s [n] t + 2 5. Derivatives of the exponential spline ζ p [n](t)(s) are orthogonal to all the derivatives ζ r [m](t)(σ ) of the exponential splines where r , s < p, σ < r and m = n. 6. The squared norms of the derivatives are (ζ p [n])(s) 2 = N w[n]2s u 2( p−s) [n], w[n] = 2 sin def
πn . N
(2.7)
7. The circular convolution of two exponential splines is ζ p [n] ζ r [m](t) = N δ[m − n]ζ p+r [n](t).
(2.8)
8. The exponential splines are eigenfunctions of the integer-shift operator such that ζ p [n] (t + l) = ωn l ζ p [n](t) =⇒ ζ p [n] (l) = ωn l u p [n], l ∈ N.
(2.9)
9. The exponential splines are eigenfunctions of the finite differences operators such that
s1 [ζ p [n] (t)] = (ωn − 1)s ζ p [n](t), π n s p δ12s [ζ p [n] (t)] = −4 sin2 ζ [n](t)]. N 10. The exponential splines interpolate the Fourier exponentials such that ζ p [n] (l) = e2πin l/N , l ∈ N. u p [n] Remark 2.3.1 The properties of the periodic exponential splines ζ p [n](t) listed in Proposition 2.1 are similar to the properties of the Fourier exponential func
tions e2πint/N , n ∈ Z, which generate the harmonic analysis in the space P of N -periodic functions. Similarly, the splines {ζ p [n](t)} , n = −N /2, . . . , N /2 − 1, generate a kind of harmonic analysis in the space p S of N -periodic splines. This analysis is referred to as the Spline Harmonic Analysis (SHA).
2.3.2 Representation of Periodic Splines by Exponential Spline Bases Expansion of periodic splines over the orthogonal exponential splines bases, as presented in Eq. (2.6), imposes a specific form of harmonic analysis methodology onto the spline space, which is referred to as the Spline Harmonic Anal-
16
2 Periodic Polynomial Splines
ysis (SHA). The exponential splines act as harmonics. The set of coordinates {ξ [n]} , n = 0, . . . , N − 1 Eq. (2.6), which act as Fourier coefficients, is called the SHA-spectrum of the spline S p (t). Originally, this SHA construction was presented in its final form in [3, 6] but some of its components were described in [2, 4, 5].
2.3.2.1
Summary of Basic Relations in SHA
Differentiation: Assume that S p ∈ p S is represented by Eq. (2.6). Then, its derivatives are N −1 1 s . (1 − ω−n )s ξ [n] ζ p−s [n] t + N n=0 2
S p (t)(s) = Parseval identities:
Assume that S p ∈ p S is represented by Eq. (2.6) and N −1 1 T (t) = τ [l] ζ p [l](t). N l=0 p
(2.10)
From Eqs. (2.6), (2.7) and (2.10), we get:
S p, T p =
N
S p (t) T p (t)∗ dt =
0
S p 2 =
N −1 1 2p u [n] ξ [n] [n]∗ , N n=0
N −1 N −1 1 1 2p |σ [n]|2 = u [n] |ξ [n]|2 , N n=0 N n=0
N −1 1 |ξ [n]|2 W p,s [n], N n=0 π n 2s 2( p−s) def W p,s [n] = 2 sin u [n]. N
(S p )(s) 2 =
Assume that S p ∈ p S is represented by Eq. (2.6) and
Circular convolution:
N −1 1 S (t) = λ[l] ζ r [l](t). N l=0 r
Equation (2.8) implies that
N
S p Sr (t) = 0
S p (t − τ ) Sr (τ ) dτ =
N −1 1 ξ [n] λ[n] ζ p+r [n](t). N n=0
(2.11)
2.3 Spline Harmonic Analysis (SHA) in the Space of Periodic Polynomial Splines
17
The samples of the spline S p (t) are obtained from
Sampling and interpolation: Eq. (2.9):
N −1 1 S (k) = ξ [n] u p [n] ωkn . N n=0 p
(2.12)
Equation (2.12) means that the samples {S p (k)} , k = 0, . . . N − 1, are computed by the application of the inverse DFT to the sequence {ξ [n] u p [n]}. Assume that the spline S p (t) interpolates N-periodic data {z[k]} on the grid {k}, that is S p (k) = z[k], k ∈ Z. Application of the direct DFT results in an explicit expression for the spline’s coordinates in the orthogonal basis such that ξ [n] = zˆ [n]/u p [n] =⇒ S p (t) =
N −1 1 zˆ [n] p ζ [n](t). N n=0 u p [n]
(2.13)
Remark 2.3.2 Equation (2.13) derives the spline’s S p (t) ∈ p S coordinates {ξ [n]} from its samples at grid points. Conversely, once the coordinates are available, the samples {S p (k)} , k = 0, . . . N − 1, are computed from Eq. (2.12). Discrete Parseval identity:
It follows from Eqs. (1.2) and (2.12) that
N −1 N −1 p 2 S (k) = 1 |ξ [n] u p [n]|2 . N n=0 k=0
Sampled circular convolution:
By substituting t = k into Eq. (2.11) we get
S p S q (k) =
2.3.2.2
N −1 1 ξ [n] λ[n] ωkn u p+q [n]. N n=0
Spline’s Values at Intermediate Points
For further use, values of interpolating splines at midpoints between the interpolation points are computes. Assume that a spline S p (t) ∈ [N ] is defined on the grid g = {k} and interpolates a Spline z = {z[l]} ∈ [N ], that is S p (l) = z[l], l ∈ Z. Then, due to Eq. (2.13), we have N −1 1 1 zˆ [n] p 1 = . ζ Sp l + [n](t) l + 2 N n=0 u p [n] 2 Equation (2.3) implies that
(2.14)
18
2 Periodic Polynomial Splines
N −1 1 1 ζ p [n] l + ωkn B p l − k + = = ωl n v p [n], 2 2 k=0 N −1 1 def . v p [n] = ω−kn B p k + 2 k=0
(2.15)
The sequence v p [n] is the DFT of the B-spline B p , which is sampled on the grid go = {k + 1/2}. The samples of B-splines of different orders at grid points {k + 1/2} are computed by the MATLAB function bspuvU.m. They are gathered in the file BSUV.mat. The sequences v p [n] are calculated by the MATLAB function juviU.m. Denote the sequence def sop =
p 1 def v [n] S l+ ∈ [N ], V p [n] = p . 2 u [n] p
p
p
It follows from Eqs. (2.14) and (2.15) that the DFT of the sequence so is sˆo [n] = p V p [n] zˆ [n]. Consequently, the sequence so is the result of filtering of the Spline z ∈ [N ] by a p-filter, whose frequency response is V p [n]. Remark 2.3.3 If the spline S p (t) ∈ [N /2] is defined on the grid ge = {2k} and interpolates the polyphase component ze = {z[2l]} ∈ [N /2] of the Spline z, such that S p (2l) = z[2l], l ∈ Z, then computation of the spline’s values S p (2l + 1) on the grid go = {2k + 1} is achieved by filtering of the Spline ze ∈ [N /2] by a p-filter, whose frequency response is V p [n]1 = V p [2n]. Examples of V p [n] Sequences Linear spline, p = 2: V 2 [n]1 = (1 + ω2n )/2. Quadratic interpolating spline, p = 3: V 3 [n]1 = 4 wn
4 4 wn + w−n n cos π n/N − sin π n/N . = ω ω2n + 6 + ω−2n cos4 π n/N + sin4 π n/N
Cubic interpolating spline, p = 4: V 4 [n]1 = ωn
ω3n + 23ωn + 23ω−n + ω−3n . 8(ω2n + 4 + ω−2n )
Fourth-degree interpolating spline, p = 5 V 5 [n]1 = 16ωn
ω3n + 11ωn + 11ω−n + ω−3n . ω4n + 76ωn + 230 + 76ω−n + ω−2n
2.4 SHA in Two-Dimensional Spline Spaces
19
2.4 SHA in Two-Dimensional Spline Spaces For simplicity, assume that the two-dimensional splines have the same periodicity in x and y directions. The 2D N -periodic B-spline on the grid {k, n} is defined as a def product of 1D B-splines B p,q (x, y) = B p (x) · B q (y). Similarly, the N-periodic 2D def exponential splines ζ p,q [κ, ν](x, y) = ζ p [κ](x) · ζ q [ν](y) are defined. 2D splines are defined as linear combinations of the 2D B-splines N −1
def
S p,q (x, y) =
s[k, n] B p (x − k) B q (y − n).
k,n=0
Once the variable y is fixed, S p,q (x, y) becomes a 1D spline of order p with respect to x, and vice versa for a fixed x. The space of such splines is denoted by p,q S . Alternatively, S
p,q
1 (x, y) = 2 N
N /2−1
ξ [κ, ν] ζ p,q [κ, ν](x, y), ξ [κ, ν] = sˆ [κ, ν], (2.16)
κ,ν=−N /2 def
The 2D sequence u p,q [κ, ν] = u p [κ] · u q [ν] denotes the characteristic function of the space p,q S and sˆ [κ, ν] denotes the 2D DFT of the coefficients s[k, n]. The coefficients s[k, n] are linked to ξ [κ, ν] via the 2D IDFT: s[k, n] =
N 0−1 1 kκ+nν ω ξ [κ, ν]. N 2 κ,ν=0
The splines ζ p,q [κ, ν](x, y) form an orthogonal basis of p,q S . The set of coordinates {ξ [κ, ν]} of a spline S p,q (x, y) in this basis is called its 2D SHA spectrum. Extension of the SHA to 2D spline spaces is straightforward. In particular: Sampling and interpolation: Let S p,q (x, y) ∈ p,q S be represented as in Eq. (2.16). Then, Eq. (2.9) implies that grid samples are S p,q (k, n) = =
N −1 1 ξ [κ, ν] ζ [κ, ν] p,q (k, n) N 2 κ,ν=0
N −1 1 ξ [κ, ν]u p [κ] u q [ν] ω(κk+νn) . N 2 κ,ν=0
If the spline S p,q interpolates the array z = {z[k, n]} , k, n, = 0, . . . , N − 1, then S p,q (k, n) = z[k, n] ⇐⇒ ξ [κ, ν] =
zˆ [κ, ν] u p [κ] u q [ν]
.
20
2 Periodic Polynomial Splines
Parseval identities: S p,q 2 = Circular convolution:
N −1 1 2p u [κ] u 2q [ν] |ξ [κ, ν]|2 . N 2 κ,ν=0
Let S p,q ∈
¯ q¯ S p, (x, y) =
p,q
S be represented as in Eq. (2.16) and
N −1 1 ¯ q¯ μ[κ, ν] ζ p, [κ, ν](x, y) ∈ N 2 κ,ν=0
p, ¯ q¯
S.
Then, the circular convolution is ¯ q¯ (x, y) S p,q S p,
= S
1 N2
p,q
=
N /2−1
¯ q) ¯ ¯ q) ¯ ξ [κ, ν] μ[κ, ν] ζ ( p+ p),(q+ [κ, ν](x, y) ∈ ( p+ p),(q+ S,
κ,ν=−N /2
¯ q¯ S p, (k, n)
1 N2
N /2−1
¯ q¯ ω(kκ+nν) ξ [κ, ν] μ[κ, ν] u p+ p,q+ [κ, ν].
κ,ν=−N /2
References 1. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Periodic Splines, vol I (Springer, Berlin, 2014) 2. P. Neittaanmäki, V. Rivkind, V. Zheludev, A wavelet transform based on periodic splines and finite element method, in Finite Element Methods (Jyväskylä, 1993), Lecture Notes in Pure and Appl. Math., ed. by M. Kˇrížek, P. Neittaanmäki, R. Stenberg, vol 164 (Dekker, New York, 1994), pp. 325–334 3. P. Neittaanmäki, V. Rivkind, V. Zheludev, Periodic spline wavelets and representation of integral operators. Preprint 177, University of Jyväskylä, Department of Mathematics, (1995) 4. V. Zheludev, An operational calculus connected with periodic splines. Soviet. Math. Dokl. 42(1), 162–167 (1991) 5. V. Zheludev, Periodic splines and the fast Fourier transform. Comput. Math. Math. Phys. 32(2), 149–165 (1992) 6. V. Zheludev, Periodic splines, harmonic analysis, and wavelets, in Signal and Image Representation in Combined Spaces, Wavelet Anal. Appl., ed. by Y.Y. Zeevi, R. Coifman, vol 7 (Academic Press, San Diego, 1998), pp. 477–509
Chapter 3
Periodic Discrete and Discrete-Time Splines
Abstract Periodic discrete splines with different periods and spans are introduced in Sect. 3.4 of Volume I (Averbuch, Neittaanmäki and Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Springer, Berlin, 2014) [2]. In this chapter, we regard periodic discrete splines as a base for the design of periodic discrete-time wavelets, wavelet packets and wavelet frames. Therefore, only the discrete splines whose spans are 2 are outlined. These discrete splines are linear combinations of the discrete B-splines. So also, the so-called discrete-time splines are discussed in the chapter that are linear combinations of the discretetime B-splines. The discrete-time B-splines are defined by the polynomial B-splines sampling. Utilization of the Fast Fourier transform (FFT) provides a fast explicit way to implement all the computations.
3.1 Periodic Discrete Splines of Span 2 As before, N = 2 j , M = 2m , m < j, and Nm = 2 j−m .
3.1.1 B-Splines and Discrete Spline Spaces def
We define the periodic discrete B-spline of span one as b0 = {δ[k]}. Its DFT is bˆ0 [n] = 1, n = 0, . . . , N − 1. Each signal x ∈ [N ] can be represented by x=
N −1 l=0
x[l]δ[k − l] ⇐⇒ x =
N −1
x[l]b[0] [k − 20 l]
l=0
and treated as the of span-one discrete spline. The space [N ] of N -periodic signals can be treated as the space S[0] of span-one discrete splines s[0] . The centered span-two periodic discrete B-spline of order 2r is defined as the IDFT of the sequence © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_3
21
22
3 Periodic Discrete and Discrete-Time Splines N −1 πn πn 1 kn 2r 2r [n] = cos2r [k] = ω cos2r bˆ[1] , b[1] . N N n=0 N
(3.1)
The B-splines are finite-length signals (up to periodization). Only the samples 2r [k], κ = −r, . . . r, are non-zero. b[1] Linear combinations of two-sample shifts of the B-splines N /2−1 2r s[1] [k] =
2r 2r 2r q[l] b[1] [k − 2l], sˆ[1] [n] = q[n] ˆ 1 bˆ[1] [n].
(3.2)
l=0
are referred to as periodic discrete splines of span 2. The space of the periodic dis0 ⊂ 2r S[0] = [N ]. Figure 3.1 crete splines defined by Eq. (3.2) is denoted by 2r S[1] displays the discrete B-splines of different orders. Figure 3.2, which was produced by the MATLAB code dbsp1_specS, displays their DFTs. Obviously, effective spectra of the B-splines b2r [1] are located in the low-frequency half-band [−N /4, N /4] (especially, for higher orders). The same can be said about 2r 0 of the subspace 2r S[1] ⊂ [N ]. all the members s[1]
Fig. 3.1 Centered B-splines b2r [1] of orders 2, 4, 6, 8, 10 and 12
3.1 Periodic Discrete Splines of Span 2
23
Fig. 3.2 DFTs of centered B-splines b2r [1] of orders 2, 4, 6, 8, 10 and 12, N = 256
3.1.2 Exponential Discrete Splines and Characteristic Sequences Similarly to polynomial exponential splines, discrete exponential splines are introduced by N /2−1 def
2r ζ[1],0 (ν)[k] =
2r ω2l ν b[1] [k − 2l], ν = 0, . . . , N /2 − 1.
(3.3)
l=0 2r The DFT of the discrete spline ζ[1],0 (ν)[k] comprises only 2 terms:
2r ζˆ[1],0 (ν)[n] = cos2r
N /2−1 π n 2(ν−n) πn N ω = cos2r (δ[n − ν] + δ[n − ν − N /2]) , N 2 N k=0
πν π (ν + N /2) ωkν e2 π i k(ν+N /2)/N 2r ζ[1],0 (ν)[k] = cos2r + cos2r 2 N 2 N wkν 2r π ν π ν cos . = + (−1)k sin2r 2 N N
In particular, π ν 1 2r π ν cos + sin2r , 2 N N π ν e2 π i (2l+1)ν/N 2r π ν 2r cos − sin2r . ζ[1],0 (ν)[2l + 1] = 2 N N 2r (ν)[0] = ζ[1],0
(3.4)
24
3 Periodic Discrete and Discrete-Time Splines
2r √ 2r Remark 3.1.1 Note that ζ[0] (ν)[k] = e2 π i kν/N and ζ[0] (ν) = N . Thus, Eq. (3.4) can be regarded as a two-scale relation: 2r (ν)[k] ζ[1],0
1 2r 2r b0 [ν] ζ[0] (ν)[k] + b0 [ν + N /2] ζ[0] (ν + N /2)[k]) , 2
= def
b0 [ν] = cos2r
πν . N
2r 0 The set of N -periodic, with respect to k, discrete splines ζ[1] (ν)[k] ∈2r S[1] is N /2-periodic with respect to ν. Equation (3.3) implies that 2r b[1] [k − 2l] =
N /2−1 2 −2l ν 2r ω ζ[1],0 (ν)[k], N ν=0 N /2−1
2r s[1] [k] =
2r q[l] b[1] [k − 2l]
l=0
=
N /2−1 2 2r ξ[1],0 [ν] ζ[1],0 (ν)[k], ξ[1],0 [ν] = q[ν] ˆ 1. N ν=0
Consequently, the DFT of a discrete spline is πν 2r 2r sˆ[1] . [ν] = q[ν] ˆ 1 bˆ[1] [ν] = ξ[1],0 [ν] cos2r N 0 The characteristic sequence of the space 2r S[1] is N /2−1 def
2r (ν)[0] = U 2r [ν] = ζ[1],0
2r ω−2νl b[1] [2l]
l=0
1 2r π ν π ν cos + sin2r . = 2 N N 2r Proposition 3.1 1. The discrete exponential splines ζ[1],0 (ν) , 0 ν = 0, . . . , N /2 − 1, form an orthogonal basis of the space 2r S[1] . 2. Their squared norms in the space [N ] are 2r ζ (ν)2 = N U 4r [ν]. [1],0 2 3. The circular convolution of two discrete exponential splines is a discrete exponential spline: 2q
2(r +q)
2r (ν) ζ[1],0 (μ)[k] = Nm δ[ν − μ] ζ[1],0 (ν)[k]. ζ[1],0
3.1 Periodic Discrete Splines of Span 2
25
4. The discrete exponential splines are the eigenvectors of the shift operator: 2r 2r (ν)[k + 2l] = e4πiνl/N ζ[1],0 (ν)[k] =⇒ ζ[1],0 2r ζ[1],0 (ν)[2l] = e4πiνl/N U 2r [ν],
2r (ν)[2l] ζ[1],0
U 2r [ν]
= e2πiν2l/N .
(3.5)
Equation (3.5) means that the discrete exponential splines interpolate the Fourier exponential functions.
3.1.3 Interpolating and Quasi-interpolating Discrete Splines 3.1.3.1
Interpolating Discrete Splines
Corollary 3.1 follows from Proposition 3.1 Corollary 3.1 1. Any N /2-periodic signal x ∈ [N /2] can be interpolated by 2r 2r a discrete spline s[1] ∈ 2r S[1] such that s[1] [2l] = x[l], l = 0, . . . , N /2 − 1, where N /2−1 ˆ 1 2r 2 x[ν] 2r ζ (ν)[k]. s[1] [k] = N ν=0 U 2r [ν] [1],0 2r 2. The set s[1] [2l + 1] , l = 0, ...N /2 − 1, of samples of the interpolating discrete spline at odd grid points is the result of p-filtering of the interpolated signal x by the p-filter p2r [1],0 , whose frequency response is 2r pˆ [1],0 [ν]1 = ων V 2r [ν], V 2r [ν] =
def
πν N cos2r πNν
cos2r
πν N sin2r πNν
− sin2r +
.
2r Proof 1. The interpolation condition s[1] [2l] = x[l], k = 0, . . . , N /2 − 1 is equivalent to
2r s[1] [2l]
N /2−1 N /2−1 2 2 2r = ξ[1],0 [ν] ζ[1],0 (ν)[2l] = ξ[1],0 [ν] ω2lν U 2r [ν] = x[l]. N ν=0 N ν=0
Thus, ξ[1],0 [ν] U 2r [ν] = x[ν] ˆ 1 , ν = 0, . . . N /2 − 1. 2. Equation (3.4) imply that the spline’s samples at odd grid points are 2r s[1] [2l
N /2−1 ˆ 1 2r 2 x[ν] ζ (ν)[2l + 1] + 1] = N ν=0 U 2r [ν] [1],0
N /2−1 cos2r 2 = x[ν] ˆ 1 ω2lν ων N ν=0 cos2r
πν N πν N
πν N sin2r πNν
− sin2r +
.
26
3 Periodic Discrete and Discrete-Time Splines 2r Thus, s[1] [2l + 1] is the IDFT of the product x[ν] ˆ 1 ων V 2r [ν], ν=0, . . . N /2−1.
N /2−1 2r 2r Consequently, s[1] [2l + 1] = k=0 p[1],0 [l − k] x[k].
3.1.3.2
Fourth-Order Local Quasi-interpolating Discrete Splines
The fourth-order discrete spline which interpolates the signal x is
4 [k] s[1]
N /2−1 x[ν] ˆ 1 4 ζ 4 (ν)[k] = N ν=0 cos4 π ν/N + sin4 π ν/N [1],0 N /2−1 4 x[ν] ˆ 1 = ζ 4 (ν)[k] = sq4 [k] + rq4 [k], N ν=0 1 − 21 sin2 2π ν/N [1],0
where the discrete splines sq4 and rq4 are N /2−1 8 4 x[ν] ˆ 1 ζ[1],0 (ν)[k] Uq4 [ν], N ν=0 1 2π ν def 1 1 + sin2 , Uq4 [ν] = 2 2 N def
sq4 [k] =
def
rq4 [k] =
N /2−1 ∞ 2π ν 1 2π ν 4 4 x[ν] ˆ 1 ζ[1],0 . sin4 (ν)[k] sin2(l−2) l N ν=0 N 2 N l=2
By using Eqs. (3.5) and (1.3), we compute values of the spline sq4 at even grid points: sq4 [2k] =
N /2−1 8 x[ν] ˆ 1 e4πiνk/N U 4 [ν] Uq4 [ν] N ν=0
= =
2 N
N /2−1 ν=0
x[ν] ˆ 1 e4πiνk/N
πν 1 1 4 1 − sin4 = x[k] − δ (x)[k] 4 N /2 64
(3.6)
−x[k − 2] + 4x[k − 1] + 58x[k] + 4x[k + 1] − x[k + 2] . 64
The spline’s values at odd grid points are sq4 [2k + 1] =
N /2−1 8 2r x[ν] ˆ 1 ζ[1],0 (ν)[2l + 1] Uq4 [ν], N ν=0
(3.7)
3.1 Periodic Discrete Splines of Span 2
27
=
N /2−1 1 πν π ν 2π ν 2 − sin4 1 + sin2 x[ν] ˆ 1 ω2kν ων cos4 N ν=0 N N 2 N
=
N /2−1 −ω4ν + 9ω2ν + 9 − ω−2ν 2 x[ν] ˆ 1 ω2kν N ν=0 16
=
−x[k − 2] + 9x[k − 1] + 9x[k] − x[k + 1] . 16
The discrete spline sq4 is local in the sense that, in order to compute the spline’s value at some point, only a few of adjacent grid samples are needed: five samples (x[l]) , l = −2, . . . , 2 for computing sq4 [2k] and four samples (x[l]) , l = −1, . . . , 2 for computing sq4 [2k + 1]. If {x[l]} , l = −2, . . . , 2, are samples of a cubic polynomial, then δ 4 (x)[k] = 0. Consequently, Eq. (3.6) implies that sq4 [2k] = x[k]. In that sense, the discrete spline sq4 is referred to as the local quasi-interpolating discrete spline. It is seen from Eqs. (3.6) and (3.7) that the arrays sq4 [2k] and sq4 [2k + 1] , k ∈ Z, are derived from filtering the signal x by the low-pass FIR p-filters Fe and Feo , whose impulse responses are
Fe : = Feo : =
k −2 −1 0 1 2 , Fe [k] −1/64 1/16 58/64 1/16 −1/64 k −1 0 1 2 . Feo [k] −1/16 9/16 9/16 −1/16
The frequency responses of the p-filters Fe and Feo are πν 1 , Fˆe [ν]1 = 1 − sin4 4 N /2
−e2 π i ν/N Fˆeo [ν]1 = 8
πν 3π ν 9 cos − cos N /2 N /2
.
3.1.4 Orthonormal Periodic Discrete Splines The discrete splines
2r 2r (ν)[k] (ν)[k] ζ[1],0 2 ζ[1],0 = 2r ζ (ν) N U 4r [ν] [1],0 2 π i kν/N e e2 π i k(ν+N /2)/N 1 2r π ν 2r π ν + . (3.8) = cos sin √ √ N N N N 2 U 4r [ν]
def 2r γ[1],0 (ν)[k] =
28
3 Periodic Discrete and Discrete-Time Splines
0 2r 0 form an orthonormal basis of the space 2r S[1] . Any discrete spline s[1] ∈ 2r S[1] can be expanded into N /2−1 2 2r = ξ[1],0 [ν] ζ[1],0 (ν)[k] = N ν=0
N /2−1 2 2r σ[1] [ν] γ[1],0 (ν)[k], (3.9) N ν=0
N 2r 2r 4r 4r s[1] , γ[1],0 (ν) . ˆ = σ[1],0 [ν] = U [ν] ξ[1],0 [ν] = U [ν] q[ν] 2 2r s[1] [k]
Remark 3.1.2 √ The span-one orthonormal discrete splines are γ[0] (ν)[k] = e2 π i kν/N / N and the “coordinates” of the “discrete spline” s[0] [k] = x[k] are the ˆ Then, DFT σ[0] [ν] = x[ν]. x[k] = N −1/2
N −1
σ[0] [ν] γ[0] (ν)[k]
ν=0
and Eq. (3.8) can be rewritten as N N γ[0] ν + [k], = β[0] [ν] γ[0] (ν)[k] + β[0] ν + 2 2 πν e2 π i kν/N 1 . γ[0] (ν)[k] = √ , β[0] [ν] = cos2r N N 2 U 4r [ν]
2r γ[1],0 (ν)[k]
Apparently, N 2 β[0] [ν]2 + β[0] ν + = 1. 2
(3.10)
2r 0 If a discrete spline s[1] ∈ 2r S[1] is represented as in Eq. (3.9) then, by using the fact that σ[1],0 [ν] is an N /2-periodic sequence we have
2r s[1] [k] =
N /2−1 2 2r σ[1],0 [ν] γ[1],0 (ν)[k], N
(3.11)
ν=0
N /2−1 2 N N σ[1],0 [ν] β[0] [ν] γ[0] (ν)[k] + β[0] ν + γ[0] ν + [k] N 2 2 ν=0
N −1 √ N −1 2 2 σ[1],0 [ν] β[0] [ν] γ[0] (ν)[k] = σ[1],0 [ν] β[0] [ν] e2π i kν . = N N
=
ν=0
2r Hence the DFT of s[1] is
ν=0
3.1 Periodic Discrete Splines of Span 2 2r sˆ[1] [ν] =
29
√ σ[1],0 [ν] cos2r 2 σ[1],0 [ν] β[0] [ν] = U 4r [ν]
πν N
.
(3.12)
2r 0 Define the discrete spline ψ[1],0 ∈ 2r S[1] as follows
def
2r ψ[1],0 [k] =
N /2−1 2 2r 2r γ[1],0 (ν)[k] =⇒ ψ[1],0 [k − 2l] = N
ν=0
N /2−1 2 −4πiνl/N 2r e γ[1],0 (ν)[k]. N ν=0
(3.13)
Then, the inner product is
2r 2r [· − 2l], ψ[1],0 [· − 2m] ψ[1],0
=
2 N
/2−1 N −1 N k=0
2r e−4πiνl/N γ[1],0 (ν)[k]
(3.14) N /2−1
ν=0
2r e4πiμm/N γ[1],0 (μ)[k]
μ=0
N /2−1
=
2 −4πiν(l−m)/N e = δ(l − m). N ν=0
2r [· − 2l], l = 0, . . . , N /2 − 1, form an orthonormal basis of Thus, the shifts ψ[1],0 0 2r the space S[1] . 2r Remark 3.1.3 The splines ψ[1],0 can be regarded as discrete periodic counterparts of the orthonormal Battle- Lemarié splines ( [4], see also [3]). 2r Equation (3.12) implies that the DFT of ψ[1],0 is 2r ψˆ [1],0 [ν] =
√
cos2r πNν 2r 2r 2 β[0] [ν] = [−l] = ψ[1],0 [l]. =⇒ ψ[1],0 U 4r [ν]
(3.15)
2r 0 Any discrete spline s[1] ∈ 2r S[1] can be expanded into
N /2−1 2r s[1] [k] =
0 2r p[1] [l] ψ[1],0 [k − 2l].
l=0
In particular, the following statement is true. Proposition 3.2 The orthogonal projection of a signal x ∈ [N ] onto the space 0 0 2r S[1] is the signal x[1] ∈ [N ] such that
30
3 Periodic Discrete and Discrete-Time Splines N /2−1 0 x[1] [k] =
0 2r 0 2r y[1] [l] ψ[1],0 [k − 2l], y[1] [l] = x, ψ[1],0 [· − 2l]
l=0
=
N −1
2r h 0[1] [k − 2l] x[k], h 0[1] [k] = ψ[1],0 [k], k ∈ Z,
(3.16)
k=0
hˆ 0[1] [ν] =
√ cos2r πNν 2r 2β[0] [ν] = ψˆ [1],0 [ν] = . U 4r [ν]
0 [l] , l = 0, . . . , N /2 − 1, of the orthogonal projection s¸ Remark 3.1.4 The set y[1] can be regarded as a result of p-filtering of the signal x by the time-reversed low-pass 0 , which is followed by downsampling of factor 2. The impulse response p-filter h[1] 0 2r of the p-filter h[1] coincides with the signal ψ[1],0 [k].
3.2 Two-Dimensional Discrete Splines of Span 2 As before, N = 2 j , M = 2m , m < j, and Nm = 2 j−m . The notation [N , L] means the space of two-dimensional signals whose columns belong to [N ] and the rows belong to [L]. For simplicity, we assume that the 2D signals to be discussed have the same periodicity N in both vertical and horizontal directions, thus belong to [N , N ]. The 2D N -periodic discrete B-spline of order p = 2r whose span is 2, is defined as a product of 1D B-splines def 2r 2r 2r b2r,2r [1] = b[1] [k, l] = b[1] [k] b[1] [l] , k, l ∈ Z. Remark 3.2.1 Generally, orders of the “vertical” and “horizontal” B-splines can be different. The 2D DFT of the B-spline is 2r bˆ[1] [κ, λ] =
N −1
2r ω−(k κ+lλ) b[1] [k, l] = cos2r
k,l=0
πκ πλ def cos2r , ω = e2π i/N . N N
Two-dimensional N −periodic discrete splines are defined as linear combinations of 2D B-splines N /2−1 2r s[1] [k, l]
=
p,t=0
2r 2r q[r, t] b[1] [k − 2 p] b[1] [l − 2t].
(3.17)
3.2 Two-Dimensional Discrete Splines of Span 2
The space of such splines is denoted by discrete splines are def
2r ζ[1],0,0 (ν, μ)[k, l] =
N /2−1
2r
31 0,0 S[1] . The N-periodic 2D exponential
2r 2r 2r 2r e4 π i (kν+lμ)/N b[1] [k − 2 p] b[1] [l − 2t] = ζ[1],0 (ν)[k] ζ[1],0 (μ)[l].
p,t=0
Equation (3.4) implies the explicit representation of the exponential splines by Eq. (3.18): π ν e2 π i (kν+lμ)/N 2r π ν cos (3.18) + (−1)k sin2r 4 N N πμ πμ × cos2r + (−1)l sin2r . N N
2r ζ[1],0,0 (ν, μ)[k, l] =
0,0 The characteristic sequence of the space 2r S[1] is def
2r U 2r [ν, μ] = ζ[1],0,0 (ν, μ)[0, 0] = U 2r [κ] U 2r [μ] π ν 2r π μ π μ 1 2r π ν cos + sin2r cos + sin2r . = 4 N N N N 2r The exponential splines ζ[1],0,0 (ν, μ) , ν, μ = 0, . . . , N /2 − 1, form an 0,0 2r orthogonal basis of the discrete-spline space 2r S[1] . The spline s[1],0,0 represented by Eq. (3.17) is expanded as
2r s[1],0,0 [k, l] =
N /2−1 4 2r ξ [ν, μ] ζ[1],0,0 (ν, μ)[k, l], ξ [ν, μ] = q[ν, ˆ μ]1 . N ν,μ=0
Proposition 3.3 Any 2D signal x ∈ [N /2, N /2] can be interpolated by a discrete 0,0 2r 2r ∈ 2r S[1] such that s[1] [2k, 2l] = x[k, l], k, l = 0, . . . , N /2 − 1, where spline s[1] 2r [k/l] = s[1]
N /2−1 ˆ μ]1 2r 2 x[ν, ζ (ν, μ)[k, l]. N ν,μ=0 U 2r [ν, μ] [1],0,0
An orthonormal basis of the discrete-spline space shifts of the discrete splines
2r
0,0 S[1] is formed by 2-sample
cos2r π ν cos2r πNμ 2r 2r 2r 2r , [k, l] = ψ[1],0 [k] ψ[1],0 [k], ψˆ [1],0,0 [ν, μ] = N ψ[1],0,0 U 4r [ν] U 4r [μ] 2r where ψ[1],0 [k] is defined in Eq. (3.13). Thus, a 2D spline can be represented by
32
3 Periodic Discrete and Discrete-Time Splines N /2−1 2r s[1] [k, l] =
0,0 2r P[1] [ p, t] ψ[1],0,0 [k − 2 p, [l − 2t].
p,t=0
Proposition 3.4 The orthogonal projection of a signal x ∈ [N , N ] onto the space 0,0 0,0 S[1] is the signal x[1] ∈ [N , N ] such that
2r
N /2−1 2r [k, l] = x[1],0,0
0,0 2r y[1] [ p, t] ψ[1],00 [k − 2 p, l − 2t],
p,t=0 0,0 [ p, t] = y[1]
N −1
2r 2r ψ[1],0 [k − 2 p] ψ[1],0 [l − 2t] x[k, l],
(3.19)
k,l=0 0,0 xˆ[1] [ν, μ]
=
0,0 yˆ[1] [ν, μ]1
cos2r πNν cos2r πNμ . U 4r [ν] U 4r [μ]
0,0 Remark 3.2.2 Equation (3.19) means that the derivation of the array y[1] [ p, t] , p, t = 0, . . . , N /2 − 1, of the orthogonal projection s¸ can be executed in two steps: 1. Columns of the signal x ∈ [N , N ] are filtered by the time-reversed low-pass 0 p-filter h[1] defined in Eq. (3.31), which is followed by downsampling of factor 0 2r 2. The impulse response of the p-filter h[1] coincides with the signal ψ[1],0 [k]. 2. The same operations are applied to rows of the resulting array.
3.3 Periodic Discrete-Time Splines The term discrete B-spline is used in the literature for designating different objects. For example, in [1, 7, 8] the discrete B-spline is understood as a sampled polynomial B-spline. Our definition of the discrete B-spline in Eq. (3.1) is in line with [5, 6, 9]. In the previous sections we kept the latter definition. However, a similar design can be developed using the former definition. To distinguish between the schemes, we will use the term discrete-time splines and mark the object by bars. As before, N = 2 j , M = 2m , m < j, and Nm = 2 j−m .
3.3.1 B-Splines and Discrete-Time Spline Spaces The periodic discrete-time B-spline of span one are defined by b¯ 0 = {δ[k]}. Its DFT is bˆ¯0 [n] = 1, n = 0, ..., N − 1. Each signal x ∈ [N ] can be represented by def
3.3 Periodic Discrete-Time Splines
x=
N −1
33
x[l]δ[k − l] ⇐⇒ x =
l=0
N −1
x[l] b¯ [0] [k − 20 l]
l=0
and treated as the of span-one discrete-time spline. The space [N ] of N -periodic signals can be regarded as the space S¯[0] of spanone discrete-time splines s¯ [0] . The centered periodic B-spline B p (t) is the N -periodization of the centered nonp periodic B-spline b p (t). Denote by B[1] (t) the N -periodization of the centered nonp periodic B-spline b (t/2)/2, which is the two-times dilation of the B-spline b p (t). Definition 3.1 The span-two discrete-time B-spline of order p is defined as the p sampled N-periodic B-spline B[1] (t): def p p b¯[1] [k] = B[1] (k), k ∈ Z.
Note that discrete-time B-spline b¯[1] is an N -periodic signal b¯[1] ∈ [N ]. The DFT p of the B-spline b¯[1] is p
p bˆ¯[1] [n] =
N /2−1
p
ω−2kn B[1] (2k) + ω−n p
k=0
ω−2kn B[1] (2k + 1)
k=0
N /2−1
/2−1 −n N
=
ω 1 −2kn p ω B (k) + 2 k=0 2
=
u [2n] + ω 2 p
N /2−1
−n
v [2n] p
k=0
p
1 ω−2kn B p k + 2
.
Here u p [n] is the characteristic sequence of the spline space p S defined in (2.4) and the sequence v p [n] is defined in (2.5). The samples of B-splines B p of different orders at grid points {k} and at points {k + 1/2} are computed by the MATLAB function bspuvU.m. They are gathered in the file BSUV.mat. The sequences u p [n] and v p [n] are computed by the MATLAB function juviU.m. Due to the symmetry of the B-splines B p , we have u p [−2n] = u p [2n], ωn v p [−2n] = ω−n v p [2n]. p The polyphase components of the B-spline b¯[1] are represented by
N /2−1 N /2−1 1 2kn p 1 2kn p p p b¯[1],0 [k] = ω u [n], b¯[1],1 [k] = ω v [n]. N n=0 N n=0
(3.20)
34
3 Periodic Discrete and Discrete-Time Splines
The B-splines b¯[1] are finite-length signals (up to periodization). Only the samples k = −r + 1, . . . r − 1, for p = 2r and k = −r, . . . r, for p = 2r + 1 are non-zero. p Table 3.1 provides values of B-splines b¯[1] [k] of orders 2 to 9 at grid points. p The values B[1] (2k + 1) are presented in Table 3.2. The samples of higher order splines were computed by the MATLAB function bspuvU.m. They are gathered in the file BSUV.mat. Linear combinations of two-sample shifts of the B-splines p
N /2−1 p
s¯[1] [k] =
p p p q[l] b¯[1] [k − 2l], sˆ¯[1] [n] = q[n] ˆ 1 bˆ¯[1] [n].
(3.21)
l=0
are referred to as periodic discrete-time splines of span 2. The space of the periodic 0 ⊂ p S¯[0] = [N ]. discrete-time splines defined by Eq. (3.21) is denoted by p S¯[1] Table 3.1 Samples of the B-splines B p (t) at grid points k −4 −3 −2 −1 0 B 2 (k) B 3 (k) × 8 B 4 (k) × 6 B 5 (k) × 384 B 6 (k) × 120 B 7 (k) × 26 6! B 8 (k) × 7! B 9 (k) × 28 7!
0 0 0 0 0 0 0 1
0 0 0 0 0 1 1 6552
0 0 0 1 1 722 120 331610
0 1 1 76 26 10543 1191 2485288
1 6 4 230 66 23548 2416 4675014
Table 3.2 Sampled B-splines {B p (k + 1/2)} l −4 −3 −2 −1 B 2 (k + 1/2) × 2 B 3 (k + 1/2) × 2 B 4 (k + 1/2) × 48 B 5 (k + 1/2) × 24 B 6 (k + 1/2) × 3840 B 7 (k + 1/2) × 720 B 8 (k + 1/2) × 7! 27 B 9 (k + 1/2) × 8!
0 0 0 0 0 0 1 1
0 0 0 0 1 1 2179 247
0 0 1 1 237 57 60657 4293
1 1 23 11 1682 302 259723 15619
1
2
3
4
0 1 1 76 26 10543 1191 2485288
0 0 0 1 1 722 120 331610
0 0 0 0 0 1 1 6552
0 0 0 0 0 0 0 1
0
1
2
3
4
1 1 23 11 1682 302 259723 15619
0 0 1 1 237 57 60657 4293
0 0 0 0 1 1 2179 247
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0
3.3 Periodic Discrete-Time Splines
35
3.3.2 Exponential Discrete-Time Splines and Characteristic Sequences Similarly to discrete exponential splines, the discrete-time exponential splines are N /2−1
def p ζ¯[1],0 (ν)[k] =
ω2l ν b¯[1] [k − 2l], ν = 0, ..., N /2 − 1. p
(3.22)
l=0 p The DFT of the discrete spline ζ¯[1],0 (ν)[k] comprises only 2 terms: p p ζˆ¯[1],0 (ν)[n] = b¯ˆ[1] [n]
N /2−1
ω2(ν−n)
(3.23)
k=0
=
p N bˆ¯[1] [n]
(δ[n − ν] + δ[n − ν − N /2]) , 2 ωkν ˆ¯ p p p b[1] [ν] + (−1)k bˆ¯[1] [ν + N /2] . ζ¯[1],0 (ν)[k] = 2
(3.24)
In particular, ω2l ν ω2l ν ˆ¯ p p u p [2n], b[1] [ν] + bˆ¯[1] [ν + N /2] = 2 2 ω2l ν ω2l ν ˆ¯ p p p ζ¯[1],0 (ν)[2l + 1] = ων v p [2n]. b[1] [ν] − bˆ¯[1] [ν + N /2] = 2 2 p ζ¯[1],0 (ν)[2l] =
√ Remark 3.3.1 Note that ζ¯[0] (ν)[k] = e2 π i kν/N and ζ¯[0] (ν) = N . Thus, Eq. (3.24) can be regarded as a two-scale relation: 1 ¯ b0 [ν] ζ¯[0] (ν)[k] + b¯0 [ν + N /2] ζ¯[0] (ν + N /2)[k]) , 2 def p b¯0 [ν] = bˆ¯[1] [ν].
p ζ¯[1],0 (ν)[k] =
(3.25)
p 0 The set ζ¯[1] (ν)[k] ∈ p S¯[1] of N -periodic with respect to k discrete-time splines, is N /2-periodic with respect to ν. Equation (3.22) implies that N /2−1 2 −2l ν p p ¯b[1] [k − 2l] = ω ζ¯[1],0 (ν)[k], N ν=0 N /2−1 p s¯[1] [k]
=
l=0
p q[l] b¯[1] [k − 2l]
36
3 Periodic Discrete and Discrete-Time Splines
=
N /2−1 2 p ξ[1],0 [ν] ζ¯[1],0 (ν)[k], ξ[1],0 [ν] = q[ν] ˆ 1. N ν=0
Consequently, the DFT of a discrete spline is p p p s¯ˆ[1] [ν] = q[ν] ˆ 1 bˆ¯[1] [ν] = ξ[1],0 [ν] bˆ¯[1] [ν]. 0 The characteristic sequence of the space p S¯[1] is
def 2r (ν)[0] = U¯ p [ν] = ζ¯[1],0
N /2−1
l=0
u p [2n] 2r ω−2νl b¯[1] [2l] = . 2
p Proposition 3.5 1. The discrete-time exponential splines ζ¯[1],0 (ν) , 0 ν = 0, ..., N /2 − 1, form an orthogonal basis of the space p S¯[1] . 2. Their squared norms in the space [N ] are p u p [2ν]2 + |v p [2ν]|2 ζ¯ (ν)2 = N ϒ p [ν], Υ p [ν] def > 0. = [1],0 2 4
(3.26)
Note that Υ p [ν] is an N /2-periodic sequence. 3. The discrete-time exponential splines are the eigenvectors of the shift operator: p p ζ¯[1],0 (ν)[k + 2l] = e4πiνl/N ζ¯[1],0 (ν)[k] =⇒ p u p [2ν] 2ζ¯[1],0 (ν)[2l] p , = e2πiν2l/N . ζ¯[1],0 (ν)[2l] = e4πiνl/N 2 u p [2ν]
(3.27)
Equation (3.27) means that the discrete-time exponential splines interpolate the Fourier exponential functions. Proof 1. Follows directly from Eq. (3.23). 2. The squared norm is N −1 2 p 2 p N ¯ p ¯ˆ p ζ¯ (ν)2 = 1 + b¯ (ν + N /2)2 ζ b (ν)[n] = (ν) [1],0 [1] [1] N n=0 [1],0 4 2 2 N p = u [2ν] + ω−ν v p [2ν] + (u p [2ν] − ω−ν v p [2ν] 16 N p u [2ν]2 + |v p [2ν]|2 . = 8
3. Follows from Eq. (3.25).
3.3 Periodic Discrete-Time Splines
37
3.3.3 Orthonormal Periodic Discrete-Time Splines We introduce the normalized exponential discrete-time splines: def
p
γ¯[1],0 (ν) =
p p √ ζ¯[1],0 (ν) ζ¯[1],0 (ν) , 2 = √ p N Υ p [ν] ζ¯[1],0 (ν)
Υ p [ν] is defined in Eq. (3.26), The discrete-time exponential splines where p 0 . γ¯[1],0 (ν) , ν = 0, ..., N /2 − 1, form an orthonormal basis for the space p S¯[1] p The two-scale relation Eq. (3.25) leads to the relation of the splines γ¯[1],0 : p
γ¯[1],0 (ν)[k] =
Apparently,
ζ¯[0] (ν) p p β¯0 [ν] γ¯[0] (ν)[k] + β¯0 [ν + N /2] γ¯[0] (ν + N /2)[k]) p 2ζ¯[1],0 (ν) = β¯0 [ν] γ¯[0] (ν)[k] + β¯0 [ν + N /2] γ¯[0] (ν + N /2)[k]) , (3.28) 1 e2 π i kν/N def p ¯ b¯ˆ[1] [ν], ζ¯[0] (ν)[k] = . β0 [ν] = √ p 2 Υ [ν] N
N 2 2 ¯ ¯ β[0] [ν] + β[0] ν + = 1. 2
p 0 Any discrete-time spline s¯ [1] ∈ p S¯[1] can be expanded N /2−1 2 p ξ[1],0 [ν] ζ¯[1],0 (ν)[k] = N
N /2−1 2 p σ[1],0 [ν] γ¯[1],0 (ν)[k], N ν=0 ν=0
N p p σ[1],0 [ν] = Υ p [ν] ξ[1],0 [ν] = Υ p [ν] q[ν] ˆ = s¯[1] , γ[1],0 (ν) . 2 p
s¯[1] [k] =
(3.29)
p 0 If a discrete spline s¯ [1] ∈ p S¯[1] is represented as in Eq. (3.29) then, similarly to Eq. (3.11), we get
p s¯[1] [k]
=
√ N −1 N /2−1 2 2 p σ[1],0 [ν] γ¯[1],0 (ν)[k]] = σ[1],0 [ν] β¯[0] [ν] ωkν . N ν=0 N ν=0
Hence, the DFT of the spline is p sˆ¯[1] [ν] =
√
2 σ[1],0 [ν] β¯[0] [ν] =
p σ[1],0 [ν] bˆ¯[1] [ν] . √ p Υ [ν]
(3.30)
38
3 Periodic Discrete and Discrete-Time Splines
p 0 Define the discrete-time spline ψ¯ [1],0 ∈ p S¯[1] , which are counterparts of the orthonormal Battle- Lemarié splines [4], as follows
def p ψ¯ [1],0 [k] =
N /2−1 2 p p γ¯[1],0 (ν)[k] =⇒ ψ[1],0 [k − 2l] = N
ν=0
N /2−1 2 −2νl p ω γ¯[1],0 (ν)[k]. N ν=0
Similarly to Eq. (3.14), we get the inner product in the space [N ] p p ψ¯ [1],0 [· − 2l], ψ¯ [1],0 [· − 2m] = δ(l − m).
Thus, the shifts ψ¯ [1],0 [· − 2l], l = 0, . . . , N /2 − 1, form an orthonormal basis of 0 the space p S¯[1] . p Equation (3.30) implies that the DFT of ψ¯ [1],0 is p
p √ bˆ¯[1] [ν] p p p =⇒ ψ¯ [1],0 [−l] = ψ¯ [1],0 [l]. ψˆ¯ [1],0 [ν] = 2 β¯[0] [ν] = √ p Υ [ν] p 0 Any discrete spline s¯ [1] ∈ p S¯[1] can be expanded N /2−1 p
s¯[1] [k] =
0 r[1] [l] ψ¯ [1],0 [k − 2l]. p
l=0
In particular, the following statement is true. Proposition 3.6 The orthogonal projection of a signal x ∈ [N ] onto the space p ¯0 S[1] is the signal x¯ 0[1] ∈ [N ] such that N /2−1 0 [k] = x¯[1]
p p 0 0 y[1] [l] ψ¯ [1],0 [k − 2l], y[1] [l] = x, ψ¯ [1],0 [· − 2l]
l=0
=
N −1
p h¯ 0[1] [k − 2l] x[k], h¯ 0[1] [k] = ψ¯ [1],0 [k], k ∈ Z,
(3.31)
k=0 p √ bˆ¯[1] [ν] p hˆ¯ 0[1] [ν] = 2β¯[0] [ν] = ψˆ¯ [1],0 [ν] = √ p . Υ [ν]
0 Remark 3.3.2 The set y[1] [l] , l = 0, . . . , N /2 − 1, of the orthogonal projection s¸ can be regarded as a result of p-filtering the signal x by the time-reversed low-pass 0 p-filter h¯ [1] , which is followed by downsampling of factor 2. The impulse response 0 p of the p-filter h¯ [1] coincides with the signal ψ¯ [1],0 [k].
3.3 Periodic Discrete-Time Splines
39
3.3.4 Interpolating Discrete-Time Splines Proposition 3.7 1. Any N /2-periodic signal x ∈ [N /2] can be interpolated by a p p discrete-time spline s¯ [1] ∈ p S¯[1] such that s¯[1] [2l] = x[l], l = 0, . . . , N /2 − 1. p 2. The set s¯[1] [2l + 1] , l = 0, . . . N /2 − 1, of samples of the interpolating discretetime spline at odd grid points is the result of p-filtering the interpolated signal x p by the p-filter f¯p , whose frequency response is p def v [2ν] p . fˆ¯p [ν]1 = V¯ p [ν], V¯ p [ν] = p u [2ν] p
3. The DFT of the interpolating discrete-time spline s¯ [1] is p s¯ˆ[1] [ν] = 1 + ω−ν V¯ p [ν] x[ν] ˆ 1.
(3.32)
p
Proof 1. The interpolation condition s¯[1] [2l] = x[l], k = 0, ..., N /2 − 1 means p p that the even polyphase component s¯[1],0 of the spline s¯[1] is equal to x. The p DFT of the spline s¯[1] is 1 p p ˆ 1 u p [2ν] + ω−ν v p [2ν] . sˆ¯[1] [ν] = q[ν] ˆ 1 bˆ¯[1] [ν] = q[ν] 2 p
Thus, the DFT of the polyphase component s¯[1],0 is u p [2ν] 2 x[ν] ˆ p = x[ν] ˆ =⇒ q[ν] ˆ 1= p . ˆ 1 sˆ¯[1],0 [ν] = q[ν] 2 u [2ν]
(3.33)
p
2. The DFT of the odd polyphase component s¯[1],1 is 2 x[ν] ˆ v p [2ν] v p [2ν] p = p = V¯ p [ν] x[ν]. ˆ 1 ˆ sˆ¯[1],1 [ν] = q[ν] 2 u [2ν] 2
(3.34)
3. Equation (3.32) follows directly from Eqs. (3.33) and (3.34). Examples: p = 2 (linear spline): 1 + ων , 2 2 2 2 2 u [2ν] + |v [2ν]| Υ 2 [ν] = = 4 u 2 [ν] = 1, v2 [ν] =
ω−ν + ων V¯ 2 [ν] =, ων , 2 2π ν 1 1 + cos2 . 4 N
40
3 Periodic Discrete and Discrete-Time Splines
p = 3 (quadratic spline): ων + 6 + ω−ν 1 + ων , v2 [ν] = , 8 2 ω−ν + ων cos4 π n/N − sin4 π n/N , V¯ 3 [ν] = 4 ων 2ν = ωn −2ν ω +6+ω cos4 π n/N + sin4 π n/N 2π ν 2π ν 1 Υ 3 [ν] = 1 + 6 cos2 + cos4 . 16 N N u 3 [ν] =
p = 4 (cubic spline): ων + 4 + ω−ν ω2ν + 23ω2ν + 23 + ω−ν , v2 [ν] = , 6 48 ων ω3ν + 23ων + 23ω−ν + ω−3ν V¯ 4 [ν] = , 8 ω2ν + 4 + ω−2ν 2π ν 2π ν 2π ν 1 4 + 41 cos2 + 26 cos4 + cos6 . Υ 4 [ν] = 144 N N N u 4 [ν] =
The sequences u p [ν], v p [ν] for the discrete-time splines of any order are produced by the MATLAB function juviU.m. Having those sequences, the sequences V¯ p [ν] and Υ p [ν] are immediately derived.
References 1. A. Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of l2 . SIAM J. Math. Anal. 25(5), 1412–1432 (1994) 2. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Periodic Splines, vol I (Springer, Berlin, 2014) 3. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Non-periodic Splines, vol II (Springer, Berlin, 2015) 4. G. Battle, A block spin construction of ondelettes. I. lemarié Funct. Comm. Math. Phys. 110(4), 601–615 (1987) 5. V.N. Malozemov, A.B. Pevnyi, Discrete periodic splines and their numerical applications. Comput. Math. Math. Phys. 38(8), 1181–1192 (1998) 6. L.L. Schumaker, Spline Functions: Basic Theory (Wiley, New York, 1981) 7. M. Unser, A. Aldroubi, M. Eden, Fast B-spline transforms for continuous image representation and interpolation. IEEE Trans. Pattern Anal. Mach. Intell. 13(3), 277–285 (1991) 8. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. I. Theory. IEEE Trans. Signal Process. 41(2), 821–833 (1993). IEEE Signal Processing Society’s 1995 best paper award 9. K.F. Üstüner, L.A. Ferrari, Discrete splines and spline filters. IEEE Trans. Circuits Syst. II: Analog Digit. Signal Process. 39(7), 417–422 (1992)
Chapter 4
Periodic Orthogonal Wavelets and Wavelet Packets
Abstract In this chapter, we discuss how to derive versatile families of periodic discrete-time orthogonal wavelets and wavelet packets from discrete and discretetime splines outlined in Chap. 3. These wavelets and wavelet packets, although not having compact supports, are well localized in the time domain. They can have any number of discrete vanishing moments. Their DFT spectra tend to have a rectangular shape when the spline order grows and provide a collection of refined splits of the Nyquist frequency band. The wavelet and wavelet packet transforms are implemented in a fast way using the FFT.
4.1 Discrete-Spline Wavelets of First Decomposition Level 0 4.1.1 Orthogonal Complement for Subspace 2r S[1] 0 The discrete-spline space 2r S[1] is a subspace of Π [N ] = S[0] . The orthogonal 0 1 complement for 2r S[1] in the signal space Π [N ] is denoted by 2r S[1] . Thus, Π [N ] = 2r 1 0 1 2r S[1] . In order to characterize the N /2-dimensional space 2r S[1] , S[0] = S[1] we define a set of N /2 normalized signals, which are mutually orthogonal and are 0 : orthogonal to any discrete spline from 2r S[1]
N N γ[0] ν + [k], = α[0] [ν] γ[0] (ν)[k] + α[0] ν + 2 2 N e2π i ν/N πν = , ν = 0, . . . , N − 1. α[0] [ν] = e2π i ν/N β[0] ν + sin2r 2 N 2 U 4r [ν]
2r γ[1],1 (ν)[k]
2r 2r
2r Equation (3.10) implies that γ[1],1 (ν) = 1. Apparently, γ[1],1 (ν) γ[1],λ (μ) = 0 when μ = ν for either λ = 0 or λ = 1. When μ = ν, we have
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_4
41
42
4 Periodic Orthogonal Wavelets and Wavelet Packets
N N 2r 2r ∗ ∗ ν+ α[0] γ[1],0 (ν), γ[1],1 (ν) = β[0] [ν] α[0] [ν] + β[0] ν + 2 2 N N − β[0] ν + β[0] [ν] = 0. = β[0] [ν] e−2π i ν/N β[0] ν + 2 2 2r 1 Any signal s[1],1 ∈ 2r S[1] can be expanded
2r [k] s[1],1
=
N /2−1 2 2r σ[1],1 [ν] γ[1],1 (ν)[k], σ[1],1 [ν] = N ν=0
N 2r 2r s[1],1 , γ[1],1 (ν) . 2
Similarly to Eq. (3.12), the DFT is 2r sˆ[1],1 [ν] =
√
2 σ[1],1 [ν] α[0] [ν] =
ων σ[1],1 [ν] sin2r U 4r [ν]
πν N
.
2r 1 Define the signal ψ[1],1 ∈ 2r S[1] as follows
2r [k] def ψ[1],1 =
2 N
N /2−1 ν=0
2r (ν)[k] =⇒ ψ 2r [k − 2l] = γ[1],1 [1],1
The DFT is 2r ψˆ [1],1 [ν] =
√
2 N
N /2−1 ν=0
2r (ν)[k]. ω−2νl γ[1],1
ων sin2r πNν 2α[0] [ν] = . U 4r [ν]
(4.1)
2r [k − 1] is sin2r πNν / Remark 4.1.1 Note that the DFT of the shifted signal ψ[1],1 2r U 4r [ν]. Therefore, the signal ψ[1],1 [k] is real-valued and symmetric about k0 = −1. 2r
2r The inner product is ψ[1],1 [· − 2l], ψ[1],1 [· − 2m] = δ(l − m). Thus, the shifts 2r ψ[1],1 [· − 2l], l = 0, . . . , N /2 − 1, form an orthonormal basis of the subspace 1 2r S[1] .
Proposition 4.1 The orthogonal projection of a signal x ∈ Π [N ] onto the space 1 1 S[1] is the signal x[1] ∈ Π [N ] such that
2r
N /2−1 1 [k] = x[1]
1 2r 1 2r y[1] [l] ψ[1],1 [k − 2l], y[1] [l] = x, ψ[1],1 [· − 2l]
l=0
=
N −1
2r h 1[1] [k − 2l] x[k], h 1[1] [k] = ψ[1],1 [k], k ∈ Z,
k=0
hˆ 1[1] [ν] =
√
ων sin2r πNν 2r 2α[0] [ν] = ψˆ [1],1 [ν] = . U 4r [ν]
4.1 Discrete-Spline Wavelets of First Decomposition Level
43
2r (blue lines) and ψ 2r (red lines), r = 1, . . . , 5. Right: Fig. 4.1 Left: discrete-spline ww s ψ[1],0 [1],1 2r 2r (red lines) magnitude spectra of ψ[1],0 (blue lines) and ψ[1],1
1 Remark 4.1.2 The set y[1] [l] , l = 0, . . . , N /2 − 1, of the orthogonal projection coefficients can be regarded as a result of p-filtering the signal x by the time-reversed 1 , which is followed by downsampling by factor 2. The impulse high-pass p-filter h[1] 1 2r response of the p-filter h[1] coincides with the time-reversed signal ψ[1],1 [k]. 2r 2r Definition 4.1 The signals ψ[1],0 and ψ[1],1 are referred to as discrete-spline wavelets of the first decomposition level. 2r Remark 4.1.3 The signals ψ[1],1 can be regarded as discrete periodic counterparts of the orthonormal Battle–Lemarié wavelets ([5], see also [4]).
2r 2r Proposition 4.2 The shifts ψ[1],0 [·−2l] ψ[1],1 [· − 2l] , l=0, . . . , N /2 − 1, form an orthonormal basis of the signal space Π [N ]. Any signal x ∈ Π [N ] can be represented by N /2−1
x[k] =
l=0
0 2r y[1] [l] ψ[1],0 [k
− 2l]
/2−1 N
1 2r y[1] [l] ψ[1],1 [k − 2l],
(4.2)
l=0
0 2r 1 2r y[1] [l] = x, ψ[1],0 [· − 2l] , y[1] [l] = x, ψ[1],1 [· − 2l] . Figure 4.1, which was prepared by the MATLAB code dss_ww_s1S, displays 2r 2r and ψ[1],1 (which are the p-filters h[1],0 and h[1],1 the discrete-spline wavelets ψ[1],0 impulse responses) and magnitudes of their DFT (which are the p-filters h[1],0 and h[1],1 magnitude responses) of different orders. It is seen that the wavelets are well localized in time domain. Their spectra are flat and their shapes tend to rectangular as their orders increase.
44
4 Periodic Orthogonal Wavelets and Wavelet Packets
0 4.1.2 Orthogonal Complement for Subspace p S¯[1] 0 1 The orthogonal complement for p S¯[1] in the signal space Π [N ] is denoted by p S¯[1] . p ¯1 p ¯0 Thus, Π [N ] = S[0] = S[1] S[1] . Define a set of normalized signals, which are 0 mutually orthogonal and are orthogonal to any discrete spline from p S¯[1] :
N N p γ¯[1],1 (ν)[k] = α¯ [0] [ν] γ[0] (ν)[k] + α¯ [0] ν + γ[0] ν + [k], 2 2 N ων ˆ¯ p ν + N , ν = 0, . . . , N − 1. =√ b α¯ [0] [ν] = ων β¯[0] ν + 2 2 2 Υ p [ν] [1] The sequences Υ p [ν] and β¯[0] [ν] are defined in Eqs. (3.26) and (3.28), respectively. p p Similarly to the psignals γ[1],1 (ν), the following properties of the signals γ¯[1],1 (ν) are established: γ¯[1],1 (ν) = 1. For either λ = 0 or λ = 1, when μ = ν, the relations p
p
p p γ¯[1],1 (ν) γ¯[1],λ (μ) = 0 hold. When μ = ν, we have γ¯[1],0 (ν), γ¯[1],1 (ν) = 0. p 1 Any signal s¯[1],1 ∈ p S¯[1] is expanded over the orthonormal basis p s¯[1],1 [k]
=
N /2−1 2 p σ[1],1 [ν] γ¯[1],1 (ν)[k], σ[1],1 [ν] = N ν=0
N p p s¯[1],1 , γ¯[1],1 (ν) . 2 (4.3)
The DFT of the signal is p s¯ˆ[1],1 [ν] =
√ N ων σ[1],1 [ν] ˆ¯ p . 2 σ[1],1 [ν] α[0] [ν] = √ p b[1] ν + 2 Υ [ν]
p 1 Define the signal ψ¯ [1],1 ∈ p S¯[1] as follows
def p ψ¯ [1],1 [k] =
The DFT is
2 N
N /2−1 ν=0
p p γ¯[1],1 (ν)[k] =⇒ ψ¯ [1],1 [k − 2l] =
2 N
N /2−1 ν=0
ω−2νl γ¯[1],1 (ν)[k].
√ N ων p p ˆ ˆ ¯ ¯ ν+ . ψ[1],1 [ν] = 2α[0] [ν] = √ p b 2 Υ [ν] [1]
p
(4.4)
p p The signal ψ¯ [1],1 [k] is real-valued and symmetric about k0 = −1. The shifts ψ¯ [1],1 [· − 1 2l], l = 0, . . . , N /2 − 1, form an orthonormal basis of the subspace p S¯[1] .
Proposition 4.3 The orthogonal projection of a signal x ∈ Π [N ] onto the space 1 p ¯1 ∈ Π [N ] such that S[1] is the signal x¯ [1]
4.1 Discrete-Spline Wavelets of First Decomposition Level N /2−1 1 x¯[1] [k] =
45
p p 1 1 y[1] [l] ψ¯ [1],1 [k − 2l], y[1] [l] = x, ψ¯ [1],1 [· − 2l]
l=0
=
N −1
p h¯ 1[1] [k − 2l] x[k], h¯ 1[1] [k] = ψ¯ [1],1 [k], k ∈ Z,
k=0
N ων p p . hˆ¯ 1[1] [ν] = ψˆ¯ [1],1 [ν] = √ p bˆ¯[1] ν + 2 Υ [ν]
1 Remark 4.1.4 The set y[1] [l] , l = 0, . . . , N /2 − 1, of the orthogonal projection coefficients can be regarded as a result of p-filtering the signal x by the time-reversed 1 , which is followed by downsampling by factor 2. The impulse high-pass p-filter h¯ [1] p 1 response of the p-filter h¯ [1] coincides with the time-reversed signal ψ¯ [1],1 [k]. p p Definition 4.2 The signals ψ¯ [1],0 and ψ¯ [1],1 , which are counterparts of the orthonormal Battle–Lemarié wavelets [5], are referred to as discrete-time-spline wavelets of the first decomposition level.
p p Proposition 4.4 The shifts ψ¯ [1],0 [·−2l] ψ¯ [1],1 [· − 2l] , l=0, . . . , N /2 − 1, form an orthonormal basis of the signal space Π [N ]. Any signal x ∈ Π [N ] can be represented by N /2−1
x[k] =
l=0
p 0 y[1] [l] ψ¯ [1],0 [k
− 2l]
/2−1 N
p 1 y[1] [l] ψ¯ [1],1 [k − 2l],
l=0
p p 0 1 y[1] [l] = x, ψ¯ [1],0 [· − 2l] , y[1] [l] = x, ψ¯ [1],1 [· − 2l] . Figure 4.2, which is prepared by the MATLAB code dss_ww_s1TS, displays the p p discrete-spline wavelets ψ[1],0 and ψ¯ [1],1 (which are the p-filters h[1],0 and h[1],1 ) impulse responses) and magnitudes of their DFT (which are the p-filters h[1],0 and h[1],1 magnitude responses) of different orders. It is seen that the wavelets are well localized in time domain. Their spectra are flat and their shapes tend to rectangular as their orders increase.
4.1.3 One-Level Wavelet Transform of a Signal Discrete-spline wavelets: The transform of a signal x ∈ Π [N ] into the pair
0 1 of signals from Π [N /2] is referred to as the one-level wavelet transy[1] , y[1] form of the signal x. According to Propositions 3.2 and 4.1, the transform is implemented by filtering x with time-reversed half-band low- and high-pass p0 1 and h[1] , respectively, which is followed by downsampling. Thus the filters h[1] 0 1 1 ˜ [1] p-filters h[1] and h[1] form a critically sampled analysis p-filter bank H . Its modulation matrix is
46
4 Periodic Orthogonal Wavelets and Wavelet Packets
p p Fig. 4.2 Left: discrete-time-spline wavelets ψ¯ [1],0 (blue lines) and ψ¯ [1],1 (red lines), p = p p ¯ ¯ 3, 5, 8, 11, 15. Right: magnitude spectra of ψ[1],0 (blue lines) and ψ[1],1 (red lines)
˜ [1] [ν] = M
hˆ 0[1] [ν] hˆ 0[1] ν + hˆ 1[1] [ν] hˆ 1[1] ν +
N 2 N 2
√ = 2
β[0] [ν] β[0] ν + α[0] [ν] α[0] ν +
N 2 N 2
cos2r πNν π ν 1 4r π ν cos + sin4r , β[0] [ν] = , U 4r [ν] = 2 N N 2 U 4r [ν] sin2r πNν N = ων α[0] [ν] = ων β[0] ν + . 2 2 U 4r [ν]
(4.5) (4.6) (4.7)
˜ [1] [ν]/2, as well as It is readily verified that the analysis modulation matrix M ˜ the matrix M[1] [−ν]/2 are unitary matrices. Therefore, the synthesis modulation matrix is √ β[0] [ν] α[0] [ν] ˜ [1] [ν]T . =M M[1] [ν] = 2 (4.8) β[0] ν + N2 α[0] ν + N2 Consequently, the synthesis p-filter bank coincides with the analysis p-filter bank and, together, they form a perfect reconstruction (PR) p-filter bank. The one-level wavelet transform of a signal x and its inverse are represented in a matrix form: 0 0 1 ˜ yˆ[1] [ν]1 yˆ[1] [ν]1 x[ν] ˆ x[ν] ˆ = M[1] [−ν] · , , = M[1] [ν] · 1 1 yˆ[1] [ν]1 yˆ[1] [ν]1 x[ ˆ ν] x[ ˆ ν] 2 (4.9) where ν = ν + N /2. Discrete-time-spline wavelets: Everything said in the above item can be repeated with regard to the discrete-time-spline wavelets with the difference that the modulation matrices are
4.1 Discrete-Spline Wavelets of First Decomposition Level
⎛
ˆ¯ 0 ˜¯ [ν] = ⎝ h [1] [ν] M [1] hˆ¯ 1 [ν] [1]
hˆ¯ 0[1] ν + hˆ¯ 1 ν + [1]
47
⎞ √ β¯[0] [ν] β¯[0] ν + ⎠ = 2 N α¯ [0] [ν] α¯ [0] ν + N 2 2
N 2 N 2
p bˆ¯[1] [ν] u p [2ν]2 + |v p [2ν]|2 ¯ , β[0] [ν] = √ p , Υ p [ν] = 4 Υ [ν] p bˆ¯[1] [ν + N /2] N ν ˜¯ α¯ [0] [ν] = ω β[0] ν + = ων √ p . 2 Υ [ν]
(4.10)
(4.11) (4.12)
The synthesis modulation matrix is ¯ [1] [ν] = M
√
β¯ [ν] α¯[0] [ν] 2 ¯ [0] N β[0] ν + 2 α¯ [0] ν + N2
˜¯ [ν]T . =M [1]
(4.13)
The synthesis p-filter bank coincides with the analysis p-filter bank and, together, they form a perfect reconstruction (PR) p-filter bank. Summary ˜
0 1 ¯ [1] = ˜ [1] = h[1] (H , h[1] • Application of the time-reversed analysis p-filter banks H
0 1 0 1 h¯ [1] , h¯ [1] ) to a signal x ∈ Π [N ] results in two signals y[1] and y[1] that belong to Π [N /2]. • The synthesis p-filter banks coincide with the respective analysis p-filter banks. • The frequency responses of the analysis p-filters are hˆ 0[1] [ν] = hˆ¯ 0[1] [ν] =
√ √
2β[0] [ν], hˆ 1[1] [ν] = 2β¯[0] [ν], hˆ¯ 1[1] [ν] =
√ √
2α[0] [ν], 2α¯ [0] [ν],
where β[0] [ν] and α[0] [ν] are given in Eqs. (4.6) and (4.7), respectively, while β¯[0] [ν] and α¯ [0] [ν] are given in Eqs. (4.11) and (4.12), respectively. • The impulse responses of the p-filters are the first-level discrete-spline wavelets p p 2r 2r and ψ[1],1 , and the discrete-time spline wavelets ψ¯ [1],0 and ψ¯ [1],1 , respecψ[1],0 tively. They are orthogonal to each other, respectively, and their 2-sample shifts are mutually orthogonal. 0 1 and y[1] produces two • Application of the synthesis p-filter banks to signals y[1] 0 1 0 1 signals x[1] and x[1] (¯x[1] and x¯ [1] ) from Π [N ], which are the orthogonal projections 0 1 of the signal x ∈ Π [N ] onto the mutually orthogonal subspaces 2r S[1] and 2r S[1] 0 p ¯0 p ¯1 2r ( S[1] and S[1] ), respectively, where S[1] is the space of span-two discrete 0 splines and p S¯[1] is the space of span-two discrete-time splines: λ [k] = x[1]
N /2−1
l=0
λ y[1] [l] h λ[1] [k − 2l],
λ y[1] [l] =
N −1 k=0
h λ[1] [k − 2l]x[k],
(4.14)
48
4 Periodic Orthogonal Wavelets and Wavelet Packets λ or x¯[1] [k] =
N /2−1
λ y[1] [l] h¯ λ[1] [k − 2l],
λ y[1] [l] =
l=0
N −1
h¯ λ[1] [k − 2l]x[k],
k=0
where λ = 0, 1. 2r and • The two-sample shifts of either the first-level discrete-spline wavelets ψ[1],0 p p 2r ¯ ¯ ψ[1],1 or the discrete-time spline wavelets ψ[1],0 and ψ[1],1 serve as orthonormal 0 1 0 1 bases of either the subspaces 2r S[1] and 2r S[1] or the subspaces p S¯[1] and p S¯[1] , respectively. 2r 2r and ψ[1],1 are given in Eqs. (3.16) and • The DFT spectra of the wavelets ψ[1],0 p p ¯ [1],0 (4.1), respectively. The DFT spectra of the wavelets psi and ψ¯ [1],1 are given in p 2r Eqs. (3.31) and (4.4), respectively. The DFT of ψ[1],0 (ψ¯ [1],0 ) effectively occupies p 2r (ψ¯ [1],1 ) effectively the lower half of the frequency domain, while the DFT of ψ[1],1 0 1 0 occupies the higher half. Therefore, the subspaces 2r S[1] and 2r S[1] ( p S¯[1] and p ¯1 S[1] ) consist of low-frequency and high-frequency signals, respectively. • The direct and The inverse transforms are implemented using the analysis and ˜¯ [ν] and M ¯ [1] [ν]), respec˜ [1] [ν] and M[1] [ν] (M synthesis modulation matrices M [1] tively, which are given in Eqs. (4.5) and (4.8) ((4.10) and (4.13)). • Note that, while only the even-order discrete-spline wavelets are designed, the discrete-time spline wavelets of any order are available.
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms 4.2.1 P-Filter Banks for the Second Decomposition Level 4.2.1.1
Discrete-Spline Wavelets
λ , λ = 0, 1, belong to the space Π [N /2] ⊂ Π [N ]. The space Π [N /2] The signals y[1] can be split into mutually orthogonal subspaces, which we denote by Π 0 [N /2] and Π 1 [N /2], in a way similar to the split of the space Π [N ]. Projection of a signal Y ∈ Π [N /2] onto these subspaces and the inverse operation are done using the 0 1 ˜ [2] = h[2] = H[2] , which operate in the , h[2] analysis and synthesis p-filter banks H space Π [N /2]. The frequency responses of the p-filters are
hˆ 0[2] [ν]1 = β[1] [ν] =
√
2β[1] [ν] hˆ 1[2] [ν]1 =
cos2r 2πN ν , 2 U 4r [2ν]
√
2α[1] [ν],
sin2r 2πN ν N = ω2ν α[1] [ν] = ω2ν β[1] ν + . 4 2 U 4r [2ν]
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
49
0 1 The impulse responses of the p-filters h[2] and h[2] are orthogonal to each other in the space Π [N /2] and their 2-sample shifts are mutually orthogonal N /2−1
h λ[2] [k − 2l] h λ[2] [k − 2m] = δ[l − m], λ = 0, 1.
(4.15)
k=0
Similarly to Eq. (4.14), the orthogonal projections of a signal Y ∈ Π [N /2] onto the subspaces Π 0 [N /2] and Π 1 [N /2] are Y λ [k] =
N /4−1
λ λ Y[2] [l] h λ[2] [k − 2l], Y[2] [l] =
l=0
N /2−1
h λ[2] [k − 2l]Y [k],
(4.16)
k=0
where λ = 0, 1. The modulation matrices of the p-filter bank and H[2] are ˜ [2] [ν] = M
√ 2
√ M[2] [ν] = 2
4.2.1.2
β[1] [ν] β[1] ν + α[1] [ν] α[1] ν +
N 4 N 4
,
α[1] [ν] β[1] [ν] N β[1] ν + 4 α[1] ν + N4
.
Discrete-Time-Spline Wavelets
The space Π [N /2] is split into mutually orthogonal subspaces Π¯ 0 [N /2] and Π¯ 1 [N /2]. Projection of a signal Y ∈ Π [N /2] onto subspaces and the inverse
these 0 1 ¯ [2] = h¯ [2] = H[2] , which operate , h¯ [2] operation are done using the p-filter banks H in the space Π [N /2]. The frequency responses of the p-filters are hˆ¯ 0[2] [ν]1 =
√
√ 2β¯[1] [ν] h¯ˆ 1[2] [ν]1 = 2α¯ [1] [ν],
p p bˆ¯[1] [2ν] b¯ˆ [2(ν + N /4)] 2ν [1] ¯ , α¯ [1] [ν] = ω . β[1] [ν] = √ p √ p Υ [2ν] Υ [2ν]
The sequence Υ p [ν] is defined in Eq. (3.26). The impulse responses of the p-filters 0 1 and h¯ [2] are orthogonal to each other in the space Π [N /2] and their 2-sample h¯ [2] shifts are mutually orthogonal. The orthogonal projections of a signal Y ∈ Π [N /2] onto the subspaces Π¯ 0 [N /2] and Π¯ 1 [N /2] are Y¯ λ [k] =
N /4−1
l=0
λ Y[2] [l] h¯ λ[2] [k
λ − 2l], Y¯[2] [l] =
N /2−1
h¯ λ[2] [k − 2l]Y [k],
k=0
where λ = 0, 1. The modulation matrices of the p-filter bank H[2] are
50
4 Periodic Orthogonal Wavelets and Wavelet Packets
˜¯ [ν] = √2 M [2] √ ¯ [2] [ν] = 2 M
β¯[1] [ν] β¯[1] ν + α¯ [1] [ν] α¯ [1] ν +
N 4 N 4
,
β¯[1] [ν] α¯ [1] [ν] β¯[1] ν + N4 α¯ [1] ν + N4
.
(4.17)
4.2.2 Two-Level Wavelet Transforms 4.2.2.1
Discrete-Spline Wavelets
0 , which was generated by Assume that the signal Y ∈ Π [N /2] is chosen to be y[1] the wavelet transform of the signal x ∈ Π [N ], such that
0 y[1] [k] =
N −1
h 0[1] [n − 2k]x[n].
(4.18)
n=0 0,0 0,1 Due to Eq. (4.16), the orthogonal projections y[1] and y[1] ∈ Π [N /2] of the signal 0 0 1 y[1] ∈ Π [N /2] onto the subspaces Π [N /2] and Π [N /2] are N /4−1
0,0 y[1] [k] =
N /2−1 0 y[2] [l] h 0[2] [k − 2l],
0 y[2] =
l=0
(4.19)
0 h 1[2] [k − 2l] y[1] [k].
(4.20)
k=0
N /4−1 0,1 [k] = y[1]
0 h 0[2] [k − 2l] y[1] [k],
N /2−1 1 y[2] [l] h 1[2] [k − 2l],
1 y[2] =
l=0
k=0
By substituting Eq. (4.18) into (4.19), we get N /2−1 0 [l] y[2]
=
N /2−1
h 0[2] [k
− 2l]
0 y[1] [k]
=
k=0
=
N −1
x[n]
k=0
N −1
h 0[1] [n − 2k]x[n]
n=0
k=0
h 0[2] [k − 2l] h 0[1] [n − 2k] =
N −1
2r x[n] ψ[2],0 [n − 4l],
n=0
k=0
N /2−1 def
h 0[2] [k − 2l]
N /2−1
n=0 2r [n] = ψ[2],0
N /2−1
h 0[2] [k] h 0[1] [n − 2k] =
2r h 0[2] [k] ψ[1],0 [n − 2k].
(4.21)
k=0
2r is a linear combination of 2-sample shifts of the discrete-spline The signal ψ[2],0 2r 2r 0 wavelet ψ[1],0 , therefore ψ[2],0 ∈ 2r S[1] ⊂ Π [N ]. Its DFT is
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
cos2r π ν cos2r 2πN ν 2r 2r ψˆ [2],0 [ν] = ψˆ [1],0 [ν] hˆ 0[2] [ν]1 = 2β[1] [ν] β[0] [ν] = N . U 4r [ν] U 4r [2ν]
51
(4.22)
2r 2r , the signal ψ[2],0 is symmetric about zero. Like its “parent” ψ[1],0 2r Proposition 4.5 The norm of the signal ψ[2],0 ∈ Π [N ] is equal to one. The 4-sample
2r shifts ψ[2],0 [· − 4l] , l = 0, . . . , N /4 − 1, of this signal are mutually orthogonal.
Proof The inner product is
N /2−1 /2−1 −1 N N 2r 2r 2r 2r ψ[2],0 , ψ[2],0 [· − 4l] = h 0[2] [k] ψ[1],0 [n − 2k] h 0[2] [κ] ψ[1],0 [n − 2κ − 4l] n=0
N /2−1
h 0[2] [k]
k=0 N /2−1
h 0[2] [k]
k=0
N /2−1 κ=0
h 0[2] [κ]
κ=0
k=0
N −1
2r 2r ψ[1],0 [n − 2k] ψ[1],0 [n − 2κ − 4l]
n=0
N /2−1 κ=0
h 0[2] [κ] δ[κ − (k + 2l)] =
N /2−1
h 0[2] [k] h 0[2] [(k + 2l)].
k=0
The proposition’s statement follows from Eq. (4.15).
0 ⊂ Π [N ] that consists of linDefinition 4.3 The N /4-dimension subspace of 2r S[1]
2r ear combinations of signals ψ[2],0 [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 2r [k] = s[2],0
0 2r p[2] [l] ψ[2],0 [k − 4l],
l=0 0 is denoted by 2r S[2] . 0 The orthogonal projection of a signal x ∈ Π [N ] onto the subspace 2r S[2] is the signal
0 [k] = x[2]
N /4−1
N /4−1 2r 2r 0 2r x, ψ[2],0 [· − 4l] ψ[2],0 [k − 4l] = y[2] [l] ψ[2],0 [k − 4l].
l=0
l=0
2r Keeping in mind that the DFTs of the basis signal ψ[2],0 is given in Eq. (4.22), we 0 2r claim that the DFT of signals from S[2] are concentrated in the left quarter-band of the frequency domain. By substituting Eq. (4.18) into (4.20) and repeating the above calculations, we derive the signal
def
2r [n] = ψ[2],1
N /2−1 k=0
h 1[2] [k] h 0[1] [n − 2k] =
N /2−1
2r [n − 2k], h 1[2] [k] ψ[1],0
(4.23)
k=0
cos2r π ν sin2r 2πN ν 2r [ν] = ψ ˆ 2r [ν] hˆ 0 [ν]1 = 2α[1] [ν] β[0] [ν] = ω2ν N ψˆ [2],1 , [1],0 [2] U 4r [ν] U 4r [2ν]
(4.24)
52
4 Periodic Orthogonal Wavelets and Wavelet Packets
2r such that its norm is equal to one and the 4-sample shifts ψ[2],1 [· − 4l] , l = 2r 0, . . . , N /4 − 1, are mutually orthogonal. The signal ψ[2],1 is symmetric about k0 = 2r 0 −2. Equation (4.23) implies that the signal ψ[2],1 belongs to the space 2r S[1] ⊂ Π [N ]. 0 ⊂ Π [N ] consisting of linear Definition 4.4 The N /4-dimension subspace of 2r S[1]
2r combinations of signals ψ[2],1 [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 2r [k] = s[2],1
0 2r p[2] [l] ψ[2],0 [k − 4l],
l=0 1 is denoted by 2r S[2] . 1 is the signal The orthogonal projection of a signal x ∈ Π [N ] onto the subspace 2r S[2] N /4−1 1 [k] = x[2]
N /4−1
2r 2r 1 2r x, ψ[2],1 [· − 4l] ψ[2],1 [k − 4l] = y[2] [l] ψ[2],1 [k − 4l].
l=0
l=0
1 are concentrated in the second from the left quarterThe DFTs of signals from 2r S[2] band of the frequency domain. 2r 2r and ψ[2],1 from Π [N ] are referred to as the discreteDefinition 4.5 The signals ψ[2],0 spline wavelets of the second decomposition level. 2r 2r 0 and ψ[2],1 belong to the space 2r S[1] and, conseRemark 4.2.1 The wavelets ψ[2],0
2r 2r 1 2r quently, are orthogonal to S[1] . The set ψ[2],0 [· − 4l] ψ[2],1 [· − 4l], , l = 0 0, . . . , N /4 − 1, constitutes an orthonormal basis of the subspace 2r S[1] ⊂ Π [N ],
2r 2r 2r while the set ψ[2],0 [· − 4l] ψ[2],1 [· − 4l], ψ[1],1 [· − 2m], , l = 0, . . . , N /4 − 1, m = 0, . . . , N /2 − 1, constitutes an orthonormal basis of the entire space Π [N ]. A signal x ∈ Π [N ] is expanded over the orthonormal basis as follows:
x[k] =
N /4−1
/2−1 N 0 2r 1 2r 1 2r [l] ψ[2],0 [k − 4l] + y[2] [l] ψ[2],1 [k − 4l] + y[1] [l] ψ[1],1 [k − 2m]. y[2] m=0
l=0
λ Practically, the derivation of the wavelet transform coefficients y[1] , λ = 0, 1, from x and the inverse operation is implemented using Eq. (4.9), while the transform 0 λ ←→ y[2] , λ = 0, 1, is implemented in the following way: y[1]
0 yˆ[1] [ν]1 1 ˜ = M[2] [−ν] · , 1 0 2 yˆ[2] [ν]2 yˆ[1] [ν + N /4]1 0 0 yˆ[2] yˆ[1] [ν]1 [ν]2 = M[2] [ν] · . 0 1 yˆ[1] [ν + N /4]1 yˆ[2] [ν]2
0 yˆ[2] [ν]2
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
4.2.2.2
53
Discrete-Time-Spline Wavelets
0 is generated by the wavelet transform of the signal x ∈ Π [N ]: The signal y[1] N −1 ¯ 0 0 y[1] [k] = n=0 h [1] [n − 2k]x[n]. 0,0 0,1 0 The orthogonal projections y[1] and y[1] ∈ Π [N /2] of y[1] ∈ Π [N /2] onto the 0 1 ¯ ¯ subspaces Π [N /2] and Π [N /2] are N /4−1 0,0 y[1] [k] =
0,1 [k] = y[1]
0 y[2] [l] h¯ 0[2] [k − 2l],
N /2−1 0 y[2] =
l=0
k=0
N /4−1
N /2−1
1 y[2] [l] h¯ 1[2] [k − 2l],
1 y[2] =
l=0
0 [k], h¯ 0[2] [k − 2l] y[1]
0 [k]. h¯ 1[2] [k − 2l] y[1]
k=0
Similarly to Eq. (4.21), we get 0 y[2] [l] =
N −1
p x[n] ψ¯ [2],0 [n − 4l],
n=0 def p ψ¯ [2],0 [n] =
N /2−1
p h¯ 0[2] [k] ψ¯ [1],0 [n − 2k].
k=0
The DFT is p p bˆ¯[1] [ν] bˆ¯[1] [2ν] p p . ψˆ¯ [2],0 [ν] = ψˆ¯ [1],0 [ν] hˆ¯ 0[2] [ν]1 = 2β¯[1] [ν] β¯[0] [ν] = √ p Υ [ν] Υ p [2ν] 2r The signal ψ¯ [2],0 is symmetric about zero. 2r Proposition 4.6 The norm of the signal ψ¯ [2],0 ∈ Π [N ] is equal to one. The 4-sample
p shifts ψ¯ [2],0 [· − 4l] , l = 0, . . . , N /4 − 1, of this signal are mutually orthogonal. 0 ⊂ Π [N ] that consists of linDefinition 4.6 The N /4-dimension subspace of p S¯[1]
p ear combinations of signals ψ¯ [2],0 [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 p
s¯[2],0 [k] =
l=0
0 . is denoted by p S¯[2]
0 r[2] [l] ψ¯ [2],0 [k − 4l], p
54
4 Periodic Orthogonal Wavelets and Wavelet Packets
0 The orthogonal projection of a signal x ∈ Π [N ] onto the subspace p S¯[2] is the signal N /4−1 0 [k] = x¯[2]
N /4−1
p p p 0 x, ψ¯ [2],0 [· − 4l] ψ¯ [2],0 [k − 4l] = y[2] [l] ψ¯ [2],0 [k − 4l].
l=0
l=0
0 are concentrated in the left quarter-band of the The DFT of signals from p S¯[2] frequency domain. Similarly, we derive the signals N /2−1
def p ψ¯ [2],1 [n] =
N /2−1
h 1[2] [k] h 0[1] [n − 2k] =
k=0
h 1[2] [k] ψ¯ [1],0 [n − 2k], p
k=0
p p bˆ¯ [ν] bˆ¯[1] [2(ν + N /4)] 2r 2ν [1] ˆ ¯ ¯ , ψ[2],1 [ν] = 2α¯ [1] [ν] β[0] [ν] = ω √ p Υ [ν] Υ p [2ν]
p such that its norm is equal to one and the 4-sample shifts ψ¯ [2],1 [· − 4l] , l = 2r is symmetric about k0 = 0, . . . , N /4 − 1, are mutually orthogonal. The signal ψ¯ [2],1 −2. 0 ⊂ Π [N ] that consists of linDefinition 4.7 The N /4-dimension subspace of p S¯[1]
p ¯ ear combinations of signals ψ[2],1 [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 p s¯[2],1 [k]
=
p 0 r[2] [l] ψ¯ [2],0 [k − 4l],
l=0 1 . is denoted by p S¯[2] 1 The orthogonal projection of a signal x ∈ Π [N ] onto the subspace p S¯[2] is the signal N /4−1 1 [k] x¯[2]
=
N /4−1
p p p 1 ¯ ¯ x, ψ[2],1 [· − 4l] ψ[2],1 [k − 4l] = y[2] [l] ψ¯ [2],1 [k − 4l].
l=0
l=0
1 are concentrated in the second from left quarter-band The DFTs of signals from p S¯[2] of the frequency domain.
Definition 4.8 The signals ψ¯ [2],0 and ψ¯ [2],1 from Π [N ] are referred to as the discretetime-spline wavelets of the second decomposition level. p
p
p p 0 and, conseRemark 4.2.2 The wavelets ψ¯ [2],0 and ψ¯ [2],1 belong to the space p S¯[1]
p p p ¯1 ¯ ¯ quently, are orthogonal to S[1] . The set ψ[2],0 [· − 4l] ψ[2],1 [· − 4l], , l = 0 0, . . . , N /4 − 1, constitutes an orthonormal basis of the subspace p S¯[1] ⊂ Π [N ], p p
p ¯ ¯ ¯ ψ[2],1 [· − 4l], ψ[1],1 [· − 2m], , l = 0, . . . , while the set ψ[2],0 [· − 4l]
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
55
N /4 − 1, m = 0, . . . , N /2 − 1, constitutes an orthonormal basis of the entire space Π [N ]. A signal x ∈ Π [N ] is expanded over the orthonormal basis as follows: x[k] =
N /4−1
/2−1 N p p p 0 1 1 y[2] [l] ψ¯ [2],0 [k − 4l] + y[2] [l] ψ¯ [2],1 [k − 4l] + y[1] [l] ψ¯ [1],1 [k − 2m]. m=0
l=0
The direct and the inverse transforms are implemented similarly to those in ˜¯ ¯ Sect. 4.2.2.1 (Eq. (4.25)), using the modulation matrices M [2] and M[2] defined in Eq. (4.17).
4.2.3 Two-Level Wavelet Packet Transforms 4.2.3.1
Discrete-Spline Wavelet Packets
In order to design discrete-spline wavelet packets, we apply the scheme in Sect. 4.2.2.1 1 ∈ Π [N /2], which is generated by the wavelet transform of the signal to the signal y[1] N −1 1 1 [k] = n=0 h [1] [n − 2k]x[n]. x ∈ Π [N ], such that y[1] 1 The signal y[1] is processed by the same analysis-synthesis p-filter bank H[2] =
0 1 h[2] , h[2] as in Sect. 4.2.2.1. This processing is expressed in a matrix form: 1 yˆ[1] [ν]1 1 ˜ = M[2] [−ν] · , 2 1 2 yˆ[2] [ν]2 yˆ[1] [ν + N /4]1 1 3 yˆ[2] yˆ[1] [ν]1 [ν]2 = M[2] [ν] · . 1 1 yˆ[1] [ν + N /4]1 yˆ[2] [ν]2
3 yˆ[2] [ν]2
(4.25) (4.26)
The transform coefficients can be expressed as inner products of the signal x with 4-sample shifts of some waveforms: 3 y[2] [l] =
N −1
2r x[n] ψ[2],3 [n − 4l],
2 y[2] [l] =
n=0 def 2r ψ[2],3 [n] = def 2r ψ[2],2 [n] =
N /2−1
2r h 0[2] [k] ψ[1],1 [n k=0 N /2−1 1 2r h [2] [k] ψ[1],1 [n k=0
N −1
2r x[n] ψ[2],2 [n − 4l],
n=0
− 2k], − 2k].
(4.27)
2r The signals ψ[2],μ , μ = 2, 3, are linear combinations of 2-sample shifts of the 2r 1 discrete-spline wavelet ψ[1],1 , therefore they belong to the subspace 2r S[1] ⊂ Π [N ]. 2r Consequently they are orthogonal to the wavelets ψ[2],λ , λ = 0, 1, which belong to 0 the subspace 2r S[1] ⊂ Π [N ].
56
4 Periodic Orthogonal Wavelets and Wavelet Packets
Their DFTs are sin2r π ν cos2r 2πN ν 2r ψˆ [2],3 [ν] = 2β[1] [ν] α[0] [ν] = ων N U 4r [ν] U 4r [2ν] sin2r π ν sin2r 2πN ν 2r ψˆ [2],2 [ν] = 2α[1] [ν] α[0] [ν] = ω3ν N . U 4r [ν] U 4r [2ν] 2r 2r The signal ψ[2],3 is symmetric about k0 = − 1, while ψ[2],2 is symmetric about k0 = −3. 2r 2r Proposition 4.7 The signal ψ[2],2 ∈ Π [N ] is orthogonal to the signal ψ[2],3 . The 2r norms of the signals ψ[2],λ , λ = 2.3, are equal to one. The 4-sample shifts
2r ψ[2],λ [· − 4l] , l = 0, . . . , N /4 − 1, of these signals are mutually orthogonal. 1 Definition 4.9 The N /4-dimension subspaces of 2r S[1] ⊂ Π [N ] that consists of
2r linear combinations of signals ψ[2],λ [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 2r [k] = s[2],λ
0 2r p[2],λ [l] ψ[2],λ [k − 4l],
l=0 λ , λ = 2, 3. are denoted by 2r S[2] λ The orthogonal projections of a signal x ∈ Π [N ] onto the subspaces 2r S[2] are the signals
λ x[2] [k] =
N /4−1
N /4−1
2r 2r λ 2r x, ψ[2],λ [· − 4l] ψ[2],λ [k − 4l] = y[2] [l] ψ[2],λ [k − 4l].
l=0
l=0
2 The DFTs of signals from 2r S[2] are concentrated in the third from left quarter-band 3 of the frequency domain, while the DFTs of signals from 2r S[2] are concentrated in the last quarter-band of the frequency domain. 2r , λ = 0, 1, 2, 3, from Π [N ] are referred to as the Definition 4.10 The signals ψ[2],λ discrete-spline wavelet packets of the second decomposition level.
2r Remark 4.2.3 Recall that the wavelet packets ψ[2],λ , λ = 0, 1, are also referred to as the discrete-spline wavelets of the second decomposition level.
Figure 4.3, which was produced by the MATLAB code dss_wq_s2S, displays the second-level wavelet packets originating from discrete splines of orders 2–10 and their DFTs. One can observe that the wavelet packets are symmetric and well localized in time domain. Their spectra are flat and their shapes tend to rectangular as their orders increase. They split the frequency domain into four quarter-bands.
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
57
2r → Fig. 4.3 Left: second-level discrete-spline wavelet packets of different orders; left to right: ψ[2],0 2r → ψ 2r → ψ 2r . Right: magnitude DFT spectra of these wavelet packets ψ[2],1 [2],2 [2],3
Remark 4.2.4 The set 2r 2r 2r
2r ψ[2],1 [· − 4l], ψ[2],1 [· − 4l], ψ[2],1 [· − 4l], , ψ[2],0 [· − 4l] where l = 0, . . . , N /4 − 1, constitutes an orthonormal basis of the space Π [N ]. However, other combinations are possible. For example, the wavelet set
2r 2r 2r ψ [· − 4l] ψ[2],1 [· − 4l], ψ[1],1 [· − 2m], or the set
[2],0
2r 2r 2r ψ[2],2 [· − 4l] ψ[2],3 [· − 4l], ψ[1],0 [· − 2m], where l = 0, . . . , N /4 − 1, m = 0, . . . , N /2 − 1, provide orthonormal bases space Π [N]. One more
2r of the 2r admissible orthonormal basis is ψ[1],0 [· − 2m], ψ[1],m [· − 2m], , where m = 0, . . . , N /2. The diagram illustrates the transform of a signal x ∈ Π [N ] into the set in2 Fig. 4.4 0 1 3 y[2] y[2] y[2] y[2] of the wavelet packet transform coefficients. 4.2.3.2
Discrete-Time-Spline Wavelet Packets
Discrete-time-spline wavelet packets are designed similarly to the discrete-spline 1 ∈ Π [N /2] was generated by the wavelet packets. Assume that the signal y[1]
58
4 Periodic Orthogonal Wavelets and Wavelet Packets
0 Fig. 4.4 Diagram of transform of a signal x −→ y[2]
1 y[2]
2 y[2]
3 y[2]
1 discrete-time-spline wavelet transform of the signal x ∈ Π [N ], such that y[1] [k] = N −1 1 ¯ [n − 2k]x[n]. h n=0 [1] 1 ¯ [2] = The signal y[1] is processed by the analysis-synthesis p-filter bank H
0 1 h¯ [2] , h¯ [2] similarly to Eqs. (4.25) and (4.26). The transform coefficients are the inner products of the signal x with 4-sample shifts of the waveforms def p ψ¯ [2],3 [n] = def p ψ¯ [2],2 [n] =
N /2−1 k=0
p h¯ 0[2] [k] ψ¯ [1],1 [n − 2k],
k=0
p h¯ 1[2] [k] ψ¯ [1],1 [n − 2k].
N /2−1
The signals ψ¯ [2],μ , μ = 2, 3, are orthogonal to the wavelets ψ¯ [2],λ , λ = 0, 1, which 0 belong to the subspace p S¯[1] ⊂ Π [N ]. Their DFTs are p
p
p p bˆ¯ [2ν] bˆ¯[1] [ν + N /2] p ν [1] ˆ ¯ ¯ ψ[2],3 [ν] = 2β[1] [ν] α¯ [0] [ν] = ω √ p Υ [ν] Υ p [2ν] p p b¯ˆ[1] [2(ν + N /4)] b¯ˆ[1] [ν + N /2] p . ψˆ¯ [2],2 [ν] = 2α¯ [1] [ν] α¯ [0] [ν] = ω3ν √ p Υ [ν] Υ p [2ν] p p The signal ψ¯ [2],3 is symmetric about k0 = −1, while ψ¯ [2],2 is symmetric about k0 = −3.
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
59
p p Proposition 4.8 The signal ψ¯ [2],2 ∈ Π [N ] is orthogonal to the signal ψ¯ [2],3 . The p norms of the signals ψ¯ [2],λ , λ = 2.3, are equal to one. The 4-sample shifts
p ψ¯ [2],λ [· − 4l] , l = 0, . . . , N /4 − 1, of these signals are mutually orthogonal. 1 ⊂ Π [N ] that consists of Definition 4.11 The N /4-dimension subspaces of p S¯[1]
p linear combinations of signals ψ¯ [2],λ [· − 4l] , l = 0, . . . , N /4 − 1, such that N /4−1 p
s¯[2],λ [k] =
p
0 p[2],λ [l] ψ[2],λ [k − 4l],
l=0 λ , λ = 2, 3. are denoted by p S¯[2] λ are the The orthogonal projections of a signal x ∈ Π [N ] onto the subspaces p S¯[2] signals
λ x¯[2] [k] =
N /4−1
N /4−1
p p p λ x, ψ¯ [2],λ [· − 4l] ψ¯ [2],λ [k − 4l] = y[2] [l] ψ¯ [2],λ [k − 4l].
l=0
l=0
2 are concentrated in the third from left quarter-band The DFTs of signals from p S¯[2] 3 of the frequency domain, while DFTs of signals from p S¯[2] are concentrated in the last quarter-band of the frequency domain. p Definition 4.12 The signals ψ¯ [2],λ , λ = 0, 1, 2, 3, from Π [N ] are referred to as the discrete-time-spline wavelet packets of the second decomposition level.
Figure 4.5, which was produced by the MATLAB code dss_wq_s2TS, displays the second-level wavelet packets originating from the discrete-time splines of orders 3, 5, 8, 11, 15 and their DFTs. The wavelet packets are symmetric and well localized in time domain. Their spectra are flat and their shapes tend to rectangular as their orders increase. They split the frequency domain into four quarter-bands. Remark 4.2.5 The set p p p
p ψ¯ [2],1 [· − 4l], ψ¯ [2],1 [· − 4l], ψ¯ [2],1 [· − 4l], , ψ¯ [2],0 [· − 4l] where l = 0, . . . , N /4 − 1, constitutes an orthonormal basis of the space Π [N ].
4.2.4 Selection of Wavelet-Packet Basis It was noted in Remark 4.2.5 that, once a two-level wavelet packet transform of a signal x ∈ Π [N ] is carried out, a variety of expansions of this signal over orthonormal bases become available. It is reasonable to select a basis, which fits best to the
60
4 Periodic Orthogonal Wavelets and Wavelet Packets
Fig. 4.5 Left: second-level discrete-time-spline wavelet packets of different orders; left to right: p p p p ψ[2],0 → ψ[2],1 → ψ[2],2 → ψ[2],3 . Right: magnitude DFT spectra of these wavelet packets
processing purpose. The fitness of a basis is evaluated by a cost function C1 (B) assigned to the basis B. Definition 4.13 The best basis for a signal with respect to a chosen cost function is the basis that minimizes the cost function. In many problems, such as compression, denoising, deconvolution, to name a few, a representation, which concentrates the signal’s energy in a relatively small number of big coefficients, while the remaining coefficients are negligibly small, is regarded as optimal. For that representation, a good choice of the cost function for a given orthonormal basis B is the Shannon entropy [9] of signal’s coordinates def q = {q[k]} , k = 0, . . . , N − 1, in that basis def
C E (B) = −
N −1 |q[k]|2 k=0
q
2
loge
|q[k]|2 . q 2
(4.28)
The entropy measures the flatness of the energy distribution of the spline. Minimizing the entropy leads to an efficient representation of the signal when its energy is concentrated in a few essential waveforms. Another possible choice is the l1 norm of the coordinates, which reflects the sparseness of the signal’s representation: def
C1 (B) =
N −1 |q[k]| k=0
q
.
(4.29)
Definition 4.14 Assume that an orthonormal basis B is the union of two bases B = B1 B2 . The cost function C is additive if for any such basis C (B) = C (B1 ) + C (B2 ).
4.2 Two-Level Discrete-Spline Wavelet and Wavelet Packets Transforms
61
The entropy and the l1 norm are examples of the additive cost functions. For different types of problems, other cost functions are used. For example, in classifications problems, the so-called discriminant measures are utilized [1, 7, 8]. A two-level wavelet packet transform provides four possible orthonormal bases. When the transform is extended to lower decomposition levels, the number of available bases is increased exponentially. Therefore, generally, calculation and comparison of costs of all possible orthonormal bases is a computationally expensive task, especially in multidimensional cases. However, when the cost function is additive, the Best Basis algorithm by Coifman and Wickerhauser [6, 10] significantly reduces the amount of computations. The algorithm utilizes the tree structure of the array of 0 the wavelet packet coefficients, which is seen in the diagram in Fig. 4.4. The sets y[2] 1 0 0 0 1 and y[2] are derived from the set y[1] . In that sense, y[1] is the “parent” of y[2] and y[2] , 3 2 which are its “offsprings”. The same relations exist between the sets y[2] y[2] and 1 y[1] .
2r 2r In order to decide, either the sub-basis ψ[2],0 [· − 4l] ψ[2],1 [· − 4l], or
2r 1 0,1 0 ψ[1],0 [· − 2m], fits better to out purpose, the cost function C[2] y[2] ) = C (y[2] 0,1 0 0 0 is compared with C[1] = C (y[1] ). If C[2] < C[1] then the preference is given to the
2r 2r sub-basis ψ[2],0 [· − 4l] ψ[2],1 [· − 4l], and vice versa. A similar test is applied
2r 2r
2r to the sub-bases ψ[2],2 [· − 4l] ψ[2],3 [· − 4l], and ψ[1],1 [· − 2m], .
4.3 Extension of Wavelet Packet Transforms to Lower Decomposition Levels 4.3.1 Discrete-Spline Wavelet Packets def
Denote Nm = N /2m . Extension of wavelet packet transforms from the second to lower decomposition levels is implemented by the same scheme as was used for the extension from the first to the second iteratively using the analysis 0level. It1 is done ˜ [m+1] = h[m+1] , h[m+1] = H[m+1] , which operate in the synthesis p-filter banks H space Π [Nm ]. P-filter banks:
The frequency responses of the p-filters are hˆ 0[m+1] [ν]m =
√ √ 2β[m] [ν] hˆ 1[m+1] [ν]m = 2α[m] [ν], cos2r πNmν
β[m] [ν] = β[0] [2m ν] = , 2 U 4r [2m ν] α[m] [ν] = α[0] [2m ν] = ω2
m
ν
sin2r πNmν . 2 U 4r [2m ν]
(4.30) (4.31) (4.32)
62
4 Periodic Orthogonal Wavelets and Wavelet Packets 0 1 The impulse responses of the p-filters h[m+1] and h[m+1] are orthogonal to each other and their 2-sample shifts are mutually orthogonal: N m −1
h λ[m+1] [k − 2l] h λ[m+1] [k − 2n] = δ[l − n].
(4.33)
k=0
The modulation matrices of the p-filter bank H[m+1] are ˜ [m+1] [ν] = M
√ 2
√ M[m+1] [ν] = 2
β[m] [ν] β[m] ν + α[m] [ν] α[m] ν +
Nm 2 Nm 2
,
β[m] [ν] α[m] [ν] β[m] ν + N2m α[m] ν + N2m
(4.34) .
(4.35)
Assumption: Assume that the discrete-spline wavelet packet transform is implemented down to the decomposition level m. at the level m, we have
λThus, λ , k = 0, . . . , Nm − 1, λ = = y[m] 2m blocks of the transform coefficients: y[m] 2r 0, . . . , 2m − 1. In addition, there are 2m level-m wavelet packets ψ[m],λ ∈ Π [N ], m which are orthogonal to each other and their 2 -sample shifts are mutually orthog2r , λ = 0, . . . , 2m − 1, split the onal. The DFT spectra of the wavelet packets ψ[m],λ 2r m frequency domain −N /2, . . . , N /2 − 1 into 2 bands. The DFT of a signal ψ[m],λ (λ+1)N λ − (λ+1)N is concentrated in the band B[m] = 2λN , − 2λN m+1 , m+1 . 2m+1 2m+1 λ The space Π [N ] is split into 2m mutually orthogonal subspaces 2r S[m] . The λ orthogonal projection of a signal x ∈ Π [N ] onto the subspace 2r S[m] is the signal
λ x[m] [k] =
N m −1
λ 2r y[m] [l] ψ[m],λ [k − 2m l],
λ 2r y[m] [l] = x, ψ[m],λ [· − 2m l] ,
(4.36)
l=0 λ 2r λ [ν] = ψˆ [m],λ [ν] yˆ[m] [ν]m . xˆ[m]
(4.37)
λ λ is concentrated in the band B[m] . The DFT of the signal x[m] All the above facts are valid for m = 2.
Extension: The wavelet packets for the next decomposition level m + 1 are de0 1 rived, similarly to Eq. (4.27), by application of p-filters h[m+1] and h[m+1] to the m-level wavelet packets as follows: ! N 2r ψ[m+1],2λ [n] =
m −1 k=0
Nm −1 k=0 m −1 k=0 Nm −1 k=0
! N 2r ψ[m+1],2λ+1 [n] =
2r h 0[m+1] [k] ψ[m],λ [n − 2k], if λ is even; 2r h 1[m+1] [k] ψ[m],λ [n − 2k], if λ is odd, 2r h 0[m+1] [k] ψ[m],λ [n − 2k], if λ is odd; 2r h 1[m+1] [k] ψ[m],λ [n − 2k], if λ is even.
4.3 Extension of Wavelet Packet Transforms to Lower Decomposition Levels
63
Their DFTs are
" √ 2r β[m] [ν] 2ψˆ [m],λ [ν] × α[m] [ν] " √ β[m] [ν] 2r 2r ψˆ [m+1],2λ+1 [ν] = 2ψˆ [m],λ [ν] × α[m] [ν] 2r ψˆ [m+1],2λ [ν] =
if λ is even; if λ is odd, if λ is odd; if λ is even.
2r 2r Obviously, the DFT spectra of the wavelet packets ψ[m+1],2λ and ψ[m+1],2λ+1 are λ located within the frequency band B[m] . λ The transform of the m-level coefficients y[m] , λ = 0, . . . , 2m − 1, into the coefμ m+1 ficients y[m+1] , μ = 0, . . . , 2 − 1 for the next decomposition level m + 1 and ˜ [m+1] [ν] the inverse operation, are implemented using the modulation matrices M and M[m+1] [ν]. Denote ⎧ 2λ ⎪ yˆ[m+1] [ν]m+1 ⎪ ⎪ , if λ is even; ⎪ ⎨ yˆ 2λ+1 [ν] m+1 def [m+1] Y[m+1] (λ) = (4.38) 2λ+1 ⎪ yˆ[m+1] [ν]m+1 ⎪ ⎪ , if λ is odd. ⎪ ⎩ yˆ 2λ [ν] [m+1]
m+1
Then, we have the following relations
λ yˆ[m] [ν]m 1 ˜ [m+1] [−ν] · Y[m+1] (λ) = M , 1 2 ν + N2m m yˆ[m] λ [ν]m yˆ[m] = M[m+1] [ν] · Y[m+1] (λ)). 1 ν + N2m m yˆ[m]
(4.39) (4.40)
Thus, the facts listed in Assumption for the decomposition level m are true for level m + 1. λ is the orthogonal projection of a signal Remark 4.3.1 Assume that the signal x[m] λ 2r x ∈ Π [N ] onto the subspace S[m] and it is expanded as in Eq. (4.36). Then, due to 2r the orthonormality of the wavelet packets ψ[m],λ [· − 2m l], the squared norm of the signal is N N −1 m −1 λ 2 λ 2 λ 2 λ . x = (x [k]) = (y[m] [l])2 = y[m] [m] [m] k=0
l=0
λ ∈ Π [Nm ] bears the energy of the signal x ∈ Π [N ] Loosely speaking, the signal y[m] λ allocated in the frequency band B[m] .
4.3.2 Discrete-Time-Spline Wavelet Packets Extension of the discrete-time-spline wavelet packet transforms from the second to lower decomposition levels is implemented by the same scheme as was used in
64
4 Periodic Orthogonal Wavelets and Wavelet Packets
Sect. 4.3.1 for the extension of the discrete-spline wavelet packet transforms. It is done
0 1 ¯ [m+1] = h¯ [m+1] , , h¯ [m+1] iteratively by using the analysis-synthesis p-filter banks H which operate in the space Π [Nm ]. P-filter banks: The frequency responses of the p-filters are √ √ hˆ¯ 0[m+1] [ν]m = 2β¯[m] [ν] hˆ¯ 1[m+1] [ν]m = 2α¯ [m] [ν], p bˆ¯[1] [2m ν] β¯[m] [ν] = β¯[0] [2m ν] = √ p m , Υ [2 ν] p bˆ¯[1] [2m (ν + Nm+1 )] α¯ [m] [ν] = α¯ [m] [2m ν] = ω2ν . √ p m Υ [2 ν]
¯ [m+1] are Modulation matrices: The modulation matrices of the p-filter bank H √ ˜¯ 2 M [m+1] [ν] = ¯ [m+1] [ν] = M
√ 2
β¯[m] [ν] β¯[m] ν + α¯ [m] [ν] α¯ [m] ν +
Nm 2 Nm 2
,
β¯[m] [ν] α¯ [m] [ν] Nm ¯ β[m] ν + 2 α¯ [m] ν + N2m
.
(4.41)
Wavelet packets: The wavelet packets for the m + 1th decomposition level are 0 1 and h[m+1] to the m-level wavelet packets. derived by application of p-filters h[m+1] Their DFTs are " √ ˆp β¯[m] [ν] if λ is even; p ˆ ¯ ¯ ψ[m+1],2λ [ν] = 2ψ[m],λ [ν] × α¯ [m] [ν] if λ is odd, " √ p β¯[m] [ν] if λ is odd; p ψˆ¯ [m+1],2λ+1 [ν] = 2ψˆ¯ [m],λ [ν] × α¯ [m] [ν] if λ is even. λ Wavelet packet transforms: The transform of the m-level coefficients y[m] , λ= μ m m+1 0, . . . , 2 − 1, into the coefficients y[m+1] , μ = 0, . . . , 2 − 1, for the next m + 1th decomposition level and the inverse operation are implemented using the mod˜¯ ¯ ulation matrices M [m+1] [ν] and M[m+1] [ν] similarly to Eqs. (4.39) and (4.40).
4.4 Best Basis and Signal’s Restoration from Wavelet Packet Bases The discrete-spline (discrete-time-spline) wavelet packet transform of a signal x ∈ Π [N ] is implemented iteratively using the analysis modulation matrices as it is presented in Eq. (4.39). The processing consists of the application of the direct
4.4 Best Basis and Signal’s Restoration from Wavelet Packet Bases
65
and inverse Fast Fourier Transform (FFT) algorithm and arithmetical operations. Therefore, the processing is very fast even for large N = 2 j . The MATLAB function dsp_wq_anS (dsp_wq_anTS) provides the discrete-spline (discrete-time-spline) wavelet packet transform of either a signal x ∈ Π [N ] or an array X of row signals from Π [N ]. The MATLAB Psi_FpsiS ( Psi_FpsiTS) produces the (function ' ( ' p 2r ¯ wavelet packets ψ[μ],λ(μ) ( ψ[μ],λ(μ) ) , μ=1, . . . , m, λ(μ)=0, . . . , 2μ −1, and their DFTs. Once the wavelet packet transform ' of(a signal x ∈ Π [N ] down to a decomposition λ(μ) level m is accomplished, the set y[μ] , μ = 1, . . . , m, λ(μ) = 0, . . . , 2μ − 1, of the transform coefficients is produced. The number of the coefficients is m N . Such a redundancy offers a variety of different orthonormal bases to represent x. The coefficient set has a tree structure similar to that displayed in the diagram in Fig. 4.4. Therefore, in order to select the most appropriate basis, the Best Basis algorithm can be used. It is implemented, starting *the lowest level m, by comparing ) 2λ from 2λ+1 of pairs of “offsprings” with the y[μ] the values of the cost function C y[μ] ) λ * cost function C y[μ−1] of their “parent”. The cost functions C E and C1 of the ( ' λ(μ) sets y[μ] , μ = 1, . . . , m, λ(μ) = 0, . . . , 2μ − 1, are computed by the MATLAB function cost_funS. These cost functions are defined by Eqs. (4.28) and (4.29), respectively. Using either of these cost functions, the MATLAB function wq_BBS compiles a list Lb = {(μ[k]], λ[k])} , k = 1, . . . , K , of indices of wavelet packets. whose shifts form a “best basis” (with respect to the selected cost function) for the signal x ∈ Π [N ]. Assume that an orthonormal basis of Π [N ] (is selected, which ' ' the signal( space p 2r consists of shifts of K wavelet packets ψ[μ[k]],λ[k] ( ψ¯ [μ[k]],λ[k] ) , k = 1, . . . , K . Assume that the indices of the basis wavelet packets are gathered in the list L = {(μ[k], λ[k])} , k = 1, . . . , K . The space Π [N ] becomes split into orthogonal sum λ λ of subspaces Π [N ] = (μ,λ)∈L 2r S[μ] (Π [N ] = (μ,λ)∈L p S¯[μ] ). λ The orthogonal projections of the signal x ∈ Π [N ] onto the subspaces 2r S[μ] and p ¯λ S[μ] , where (μ, λ) ∈ L , are, respectively Nμ −1 λ [k] x[μ]
=
λ 2r λ 2r λ y[μ] [l] ψ[μ],λ [k − 2μl], xˆ[μ] [ν] = ψˆ [μ],λ [ν] yˆ[μ] [ν]μ
l=0 Nμ −1 λ x[μ] [k] =
p p λ λ λ y¯[μ] [l] ψ¯ [μ],λ [k − 2μl], xˆ[μ] [ν] = ψˆ¯ [μ],λ [ν] yˆ¯[μ] [ν]μ .
l=0
Consequently, the restoration of the signal x ∈ Π [N ] from the expansion over the selected basis is achieved by the application of the inverse FFT to the sum ! x[ν] ˆ =
(μ,λ)∈L (μ,λ)∈L
2r λ ψˆ [μ],λ [ν] yˆ[μ] [ν]μ , discrete spline; p ˆ λ ψ¯ [μ],λ [ν] yˆ¯[μ] [ν]μ , discrete-time spline.
66
4 Periodic Orthogonal Wavelets and Wavelet Packets
The restoration of either a signal x ∈ Π [N ] or an array of row signals from the expansion over the basis characterized by a list L , is implemented by MATLAB function dsp_wq_synS (dsp_wq_synTS). Remark 4.4.1 Apparently, the MATLAB function dsp_wq_synS λ or a (dsp_wq_synTS) can implement the restoration of a single projection x[μ] set of projections. Restoration from Wavelet Bases In ma special case of wavelet basis, which is characterized by the list L = (m, 0) μ=1 (μ, 1) the restoration is done in a faster way compared to the general scheme, by using the synthesis modulation matrices defined in Eq. (4.35) (Eq. 4.41). Assume that the wavelet transform is implemented down Then, m to1decomposition level m. 0 0 y . The coefficients y N transform coefficients are produced y[m] [m−1] are μ=1 [μ] derived by 0 0 yˆ[m] [ν]1 [ν]m yˆ[m−1] = M[m] [ν] · . (4.42) 0 1 yˆ[m−1] [ν + Nm ]m−1 yˆ[m] [ν]m By iterating the operations in Eq. (4.42), we come to the relation
x[ν] ˆ x[ν ˆ + N /2]
= M[1] [ν] ·
0 yˆ[1] [ν]1 1 yˆ[1] [ν]1
,
which restores the signal x. The same scheme is applied to the discrete-time-spline wavelet transforms using ¯ [m] [ν]. The direct and inverse wavelet transforms of either the modulation matrices M a signal x ∈ Π [N ] or an array of row signals are implemented by the MATLAB functions dsp_ww_ans (dsp_ww_anTs) and dsp_ww_syns (dsp_ww_synTs), respectively.
4.5 Illustrations Diagrams in Fig. 4.6 illustrate the direct and the inverse three-level wavelet transform. Figure 4.7, which is produced by the MATLAB code dss_wW_l3S, displays 2r 2r and ψ[μ],1 , μ = 1, 2, 3, where r = 1, 2, 4, 6, and the discrete-spline wavelets ψ[3],0 their magnitude spectra. It is clearly seen, especially for the 12-order wavelets, that their spectra split the frequency domain in a logarithmic way. Although, theoretically, supports of these wavelets, except for the second-order wavelets, are infinite, they are well localized in time domain. Figure 4.8, which is produced by the MATLAB code dss_wW_l3TS, disp p plays the discrete-time-spline wavelets ψ¯ [3],0 and ψ¯ [μ],1 , μ = 1, 2, 3, where p = 3, 5, 9, 15, and their magnitude spectra.
4.5 Illustrations
67
Fig. 4.6 Diagram of three-level wavelet transform. Left: direct transform (decomposition). Right: inverse transform (reconstruction)
2r → Fig. 4.7 Left: three-level discrete-spline wavelets of orders 2, 4, 8, 12. Left to right: ψ[3],0 2r → ψ 2r → ψ 2r . Right: their magnitude spectra in the same order ψ[3],1 [2],1 [1],1
68
4 Periodic Orthogonal Wavelets and Wavelet Packets
Fig. 4.8 Left: three-level discrete-time-spline wavelets of orders 3, 5, 9, 15. Left to right: ψ¯ [3],0 → p p p ψ¯ [3],1 → ψ¯ [2],1 → ψ¯ [1],1 . Right: their magnitude spectra (the right-hand halfband) in the same order p
Figure 4.9, which is produced by the MATLAB code dss_BB_l3S, displays 8 , whose shifts constitute a best basis for the signal eighth-order wavelet packets ψ[μ],λ x (which is a row from the “Barbara” image) depicted in the top frame of the figure. The bottom frame displays their magnitude spectra. Figure 4.10, which is produced by the MATLAB code dss_BB_l5_CS, displays the signal x and coordinates of the signal’s expansion over the best basis constituted by the 3-level wavelet packet transforms with the 8th-order discrete-spline wavelet packets. The right-hand part of the figure displays the magnitude spectra of the basis wavelet packets. It is seen in the figure the distribution of the signal’s energy over the time and the frequency bands. Design of the best basis for a signal x ∈ Π [N ] provides a kind of “optimal” split of the frequency domain [−N /2, N /2 − 1] of the signal into sub-bands of different width. This fact is illustrated in Fig. 4.11, which is produced by the MATLAB code 14 , dss_BB_band_spS. This figure displays the spectra of the wavelet packets ψ[μ],λ (μ ≤ 5) which constitute the best basis, with respect to l1 cost function, for the signal displayed in Fig. 4.10. The list of the wavelet packets is given in Table 4.1. The upper frame in the figure displays the magnitude spectrum of the signal x. The distribution of the signal’s energy over the time and the frequency bands is clearly seen in the figure.
4.6 Waveband Spectra λ Assume that y[μ] ∈ Π [Nμ ] is the set of wavelet packet transform coefficients of a p 2r (ψ¯ [μ],λ ). It was signal x ∈ Π [N ], which is associated with the wavelet packet ψ[μ],λ λ mentioned in Remark 4.3.1 that the energy of the signal y[μ] is equal to the share of
4.6 Waveband Spectra
69
Fig. 4.9 Top: a signal x of length N = 512. Middle: wavelet packets whose shifts constitute a 8 8 8 8 8 8 . best basis for the signal x. Left to right: ψ[3],0 → ψ[3],1 → ψ[3],2 → ψ[3],3 → ψ[2],2 → ψ[2],3 Bottom: their DFT spectra (the right-hand halfband) in the same order
Fig. 4.10 Left: top frame – original signal, remaining frames – wavelet packet transform coefficients for three-level discrete-spline wavelet packets of order 8, which constitute a best basis (absolute values). Right: top frame – DFT of the original signal, remaining frames – DFTs of respective wavelet packets
70
4 Periodic Orthogonal Wavelets and Wavelet Packets
Fig. 4.11 Top: magnitude spectrum of signal x displayed in Fig. 4.10. Bottom: magnitude spectra 14 , (μ ≤ 5) which constitute the best basis for the signal x of the wavelet packets ψ[μ],λ 14 , (μ ≤ 5) which constitute the best basis for the signal Table 4.1 List of wavelet packets ψ[μ],λ displayed in Fig. 4.10 μ 5 5 4 3 3 5 5 4 2 3 5 5 4 λ 0 1 1 1 2 12 13 7 2 6 28 29 15
λ the energy of the signal x that is allocated in the frequency band B[m] . Therefore, the computation of the energies Nμ −1 λ def E [μ] =
)
*2 λ y[μ] [k] , λ = 0, . . . , 2μ − 1, μ = 1, . . . , m,
k=0
of different blocks of the wavelet packet transform coefficients provides an information on the distribution of the signal’s x energy between frequency bands of different locations and widths. This fact is illustrated in Fig. 4.13, which is produced by the λ for MATLAB code bebas_examSTS, which displays energies of the signals y¯ [μ] the decomposition levels μ = 5, 6, 7, versus the DFT magnitude spectrum of the original signal. The original signal x ∈ Π [2048] and its DFT magnitude spectrum are depicted in Fig. 4.12. This signal is a short fragment from a musical recording. The discrete-time-spline wavelet packet transform with the wavelet packets of 13th order were applied.
4.6 Waveband Spectra
71
Fig. 4.12 Top: original signal. Bottom: its DFT magnitude spectrum
Fig. 4.13 Top frame – DFT magnitude spectrum of the original signal, remaining frames – energies λ of the transform coefficients for the decomposition levels μ = 5, 6, 7 in the blocks y˜ [μ]
For visualization purposes, the first 4 frequencies in the DFT in Fig. 4.13 were put to zero as well as the energies in the initial blocks of the transform coefficients: 0 = 0, μ = 5, 6, 7. x[ν] ˆ = 0, ν = 0, 1, 2, 3 and E [μ] 0 It is apparent in Fig. 4.13 that the sets of the energies E [μ] = 0, , λ = 0, . . . , 2μ −1, μ = 5, 6, 7 form “waveband spectra” of the signal x with wavebands of different widths. There are 128 narrow bands at the seventh decomposition level, 64 wider bands at the sixth level and so on. Visually, the “waveband spectra” configurations are similar to the configuration of the DFT spectrum.
72
4 Periodic Orthogonal Wavelets and Wavelet Packets
The DFT spectrum x[ν] ˆ , ν = 0, . . . , 2047, comprises a full information on the signal x ∈ Π [2048]. However, for some tasks, such as identification, classification, target detection, to name a few, this full information provided by the DFT can appear redundant and even misleading. On the other hand, the “waveband spectra” can provide concise frequency-related signatures of the signal ([1–3], for example). Note, that a single signature can comprise energies in coefficient blocks from several different decomposition levels. This fact is explored in Chaps. 12 and 13.
References 1. A. Averbuch, E. Hulata, V. Zheludev, I. Kozlov, A wavelet packet algorithm for classification and detection of moving vehicles. Multidimens. Syst. Signal Process. 12(1), 9–31 (2001) 2. A. Averbuch, V. Zheludev, N. Rabin, A. Schclar, Wavelet-based acoustic detection of moving vehicles. Multidimens. Syst. Signal Process. 20(1), 55–80 (2009) 3. A. Averbuch, V. Zheludev, P. Neittaanmäki, P. Wartiainen, K. Huoman, K. Janson, Acoustic detection and classification of river boats. Appl. Acoust. 72(1), 22–34 (2011) 4. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume II: Non-periodic Splines (Springer, Berlin, 2015) 5. G. Battle, A block spin construction of ondelettes. I. lemarié functions. Commun. Math. Phys. 110(4), 601–615 (1987) 6. R.R. Coifman, V.M. Wickerhauser, Entropy-based algorithms for best basis selection. IEEE Trans. Inf. Theory 38(2), 713–718 (1992) 7. N. Saito, R.R. Coifman, Local discriminant bases and their applications. J. Math. Imaging Vis. 5(4), 337–358 (1995) 8. N. Saito, R.R. Coifman, Improved discriminant bases using empirical probability density estimation, in Proceedings of the Statistical Computing Section, Washington, DC (American Statistical Association, 1997), pp. 312–321 9. C.E. Shannon, W. Weaver, The Mathematical Theory of Communication (The University of Illinois Press, Urbana, 1949) 10. M.V. Wickerhauser, Adapted Wavelet Analysis: from Theory to Software (AK Peters, Wellesley, 1994)
Chapter 5
Two-Dimensional Orthogonal Wavelets and Wavelet Packets
Abstract This chapter extends the design of spline-based orthogonal discrete-time wavelets and wavelet packets to two-dimensional case. The corresponding transforms are implemented by using the 2D FFT.
5.1 Two-Dimensional Discrete-Spline and Discrete-Time-Spline Wavelets As before, N = 2 j , M = 2m , m < j, and Nm = 2 j−m . The notation Π [N , L] means the space of two-dimensional Splines whose columns belong to Π [N ] and the rows belong to Π [L]. For simplicity, we assume that the 2D Splines to be discussed have the same periodicity N in both vertical and horizontal directions. Thus, they belong to Π [N , N ].
5.1.1 Wavelets of the First Decomposition Level 5.1.1.1
Discrete Splines
Assume that a 2D Spline x = {x[k, l]} , k, l = 0, . . . , N − 1, belongs to Π [N , N ]. Its columns x[l] = {x[k, l]} , k = 0, . . . , N − 1, are vectors from Π [N ] and, as such, they can be decomposed into mutually orthogonal components in accordance with Eq. (4.2): N /2−1
x[k, l] =
0 2r y[1] [ p, l] ψ[1],0 [k − 2 p]
p=0
κ 2r [ p, l] = x[l], ψ[1],κ [· − 2 p] = y[1]
/2−1 N
1 2r y[1] [ p, l] ψ[1],1 [k − 2 p],
p=0 N −1
2r ψ[1],κ [n − 2 p] x[n, l], κ = 0, 1.
n=0
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_5
73
74
5 Two-Dimensional Orthogonal Wavelets and Wavelet Packets
κ In turn, for each p = 0, . . . , N /2 − 1, the row Splines y[p]κ[1] = y[1] [ p, l] , l = 0, . . . , N − 1, are vectors from Π [N ] and, as such, they can be decomposed into mutually orthogonal components in accordance with Eq. (4.2): N /2−1 0 y[1] [ p, l]
=
0,0 2r y[1] [ p, t] ψ[1],0 [l
− 2t]
/2−1 N
t=0
t=0
N /2−1
1 [ p, l] = y[1]
1,0 2r y[1] [ p, t] ψ[1],0 [l − 2t]
/2−1 N
t=0 N −1
κ,ν [ p, t] = y[1]
0,1 2r y[1] [t, l] ψ[1],1 [k − 2t],
1,1 2r y[1] [t, l] ψ[1],1 [k − 2t],
t=0 2r ψ[1],κ,ν [n − 2 p, m − 2t] x[n, m],
(5.1)
n,m=0 def
2r 2r 2r ψ[1],κ,ν [n, m] = ψ[1],κ [n] ψ[1],ν [m], κ, ν = 0, 1.
(5.2)
The 1D wavelets ψ[1],0 and ψ[1],1 are determined by their DFT spectra in Eqs. (3.15) and (4.1), respectively. Finally, we have the Spline space Π [N , N ] decomposed into four mutually orthogonal subspaces 0,0 Π [N , N ] = 2r S[1]
2r
1,0 S[1]
2r
0,1 S[1]
2r
1,1 S[1] .
κ,ν The subspace 2r S[1] is a linear hull of two-sample shifts of the 2D wavelets 2r ψ[1],κ,ν [k − 2 p, l − 2t] , p, t, = 0, . . . , N /2 − 1, which form an orthonormal κ,ν basis of 2r S[1] . The orthogonal projection of the Spline x ∈ Π [N , N ] onto the κ,ν κ,ν 2r subspace S[1] is the Spline x[1] ∈ Π [N , N ] such that
κ,ν [k, l] x[1]
N /2−1
=
κ,ν 2r y[1] [ p, t] ψ[1],κ,ν [k − 2 p, l − 2t], κ, ν = 0, 1,
p,t=0 κ,ν [ p, t] are defined in Eq. (5.1) and the basis 2D wavelets where the coefficients y[1] are defined in Eq. (5.2). It follows from Eqs. (3.15) and (4.1) that the DFTs of the 2D wavelets are
cos2r π ξ cos2r πNη ωξ sin2r πNξ cos2r πNη 2r 2r ψˆ [1],0,0 , ψˆ [1],1,0 , [ξ, η] = N [ξ, η] = U 4r [ξ ] U 4r [η] U 4r [ξ ] U 4r [η] 2r ψˆ [1],0,1 [ξ, η] =
ωη cos2r πNξ sin2r πNη , U 4r [ξ ] U 4r [η]
2r ψˆ [1],1,1 [ξ, η] =
ωξ +η sin2r πNξ sin2r πNη . U 4r [ξ ] U 4r [η]
(5.3)
5.1 Two-Dimensional Discrete-Spline and Discrete-Time-Spline Wavelets
75
Equation (5.3) implies that the effective supports of DFT spectra of the basis wavelets split the frequency domain [0, . . . , N /2 − 1, 0, . . . , , N /2 − 1] of the Splines x 2r occupies the quarter [0, . . . , N /4 − 1, 0, . . . , , N /4 − 1] into four quarters: ψˆ [1],0,0 2r of the low frequencies in both vertical and horizontal directions (LL), ψˆ [1],1,0 occupies the quarter [N /4, . . . , N /2 − 1, 0, . . . , , N /4 − 1] of high frequencies 2r occupies the in the vertical and low in the horizontal directions (HL), ψˆ [1],0,1 quarter [0, . . . , N /4 − 1, N /4, . . . , , N /2 − 1] of low frequencies in the verti2r occupies the quarcal and high in the horizontal directions (LH), and ψˆ [1],0,1 ter [N /4, . . . , N /2 − 1, N /4, . . . , , N /2 − 1] of high frequencies in both vertical and horizontal directions (HH). The DFT spectra of Splines from the subspaces κ,ν 2r S[1] , κ, ν = 0, 1, are supported respectively. Figure 5.1, which was produced by the MATLAB code dss_mesh_wpST displays the magnitude spectra of the first-level 2D discrete-spline wavelets of the fourth and fourteenth orders. It is seen in the figure that the spectra of the fourteenth-order wavelets split the frequency domain almost perfectly, while the spectra of the fourthorder wavelets overlap each other.κ.ν is referred to as the one-level 2D wavelet transThe bijection x ←→ 1κ.ν=0 y[1] κ.ν is executed form of the Spline x ∈ Π [N , N ]. The direct transform x −→ 1κ.ν=0 y[1] by the application of the 1D wavelet transform to columns of x, which is followed by the application of the 1D wavelet transform to rows of the resulting array: 0,0 ⎧ y[1] ⎪ 0 ⎪ ⎪ y[p][1] −→ ⎪ 0,1 ⎨ y[1] x −→ 1,0 ⎪ y[1] ⎪ ⎪ 1 ⎪ y[p][1] −→ ⎩ 1,1 y[1] . κ.ν The inverse transform 1κ.ν=0 y[1] −→ x is executed by the repeated application of the 1D inverse wavelet transforms:
4 Fig. 5.1 Magnitude spectra of the first-level 2D discrete-spline wavelets ψ[1],κ,ν , κ, ν = 0, 1 (left) 14 , κ, ν = 0, 1 (right) and ψ[1],κ,ν
76
5 Two-Dimensional Orthogonal Wavelets and Wavelet Packets 0,0 y[1] 0,1 y[1] 1,0 y[1]
⎫
−→
⎪ ⎪ y[p]0[1] ⎪ ⎪ ⎬
−→
⎪ ⎪ y[p]1[1] ⎪ ⎭
1,1 y[1]
⎪
−→ x.
2r The two-sample shifts of the 2D wavelets ψ[1],κ,ν [k − 2 p, l − 2t] , p, t, = 0, . . . , N /2 − 1, κ, ν = 0, 1 form an orthonormal basis of the space Π [N , N ].
5.1.1.2
Discrete-Time Splines
All the statements in Sect. 5.1.1.1 regarding the discrete-spline wavelets can be repeated with regard to the discrete-time-spline wavelets, up to apparent changes. 2r Surely, instead of the wavelets ψ[1],κ,ν [n, m] defined in Eq. (5.2), the 2D wavelets def p 2r 2r ψ¯ [1],κ,ν [n, m] = ψ¯ [1],κ [n] ψ¯ [1],ν [m], κ, ν = 0, 1,
should participate. Their DFTs are p p p p bˆ¯[1] [ξ ] bˆ¯[1] [η] ωξ bˆ¯[1] [ξ + N /2] bˆ¯[1] [η] p ˆ¯ p , ψ , [ξ, η] = ψˆ¯ [1],0,0 [ξ, η] = √ p √ [1],1,0 Υ [ξ ] Υ p [η] Υ p [ξ ] Υ p [η] p p ωη bˆ¯[1] [η + N /2] bˆ¯[1] [ξ ] p ψˆ¯ [1],0,1 [ξ, η] = , √ p Υ [ξ ] Υ p [η] p p ωξ +η bˆ¯[1] [ξ + N /2] bˆ¯[1] [η + N /2] p ψˆ¯ [1],1,1 [ξ, η] = . √ p Υ [ξ ] Υ p [η]
5.1.2 Multi-level 2D Wavelet Transforms 5.1.2.1
Discrete Splines
Similarly to the 1D case, in order to extend the 2D case to the second decomposition 0,0 ∈ level, the above procedures are applied to the low-frequency coefficient array y[1] Π [N /2, N /2] instead of x ∈ Π [N , N ]. The application of the 1D wavelet transform 0,0 is followed by the application of the 1D wavelet transform to to the columns of y[1] 0,0 κ.ν ←→ 1κ.ν=0 y[2] the rows of the resulting array, thus generating the bijection y[1] 1 0,0 κ.ν and the split of the subspace 2r S[1] = κ.ν=0 2r S[2] . Consequently,
5.1 Two-Dimensional Discrete-Spline and Discrete-Time-Spline Wavelets
Π [N , N ] =
1
2r
κ.ν S[2]
κ.ν=0
2r
1,0 S[1]
2r
0,1 S[1]
77
2r
1,1 S[1] .
1,0 0,1 1,1 κ.ν y[1] y[1] y[1] is referred to as the two-level The bijection x ←→ 1κ.ν=0 y[2] 2D wavelet transform. The second-level wavelets are def
2r 2r 2r [n, m] = ψ[2],κ [n] ψ[2],ν [m], κ, ν = 0, 1. ψ[2],κ,ν
The 1D wavelets ψ[2],0 and ψ[2],1 are defined in Eqs. (4.21) and (4.23), respectively. Their DFT spectra are given in Eqs. (4.22) and (4.24), respectively. The spectra split the frequency domain [0, . . . , N /4 − 1, 0, . . . , , N /4 − 1] into four quar2r [k − 4 p, l − 4t] , p, t, = ters. The four-sample shifts of the 2D wavelets ψ[2],κ,ν 0,0 0, . . . , N /4, κ, ν = 0, 1, form an orthonormal basis of the subspace 2r S[1] . 0,0 0,0 Then, the procedures are applied to the array y[2] generating the bijection y[2] ←→ 1 1 0,0 κ.ν κ.ν 2r 2r κ.ν=0 y[3] and the split of the subspace S[2] = κ.ν=0 S[3] and so on. The 2D wavelets from the μth decomposition level are def
2r 2r 2r [n, m] = ψ[μ],κ [n] ψ[μ],ν [m], κ, ν = 0, 1. ψ[μ],κ,ν κ,ν The orthogonal projection of a Spline x ∈ Π [N , N ] onto the subspace 2r S[μ] is the κ,ν Spline x[μ] ∈ Π [N , N ] such that
κ,ν [k, l] x[μ]
N /2μ −1
=
κ,ν 2r y[μ] [ p, t] ψ[μ],κ,ν [k − 2μ p, l − 2μ t],
p,t=0 κ,ν [ p, t] = y[μ]
N −1
2r x[k, l] ψ[μ],κ,ν [k − 2μ p, l − 2μ t], κ, ν = 0, 1.
k,l=0
Figure 5.2, which is prepared by the MATLAB code dss_mesh_wpS, as well as Fig. 5.1 displays the magnitude spectra of the 2D discrete-spline wavelets of the fourteenth order from three decomposition levels. Successive split of the LL frequency domain into quarters is seen in the figure. The direct and the inverse 2D discrete-spline wavelet transforms are implemented by the MATLAB functions dsp_ww_an_2dS and dsp_ww_syn_2dS, respectively.
5.1.2.2
Discrete-Time Splines
The multi-level scheme for the discrete-time-spline wavelet transforms is quite similar to the scheme described in Sect. 5.1.2.1 up to some obvious corrections.
78
5 Two-Dimensional Orthogonal Wavelets and Wavelet Packets
Fig. 5.2 Magnitude spectra of the 2D discrete-spline 14 wavelets ψ[3],0,0 and 14 14 14 ψ[μ],1,0 , ψ[μ],0.1 , ψ[μ],1,1 , μ = 1, 2, 3
Fig. 5.3 Magnitude spectra of the 2D discrete-time-spline wavelets 13 13 13 ψ¯ [4],0,0 and ψ¯ [μ],1,0 , ψ¯ [μ],0.1 , 13 , μ = 1, 2, 3, 4 ψ¯ [μ],1,1
Figure 5.3, which is prepared by the MATLAB code dss_mesh_wpST, displays the magnitude spectra of the 2D discrete-spline wavelets of the thirteenth order from four decomposition levels. The direct and inverse 2D discrete-time-spline wavelet transforms are implemented by the MATLAB functions dsp_ww_an_2dTS and dsp_ww_syn_2dTS, respectively.
5.2 Two-Dimensional Discrete-Spline Wavelet Packets 5.2.1 Direct Wavelet Packet Transforms 5.2.1.1
Discrete Splines
κ.ν is the same as the oneThe one-level wavelet packet transform x −→ 1κ.ν=0 y[1] level wavelet transform described in Sect. 5.1.2. Unlike the 2D wavelet transforms,
5.2 Two-Dimensional Discrete-Spline Wavelet Packets
79
κ.ν , κ.ν = 0, 1, in order to pass to the second decomposition level, all the arrays y[1] 0,0 should be subjected to the same processing as the array y[1] . As a result, 16 new κ.ν arrays y[2] , κ.ν = 0, 1, 2, 3, are produced, which, in turn, give rise to 64 arrays κ.ν y[3] , κ.ν = 0, ..., 8, and so on. Herewith, the interchange rule (4.38) should be taken into account. The 2D wavelet packets related to the μth decomposition level are def 2r 2r 2r [n, m] = ψ[μ],κ [n] ψ[μ],ν [m], κ, ν = 0, . . . , 2μ − 1. ψ[μ],κ,ν 2r The linear hull of the shifts ψ[μ],κ,ν [k − 2μ p, l − 2μ t] , p, t = 0, . . . , N /2μ − 1, κ,ν forms the subspace 2r S[μ] ⊂ Π [N , N ]. The orthogonal projection of a Spline x ∈ κ,ν κ,ν Π [N , N ] onto the subspace 2r S[μ] is the Spline x[μ] ∈ Π [N , N ] such that κ,ν [k, l] x[μ]
N /2μ −1
=
κ,ν 2r y[μ] [ p, t] ψ[μ],κ,ν [k − 2μ p, l − 2μ t],
p,t=0 κ,ν [ p, t] = y[μ]
N −1
2r x[k, l] ψ[μ],κ,ν [k − 2μ p, l − 2μ t], κ, ν = 0, . . . , 2μ − 1.
k,l=0
Figure 5.4, which is prepared by the MATLAB code dss_mesh_wpS, displays the magnitude spectra of the 2D discrete-spline wavelet packets of twelfth order. The left figure displays the spectra of all the wavelet packets from the second decomposition level, which split the frequency domain into 16 squares of equal size. The right figure displays the spectra of the wavelet packets from the third, second and first decomposition levels, which split the frequency domain into 26 squares of different size. The direct 2D discrete-spline wavelet packet transforms is implemented by the MATLAB functions dsp_wq_an_2dS.
5.2.1.2
Discrete-Time Splines
The 2D multilevel discrete-time-spline wavelet packet transform is implemented by the same scheme as the 2D discrete-spline wavelet packet transform up to obvious corrections. Figure 5.5, which is prepared by the MATLAB code dss_mesh_wpST, displays the magnitude spectra of the 2D discrete-time-spline wavelet packets of the thirteenth order. It displays the spectra of the wavelet packets from the third, second and first decomposition levels, which split the frequency domain into 22 squares of different size. The 2D direct discrete-time-spline wavelet packet transforms is implemented by the MATLAB functions dsp_wq_an_2dTS.
80
5 Two-Dimensional Orthogonal Wavelets and Wavelet Packets
Fig. 5.4 Left: magnitude spectra of the second-level 2D discrete-spline wavelet packets 12 12 ψ[2],κ,ν , κ, ν = 0, 1, 2, 3 . Right: magnitude spectra of the wavelet packets ψ[μ],κ,ν , κ, μ = 0, 1, 2, 3 Fig. 5.5 Magnitude spectra of the discrete-time-spline wavelet packets ψ¯ 13 [μ],κ,ν
5.2.2 Best Basis and Restoration of 2D Signals From Wavelet Packet Bases 5.2.2.1
Discrete Splines
Once the 2D wavelet packet transform ofa Spline x ∈ Π [N , N ] down to a decomκ(μ),ν(μ) , μ = 1, . . . , m, λ(μ), ν(μ) = position level m is accomplished, the set y[μ] μ 0, . . . , 2 − 1, of the transform coefficients is produced. The number of the coefficients is m(N )2 . Such a redundancy offers a variety of different orthonormal bases that represent x. The coefficient set has a quad-tree structure. Therefore, in order to select the most appropriate basis, the 2D version of the Best Basis algorithm is used. It is implemented, starting from the lowest level m, by comparing the values of
5.2 Two-Dimensional Discrete-Spline Wavelet Packets
81
2κ,2ν 2κ+1,2ν 2κ,2ν+1 2κ+1,2ν+1 of four “offsprings” y[μ] y[μ] y[μ] a cost function C y[μ] κ,ν with the cost function C y[μ−1] of their “parent”. The cost functions C E and C1 of κ(μ),ν(μ) the sets y[μ] , μ = 1, . . . , m, λ(μ), ν(μ) = 0, . . . , 2μ − 1, are computed by the MATLAB function cost_fun_2dS. These cost functions are defined by Eqs. (4.28) and (4.29), respectively. By using either of these cost functions, the MATLAB function wq_BB_2dS compiles a list Lb = {(μ[k]], κ[k], ν[k])} , k = 1, . . . , K , of indices of wavelet packets, whose shifts form a “best basis” (with respect to the selected cost function) for the Spline x ∈ Π [N , N ]. Assume that an orthonormal basis of the Spline space Π [N , N ] is selected. It con 2r sists of shifts of K wavelet packets ψ[μ[k]], κ[k],ν[k] , k = 1, . . . , K . The indices of the basis wavelet packets are gathered in the list L = {(μ[k], κ[k], ν[k])} , k = 1, . . . , K . The ] becomes split into orthogonal sum of subspaces space Π [N , N ,κ,ν Π [N , N ] = (μ,κ,ν)∈L 2r S[μ] . κ,ν The orthogonal projection of the Spline x ∈ Π [N , N ] onto the subspace 2r S[μ] , κ,ν where (μ, κ, ν) ∈ L , is the Spline x[μ] such that κ,ν [k, l] x[μ]
N /2μ −1
=
κ,ν 2r y[μ] [ p, t] ψ[μ],κ,ν [k − 2μ p, l − 2μ t],
p,t=0 κ,ν xˆ[μ] [σ, Transform]
κ,ν 2r = ψˆ [μ],κ,ν [σ, Transform] yˆ[μ] [σ, Transform]μ .
Consequently, the restoration of the Spline x ∈ Π [N , N ] from the expansion over the selected basis is achieved by the two-dimensional inverse FFT application to the sum κ,ν 2r ψˆ [μ],κ,ν [σ, Transform] yˆ[μ] [σ, Transform]μ . xˆ = (μ,κ,ν)∈L
The restoration of a Spline x ∈ Π [N , N ] from the expansion over the basis characterized by a list L , is implemented by the MATLAB function dsp_wq_syn_2dS, κ,ν which also can restore either a single projection x[μ] or a set of projections. In a special case of the wavelet basis, the restoration is done in a faster way compared to the above procedure. This way is described in Sect. 5.1.2 and is implemented by the MATLAB function dsp_ww_syn_2dS. Figure 5.6, which is prepared by the MATLAB code dss_mesh_wpS, displays the magnitude spectra of the 2D discrete-spline wavelet packets of the twelfth order from the first to fourth decomposition levels, whose shifts constitute the Best Basis for the “Barbara” image.
5.2.2.2
Discrete-Time Splines
The scheme outlined in Sect. 5.2.2.1 fits to the Spline’s restoration from its expansions over shifts of 2D discrete-time spline wavelet packets, up to some apparent
82
5 Two-Dimensional Orthogonal Wavelets and Wavelet Packets
Fig. 5.6 Left: “Barbara” image. Right: magnitude spectra of the discrete-spline wavelet packets of the twelfth order from the first to fourth decomposition levels, whose shifts constitute the Best Basis for the “Barbara” image
Fig. 5.7 Left: “Lena” image. Right: magnitude spectra of the discrete-time-spline wavelet packets of the thirteenth order from the first to fourth decomposition levels, whose shifts constitute the Best Basis for the “Lena” image
corrections. The restoration of a Spline x ∈ Π [N , N ] from the expansion over the basis characterized by a list L , is implemented by the MATLAB function κ,ν or a dsp_wq_syn_2dTS, which can also restore either a single projection x[μ] set of projections. In a special case of the wavelet basis, the restoration is done in a faster way described in Sect. 5.1.2. It is implemented by the MATLAB function dsp_ww_syn_2dTS. Figure 5.7, which is prepared by the MATLAB code dss_mesh_wpST, displays the magnitude spectra of the 2D discrete-time spline wavelet packets of the thirteenth order from first to fourth decomposition levels, whose shifts constitute the Best Basis for the “Lena” image.
Chapter 6
Local Splines on Non-uniform Grid
Abstract In this Chapter and in the next Chap. 7, we deal with continuous rather than discrete and discrete-time splines. In these and only these chapters, we abandon the assumption that the grid, on which the splines are constructed, is uniform and consider splines on arbitrary grids. Two types of local cubic and quadratic splines on non-uniform grids are described: 1. The simplest variation-diminishing splines and 2. The quasi-interpolating splines. The splines are computed by simple fast computational algorithms that utilize relations between the splines and interpolation polynomials. In addition, these relations provide sharp estimations of splines’ approximation accuracy. These splines can serve as an efficient tool for real-time signal processing. As an input, they use either clean or noised arbitrarily-spaced samples. On the other hand, the capability to adapt the grid to the structure of an object and minimal requirements to the operating memory are great advantages for off-line processing of signals and multidimensional data arrays, especially in the 2D case. The contents of this chapter, as well as Chap. 7, is based on (Averbuch, Neittaanmäki, Shefi and Zheludev, Adv. Comput. Math. 43(4), 733–758, 1917) [2].
6.1 Preliminaries General notation: The following notation is used throughout the chapter: def
The grid on the real axis is denoted by t = {t[k]}. The steps of the grid are denoted def by h[k] = t[k + 1] − t[k]. def If t ∈ [t[k], t[k + 1]), then a local variable is τ = (t − t[k])/ h[k] ∈ [0, 1). The polynomial function def
m [k](t) = (t − t[k]) (t − t[k + 1]) ... (t − t[k + m])
(6.1)
will be used. For t = t[k + l], 0 ≤ l ≤ m, the derivative is m [k](t[k + l]) =
(t[k + l] − t[k + ν]).
ν=(0,...,m)\l
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_6
83
84
6 Local Splines on Non-uniform Grid
Pn (t) denotes a polynomial of degree n. C n [a, b] denotes the space of functions that are continuous on the interval [a, b] together with their derivatives up to order n. Divided differences (DD) ([1, 5, 11]): The first-order DD of the sequence f = { f [k]} with respect to the grid t = {t[k]} is f [k] f [k + 1] f [k + 1] − f [k] = + . t[k + 1] − t[k] t[k] − t[k + 1] t[k + 1] − t[k]
def
f [k, k + 1] =
The second-order DD is f [k] f [k + 1, k + 2] − f [k, k + 1] = t[k + 2] − t[k] (t[k] − t[k + 1])(t[k] − t[k + 2]) f [k + 2] f [k + 1] + . + (t[k + 1] − t[k])(t[k + 1] − t[k + 2]) (t[k + 2] − t[k])(t[k + 2] − t[k + 1]) def
f [k, k + 1, k + 2] =
The higher-order DDs are defined iteratively: def
f [k, k + 1, k + 2, . . . , k + n] = =
n l=k
f [k + 1, k + 2, . . . , k + n] − f [k, k + 1, . . . , k + n − 1] t[k + n] − t[k]
f [k + l] . n [k](t[k + l])
If a function f (t) has n continuous derivatives at the interval [t[k], t[k + n]], then DD is f [k, k + 1, k + 2, . . . , k + n] =
f (n) (θ ) , θ ∈ (t[k], t[k + n]) . n!
(6.2)
Consequently, if f (t) = Pn−1 (t) is equal to a polynomial of degree n − 1 at the interval [t[k], t[k + n]], then f [k, k + 1, k + 2, . . . , k + n] = 0. If the grid t is uniform, that is h[k] = h, k ∈ Z, then f [k, k + 1, k + 2, . . . , k + n] =
Δnh f [k] , h n n!
def where Δnh f [k] = nν=0 (−1)n−ν nν f [k + ν] is the nth order finite difference of the sequence f on the grid {hk}. Interpolating polynomials ([1, 5, 11]): The Newton form of the polynomial Pn (t) of degree n which interpolates the function f (t) at the points t[k], t[k + 1], . . . , t[k + def n] (that is Pn (t[k + l]) = f [k + l] = f (t[k + l]), l = 0, . . . , n), is represented by
6.1 Preliminaries
85
Pn (t) = f [k] + f [k, k + 1](t − t[k]) + . . . + f [k, k + 1, . . . , k + n] n−1 [k](t), where the function n [k](t) is defined in Eq. (6.1). The reminder term of the interpolation can be explicitly expressed by def
Rn (t) = f (t) − Pn (t) = f [t, k, k + 1, . . . , k + n] n [k](t), where f [t, k, k + 1, . . . , k + n] denotes the DD of the order n + 1 of the function f (t) with respect to the grid {t, t[k], t[k + 1], . . . , t[k + n]}. B-splines: In this chapter, we mainly operate with non-centered B-splines. On the uniform grid {hk}, the non-centered B-spline of order p is the hp/2 shift of the centered B-splines given in Eq. (2.2). Thus, it is represented by p−1
k p 1 t+ p−1 p (−1)k , b¯ p (t) = n−1 (t − hν)+ = hΔh ν h ( p − 1)! ν=0 ( p − 1)! def
p
where t+ = (t + |t|)/2 and Δh [ f ] denotes the order - p finite difference of a function f (t) with the step h. The B-spline b¯ p (t) is supported on the interval (0, ph), and its nodes are located at the points 0, 1, . . . , p. When the grid is non-uniform, the finite difference is replaced by DD. The B-spline of order p on the grid t is defined by def b¯ p (t)[k] = (−1) p (t[k + p] − t[k])
p p−1 (t − t[k + ν])+ , p [k](t[k + ν]) ν=0
Fig. 6.1 B-splines of order 3, 4, 5, 6 on the grid t = {0, 0.5, 1.3, 2, 3.1, 3.7, 4.5}
86
6 Local Splines on Non-uniform Grid
where the function n [k](t) is defined in Eq. (6.1). The B-spline b¯ p (t)[k] is supported on the interval (t[k], t[k + p]), where it is positive. It is a C p−2 function such that at the intervals (t[l], t[l + 1]) it coincides with polynomials of degree p − 1. The grid points {t[k], . . . , t[k + p]} are referred to as the nodes of the B-spline b¯ p (t)[k]. Generally, a function s p (t), which belongs to C p−2 and, at the intervals (t[l], t[l + 1]), coincides with polynomials of degree p − 1, is referred to as a spline of order p. The grid points {t[k]} are nodes of the spline s p (t). Figure 6.1, which is produced by the MATLAB code bspl_NU_exam using the MATLAB function bsp_NU, displays the B-splines of different orders on a nonuniform grid.
6.2 Local Cubic Splines The cubic B-spline is b¯ 4 (t)[k] = (t[k + 4] − t[k])
4 (t − t[k + ν])3+ . w4 [k](t[k + ν]) ν=0
(6.3)
It is supported on the interval (t[k], t[k + 4]). Cubic splines on the grid t = {t[k]} are represented via B-splines [4, 10]. For t ∈ [t[k], t[k + 1]], a cubic spline s(t) is given by k q[ν + 2] b¯ 4 (t)[ν] = q[ν + 2] b¯ 4 (t)[ν], (6.4) s 4 (t) = ν∈Z
ν=k−3
where q = {q[ν]} is a sequence of real numbers that determines the spline’s properties. Typically, for a spline thatapproximates a function f (t), the coefficients q[ν] def are derived from the samples f [k] = f (t[k]) of f (t) on the grid t. In this case, the spline is denoted by s 4 [ f ]. For interpolating splines, the coefficients q[ν] are obtained by solving a tridiagonal system of equations, which involves all the available samples and some boundary conditions. An alternative is provided by the so-called local splines. Definition 6.1 If the coefficients q[ν] in Eq. (6.4) are finite linear combinations of grid samples { f [k]}, then the spline s 4 [ f ] is called local spline. Definition 6.2 If for any polynomial f (t) = Pn (t) of degree n, a spline satisfies s 4 [ f ](t) ≡ f (t), then it is said that the spline s 4 [ f ] restores polynomials of degree n and its approximation order is n + 1. It is well-known that cubic interpolating splines restore cubic polynomials, thus it has the approximation order 4.
6.2 Local Cubic Splines
87
Definition 6.3 A local cubic spline, whose approximation order is 4, is referred to as a quasi-interpolating local spline.
6.2.1 Simplest Cubic Splines Assume that the discrete-time signal f consists of samples of a function f (t) on a def non-uniform grid t = {t[k]}, that is, f = f [k] = f (t[k]) . In order to obtain the simplest cubic spline s04 [ f ](t) on the grid f which approximates the function f (t), def
the coefficients in Eq. (6.4) should be chosen to be q0 [ν] = f [ν]. Thus, the spline is represented by k f [ν + 2] b¯ 4 (t)[ν]. (6.5) s04 [ f ](t) = ν=k−3
For the computation of the spline’s values s04 [ f ](t), as t ∈ [t[k], t[k + 1]], four grid samples f [k − 1], f [k], f [k + 1] and f [k + 2] are needed. The spline’s values are computed by the MATLAB function lsp0_NU. Theorem 6.1 was proved by I. J. Schoenberg in [9]: Theorem 6.1 ([9]) The spline s04 [ f ](t) restores linear functions and it is variationdiminishing. It means that for t ∈ [t[k], t[k + 1]], s04 [1](t) =
k ν=k−3
b¯ 4 (t)[ν] ≡ 1, s04 [t](t) =
k
(ν + 2) b¯ 4 (t)[ν] = t,
ν=k−3
and for every linear function L(t) = ct + d and interval [α, β], the difference s04 [ f ](t) − L(t) has no more sign variations on the interval [α, β] than what the difference f (t) − L(t) has. In addition, the shape-preserving property is inherent to splines s04 [ f ](t) ([4]).1 Due to these properties, the splines s04 [ f ](t) have a smoothing capability. For the computation of the spline’s s04 [ f ](t) values at the interval [t[k], t[k + 1]], four grid samples f [k − 1], f [k], f [k + 1] and f [k + 2] are needed. Therefore, the spline can be computed in real time with a delay of one sample. Consequently, these splines can be utilized for real-time approximation and smoothing of signals from nonuniformly-spaced samples.
1 This
means preservation of monotonicity and convexity of a given data.
88
6 Local Splines on Non-uniform Grid
6.2.2 Quasi-interpolating Cubic Splines 6.2.2.1
B-Spline Representation of Quasi-interpolating Cubic Splines
Apparently, cubic splines are able to restore polynomials of degree not exceeding three. This approximation order 4 is provided by splines that interpolate the signal f on the grid t = {t[k]} [6]. To derive the coefficients q[ν] in Eq. (6.4) for the spline which interpolates f at some interval, a system of linear equations with a three-diagonal matrix should be solved (see, for example, [4, 11]). However, the approximation order 4 can be achieved by a local spline which uses six grid samples f [k − 2], . . . , f [k + 3] for computation of the spline’s values at def the interval (t[k], t[k + 1]). Recall that h[ν] = t[ν + 1] − t[ν] is a step of the grid t. Denote by −(h[k])2 −(h[k − 1])2 def , β1 [k] = , 3 h[k − 1] (h[k − 1] + h[k]) 3 h[k] (h[k − 1] + h[k])
def
β−1 [k] =
def
β0 [k] = 1 − β−1 [k] − β1 [k].
(6.6)
Proposition 6.1 If the coefficients in Eq. (6.4) are chosen as def
q1 [ν] = β−1 [ν] f [ν − 1] + β0 [ν] f [ν] + β1 [ν] f [ν + 1], then the spline s14 [ f ](t) =
q1 [ν + 2] b¯ 4 (t)[ν]
ν∈Z
restores cubic polynomials. For computation of the spline’s values s14 [ f ](t), t ∈ [t[k], t[k + 1]], six grid samples f [k − 2], . . . , f [k + 3] are needed. def
It is proved by direct computation of the spline’s values for the functions f (t) = t r , r = 0, 1, 2, 3. Define the compactly supported splines
L 4 (t)[k] = β−1 [k + 1] b¯ 4 (t)[k + 1] + β0 [k] b¯ 4 (t)[k] + β1 [k − 1] b¯ 4 (t)[k − 1]. (6.7) The spline L 4 (t)[k] is supported on the interval (t[k − 1], t[k + 5]). Then, a quasiinterpolating spline can be represented in a form similar to Eq. (6.5): def
s14 [ f ](t) =
k+1 ν=k−4
f [ν + 2] L 4 (t)[ν].
(6.8)
6.2 Local Cubic Splines
89
Uniform Grids If the grid t is uniform: t[k] = hk, k ∈ Z, then it is advisable to use the centered B-splines 4 def 1 k 4 Bh4 (t) = (−1) (t − (k − 2)h)3+ k 6h 3 k=0 Grid samples of the centered B-spline Bh4 (t) are given in Table 6.1. In this case, the quasi-interpolating spline is represented by S14 [ f ](t) =
k+3
f [ν] L 4h (t − hν), t ∈ [kh, (k + 1)h],
(6.9)
ν=k−2
where def
L 4h (t) =
1 −Bh4 (t − h) + 8Bh4 (t) − Bh4 (t + h) . 6
(6.10)
The spline L 4h (t) is supported on the interval (−3h, 3h). Grid samples of the spline L 4h (t) are given in Table 6.2. In the rest of this chapter and in Chap. 7, we deal exclusively with the quasiinterpolating splines. Therefore, the lower indices are dropped and we denote def s 4 [ f ](t) = s14 [ f ](t). 6.2.2.2
Computation of Quasi-interpolating Cubic Splines
We present a simple algorithm to compute the spline’s values at the interval (t[k], t[k + 1]), provided the samples f [k − 2], . . . , f [k + 3] are available. Originally, it is introduced in [13]. An extended version of the scheme, which includes extrapolation of the spline beyond the available grid, is presented in [12]. The algorithm is based on the relation between the splines s 4 [ f ](t) and cubic interpolation polynomials.
Table 6.1 Grid samples of the spline Bh4 (t) −3/2h
−h
−1/2h
0
1/2h
h
3/2h
1/48
1/6
23/48
2/3
23/48
1/6
1/48
Table 6.2 Grid samples of the spline L 4h (t) −5/2h
−2h
−3/2h
−h
−1/288 −1/36 −15/288 1/9
−1/2h
0
160/288 5/6
1/2h
h
160/288 1/9
3/2h
2h
−15/288 −1/36
5/2h −1/288
90
6 Local Splines on Non-uniform Grid
The Newton form of the cubic polynomial P3 (t)[k], which interpolates the function f (t) at the points t[k − 1], t[k], . . . , t[k + 2], is represented by P3 (t)[k] = f [k − 1] + f [k − 1, k](t − t[k − 1]) + f [k − 1, k, k + 1] (t − t[k − 1]) (t − t[k]) + f [k − 1, k, k + 1, k + 2] (t − t[k − 1]) (t − t[k]) (t − t[k + 1]).
(6.11)
def
Denote the fourth-order DD by d4 (t) = f [t, k − 1, k, k + 1, k + 2]. The reminder term of the interpolation is def
R3 (t) = f (t) − P3 (t)[k] = d4 (t) 3 [k − 1](t),
(6.12)
where the polynomial m [k](t) is defined in Eq. (6.1). The grid samples R3 (t[ν]) of the reminder term are zero for ν = k − 1, k, k + 1, k + 2. For ν = k − 2, k + 3, we have R3 (t[k − 2]) = d4 (t[k − 2]) 3 [k − 1](t[k − 2]), R3 (t[k + 3]) = d4 (t[k + 3]) 3 [k − 1](t[k + 3]). The spline s 4 [ f ](t) restores the polynomial P3 (t), therefore, s 4 [ f ](t) = s 4 [P3 ](t) + s 4 [R3 ](t) = P3 (t) + s14 [R3 ](t) = P3 (t) + R3 (t[k − 2]) L 4 (t)[k − 4] + R3 (t[k + 3]) L 4 (t)[k + 1] = P3 (t) + β−1 [k − 1] R3 (t[k − 2]) b¯ 4 (t)[k − 3] + β1 [k + 2] R3 (t[k + 3]) b¯ 4 (t)[k],
where the splines L 4 (t)[k] are defined in Eq. (6.7). By substituting values of β j [·] from Eq. (6.6), R3 (t[·]) from Eq. (6.12) and b¯ 4 (t)[·] from Eq. (6.3) (see Chap. 6 in [3] for more details), we get the following representation of the spline s 4 [ f ](t): Proposition 6.2 Assume that t = t[k] + h[k] τ, τ ∈ [0, 1]. Then, the cubic spline s 4 [ f ](t), which restores cubic polynomials, is expressed as follows s 4 [ f ](t) = P3 (t) + F[k − 1] (1 − τ )3 + F[k] τ 3 ,
(6.13)
where the interpolating polynomial P3 (t) is presented in Eq. (6.11) and the coefficients F[k] are def
F[k] = − f [k − 1, k, k + 1, k + 2, k + 3]
h[k]2 h[k + 1]2 (t[k + 3] − t[k − 1]) . 3 (h[k + 1] + h[k]) (6.14)
If the grid g is uniform, t[k] = h k, k ∈ Z, and t = h (k + τ ), τ ∈ [0, 1), then the spline s 4 [ f ](t), is represented by
6.2 Local Cubic Splines
91
Δ2 [f][k − 1] (1 + τ ) τ 2 Δ4 [f][k − 1] τ 3 + Δ4 [f][k − 2] (1 − τ )3 Δ3 [f][k − 1] (1 + τ ) τ (τ − 1) − . + 6 36
s 4 [ f ](t) = f [k − 1] + Δ[f][k − 1] (1 + τ ) +
For computation of the spline’s values s 4 [ f ](t) at the interval [t[k], t[k + 1]], six grid samples f [k − 2], f [k − 1], f [k], f [k + 1], f [k + 2] and f [k + 3], are needed. Thus, the spline can be computed in real time with a delay of two samples.
6.2.2.3
Approximation Properties of Quasi-interpolating Cubic Splines
Approximation properties of the spline s4 [ f ] are close to the properties of the cubic spline si4 [ f ] which interpolates the function f (t) on the grid t such that si4 [ f ](t[k]) = f (t[k]) = f [k]. Like interpolating splines, the splines s4 [ f ] restore cubic polynomials. The explicit spline’s representation given in Eq. (6.13) opens a way to establish sharp estimations of the spline s4 [ f ] approximation accuracy. def def ¯ = maxν=k−2,...,k+2 h[ν] and I [k] = [t[k − 2], t[k + 3]]. Denote h[k] Theorem 6.2 For t ∈ [t[k], t[k + 1], the following error estimation holds ¯4
f (t) − s 4 [ f ](t) ≤ 35h max | f [t, k − 1, k, k + 1, . . . , k + 2]| . t∈[t[k],t[k+1]] 48 t∈I [k] (6.15) max
If the function f (t) belongs to C 4 [I [k]], then for t ∈ [t[k], t[k + 1]] , t = t[k] + h[k] τ , we have 4 ¯
f (t) − s 4 [ f ](t) ≤ 35 (h[k]) max f (4) (t) . t∈[t[k],t[k+1]] 1152 t∈I [k]
max
(6.16)
If the grid t is uniform, at least locally, which means that h[ν] = h for ν = k − 2, . . . , k + 2, then 4
f (t) − s 4 [ f ](t) ≤ 35 h max f (4) (t) ≈ 0.0304 h 4 max f (4) (t) . t∈[t[k],t[k+1]] t∈I [k] 1152 t∈I [k] (6.17) 35/1152 is the least possible constant in the inequality at Eq. (6.17).
max
Proof As before, τ = (t − t[k])/ h[k] ∈ [0, 1) and d4 (t) = f [t, k − 1, k, k + 1, . . . , k + 2]. By using Eqs. (6.13) and (6.12), we can represent the spline approximation remainder term as follows: def
ρ(t) = f (t) − s[ f ](t) = f (t) − P3 (t)[k] − F[k − 1] (1 − τ )3 − F[k] τ 3 = α d4 (t) + β d4 (t[k + 3]) + γ d4 (t[k − 2]),
92
6 Local Splines on Non-uniform Grid
where the coefficients are α = ω3 [k − 1](t), β = χ [k] τ 3 , γ = χ [k − 1] (1 − τ )3 , (h[k])2 (h[k + 1])2 (t[k + 3] − t[k − 1]) . χ [k] = 3 (t[k + 2] − t[k]) The coefficients α, β, γ are non-negative, thus the intermediate value theorem2 implies that ρ(t) = d4 (ϑ) H (τ ), where ϑ ∈ (t[k − 2], t[k + 3]) and def
H (τ ) = α + β + γ = (h[k])2 (h[k + 1] + h[k](1 − τ ))(h[k − 1] + h[k]τ ) τ (1 − τ ) (h[k + 1])2 (t[k + 3] − t[k − 1]) 3 (h[k − 1])2 (t[k + 2] − t[k − 2]) τ + (1 − τ )3 3 (h[k + 1] + h[k]) 3 (h[k] + h[k − 1]) 2 35 ¯ 4 h . ≤ h¯ 4 (2 − τ )(1 + τ )τ (1 − τ ) + (τ 3 + (1 − τ )3 ) ≤ 3 48
+
Consequently, for t ∈ [t[k], t[k + 1] we have the estimation |ρ(t)| ≤
35h¯ 4 48
max
ϑ∈(t[k−2],t[k+3])
| f [ϑ, k − 1, k, k + 1, . . . , k + 2]| .
Equation (6.16) follows from Eq. (6.2). If h[ν] = h for ν = k − 2, . . . , k + 2 then 2 3 35 4 ≤ τ + (1 − τ )3 h , H (τ ) = h 4 (2 − τ )(1 + τ )τ (1 − τ ) + 3 48 which implies Eq. (6.17). In this case, when τ = 1/2, the function H (1/2) = 35/48 h 4 . Therefore, 35/1152 is the least possible constant in Eq. (6.17). The estimate in Eq. (6.17) is sharp in the sense that it becomes an identity for the function f (t) = t 4 when t = h(k + 1/2). Note that the estimates in Eqs. (6.15)– (6.17) are local. It means that the estimates on a certain interval depend only on the function’s behavior in a close vicinity of this interval. The sharp estimate in Eq. (6.17) for the uniform grid (non-local) was established in [7] by a technique different from the one used in the proof of Theorem 6.2. The inequality in Eq. (6.15) makes it possible to establish sharp estimates of the approximation errors for functions from the classes C m [I [k]], m < 4. In the case when the available samples f [k] are noisy, the estimation in Eq. (6.15) enables us to evaluate the noise contribution into the approximation error. The splines s4 [ f ] can be utilized for real-time (with a delay) approximation and smoothing of signals from (non-)uniformly placed samples. The computations are reduced to calculation of either the divided (for non-uniform grids) a function f (t) is continuous on the interval [a, b] and α and β are real numbers with the same sign, then there exists a point c ∈ [a, b] such that α f (a) + β f (b) = (α + β) f (c). 2 If
6.2 Local Cubic Splines
93
or the finite (for uniform grids) differences up to the fourth orders. In order to get rid of the delay for real-time computations and to construct the quasi-interpolating spline on limited intervals, the splines are extended to the boundaries of the sampling intervals.
6.2.2.4
Quasi-interpolating Cubic Splines on Finite Intervals
Typically, only a finite number of samples f [ν] = f (t[ν]), ν = 0, 1, . . . , N , of the function f (t) are available. At the inner interval [t[2], t[N − 2]], the representation of the spline s 4 [ f ](t) given in Eq. (6.13) is valid. Theorem 6.3 provides a smooth extension of the spline to the boundaries of the sampling interval. As before, P3 (t)[k] denotes the polynomial which interpolates the function f (t) at the points {t[k − 1], . . . , t[k + 2]}. Theorem 6.3 ([12]) The function ⎧ F[1] 3 as t ∈ [t[0], t[2]]; ⎨ P3 (t)[1] + h[1]3 (t − t[1])+ , def 4 as t ∈ [t[2], t[N − 2]]; s¯ [ f ](t) = s [ f ](t), ⎩ F[N −3] 3 P3 (t)[N − 2] + h[N (t[N − 1] − t) , as t ∈ [t[N − 2], t[N ]], 3 + −2] (6.18) is a cubic spline that quasi-interpolates the function f (t) on the finite grid t N = {t[ν]} , ν = 0, 1, . . . , N . The coefficients F[k] are defined in Eq. (6.14). Proof The polynomial P3 (t)[1] interpolates the function f (t) at the points {t[0], . . . , t[3]}. An additional grid point t[−1] < t[0] is introduced and the function f (t) is provisionally extended to the interval [t[−1], t[0]] by f (t) = P3 (t)[1]. def Then, f [−1] = P3 (t[−1])[1]. The remainder term of interpolation R3 (t) = f (t) − P3 [1](t) vanishes at the points t[k], k = −1, . . . , 3. Then, due to Eq. (6.13), for t = t[1] + h[1]τ , the spline is s 4 [R3 ](t) = F[0] (1 − τ )3 + F[1] τ 3 . Equation (6.14) implies that F[0] = C f [−1, 0, 1, 2, 3]. Here f [−1, 0, 1, 2, 3] is a fourth-order DD of the cubic polynomial P3 and, as such, is zero. Thus, for t ∈ [t[1], t[2]], the spline def s¯ [ f ](t) = P3 (t)[1] + F[1] (t − t[1])3 / h[1]3 . Thus, for t ∈ [t[1], t[2]], the spline def s¯ [ f ](t) = P3 (t)[1] + F[1] (t − t[1])3 / h[1]3 . To extend the spline to the interval [t[0], t[1]], we note that s¯ [ f ](t[1]) = j j P3 (t[1])[1] and the one-sided derivatives ∂+ s¯ [ f ](t[1]) = ∂+ P3 (t[1])[1], j = 1, 2. def
Therefore, it is natural to define the spline on the interval [t[0], t[1]] by s¯ [ f ](t) = P3 (t)[1], thus obtaining the first relation in Eq. (6.18). Note that the additional grid point t[−1] does not enter into this relation, therefore the spline s¯ [ f ](t) does not depend on the choice t[−1] < t[0]. The last relation in Eq. (6.18) is derived similarly.
94
6 Local Splines on Non-uniform Grid
Remark 6.1 Five grid samples are needed for the computation of the spline s¯ [ f ](t) at the interval [t[1], t[2]] and only four samples for the interval [t[0], t[1]]. A similar situation takes place at the intervals [t[N − 2], t[N − 1]] and [t[N − 1], t[N ]]. Remark 6.2 The spline s¯ [ f ](t) defined by Eq. (6.18) interpolates the function f (t) at the points t[0], t[1] and t[N − 1], t[N ]. At the intervals [t[0], t[1]] and [t[N − 1], t[N ]], the spline s¯ [ f ](t) coincides with the interpolating polynomials P3 (t)[1] and P3 (t)[N − 2], respectively. def
Denote I [0] = [t[0], t[k + 4]]. Theorem 6.4 ([12]) For t ∈ [t[1], t[2]], the following error estimate is true: √ h¯ 4 (16 − 3 2) max | f (t) − s¯ [ f ](t)| ≤ max | f [0, 1, 2, 3, t]| , √ t∈[t[1],t[2]] t∈I [0] 12 2 where h¯ = maxν=0,1,2,3 h[ν]. If a function f (t) ∈ C 4 [I [0]], then for t ∈ [t[1], t[2]] we have √
h¯ 4 (16 − 3 2) max | f (t) − s¯ [ f ](t)| ≤ max f (4) (t) . √ t∈[t[1],t[2]] t∈I [0] 288 2 def
If the grid t is uniform, at least locally (it means that h[ν] = h for ν = 0, 1, 2, 3), then
max
t∈[t[1],t[2]]
| f (t) − s¯ [ f ](t)| ≤
√ h 4 (16 − 3 2) max | f (4) (t)| ≈ 0.0497 h 4 max | f (4) (t)|. √ t∈I [0] t∈I [0] 288 2
(6.19) √ √ The constant (16 − 3 2)/288 2 ≈ 0.0289 is the least possible in the inequality at Eq. (6.19). For t ∈ [t[0], t[1]], the following error estimate is true: max
t∈[t[0],t[1]]
| f (t) − s¯ [ f ](t)| ≤
h¯ 4 max | f (4) (t)|. 24 t∈I [0]
The estimate is sharp even for the uniform grid. It becomes an identity for the function f (t) = t 4 . Similar estimates hold at the interval [t[N − 2], t[N ]].
6.2.2.5
Extrapolation of Signals Using Cubic Splines
Assume that a continuous function f (t) is supported on the interval [t[0], t[N + 1]] but only the samples { f [ν] = f (t[ν])} , ν = 0, . . . , N , are available. In order to def approximate the function f (t) on the interval Ir = [t[N ], t[N + 1]] and, in particular, to “predict” the sample f [N + 1], we extend the quasi-interpolating spline s¯ [ f ](t) constructed in Theorem 6.3 to the interval Ir .
6.2 Local Cubic Splines
95
An apparent way to extend the spline s¯ [ f ](t), which coincides with the polynomial P3 (t)[N − 2] on the interval [t[N − 1], t[N ]], is to define s[ f ](t) = P3 (t)[N − 2] as t ∈ Ir . But, in order to achieve better “prediction”, we apply the following correction. Denote def
Cr [ f ] = (t[N + 1] − t[N − 3]) (t[N + 1] − t[N − 2]) (t[N + 1] − t[N − 1]) h[N ], Ar [ f ] = Cr [ f ] f [N − 4, N − 3, N − 2, N − 1, N ]/(h[N ])3
Define the extended spline sr [ f ](t) by def
sr [ f ](t) =
s¯ [ f ](t), as t ∈ [t[0], t[N ]]; P3 (t)[N − 2](t) + Ar [ f ] (t − t[N ])3 , as t ∈ Ir .
The function sr [ f ](t) is a cubic spline because it is piece-wise cubic polynomial and continuous together with its first and second derivatives at the point t[N ]. def Denote h r = maxν=N −3,...,N h[ν]. Proposition 6.3 If the fifth-order divided difference satisfies | f [N − 4, N − 3, N − 2, N − 1, N , N + 1]| ≤ F, then the extrapolation error at the point t[N + 1] is estimated by | f (t[N + 1]) − sr [ f ](t[N + 1])| ≤ 120F h r5 . If the function f (t) has a continuous fifth-order derivative at the interval [t[N − 4], t[N + 1]], then the estimation | f (t[N + 1]) − sr [ f ](t[N + 1])| ≤
max
t∈[t[N −4],t[N +1]]
| f (5) (t)| |h r5
is true. In particular, if f (t) coincides with a fourth-degree polynomial on the interval [t[N − 4], t[N + 1]], then sr [ f ](t[N + 1]) = f (t[N + 1]). A similar design is carried out at the left hand side of the sampling interval. The computation of the cubic splines s4 [ f ] on limited intervals from samples of a signal f and so also the spline extrapolation beyond the sampling interval are executed by the MATLAB function lspC_PL_e1U. The MATLAB function lspC_PL_eU does the same simultaneously for an array of row signals. Figure 6.2, which is produced by the MATLAB code poly_examU, illustrates the spline extrapolation. The function f (t) is a fourth-degree polynomial. The spline is constructed using 6 randomly spaced grid points. The first and last samples were taken at t[0] = 1.1213 and t[N ] = 9.9772 and the spline was extrapolated to t[−1] = −5 and t[N + 1] = 15. The spline exactly “predicted” the samples f [−1] and f [N + 1], unlike the interpolating polynomials P3 (t)[1](t) and P3 (t)[N − 2](t).
96
6 Local Splines on Non-uniform Grid
Fig. 6.2 Extrapolation of the spline s4 [ f ] from six grid points denoted by bars. Dotted line denotes the original function (fourth-degree polynomial), dash-dot lines denote the cubic interpolating polynomials and solid line denotes the spline s[ f ](t)
6.2.2.6
Remarks on the Real-Time Cubic Spline Computation
Due to the fact that no more than 6 adjacent grid samples are needed for the computation of the spline s4 [ f ] at a point t, the spline can be computed in real time. It means that the spline follows the samples that arrive one after another at random times. Assume that the samples of a function f (t), { f [k]} , k = 0, . . . , N , are available, where f [k] = f (t[k]). Then, the spline s4 [ f ] can be designed on the interval [t[0], t[N ]] in line with the scheme described in Sects. 6.2.2.2 and 6.2.2.4 in the following way: • At the inner subinterval [t[2], t[N − 2]], the spline is constructed by a regular 6samples algorithm from Sect. 6.2.2.2, while at the intervals [t[0], t[2]] and [t[N − 2], t[N ]] the 5- and 4-samples extension formulas from Sect. 6.2.2.4 are utilized, respectively. • When the sample f [N + 1] = f (t[N + 1]) arrives, the spline at the interval [t[N − 2], t[N − 1]] is recomputed by utilizing 6 samples { f [k]} , k = N − 4, . . . , N + 1. The spline at the interval [t[N − 1], t[N ]], which was constructed by using 4 samples { f [k]} , k = N − 3, . . . , N , is recomputed with the new set of 5 samples { f [k]} , k = N − 3, . . . , N + 1. The spline is extended to the interval [t[N ], t[N + 1]] by using the samples { f [k]} , k = N − 2, . . . , N + 1. The spline remains unchanged at the interval [t[0], t[N − 2]]. • When the sample f [N + 2] = f (t[N + 2]) arrives, the spline at the interval [t[N − 1], t[N ]] is recomputed by utilizing 6 samples { f [k]} , k = N − 3, . . . , N + 2. The spline at the interval [t[N ], t[N + 1]], which was constructed by using 4 samples { f [k]} , k = N − 2, . . . , N + 1, is recomputed with the new set of 5 samples { f [k]} , k = N − 2, . . . , N + 2. The spline is extended to the interval [t[N + 1], t[N + 2]] by using samples { f [k]} , k = N − 1, . . . , N + 2. The spline remains unchanged at the interval [t[0], t[N − 1]].
6.2 Local Cubic Splines
97
Remark 6.2.1 Note that the arrival of two additional samples f [N + 1] and f [N + 2] leads to re-computation on the interval [t[N − 2], t[N ]] of the initial spline, which was defined at [t[0], t[N ]], while the spline remains unchanged on the interval [t[0], t[N − 2]]. This fact substantiates our claim that the spline follows the samples arrivals. The above scheme is illustrated in Example 1. Example 1: Illustration of real-time spline computation: Figure 6.3, which is produced by the MATLAB code real_spl_exampU, illustrates the scheme for real-time spline computation when samples of a function to be approximated by the spline arrive sequentially at random times. Initially, the spline was designed on the interval [t[0], t[N ]] where, in this example, N = 9. In Fig. 6.3, it is shown by the dotted curve. On the sample f [N + 1] arrival, the spline is extended to the interval [t[N ], t[N + 1]]. In the process, the spline is recomputed on the interval [t[N − 2], t[N ]]. The extended spline is denoted by a dashed curve. On the sample f [N + 2] arrival, the spline is extended to the interval [t[N + 1], t[N + 2]]. In the process, the spline is updated on the interval [t[N − 1], t[N + 1]]. The extended spline is denoted by a solid line.
6.2.3 Two-Dimensional Cubic Splines Assume that a 2D function f (x, y) is sampled on a rectangular grid def
G = {G[i, j] = (x[i], y[ j])} , i = 1, . . . , N , j = 1, . . . , M,
Fig. 6.3 Red dotted line: spline s 4 [ f ](t) computed on the interval [t[0], t[N ]]. Dashed blue line: the spline is extended to the interval [t[N ], t[N + 1]]. Solid black line: the spline is extended to the interval [t[N + 1], t[N + 2]]
98
6 Local Splines on Non-uniform Grid
such that f [i, j] = f (G[i, j]). A bicubic spline S 4 (x, y) on the grid G is a function such that for a fixed y = y¯ ∈ [y[1], y[M]], the function S 4 (x, y¯ ) is a def 1D cubic spline constructed on the grid gx = {x[i]} , i = 1, . . . , N . For a fixed ¯ y) is a 1D cubic spline constructed on the x = x¯ ∈ [x[1], x[N ]], the function S 4 (x, def grid g y = {y[ j]} , j = 1, . . . , M. Apparently, the spline S 4 (x, y) consists of pieces of 2D cubic polynomials, which are linked to each other at the grid lines such that the second-order partial derivatives remain continuous on the whole rectangular domain. Values of the spline S 4 [ f ](x, y), which quasi-interpolates the function f on the grid G, can be easily computed using the 1D algorithms described in Sect. 6.2.2. Assume that x˜ ∈ [x[i], x[i + 1]] and y˜ ∈ [y[ j], y[ j + 1]]. Then, computation of ˜ y˜ ) is executed by two steps. the spline’ s value S 4 [ f ](x, 1. Compute values of six 1D splines s 4 [ f κ ](x), κ = j − 2, . . . , j + 3, at the point x = x, ˜ using 6 grid points x[ν], ν = i − 2, . . . , i + 3 and 36 samples f [ν, κ], ν = i − 2, . . . , i + 3, κ = j − 2, . . . , j + 3. It can be done simultaneously for all the six splines s 4 [ f κ ](x), κ = j − 2, . . . , j + 3, by the MATLAB function lspC_PL_eS. def 2. Using six computed values ϕ[κ] = s 4 [ f κ ](x), ˜ κ = j − 2, . . . , j + 3,, which are related to the grid points y[κ], ν = i − 2, . . . , i + 3, construct the spline ˜ and compute its value at the point y = y˜ : s 4 [s(x]( ˜ y˜ ) = S 4 [ f ](x, ˜ y˜ ). s 4 [s(x](y) Figure 6.4 illustrates this procedure. Values of the local bi-cubic quasi-interpolating spline are computed by the MATLAB function lspC_PL2D_nU. The construction of the spline on a rectangle from samples on a rectangular grid is implemented by the MATLAB function lspC_PL2D_arrU. Example: Figure 6.5 illustrates approximation of the “Lena” image by the local bicubic quasi-interpolating spline on an adapted grid, which is displayed in Fig. 6.6.
Fig. 6.4 Scheme of computing the 2D quasi-interpolating cubic spline S 4 [ f ](x, y) on a rectangular grid
6.2 Local Cubic Splines
99
Fig. 6.5 Left: Original “Lena” image comprising 512 × 512 pixels. Right: The image approximated by a quasi-interpolating bi-cubic spline from an adapted grid
Fig. 6.6 Adapted rectangular grid for “Lena” image
Both figures are produced by the MATLAB code lena_examU. The image on the adapted grid comprises 82663 pixels versus 262144 pixels in the original image.
100
6 Local Splines on Non-uniform Grid
6.3 Local Quadratic Splines The quadratic B-spline on the grid t = {t[k]} is: def b¯ 3 (t)[k] = −(t[k + 3] − t[k])
3 (t − t[k + ν])2+ , w3 [k](t[k + ν]) ν=0
where the function n [k](t) is defined in Eq. (6.1). The B-spline b¯ 3 (t)[k] is supported on the interval (t[k], t[k + 3]), where it is positive. It is a C 1 function such that at the intervals [t[l], t[l + 1]) it coincides with quadratic polynomials. The grid points {t[k], . . . , t[k + 3]} are the nodes of the B-spline b¯ 3 (t)[k]. Let t = t[κ] + τ h[κ]. τ ∈ [0, 1). Then
b¯ 3 (t)[k] =
⎧ h[k] τ 2 , ⎪ ⎪ ⎨ h[k]+h[k+1]
if κ = k;
(h[k]+h[k+1] τ )
2
h[k](h[k]+h[k+1]) ⎪ ⎪ ⎩ h[k+2] (1−τ )2 h[k+2]+h[k+1]
−
(t[k+3]−(t[k])h[k+1] τ h[k](h[k+2]+h[k+1])
2
, if κ = k + 1; if κ = k + 2.
The B-spline b¯ 3 (t)[k] is supported on the interval (t[k], t[k + 3]), where it is strictly positive. Figure 6.7, which is produced by the MATLAB code bspl_NQU_exam using the MATLAB function bsp_NU, displays the quadratic B-splines versus cubic B-splines at different locations on a non-uniform grid.
6.3.1 Design of Quadratic Quasi-interpolating Splines Figure 6.7 shows that maxima of the cubic B-splines are achieved near their central nodes t[k + 2]. This is the reason why the nodes of cubic splines approximating Fig. 6.7 Quadratic B-splines (solid lines) versus cubic B-splines (dash-dot lines) on the grid t = {0, 0.5, 1.3, 2, 3.1, 3.7, 4.5}
6.3 Local Quadratic Splines
101
a function f from its samples { f [ν]} coincide with the sampling-grid points. In particular, the simplest cubic spline approximating f is given in Eq. (6.5). On the contrary, maximum of the quadratic B-splines designed on the on the interval [t[k], t[k + 3]] are located close to the middle of the central interval [t[k + 1], t[k + 2]]. Therefore, it is reasonable to use two separate grids: the nodes’ grid t = {t[k]} and the sampling grid, which we denote by g = {g[k]}, that is def f [k] = f (g[k]). We assume that the sampling grid g = {g[k]} is related to the grid t = {t[k]} such that g[k] = (t[k] + t[k + 1])/2. Remark 6.3.1 In cases when the sampling grid is given, it is not always possible, except for the uniform grids, to define the nodes’ grid t = {t[k]} such that the relation g[k] = (t[k] + t[k + 1])/2 is satisfied. Therefore, in such cases, it is preferable to use cubic splines, for which the nodes’ and the sampling grids are the same. However, when the grid is uniform, usage of quadratic splines can be advantageous over the cubic splines due to the super-convergence property to be established in Sect. 6.3.3. The quadratic splines on the grid t which interpolate f on the sampling grid g restore quadratic polynomials, thus they have the approximation order 3. This approximation order 3 can be achieved by local quadratic splines that use 5 grid samples to compute the spline’s value at a certain point. Such splines are regarded as quasi-interpolating splines.
6.3.1.1
B-Spline Representation of Quadratic Quasi-interpolating Splines
For t ∈ [t[m] ≤ t, t[m + 1]), the quadratic spline whose nodes are located on the grid t is s(t) =
k
q[k] b¯ 3 (t)[k] =
m
q[k] b¯ 3 (t)[k].
k=m−2
For the spline to approximate a function f (t) from its samples on the grid g, the coefficients will be chosen in the form: q[k] = σk [0] f [k + 1] + σk [1] f [k + 1, k + 2] + σk [2] f [k, k + 1, k + 2] and the coefficients σk [ν] will be derived in a way that the restoration of quadratic polynomials will be achieved. Monomials up to the second degree can be represented via the quadratic B-splines according to Marsden formulas [8]: 1=
k
b¯ 3 (t)[k], t =
k
g[k + 1] b¯ 3 (t)[k], t 2 =
k
t[k + 1] t[k + 2] b¯ 3 (t)[k].
102
6 Local Splines on Non-uniform Grid
Hence, we derive the following system: σk [0] = 1, σk [0] g[k + 1] + σk [1] = g[k + 1]k0 =⇒ σk [1] = 0, σk [0] g[k + 1]2 + σk [2] = t[k + 1] t[k + 2] =⇒ σk [2] = t[k + 1] t[k + 2] − g[k + 1]2 = −
h[k + 1]2 . (6.20) 4
The first two equations of the system in Eq. (6.20) imply that the spline s03 [
f ](t) =
m
f [k + 1] b¯ 3 (t)[k]
(6.21)
k=m−2
restores the first-degree polynomials. The third equation implies that the spline s 3 [ f ](t) =
m
h[k + 1]2 q[k] b¯ 3 (t)[k], q[k] = f [k + 1] − f [k, k + 1, k + 2], 4 k=m−2
restores quadratic polynomials. Thus, s3 [ f ] is a quasi-interpolating spline. Denote h[k + 1]2 def . A[k] = h[k] + 2h[k + 1] + h[k + 2] Then, the coefficients q[k] can be explicitly represented by q[k] =
1
αl [k] f [k + l], α−1 [k] = −
l=−1
α1 [k] = −
A[k] , (h[k] + h[k + 1]
A[k] , α0 [k] = 1 − α−1 [k] − α1 [k]. (h[k + 2] + h[k + 1]
(6.22)
By using Eq. (6.22), we represent the spline s3 [ f ] in a way similar to Eq. (6.21). For t ∈ [t[m] ≤ t, t[m + 1]), the spline is s 3 [ f ](t) =
m+1
f [k + 1] L 3 (t)[k],
k=m−3
L (t)[k] = α−1 [k + 1] b¯ 3 (t)[k + 1] + α0 [k] b¯ 3 (t)[k] + α1 [k − 1] b¯ 3 (t)[k − 1]. 3
def
(6.23) The spline L3 [k] is supported on the interval (t[k − 1], t[k + 4]). Therefore, if t ∈ [t[m], t[m + 1]), t = t[m] + τ h[m], then Eq. (6.23) comprises five grid samples: f [m − 2], f [m − 1], f [m], f [m + 1], and f [m + 2]. Figure 6.8, which is produced
6.3 Local Quadratic Splines
103
Fig. 6.8 Quadratic splines L3 [k] on the grid t = {0, 0.5, 1.3, 2, 3.1, 3.7, 4.5, 5.5, 5.9, 6.6}
by the MATLAB code L3pl_NU_exam using the MATLAB function L3sp_NU, displays the splines L3 [k].
6.3.1.2
Relation of Quadratic Quasi-Interpolating Splines to Interpolating Polynomials
Denote by P2 (t)[m] the quadratic polynomial interpolating a function f (t) at the grid points g[m − 1], g[m], g[m + 1], thus P2 (g[m + l])[m] = f [m + l], l = −1, 0, 1. The remainder term of the function f approximation is: def
def
3 (t) [m](t), ϕ 3 (t) = f [t, m − 1, m, m + 1] R2 (t) = f (t) − P2 (t)[m] = ϕ[m] 3 [m] def
3 [m](t) = (t − g[m − 1]) (t − g[m]) (t − g[m + 1]), def
R2 [m + l] = R2 (g[m + l]) = 0, l = −1, 0, 1.
(6.24) (6.25)
The spline s3 [ f ] restores quadratic polynomials, thus s 3 [ f ](t) = s 3 [P2 ](t)[m] + s 3 [R2 ](t) = P2 (t)[m] + s 3 [R2 ](t).
(6.26)
Due to Eqs. (6.23) and (6.25), when t = t[m] + h[m]τ, ; τ ∈ [0, 1], we have s 3 [R2 ](t) =
m+1
R2 [k + 1] L 3 (t)[k] = R2 [m − 2] L 3 (t)[m − 3] + R2 [m + 2] L 3 (t)[m + 1]
k=m−3
= α−1 [m − 2] R2 [m − 2] b¯ 3 (t)[m − 2] + α1 [m] R2 [m + 2] b¯ 3 (t)[m] 3 3 (g[m + 2]) τ 2 + H [m] ϕ[m] (g[m − 2])(1 − τ )2 , = G[m] ϕ[m]
where
104
6 Local Splines on Non-uniform Grid
h[m] h[m − 1] + h[m] h[m] G[m] = α1 [m] 3 [m](g[m + 2]) h[m] + h[m + 1]
H [m] = α−1 [m − 2] 3 [m](g[m − 2])
Due to Eqs. (6.22) and (6.24), 1 3 [m](g[m − 2]) = − (h[m − 2] + h[m − 1]) (h[m − 2] + 2h[m − 1] + h[m]) 8 × (h[m − 2] + 2h[m − 1] + 2h[m] + h[m + 1]) , h[m − 1]2 . α−1 [m − 2] = − (h[m − 2] + 2h[m − 1] + h[m])(h[m − 2] + h[m − 1]) Thus, H [m] =
h[m − 1]2 h[m] (h[m − 2] + 2h[m − 1] + 2h[m] + h[m + 1]) 8(h[m − 1] + h[m])
Similarly, G[m] = −
h[m + 1]2 h[m] (h[m + 2] + 2h[m + 1] + 2h[m] + h[m − 1]) . 8(h[m + 1] + h[m])
¯ Denote h[m] = maxk=m−2,...,m+2 h[k]. Then, the following inequalities hold: def
H [m] ≤
3 3 ¯ ¯ 3 h[m] 3 h[m] , |G[m]| ≤ . 8 8
(6.27)
The remainder term of the spline approximation for t = t[m] + h[m]τ, τ ∈ [0.1), is ρ(t) = f (t) − s 3 [ f ](t) = R2 (t) − s 3 [R2 ](t) 3 (t) [m](t) − H [m] ϕ 3 (g[m − 2])(1 − τ )2 − G[m], ϕ 3 (g[m + 2]) τ 2 = ϕ[m] 3 [m] [m] 1 h[m + 1] h[m − 1] 3 (t) + h[m]τ h[m] τ − + h[m](1 − τ ) = −ϕ[m] 2 2 2 3 (g[m − 2])(1 − τ )2 − G[m], ϕ 3 (g[m + 2]) τ 2 . − H [m] ϕ[m] [m]
By using inequalities from Eq. (6.27), we get the following estimation for t ∈ [t[m], t[m + 1]]: |ρ(t) ≤
3 ¯ 3 h[m] 4
max
ξ ∈[t[m−2],t[m+3]]
| f [ξ, m − 1, m, m + 1]| .
If the function f ∈ C 3 , then we have the estimation
6.3 Local Quadratic Splines
|ρ(t) ≤
105 3 ¯ h[m] 8
max
η∈[t[m−2],t[m+3]]
(3)
f (η) .
6.3.2 Extension of Splines to Boundaries and Extrapolation 6.3.2.1
Extension to Boundaries of the Sampling Interval
The extension scheme for quadratic splines is similar to the scheme used to extend cubic splines. Assume that a function f is sampled on a grid g = {g[k]} , k = 0, . . . , N . Equations (6.23) and (6.26) are valid while t ∈ [t[2], t[N − 1]]. The quadratic polynomial P2 (t)[N − 1] interpolates f at the points {g[k], k = N − 2, N − 1, N . Take some point g[N + 1] > g[N ] and provisionally extend the function f (t) by f (t) = P2 (t)[N − 1] to the interval [g[N ], g[N + 1]], thus f [N + 1] = P2 N − 1 (g[N + 1]). The remainder term R2 (t) = f (t) − P2 [N − 1](t) vanishes at the points g[k], k = N − 2, . . . , N + 1. Then, the spline s 3 [R2 ](t) = R2 [N − 3] L 3 (t)[N − 4] + R2 [N + 1] L 3 (t)[N ] 3 2 = H [N − 1] ϕ[N −1] (g[N − 3])(1 − τ ) . Consequently, the extension of s[ f ] for t = t[N − 1] + h[N − 1]τ, τ ∈ [0, 1], is defined by 3 2 s¯ 3 [ f ](t) = P2 [N − 1](t) + H [N − 1] ϕ[N −1] (g[N − 3])(1 − τ ) .
(6.28)
When t = t[N ], the variable τ = 1 and the spline s 3 [ f ](t[N ]) = P2 [N − 1](t[N ]). So also, the one-sided derivatives ∂− s 3 [ f ](t[N ]) = ∂− P2 [N − 1](t[N ]). Therefore, def it is natural to expand the spline s[ f ] onto the interval [t[N ], g[N ]] by s¯ 3 [ f ](t) = P2 [N − 1](t). Remark 6.3.2 Note that the the additional sampling point g[N + 1] > g[N ] does not participate in Eq. (6.28) and, therefore, the extended spline does not depend on its position. A similar design is implemented at the left-hand side of the sampling interval. Thus, the spline on the interval [g[0], g[N ]] is defined by s¯ 3 [ f ](t) ⎧ G[1] 3 2 if t ∈ [g[0], t[1]] ; ⎪ ⎨ P2 [1](t) + h[1]2 ϕ[1] (g[3])(t − t[1])+ , if t ∈ [t[2], t[N − 1]] ; = s[ f ](t), ⎪ ⎩ P [N − 1](t) + H [N −1] ϕ 3 2 , if t ∈ [t[N − 1], g[N ]] . (g[N − 3])(t[N ] − t) 2 2 + h[N −1] [N −1]
(6.29)
106
6 Local Splines on Non-uniform Grid
6.3.2.2
Real-Time Computation of Quadratic Splines
The real-time computation of quadratic splines slightly differs from the cubic splines computation due to the fact that the nodes’ grid t does not coincide with the sampling grid g. Assume that the samples of a function f (t) are { f [k] = f (g[k])} , k = 0, . . . , N . Then, the spline s[ f ] can be designed on the interval [t[0], t[N ]] using Eq. (6.29). To be specific, on the inner subinterval [t[2], t[N − 1]], the spline is constructed by a regular 5-samples algorithm from Sect. 6.3.1.2, while on the intervals [t[0], t[2]] and [t[N − 1], t[N ]] the 4- and 3-samples extension formulas from Sect. 6.3.2.1 are utilized. When the sample f [N + 1] = f (t[N + 1]) arrives, the spline on the interval [t[N − 1], t[N ]] is recomputed by utilizing 5 samples { f [k]} , k = N − 3, . . . , N + 1. The new node-grid point is t[n + 1] = 2g[N ] − t[N ] such that g[N ] = (t[n + 1] + t[N ])/2. The spline on the interval [t[N ], g[N ]], which was constructed by using 3 samples { f [k]} , k = N − 2, . . . , N , is recomputed with the new set of 4 samples { f [k]} , k = N − 2, . . . , N + 1 and extended to the interval [g[N ], t[N + 1]]. On the interval [t[N + 1], g[N + 1]], the spline is defined as the polynomial interpolating the samples { f [k]} , k = N − 1, . . . , N + 1. The spline remains unchanged at the interval [t[0], t[N − 1]]. When the sample f [N + 2] = f (t[N + 2]) arrives, the above operations are iterated.
6.3.2.3
Extrapolation of Signals by Quadratic Splines
Assume that a continuous function f (t) is supported on the interval [g[0], g[N + 1]], where g[N + 1] > g[N ], while only the samples { f [k] = f (g[k])} , k = 0, . . . , N , are given. Recall that at the interval [t[N − 1], g[N ]], the spline s¯ 3 [ f ] coincides with the polynomial P2 [N − 1](t). We extend the spline s¯ 3 [ f ] defined in Eq. (6.29) onto the interval Ir := [g[N ], g[N + 1]] by sr3 [ f ](t) := P2 (t)[N − 1](t) + Br [ f ] (t − g[N ])2+ , where the constant Br [ f ] is to be determined in a way that, under some regularity conditions, the difference between the spline and the sample f [N + 1] becomes def minimal. Assume for a moment that f [N + 1] is known. Denote γ [ν] = g[ν + 1] − g[ν]. The difference is ρ = f [N + 1] − sr3 [ f ](g[N + 1]) = R2 [N + 1] − Br [ f ]γ [N ]2 , R2 [N + 1] = f [N − 2, N − 1, N , N + 1] 3 [N − 2](g[N + 1]).
6.3 Local Quadratic Splines
107
We approximate the unknown DD f [N − 2, N − 1, N , N + 1] by the DD f [N − 3, N − 2, N − 1, N ] and define def
Br =
f [N − 3, N − 2, N − 1, N ] 3 [N − 2](g[N + 1]) . γ [N ]2
Then, the difference ρ becomes ρ = 3 [N − 2](g[N + 1]) ( f [N − 2, N − 1, N , N + 1] − f [N − 3, N − 2, N − 1, N ]) = − f [N − 3, N − 2, N − 1, N , N + 1] × γ [N ] (g[N + 1] − g[N − 1]) (g[N + 1] − g[N − 2]) (g[N + 1] − g[N − 3]) .
If f (t) coincides with a cubic polynomial on the interval [g[N − 3], g[N + 1]], then sr3 [ f ](g[N + 1]) = f [N + 1]. Similarly, the extrapolation of the spline to the interval Il = [(g[−1], (g[0]] is defined by def
sl3 [ f ](t) = P2 [1](t) + Bl [ f ] (g[0] − t)2+ , f [0, 1, 2, 3] 3 [0](g[−1]) Bl [ f ] = . γ [−1]2 The quadratic splines s3 [ f ] computation on limited intervals from samples of a signal f on the grid g = {g[k]} and the spline extrapolation beyond the sampling interval are executed by the MATLAB function lspQ_PL_eU. The function lspQ_PL_eU is able to do this simultaneously for an array of row signals. The nodes of the splines s3 [ f ] are located on the grid t = {t[k]} such that g[k] = (t[k] + t[k + 1])/2. The simplest quadratic splines s03 [ f ] are computed by the MATLAB function lspQ_N0U.
6.3.3 Quadratic Splines on Uniform Grids We single out the quasi-interpolating quadratic splines on uniform grids following the discussion in Remark 6.3.1. Assume that the grids t and g are uniform. Let the sampling grid points be g[k] = hk, k ∈ Z and f [k] = f (hk). Then, t[k] = h(k − 1/2). The B-splines are shifts of the centered B-spline Bh3 (t)
3 3 1 k 3 (t + h( − k))2+ . = 2 (−1) k 2h k=0 2
The quasi-interpolating quadratic spline that restores quadratic polynomials, is
108
6 Local Splines on Non-uniform Grid
Table 6.3 Grid samples of the spline L 3h (t) −2h
−3/2h
−h
−1/2h
0
1/2h
h
3/2h
2h
−1/64
−1/16
1/16
9/16
58/64
9/16
1/16
-1/16
−1/64
S 3 [ f ](t) =
k+1 ν=k−1
1 f [ν] − Δ2 f [ν − 1] 8
Bh3 (t − hν) =
1 10Bh3 (t) − Bh3 (t − h) − Bh3 (t + h) L 3h (t) = 8 ⎧ 2 −τ /16, if k ⎪ ⎪ ⎪ 2 − 2τ − 1)/16 ⎪ (12τ if k ⎨ = (−22τ 2 + 22τ + 9)/16 if k ⎪ ⎪ 2 ⎪ ⎪ (12(1 − τ ) − 2(1 − τ ) − 1)/16, if k ⎩ 2 −(1 − τ ) /16 if k
k+2 ν=k−2
f [ν] L 3h (t − hν),
(6.30) = −2; = −1; = 0; , t = h(k − 1/2 + τ ). = 1; = 2,
Grid samples of the compactly supported spline L 3h (t) are given in Table 6.3. As before, t = h(t[k] + τ ) = h(k − 1/2 + τ ), τ ∈ [0, 1). The quadratic polynomial P2 (t)[k] interpolates the function f at the grid points {h(k − 1), h(k), h(k + 1)}. The remainder term of the approximation is: R2 (t) = f (t) − P2 (t)[k] = h 3 f [t, k − 1, k, k + 1] ψ(τ ), 1 3 1 τ− τ− . ψ(τ ) := τ + 2 2 2
(6.31)
The spline approximating the function R2 (t) is S 3 [R2 ](t) = R2 [k − 2] L 3h =−
3h + hτ 2
+ R2 [k + 2] L 3h
5h + hτ − 2
R2 [k − 2] R2 [k + 2] 2 Δ3 f [k − 2] Δ3 f [k − 1] 2 (1 − τ )2 − τ = (1 − τ )2 − τ . 16 16 16 16
Since the spline S3 [ f ] restores quadratic polynomials, we have S 3 [ f ](t) = P2 (t)[k] + S 3 [R2 ](t) Δ3 f [k − 2] Δ3 f [k − 1] 2 (1 − τ )2 − τ , = P2 (t)[k] + 16 16 and the remainder term of the spline approximation is: ρ(t) := f (t) − S 3 [ f ](t) = R2 (t) − S 3 [R2 ](t) Δ3 f [k − 2] Δ3 f [k − 1] 2 (1 − τ )2 + τ . = h 3 f [t, k − 1, k, k + 1] ψ(τ ) − 16 16
6.3 Local Quadratic Splines
109
If the function f belongs to C 3 then the remainder term is h3 ρ(t) = 6
f
(3)
3 (3) 3 (3) 2 2 (ξ0 ) ψ(τ ) + f (ξ1 )τ − f (ξ−1 )(1 − τ ) , 8 8
where ξi ∈ [h(k − 2), h(k + 2)], i = −1, 0, 1, and the function ψ is defined in Eq. (6.31). Super-Convergence Property Let f (t) = t 3 . Then, f (3) (t) = 6 and the remainder term is ρ(t) = h
3
2 3 2 3 1−τ ψ(τ ) + τ − . 8 8
If t = hk ⇐⇒ τ = 1/2, then ψ(τ ) = 0 and, consequently, ρ(τ ) = 0. If t = h(k ∓ 1/2) ⇐⇒ τ = 0/1, then ψ(τ ) = ±3/8 and, consequently, ρ(τ ) = 0. Thus, at the sampling grid points {hk} and at the spline’s nodes {h(k + 1/2)} , k ∈ Z, the quadratic spline S3 [ f ] restores cubic polynomials, although, globally it restores only quadratic polynomials. We refer to this fact as the super-convergence property of the quadratic quasi-interpolating splines. This property is valuable for wavelet design. Note that cubic quasi-interpolating splines also restore cubic polynomials at grid points, but the quadratic splines do it using less grid samples than the cubic splines. In the spline-based wavelet analysis, this fact enables us to achieve the same number of vanishing moments using shorter filters compared to wavelets originating from cubic quasi-interpolating splines. Extension to Boundaries and Extrapolation Assume that only a finite number of samples f [ν] = f (hν), ν = 0, 1, . . . , N , of the function f (t) are given. The polynomials P2 [N − 1](t) and P2 [1](t) are interpolating f (t) at {(N − 2)h, (N − 1)h, N h} and at {0, h, 2h}, respectively. Then, on the interval [0, h N ], the spline S¯ 3 [ f ] is defined as follows: ⎧ ⎨ S N [ f ](t), if t ∈ [h(N − 3/2), h N ] ; S¯ 3 [ f ](t) = S 3 [ f ](t), if t ∈ [3/2h, [h(N − 3/2)] ; ⎩ S0 [ f ](t), if t ∈ [0, 3/2h] ,
(6.32)
where Δ3 f [N − 3] (1 − τ )2+ τ = t/ h − N + 3/2, 16 Δ3 f [0] 2 τ+ , τ = t/ h − 1/2. S0 [ f ](t) = P2 [1](t) − 16
S N [ f ](t) = P2 [N − 1](t) +
Remark 6.3 The spline S¯ 3 [ f ](t), defined by Eq. (6.32), interpolates the function f (t) at boundary points g[0] and g[N ]. On the intervals [0, 1/2h] and [h(N − 1/2), h N ],
110
6 Local Splines on Non-uniform Grid
the spline s¯ [ f ](t) coincides with the quadratic interpolating polynomials P(t)[1] and P(t)[N − 1], respectively. Note, that the super-convergence property is retained at the points 3h/2 and N − 3h/2 but does not persist at the points h/2 and N − h/2. The spline’s extrapolation to the points −h and h(N + 1) is implemented by the functions def
sr3 [ f ](t) = P2 (t)[N − 1](t) + Δ3 f [N − 3] (t − h N )2+ , def
sl3 [ f ](t) = P2 (t)[1](t) − Δ3 f [0] (−t)2+ .
6.4 Examples: Restoration of Chirp Function In this section, cubic and quadratic local splines are used to restore the chirp function f (t) = sin 1/t, t ∈ [0.016, 0.197] from non-uniformly spaced clean and noisy grid sample. The function f (t) is depicted in Fig. 6.9.
6.4.1 Cubic Splines We compare the restoration of the chirp function by the simplest cubic local splines s04 [ f ](t) with that by the quasi-interpolating spline s 4 [ f ](t), from 64 samples taken on a non-uniform grid. The grid is adapted to the variable-frequency oscillations of the chirp function. Figure 6.10, which is produced by the MATLAB code loc_NU_example_chirpCQSU, illustrates the difference between the performances of the local splines s04 [ f ](t) and s 4 [ f ](t), which are constructed either from clean samples of the function f (t) or from samples affected by Gaussian noise whose STD = 0.394. Altogether 64 samples f [k] = f (g[k]), k = 0, . . . , 63, were used, such that the grid steps were growing linearly as g[k] = t[0] + k h.
Fig. 6.9 The chirp function f (t) = sin 1/t, t ∈ [0.016, 0.197]
6.4 Examples: Restoration of Chirp Function
111
Fig. 6.10 Top: restoration of the function f (t) = sin(1/t) from 64 non-equally spaced samples by the simplest spline s04 [ f ](t). Second from the top: restoration by the QIS s 4 [ f ](t). Second from the bottom: restoration by s04 [ f n ](t) from 64 noisy samples. Bottom: restoration by the QIS s 4 [ f n ](t). Dashed line depicts the original function, clean samples are indicated by bars, the splines are depicted by solid lines, and available noised data are denoted by “pluses”
6762595007486446 The upper frame in Fig. 6.10 displays the spline s04 [ f ](t) designed from clear samples. The second from top frame displays the quasiinterpolating spline s 4 [ f ](t) that uses the same samples. The third and fourth frames display the splines designed from noisy samples f n [k] = f [k] + ε[k], where {ε[k]} are Gaussian random variables. The abbreviation QIS means quasi-interpolating spline. We observe that a near-perfect restoration of the function is provided by the quasi-interpolating spline s 4 [ f ](t) derived from clear samples. The simplest spline s04 [ f ](t) performs well on smooth fragments of the signal, but suppresses the highfrequency oscillations. However, when the signal is noisy, the spline s04 [ f n ](t) demonstrates smoothing abilities and, in that respect, it is advantageous over def the quasi-interpolating spline s 4 [ f n ](t). Denote Drj = f [k] − s rj [ f n (g[k] , k = 0, . . . , 63, j = 0, 1. Then, the STD of the sequence D40 is 0.3363 and for the quasi-interpolating spline s14 [ f n ], the STD of D41 is 0.3594, compared to the noise STD 0.394. Values of the spline s04 [ f ](t) are computed by the MATLAB function lsp0_NU and values of the spline s 4 [ f ](t) are computed by the MATLAB function lspC_PL_e1U.
6.4.2 Quadratic Splines We compare the restoration of the chirp function by the simplest quadratic local splines s03 [ f ](t) with that by the quasi-interpolating spline s 3 [ f ](t), from the same 64
112
6 Local Splines on Non-uniform Grid
Fig. 6.11 Top: restoration of the function f (t) = sin(1/t) from 64 non-equally spaced samples by the simplest spline s03 [ f ](t). Second from the top: restoration by the QIS s 3 [ f ](t). Second from the bottom: restoration by s03 [ f n ](t) from 64 noisy samples. Bottom: restoration by the QIS s 3 [ f n ](t). Dashed line depicts the original function, clean samples are indicated by bars, the splines are depicted by solid lines, and available noised data are denoted by “pluses”
samples as in the cubic-spline example. Figure 6.11, which is produced by the MATLAB code loc_NU_example_chirpCQSU, illustrates the difference between the performances of the local splines s03 [ f ](t) and s 3 [ f ](t), which are constructed either from clean samples of the function f (t) or from samples affected by Gaussian noise whose STD = 0.394. The upper frame in Fig. 6.11 displays the spline s03 [ f ](t) designed from clear samples. The second from top frame displays the quasi-interpolating spline s 3 [ f ](t) using the same samples. The third and fourth frames display the splines designed from noisy samples f n [k] = f [k] + ε[k]. As in the cubic-spline example, we observe that the quasi-interpolating spline s 3 [ f ](t) derived from clear samples provides a near-perfect restoration of the function. The simplest spline s03 [ f ](t) performs well on smooth fragments of the signal, but suppresses high-frequency oscillations. When the signal is noisy, the spline s03 [ f n ](t) demonstrates smoothing abilities and, in that respect, is advantageous over the quasi-interpolating spline s 3 [ f n ](t), which tends to interpolation of the noisy samples. The STD of the sequence D30 is 0.3353 and for the quasi-interpolating spline s13 [ f n ] the STD of D31 is 0.3691, compared to the noise STD 0.394. Values of the spline s03 [ f ](t) are computed by the MATLAB function lspQ_N0U and values of spline s 3 [ f ](t) are computed by the MATLAB function lspQ_PL_eU. Comments: The local cubic and quadratic splines designed in this chapter, which are supplied with simple fast computational algorithms, can serve as an efficient tool for real-time signal processing. As an input, they use either clean or noised arbitrarilyspaced samples. One possible application of the designed splines is real-time wavelet analysis of non-uniformly sampled signals.
6.4 Examples: Restoration of Chirp Function
113
On the other hand, the capability to adapt the grid to the structure of an object and minimal requirements to the operating memory are great advantages for an offline processing of signals and multidimensional data arrays. Note, that the above approach to the splines’ design makes it possible to smoothly extend the spline to the boundaries of the definition area and even to extrapolate the spline beyond the area (see also [12]).
References 1. M. Abramowitz, I.A. Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Dover, New York, 1972) 2. A. Averbuch, P. Neittaanmäki, E. Shefi, V. Zheludev, Local cubic splines on non-uniform grids and real-time implementation of wavelet transform. Adv. Comput. Math. 43(4), 733–758 (1917) 3. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Non-Periodic Splines, vol II (Springer, Berlin, 2015) 4. C. de Boor, A Practical Guide to Splines (Springer, New York, 1978) 5. C. de Boor, Divided differences. Surv. Approx. Theory 1 (2005) 6. C.A. Hall, On error bounds for spline interpolation. J. Approx. Theory 1, 209–218 (1968) 7. N.P. Korneichuk, Approximations by local splines of minimal defect. Ukrainian Math. J. 34(5), 502–505 (1982) 8. M.J. Marsden, An identity for spline functions with applications to variation-diminishing spline approximation. J. Approx. Theory 3, 7–49 (1970) 9. I.J. Schoenberg, On variation diminishing approximation methods, in On Numerical Approximation, MRC Symposium, ed. by R.E. Langer (University of Wisconsin Press, Madison, WI, 1959), pp. 249–274 10. L.L. Schumaker, Spline Functions: Basic Theory (Wiley, New York, 1981) 11. J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, 2nd edn. (Springer, New York, 1993) 12. M.G. Suturin, V. Zheludev, On the approximation on finite intervals and local spline extrapolation. Russian J. Numer. Anal. Math. Model. 9(1), 75–89 (1994) 13. V. Zheludev, Local spline approximation on arbitrary meshes. Sov. Math. 8, 16–21 (1987)
Chapter 7
Spline-Based Wavelet Transforms
Abstract The Lifting Scheme introduced in (Sweldens, Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) and Sweldens, SIAM J. Math. Anal. 29(2), 511–546 (1997).) [3, 4] is a method that constructs bi-orthogonal wavelet transforms of signals and provides their efficient implementation. The main feature of the lifting scheme is that all the constructions are derived directly in the spatial domain and therefore can be custom designed to more general and irregular settings such as non-uniformly spaced data samples and bounded intervals. In this chapter, we outline the lifting scheme and describe how to use the local quasi-interpolating splines, introduced in Chap. 6, for the construction of wavelet transforms of non-equally sampled signals and realtime implementation of signals’ transforms in situation when samples arrive one after another at random times. On arrival of new samples, only a couple of adjacent transform coefficients are updated in a way that no boundary effects occur.
7.1 Discrete Lifting Wavelet Transforms The discrete lifting wavelet transform can be implemented either in a primal or in a dual mode. We discuss only the primal mode.
7.1.1 One-Level Transform Decomposition The lifting scheme for wavelet decomposition of 1D signals consists of four steps: 1. Split: The signal f = { f [k]} , k ∈ Z, is split into the even and odd sub-arrays def def such that f = e o where e = {e[k] = f [2k]} and o = {o[k] = f [2k + 1]}. 2. Predict: The even array e is used to approximate (predict) the odd array o. Then, the array o is replaced by the array d = o − P[1] e where P[1] is a linear prediction operator. If the predictor is correctly chosen, then this step decorrelates the signal and reveals its high-frequency components. © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_7
115
116
7 Spline-Based Wavelet Transforms
3. Update(Lifting): The even array e is updated by using the new odd array d. For this, a linear updating operator U[1[ is used, which is assumed to commute with P[1] , to get a = e + U[1] d. Provided that the updating operator is properly chosen, the even array e is transformed into a downsampled and smoothed replica of f. 0 1 and the details y[1] transform4. Normalization: Finally, the smoothed y[1] √ √ 0 1 coefficient arrays, are obtained by the normalization y[1] = 2a, y[1] = d/ 2. Reconstruction 0 1 Reconstruction of the signal f from the arrays y[1] and y[1] is implemented in a reverse order: √ √ 1 0 1. Undo Normalization: a = y[1] / 2, d = 2y[1] . 2. Undo Lifting: The even array is restored by e = a − U[1] d. 3. Undo Predict: The odd array component is restored by o = d + P[1] e. 4. Undo Split: Restoration of the signal from its even and odd arrays by f = Merge{e, o}.
The lifting transform is perfectly invertible with any choice of the operators P[1] and U[1] . The direct and inverse transforms can be symbolically represented in a matrix form: 0 √ y[1] I 0 e 2I 0√ I U[1] e ˜ = Π[1] = , 1 y[1] 0 I −P[1] I o o 0 I/ 2 where I is the identical operator and the analysis “polyphase matrix” Π˜ [1] of the first decomposition level is def Π˜ [1] =
√ √ 2 (I − U[1]√P[1] ) 2√ U[1] . −P[1] / 2 I/ 2
The inverse transform is represented by √ 0 0 y[1] y[1] e I 0 I −U[1] I/ 2 √ 0 = = Π , [1] 1 1 o P[1] I 0 I y[1] y[1] 0 I 2 where the synthesis “polyphase matrix” Π[1] of the first decomposition level is def
Π[1] =
√ √ 2 I/ √ √ − 2 U[1] . P[1] / 2 2 (I − P[1] U[1] )
It is readily seen that, once the operators P[1] and U[1] commute with each other, we have Π[1] Π˜ [1] = I. Therefore, subsequent applications of the operators Π˜ [1] and Π[1] to the vector-signal (e, o)T restores this vector-signal.
7.1 Discrete Lifting Wavelet Transforms
117
7.1.2 1-D Multilevel Wavelet Transform The multilevel wavelet transform is achieved by the iterated application of the lifting operations to the smoothed coefficient arrays. The prediction and updating operators can be different for different decomposition levels. Figure 7.1 shows a diagram of the 2-level 1-D discrete wavelet transform. 1 0 1 y[m] · · · y[1] } Reconstruction of the signal f from the coefficient array {y[m] is implemented in a reverse order.
7.2 Spline-Based Prediction and Updating Operators The wavelets generated by the lifting scheme are determined by the choice of the prediction P and the updating U operators. Splines provide flexible tool for the design of such operators. The idea is to construct a spline on the even grid g[2k], which either interpolates or quasi-interpolates the samples of the signal e (see Fig. 7.1). The values of this spline at the odd grid points g[2k + 1] are used for the prediction of the odd samples o. The next step is to construct a spline on the odd grid points, which (quasi-)interpolates the samples of the prediction-error signal d. Then, the values of this splines at the even grid points are computed. These values are used for updating the even samples e. In the case of equally spaced samples, calculations are reduced to low-pass filtering of the corresponding arrays [1]. Application of wavelet transforms to signals sampled on finite grids and, in particular, to images, requires to extend the signals beyond their boundaries, otherwise distortion appears near the boundaries [2]. √ 2
√ 2 e
f
+
P[1]
Split
o
−
U[1]
d
y0[1]
a
y0[2]
+
Split
P[2]
−
√ 1/ 2 y1[1]
Fig. 7.1 Two-level discrete lifting wavelet transform
U[2]
√ 1/ 2 y1[2]
118
7 Spline-Based Wavelet Transforms
Various extension schemes have been developed to deal with the boundary effects of finite length signals: zero padding, periodic extension and symmetric extension are basic extension methods. However, Quadraticing splines on finite intervals designed in Chap. 6, make it possible to execute wavelet transforms of signals sampled on bounded intervals without extending the signals beyond their boundaries. Moreover, computation can be carried out in a real-time mode without delay in scenarios when signal’s samples arrive one after another at random times.
7.2.1 Prediction and Updating Operators – Cubic Splines The prediction and updating operations consist of the design of the cubic splines s 4 [ f ] on different grids and the computation of their values at intermediate grid points. It can be done in a fast way using the algorithms described in Sect. 6.2. 7.2.1.1
Prediction and Updating Operators on Unlimited Grids
To highlight the operators’ structure, we use the representation of the quasiinterpolating spline given in Eq. (6.8): s 4 [ f ](t) =
k+1
f [ν + 2] L 4 (t)[ν], t ∈ [t[k[, t[k + 1]] ,
ν=k−4
L (t)[k] = β−1 [k + 1] b4 (t)[k + 1] + β0 [k] b4 (t)[k] + β1 [k − 1] b4 (t)[k − 1], (7.1) 4
where the coefficients βi [k] are defined by Eq. (6.6). The spline L 4 (t)[k] is supported on the interval (t[k − 1], t[k + 5]). As before, e = {e[k] = f [2k]} and o = {o[k] = f [2k + 1]}. Denote by be (t) and L e (t) the cubic B-spline b4 (t) and the spline L 4 (t), respectively, defined on the even def sub-grid te = {t[2k]} and by bo (t) and L o (t) the splines defined on the odd sub-grid def to = {t[2k + 1]}.1 Equation (7.1) implies that the odd-grid values of the spline s 4 [e](t), which is constructed on the even sub-grid, are
s 4 [e](t[2k + 1]) =
k+1 ν=k−4
def
P[1] [k, ν] =
1 Recall
f [2ν + 4] L e (t[2k + 1])[2ν] =
k+3
P[1] [k, ν] e[ν],
ν=k−2
L e (t[2k + 1])[2(ν − 1)], for ν = k − 2, . . . , k + 3; 0, otherwise.
that for cubic splines, the nodes’ grid t coincides with the sampling grid g.
(7.2)
7.2 Spline-Based Prediction and Updating Operators
119
The coefficients P[1] [k, ν] form a six-diagonal matrix P[1] , which is a Toeplitz matrix in the case of uniform grid. Consequently, the prediction operation can be represented as the matrix multiplication P[1] e = P[1] e. Similarly, the updating operation can be represented as the matrix multiplication: U[1] {d} = U[1] d, where the six-diagonal matrix U[1] = U[1] [k, ν] s 4 [d](t[2k]) =
k
( f [2ν + 5] − s 4 [e](t[2ν + 5])) L o (t[2k])[2ν + 1]
ν=k−5
=
k+2
U[1] [k, ν] d[ν],
ν=k−3
U[1] [k, ν] =
L o (t[2k])[2ν − 3], for ν = k − 3, . . . , k + 2; 0, otherwise.
Remark 7.2.1 Equations (7.2) and (7.3) mean that the practical computations of the signals’ values s 4 [e](t[2k + 1]) and s 4 [d](t[2k]) are implemented by the six-tap weighted moving averages of the signal’s samples with weights consisting of values of the signals L4 (t)[k] given in Eq. (7.1). In case when either multiple signals defined on the same grid or an array of row signals are processed, the necessary values of the signals B(t) can be pre-computed. Thus, the computations could be significantly accelerated.
7.2.1.2
Prediction and Updating Operators on Limited Grids
Assume that a function f (t) is sampled on a bounded interval and f [k] = f (t[k]), k = 0, . . . , N . N is an odd integer (Fig. 7.2): Prediction: The odd samples f [2k + 1], k = 2, . . . , (N − 1)/2 − 3, are predicted using the formulas in Eq. (7.2). The samples f [1] and f [3] as well as f [N − 4] and f [N − 2] are predicted by the values of the spline s¯4 [e](t), which is defined by Eq. (6.18), at the respective grid points t[1] and t[3] as well as t[N − 4] and t[N − 2]. The remaining sample f [N ] is predicted by extrapolating the spline s 4 [e](t) to grid point t[N ] in line with the algorithm described in Sect. 6.2.2.5. Thus, we derive the differences d[k] = f [2k + 1] − s 4 [e](t[2(k + 2) + 1]), k = 0, . . . , (N − 1)/2. Update: The even samples f [2k], k = 3, . . . , (N − 1)/2 − 2, are updated by the values of the spline s 4 [d](t[2k]) using the formulas in Eq. (7.2). To update the samples f [2], f [4], f [N − 3], f [N − 1], the values of s¯ 4 [d](t) (see Eq. (6.18)) are computed. The remaining sample f [0] is predicted by extrapolating the spline s 4 [d](t) to grid point t[0]. N is an even integer: (Fig. 7.3):
120
Fig. 7.2 Random samples, N odd
Fig. 7.3 Random samples, N even
7 Spline-Based Wavelet Transforms
7.2 Spline-Based Prediction and Updating Operators
121
At the left-hand side of the grid, the operations are the same as before. The samples f [N − 3] and f [N − 1] are predicted by the values of the spline s¯ 4 [e](t) (see Eq. (6.18)). The even samples f [N − 4] and f [N − 2] are updated by the values of the spline s¯ 4 [d](t), while the remaining sample f [N ] is updated by the extrapolation of the spline s 4 [d](t) to the grid point t[N ]. To implement the next step of the wavelet transform, the above operations are 0 0 1 . As a result, the arrays y[2] and y[2] are generated. applied to the smooth array y[1] This process repeats itself. The spline-based wavelet transform possesses the local discrete vanishing moments (LDVM) property, which is formulated next. Proposition 7.1 Assume that the samples { f [ν]} , ν = 2k − 4, . . . , 2k + 6, are samples of the cubic polynomial f [ν] = P 3 (t[ν]). Then, the wavelet coefficient 1 [k] = 0. y[1] 1 Proof The first-level wavelet coefficients are y[1] [k] = ( f [2k + 1] − s 4 [e](t[2k + √ 1]))/ 2. Theorem 6.2 implies that this difference is zero.
In the sense of Proposition 7.1, we claim that the wavelet transforms originating from cubic quasi-interpolating splines have four LDVMs. Remark 7.2.2 We emphasize that the described scheme of the wavelet transform does not require to extend the signal beyond the sampling boundaries. Theorem 6.4 and Proposition 6.3 imply that the LDVM property remains valid near the boundaries of the interval. The direct cubic spline-wavelet transform of a signal or an array of row signals is executed by the MATLAB function lsp_wav_DecU. The reconstruction of the signal (array) from the wavelet-transform coefficients is executed by the MATLAB function lsp_wav_RecU. When a single signal is processed, it is advisable to use the faster MATLAB functions lsp_wav_Dec1U and lsp_wav_Rec1U, respectively. Figure 7.4 displays a randomly sampled signal and coefficients from its four-level wavelet transform. Note that the inverse wavelet transform from these coefficients provides a restoration of the signal where its maximal deviation displayed in Fig. 7.5, is 2.2 10−14 . Both figures are produces by the MATLAB code wavelet_exampU. 7.2.1.3
Real-Time Execution of the Wavelet Transform
The transform scheme described in Sect. 7.2.1 makes it possible to execute the wavelet transform of a signal in real time. It means that the samples f [ν] of a signal arrive sequentially at random time moments t[ν], ν = 0, 1, . . ., while the arrival of a new sample requires the recomputation of only a few adjacent transform coefficients. • Assume that at time t[N ], the samples f [ν], ν = 0, . . . , N , arrived already and N is an odd number. Then, the one-level decomposition is implemented as was 0 0 [0], y[1] [1], described in Sect. 7.2.1. Recall that a few of the initial coefficients y[1]
122
7 Spline-Based Wavelet Transforms
Fig. 7.4 Wavelet transform of a randomly sampled signal. Top: the source signal. Bottom: smooth coefficients from the fourth decomposition level. The other 4 plots: the detail coefficients from first to fourth decomposition levels
0 1 1 y[1] [2] and y[1] [0], y[1] [1] are produced by using the formulas in Eq. (6.18) and the 0 extrapolation algorithm. The coefficients y[1] [ν], ν = 3, . . . , (N − 1)/2 − 2, and 1 y[1] [ν], ν = 2, . . . , (N − 1)/2 − 3, are computed by using the regular formulas 0 0 1 in Eq. (7.2). The coefficients y[1] [(N − 1)/2 − 1], y[1] [(N − 1)/2], and y[1] [(N − 1 1)/2 − 1], y[1] [(N − 1)/2 − 2] are produced by using the formulas in Eq. (6.18). 1 The coefficient y[1] [(N − 1)/2] is derived by the extrapolation algorithm. The 0 number (N + 1)/2 of smooth coefficients y[1] [ν] is the same as the number of the 1 detail coefficients y[1] [ν]. 0 • When the sample f [N + 1] arrives, the new smooth coefficient y[1] [(N + 1)/2] is derived by updating the even sample f [N + 1] using the extrapolation of the spline 1 [(N − s 4 [d](t) to the grid point t[N + 1]. In addition, the detail coefficient y[1] 1)/2 − 2] is recomputed in a regular way by prediction from 6 even samples f [2ν], ν = (N − 1)/2 − 4, . . . (N + 1)/2. The rest of the detail and the smooth 0 [ν] is coefficients remain unchanged. The number of the smooth coefficients y[1] 1 (N + 3)/2 while the number of the detail coefficients y[1] [ν] is (N + 1)/2. 1 • When the sample f [N + 2] arrives, the new detail coefficient y[1] [(N + 1)/2] is derived by predicting the odd sample f [N + 2] using the extrapolation of the spline s 4 [e](t) to the grid point t[N + 2]. In addition, the smooth coefficient 0 [(N − 1)/2 − 1] is recomputed in a regular way by updating from 6 numy[1] bers d[ν], ν = (N − 1)/2 − 4, . . . (N + 1)/2. The rest of the detail and smooth
7.2 Spline-Based Prediction and Updating Operators
123
Fig. 7.5 Discrepancy between the original signal and its restoration from the wavelet coefficients shown in Fig. 7.4. The maximal discrepancy is 7.2 10−14
coefficients remain unchanged. The number (N + 3)/2 of smooth coefficients 0 1 [ν] is the same as the number of the detail coefficients y[1] [ν]. y[1] At time, the above procedures are applied to the 0smooth coefficient 1 array 0the same [ν] and y[2] [ν] , and y[1] [ν] , ν = 0, . . . , (N − 1)/2, to obtain the arrays y[2] so on. Figure 7.6, which was produced by the MATLAB code wav_real_exampU, illustrates the one-level wavelet transform of a signal consisting of ten randomly spaced samples when additional samples arrive. CPU Example This example illustrates the speed of the execution of the direct and inverse wavelet transforms. An irregular grid was defined as t {t[k] = k + ε[k]} , k = 1, . . . , N , where N = 20000 and ε[k] are Gaussian random variables whose STD = 0.2. The initial 10 grid points are
k t[k]
1 0.8350
2 2.1016
3 3.1878
4 3.9539
5 5.0752
6 5.9056
7 6.6069
8 7.8759
9 9.0364
10 10.1190
124
7 Spline-Based Wavelet Transforms
Fig. 7.6 Wavelet transform sampled signal. Top triple: red – 10-samples signal, of a randomly
1 [ν] , green – 5 smooth coefficients y 0 [ν] . Central triple: red – blue – 5 detail coefficients y[1] [1] 11-samples signal, blue – 5 detail coefficients, green – 6 smooth coefficients. Bottom triple: red – 12-samples signal, blue – 6 detail coefficients, green – 6 smooth coefficients
The transforms were applied to two signals x1 and x2 such that def
x1 [k] = sin
t[k] 50 t[k] 50 def , [x2 [k] = sin + ε[k], , κ = 1, . . . , N . N N
Figure 7.7 displays the signals x1 and x2 . The 10-level lifting wavelet transform was applied to the signals x1 and x2 , then the signals were restored from the transform coefficients by the inverse wavelet transform. The transforms were executed by the Matlab code cpu_examU.m using nonoptimized MATLAB functions sp_wav_Dec1U.m and sp_wav_Rec1U.m, on a PC with the Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz, 3408 Mhz, 4 Core(s), 8 Logical Processor(s). Herewith, the CPU times for the direct transform and the inverse transforms are given in Table 7.1. The differences between the original signals x1 and x2 and the restored signals X1 and X2 are displayed in Fig. 7.8. In both cases, the differences do not exceed 1.6 · 10−15 . We emphasize that no boundary effects appear in the signals’ restoration from wavelet transforms even for a highly irregular signal x2 displayed in the bottom frameof Fig. 7.7.
7.2 Spline-Based Prediction and Updating Operators
125
Fig. 7.7 Top: signal x1 . Bottom: signal x2 Table 7.1 CPU times Decomposition of the clean signal x1 :
Elapsed time is 1.727037 seconds,
Reconstruction of the clean signal x1 : Decomposition of the noisy signal x2 : Reconstruction of the noisy signal x2 :
Elapsed time is 1.707415 seconds, Elapsed time is 1.689601 seconds, Elapsed time is 1.695952 seconds.
Denoising Example In this example, a strongly noised signal, which is constructed similarly to the signal used in the CPU example, has been restored after the application of the cubic-splinebased wavelet transform. The wavelet transform coefficients are subjected to hard thresholding. Specifically, an irregular grid was defined as t {t[k] = k + ε[k]} , k = 1, . . . , N , where N = 1500 and ε[k] are Gaussian random variables whose STD = 0.2. The def denoising procedure was applied to the signal x2 such that : [x2 [k] = [x1 [k] + ε[k], , κ = 1, . . . , N , where def
x1 [k] =
0.3 sin
t[k] 50 , N t[k] 50 , N
k = 300, . . . 500;
sin
k = 1, . . . , 299, 501, . . . 1500.
126
7 Spline-Based Wavelet Transforms
Fig. 7.8 Differences between the original and restored signals. Top: signal x1 − X1 . Bottom: x2 − X2
Figure 7.9, which is produced by the MATLAB code Deno_examU, displays the signals x1 and x2 . The real-time procedure of the 7-level cubic-spline-based lifting wavelet transform was applied to the samples {[x2 [k]} , k = 1, . . . , 1000, of the signal x2 . After that, the wavelet transform coefficients were thresholded with the threshold 0.99. The signal was restored by the inverse wavelet transform from the thresholded transform coefficients. The rest {[x2 [k]} , k = 1001, . . . , 1500, of the signal x2 was left unprocessed. Figure 7.10, which was produced by the MATLAB code Deno_examU, displays the restoration results.We observe that most of the noise is removed, while the signal’s structure is retained.
7.2.1.4
Cubic-Spline Wavelet Transforms on Uniform Grids
When the grid t is uniform, that is t[k] = hk, k ∈ Z, then a quasi-interpolating cubic spline is represented as in Eq. (6.9): S 4 [ f ](t) =
3 ν=−2
f [ν] L 4h (t − hν),
7.2 Spline-Based Prediction and Updating Operators
127
Fig. 7.9 Top: signal x1 − X1 . Bottom: noisy signal x2 − X2
Fig. 7.10 Results from the signal x2 denoising. Green line: the noisy signal x2 . Red line: the clean signal x1 . Black line: the restored signal X2
128
7 Spline-Based Wavelet Transforms
where the basis splines L 4h (t) are given in Eq. (6.10). Using the grid samples of the spline L 4h (t) given in Table 6.2, we compute the odd-grid values of the spline S 4 [e](t), which is constructed on the even sub-grid (see Eq. (7.2)) by S [e](t[2k + 1]) = 4
k+3
f [2ν] L 42h (h(2k + 1 − 2ν) =
ν=k−2 def
P[k] =
P[k − ν] e[ν],
ν∈Z
L h (h(k + 1/2)), for ν = −3, . . . , 2; 0, otherwise.
(7.3)
Equation (7.3) means that the prediction of the odd-grid samples {o[k] = f [2k + 1} of the signal f is executed by filtering the even-grid samples {e[k] = f [2k} by the FIR filter P, whose impulse response is given in Table 7.2. Similarly, the updating operation U[1] {d} = U d is executed by filtering: S 4 [d](2kh) =
k
d[ν] L 42h (h(2k − 1 − 2ν)
ν∈Z
=
U[1] [k − ν] e[ν], d[ν],
(7.4)
ν∈Z
U[1] [k] =
L h (h(k − 1/2)), for ν = −2, . . . , 3; 0, otherwise.
The impulse response of the filter U is given in Table 7.3. The frequency response of the prediction filter P is 1 ω 2 2iω 1 e + 23eiω + 23 + e−iω . 1+ 2 sin P(ω) = 48 6 2 Figure 7.11 displays the magnitude response of the low-pass filter P, which is the same as the magnitude response of the filter U.
Table 7.2 Impulse response of the filter P −3 −2 −1 −1/288
−15/288
160/288
Table 7.3 Impulse response of the filter U 2 −1 0 −1/288
−15/288
160/288
0
1
2
160/288
−15/288
−1/288
1
2
3
160/288
−15/288
−1/288
7.2 Spline-Based Prediction and Updating Operators
129
Fig. 7.11 Magnitude response of the prediction P and the updating U filters originating from cubic splines
Remark 7.2.3 Note that the prediction and updating filters are the same for all the decomposition levels.
7.2.2 Prediction and Updating Operators – Quadratic Splines Due to the requirement that the sampling grid points g[k] must be located at the midpoints between the nodes’ grid points t[k], t[k + 1], the design of the quadraticspline based wavelet transforms on non-uniform grids is impractical. However, on uniform grids, such transforms have some advantage over the transforms originating from the Quadraticing cubic splines described in Sect. 7.2.1.4. 7.2.2.1
Prediction and Updating Operators on Unlimited Uniform Grids
Assume that a signal is sampled on the grid g : g[k] = hk, κ ∈ Z. Thus, f [k] = f (kh), e[k] = f (2kh) and o[k] = f ((2k + 1)h). Then, due to Eq. (6.30) and Table 6.3, values of the spline S3 [e] at odd grid points are S 3 [e](2h(k + 1/2)) =
k+2
e[ν] L 32h (2h(k + 1/2 − ν)),
ν=k−1
e[k − 1] 9e[k] 9e[k + 1] e[k + 2] + + − . (7.5) =− 16 16 16 16 It is seen from Eq. (7.5) that the array S 3 [e](2(k + 1/2)) , k ∈ Z, is the result of filtering the signal e by the low-pass filter P, whose impulse response is
130
7 Spline-Based Wavelet Transforms
−1 0 1 2 −1/16 9/16 9/16 −1/16 . Similarly, the array S 3 [d](2k) , k ∈ Z, is the result
of filtering the signal d : d[k] = o[k] − S 3 [e](2h(k + 1/2), k ∈ Z, )
by the low-pass filter, whose impulse response is The frequency response of the prediction filter P is
−2 −1 0 1 −1/16 9/16 9/16 −1/16 .
1 ω 2 1 1 + eiω . 1+ 2 sin P(ω) = 2 8 2 Figure 7.12 displays the magnitude response of the low-pass filter P, which is the same as the magnitude response of the filter U. Remark 7.2.4 Comparing Figs. 7.11 and 7.12, we observe that the magnitude response of filters derived from cubic splines are very similar to the magnitude response of quadratic-spline-based filters. The cubic spline S4 constructed on the even sub-grid exactly predicts the odd-grid samples of a signal provided the signal is a cubic polynomial. Therefore, the cubic-spline-based wavelet transforms have four LDVMs. Due to the super-convergence property of the Quadraticing quadratic splines (see Sect. 6.3.3), the quadratic-spline-based wavelet transforms have four LDVMs as well. However, when quadratic splines are utilized, the prediction and updating operations are executed by 4-tap filters, compared to 6-tap filters when cubic splines are used. Therefore, on uniform grids, the transforms originating from quadratic splines are advantageous over the cubic-spline-based transforms.
Fig. 7.12 Magnitude response of the prediction P and the updating U filters originating from quadratic splines
7.2 Spline-Based Prediction and Updating Operators
7.2.2.2
131
Prediction and Updating Operators on Limited Grids
Assume that a function f is sampled on a bounded interval and f [k] = f (kh), k = 0, . . . , N . N is an odd integer (Fig. 7.13): Prediction: The odd samples f [2k + 1], k = 1 . . . , (N − 5)/2, are predicted by filtering the array e by the filter P (see Eq. (7.5)). The samples f [1] and f [N − 2] are predicted by the values of the quadratic polynomials, which interpolate the triples samples { f [0], f [2], f [4]} and { f [N − 5], f [N − 3], f [N − 1]}, respectively. The remaining sample f [N ] is predicted by using the extrapolation of the spline s 3 [e](t) to the grid point t[N ] in line with the algorithm described in Sect. 6.3.3. Thus, we derive the differences d[k] = f [2k + 1] − s 3 [e](t[2(k + 2) + 1]), k = 0, . . . , (N − 1)/2. Update: The even samples f [2k], k = 1, . . . , (N − 3)/2, are updated by filtering the array d by the filter U. The samples f [2] and f [N − 1] are updated by the values of the quadratic polynomials, which interpolate the samples of the array d at the grid points {h, 3h, 5h} and {h(N − 4), h(N − 2), h N }, respectively. The remaining sample f [0] is predicted by using the extrapolation of the spline s 3 [d](t) to the grid point t[0]. N is an even integer: (Fig. 7.14): At the left-hand side of the grid, the operations are the same as before. The sample f [N − 1] are predicted by the value of the quadratic polynomials, which interpo-
Fig. 7.13 Samples on a uniform grid, N odd
132
7 Spline-Based Wavelet Transforms
Fig. 7.14 Samples on a uniform grid, N even
lates the triple samples { f [N − 4], f [N − 2], f [N ]}. The even sample f [N − 2] is updated by the value of the quadratic polynomials, which interpolate the samples of the array d at the grid points {h(N − 5), h(N − 3), h(N − 1)N }, respectively, while the remaining sample f [N ] is updated by the extrapolation of the spline s 3 [d](t) to the grid point t[N ]. The above scheme provides tools for real-time computation of the wavelet transforms based on quadratic Quadraticing splines in the scenarios when signal’s samples arrive sequentially. The arrival of a new sample results in the appearance of one new transform coefficient and upgrading two smoothed and two detail transform coefficients.
References 1. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Non-periodic Splines, vol II (Springer, Berlin, 2015) 2. C.M. Brislawn, Classification of nonexpansive symmetric extension transforms for multirate filter banks. Appl. Comput. Harmon. Anal. 3(4), 337–357 (1996) 3. W. Sweldens, The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 4. W. Sweldens, The lifting scheme: a construction of second generation wavelets. SIAM J. Math. Anal. 29(2), 511–546 (1997)
Chapter 8
Biorthogonal Wavelet Transforms Originating from Discrete and Discrete-Time Splines
Abstract This chapter describes how to generate families of biorthogonal wavelet transforms in spaces of periodic signals using prediction p-filters originating from discrete-time and discrete splines. The transforms are generated by the lifting scheme (Sweldens (Wavelet applications in signal and image processing III, vol 2569, 1995, [7]), Sweldens (Appl Comput Harmon Anal 3:186–200, 1996, [8]), Sweldens (SIAM J Math Anal 29:511–546, 1997, [9]), see also Sect. 7.1 of this volume). The discretetime wavelets related to those transforms are (anti)symmetric, well localized in time domain and have flat spectra. These families comprise wavelets with any number of local discrete vanishing moments (LDVMs). The transforms are implemented in a fast way using the FFT by critically sampled perfect reconstruction periodic filter banks.
8.1 Filter Banks Related to Lifting Scheme of Wavelet Transforms When the signal’s sampling is uniform, the lifting design and implementation of the biorthogonal wavelet transforms of signals is executed by a sequence of filtering operations. If the signal belongs to Π [N ], then filtering is carried out using the fast Fourier transform (FFT).
8.1.1 Lifting Steps Assume x = {x[k]} ∈ Π [N ]. Decomposition:
1. Split: x −→ x0 x1 , where x0 = {x[2k]}∈Π [N /2], x1 = {x[2k + 1]}∈Π [N /2]. 2. Predict: x1 is approximated (predicted) by fp x0 , where fp = { f p [k]} ∈ Π [N /2] is a prediction p-filter. The signal x1 is replaced by d = x1 − fp x0 .
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_8
133
134
8 Biorthogonal Wavelet Transforms Originating from Discrete …
3. Update: The signal x0 is replaced by s = x0 + 21 fu d, where fu = { f u [k]} ∈ Π [N /2] is an updating p-filter.1 0 1 4. Normalization: The arrays y[1] and y[1] of the first-level wavelet transform coef√ √ 0 1 ficients are obtained by the operation y[1] = 2 s, y[1] = d/ 2. Reconstruction: 0 1 and y[1] is implemented by The reconstruction of the signal x from the arrays y[1] reverse decomposition: √ √ 1 0 / 2 d1 = 2 y[1] . 1. s = y[1] 2. x0 = s − 21 fu d = d + fp x0 . 3. x1 4. x0 x1 −→ x.
8.1.2 Filter Banks By rewriting the lifting steps in a matrix form in the frequency domain, we obtain the polyphase matrices of the wavelet transforms:
yˆ 0 [n]1 yˆ 1 [n]1
√
1 0 2 0√ xˆ0 [n]1 1 fˆu [n]1 /2 · · · = xˆ1 [n]1 − fˆp [n]1 1 0 1 0 1/ 2 xˆ0 [n]1 ˜ = P[−n] · . (8.1) xˆ1 [n]1
Hence, the analysis polyphase matrix is √ √ ˆp [−n]1 fˆu [−n]1 /2 fˆu [−n]1 / 2 2 1 − f ˜ P[n] = . √ √ − fˆp [−n]1 / 2 1/ 2 The reconstruction operations are represented by
xˆ0 [n]1 xˆ1 [n]1
√ 0 1 0 1/ 2 √0 yˆ [n]1 1 − fˆu [n]1 /2 · · · = yˆ 1 [n]1 fˆp [n]1 1 0 1 0 2 0 yˆ [n]1 = P[n] · . (8.2) yˆ 1 [n]1
Hence, the synthesis polyphase matrix is P[n] =
1 In
√ √ 1/ 2 − fˆu [n]1 / 2 . √ √ fˆp [n]1 / 2 2 1 − fˆp [n]1 fˆu [n]1 /2
order to obtain more symmetric formulas, we write the updating p-filter as 21 fu
8.1 Filter Banks Related to Lifting Scheme of Wavelet Transforms
135
˜ Obviously, the perfect reconstruction condition = I2 is satisfied. Recall P[n] · P[−n] 0 1 0 ˜1 ˜ that the polyphase matrices of p-filter banks h , h and h , h are, respectively ˜ P[n] =
def
hˆ˜ 00 [n]1 hˆ˜ 10 [n]1
hˆ˜ 01 [n]1 hˆ˜ 11 [n]1
def
, P[n] =
hˆ 00 [n]1 hˆ 10 [n]1 hˆ 01 [n]1 hˆ 11 [n]1
.
Thus, the frequency responses of the synthesis p-filters are hˆ 0 [n] = hˆ 1 [n] = where
√1 2 ω√−n 2
1 + ω−n fˆp [n]1 1 − ωn fˆu [n]1 + W [n] ,
def W [n] = 1 − fˆp [n]1 fˆu [n]1 .
(8.3)
(8.4)
The frequency responses of the analysis p-filters are hˆ˜ 0 [n] = hˆ˜ 1 [n] =
√1 2 ω√−n 2
1 + ω−n fˆu [−n]1 + W [−n] = ω−n hˆ 1 [−n + N /2], 1 − ωn fˆp [−n]1 = ω−n hˆ 0 [−n + N /2].
(8.5)
The pairs h˜ 0 , h˜ 1 and h0 , h1 constitute a perfect reconstruction biorthogonal p-filter bank. Thus, the transform of a signal x −→ y0 y1 can be regarded as 0 def ˜ 0 1 def ˜ 0 one step of a wavelet transform, where ψ˜ [1] = h and ψ˜ [1] = h are the analysis def
def
0 discrete-time wavelets, while ψ[1] = h0 and ψ[1] = h0 are the synthesis discretetime wavelets. The analysis and synthesis wavelets are interchangeable. The DFT of the zero polyphase component of a p-filter h is a constant hˆ 0 [n]1 = √ 1/ 2, thus, the p-filter h is interpolating. Consequently, the zero polyphase compo0 interpolates the Kroneker delta (up to the constant nent of the synthesis wavelet ψ[1] √ c = 2). It means that
0 ψ[1] [2l]
=
√ 1/ 2, if l = k N /2, k ∈ Z; 0, otherwise.
l ∈ Z.
Properties of the p-filter banks and the corresponding wavelets are determined by the choice of the prediction fp and the updating fu p-filters. The perfect reconstruction and the biorthogonality conditions for the presented p-filter banks are satisfied with any choice of low-pass p-filters fp and fu . Utilization of discrete-time and discrete splines for these p-filters’ design produces a diverse family of biorthogonal wavelets. Properties of those wavelets such as symmetry, interpolation, smoothness, flat spectra, good time-domain localizations and vanishing moments fit well signal processing needs. Implementation of these transforms is highly efficient. We outline the derivation of the p-filters fp and fu from discrete-time and discrete splines.
136
8 Biorthogonal Wavelet Transforms Originating from Discrete …
The prediction and updating p-filters are derived from discrete-time and discrete splines by a scheme similar to the derivation scheme for polynomial splines presented in Chap. 7. To be specific, a spline of span 2, which (quasi-)interpolates the even samples of a signal, is constructed. Then, odd samples are predicted by the midpoint values of the splines. The predicted odd samples are extracted from the existing ones. The original odd samples are replaced by the extraction results. Then, even samples of the original signal are updated by values at even grid points of a spline, which (quasi-)interpolates the new odd samples.
8.2 Prediction and Updating p-Filters Derived from Discrete Splines 8.2.1 Summary for the Discrete Splines of Span 2 Discrete splines are described in detail in Chap. 3. Here, we recall some notations 2r ∈ 2r S[1] with span 2. and facts needed for the filters’ design from discrete splines s[1] def
2r We drop the sub-index ·[1] in the spline notation, so s2r = s[1] . 2r The N-periodic discrete B-spline b of order 2r is the IDFT of the sequence , n = 0, ..., N − 1. The N-periodic discrete splines s2r on the grids bˆ 2r [n] = cos2r πn N ge = {2l} and go = {2l + 1} are, respectively N /2−1
se2r [k] =
q[l]b2r [k − 2l] =⇒ sˆe2r [n] = q[n] ˆ 1 cos2r
l=0
πn , N
N /2−1
so2r [k] =
q[l]b2r [k − 2l − 1] =⇒ sˆo2r [n] = q[n] ˆ 1 ωn cos2r
l=0
πn . N
Denote the N /2-periodic sequence def
V 2r [n] = ωn Obviously,
πn N cos2r πNn
cos2r
πn N sin2r πNn
− sin2r +
.
ω−n V 2r [n] = ωn V 2r [−n].
8.2.2 Filter Banks 2r Assumethat the spline se [2l] = xe [l], l = 0, ...N /2 − 1. Corollary 3.1 implies that the set se2r [2l + 1] , l = 0, ...N /2 − 1, of samples of the interpolating discrete
8.2 Prediction and Updating p-Filters Derived from Discrete Splines
137
spline se2r on the grid go is the result of p-filtering the signal xe by the p-filter fp2r , whose frequency response is fˆp2r [n]1 = V 2r [n]. 2r Assume that the spline so [2l + 1] = d[l], l = 0, ...N /2 − 1. Then, the set 2r so [2l] , l = 0, ...N /2 − 1, of samples of the interpolating discrete spline so2r on the grid ge is the result of p-filtering the signal d by the p-filter fu2r , whose frequency response is
fˆu2r [n]1 = ω−2n V 2r [n] = ω−n (ω−n V 2r [n]) = ω−n (ωn V 2r [−n]) = V 2r [−n]. Then Eqs. (8.3)–(8.5) imply that the synthesis p-filters h0 and h1 are defined by their frequency responses as follows: √ 2 cos2r πNn 1 −n 2r h [n] = √ 1 + ω V [n] = cos2r πNn + sin2r 2 ω−n hˆ 1 [n] = √ 1 − ω−n V 2r [n] + W 2r [n] 2 −n 2 sin2r πNn ω = √ + W 2r [n] . 2 cos2r πNn + sin2r πNn ˆ0
πn N
, (8.6)
The frequency responses of the analysis p-filters h˜ 0 and h˜ 1 are 1 hˆ˜ 0 [n] = √ 1 + ω−n V 2r [n] + W 2r [n] 2 2 cos2r πNn 1 2r = √ + W [n] , 2 cos2r πNn + sin2r πNn √ −n 2 sin2r πNn ˆh˜ 1 [n] = ω −n 2r −n √ 1 − ω V [n] = ω π cos2r Nn + sin2r 2
(8.7)
πn N
,
where W 2r [n] = 1 − |V 2r [n]|2 =
4 cos2r (cos2r πNn
πn N
+
πn N π sin2r Nn )2
sin2r
= 2ωn hˆ 0 [n] hˆ˜ 1 [n].
By comparing Eqs. (8.6) and (8.7) with Eqs. (1.9) and (1.10), we see that the frequency responses of the p-filters h0 and h˜ 1 are the magnitude squared frequency responses of the half-band low-pass and high-pass Butterworth p-filters ([6]) of order r , respectively. The frequency responses of the p-filters h1 and h˜ 0 differ from the magnitude squared frequency responses of the Butterworth p-filters by addition of the sequence W 2r [n].
138
8 Biorthogonal Wavelet Transforms Originating from Discrete …
Remark 8.2.1 Note that W 2r [0] = W 2r [N /2] = 0. Thus, the sequence W 2r [n] can be regarded as the frequency response of a band-pass p-filter. All the p-filters have a linear phase. Except for the simplest case r = 1, the impulse responses of the p-filters are infinite. Nevertheless, they are well localized in time domain. Remark 8.2.2 Once a prediction p-filter fp2r is selected, any low-pass p-filter can serve as the updating p-filter fu . Different options for the choice of updating p-filters are discussed in [1–3]. We emphasize that Eqs. (8.6) and (8.7) provide explicit expressions for the p-filters with arbitrary approximation accuracy. Due to the relation of the p-filters to the Butterworth p-filters, it is natural to refer to the wavelets derived from discrete splines as the periodic Butterworth wavelets. Remark 8.2.3 Non-periodic one-pass Butterworth filters were used in [5] for the design of orthogonal non-symmetric wavelets. Computations in [5] were conducted in time domain using recursive filtering. Biorthogonal periodic wavelets derived from discrete splines are presented in [1], while non-periodic biorthogonal wavelets are introduced in [2].
8.2.2.1
Examples
Splines of second order: r = 1 The sequence V 2 [n] is ω−n V 2 [n] = cos2 π n/N − sin2 π n/N = cos 2π n/N . Thus, the prediction p-filter derived from the discrete spline of the second order coincides with the p-filter derived from the second order polynomial spline. Interpolating discrete splines of fourth order: r = 2 The sequence V 4 [n] is V 4 [n] = ωn
cos4 π n/N − sin4 π n/N cos 2π n/N = ωn . cos4 π n/N + sin4 π n/N 1 − 21 sin2 2π n/N
Quasi-interpolating discrete splines of fourth order: r = 2 The fourth-order quasi-interpolating discrete splines sq4 are introduced in Sect. 3.1.3.2. Equation (3.7), which provides the spline’s values at odd grid points, implied that the DFT of the prediction and updating p-filters are, respectively, 4 [n]1 = Vq4 [n], f qp
ω−n Vq4 [n] =
def
−ω
−3n
4 f qu [n]1 = Vq4 [−n],
+ 9ω
−n
16
+ 9ω − ω n
3n
(8.8)
8.2 Prediction and Updating p-Filters Derived from Discrete Splines
139
Remark 8.2.4 Comparison of Eqs. (3.7), (7.5) shows that the impulse response of the prediction filter derived from quasi-interpolating discrete splines sq4 is the same as the impulse response of the prediction filter derived from quasi-interpolating polynomial quadratic splines S3 (t) on a uniform grid (see also [4]). 4 are the four-tap FIR p-filters. The frequency responses of The p-filters fq4p and fqu the synthesis and analysis p-filters are
√ 1 πn 2π n hˆ 0 [n] = √ 1 + ω−n Vq4 [n] = 2 cos4 (8.9) 2 − cos , N N 2 ω−n 2π n πn ω−n 2 + cos + Wq4 [n] hˆ 1 [n] = √ 1 − ω−n Vq4 [n] + Wq4 [n] = √ 2 sin4 N N 2 2 −n √ ω πn 2π n 1 − ω−n Vq4 [n] = ω−n 2 sin4 (8.10) hˆ˜ 1 [n] = √ 2 + cos , N N 2 2π n πn 1 2 − cos + Wq4 [n] hˆ˜ 0 [n] = 1 + ω−n Vq4 [n] + Wq4 [n] = √ 2 cos4 N N 2 πn πn 2π n 4 − cos2 . Wq4 [n] = 2ωn hˆ 0 [n] hˆ˜ 1 [n] = 4 sin4 cos4 N N N
Figure 8.1 (upper part) displays the impulse and magnitude responses of the p-filters derived from the fourth-order quasi-interpolating discrete splines. For comparison, the lower part of the figure displays the impulse and magnitude responses of the p-filters derived from the fourth-order interpolating discrete splines. One can observe that the p-filters originating from quasi-interpolating discrete splines are very similar to the p-filters originating from interpolating discrete splines. Figure 8.1, was produced by the MATLAB code BW_exam_qis4U.m.
Fig. 8.1 Impulse and magnitude responses of p-filters derived from the fourth-order quasiinterpolating (top pair of frames) and the interpolating (bottom pair of frames) discrete splines. Left panel – impulse response of p-filters. Left to right: h0 −→ h1 −→ h˜ 0 −→ h˜ 1 . Right panel – magnitude responses of the p-filters h0 and h1 – dashed lines, of the p-filters h˜ 0 and h˜ 1 – solid lines
140
8 Biorthogonal Wavelet Transforms Originating from Discrete …
Fig. 8.2 Impulse and magnitude responses of p-filters derived from interpolating discrete splines of orders 2r , r = 1 (top) to r = 6 (bottom). Left panel – impulse response of p-filters. Left to right: h0 −→ h1 −→ h˜ 0 −→ h˜ 1 . Right panel – magnitude responses of the p-filters h0 and h1 – dashed lines, of the p-filters h˜ 0 and h˜ 1 – solid lines
Figure 8.2, which was produced by the MATLAB code BW_exam_7U.m, displays impulse and magnitude responses (MR) of analysis and synthesis low- and high- pass p-filters derived from interpolating discrete splines of different orders. The wavelet transform is extended to the second decomposition level by the appli0 def 0 = y , which belongs cation of the same lifting operations to the coefficients array y[1] to the space Π [N /2], unlike the original signal x ∈ Π [N ]. Consequently, the pre2r 2r and f[2],u differ from fp2r , respectively, and fu2r by diction and updating p-filters f[2],p the replacement of N to N /2 in the DFT expressions for their frequency responses. Extension of the transforms to the subsequent decomposition levels is similar. Reconstruction is implemented in an inverse order. Implementation of transforms Forward and inverse biorthogonal wavelet transforms of periodic signals with the designed filter banks are implemented by the MATLAB functions BW_analU.m and BW_synthU.m, respectively. Two-dimensional transforms are implemented by subsequent application of the 1D transforms to columns and rows of the 2D arrays. This is done by the MATLAB functions BW_anal_2DU.m and BW_synth_2DU.m.
8.3 Prediction and Updating p-Filters Derived from Discrete-Time Splines 8.3.1 Preliminaries Discrete-time splines are described in detail in Chap. 3. Here we recall some notations p and facts needed for the filters’ design from discrete-time splines s¯[1] ∈ p S¯[1] with def
p
span 2. We drop the sub-index ·[1] in the spline notation such that s p = s[1] .
8.3 Prediction and Updating p-Filters Derived from Discrete-Time Splines
141
The N-periodic discrete-time B-spline b¯ p of order p is defined in Definition 3.1. Its DFT is u p [2n] + ω−n v p [2n] . bˆ¯ p [n] = 2 Here u p [n] is the characteristic sequence of the spline space p S defined in Eq. (2.4) and the sequence v p [n] is defined in Eq. (2.5). In particular, the following relations hold: u p [2n] = sin p ω−n v p [2n] = sin p
2π n (−1)lp N l∈Z ((π (2n/N + l)) p 2π n (−1)l( p+1) . N ((π (2n/N + l)) p l∈Z
Proposition 8.1 If the spline order is either p = 2r or p = 2r − 1, then the difference is 2π n p def Φ [n], G[n] = u p [2n] − ω−n v p [2n] = sin2r N where the Φ p [n] is an N -periodic sequence such that Φ p [0] = 0. Proof
1. Assume that p = 2r . Then G[n] = sin2r
2π n 2r 2 def Φ [n], Φ 2r [n] = . (8.11) N (π (2n/N + 2l + 1))2r l∈Z
The positive series Φ 2r [n] in Eq. (8.11) converges uniformly by any n = 0, ..., N − 1, and Φ 2r [0] = 0. 2. Let p = 2r − 1. Then G[n] = sin2r −1
2π n 2 def Ψ [n], Ψ [n] = − . N (π (2n/N + 2l + 1))2r −1 l∈Z
The series Ψ (t) converges uniformly with any real t while r > 1. Thus, Ψ (t) is a differentiable function and ψ(0) = 0. Therefore, in the vicinity of zero Ψ (t) = t + ϕ(t) = sin(t) + O(t 2 ). By putting t = 2π n/N , we get the proposition claim. Remark 8.3.1 Since u p [2n] and v p [2n] are N /2-periodic sequences, we have u p [2(n + N /2)] = u p [2n], ω−(n+N /2) v p [2(n + N /2)] = −ω−n v p [2n].
142
8 Biorthogonal Wavelet Transforms Originating from Discrete …
We distinguish between two types of the discrete-time-splines: N /2−1
s¯ep [k]
=
q[l]b¯ p [k − 2l] =⇒ sˆ¯ep [n] = q[n] ˆ 1 bˆ¯ p [n],
l=0 N /2−1
s¯op [k] =
q[l]b¯ p [k − 1 − 2l] =⇒ sˆ¯op [n] = q[n] ˆ 1 ω−n bˆ¯ p [n].
(8.12)
l=0
Denote the N /2-periodic sequence by p def v [2n] . V¯ p [n] = p u [2n]
Equation (3.20) implies that ω−n V¯ p [n] = ωn V¯ p [−n].
(8.13)
8.3.2 Filter Banks The signals x0 = {x[2k]} and x1 = {x[2k + 1]} from Π [N /2] are the polyphase components of a signal x = {x[k]} ∈ π [N ]. p In order to derive the prediction p-filters, we construct the spline s¯e , which interp polates the signal x0 such that s¯e [2l] = x0 [l], k = 0, ..., N /2 − 1, and compute its values on the grid go = {2l + 1}. It was done in Proposition 3.7. p Equation (3.4) p implies that sˆ¯e1 [n]1 [n] = V¯ p [n] xˆ0 [n]. This means that the set s¯e [2l + 1] , l = p 0, ...N /2 − 1, of samples of the interpolating discrete-time-spline s¯e on the grid go p ¯ is the result of p-filtering the signal x0 by the p-filter fp , whose frequency response p is fˆ¯p [n]1 = V¯ p [n]. p In order to derive the updating p-filters, we construct the spline s¯o such that its p odd polyphase component interpolates the signal d, that is s¯0 [2l + 1] = d[l], l = 0, ..., N /2 − 1. Then, we compute the spline’s values on the grid ge = {2l}. p It follows from Eq. (8.12) that the DFTs of the polyphase components of s¯o are sˆ¯o0 [n] = p
u p [2n] ω−2n p q[n] ˆ 1 v p [2n], sˆ¯o1 [n] = q[n] . ˆ 1 2 2
Hence, we have p
s¯o1 [l] = d[l] =⇒ q[n] ˆ 1= Equation (8.13) implies that
ˆ 2d[n] p ˆ =⇒ sˆ¯o0 [n]1 [n] = ω−2n V¯ p [n] d[n]. p u [2n]
8.3 Prediction and Updating p-Filters Derived from Discrete-Time Splines
143
ω−2n V¯ p [n] = ω−n (ω−n V¯ p [n]) = ω−n (ωn V¯ p [−n]) = V¯ p [−n]. p This means that the set s¯o [2l] , l = 0, ...N /2 − 1, of samples of the interpolating p discrete-time-spline s¯o on the grid ge = {[2l]} is the result of p-filtering the signal d p p by the p-filter f¯u , whose frequency response is fˆ¯u [n]1 = V¯ p [−n]. Then Eqs. (8.3)–(8.5) imply that the synthesis p-filters h¯ 0 and h¯ 1 are defined by their frequency responses as follows: 1 1 u p [2n] + ω−n v p [2n] , hˆ¯ 0 [n] = √ 1 + ω−n V¯ p [n] = √ u p [2n] 2 2 (u p [2n])2 − |v p [2n]|2 W¯ p [n] = 1 − V¯ p [n] V¯ p [−n] = , (u p [2n])2 ω−n u p [2n] − ω−n v p [2n] ¯ p [n] + W hˆ¯ 1 [n] = √ u p [2n] 2 u p [2n] + ω−n v p [2n] ω−n u p [2n] − ω−n v p [2n] 1 + . = √ u p [2n] u p [2n] 2
(8.14) (8.15) (8.16)
The frequency responses of the analysis p-filters h˜ 0 and h˜ 1 are 1 ˆ h¯˜ 0 [n] = √ 1 + ω−n V¯ p [n] + W¯ p [n] 2 p u [2n] + ω−n v p [2n] 1 p ¯ + W [n] , = √ u p [2n] 2 u p [2n] − ω−n v p [2n] 1 u p [2n] + ω−n v p [2n] 1+ , = √ u p [2n] u p [2n] 2 ω−n u p [2n] − ω−n v p [2n] ω−n ˆ . h¯˜ 1 [n] = √ 1 − ω−n V¯ p [n] = √ u p [2n] 2 2
(8.17)
(8.18)
Remark 8.3.2 Note that W¯ p [n] is an N /2-periodic sequence. Apparently, W¯ p [0] = 0 and, consequently, W¯ p [N /2] = 0. Thus, the sequence W¯ p [n] can be regarded as the frequency response of a band-pass p-filter. The synthesis and analysis p-filters are linked in the following way: N N ˆ¯˜ 1 ˆ −n ˆ¯ 0 1 −n ˆ¯˜ 0 ¯ , h [n] = ω h n + . h [n] = ω h n + 2 2 All the p-filters have a linear phase. Except for the simplest case r = 1, the impulse responses of the p-filters are infinite. Nevertheless, they are well localized in time domain.
144
8 Biorthogonal Wavelet Transforms Originating from Discrete …
8.3.2.1
Examples
Example: linear interpolating spline, p = 2 The frequency responses are √ πn 1 + ω2n ω−n 1 − ω−n V¯ 2 [n] = 2 ω−n sin2 V¯ 2 [n] = , hˆ˜ 1 [n] = √ , 2 N 2 √ πn , hˆ 0 [n] = 2 cos2 N √ √ π n πn πn πn 1 + 2 sin2 , hˆ 1 [n] = 2 ω−n sin2 1 + 2 cos2 . hˆ˜ 0 [n] = 2 cos2 N N N N
Example: quadratic interpolating spline, p = 3 The frequency responses are 4 4 1 + w2n n cos π n/N − sin π n/N , = ω ω2n + 6 + ω−2n cos4 π n/N + sin4 π n/N 2 sin4 π n/N 1 − ω−n V¯ 3 [n] = . cos4 π n/N + sin4 π n/N
V¯ 3 [n] = 4
Remark 8.3.3 The p-filters derived from the quadratic interpolating discrete-time spline are the same as the p-filters derived from the fourth-order interpolating discrete spline. Example: cubic interpolating spline, p = 4 The frequency responses are ω3n + 23ωn + 23ω−n + ω−3n , V¯ 4 [n] = ωn 8(ω2n + 4 + ω−2n ) cos4 π n/N (2 + sin 2π n/N ) 1 h¯ˆ 0 [n] = √ 1 + ω−n V¯ p [n] = , 2 + cos 4π n/N 2 sin4 π n/N (2 + cos 2π n/N ) ˆ . h¯˜ 1 [n] = w−n hˆ¯ 0 [n + N /2] = w−n 2 + cos 4π n/N Example: interpolating spline of fourth degree, p = 5 The frequency responses are
(8.19)
8.3 Prediction and Updating p-Filters Derived from Discrete-Time Splines
145
Fig. 8.3 Impulse and magnitude responses of p-filters derived from discrete-time splines of orders p, where p = 3 (top), 5, 8, 10, 12, 15 (bottom). Left panel – impulse response of p-filters. Left to right: h0 −→ h1 −→ h˜ 0 −→ h˜ 1 . Right panel – magnitude responses of the p-filters h0 and h1 – dashed lines, of the p-filters h˜ 0 and h˜ 1 – solid lines
ω3n + 11ωn + 11ω−n + ω−3n , ω4n + 76ωn + 230 + 76ω−n + ω−2n sin6 π n/N (10 + 2 cos 2π n/N ) ˆ , h¯˜ 1 [n] = ω−n 5 + 18 cos2 2π n/N + cos4 2π n/N cos6 π n/N (10 + 2 sin 2π n/N ) . h¯ˆ 0 [n] = 5 + 18 cos2 2π n/N + cos4 2π n/N
V¯ 5 [n] = 16ωn
(8.20)
Figure 8.3, which was produced by the MATLAB code BW_exam_7U, displays the impulse and magnitude responses (MR) of the analysis and synthesis lowand high- pass p-filters derived from interpolating discrete-time splines of different orders. Implementation of transforms Forward and inverse biorthogonal wavelet transforms of periodic signals with the designed filter banks are implemented by the MATLAB functions BW_analU.m and BW_synthU.m, respectively. Two-dimensional transforms are implemented by subsequent application of the 1D transforms to columns and rows of the 2D arrays. This is done by the MATLAB functions BW_anal_2DU.m and BW_synth_2DU.m.
8.4 Discrete Vanishing Moments The vanishing moments property, which means elimination of polynomials of a certain degree by the application of wavelet transforms, is important in wavelet analysis. For example, when data compression is implemented by multiscale wavelet transforms, this property makes it possible to condense the information on the smooth
146
8 Biorthogonal Wavelet Transforms Originating from Discrete …
component of a signal(image) into a small number of low-frequency transform coefficients. Since in this volume we deal with the discrete-time periodic signals, a standard notion of vanishing moments is not applicable. Instead, we introduce the so-called local discrete vanishing moments (LDVM). Proposition 8.2 ([4]). Assume that the frequency response of a high(band)-pass p-filter g can be represented as g[n] ˆ = (ωn − 1)m α[n], where m is some natural number and α[n] is a rational function of ωn , which has no poles for n ∈ Z and α[0] = 0. Assume that x is a signal from π [N ] that coincides with a sampled polynomial some interval x[k] = Pm−1 (k) as k = k0 , ..., km , where Pm−1 of degree m − 1 at N −1 g[k − l] x[l] = 0, fork = k0 , ..., km − m − 1. m < km − k0 < N . Then, l=0 Definition 8.1 If a high(band)-pass p-filter g satisfies the conditions of Proposition 8.2, we say that the p-filter g locally eliminates sampled polynomials of degree m − 1. def If a wavelet ψ is defined by ψ[k] = g[k], k ∈ Z, then we say that it has m local discrete vanishing moments (LDVMs). Remark 8.4.1 The statement of Proposition 8.2 concerning the high-pass p-filter g remains true if the frequency responses are represented as g[n] ˆ = sinm
πn α[n], ¯ N
where m is some natural number and α[n] ¯ is a rational function of ωn , which has no poles for n ∈ Z and α[0] ¯ = 0.
Proposition 8.3 ([4]). Assume that the p-filters h0 , h1 , h˜ 0 , h˜ 1 are derived from the discrete splines of order 2r and their frequency
responses are given by Eqs. (8.6) and (8.7). Then, the high-pass p-filters h1 , h˜ 1 locally eliminate sampled polynomials def
2r of degree 2r − 1. Consequently, the synthesis and analysis wavelets ψ[1] [k] = h 1 [k] def 2r and ψ˜ [1] [k] = h˜ 1 [k], k ∈ Z, respectively, have 2r LDVMs. The high-pass p-filters
h1 , h˜ 1 derived from fourth-order quasi-interpolating discrete splines (Eqs. 8.9 and 8.10) locally eliminate sampled cubic polynomials. The discrete-time wavelets have 4 LDVMs.
We observed from the examples in Sect. 8.3.2.1 that the high-pass p-filters, which are derived from discrete-time splines of second and fourth orders, locally eliminate linear and cubic sampled polynomials, respectively. Consequently, the corresponding wavelets have two and four LDVMs, respectively. On the other hand, the high-pass p-filters derived from third-order discrete-time splines locally eliminate cubic sampled polynomials as well. The corresponding wavelets have four LDVMs. The wavelets derived from fifth-order discrete-time splines locally eliminate fifth-degree sampled polynomials, as well. The corresponding wavelets have six LDVMs. Generally, the following facts take place.
8.4 Discrete Vanishing Moments
147
Proposition 8.4 Assume that the p-filters h¯ 0 , h¯ 1 , h˜¯ 0 , h˜¯ 1 are derived from the discrete-time splines of either order p = 2r or p = 2r − 1, and their frequency
responses are given by Eqs. (8.14) – (8.18). Then, the high-pass p-filters h¯ 1 , h˜¯ 1 locally eliminate sampled polynomials of degree 2r − 1. Consequently, the synthedef def p p sis and analysis wavelets ψ¯ [1] [k] = h 1 [k] and ψ˜¯ [1] [k] = h˜ 1 [k], k ∈ Z, respectively, have 2r LDVMs. The statement follows directly from Propositions 8.1 and 8.2.
References 1. A. Averbuch, A.B. Pevnyi, V. Zheludev, Biorthogonal Butterworth wavelets derived from discrete interpolatory splines. IEEE Trans. Signal Process. 49(11), 2682–2692 (2001) 2. A. Averbuch, A.B. Pevnyi, V. Zheludev, Butterworth wavelet transforms derived from discrete interpolatory splines: recursive implementation. Signal Process. 81(11), 2363–2382 (2001) 3. A. Averbuch, V. Zheludev, Construction of biorthogonal discrete wavelet transforms using interpolatory splines. Appl. Comput. Harmon. Anal. 12(1), 25–56 (2002) 4. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, 2014) 5. C. Herley, M. Vetterli, Wavelets and recursive filter banks. IEEE Trans. Signal Process. 41(12), 2536–2556 (1993) 6. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010) 7. W. Sweldens, Lifting scheme: A new philosophy in biorthogonal wavelet constructions, in Wavelet Applications in Signal and Image Processing III, vol. 2569 of Proc. SPIE, A.F. Laine, M.A. Unser, 1995, pp 68–79 8. W. Sweldens, The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 9. W. Sweldens, The lifting scheme: a construction of second generation wavelets. SIAM J. Math. Anal. 29(2), 511–546 (1997)
Chapter 9
Wavelet Frames Generated by Spline-Based p-Filter Banks
Abstract This chapter presents a design scheme to generate tight and so-called semi-tight frames in the space of discrete-time periodic signals. The frames originate from oversampled perfect reconstruction periodic filter banks. The filter banks are derived from discrete-time and discrete periodic splines. Each filter bank comprises one linear phase low-pass filter (in most cases interpolating) and one high-pass filter, whose magnitude response mirrors that of a low-pass filter. In addition, these filter banks comprise a number of band-pass filters. In this chapter, frames generated by four-channel filter banks are briefly outlined (see Chap. 17 in [2] for details) and tight frames generated by six- and eight-channel filter banks are introduced. These latter frames provide an additional redundancy to the frame representations of signals. The design scheme enables us to design framelets with any number of local discrete vanishing moments (LDVMs). The computational complexity of the framelet transforms practically does not depend on the number of LDVMs and on the size of the impulse response of filters.
It was mentioned in Sect. 1.3 that oversampled PR filter banks generate a specific frames type in the periodic signal space. The design of tight and semi-tight frames, whose generating three- and four-channel p-filter banks originated from polynomial and discrete splines, was described in [1, 2]. These frames were applied in [1, 2] to restoration of images, which were blurred, corrupted by noise and a significant part of those pixels was missing. The spline-based frames have properties such as symmetry, interpolation and flat spectra, which are attractive for signal processing. These properties are combined with fine time-domain localization and efficient implementation. These families include framelets that have any number of local discrete vanishing moments (LDVMs). Non-compactness of their support is compensated by an exponential decay as time tends to infinity. In this chapter, we outline the design of tight and semi-tight frames generated by four-channel spline-based p-filter banks and describe how to design six-and eightchannel perfect reconstruction (PR) p-filter banks, which generate tight frames with increased redundancy.
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_9
149
150
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
9.1 Oversampled PR Filter Banks and Frames In this section, we outline p-filter banks with downsampling factor of 2. These p-filter banks generate frames in the space Π [N ] of N -periodic signals.
9.1.1 Oversampled p-Filter Banks with Downsampling Factor 2 ˜ def A set of p-filters H = h˜ s , s = 0, ..., S − 1, which, being time-reversed and applied to an input signal x ∈ Π [N ], produces the set of the output signals {ys } ∈ Π [N /2], s = 0, ..., S − 1, which are downsampled by factor 2, y s [l] =
N −1
h˜ s [k − 2l] x[k], s = 0, . . . , S − 1, l ∈ Z,
(9.1)
k=0 def
is called an S−channel analysis p-filter bank. A set of p-filters H = {hs } , s = 0, ..., S − 1, which, being applied to a set of input signals {ys } from Π [N /2], s = 0, ..., S − 1, that are upsampled by factor 2, produces the output signal x[l]) ˇ =
/2−1 S−1 N s=0
h s [l − 2k] y s [k] l ∈ Z,
(9.2)
k=0
that belongs to Π [N ], is called an S−channel synthesis p-filter bank. If the upsampled signals {ys } ∈ Π [N /2], s = 0, ..., S − 1, which are defined in Eq. (9.1), are used as an input to the synthesis p-filter bank and the output signal is xˇ = x, then the pair of analysis–synthesis p-filter banks form a perfect reconstruction (PR) p-filter bank. If the number of channels S equals to the downsampling factor, then the p-filter bank is said to be critically sampled. If S is larger than the downsampling factor, then the p-filter bank is oversampled. Critically sampled PR p-filter banks, where S = 2, generate biorthogonal wavelet bases (Chap. 8, Sect. 8.1.2), while oversampled PR p-filter banks serve as a source for the design of discrete-time wavelet frames. As in Chap. 8, h˜ 0 and h0 are assumed to be low-pass p-filters. ˜ def = h˜ s and Similarly to Eqs. (8.1) and (8.2), operations with p-filter banks H def
H = {hs } , s = 0, ..., S − 1, can be represented in a matrix form by ⎛
⎞ ⎞ ⎛ 0 yˆ 0 [n]1 yˆ [n]1 ˆ xˇ0 [n]1 xˆ0 [n]1 ⎜ ⎟ ˜ ⎟ ⎜ .. .. ⎝ ⎠ = P[−n] · xˆ [n] , ⎠ . . ˆˇ1 [n]1 = P[n] · ⎝ 1 1 x yˆ S−1 [n]1 yˆ S−1 [n]1
9.1 Oversampled PR Filter Banks and Frames
151
where the S × 2 analysis and the 2 × S synthesis polyphase matrices are, respectively, ⎛
hˆ˜ 0 [n]1 ⎜ 0. .. def ⎜ ˜ P[n] =⎜ ⎜ˆ ⎝ h˜ S−1 [n]1 0
⎞ hˆ˜ 01 [n]1 ⎟ 0 .. ⎟ hˆ 0 [n]1 ... hˆ 0S−1 [n]1 . ⎟ , P[n] def , n ∈ Z. = hˆ 01 [n]1 ... hˆ 1S−1 [n]1 ˆh˜ S−1 [n] ⎟ ⎠ 1 1
Here, xˆˇ p [n]1 and xˆ p [n]1 , h˜ˆ sp [n]1 and hˆ sp [n]1 , p = 0, 1, s = 0, ..., S − 1, are the DFTs of the polyphase components of the signals xˇ and x and the p-filters h˜ s and h˜ s , respectively. The relations ˜ (9.3) P[n] · P[−n] = I2 , n ∈ Z, where I2 is the 2 × 2 identity matrix, is the condition for the analysis–synthesis pair ˜ H of p-filter banks to form a PR p-filter bank. H,
9.1.2 Frames in the Space of Periodic Signals def L−1 Definition 9.1 A system Φ˜ = {φ˜l }l=0 , L ≥ N , of signals from Π [N ] forms a frame for the space Π [N ] if there exist positive constants A and B such that for any signal x = {x[k]} ∈ Π [N ]
Ax2 ≤
L−1
|x, φ˜l |2 ≤ Bx2 .
l=0
If the frame bounds A and B are equal to each other then the frame is said to be tight. def L−1 If the system Φ˜ is a frame then there exists another frame Φ = {φl }l=0 for the space Π [N ] such that any signal x ∈ Π [N ] can be expanded into the sum L−1 x, φ˜l φl . The analysis Φ˜ and synthesis Φ frames can be interchanged. x = l=0 Together they form the so-called bi-frame. If the frame is tight then Φ can be chosen ˜ as Φ = cΦ. If L > N then many synthesis frames can be associated with a given analysis L−1 x, φ˜l φl provides a redundant repreframe. In that case, the expansion x = l=0 sentation of the signal x. It was established in [6] that PR filter banks operating in the space l1 of decaying discrete-time signals generate frames for this space. A similar fact was proved in [10] for p-filter banks that operate in Π [N ].
152
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
9.1.2.1
One-Level FrameTransform def ˜ def = h˜ s and a synthesis H = {hs } , s = 0, ..., S − 1, Assume that an analysis H p-filter banks with downsampling by factor 2, constitute a PR p-filter bank. We denote the impulse responses of the p-filters by N −1 s N −1 s def s s def = ψ˜ [1] [l] = h˜ s [l] , ψ[1] = ψ[1] [l] = h s [l] l=0 , s = 0, ..., S − 1. ψ˜ [1] l=0 (9.4) Then, relations in Eqs. (9.1) and (9.2) can be rewritten as x[k] =
S−1
N /2−1 def
s s x[1] [k], x[1] [k] =
s=0 s y[1] [l] =
N −1
s s y[1] [l] ψ[1] [k − 2l],
l=0 s s ψ˜ [1] [κ − 2l] x[κ] = x, ψ˜ [1] [· − 2l],
κ=0
⇐⇒ x =
S−1
s x[1]
s=0
=
/2−1 S−1 N s=0
s s x, ψ˜ [1] [· − 2l] ψ[1] [· − 2l].
(9.5)
l=0
Thus, x ∈ Π [N ] is expanded over the system s the signal ψ[1] [· − 2l] , s = 0, ..., S − 1, l = 0, ..., N /2 − 1. The expansion coefficients are s the inner products x, ψ˜ [1] [· − 2l] . ˜ Theorem 9.1 ([10]) If the polyphase matrices P˜ and P of the p-filter banks H and H, respectively, satisfy the PR condition of Eq. (9.3) then the 2-sample shifts s s [· − 2l] and ψ[1] [· − 2l] , s = 0, ..., S − 1, l = 0, ..., N /2 − 1, of the sigψ˜ [1] s s nals ψ˜ [1] and ψ[1] , s = 0, ..., S − 1, defined in Eq. (9.4), form a pair of the analysis ˜ Φ and the synthesis Φ frames of the space Π [N ], respectively. These frames are interchangeable. If the relations ˜ T · P[−n] ˜ P[n] = cI2 , n ∈ Z,
(9.6)
hold then the frame is tight. The notation ·T means matrix transposition. If the condition in Eq. (9.6) is satisfied, then the synthesis filter bank can be chosen to be equal to the analysis one (up to a constant factor). We consider in this chapter the case when S > 2. Then, the representation of signals from Π [N ], given in Eq. (9.5), is redundant. The redundancy ratio for onelevel frame transform is ρ = S/2. s s and ψ[1] , s = 0, ..., S − 1, are called the analysis and synthesis, The signals ψ˜ [1] respectively, discrete-time framelets of the first decomposition level.
9.1 Oversampled PR Filter Banks and Frames
9.1.2.2
153
Multi-level Frame Transform
To increase redundancy of a signal representation, the frame transform is applied to the low-frequency signal such that 0 y[1]
=
0 y[1] [l]
,
0 y[1] [l]
=
N −1
s ψ˜ [1] [k − 2l] x[k],
k=0
which belongs to Π [N /2]. To apply the frame transforms to a signal from Π [N /2], 0 , the same operations as in the one-level transforms and, in particular, to signal y[1] of a signal from Π [N ] are executed with the difference that N is replaced by N /2. ˜ Consequently, new polyphase matrices become P[2n] and P[2n]. Resulting from the two-level framelet transform, we have the signal x expanded over 4-sample shifts of the second-level framelets and 2-sample of firstthe S−1 shifts S−1 s s x[2] + s=1 x[1] , level framelets (except for the low-frequency framelet): x = s=0 where N /4−1 s s s x, ψ˜ [2] [k] = l=0 [· − 4l] ψ[2] [k − 4l], s = 0, ..., S − 1, x[2] N /2−1 s s s x[1] [k] = l=0 x, ψ˜ [1] [· − 2l] ψ[1] [k − 2l], s = 1, ..., S − 1. The second-level framelets for s = 0, ..., S − 1 are derived as follows: s ψ˜ [2] [κ] =
N /2−1
0 s [κ − 2ν], ψ[2] [k] = h˜ s[1] [ν] ψ˜ [1]
ν=0
N /2−1
0 ψ[1] [k − 2l] h s[1] [l].
l=0
The frame transforms are extended to lower levels by subsequent application of 0 , μ = 1, ...m − 1. Here the one-level transforms to the low-frequency signals y[μ] 0 y[0] means the original signal x. ˜ μ n] and P[2μ n] Then, the iterated transform with the polyphase matrices m P[2 S−1 s 0 x[μ] , where leads to the frame expansion of the signal x = x[m] + μ=1 s=1 s x[m] [k] =
l∈Z
s s x, ψ˜ [m] [· − 2m l] ψ[m] [k − 2m l], s = 0, ..., S − 1,
N /2μ −1 s s s x, ψ˜ [μ] x[μ] [k] = l=0 [· − 2μl] ψ[μ] [k − 2μl], μ < m, s = 1, ..., S − 1. The synthesis and analysis framelets are derived iteratively def
s [k] = ψ[μ]
def s [k] = ψ˜ [μ]
N /2μ−1 −1 l=0
N /2μ−1 −1 l=0
0 h s[μ−1] [l] ψ[μ−1] [k − 2μ−1l], 0 [k − 2μ−1l], s = 0, ..., S − 1. h˜ s[μ−1] [l] ψ˜ [μ−1]
(9.7)
154
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
Fig. 9.1 Diagrams of direct (top) and inverse (bottom) 3-level framelet transforms
The m-level framelet transform of a signal x results in the set of coefficients x −→ Ym =
S−1 s=0
s y[m] [l]
S−1 s=1
S−1 s s y[m−1] y[1] [l] ..., [l] . s=1
The transform is invertible. Once the set Ym of coefficients is available, consecutive application of the operations Eq. (9.7) restores the low-frequency coefficients. In the end, Eq. (9.5) restores the signal x. The diagrams in Fig. 9.1 illustrate the direct and inverse three-level framelet transforms with a three-channel p-filter bank.
9.1 Oversampled PR Filter Banks and Frames
9.1.2.3
155
Implementation of Multi-level Frame Transform
The direct and inverse multi-level frame transforms of a signal x ∈ Π [N ] using a ˜ PR p-filter bank, whose polyphase matrices are P[n] and P[n], are executed in the following way. Algorithm 1 Direct transform of a signal x def
1: Initialization: y = x. Split yinto the evenand the odd polyphase components y = y0 + y1 and compute their DFT: yˆ0 [n]1 and yˆ1 [n]1 . 2: For μ = 1 to m Implement the one-level transform ⎞ ⎛ 0 yˆ[μ] [n]μ ⎟ ⎜ yˆ0 [n]μ .. (μ−1) ⎟ = P[−2 ⎜ ˜ n] · ⎠ ⎝ . yˆ1 [n]μ S−1 yˆ[μ] [n]μ μ s [k] = 2μ N /2 −1 ω2μ kn yˆ s [n] , s = 1, ..., S − 1, y[μ] μ n=0 [μ] N s def s [k] , k = 0, ...N /2μ − 1, s = 1, ..., S − 1, = y[μ] and store the transform coefficients y[μ] of the μ-th decomposition level
Compute the IDFT
def
0 [n] , n ∈ Z. Assign yˆ [n]μ = yˆ[μ] μ Compute the DFT yˆ0 [n]μ+1 and yˆ1 [n]μ+1 of the even and odd polyphase components of the signal y:
yˆ [n]μ + yˆ [n + N /2μ+1 ]μ yˆ [n]μ − yˆ [n + N /2μ+1 ]μ , yˆ1 [n]μ+1 = μ 2 2ω−2 k ——————————————————— N /2m −1 2m kn 0 0 [k] = 2m ω yˆ[m] [n]m Compute the IDFT y[m] n=0 N def 0 0 and store the transform coefficients y[m] = y[m] [k] , k = 0, ...N /2m − 1.
yˆ0 [n]μ+1 = 3:
Algorithm 2 Inverse transform
m s [n] = N /2 −1 ω−2m kn y s [k], k = 0, ...N /2m − 1: Initialization: Compute the DFT yˆ[m] m [m] k=0 1, s = 0, ...S − 1 2: For μ = m − 1 to 0: Implement the one-level inverse transform ⎞ ⎛ 0 yˆ[μ+1] [n]μ+1 ⎟ ⎜ yˆ0 [n]μ+1 .. ⎟ = P[2μ n] · ⎜ ⎠ ⎝ . yˆ1 [n]μ+1 S−1 yˆ[μ+1] [n]μ+1
3:
μ s [n] = N /2 −1 ω−2μ kn y s [k], s = 1, . . . , S − 1. Compute the DFT yˆ[μ] μ [μ] k=0 0 [n] = yˆ [n] −2μ kn yˆ [n] Compute the DFT yˆ[μ] μ 0 μ+1 + ω 1 μ+1 ——————————————————— N /−1 kn 0 0 [k] = 1 Compute the IDFT y[0] n=0 ω yˆ[0] [n], N 0 [k] Assign x[k] = y[0]
156
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
9.2 Design of p-Filter Banks for Frames Generation Design of interpolating three-channel PR p-filter banks generating frames is described in detail in [2], Chap. 17 (periodic setting) and in [3], Chap. 14 (non-periodic setting). We recall from [3] one example of the interpolating three-channel PR p-filter bank that generates a tight frame for the space of non-periodic signals belonging to l1 . This frame will be used for processing hyper-spectral data in a medical application described in Chap. 11. Filter Bank Originating from Quadratic Interpolating Polynomial Spline The three-channel PR p-filter bank comprises the low-pass filter h0 , the high-pass filter h2 , and the band-pass filter h1 , whose transfer functions are (z + 2 + z −1 )2 z −1 (z − z −1 )2 . h 0 (z) = √ , h 2 (z) = h 0 (−z), h 1 (z) = −2 z + 6 + z2 2 z −2 + 6 + z 2 This filter bank generates a tight frame in the signal space. The filters are IIR, therefore, the corresponding framelets have infinite support. Filtering is executed in a recursive way (see Sect. 2.2.2 in [3]). The filters h1 and h2 annihilate sampled polynomials of the first and third degrees, respectively, and 1 2 and ψ[1] have two and four LDVMs, respectively. the corresponding framelets ψ[1] All the framelets are symmetric. Figure 9.2 displays the impulse responses of the filters hs , which are the discrete time framelets of the first level, and their magnitude responses. The magnitude responses of the filters h0 and h2 are flat. In the rest of the section, we outline the design of PR p-filter banks in the space Π [N ], which have downsampling factor 2 and comprise four and more channels.
9.2.1 Four-Channel Perfect Reconstruction p-Filter Banks ˜ = h˜ 0 , h˜ 1 , h˜ 2 , h˜ 3 and synthesis H = The PR condition for a pair of analysis H 0 1 2 3 h , h , h , h p-filter banks is expressed via their polyphase matrices for n ∈ Z: ⎛
hˆ˜ 00 [−n]1 ⎜ 0 ⎜ hˆ˜ 1 [−n]1 hˆ [n] hˆ 1 [n] hˆ 2 [n] hˆ 3 [n] 0 ˜ P[n] · P[−n] = ˆ 00 1 ˆ 01 1 ˆ 02 1 ˆ 03 1 · ⎜ ⎜ ˆ˜ 2 h 1 [n]1 h 1 [n]1 h 1 [n]1 h 1 [n]1 ⎝ h 0 [−n]1 hˆ˜ 3 [−n] 0
The matrix product in Eq. (9.8) can be split into two products:
1
⎞ hˆ˜ 01 [−n]1 ⎟ hˆ˜ 11 [−n]1 ⎟ ⎟ = I2 . ⎟ hˆ˜ 21 [−n]1 ⎠ hˆ˜ 31 [−n]1 (9.8)
9.2 Design of p-Filter Banks for Frames Generation
157
Fig. 9.2 Left: Impulse responses of the filter bank derived from quadratic interpolating splines (tight frame). Left to right: h0 (solid lines) −→ h1 (dashed lines) −→ h2 (dash-dot lines). Right: Magnitude responses of the filter bank: h˜ 0 –solid lines, h˜ 1 –dashed lines, h˜ 2 –dash-dot lines
10 01 01 23 23 ˜ ˜ ˜ P[n] · P[−n] = P [n] · P [−n] + P [n] · P [−n] = , 01
0 hˆ˜ 00 [n]1 hˆ˜ 01 [n]1 hˆ 0 [n]1 hˆ 10 [n]1 def 01 ˜ 01 [n] def , P = P [n] = ˆ 0 1 h 1 [n]1 hˆ 1 [n]1 hˆ˜ 10 [n]1 hˆ˜ 11 [n]1
2 ˜ˆ 20 [n]1 h˜ˆ 21 [n]1 h hˆ 0 [n]1 hˆ 30 [n]1 def def 23 23 P˜ [n] = ˆ P [n] = ˆ 2 . h 1 [n]1 hˆ 31 [n]1 h˜ 30 [n]1 h˜ˆ 31 [n]1 ˜ of p-filter banks generates a tight According to Theorem 9.1, a PR pair H, H frame if their polyphase matrices are linked as ˜ T ⇐⇒ P01 [n] = P˜ 01 [n]T and P23 [n] = P˜ 23 [n]T , n ∈ Z. P[n] = P[n]
˜ Definition matrices of the PR pair 9.2 Assume that P[n] and P[n] are polyphase ˜ ˜ H, H of p-filter banks, which generate a bi-frame Φ, Φ in the space Π [N ]. If P01 [n] = P˜ 01 [n]T and P23 [n] = P˜ 23 [n]T , n ∈ Z, then the frame the matrices ˜ Φ is called semi-tight. Φ,
158
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
The four-channel filter banks design begins from a linear phase low-pass filter h0 = h˜ 0 , whose FR hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 01 [n]1 is a rational function of ωn = e2πi n/N with real coefficients that has no poles as |ωn | = 1. Assume that hˆ 0 [n] is symmetric about the swap n → −n, which implies that hˆ 00 [n]1 = hˆ 00 [−n]1 and ω−n hˆ 01 [n]1 = ωn hˆ 01 [−n]1 . The IR h 0 [k] is symmetric about k = 0. In addition, assume that P01 [n] = P˜ 01 [n]T and the product P [n] · (P [−n]) = 01
01
T
α[n]1 0 0 β[n]1
(9.9)
is a diagonal matrix. The assumption in Eq.(9.9) is equivalent to the “orthogonality” condition hˆ 00 [n]1 hˆ 01 [−n]1 + hˆ 10 [n]1 hˆ 11 [−n]1 = 0. The simplest way to satisfy this condition is by defining the p-filter h1 through its polyphase components: 2 2 def def hˆ 10 [n]1 = −hˆ 01 [−n]1 , hˆ 11 [n]1 = hˆ 00 [−n]1 =⇒ α[n]1 = β[n]1 = hˆ 00 [n]1 + hˆ 01 [n]1 .
Due to the symmetry of hˆ 0 [n], the FR hˆ 1 [n] = ω−n hˆ 00 [n]1 − ω−n hˆ 01 [n]1 = ω−n hˆ 0 [n + N /2].
(9.10)
n ˆ1 Equation (9.10) implies that the sequence 1 ω h [n] is symmetric about the swap n → −n and, consequently, the IR h [k] is symmetric about k = 1. It follows from the assumption in Eq. (9.9) that the product
P23 [n] · P˜ 23 [−n] = Q[n] =
def
t[n]1 0 0 t[n]1
,
2 2 def is a diagonal matrix. Here, t[n]1 = 1 − hˆ 00 [n]1 + hˆ 01 [n]1 . Thus, design of the PR p-filter bank is reduced to factorization of the matrix Q[n].
9.2.1.1
Diagonal Factorization of the Matrix Q[n]
There are many ways to factorize the matrix Q[n]. One way is to define the matrices P23 [n] and P˜ 23 [n] to be diagonal: P [n] = 23
hˆ 20 [n]1 0 0 hˆ 31 [n]1
˜ 23
def
, P [n] =
hˆ˜ 20 [n]1 0
0
hˆ˜ 31 [n]1
,
which means that the odd polyphase components of the p-filters h˜ 2 and h2 as well as the even polyphase components of the p-filters h˜ 3 and h3 vanish. Consequently,
9.2 Design of p-Filter Banks for Frames Generation
159
we have to find four sequences hˆ 20 [n]1 , hˆ˜ 20 [n]1 , hˆ 31 [n]1 and hˆ˜ 31 [n]1 such that hˆ 20 [n]1 hˆ˜ 20 [−n]1 = hˆ 31 [n]1 hˆ˜ 31 [−n]1 = t[n]1 . Semi-tight Frame p-Filter Banks The sequence t[n]1 always can be factorized to t[n]1 = T [n]1 T˜ [−n]1 , where T [n]1 = T˜ [n]1 . Thus, we obtain the PR p-filter bank whose FRs are hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 00 [n]1 , hˆ 1 [n] = −hˆ 01 [−n]1 + ω−n hˆ 00 [−n]1 , hˆ 2 [n] = T 2 [n]1 , hˆ˜ 2 [n] = T˜ 2 [n]1 , hˆ 3 [n] = ω−n T 3 [n]1 , hˆ˜ 3 [n] = ω−n T˜ 3 [n]1 .
(9.11)
where T 2 [n]1 T˜ 2 [−n]1 = T 3 [n]1 T˜ 3 [−n]1 = t[n]1 . The PR p-filter bank defined by Eq. (9.11) generates a semi-tight frame in the space Π [N ]. Remark 9.2.1 The rational function t[n]1 of ωn is symmetric about the change n → −n. Therefore, it can be factorized into product of two symmetric rational functions T [n]1 and T˜ [−n]1 . An additional advantage of the semi-tight design is the option to swap approximation properties between analysis and synthesis framelets. Tight Frame p-Filter Banks If the following inequality 2 2 α[n]1 = h 00 [n]1 + h 01 [n]1 ≤ 1, n ∈ Z,
(9.12)
holds, then, due to the Riesz’s Lemma [8], the function t[n]1 can be factorized as t[n]1 = T [n]1 T [−n]1 . Thus, the PR p-filter bank, whose FRs are hˆ 2 [n] = T [n]1 , hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 00 [n]1 hˆ 1 [n] = −hˆ 01 [−n]1 + ω−n hˆ 00 [−n]1 , hˆ 3 [n] = ω−n T [−n]1 , generates a tight wavelet frame in the space Π [N ]. Certainly, symmetry of the FR hˆ 0 [n] does not guarantee symmetry of the FRs hˆ 2 [n] and hˆ 3 [n].
9.2.1.2
Symmetric Factorization of the Matrix Q[n]
If the inequality in Eq. (9.12) holds, then the sequence t[n]1 can be factorized to t[n]1 = T [n]1 T [−n]1 and the following factorization of the matrix Q[n] is possible. Define, A[−n]1 −A[−n]1 def def P˜ 23 [n] = P23 [n]T , P23 [n] = (9.13) A[n]1 A[n]1
160
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
√ def where A[n]1 = T [n]1 / 2. Then, the product P23 [n] · P˜ 23 [−n] =
A[−n]1 −A[−n]1 A[n]1 A[n]1
A[n]1 A[−n]1 · = Q[n]. −A[n]1 A[−n]1
A consequence of this choice is the fact that the p-filters h2 and h3 have a linear phase: hˆ 2 [n] = A[−n]1 + ω−n A[n]1 , hˆ 2 [−n] = A[n]1 + ωn A[−n]1 = ωn hˆ 2 [n], (9.14) hˆ 3 [n] = −A[−n]1 + ω−n A[n]1 , hˆ 3 [−n] = −A[n]1 + ωn A[−n]1 = −ωn hˆ 3 [n]. The following symmetry properties hold. Proposition 9.1 The impulse response (IR) of the p-filter h2 is symmetric about 1/2, while the IR of h3 is antisymmetric about 1/2. Since P˜ 23 [n] = P23 [n]T , the four-channel p-filter bank hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 01 [n]1 , hˆ 1 [n] = −hˆ 01 [−n]1 + ω−n hˆ 00 [−n]1 , hˆ 2 [n] = A[−n]1 + ω−n A[n]1 , hˆ 3 [n] = −A[−n]1 + ω−n A[n]1 .
(9.15)
generates a tight frame in the space Π [N ]. A symmetric factorization scheme is presented in [7]. Certainly, other schemes are possible.
9.2.1.3
Interpolating p-Filter Banks
Assume that the low-pass p-filter h0 is interpolating and its frequency response is √ 0 −n hˆ [n] = 1 + ω f [n]1 / 2, where the sequence f [n]1 is a rational function of ωn = e2πin/N that has no poles as |ωn | = 1 and f [0]1 = 1, ω−n f [n]1 = ωn f [−n]1 . The sequence t[n]1 to be factorized is 2 2 W [n]1 , t[n]1 = 1 − hˆ 00 [n]1 + hˆ 01 [n]1 = 2 def W [n]1 = 1 − | f [n]1 |2 = 2hˆ 0 [n] hˆ 0 [n + N /2].
(9.16)
When the diagonal factorization of the matrix Q[n] is applied, the polyphase submatrices are
9.2 Design of p-Filter Banks for Frames Generation
161
1 1 f [n]1 , P01 [n] = P˜ 01 [n]T = √ 2 − f [−n]1 1 2 2 T [n]1 0 T˜ [n]1 0 23 23 ˜ P [n] = P [n] = , 0 T 3 [n]1 0 T˜ 3 [n]1
(9.17)
where T 2 [n]1 T˜ 2 [−n]1 = T 3 [n]1 T˜ 3 [−n]1 = W [n]1 /2. In the case when the inequality Eq. (9.12) holds and the sequence t[n]1 is factorized to t[n]1 = T [n]1 T [−n]1 , the polyphase matrices P01 [n] = P˜ 01 [n]T are given in Eq. (9.17), while the matrices P23 [n] = P˜ 23 [n]T are given in Eq. (9.13).
9.2.2 Symmetric Tight Frames with Increased Redundancy In some cases, the symmetricsequence t[n]1 can be represented as a sum of symmetric sequences t[n]1 = Pp=0 t p [n]1 , each of which can be factorized to p t p [n]1 = T p [n]1 T [−n]1 such that the factor sequences T p [n]1 are symmetric about the swap n → −n. In this case, we can define a PR p-filter bank, which comprises S = 2(P + 2) channels, such that the synthesis p-filter bank coincides with the analysis p-filter bank, and all the p-filters have linear phases. We illustrate the design scheme for P = 1. Assume that h0 is a linear phase low-pass p-filter, the high-pass p-filter h1 is defined by its frequency response as in Eq. (9.10), and the sequence t[n]1 is split into the sum t[n]1 = T 0 [n]1 T 0 [−n]1 + T 1 [n]1 T 1 [−n]1 , where the sequences T p [n]1 , p = 0, 1, are symmetric about the swap n → −n. Define the p-filter bank H = {hs } , s = 0, ..., 5, whose polyphase matrix is
P[n] =
hˆ 00 [n]1 hˆ 10 [n]1 hˆ 20 [n]1 hˆ 30 [n]1 hˆ 40 [n]1 hˆ 50 [n]1
= P01 [n] + P23 [n] + P45 [n], hˆ 01 [n]1 hˆ 11 [n]1 hˆ 21 [n]1 hˆ 31 [n]1 hˆ 41 [n]1 hˆ 51 [n]1
0
2
4 hˆ 0 [n]1 hˆ 10 [n]1 hˆ 0 [n]1 hˆ 30 [n]1 hˆ 0 [n]1 hˆ 50 [n]1 def def def P01 [n] = , P23 [n] = , P45 [n] = hˆ 01 [n]1 hˆ 11 [n]1 hˆ 21 [n]1 hˆ 31 [n]1 hˆ 41 [n]1 hˆ 51 [n]1
and P[n]· = P[−n]T = I2 , n ∈ Z. In this case, the matrix Q is represented by
def
Q[n] =
def
Q0 [n] =
t[n]1 0 0 t[n]1
= Q0 [n] + Q1 [n],
0 T 0 [n]1 T 0 [−n]1 0 T 0 [n]1 T 0 [−n]1
,
162
9 Wavelet Frames Generated by Spline-Based p-Filter Banks def
Q1 [n] =
0 T 1 [n]1 T 1 [−n]1 0 T 1 [n]1 T 1 [−n]1
.
def
def
It is natural to define the polyphase matrices as P23 [n] = Q0 [n] and P45 [n] = Q1 [n]. Consequently, the frequency responses of the synthesis p-filter bank, which coincides with the analysis p-filter bank, are: hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 00 [n]1 , hˆ 2 [n] = T 0 [n]1 , hˆ 4 [n] = T 1 [n]1 ,
hˆ 1 [n] = −hˆ 01 [−n]1 + ω−n hˆ 00 [−n]1 , hˆ 3 [n] = ω−n T 0 [−n]1 , hˆ 5 [n] = ω−n T 1 [−n]1 .
(9.18)
The p-filter bank generates a tight wavelet frame in the space Π [N ]. Low-Pass p-Filters The key point in the design of a PR p-filter bank that generates a (semi-)tight frame in the signal space Π [N ] is the definition of a proper low-pass p-filter h0 = h˜ 0 . Once it is done, the rest of the p-filters is designed in a way that is described in this section.
9.3 Examples of PR p-Filter Banks Using Spline Filters Multiple examples of spline-based PR three- and four-channel p-filter banks, which generate tight and semi-tight frames in the space Π [N ] of N -periodic discrete-time signals, are presented in [2]. In this section, we present a few p-filter banks comprising more than four channels that generate symmetric tight frames. The design scheme was described in Sect. 9.2.2.
9.3.1 Examples of Six-Channel p-Filter Banks Generating Tight Frames A few examples of six-channel p-filter banks that generat tight frames are given in this section. Quasi-interpolating Fourth-Order Discrete Spline (Interpolating Low-Pass p-Filter): The FRs of the prediction p-filter f and of the low-pass p-filter h0 are given in Eqs. (8.8) and (8.9), respectively. Note that these p-filters coincide with the p-filters derived from quadratic quasi-interpolating splines. Then, we have πn πn 1 + 2 sin2 , N N √ πn πn hˆ 1 [n] = ω−n hˆ 0 [n + N /2] = ω−n 2 sin4 1 + 2 cos2 . N N
hˆ 0 [n] =
√
2 cos4
9.3 Examples of PR p-Filter Banks Using Spline Filters
163
The p-filter h0 is interpolating. Therefore, the sequence t[n]1 is represented by t[n]1 = W [n]1 /2 (see Eq. (9.16)), where W [n]1 =
ω2n − 2 + ω−2n 16
2
2n −ω + 14 − ω−2n
= W 0 [n]1 + W 1 [n]1 , 3 2n 2 2n −ω + 2 − ω−2n ω − 2 + ω−2n W 0 [n]1 = , W 1 [n]1 = 12 . 256 16
(9.19)
Thus, t[n]1 is decomposed as follows: t[n]1 = T 0 [n]1 T 0 [−n]1 + T 1 [n]1 T 1 [−n]1 , √ ω2n − 2 + ω−2n (1 − ωn )3 . , T 1 [n]1 = 6 T 0 [n]1 = √ 16 16 2 ω2n The six-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.18). The p-filter h1 locally eliminates sampled polynomials of third degree. Thus, the 1 2 3 has four LDVMs. The framelets ψ[1] and ψ[1] , which are the impulse framelet ψ[1] 4 2 3 responses of the p-filters h and h , respectively, have three LDVMs, while ψ[1] and 5 4 5 ψ[1] , which are the impulse responses of the p-filters h and h , respectively, have two LDVMs. The impulse responses of the p-filters hs , which are the discrete time framelets s ψ[1] , s = 0, ..., 5, of the first decomposition level and their MR are displayed in Fig. 9.3. A four-channel PR p-filter bank, which generates a tight frame, is given in Sect. 17.4.1 in [2]. That p-filter bank was designed using the symmetric factorization of the matrix Q[n] (Sect. 9.2.1.2). Cubic Discrete-Time Spline: def
Denote Ωc4 [n]1 = ω2n + 4 + ω−2n . By using Eq. (8.19), we get frequency responses of the p-filters h0 and h1 and the sequence W [n]1 : √ cos4 π n/N (2 + cos 2π n/N ) , hˆ 0 [n] = h¯ˆ 0 [n] = 2 Ωc4 [n]1 √ sin4 π n/N (2 − cos 2π n/N ) hˆ 1 [n] = hˆ¯ 0 [n] = ω−n 2 , Ωc4 [n]1 2 2n 2n ω − 2 + ω−2n W [n]1 = −ω + 14 − ω−2n . 4 8Ωc [n]1
(9.20)
The p-filter h1 locally eliminates sampled cubic polynomials. Thus, the framelet 1 has four LDVMs. By comparing Eq. (9.20) with Eq. (9.19), we observe that the ψ[1] numerators of the sequences W [n]1 in both cases are the same. Therefore, the decom-
164
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
position of W [n]1 for the cubic discrete-time spline is similar to the decomposition for the fourth-order quasi-interpolating discrete spline. Thus, W [n]1 = W 0 [n]1 + W 1 [n]1 , 3 2n 2 2n −ω + 2 − ω−2n ω − 2 + ω−2n 0 W [n]1 = , W 1 [n]1 = 12 . 2 8Ωc4 [n]1 8Ωc4 [n]1 Consequently, t[n]1 = T 0 [n]1 T 0 [−n]1 + T 1 [n]1 T 1 [−n]1 , √ ω2n − 2 + ω−2n (1 − ωn )3 , T 1 [n]1 = 6 . T 0 [n]1 = √ 8Ωc4 [n]1 8Ωc4 [n]1 2 ω2n The six-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.18). 1 2 3 The framelet ψ[1] has four LDVMs. The framelets ψ[1] and ψ[1] have three LDVMs, 4 5 while ψ[1] and ψ[1] have two LDVMs. The impulse responses of the p-filters hs , s , s = 0, ..., 5, of the first decomposition which are the discrete time framelets ψ[1] level and their MR are displayed in Fig. 9.3, which is produced by the MATLAB code fram6_exam_U.m. A four-channel PR p-filter bank, which generates a tight frame, is given in Sect. 17.4.2 in [2]. That p-filter bank was designed using the symmetric factorization of the matrix Q[n] (Sect. 9.2.1.2). Discrete-Time Spline of Fifth Order Denote, Ωc5 [n]1 = ω4n + 76ω2n + 230 + 76ω−2n + ω−4n . def
By using Eq. (8.20), we get frequency responses of the p-filters h0 and h1 and the sequence W [n]1 : √ cos6 π n/N (2 + cos2 π n/N ) , hˆ 0 [n] = hˆ¯ 0 [n] = 128 2 Ωc5 [n]1 √ sin6 π n/N (2 + sin2 π n/N ) hˆ 1 [n] = ω−n 128 2 , Ωc5 [n]1 3 −ω2n + 2 − ω−2n 2n −2n W [n]1 = −ω + 98 − ω = W 0 [n]1 + W 1 [n]1 , 2 5 Ωc [n]1 3 2n 2n −2n 4 −ω + 2 − ω −ω + 2 − ω−2n 0 1 W [n]1 = , W [n]1 = 96 . 2 2 Ωc5 [n]1 Ωc5 [n]1
9.3 Examples of PR p-Filter Banks Using Spline Filters
165
Fig. 9.3 Left: IRs of the p-filters h0 −→ h1 (red curves), h2 −→ h3 (blue curves) and h4 −→ h5 (black curves). Right: MRs of h0 and h1 (red curves), h2 and h3 (coincide with each other) (blue curves), and h4 and h5 (coincide with each other) black curves). Top: filters derived from fourthorder quasi-interpolating discrete splines, Center: filters derived from cubic discrete-time splines, Bottom: filters derived from fourth-degree discrete-time splines
Consequently, t[n]1 = T 0 [n]1 T 0 [−n]1 + T 1 [n]1 T 1 [−n]1 , 2n 2 √ (1 − ωn )3 −ω + 2 − ω−2n 0 T [n]1 = , T 1 [n]1 = 48 4 . √ Ωc [n]1 ω2n 2 Ωc5 [n]1
(9.21)
The six-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.18). The p-filter h1 locally eliminates sampled polynomials of the fifth degree. Thus, 1 2 3 has six LDVMs. The framelets ψ[1] and ψ[1] have four LDVMs, the framelet ψ[1] 4 5 while ψ[1] and ψ[1] have three LDVMs. The impulse responses of the p-filters hs , s , s = 0, ..., 5, of the first decomposition which are the discrete time framelets ψ[1] level and their MR are displayed in Fig. 9.3, which is produced by the MATLAB code fram6_exam_U.m. A four-channel PR p-filter bank, which generates a tight frame, is described in Sect. 17.4.2 in [2]. It stems from the non-symmetric factorization W [n]1 = w[n]1 w[−n]1 , where w[n]1 =
ω2n − 3 + 3ω−2n − ω−4n 1 − qω2n , √ q Ωc5 [n]1
(9.22)
√ q = 49 − 20 6. FRs of the p-filters h2 and h3 are defined in Eq. (9.14) where A[n]1 = w[n]1 /2. The p-filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight 2 3 frame. The framelets ψ[1] has four LDVMs and ψ[1] has three LDVMs.
166
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
9.3.2 Examples of Eight-Channel FIR p-Filter Banks Generating Tight Frames 2 2 It may happen that the sequence t[n]1 = 1 − h 00 [n]1 − h 01 [n]1 can be decomposed as t[n]1 = T 0 [n]1 T 0 [−n]1 + T 1 [n]1 T 1 [−n]1 + T 2 [n]1 T 2 [−n]1 ,
(9.23)
where the sequences T p [n]1 , p = 0, 1, 2, are symmetric about the swap n → −n. Then, the p-filter bank, whose frequency responses are hˆ 0 [n] = hˆ 00 [n]1 + ω−n hˆ 00 [n]1 , hˆ 2 [n] = T 0 [n]1 , hˆ 4 [n] = T 1 [n]1 , hˆ 6 [n] = T 2 [n]1 ,
hˆ 1 [n] = −hˆ 01 [−n]1 + ω−n hˆ 00 [−n]1 , hˆ 3 [n] = ω−n T 0 [−n]1 , hˆ 5 [n] = ω−n T 1 [−n]1 , hˆ 7 [n] = ω−n T 2 [−n]1 .
(9.24)
generates a tight wavelet frame in the space Π [N ]. Quadratic Quasi-interpolating Spline (Non-interpolating Low-pass p-Filter): These splines and the p-filters, which they generate, are described in [2]. Frequency responses of the FIR p-filter h0 and h1 are (see Sect. 17.4.1 in [2]): 2π n πn 1 3 − cos , hˆ 0 [n] = √ cos4 N N 2 2π n πn ω−n 3 + cos . hˆ 1 [n] = √ sin4 N N 2 The p-filter p-filter h1 locally eliminates sampled polynomials of third degree. Thus, 1 has four LDVMs. The sequence t[n]1 is the framelets ψ[1] t[n]1 =
2(−ω2n + 2 − ω−2n )2 Υ [n]1 , 1282
Υ [n]1 = −ω4n − 12ω2n + 346 − 12ω−2n − ω−4n , def
= −ω4n + 2 − ω−4n + 12(−ω2n + 2 − ω−2n ) + 320. There are different options to design a PR p-filter bank with linear phase p-filters. It can be either four-channel p-filter banks that generate semi-tight frames or an eight-channel p-filter bank that generates a tight frame. Symmetric factorization of t[n]1 = T [n]1 T˜ [−n]1 ,
9.3 Examples of PR p-Filter Banks Using Spline Filters
167
Fig. 9.4 Left: IRs of the p-filters h2 −→ h˜ 2 −→ h3 −→ h˜ 3 derived from quadratic quasiinterpolating splines (non-interpolating low-pass p-filter). Right: MRs of h2 and h˜ 3 (coincide with each other) (dashed lines), and MRs of h˜ 2 and h3 (coincide with each other) (solid line)
√ 2(−ω2n + 2 − ω−2n ) Υ [n]1 , T [n]1 = 2048 √ 2(−ω2n + 2 − ω−2n ) . T˜ [n]1 = 4 The four-channel PR p-filter banks generating semi-tight frame is given in Eq. (9.11). s s Either of the framelets ψ˜ [1] and ψ[1] , s = 2, 3, has two LDVMs: Antisymmetric factorization of t[n]1 = T [n]1 T˜ [−n]1 (semi-tight frame of t[n]1 = T [n]1 T˜ [−n]1 , : √ ω4n − 3ω2n + 3 − ω−2n , 2 8 √ 1 − ω2n Υ [n]1 . T [n]1 = 2 1024 T˜ [n]1 =
(9.25)
The four-channel PR p-filter bank, which generates a semi-tight frame, is given in Eq. 2 (9.11). This factorization assigns three LDVMs to the analysis framelet ψ˜ [1] leaving 2 3 only one LDVM to the synthesis framelet ψ[1] and vice versa for the framelets ψ˜ [1]
3 and ψ[1] Figure 9.4, which is produced by the MATLAB code fram4_examU.m, displays IRs of the p-filters h˜ s and hs , s = 2, 3, which are discrete-time framelets of the first level, and their MRs.
Eight-channel p-filter bank The sequence t[n]1 can be represented as in Eq. (9.23), where the factors are:
168
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
√ 2(−ω2n + 2 − ω−2n )(ω−2n − ω2n ) T [n]1 = , 128 √ √ 24(−ω4n + 3ω2n − 3 + ω−2n ) 10(−ω2n + 2 − ω−2n ) 1 2 , T [n]1 = . T [n]1 = 128 16 0
The eight-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.24). The p-filter h1 locally eliminates sampled cubic polynomials. Thus, the framelet 1 2 3 4 5 , ψ[1] , ψ[1] and ψ[1] have three LDVMs, ψ[1] has four LDVMs. The framelets ψ[1] 6 7 while ψ[1] and ψ[1] have two LDVMs. The impulse responses of the p-filters hs , s , s = 0, ..., 7, of the first decomposition which are the discrete-time framelets ψ[1] level and their MR, are displayed in Fig. 9.5, which is produced by the MATLAB code fram8_exam_U.m. A four-channel PR p-filter bank, which generates a tight frame, is described in Sect. 17.4.1 in [2]. That p-filter bank was designed using the symmetric factorization of the matrix Q[n] (Sect. 9.2.1.2). Upgraded Quadratic Quasi-interpolating Spline: Frequency responses of the p-filters h0 and h1 are (see Sect. 17.4.1 in [2]): 3 2 2π n 2 πn 1 + 9 sin − sin , N 2 N √ ˆh 1 [n] = ω−n hˆ 0 [n + N /2] = ω−n 2 sin6 π n 1 + 9 cos2 π n − 3 sin2 2π n . N N 2 N
hˆ 0 [n] =
√ πn 2 cos6 N
Their IRs comprise seven terms (up to periodization). The high-pass p-filter h1 locally 1 has six eliminates sampled polynomials of the fifth degree. Thus, the framelet ψ[1] LDVMs. The sequence t[n]1 = W [n]1 /2, where W [n]1 =
(−ω2n + 2 − ω−2n )3 P[n]1 , 2562
P[n]1 = 9ω4n − 96ω2n + 814 − 96ω−2n + 9ω−4n def
= 9(−ω2n + 2 − ω−2n )2 − 60(−ω2n + 2 − ω−2n ) + 640. Thus, t[n]1 is factorized according to Eq. (9.23) and the factors are: 3 ω−4n (1 − ω2n )5 T [n]1 = , T 1 [n]1 = √ 256 2 √ −2n 5 ω (1 − ω2n )3 T 2 [n]1 = . 32 0
√ 30 (−ω2n + 2 − ω−2n )2 , 256
The eight-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.24). The impulse responses of the p-filters hs , which are the discrete-time
9.3 Examples of PR p-Filter Banks Using Spline Filters
169
s framelets ψ[1] , s = 0, ..., 7, of the first decomposition level and their MR are displayed in Fig. 9.5, which is produced by the MATLAB code fram8_exam_U.m. 2 3 4 5 and ψ[1] have five LDVMs, ψ[1] and ψ[1] have four LDVMs, while The framelets ψ[1] 6 7 and ψ[1] have three LDVMs. ψ[1] The impulse responses of the p-filters hs , which are the discrete-time framelets s , s = 0, ..., 5, of the first decomposition level and their MR, are displayed in Fig. ψ[1] 9.5, which is produced by the MATLAB code fram8_exam_U.m. A four-channel PR p-filter bank, which generates a tight frame, is described in Sect. 17.4.1 in [2]. That p-filter bank was designed using the symmetric factorization of the matrix Q[n] (Sect. 9.2.1.2).
Pseudo-spline: The pseudo-splines are introduced in [7] (see also [2], Sect. 17.3.3.2). FRs of the non-interpolating low-pass p-filter h0 and the corresponding high-pass p-filter h1 are πn πn 1 + 3 sin2 , 2 cos6 N N √ πn πn hˆ 1 [n] = ω−n 2 sin6 1 + 3 cos2 , N N .
hˆ 0 [n] =
√
The p-filter h1 locally eliminates sampled polynomials of fifth degree. Thus, the 1 has six LDVMs. We have framelets ψ[1] 2 (−ω2n + 2 − ω−2n )2 Q[n]1 , 2562 Q[n]1 = −9ω4n − 28ω2n + 1610 − 28ω−2n − 9ω−4n = 9 (−ω4n + 2 − ω−4n ) + 28 (−ω2n + 2 − ω−2n ) + 1536. t[n]1 =
Thus, the factors in Eq. (9.23) are: √
2(−ω2n + 2 − ω−2n )(ω−2n − ω2n ) , 256 √ √ 56(−ω3n + 3ωn − 3ω−n + ω−3n ) 3(−ω2n + 2 − ω−2n ) T 1 [n]1 = ωn , T 2 [n]1 = . 256 8
3 T 0 [n]1 =
The eight-channel PR p-filter bank, which generates a tight frame, is defined by Eq. (9.24). 1 2 3 4 5 has six LDVMs. The framelets ψ[1] , ψ[1] , ψ[1] and ψ[1] have The framelet ψ[1] 6 7 three LDVMs, while ψ[1] and ψ[1] have two LDVMs. The impulse responses of the p-filters hs , which are the discrete- time framelets s ψ[1] , s = 0, ..., 7, of the first decomposition level and their MR are displayed in Fig. 9.5, which is produced by the MATLAB code fram8_exam_U.m.
170
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
Fig. 9.5 Left: IRs of the p-filters h0 −→ h1 (red curves), h2 −→ h3 (magenta curves), h4 −→ h5 (blue curves) and h6 −→ 75 (black curves). Right: MRs of h0 and h1 (red curves), h2 and h3 (coincide with each other) (magenta curves), h4 and h5 (coincide with each other) blue curves) and h6 and h7 (coincide with each other) black curves). Top: filters derived from fourth-order quasi-interpolating discrete splines (non-interpolating low-pass filter). Center: filters derived from upgraded quadratic quasi-interpolating splines. Bottom: filters derived from pseudo-splines
A four-channel PR p-filter banks, which generate a tight frame and two semi-tight frames, is described in Sect. 17.4.1 in [2]. The p-filter bank that generates a tight frame is designed by using the symmetric factorization of the matrix Q[n] (Sect. 9.2.1.2).
9.3.3 Four-Channel p-Filter Banks with IIR p-Filters Derived from Discrete Splines We recall from Sect. 17.4.2.2 in [2] that it is possible to derive from discrete splines of any even order the PR four-channel p-filter banks such that low-pass p-filters are interpolating, all p-filters are (anti-)symmetric and the p-filter banks generate tight frames. This is not the case for the discrete-time-spline generated four-channel p-filter banks, except for linear and quadratic discrete-time splines. The key point is factorization of the sequence W [n]1 = V 2r [n]V 2r [−n]. Denote, def Ωd2r [n]1 = cos2r π n/N + sin2r π n/N . The frequency responses of the prediction p-filters are fˆp2r [n]1
= V [n] = 2r
ωn cos2r π n/N − sin2r π n/N Ωd2r [n]1
.
Frequency responses of the low- and high-pass p-filters and the sequence W [n]1 are
9.3 Examples of PR p-Filter Banks Using Spline Filters
√ √ 2 cos2r π n/N 2 sin2r π n/N 1 −n ˆ , h [n] = ω Ωd2r [n]1 Ωd2r [n]1 2r 4(−1)r ω−2nr 1 − ω2n 4 sin2r 2π n/N W [n]1 = . 2 = 2 22r Ωd2r [n]1 42r Ωd2r [n]1 hˆ 0 [n] =
171
(9.26)
The sequence W [n]1 is factorized to W [n]1 = w[n]1 w[−n]1 , where w[n]1 =
r 2 ω−2np 1 − ω2n /(4r Ωd2r [n]1 ) if r is odd, p ∈ Z; if r is even, 2 sinr 2π n/N /(2r Ωd2r [n]1 ),
h 2 [n] = A[−n]1 + ω−n A[n]1 , h 3 [n] = −A[−n]1 + ω−n A[n]1 , (9.27) and A[n]1 = w[n]1 /2. The low-pass p-filter h0 is interpolating. The high-pass p1 has 2r filter h1 eliminates sampled polynomials of degree 2r − 1 (the framelet ψ[1] s LDVMs). The p-filter bank H = {h } , s = 0, 1, 2, 3, generates a tight frame. If r is even, then the band-pass p-filter h2 locally eliminates sampled polynomials of degree 2 has r + 1 LDVMs), while p-filter h3 eliminates polynomials of r (the framelet ψ[1] 3 degree r − 1 (the framelet ψ[1] has r LDVMs) and vice versa for r odd. Here we recall a couple of p-filter banks originating from discrete splines. Example: Discrete spline of fourth order: r = 2 In this case, Ωd4 [n]1 = cos4 π n/N + sin4 π n/N . Frequency responses of the p-filters h0 and h1 and the sequence W [n]1 are 4 √ √ cos4 π n/N ˆ 1 [n] = ω−n 2 sin π n/N , 2 , h Ωd4 [n]1 Ωd3 [n]1 2 2n 2 ω − 2 + ω−2n sin2 2π n/N W [n]1 = = . Ωd4 [n]1 2Ωd4 [n]1
hˆ 0 [n] =
The p-filter h0 locally restores sampled cubic polynomials while the p-filter h1 locally 1 has four LDVMs. eliminates them. Thus, the framelet ψ[1] Symmetric Factorization: W [n]1 = w[n]1 w[−n]1 , where w[n]1 =
(ω−2n − 2 + ω2n ) sin2 2π n/N = . Ωd4 [n]1 2Ωd4 [n]1
FRs of the p-filters h2 and h3 are defined in Eq. (9.15) where A[n]1 = w[n]1 /2. The p-filter bank H = {hs } , s = 0, 1, 2, 3, generates a tight frame. The p-filter h3 locally 3 , has three LDVMs, eliminates sampled quadratic polynomials, thus the framelet ψ[1] 2 while the framelet ψ[1] , has two LDVMs. The IRs of the p-filters hs , s = 0, 1, 2, 3, and their MRs are displayed in Fig. 9.6 (top).
172
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
Example: Discrete spline of sixth order: r = 3. The p-filter bank, which provides a tight frame in the signal space, is defined by Eqs. (9.26) and (9.27), where A[n]1 =
ω−2n − 3 + 3ω2n − ω4n . 4 3 ω2n + 10 + 3 ω−2n
Example: Discrete spline of eighth order: r = 4. The p-filter bank, which provides a tight frame in the signal space, is defined by Eqs. (9.26) and (9.27), where A[n]1 =
sin4 2π n/N . 16 (cos8 π n/N + sin8 π n/N )
Display of Tight Frame IIR p-Filter Banks Figure 9.6 displays impulse and magnitude responses of IIR four-channel p-filter banks that generate tight frames. The p-filters are derived from the discrete splines of orders 4, 6, 8, 10 and 12. Impulse responses of the p-filters hs are the corresponds [k], s = 0, 1, 2, 3, of the first decomposition level. ing discrete-time framelets ψ[1] s 3 The framelets ψ[1] [k], s = 0, 1, 2, are symmetric, while the framelets ψ[1] [k] are 0 1 antisymmetric. MRs of the p-filters h and h mirror each other and the same is true for the band-pass pair h2 and h3 . Note that, as the spline order grows, the shapes of MRs of the p-filters h0 and h1 tend to be rectangles, while MRs of the p-filters h2 and h3 shrink. Direct and inverse framelet transforms using three, four, six and eight- channel pfilter banks are implemented by the MATLAB functions fram34_dec_hmwfU.m and fram34_rec_hmwfU.m, which use the p-filters that are prepared by the MATLAB function hmwfU.m. The two-dimensional transforms are implemented by the MATLAB functions fram34_dec2d_hmwfU.m and fram34_rec2d_hmwf U.m, respectively. Available frames are listed in the MATLAB code list_frame 46.m. Figure 9.6 is produced by the code fram4_exam_P5U.m.
9.3.4 Example of Image Restoration Using Tight Frames In this section, we illustrate the performance of the tight frame generated by a sixchannel PR p-filter bank in the restoration of a corrupted image. It is compared with the performance of a tight frame generated by a four-channel PR p-filter bank. To be specific, the “Barbara” image was blurred by a convolution with the Gaussian kernel (MATLAB function fspecial(‘gaussian’,[5 5],5)), affected by Gaussian noise with STD = 5 dB and its PSNR became 22.97 dB. Then, 90% of randomly
9.3 Examples of PR p-Filter Banks Using Spline Filters
173
Fig. 9.6 Impulse and magnitude responses of the IIR p-filter banks that generate tight frames. Left pictures display impulse responses of the p-filters. Left to right in the left picture: h0 −→ h1 −→ h2 −→ h3 . Right pictures display magnitude responses of these p-filters: h0 (dotted lines), h1 (dashed lines), h3 (dash-dot line). and h2 (solid line). Top: fourth-order discrete spline. Second from top: discrete spline of order 6. Center: discrete spline of order 8. Second from bottom: discrete spline of order 10. Bottom: discrete spline of order 12
Fig. 9.7 Restoration of the “Barbara” image, which was blurred by a Gaussian kernel, affected by Gaussian noise with STD = 5 dB (PSNR = 22.97 dB). 90% of randomly selected pixels were removed (PSNR = 5 dB). SBI with 6-channel PR p-filter bank originated from the fifth-order discrete-time splines. PSNR of the restored image is 23.425 dB
174
9 Wavelet Frames Generated by Spline-Based p-Filter Banks
Fig. 9.8 Restoration of the “Barbara” image, which was blurred by the same Gaussian kernel that in Fig. 9.7, affected by Gaussian noise with STD = 5 dB (PSNR = 22.97 dB). 90% of randomly selected pixels were removed (PSNR = 5 dB). SBI with 4-channel PR p-filter bank originated from the fifth-order discrete-time splines. PSNR of the restored image is 23.42 dB
selected pixels were removed. The restoration was executed using the scheme, which is described in Sect. 18.1 in [2]. Briefly, using the assumed sparsity of the original image in the frame domain, the restored image was derived as an image that, on one hand, well approximates the available data and, on the other hand, is sparse in the frame domain. The tradeoff is achieved by the constrained l1 minimization of a functional, which is inplemented by the so-called Split Bregman iterations (SBI) [4, 5, 9]. A somewhat similar procedure is applied in Chap. 10 in this volume to the snapshot spectral imaging. Two types of tight frames were utilized for the reconstruction of the image: 1. The tight frame generated by the four-channel PR, which originated from the discrete-time spline of the fifth order (9.22). 2. The tight frame generated by the six-channel PR, which originates from the discrete-time spline of the fifth order (9.21). The image was restored by 40 SBI using the parameters λ = 1, μ = 0.005 in Eq. (18.3) in [2]. The conjugate gradient solver used 30 iterations. Frame decomposition was implemented down to the third level. The restored results are illustrated in Figures 9.7 (6-channel PR p-filter bank) and 9.8 (4-channel PR p-filter bank). We observe that the restoration results are very similar but the six-channel p-filter bank provides a little bit higher PSNR with better visual perception.
References
175
References 1. A. Averbuch, P. Neittaanmäki, V. Zheludev, Periodic spline-based frames: design and applications for image restoration. Inverse Probl. Imaging 9(3), 661–707 (2015) 2. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, 2014) 3. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume II: Non-periodic Splines (Springer, 2015) 4. L.M. Bregman, The relaxation method of finding the common points of convex sets and its application to the solution of problems in convex programming. USSR Comput. Math. Math. Phys. 7(3), 200–217 (1967) 5. J. Cai, S. Osher, Z. Shen, Split Bregman methods and frame based image restoration. Multiscale Model. Simul. 8(2), 337–369 (2009/2010) 6. Z. Cvetkovi´c, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245– 1255 (1998) 7. B. Dong, Z. Shen, Pseudo-splines, wavelets and framelets. Appl. Comput. Harmon. Anal. 22(1), 78–104 (2007) 8. G. Polya, G. Szegö, Aufgaben and Lehrsätze aus der Analysis, vol. II (Springer, Berlin, 1971) 9. W. Yin, S. Osher, D. Goldfarb, J. Darbon, Bregman iterative algorithms for l1 -minimization with applications to compressed sensing. SIAM J. Imaging Sci. 1(1), 143–168 (2008) 10. V. Zheludev, V.N. Malozemov, A.B. Pevnyi, Filter banks and frames in the discrete periodic case, in Proceedings of the St. Petersburg Mathematical Society, vol. XIV, ed, by N. Uraltseva. American Mathematical Society Transl., Ser. 2 (2009), pp. 1–11
Chapter 10
Snapshot Spectral Imaging
Abstract This chapter describes an application of the spline-based wavelet frames to the spectral imaging. It presents a method that enables to convert a regular digital camera into a snapshot spectral imager by equipping the camera with a dispersive diffuser and with a compressed sensing-based algorithm for digital processing. The method relies on the assumption that typical images can be sparsely represented in the frame domain. The solution is found from the constrained l1 minimization of a functional by Bregman iterations. Results of optical experiments are reported. The chapter is based on the paper (Golub et al., Appl. Opt. 55, 432–443, (2016), [11]).
10.1 Background Spectral imaging (SI) refers to the acquisition of a three-dimensional (3D) spectral cube of a source object. The spectral cube consists of monochromatic images of the object taken at a limited number of wavelengths in a given wavelength range. SI has a multitude of applications in many fields [3] including biology [9], medicine [18], food inspection, archaeology, art conservation, astronomy and remote sensing [8, 15]. SI with mosaic spectral filter arrays on the image sensor leads to substantial light gathering losses. In “staring” or “pushbroom” SI systems, removable sets of narrow band-pass filters or time-sequential dynamic spectral filters slow the SI process and cannot apply it to dynamic, fast changing objects. Modern trends in digital imaging [3] resort to a generic combination of optics with digital processing and to compressed sensing (CS) [1, 2, 6, 7, 16, 17] for various purposes and applications. CS-based algorithms already have diverse applications in astronomy, biology, medicine, radar and seismology. Snapshot spectral imaging (SSI) refers to the instantaneous acquisition (in a single “shot”) of the spectral cube. Such a process is suitable for imaging of fast changing objects. There are several known SSI devices/architectures that demonstrate the progress and high potential of SSI. In particular, the coded aperture snapshot spectral imager (CASSI) designs (see [14], for example) use an intermediate image plane and a coded aperture (a binary mask or a gray-scaled coded mask) or a spatial-light © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_10
177
178
10 Snapshot Spectral Imaging
modulator. The need for intermediate image formation optics (in addition to regular components of a digital camera) in several of the referenced devices increases the total track length, the weight and the production costs of such SSI devices. The feasibility of implementing SSI by means of only a single optical element added at the entrance pupil of a regular digital camera and by use of digital data processing was proven in [12]. However, in order to convert a regular digital camera to a SSI camera for arbitrary objects, a more complicated diffusing and dispersing “phase-only” static optical element at the entrance pupil that replaces the prism used in [12], is needed. Such a design is combined with tailored CS methods for digital processing of the diffused and dispersed (DD) image recorded on the image sensor. This chapter outlines the theory and describes a few experiments with a snapshot spectral imager based on a regular digital camera equipped with an optically transparent dispersive phase-only diffuser (or simply “diffuser”) at the entrance pupil. The diffuser is designed to mix the spectral cube data spectrally and spatially and, thus, to enable convergence in its reconstruction by CS-based algorithms. The reconstruction of the spectral cubes from the DD images is implemented by the application of an l1 -regularized inversion scheme using the iterative process of “split Bregman iterations” (SBI) [4, 5, 10] coupled with framelet transforms described in Chap. 9. The feasibility of the approach is illustrated on a couple of experimental examples. This points to the possibility of modifying existing imaging systems currently implemented in smartphones and cameras to perform SSI, instead of having to design and build new SSI systems from scratch. Another advantage of the described SSI design is that the suggested diffuser transmits about twice as much light as a binary amplitude coded aperture.
10.2 Spectral Imaging with a Dispersive Diffuser 10.2.1 Optical Scheme The designed SSI camera includes elements of a regular digital camera such as an imaging lens, an image sensor, a bandpass spectral filter and a digital processor, which are completed by the additional diffuser at the entrance pupil. The optical scheme is shown in Fig. 10.1. To succeed in image reconstruction from sparse data, the CS theory suggests a highly randomized system response. Classical spectroscopic systems comprise a dispersive optical element like a prism or a diffraction grating. In order to minimize the required number of optical elements and to restrict the imager design to a modification of standard digital cameras, dispersive and diffusing properties in the described scheme are combined in a single diffuser. The diffuser is positioned at the entrance pupil of the imaging lens and works as a random dispersing element that projects the DD image on the image sensor. A digital processor processes the DD image in
10.2 Spectral Imaging with a Dispersive Diffuser
179
Fig. 10.1 Optical scheme of a spectral imaging optical system based on digital camera, diffuser and digital processor Fig. 10.2 Dimensions of the diffuser, scaled to exit pupil coordinates
order to reconstruct a plurality of monochromatic images (i.e. the spectral cube) of the source object through iterative CS-based algorithms. The diffuser is designed as a thin phase optical element which is fabricated of a transparent material and consists of a number of vertical straight-line strips (grooves) of different depth. The lines are located parallel to the vertical axis, as shown in Fig. 10.2. Groove depths and respective phases are quantized to N Q discrete phase levels that are equidistant from each other with a fixed phase difference. The diffusers phase function was designed as a randomly permutated, nonlinear saw-tooth phase. The intuitive reason for this choice is that a saw-tooth diffraction grating supports spectral dispersion and that random permutation with a non-linearity supports a random response, which is preferable for the compressed sensing. The diffuser provides wavelength-dependent light diffusion and accordingly serves as an inherent disperser. Therefore, it provides spectral multiplexing along with spatial multiplexing. In particular, the diffuser modifies the point spread function (PSF) of
180
10 Snapshot Spectral Imaging
Fig. 10.3 Stages of the diffuser design: a nonlinear transformation of a sawtooth function and the 16-level quantization; b random spatial permutation of pixels; c fragment of a randomized piecewise-constant phase function of the diffuser
the imaging system and renders a sensing matrix appropriate for the reconstruction of the spectral cube. It is done with the aid of CS algorithms that resort to a sparse representation of the object. Figure 10.3 illustrates the main stages of the diffuser design. A detailed description of that design is given in [11]. When installed into the optical system, the diffuser converts the original image into a diffused and dispersed (DD) image with programmed blur for each object point. The intensity I (x, y, λl ) of the DD image at the point (x, y) related to the waveband λl in presence of the diffuser is expressed by a 1D convolution I = h I I of the ideal (“non-dispersed”) image I (x, y, λl ) with the incoherent PSF h I (x, λl ). The convolution is calculated separately for each coordinate y of the object as I (x, y, λl ) = h I (x − ξ, λl ) I (ξ, y, λl ) d x. (10.1)
10.3 Compressed Sensing Model for Spectral Imaging The CS theory provides a method to capture and represent compressible images at a rate significantly below the Nyquist rate by exploiting the sparse nature of the image data in some mathematical basis. This can be done using non-adaptive linear
10.3 Compressed Sensing Model for Spectral Imaging
181
projections that enable the full reconstruction of the spectral cube of the source object. The reconstruction can be achieved using an iterative optimization process to compensate for the underdetermined nature of the problem. The operator performing the linear projections can be described by a “sensing matrix” that has fewer rows than columns and which operates on the spectral cube to form the DD image.
10.3.1 Discrete Mathematical Model Application of the CS approach to the SSI camera, which is shown in Fig. 10.1, requires a transfer from continuous coordinates of optics to discrete indices of the CS vectors and sensing matrix. To start with, we consider the discrete pixelated structure of the image sensor, which is characterized along x and y axes by a 2D spatial pitch δx × δ y , a number N x × N y of pixels, and a number Nb of bits per pixel. The imaging zoom has to match the blur caused by the PSF of the diffuser such that the entire DD image stays within the aperture of the image sensor, i.e. within N x pixels in each row and N y pixels in each column. The “non-diffused-non-dispersed” image obtained without a diffuser at the same zoom is spread to a lesser degree, and occupies only a smaller number N < N x of pixels located in the central part of each image sensor row. Even though the number N x × N y of sensed pixels is smaller than the number of voxels N × N y × L 1 in the targeted 3D spectral cube, the CS approach is supposed to enable restoration of the entire spectral cube with a reasonable accuracy. This is a result of the well-known sparsity of a typical image in the wavelet-frame domain, which allows for a compressed representation of the image. A discrete version of the spectral cube to be reconstructed can be expressed by the N × N y × L array: C=
L
def
Xl , Xl =
X l [i, j] = I (xi , y j , λl ) , i = 1, . . . , N , j = 1, . . . , N y .
l=1
The continuous 1D convolution in Eq. (10.1) is converted into a discrete convolution applied separately to each of image rows. Discrete pixels of the DD image at the lth wavelength and at a given row j can be expressed as a discrete 1D aperiodic convolution I [i, j, λl ] =
N
h¯ I [i − k](λl ) X l [k, j], i = 1, . . . , N x , j = 1, . . . , N y , l = 1, . . . , L .
k=1
Note that in our model with a 1D diffuser, each jth row of the DD image is in the one-to-one correspondence with a respective jth row of the spectral cube. 1L
is the number of spectral bands in the spectral cube.
182
10 Snapshot Spectral Imaging
The polychromatic light contribution to a discrete pixel of the DD image is denoted as Y [i, j] and can be expressed as a weighted sum of the intensities of monochromatic DD images I ([i, j], λl ] over all wavelengths λl , l = 1, . . . , L. At each image pixel, the sum can be expressed as Y [i, j] =
L
κl I [i, j, λl ] =
l=1
N L
Al [i, k] X l [k, j]
(10.2)
l=1 k=1
Al [i, k] = κl h¯ I [i − k](λl ), i = 1, . . . , N x , j = 1, . . . , N y , l = 1, . . . , L . The non-negative weights κl depend on overall relative spectral sensitivity of the image sensor and properties of the optical L system with the diffuser. Xl into the matrix of size N L × N y : Rearrange the spectral cube C = l=1 ⎡
⎤ X1 ⎢ X2 ⎥ ⎢ ⎥ C −→ X = ⎢ . ⎥ . ⎣ .. ⎦ XL The operation in Eq. (10.2) can be represented via the matrix multiplications: def
Y = {Y [i, j]} =
L
Al · Xl = A · X,
l=1 def
where Al = {Al [i, k]} , i = 1, . . . , N x , k = 1, . . . , N , are Toeplitz matrices of def size N x × N and A = [A1 , A2 , . . . , A L ] is a block-Toeplitz matrix of size N x × N L. Thus, transformation of an original colored image I into the DD sensor image Y is modeled by multiplication of the matrix X representing the L-band spectral cube with the measuring matrix A: A · X = Y,
(10.3)
Loosely speaking, columns of the matrix Y, whose lengths are N x represent the results of N x measurements of columns of the matrix X by the matrix A. The goal is to reconstruct columns of the matrix X, whose lengths are N L from N x N L measurements of each column. In that sense, solution of the reconstruction ill-posed problem is a CS model. The measurement scheme is illustrated in Fig. 10.4.
10.4 Solution of the Reconstruction Problem
183
Fig. 10.4 Transformation of the spectral cube to the dispersed-diffused image by the sensing matrix
10.4 Solution of the Reconstruction Problem 10.4.1 Rationale Behind the Method The number N x × N y of equations for Y in Eq. (10.3) is less than the number of unknown variables N L × N y in X. Thus, the problem has an infinite number of solutions, most of which, however, do not have any physical meaning. To obtain a sensible solution, some constraints on the spectral cube to be reconstructed should be imposed. The commonly chosen constraint in CS is sparsity of the object. This is the case in the described setting due to the fact that 2D digital images have a sparse representation in wavelet and wavelet-frame domains. Consequently, spectral cubes, which are collections of monochromatic images, possess the same property. Consequently, they can be represented as collections of sparse matrices that contain many zeroes. Therefore, in accordance with the CS theory, a solution of Eq. (10.3) that is maximally sparse in a wavelet-frame domain is looked for. The relation between the spectral cube matrix X and its sparse representation d (having only a relatively small number of non-zero elements) can be represented as a linear transform d = D · X, with a “sparsifying matrix D. The sparse representation is implemented by resorting to 2D framelet transforms of the sub-matrices Xl of the matrix X. The 2D transforms are extensions of 1D transforms described in Sect. 9.1.2 in a standard tensor product way. It is done by the MATLAB functions fram34_dec2d_hmwfS (direct transforms) and fram34_rec2d_hmwfS (inverse transforms). The wavelet frames are advantageous over wavelets, because they demonstrate better adaptivity to specific images due to redundant representation of images. Sparsity of an image in the wavelet-frame domain means that the image can be represented with sufficient accuracy by a linear combination of a relatively
184
10 Snapshot Spectral Imaging
small number of framelets. This number is significantly less than the number of pixels in the image.
10.4.2 Outline of Algorithm The direct 2D linear framelet transform is applied separately to each sub-matrix Xl , l = 1, . . . , L , of the matrix X, which represent monochromatic images associated with different wavebands. The transform can be presented as the multiplication of the sub-matrices Xl with the sparsifying matrix D. This operation maps matrix X onto a block-wise sparse matrix d consisting of framelet transform coefficients, such that ⎛ ⎞ ⎛ ⎞ d1 D · X1 ⎜ D · X2 ⎟ ⎜ d2 ⎟ ⎜ ⎟ ⎜ ⎟ d = D X ⇐⇒ ⎜ . ⎟ = ⎜ . ⎟ . ⎝ .. ⎠ ⎝ .. ⎠ D · XL dL where dl , l = 1, . . . , L , are sub-matrices of d. These matrices have only a relatively small number of non-zero elements. We denote by Ψ the matrix of the inverse 2D linear frame transform, such that spectral cube can be restored from its sparse representation d by ⎛
Ψ ⎜Ψ ⎜ X = Ψ d ⇐⇒ ⎜ ⎝ Ψ
⎞ ⎛ ⎞ X1 · d1 ⎜ ⎟ · d2 ⎟ ⎟ ⎜ X2 ⎟ .. ⎟ = ⎜ .. ⎟ . . ⎠ ⎝ . ⎠
· dL
XL
Now, Eq. (10.3) is expressed in the form def
Θ d = Y, Θ = A Ψ.
(10.4)
Equation (10.4) highlights the CS nature of the problem to be solved: the matrix Θ “measures” the sparse array d and Y comprises the measurements’ results. The number of the measurements is much smaller than the number of unknown variables in d (which is even larger than the number of the components in X). But, due to the array d sparsity, solution of a minimization problem enables us to find an accurate approximation to d and, consequently, to X. To be specific, an approximated solution to Eq. (10.3) is derived via minimization of the functional def
min F(X), F(X) = X
μ (A · X − Y )22 + D X1 , 2
(10.5)
10.4 Solution of the Reconstruction Problem
185
where ·1 and ·2 are the l1 and the l2 norms of the sequences, respectively. If x = {x[κ, ν]} , κ = 0, . . . , k, ν = 0, . . . , n, then def
x1 =
k−1 n−1
k−1 n−1 def |x[κ, ν]|, x2 = |x[κ, ν]|2 .
κ=0 ν=0
κ=0 ν=0
The first addend in the functional F is responsible for the approximation of the measured data Y, while the second addend, which presents the l1 norm of the framelet transformcoefficients, controls the sparsity of the solution in the frame domain. The parameter μ provides a tradeoff between the requirements of the data approximatoin and the solution’s sparseness. Denote by Tϑ the shrinkage (soft thresholding) operator: def
Tϑ x = {xϑ [κ, ν]} , xϑ [κ, ν] = sgn(x[κ, ν]) max {0, |x[κ, ν]| − ϑ} . Following [13], the minimization problem in Eq. (10.5) is solved by an iterative algorithm, which is referred to as the Split Bregman Iterations (SBI) scheme [10] that uses the so-called analysis-based approach. It starts from the initialization X0 = 0, d0 = b0 = 0. Then, −1 · μ AT · Y + χ Ψ (dk − bk ) , Xk+1 = μ AT · A + χ I dk+1 = T1/χ (D Xk+1 + bk ), bk+1 = bk + (D Xk+1 − dk+1 ). The operations are straightforward. The choice of the parameters χ and μ depends on experimental conditions. Here k is the number of the iteration, bk are intermediate vectors used to execute iterations, AT denotes the transposed matrix. The shrinkage operator eliminates components with magnitudes not exceeding a threshold ϑ and shrinks the remaining components. The shrinkage operation provides the new value for vector d at each iteration. The parameters χ , μ of the process (where 1/χ is a shrinkage threshold) assign proper weights to the terms in the functional F to enable convergence toa sensible solution. The iterations are terminated once the inequality A · Xk+1 − Y ≤ σ is achieved, where σ is a stopping threshold dependent on a l2 noise level in DD image Y. On completion of the iterations, a compressible blockwise matrix for the reconstructed data cube X is produced, whose components are arranged as a set of vectors with spectral data for every spatial pixel.
10.5 Experimental Optical Arrangement and Calibration The concept of the CS-based SSI camera was proven for L = 33 wavelength bands in optical experiments that used a regular digital camera equipped with a monochromatic (without color filters matrix) image sensor, a diffuser, and specialized digital
186
10 Snapshot Spectral Imaging
Fig. 10.5 Diffuser design: a gray-level map; b magnified fragment; c full profile scan; d left edge; e right edge
image processing capabilities, as shown in Fig. 10.1. A color iPad screen served as an object. The experimental arrangement included the following optical components: a regular digital camera with a 5 Mpixel, 12-bit monochromatic image sensor, an imaging lens with a numerical aperture (NA) value of approximately 0.17, and a wide bandpass spectral filter for the entire visible range. The image sensor had 2592 × 1944 pixels with a pixel pitch δx = δ y = 2.20 m. Various diffusers were fabricated at the Tel Aviv University Nano-Center facilities with a standard 16-depth level binary staircase technology. The actual diffuser design used in the experiments had a 3.2 mm clear aperture that matched the entrance pupil and included Nd = 400, Δu = 8 m wide stripes, as shown in Fig. 10.5. The calibration of the SSI camera was performed by direct PSF measurements that provided the sensing matrix. An object with single thin white vertical column
10.5 Experimental Optical Arrangement and Calibration
187
Fig. 10.6 Illustration for the integration of the PSF into the sensing matrix A
displayed on the iPad screen was imaged in the dark at several spatial positions in each spectral band. Separated spectral bands for the calibration were achieved by resorting to a set of L = 33 narrow-bandpass 10 nm spectral filters that covered the 400–720 nm wavelength range in equal gaps of 10 nm. The PSF was normalized, centered, padded with zeroes and integrated into the block Toeplitz sensing matrix A, as illustrated in Fig. 10.6. Figure 10.7 shows the optically measured sensing matrix, consisting of 33 blocks matching the wavelengths. We notice that the measured sensing matrix and subsequent reconstructed spectra are related to equally spaced central wavelengths of the set of L = 33 narrow-bandpass filters. Figure 10.7 shows the optically measured sensing matrix, consisting of 33 blocks corresponding to the wavebands. To have a firm reference for spectral cube reconstruction in the experiments, direct reference measurements of the spectral cube for each object of interest were conducted. The measurements were performed without the diffuser, using the set of 33 bandpass filters. The original images were cropped to N × N y = 256 × 256 pixels. As a result, 256 × 256 × 33-sized reference matrices of data cubes were composed for each object of interest.
10.6 Optical Experiments for Spectral Imaging The experimental results are demonstrated on three exemplary test objects: “mandrill”, “peppers” and “color checker”. These were created on the iPad screen mounted on the optical bench in the arrangement of Fig. 10.1, at a fixed distance in front of the imaging lens. Figure 10.8 displays the original images displayed on the iPad. The DD images as they appear on the sensors array are displayed in Fig. 10.9. The reference spectral cube measurements, the PSF measurements and the grayscale snapshots of the DD images are recorded on the image sensor in the dark, with the diffuser in place. The digital reconstruction of the spectral cube is performed using the SBI process with a measured sensing matrix A and optimized iteration parameters χ , μ as described in Sect. 10.4. The transform that gave the best results was the semi-tight frame transform generated by the four-channel PR pfilter bank originating from the quadratic quasi-interpolating spline (antisymmetric factorization of the sequence t[n]1 , Eq. (9.25)).
188
10 Snapshot Spectral Imaging
Fig. 10.7 Sensing matrix A, built on the base of the calibration measurements: a gray-level plot; b cross-section at a central row #1296
Fig. 10.8 Original images displayed on the iPad. Left: “color checker”. Center: “mandrill”. Right: “peppers”
Evaluation of the quality of the reconstructed spectral cubes is done by comparison to reference spectral cubes measured directly with the set of L = 33 bandpass filters. The matrices of size N L × N y = 8448 × 256:
10.6 Optical Experiments for Spectral Imaging
189
Fig. 10.9 DD images from the sensors array
⎡ ˜ ⎤ ⎤ X1 X1 ⎢ ⎢ X2 ⎥ ˜2 ⎥ X ⎢ ⎥ ⎥ ˜ =⎢ = X˜ i, j X = ⎢ . ⎥ = X i, j , X ⎢ ⎥ . ⎣ .. ⎦ ⎣ .. ⎦ ⎡
XL
˜L X
˜ spectral cubes. denote rearranged restored X and reference X As the monochromatic images comprising the reference and the reconstructed spectral cubes are of the same size but do not necessarily share the same dynamic range, we normalized each to have a maximum value 1.0. We evaluate the reconstruction quality by the Peak-Signal-to-Noise ratio (PSNR) ˜ matrices: for the normalized restored X and reference X Λ m2 def PSNR = 10 log10 Λ dB 2 k=1 (x k − x˜ k ) where Λ is the number of pixels in the image (in our experiments, Λ = 8448 × 256 = ˜ (due 2162688), m is the maximal term value in the normalized reference matrix X Λ to the normalization, m = 1), {xk }k=1 are the pixels from the normalized matrix X, ˜ and {x˜k }Λ k=1 are the pixels from the normalized matrix X. In addition, the comparison of spectra at chosen spatial locations was carried out. For visualization purposes, the reference and reconstructed spectral cubes were converted into RGB color images and compared to each other. The conversion was done in accordance with the CIE standard observer color matching functions implemented by the Matlab function RGB_from_Spectral_cube.m taken from the site http://personalpages.manchester.ac.uk/staff/d.h.foster/Tutorial_HSI2RGB/ Tutorial_HSI2RGB.html. Experiments with the “checker” image Figure 10.10 displays the “checker” image. The 33-band spectral cube was restored from the DD image shown in Fig. 10.9 and converted to the RGB image (right panel). Left panel in the figure
190
10 Snapshot Spectral Imaging
Fig. 10.10 Object “color checker” with the 33 spectral bands in the range of 400–720 nm. Left: reference spectral cube converted to RGB image. Black squares indicate pixels where spectra were compared (see Fig. 10.11). Right: restored spectral cube converted to RGB image
displays the reference spectral cube converted to the RGB image. The PSNR = 22.95 dB was calculated between the whole sets of the spectral bands of the reference and restored spectral cubes. Experiments with the “mandrill” image Figure 10.12 displays the “mandrill” image. The 33-band spectral cube was restored from the DD image shown in Fig. 10.9 and converted to the RGB image (right panel). Left panel in the figure displays the reference spectral cube converted to the RGB image. The PSNR = 22.4 dB was calculated between the whole sets of the spectral bands of the reference and restored spectral cubes. Experiments with the “peppers” image Figure 10.12 displays the “peppers” image. The 33-band spectral cube was restored from the DD image shown in Fig. 10.9 and converted to the RGB image (right panel). Left panel in the figure displays the reference spectral cube converted to the RGB image. The PSNR = 25.11 dB was calculated between the whole sets of the spectral bands of the reference and restored spectral cubes. Figure 10.14 displays the “peppers” image. Semi-synthetic example with the “checker” image To show results that are less dependent on calibration and to demonstrate the optimal performance of the SSI camera, the reference spectral cube X and the measured sensing matrix A are used ˜ = A · X. The simulated to obtain a computer simulation of the DD image as Y DD image for the “checker” object is displayed in Fig. 10.16. Figure 10.17 displays the “checker” image. The 33-band spectral cube is restored from the DD image shown in Fig. 10.16 and converted to the RGB image (right panel). Left panel in the figure displays the reference spectral cube converted to the RGB image. The PSNR = 33.55 dB was calculated between the whole sets of the spectral bands of the reference and restored spectral cubes.
10.6 Optical Experiments for Spectral Imaging
191
Fig. 10.11 Comparison of spectra in 8 selected pixels in “checker” image. Red: spectra from reference spectral cube. Blue: spectra from restored spectral cube
Fig. 10.12 Object “mandrill” with the 33 spectral bands in the range of 400–720 nm. Left: reference spectral cube converted to RGB image. Black squares indicate pixels where spectra were compared (see Fig. 10.13). Right: restored spectral cube converted to RGB image
192
10 Snapshot Spectral Imaging
Fig. 10.13 Comparison of spectra in 8 selected pixels in “mandrill” image. Red: spectra from reference spectral cube. Blue: spectra from restored spectral cube
Fig. 10.14 Object “peppers” with the 33 spectral bands in the range of 400–720 nm. Left: reference spectral cube converted to RGB image. Black squares indicate pixels where spectra were compared (see Fig. 10.15). Right: restored spectral cube converted to RGB image
10.6 Optical Experiments for Spectral Imaging
193
Fig. 10.15 Comparison of spectra in 8 selected pixels in “peppers” image. Red: spectra from reference spectral cube. Blue: spectra from restored spectral cube
Fig. 10.16 DD images from the sensors array
˜ disThe reconstruction of the “checker” image from the simulated DD image Y played in Fig. 10.16 is close to perfect. So also the restored spectra in 8 selected pixels are close to the reference spectra. To the lesser extent, this is true for the reconstruction of the objects from the real DD images Y displayed in Fig. 10.9.
194
10 Snapshot Spectral Imaging
Fig. 10.17 Object “color checker” with the 33 spectral bands in the range of 400–720 nm (semisynthetic setting). Left: reference spectral cube converted to RGB image. Black squares indicate pixels where spectra were compared (see Fig. 10.18). Right: restored spectral cube converted to RGB image
Fig. 10.18 Comparison of spectra in 8 selected pixels in “checker” image (semi-synthetic setting). Red: spectra from reference spectral cube. Blue: spectra from restored spectral cube
10.7 Comments The above experimental results demonstrate the feasibility of the snapshot spectral imaging with a regular digital camera complemented by a minor hardware addition in the form of a single phase-only static diffuser. The described architecture removes the need for intermediate image plane optics and/or spatial light modulators and so also eliminates lossy amplitude-based modulation by a coded aperture (as in CASSI, [3]). It can lead to a real miniaturization of SSI cameras, thus providing significant
10.7 Comments
195
advantages in applications where weight, size and/or price are critical. The key element of the described optical system is a diffuser designed to create a randomized sensing matrix. Utilization of a monochromatic sensor instead of a regular mosaic color sensor increases the amount of the captured light and, therefore, the sensitivity of the camera. Successful acquisition of RGB images by a fully monochromatic image sensor is another important result. The method relies substantially on spatial and spectral mixing at the image sensor and subsequent reconstruction of the spectral cube with CS-based algorithms. It demonstrated the ability to reconstruct both spectral and spatial data from spatialonly data acquired by a monochromatic image sensor. This is achieved by proper use of the sparsity property, naturally attributed to photographic images. Large amounts of spectral data are implicitly compressed by a combined use of an optical system with a diffuser and the CS-based reconstruction algorithms for spectral imaging. One of the major advantages of the described methodology is the application of a specific frame transforms for efficient conversion of the spectral cube into its sparse representation.
References 1. H. Arguello, C.V. Correa, G.R. Arce, Fast lapped block reconstructions in compressive spectral imaging. Appl. Opt. 52, D32–D45 (2013) 2. Y. August, C. Vachman, Y. Rivenson, A. Stern, Compressive spectral imaging by random separable projections in both the spatial and the spectral domains. Appl. Opt. 52, D46–D54 (2013) 3. D.J. Brady, Optical Imaging and Spectroscopy (Wiley-Interscience, Hoboken, 2009) 4. J.F. Cai, S. Osher, Z. Shen, Split Bregman methods and frame based image restoration. Multiscale Model. Simul. 8(2), 337–369 (2009/2010) 5. J.F. Cai, S. Osher, Z. Shen, Split Bregman methods and frame based image restoration. Multiscale Model. Simul.: SIAM Interdiscip. J. 8, 337–369 (2009) 6. E. Candes, J. Romberg, T. Tao, Stable signal recovery from incomplete and inaccurate measurements. Commun. Pure Appl. Math. 59(8), 1207–1223 (2006) 7. D. Donoho, Compressed sensing. IEEE Trans. Inf. Theory 52 (2006) 8. D.H. Foster, K. Amano, S.M.C. Nascimento, M.J. Foster, Frequency of metamerism in natural scenes. J. Opt. Soc. Am. A 23, 2359 (2006) 9. Y. Garini, I.T. Young, G. McNamara, Spectral imaging: principles and applications. Cytom. Part A, Spec. Issue: Spectr. Imaging 69A, 735–747 (2006) 10. T. Goldstein, S. Osher, The split Bregman method for L1-regularized problems. SIAM J. Imaging Sci. 2(2), 323–343 (2009) 11. M. Golub, A. Averbuch, M. Nathan, V. Zheludev, J. Hauser, S. Gurevitch, R. Malinsky, A. Kagan, Compressed sensing snapshot spectral imaging by a regular digital camera with an added optical diffuser. Appl. Opt. 55, 432–443 (2016) 12. M.A. Golub, M. Nathan, A. Averbuch, E. Lavi, V.A. Zheludev, A. Schclar, Spectral multiplexing method for digital snapshot spectral imaging. Appl. Opt. 48, 1520–1526 (2009) 13. H. Ji, Z. Shen, Y. Xu, Wavelet based restoration of images with missing or damaged pixels. East Asian J. Appl. Math. 1(2), 108–131 (2011) 14. D. Kittle, K. Choi, A. Wagadarikar, D. Brady, Multiframe image estimation for coded aperture snapshot spectral imagers. Appl. Opt. 49(7), 6824–6833 (2010)
196
10 Snapshot Spectral Imaging
15. H. Lang, Advances in multispectral and hyperspectral imaging for archaeology and art conservation. Appl. Phys. 106, 309–323 (2012) 16. C. Li, T. Sun, K. Kelly, Y. Zhang, A compressive sensing and unmixing scheme for hyperspectral data. IEEE Trans. Image Process. 3, 1200–1210 (2012) 17. Q. Zhang, R. Plemmons, D. Kittle, D. Brady, S. Prasad, Joint segmentation and reconstruction of hyperspectral data with compressed measurements. Appl. Opt. 50, 4417 (2011) 18. V. Zheludev, I. Pölönen, N. Neittaanäki-Perttu, A. Averbuch, P. Neittaanmäki, M. Grönroos, H. Saari, Delineation of malignant skin tumors by hyperspectral imaging using diffusion maps dimensionality reduction. Biomed. Signal Process. Control 16, 48–60 (2015)
Chapter 11
Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Abstract This chapter outlines a new non-invasive method for delineation of skin lesions such as lentigo maligna and lentigo maligna melanoma. The method is based on the analysis of hyperspectral (HS) images taken in vivo before surgical excision of the lesions. For this, characteristic features of the spectral signatures of diseased pixels and healthy pixels are extracted, which combine the intensities in a few selected wavebands with the coefficients of the wavelet frame transforms of the spectral curves. To reduce dimensionality and to reveal the internal structure of the datasets, the diffusion maps (DM) technique is applied. The averaged Nearest Neighbor and the Classification and Regression Tree (CART) classifiers are utilized as the decision units. To reduce false alarms by the CART classifier, the Aisles procedure is used. The chapter is based on the paper (Zheludev et al, Biomed Signal Process Control, 16:48–60, (2015), [15]).
11.1 Background In this chapter, wavelet frames are utilized in a non-invasive method for delineation of lentigo maligna (LM) and lentigo maligna-melanoma (LMM). LM is an early form of melanoma in which the malignant cells are confined to the upper part of the skin, the epidermis. LMM is diagnosed when malignant melanoma cells have invaded the dermis and deeper layers of the skin [12]. Both LM and LMM occur as a brown-toblack patch on a sun-damaged skin, typically in the facial area. Clinically, LM cannot be differentiated from invasive LMM. Diagnosis is verified by histopathological evaluation of the skin biopsy samples. The lesion borders can be hard to define by eye, due to subclinical extension. Histopathological analyses of the removed lesion reveal the size of the lesion. Often a re-excision is required [7]. There is a need for a noninvasive method for the accurate lesion margin delineation before and during the surgery.
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_11
197
198
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
A hand-held HS imaging system is used for the data acquisition. The HS sensor is produced by VTT Technical Research Centre of Finland. This HS imager uses a wavelength range 500–885 nm, which covers visible light and near infrared area. The presented method is based on processing HS images. The method follows a manifold learning approach and supervised machine learning process. The process includes data preprocessing, definitions of training set, algorithm selection, training and evaluation with test set. Eight lesions, 3 LMM and 5 LM, from 8 patients are chosen to demonstrate feasibility of the methodology described in the chapter. Specific Features of the Presented Methodology: 1. The spectral imager based on Fabry–Perot interferometer is used, which takes the whole spatial plane image at once. This provides a significant advantage over traditional pushbroom scanning, during which either a patient or the camera (or both) can change their position. 2. The data analysis consists of blocks, which are conventional in the pattern analysis. These are band selection, features’ extraction, dimensionality reduction and finally manifold learning approach. But methods described in the chapter are either novel or more sophisticated than those, which are reported in the literature. 3. The experimental results were evaluated both clinically and histologically.
11.2 Method 11.2.1 Imaging Device A HS imaging system that is utilized, consists of the hand-held HS imaging device and the data processing unit. Figure 11.1 illustrates the system. Unlike a regular camera, which captures pictures in three broad wavebands of red, green and blue, HS cameras capture pictures in dozens or even hundreds narrow wavebands. The imaging device used in the experiments consists of a HS imager based on the Fabry– Perot interferometer (FPI-HSI), a halogen light source, a ringlight and a 3D-printed holder for the imager and the ringlight. The hand-held HS imager is displayed in Fig. 11.2. In front of the holder there is a cover tube, the purpose of which is to block background illumination. Because of the piezo-actualized Fabry–Perot interferometer, the HS imager is capable to capture a whole plane at once. Typically, acquiring an image takes 2 ÷ 3 seconds. This enables fast imaging of patients, which is important because none patient can stay absolutely immobile even during a short time interval. A HS image itself consists of planes, which correspond with different wavebands. This collection of the waveband-related planes form the spectral cube. The imaging results in a stack of intensity images, which are taken from the same location. If we trace a single spatially-identical pixel through the stack, we get a spectrum which represents the diffuse reflectance of this pixel.
11.2 Method
199
Fig. 11.1 Hyperspectral imaging system setup Fig. 11.2 Hand-held hyperspectral imager in holder. Ringlight is in front of the imager
As mentioned earlier, FPI-HSI captures images of size 320 × 240 pixels from 500 to 885 nm. Altogether, N = 76 different wavebands of widths ≈5 nm are used for the image capture. The spatial resolution of images is 0.125 mm/pixel.
11.2.2 Outline of the Processing Scheme To start with, denote by x = {x1 , x2 , . . . , x N } ∈ R N , the spectrum of diffuse reflectance in different wavebands of a single spatial pixel. From this, the spectral signature of this specific pixel is derived. The problem is to correctly derive the signatures that characterize diseased area and to properly classify and interpret them. In clinical trials, both LM and LMM tumors indicated by physicians were imaged and so also the surrounding healthy skin margins. Figure 11.3 displays a false-color composition of three different wavebands. In the image, a 2.5 cm wide LM tumor is present. The tumor-diseased part occupies the dark area in the image, while the
200
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.3 False color image composed from three different wavebands of HS image
FC image 20
mm
15
10
5
0 5
10
15
20
25
30
mm
healthy part is located in the lighter areas. The tumor’s edges are partly diffusing, which hampers delineation by the visual observation. For training the algorithm, spectra from the confirmed healthy and diseased areas of the HS image were collected. The visual inspection of the spectra does not show a significant distinction of the spectra from the diseased regions from those belonging to the healthy regions. Figure 11.4, displays two spectra from either of the regions. Because of the visual similarity of the diseased to the healthy spectra, a features’ extraction scheme that discriminate between these two classes is applied. The features are derived from the combination of a number of selected wavebands in the raw data with the results from the framelet processing. For the dimensionality reduction and revelation of the inherent structure of the data sets, the diffusion maps (DM) technique [8] is used. The spectra from small regions, which definitely belong to the diseased and healthy areas, are used for the construction of reference sets. In turn, the reference sets consisting of the extracted features are utilized for the design of the Classification and Regression Trees (CART’s) [5]. To reduce false alarms from the CART classification, the Aisles [1] procedure is used. In addition, the reference sets are utilized as a source for the averaged Nearest Neighbors (aNN) decision unit. Once an unknown spectrum is submitted for identification, the features from this spectrum are extracted and submitted to the three units (CART, Aisles, and aNN), whose decisions validate (cross-check) each other. The results of the identification of all the spectra from a given spectral cube are compared with the visual delineation and biopsies by a physician. The scheme of the algorithm is given in Fig. 11.5.
11.2 Method
201
Fig. 11.4 Top: two spectra from a diseased area. Bottom: two spectra from a healthy area
11.2.3 Selection of Training Data The output from the imaging device is the spectral cube X∗ = {xm,n,s , m = 1, . . . , 240, n = 1, . . . , 320, s = 1, . . . , 76}. Each horizontal plane Xs∗ ⊂ X∗ of size 240 × 320 represents a “monochromatic” picture of the object, taken in the waveband #s. Vertical lines of length 76 correspond to the spectra of pixels in the pictures. The cube is rearranged into a data matrix of spectra, whose size is 76800 × 76, in the following way: ⎡ ⎤ x1,1,1 x1,1,2 . . . x1,1,76 ⎢ .. ⎥ .. .. .. ⎢. ⎥ . . . ⎢ ⎥ ⎢ x1,320,1 x1,320,2 . . . x1,320,76 ⎥ ⎥. X=⎢ ⎢ x2,1,1 ⎥ x2,1,2 . . . x2,1,76 ⎢ ⎥ ⎢ .. ⎥ .. .. .. ⎣. ⎦ . . . x240,320,1 x240,320,2 . . . x240,320,76
Each row of the matrix X represents the spectrum of a spatial pixel.
202
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.5 Processing pipeline
In order to utilize the proposed methodology, which is based on supervised learning, labeled data sets for the training phase are needed. For that, a clinician carried out a manual visual selection of the definitely diseased and the definitely healthy patches in the image. These patches are shown in Fig. 11.6. We denote by S∗ ⊂ X∗ the dataset that contains all the labeled diseased spectra and by H∗ ⊂ X∗ the dataset that contains the healthy spectra where S∗ ∩ H∗ = ∅. The labeled sets S∗ and H∗ of the spectra from all the images selected for training phase are collected and, then, are arranged into the 76-columns matrices S and H, respectively.
11.2.4 Preprocessing the Training Data Refinement of the Raw Training Data In order to enhance the representativeness of the data matrices S and H, their rows are tested. For this, the Mahalanobis distances [11] d ss and d sh of each row in the matrix S to the matrices S and H, respectively, is computed. If, for some row from S,
11.2 Method
20
15
mm
Fig. 11.6 False-color image combined of three different wavebands. The regions are labeled for the training phase: the red squares in the middle mark diseased regions, while the green squares in the corners mark healthy regions. The remaining area is unlabeled
203
10
5
0 5
10
15
20
25
30
mm
the distance d ss > d sh , then that row is discarded from the matrix S. The same was done for the matrix H. The reduced matrices are denoted by Sr and Hr , respectively. Framelet Transform Framelet transforms described in Chap. 9 (see also [3]) provide redundant representations of signals, which results in better adaptivity compared to the performance of the wavelet transform. Similarly to the wavelet transform, the framelet transform is implemented in several resolution scales and the transform coefficients retain the spatial-frequency meaning which is inherent in the coefficients of the wavelet transforms. Once the M-level framelet transform is applied to a signal, each transform coefficient is associated with a certain small region in the spatial domain and a certain frequency band. Thus, the coefficient depends on the frequency content of this local region. On the other hand, the coefficientfrom a level m ≤ M are correlation coefficientof the signal with 2m -sample shifts of framelets, which are the impulse responses of the corresponding filters. Consequently, the transform coefficients bear information on geometrical properties of the respective fragments of the signal. Therefore, the coefficients from framelet transforms can serve as characteristic features for classes of spectra. In this chapter, framelet transform designed in [2, 3] is used. This transform is derived from the quadratic non-periodic interpolating spline. This transform is implemented by recursive filtering the signal by a three-channel filter bank comprising the low-pass h 0 , the band-pass h 1 and the high-pass h 2 filters. Filtering is followed by downsampling by factor of 2. The transfer functions of the filters and plots of their impulse and magnitude responses are given Sect. 14.2.3.1 of book [2, 3]. The plots for corresponding periodic filters are given in the beginning of Sect. 9.2 of this volume. Two-level framelet transform is applied to each row in the matrices Sr and Hr , according to the diagram in Fig. 11.7. A spectrum of a typical LM spectrum and its framelet transform coefficients are displayed in Fig. 11.8.
204
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.7 Diagram of 2 steps of framelet transforms, where ↓ 2 means downsampling by a factor of 2
Fig. 11.8 Left: a typical LM spectrum. Right: its framelet transform coefficients. Top: coefficients from the first decomposition level; bottom: coefficients from the second decomposition level
The transform coefficients of each row of Sr and Hr are gathered into 133-tap vectors, which form the transform matrices Ts and Th derived from Sr and Hr , respectively.
11.2.5 Selection of Characteristic Features The dataset is prepared for the training phase. As a result of preprocessing, two matrices Sr and Hr are formed, whose rows comprise spectra of the pixels selected from the diseased and the healthy areas, respectively. In addition, the matrices Ts and Th are produced, whose rows are the vectors of the framelet transform coefficients of the corresponding spectra. The the goal of the training procedure is to extract features that characterize the diseased and the healthy classes and to prepare a reference set for the decision units. The following sets of characterizing features were utilized: 1. A few selected wavebands that provide the best discrimination between the labeled training data. 2. A few selected coefficients of the framelet transforms. 3. A combination of framelet transform coefficients and wavebands.
11.2 Method
11.2.5.1
205
Refinement of the Features’ Sets by Cross-Validation
The features’ sets are refined by selection of features with the strongest discriminating power. This is done by the following cross-validation procedure. Selection of Most Discriminating Wavebands Each of the 76 columns of the diseased Sr and healthy Hr matrices of size Ns × 76 and Nh × 76, respectively, represents a certain waveband. To select a few wavebands that most discriminate between the two classes, a cross-validation procedure using the Mahalanobis distance is implemented. For this, it was evaluated, how removal of different wavebands from the features’ sets affects the distance between the sets. • The first columns from both matrices Sr and Hr are removed and the Mahalanobis distances ([11]) Di,1 , i = 1, . . . Ns , from each row i of the squeezed matrix S r,1 to the squeezed matrix Hr,1 are computed. Then the averaged distance Ns Di,1 )/Ns is calculated. D1 = ( i=1 • After that, these columns are returned back and the second columns are removed. Similarly, the averaged distance D2 is calculated. This procedure is repeated for each column, and, thus the collection of distances Dk where k = 1, . . . , 76, is produced. • This collection provides a knowledge about the contribution of different columns (wavebands) into the discrimination between two classes. • The sorted distances Dk are displayed in Fig. 11.9. It is seen in the figure that removal of some columns, which are depicted by initial bars in the figure, reduces substantially the distance between the two matrices, while removal of some others (bars in the right-hand side of the picture) does not affect it. This means that the first group of columns (wavebands) is essential for the discrimination because their removal makes the matrices to converge to each other. • A number of initial bars is selected. In our running example, we manually take the first 22 bars, which correspond to certain wavebands. These selected wavebands have highest discrimination power between the diseased and the healthy reference datasets. Figure 11.10 displays two spectra from the diseased region and two spectra from the healthy region. Six most discriminating out of 22 selected wavebands are indicated. One can observe the difference in the behavior of “diseased” and the “healthy” spectra at these wavebands. • The selected columns from the matrices Sr and Hr are gathered into the 22-column features matrices S f r and H f r respectively. Selection of Most Discriminating Framelet Transform Coefficients A complementary set of characteristic features, is derived by selection of proper coefficients of the pixels’ spectra framelet transform. The coefficients are gathered into the transform matrices Ts (diseased) and Th (healthy) of size Ns × 133 and Nh × 133, respectively. The transform matrices Ts and Th are subjected to the same cross-validation procedure as the matrices Sr and Hr above. The sorted averaged Mahalanobis distances for these matrices are displayed in Fig. 11.11. In this case,
206
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.9 Sorted averaged Mahalanobis distances Dk related to each waveband. The first 22 wavebands are chosen
Fig. 11.10 Two spectra from the diseased region (lower) and two spectra from the healthy region (upper)
11.2 Method
207
Fig. 11.11 Sorted averaged Mahalanobis distances related to the framelet transform coefficients. The first 30 coefficients were selected
26 coefficients, whose respective bars occupy the left-hand part of the picture, are selected. The selected columns of the matrices Ts and Th are gathered into the features matrices T f s and T f h of size Ns × 26 and Nh × 26, respectively. In order to enhance the discrimination power of the selected features sets, they are combined set. For this, two combined features matrices into a new features S f c = S f r T f s and H f c = H f r T f h are produced. In our running example, each of the matrices S f c and H f c , has 22 + 26 = 48 columns. As a result of the above procedures, three sets of characteristic features are prepared: 1. Wavebands features matrices S f w and H f w , where the data points are 22-tap row vectors. 2. Transform coefficients features matrices T f s and T f h , where the data points are 26-tap row vectors. 3. Combined features matrices S f c and H f c , where the data points are 48-tap row vectors.
11.2.6 Dimension Reduction The data points in all the three features datasets are vectors from high-dimensional spaces. In order to reduce the dimensionality and to reveal the internal structure of the datasets, the data points are embedded into a low-dimensional Euclidean space, using the Diffusion maps (DM) technique [8]. The combined features dataset proved to be most efficient. The operations with that dataset are described below. The Euclidean space, which the data points are embedded into, is a linear hull of a few eigenvectors of the diffusion matrix, and it is called the diffusion space. Diffusion mapping is a non-linear mapping that retains the local (dis)similarity of
208
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.12 Projection of the training dataset onto three eigenvectors ek , k = 1, 2, 3, of the diffusion matrix. Green: projections of the healthy data points. Red: projections of the diseased data points
the data points. Therefore, it provides an efficient tool for data clustering. The DM technique, which is utilized, is outlined in Sect. 11.5. For the classification purposes, the features datasets are embedded into the diffusion spaces generated by the 7–10 strongest eigenvalues of the diffusion matrices. The projections on the three initial eigenvectors are used to visualize the geometrical structure of the datasets. Practically, the features matrices S f c and H f c are combined into one matrix
C=
Sfc Hfc
.
Then, the diffusion matrix D is built from the rows of the matrix C. The eigenvectors of the matrix D constitute a basis of the so-called diffusion space Δ. The subspace generated by the 8 initial eigenvectors ek , k = 1, . . . , 8, is denoted by Δ8 . The rows of the matrices S f c and H f c are projected onto the subspace Δ8 . Thus, the matrices S f c and H f c become mapped onto the 8-column matrices Sr e f and Hr e f , respectively. Consequently, each spectrum from the training dataset becomes represented by an 8-tap vector, which consists of the coordinates of the spectrum’s projection onto the space Δ8 . Figure 11.12 visualizes three initial columns of the matrices Sr e f and Hr e f , which represent the diseased and the healthy spectra, respectively. Apparently, the projections of the healthy data points and the diseased data points are grouped in compact clusters which have a small overlap.
11.2 Method
209
Fig. 11.13 Examples of Aisles in two different CART nodes. X-axes: indices k = 1, . . . , 8 of the coordinates of the row vectors
11.2.7 Decision Units The matrices Sr e f and Hr e f are used as the reference sets for the averaged Nearest Neighbors (aNN) decision unit and also for the design of CART and Aisles. CART Prior to identification of unknown spectra, the Classification And Regression Tree (CART) [5] has to be trained using the reference matrices Sr e f and Hr e f . Rows of these matrices constitute the space of labeled input patterns X. The tree is constructed by a binary split of the space X in a way that the data in each descendant subset is “purer” than the data in the parent subset. A node that is not split further is declared terminal if it is (almost) completely populated by samples belonging to a certain class. The split is stopped when all the nodes become terminal. As a result, the space K Xm of subspaces (terminal nodes) each X is decomposed into the union X = k=1 of which is labeled as belonging to either the diseased or the healthy class. This process is illustrated in Fig. 11.15. Once a new vector is submitted to the designed tree, it is dispatched to one of the terminal nodes and its membership could be predicted with a sufficient reliability. More details about CART are provided in Sect. 11.6. Aisles To reduce the false alarms, the CART classifier is refined in the following way. All the rows in the reference matrix Sr e f (8-tap vectors) are presented to the designed tree. Each of them is dispatched to one of the terminal nodes that is associated with the Sr e f is dispatched to diseased class. We assume that a set Rk of rows
from the matrix → m k = m k1 , . . . , m k8 , which is the mean value a terminal node Xk . The 8-tap vectors −
→ of the rows Rk , and − s k = s1k , . . . , s8k , which is the standard deviation (STD) of → → these rows are calculated. Then, the aisle Ak = − m k ± 2− s k is formed. This is done for all the “diseased” terminal nodes. Two examples of Aisles are displayed in Fig. 11.13. Upper lines depict the vectors → → → − → s k , Lower lines depict the vectors − m k − 2− s k. m k + 2−
210
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
11.2.8 Identification Phase Once an unknown spectrum u is submitted for identification, the following steps lead to a decision on its membership. Extraction of Characteristic Features 1. 2. 3. 4.
The wavebands listed in L w are gathered into the features vector uw . The framelet transform is applied to the spectrum u. gathered into the features vector u f . The transform coefficients listed in L f are The combined features vector u f eat = uw u f is formed.
The features vectors are embedded into the diffusion subspaces. The diffusion space Δ and its subspace Δ8 , which the reference sets Sr e f and Hr e f belong to, are derived from the features matrices S f c and H f c . Therefore, the operator E8 , which embeds a features vector into the subspace Δ8 , is defined on the features vectors, which are the rows of the matrices S f c and H f c . In order to embed the features vector u f eat to be identified into the subspace Δ8 , the domain of the operator E8 should be extended. That is done by the Geometric Harmonics (GH) technique [4, 9]. This technique is a generalization of the Nyström method [13, 14], which is extensively used for an out-of-sample extension in dimensionality reduction schemes to find the coordinates of the unknown data points that have not participated in the training phase. The technique is outlined in Sect. 11.5.2. As a result of embedding the features vector u f eat into Δ8 , the 8-tap vector uΔ ∈ Δ8 is produced, which is a representative of the spectrum u. Decisions about the spectra membership are made as follows. The vector uΔ ∈ Δ8 is submitted to the CART tree, which dispatches it to some terminal node Xk . The answer from the CART is Rkcar t = 0, if the node Xk is associated with the diseased class, and is Rkcar t = 1, otherwise. Assume that the answer from the CART is Rkcar t = 0, that means that the vector uΔ = {u n } , n = 1, . . . 8, is CART-classified as belonging to diseased class. In that case, the vector uΔ is subjected to an additional test. It is Aisle-classified as diseased only if it passes through the Aisle Ak associated with the node Xk . This means that its coordinates should satisfy the inequalities m kn − snk ≤ u n ≤ m kn + snk , n = 1, . . . , 8. If this is the case, then the diseased classification is confirmed and the answer Rkais = 0. Otherwise Rkais = 1. Surely, Rais = 1 in all cases when Rcar t = 1. Independently, the decision on the membership of the spectrum u is made by the averaged Nearest Neighbor (aNN) classifier. For this, the Euclidean distances δms and δnh of the vector uΔ to row vectors of the reference matrices Sr e f and Hr e f , respectively, are computed. Then, M smallest distances δms and δnh are selected (typically, M is from M M h δms and δ¯ h = M −1 n=1 δn , 3 to 5). Their averages are denoted as δ¯s = M −1 m=1 respectively. The ratio δ¯ h ps = h δ¯ + δ¯s
11.2 Method
211
provides, in a sense, the probability for the spectrum u to belong to the diseased class. The spectrum u is aNN-classified as diseased if p s > 1/2, then the answer is Rann = 0, otherwise Rann = 1. The above identification procedures are applied to all the spectra in the HS image.
11.3 Experimental Results Altogether 8 skin lesions (3 LMM, 5 LM) from 8 patients had been imaged before surgical removal of the lesions. The lesions are imaged using the HS imaging system specified in Sect. 11.2.1. The spectral data are processed as described in Sect. 11.2. The HS results are compared to lesion borders assessed by clinicians and to the histological results. Figure 11.14 shows results of the border delineation in HS images. The lesions B, C and H were diagnosed as LMM, while the lesions A and D-G are related to LM. The analyses were not aimed to differentiate the tumor types. In histopathological sampling lesions, A, B, E and G appeared wider than it was detected clinically (visually). Lesions C, D, F and H were identical in size for both the clinical and the histopathological evaluations. A: The lesion continued histologically over visible borders to the right side and to the lower part of the image. All the classifiers caught the extension at the bottom and showed minor extension to the right side. B: The lesion continued histologically over visible borders both to the left and the right sides of the image. Both CART and aNN classifiers showed signs of extension. C: Lesion borders were identical in size in visual inspection and histologically. CART and Aisles give similar results. aNN incorrectly catches a diffuse area in the lower left side of the image. D: Lesion borders were identical clinically and histologically, as also are delineated by all the classifiers used. E: Histologically, lesion is wider than is seen in visual inspection in the lower part of the image and slightly wider than in the top part of the image. All classifiers catch the extension at the top of the image as well. The extension in the lower part was missed by all the classifiers. F: Lesion borders were identical clinically and histologically. All the classifiers delineate the borders correctly. G: The right part of the lesion showed subclinical extension histologically. Only the ANN classifier catches the extension. H: The lesion showed no subclinical extension. All the classifiers delineate the lesion borders correctly. In most cases presented classifiers are useful in detection of the subclinical (not seen in the visual inspection) lesion borders.
212
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
Fig. 11.14 Analyzed results from 8 imaged lesions. On the left panels there are the false-color compositions from tumors. The remaining panels display the lesions’ areas detected by three different decision units. Regions marked with red indicate the diseased area
11.4 Comments
213
11.4 Comments The described features extraction scheme, which combines a number of selected wavebands with coefficients of framelet transforms, coupled with robust classifiers (CART, aNN, Aisles), proved to be efficient for the delineation of cancerous skin areas. A critical part of the algorithm is the dimensionality reduction scheme based on the Diffusion Maps. The algorithm succeeds in non-invasive delineation of tumor borders. By using HS imaging, lesion borders can be detected with more accuracy and re-excisions could be avoided. The described methodology has a potential for the spectral separation of different tumors (LM, LMM and others), in order to provide a non-invasive diagnostics tool for clinicians.
11.5 Appendix: Diffusion Framework 11.5.1 Diffusion Maps Let Γ be a set of points in Rn . The graph G = (Γ, K ) with a kernel K is constructed, def K = k (x, y) is a weight function, which measures the pairwise similarity between the points. The weight function is: • symmetric: k (x, y) = k (y, x); • non-negative: k (x, y) ≥ 0 for all x and y in Γ ; • positive for all real-valued bounded function f defined on Γ , that semi-definite: is x∈Γ y∈Γ k (x, y) f (x) f (y) ≥ 0. A common choice for K is the Gaussian kernel k (x, y) = e−
x−y 2 2ε
,
(11.1)
where ε > 0 is a numerical parameter determining the kernel width. The following normalization transforms the kernel into a Markov transition matrix def def P: P = p (x, y) = k (x, y)/d (x), where d (x) = y∈Γ k (x, y) is the degree of the node x. This normalization is known as the weighted Graph Laplacian normalization [6]. Since the matrix P consists of nonnegative real numbers, where each row is summed to 1, the matrix P can be viewed as the Markov transition matrix of a random walk between the points in Γ . The probability to move from x to y in one time step is given in P (x, y). These probabilities measure the connectivity of the points within the graph. by a(x, y) = √ The transition √matrix P is conjugate to a symmetric matrix A given 1 1 d(x) p(x, y)/ d(y). Using a matrix notation, we have A = D 2 P D − 2 , where D
214
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
is the diagonal matrix with the values y k(x, y) on its diagonal. The symmetric n−1 and a set of orthonormal eigenvectors {vl } matrix A has n real eigenvalues {λl }l=0 n in R , thus, it has the following spectral decomposition: a(x, y) =
λi vl (x)vl (y).
(11.2)
k≥0
Since P is conjugate to A, the eigenvalues of both matrices are identical. In addition, if {φl } and {ψl } are the corresponding left and right eigenvectors of P, then we have the following equalities: 1
φl = D 2 vl ,
ψl = D − 2 vl . 1
(11.3)
It follows from the orthonormality of {vi } and Eq. (11.3) that {φl } and {ψl } are biorthonormal, that is φm , ψl = δml . Combing Eqs. 11.2 and 11.3 together with the biorthogonality of {φl } and {ψl } leads to the following eigendecomposition of the transition matrix P λl ψl (x)φl (y). (11.4) p(x, y) = l≥0
Because of the fast decay of the spectrum, only a few terms are required to achieve sufficient accuracy in the sum. The family of diffusion maps { (x)} defined by (x) = (λ1 ψ1 (x), λ2 ψ2 (x), λ3 ψ3 (x), · · · ) embeds the dataset into a Euclidean space. This embedding constitutes a new parametrization of the data in a lowdimensional space. The diffusion distance between two data points x and y, as it was defined in [8], is the weighted L 2 distance: D 2 (x, y) =
( p(x, z) − p(z, y))2 . φ0 (z) z∈Γ
(11.5)
This distance reflects the geometry of the dataset as the value of φ01(x) depends on the point’s density. Two data points are close to each other if there is a large number of paths connecting them. In this case, the diffusion distance is small. Substituting Eq. (11.4) into Eq. (11.5) together with the biorthogonality property implly that the diffusion distance can be expressed via the right eigenvectors of the transition matrix P: λl2 (ψl (x) − ψl (y))2 . D 2 (x, y) = l≥1
In these new coordinates, the Euclidean distance between two points in the embedded space represents the distance between the two high-dimensional points as defined by a random walk. Moreover, this facilitates the embedding of the original points into a Euclidean space Rη by:
11.5 Appendix: Diffusion Framework
215
t : xi → λt2 ψ2 (xi ) , λt3 ψ3 (xi ) , . . . , λtη ψη (xi ) . which also provides coordinates on the set Γ . Essentially, η n due to the fast decay of the eigenvalues of P. Furthermore, η depends only on the primary intrinsic variability of the data as captured by the random walk and not on the original dimensionality of the data.
11.5.2 Geometric Harmonics Geometric Harmonics (GH) is a method that facilitates the extension of any function f : Γ → R to a set of new points that are added to Γ . Specifically, every coordinate of the low-dimensional embedding constitutes such a function. Let Γ be a set of points in Rn and be its diffusion map embedding. Let Γ¯ be a set in Rn such that Γ ⊆ Γ¯ . The GH scheme extends into a new dataset Γ¯ . The GH generalize the Nyström extension [13] method which is outlined next. The Nyström Extension The eigenvectors and eigenvalues of a Gaussian kernel on the training set Γ with width ε (see Eq. (11.1)) are computed by λl ϕl (x) =
e
− x−y 2 2ε
ϕl (y), x ∈ Γ.
(11.6)
y∈Γ
If λl = 0, the eigenvectors in Eq. (11.6) can be extended to any x ∈ Rn by ϕ˜l (x) =
1 − x−y 2 e 2ε ϕl (y), x ∈ Rn . λl y∈Γ
(11.7)
This is known as the Nyström extension, which is a common method for extension of functions to out-of-the-training-set points. This is common in online processes in which new samples arrive and we need to extrapolate a function f defined on the Γ to the new points. The extended distance of ϕ¯l from the training set is proportional to ε. Let f be a function on the training set Γ . In our case, we are interested in extending each of the coordinates of the embedding function (x) = (λ1 ψ1 (x), λ2 ψ2 (x), λ3 ψ3 (x), · · · ) . The eigenfunctions {ϕl } are the outcome of the spectral decomposition of a symmetric positive matrix, thus, they form n an orthonormal basis in R . Consequently, any function f can be expanded over of this basis f (x) = l ϕl , f ϕl (x), x ∈ Γ. Using the Nyström extension, as given in Eq. (11.7), f can be defined for any point x ∈ Rn by f˜(x) =
ϕl , f ϕ¯l (x), x ∈ Rn . l
(11.8)
216
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
The above extension allowsto decompose each diffusion map coordinate ψi in the same way using ψi (x) = l ϕl , ψi ϕl (x), x ∈ Γ. In addition, the embedding of a new point x˜ ∈ Γ \Γ can be evaluated in the embedding coordinate system by ψ˜i (x) ¯ = l ϕl , ψi ϕ¯l (x). ¯ Geometric Harmonics The Nyström extension, which is given in Eq. (11.7), has two major drawbacks: 1. The extension distance is proportional to the value of ε used in the kernel. This extension numerically vanishes beyond this distance. 2. The scheme is ill-conditioned since λl −→ 0 as l −→ ∞. The second issue can be solved by cutting off the sum in Eq. (11.8) keeping the eigenfunctions) satisfying λl ≥ δλ0 f¯(x) = eigenvalues (and the corresponding n ϕ , f ϕ ¯ (x), x ∈ R . The result is an extension scheme with a condition l l λl ≥δλ0 number δ. In this new scheme, f and f¯ do not coincide on Γ , but they are relatively close. The value of ε controls this error. An iterative method for modifying the value of ε with respect to the function to be extended is introduced in [10]. The outline of the algorithm is as follows: 1. Determine an acceptable error for relatively big value of ε. Denote them by err and ε0 , respectively; 2 2. Build a Gaussian kernel using ε0 such that kε0 (x, y) = e( x−y /2ε0 ) ; 3. Compute the set of eigenvalues for this kernel. Denote this set by {ϕl (x)} and write f as a linear combination of this basis as f (x) = l ϕl , f ϕl (x); 4. Compute the sum |ϕl , f |2 ; rerr = λl >δλ0
5. If rerr < err then expand f over the eigenvectors’ basis {ϕl (x)}. Otherwise, reduce the value of ε0 and repeat the process. The sum, which is computed in step 4 of the algorithm, consists of only large elements. The number of elements in the sum grows with respect to the number of oscillations the function has. This means that ε will become smaller with respect to the behavior of f . We are interested in expanding the diffusion maps coordinates that correspond to the highest eigenvalues. These coordinates are usually smooth functions. Thus, the process in steps 1-5 is expected to find a large enough value for ε that will allow to extend them to new data points.
11.6 Appendix: Outline of the CART Algorithm A comprehensive exposition of the CART scheme can be found in [5]. We consider a two-class classification problem.
11.6 Appendix: Outline of the CART Algorithm
217
Building the Tree The space X of input patterns from the reference set consists of two reference matrices V l , l = 1, 2 of sizes μl × n, respectively. For simplicity, we assume that μ1 = μ2 . The ith row of the matrix V l is a vector V l (i, :) of length n representing the signal sil which belongs to the class C l . In our case, n is equal to the number of the selected eigenvectors of the diffusion matrix. The tree-structured classifier to be constructed has to divide our space X into J J Xνt . Each subspace Xνt must be “pure” in the sense that disjoint subspaces X = ν=1 the percentage of vectors from one of the matrices V l , must prevail the percentage of the vectors from the other matrix. (In the original space X both are 50%.) The construction of the binary tree is started by a split of X into two descendant subspaces: X = X1 = X2 X3 , X2 X3 = ∅. To do so, CART chooses a split variable y j and a split value z j in a way to achieve minimal possible “impurity” of the subspaces X2 and X3 . The split rule for the space X1 is as follows: If a vector y = (y1 , . . . yn ) satisfies the condition y j ≤ z j , then it transferred to the subspace X2 , otherwise it is transferred to the subspace X3 . Subsequently, we divide the subspace X2 in a similar manner: X2 = X4 X5 , X4 X5 = ∅. The respective split variable yk and split value z k are selected so, that the data in each of the descendant subspaces were “purer” than the data in the parent subspace. Then, one of the subspaces X4 or X5 can be further divided recursively until we reach the so called terminal subspace X1t , which is not split further. The decisions whether a subspace is classified as terminal subspace depends on the predetermined minimal “impurity” and the minimal size of the subspace. The terminal subspace X1t is assigned to the class C l , with the probability l V } m l1 #{y ∈ X1t l , = p1 = t m1 #{y ∈ X1 } where m l1 is the number of points in node X1t that belongs to class C l and m i is the total number of points in the subspace X1t . After termination is reached in the subspace X1t ,
Fig. 11.15 Example of a tree for the two-class problem. The terminal nodes are indicated by rectangular boxes and are designated by a class label. Non-terminal nodes are indicated by circles
218
11 Delineation of Malignant Skin Tumors by Hyperspectral Imaging
we return to subspace X3 which was not split. Similarly, we reach the next terminal subspace X2t . We do the same with one of yet non-split subspaces and finally the J Xνt is constructed. In the terminology of graph theory, the space X tree X = ν=1 is called the root node, the nonterminal and terminal subspaces are the nonterminal and terminal nodes. This process is illustrated in Fig. 11.15. The terminal nodes are displayed by rectangles. Classification A vector x = (x1 , . . . xn ) is fed to the tree. In the first step it is assigned to either node X2 , in the case where the coordinate x j ≤ z j , or to node X3 otherwise. Finally, by checking subsequent split variables, the vector is forwarded into a terminal node Xrt which is labeled as class C l , with probability prl .
References 1. A. Averbuch, E. Hulata, V. Zheludev, I. Kozlov, A wavelet packet algorithm for classification and detection of moving vehicles. Multidimens. Syst. Signal Process. 12(1), 9–31 (2001) 2. A. Averbuch, V. Zheludev, T. Cohen, Interpolatory frames in signal space. IEEE Trans. Signal Process. 54(6), 2126–2139 (2006) 3. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume II: Non-periodic Splines (Springer, Berlin, 2015) 4. A. Bermanis, A. Averbuch, R.R. Coifman, Multiscale data sampling and function extension. Appl. Comput. Harmon. Anal. 34(1), 15–29 (2013) 5. L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classification and Regression Trees (Wadsworth, Belmont, 1984) 6. Fan R.K. Chung, Spectral Graph Theory (CBMS Regional Conference Series in Mathematics), vol. 92 (American Mathematical Society, Providence, 1996) 7. G. Clark, E. Pappas-Politis, B. Cherpelis, J. Messina, M. Müller, C. Cruse, L. Glass, Surgical management of melanoma in situ on chronically sun-damaged skin. Cancer Control 15(3), 216–224 (2008) 8. R.R. Coifman, S. Lafon, Diffusion maps. Appl. Comput. Harmon. Anal. Spec. Issue Diffus. Maps Wavelets 21(1), 5–30 (2006) 9. R.R. Coifman, S. Lafon, Geometric harmonics: a novel tool for multiscale out-of-sample extension of empirical functions. Appl. Comput. Harmon. Anal. Spec. Issue Diffus. Maps Wavelets 21(1), 31–52 (2006) 10. A. Glaser, S. Lafon, Y. Keller, R.R. Coifman, Data fusion and multi-cue data matching by diffusion maps. IEEE Trans. Pattern Anal. Mach. Intell. 28(11), 1784–1797 (2006) 11. P.C. Mahalanobis, On the generalised distance in statistics. Proc. Natl. Inst. Sci. India 2(1), 49–55 (1936) 12. J.K. McKenna, S.R. Florell, G.D. Goldman, G.M. Bowen, Lentigo maligna/lentigo maligna melanoma: current state of diagnosis and treatment. Dermatol. Surg. 32(4), 493–504 (2006) 13. E.J. Nyström, Über die praktische auflösung von linearen integralgleichungen mit anwendungen auf randwertaufgaben der potentialtheorie. Comment. Phys.-Math. 4(15), 1–52 (1928) 14. W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, 2nd edn. (Cambridge University Press, New York, 1992) 15. V. Zheludev, I. Pölönen, N. Neittaanäki-Perttu, A. Averbuch, P. Neittaanmäki, M. Grönroos, H. Saari, Delineation of malignant skin tumors by hyperspectral imaging using diffusion maps dimensionality reduction. Biomed. Signal Process. Control 16, 48–60 (2015)
Chapter 12
Acoustic Detection of Moving Vehicles
Abstract This chapter outlines a robust algorithm to detect the arrival of a vehicle of arbitrary type when other noises are present. It is done via analysis of its acoustic signature against an existing database of recorded and processed acoustic signals. To achieve it with minimum number of false alarms, a construction of a training database of acoustic signatures of signals emitted by vehicles using the distribution of the energies among blocks of wavelet packet coefficients (waveband spectra, see Sect. 4.6) is combined with a procedure of random search for a near-optimal footprint (RSNOFP). The number of false alarms in the detection is minimized even under severe conditions such as: signals emitted by vehicles of different types differ from each other, whereas the set of non-vehicle recordings (the training database) contains signals emitted by planes, helicopters, wind, speech, steps etc. The described algorithm is robust even when the tested conditions are completely different from the conditions where the training signals were recorded. This technique has many algorithmic variations. For example, it can be used to distinguish among different types of vehicles. The described algorithm is a generic solution for process control that is based on a learning phase (training) followed by an automatic real-time detection.
12.1 Introduction The goal is to detect the arrival of vehicles of arbitrary types such as various cars, vans, jeeps and trucks via the analysis of their acoustic signatures with minimal number of false alarms. This processing is done against an existing database of recorded acoustics signals. The problem is complex because of the great variability in vehicles types and because of the surrounding conditions that may contain sounds emitted by planes, helicopters, speech, wind, steps, to name a few, in the recorded database (training datasets). In addition, the velocities of the vehicles, distances from the receiver, the roads the vehicles traveled on are highly variable as well and thus affect the recorded acoustics. The stuff of this chapter is based on the paper [3] (see also [5, 11]). © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_12
219
220
12 Acoustic Detection of Moving Vehicles
A successful detection depends on the constructed acoustics signatures that are built from characteristic features. These signatures enable to discriminate between vehicle (V) and non-vehicle (N) classes. Acoustic signals emitted by vehicles have quasi-periodic structure. It stems from the fact that each part of the vehicle emits a distinct acoustic signal which, in the frequency domain, contains only a few dominating bands. As the vehicle is moving, the conditions are changing and the configuration of these bands may vary, but the general disposition remains. Therefore, it is assumed that the acoustic signature for the class of signals emitted by a certain vehicle is obtained as a combination of the inherent energies in the blocks of the wavelet packet coefficients of the signals, each of which is related to a certain frequency band. This assumption has been corroborated in the detection and identification of a certain type of vehicles [1, 2] and so also in the hydro-acoustic detection of a cruising vessel [4, 6]. The experiments demonstrated that a choice of distinctive characteristic features that discriminate between vehicles and non-vehicle classes can be derived from blocks of wavelet packet coefficients. Extraction of characteristic features (parameters) is a critical task in the training phase of the process. In order to identify the acoustic signatures, in the final phase of the process, the outputs from two classifiers were combine. One is the well known Classification and Regression Trees (CART) classifier [7] (see also Sect. 11.6). The other classifier is based on the comparison of distances between the test signal and sets of pattern signals from the V and N classes.
12.2 Structure of the Recorded Acoustics Signals The recordings were taken under very different conditions in different dates. The recordings’ sampling rate (SR) was 48,000 samples per second (SPS). The signals were downsampled to SR of 1000 SPS and 600 SPS. A subset of recordings labeled by TR was used for training the algorithm. Fragments of recordings from the set TR, that contain sounds emitted by vehicles were stored as the V-class signals. Recorded fragments that did not contain vehicles sounds were stored as the N-class signals. Both classes were highly variable. Recordings in the V-class were taken from different types of vehicles during different field experiments under various surrounding conditions. In particular, the velocities of the vehicles and their distances from the recording device varied. Moreover, the vehicles traveled on either various paved (asphalt) or unpaved roads, or on a mixture of paved and unpaved roads. Recordings in N-class comprised sounds emitted by planes, helicopters, sometimes strong wind and speech nearby the receiver, to name a few. Figure 12.1 displays portions of acoustic signals emitted by two cars with their DFT spectra. Figure 12.2 displays portions of acoustic signals emitted by a truck and a van and their DFT spectra.
12.2 Structure of the Recorded Acoustics Signals
221
Fig. 12.1 Fragments of two car recordings and their DFT magnitude spectra. Frames from left to right: First car; its spectrum; second car; its spectrum
Fig. 12.2 Fragments of a truck and a van recordings and their DFT magnitude spectra. Frames from left to right: Truck; its spectrum; van; its spectrum
Fig. 12.3 Fragments of a plane and a helicopter recordings and their DFT magnitude spectra. Frames from left to right: Plane; its spectrum; helicopter; its spectrum
It is seen that the spectra of different cars differ from each other. It is even more apparent in the spectra of other vehicles. Figure 12.3 displays portions of acoustic signals emitted by a plane and a helicopter with their DFT spectra, whereas Fig. 12.4 does the same for speech and wind patterns.
222
12 Acoustic Detection of Moving Vehicles
Fig. 12.4 Fragments of a speech and a wind recordings and their DFT magnitude spectra. Frames from left to right: Wind; its spectrum; speech; its spectrum
It is apparent that even within the same class (V or N), the signals differ significantly from each other. The same is true for their frequency contents. However, there are some common properties to all these acoustic signals that were recorded from moving vehicles. First, these signals are quasi-periodic in the sense that there exist some dominating frequencies in each signal. These frequencies may vary as motion conditions are changed. However, for the same vehicle, these variations are confined in narrow frequency bands. Moreover, the relative locations of the frequency bands are stable (invariant) to some extent for signals that belong to the same vehicle. Therefore, it is a reasonable conjecture that the distribution of the energy (or some energy-like parameters) of acoustic signals, that belong to some class, over different areas in the frequency domain, may provide a reliable characteristic signature for this class.
12.3 Formulation of the Approach Wavelet packet analysis (see Chap. 4) is a highly relevant tool for the adaptive search for valuable frequency bands in a signal or a class of signals. Once implemented, the wavelet packet transform of a signal yields a huge (redundant) variety of different partitions of the frequency domain. The transform is computational efficient. Due to the lack of time invariance in the multiscale wavelet packet decomposition, we use the whole blocks of wavelet packet coefficients rather than individual coefficients and waveforms. The collection of energies in blocks of wavelet packet coefficients can be regarded as a waveband spectrum of the signal (see Sect. 4.6), can serve as a sparse and robust representative of signals. In a sense, it can be regarded as an averaged magnitude Fourier spectrum. It is illustrated in Fig. 4.13. That figure displays the energies in the blocks of wavelet packet coefficients from fifth, sixth and seventh decomposition levels of a signal x ∈ Π [2048]. There, the discrete-timespline wavelet packet transform with the wavelet packets of 13th order were applied.
12.3 Formulation of the Approach
223
While the DFT spectrum x[ν] ˆ , ν = 0, . . . , 2047, comprises a full information on the signal x ∈ Π [2048], the “waveband spectra” can provide concise frequencyrelated signatures of the signal. A single signature can comprise energies of coefficient blocks from several different decomposition levels. A variation on the Best Basis algorithm [12] that searches for a few blocks that mostly discriminate a certain vehicle from other vehicles and the background was used in [1, 2]. In the described environment, that approach did not prove to be robust and efficient because of the variability of vehicles’ types in Class V and kinds of the background in Class N recordings. Therefore, another way to utilize the wavelet packet transform coefficient blocks is chosen. This method can be characterized as a random search for the near-optimal footprint (RSNOFP) of a class of signals. This is close to the compressed sensing [8–10] idea. In order to enhance the robustness of the algorithm, three different versions of RSNOFP are implemented, that validated each other. The sample signals for the training phase and the online signals in the detection phase are formed by imposing a comparatively short window on each input signal followed by a shift of this window along the signal so that adjacent windows have some overlap.
12.3.1 Outline of the Approach The complete process has three sequential steps: Training phase: A set of signals with known membership is used for training the algorithm. These signals are sliced into the overlapped fragments of length L (typically, L = 1024. The fragments were subjected to the wavelet packet transform. The wavelet packet transform bridges the gap between time-domain and frequencydomain representations of a signal. The transform coefficients from the upper levels (finer scales) correspond to basic waveforms, which are well localized in time domain but their spectra occupy wide frequency bands. The coefficients from the deeper levels (coarser scales) correspond to waveforms, which have narrow spectra but wide supports in time domain. It was established experimentally that the coefficients from the sixth decomposition level provide an optimal tradeoff between time and frequency domain representations of the 1024-sample fragments of acoustic signals we are deal with. The blocks’ energies are computed and three versions of RSNOFP are applied. As a result, each fragment becomes represented by three different vectors of length l L (typically, l = 12 or l = 8). The components of these vectors are the characteristic features of the fragments. The vectors are used as pattern data sets and also are utilized to produce three versions of CART trees. Identification – features extraction phase: The new acquired signal is sliced to overlapped fragments of length L. Then, the wavelet packet transform is applied, followed by energies calculations of the coefficients’ blocks. Then, three different
224
12 Acoustic Detection of Moving Vehicles
transforms are applied, that are determined by three versions of RSNOFP. As a result, each fragment of the tested signal becomes represented by the three different vectors of length l. Identification – decision making phase: These vectors are submitted to the corresponding versions of CART classifiers. In addition, the vectors are tested by a second classifier that calculates the distances of the vectors from the pattern data sets associated with V and N classes. The final decision on membership of the fragment is derived by combining the answers for all the three vectors from both classifiers.
12.4 Description of the Algorithm and Its Implementation 12.4.1 The Algorithm The algorithm is centered around three basic phases: I. Extraction of characteristic features from V and N classes. It contains the following steps: 1. 2. 3. 4.
The training sets of signals are constructed by slicing the training signals into overlapped segments. The wavelet packet transform is applied to segments. The energies in the blocks of the wavelet packet transform coefficients are calculated. RSNOFP is called. It results in the embedding of the training sets of signals into low-dimensional reference sets that comprise their characteristic features.
II. Building the CART classification trees. III. Identifying whether the new signal belongs to either V or N class: 1. 2. 3. 4. 5. 6. 7.
The new signal is sliced into overlapped segments. The wavelet packet transform is applied to these segments. The energies in the blocks of the wavelet packet transform coefficients are calculated. The set of blocks energies of each segment is embedded into a low-dimensional vector that contains its characteristic features. The distances of the vector that contains characteristic features from the reference sets of V and N classes are calculated. The vector is tested by CART classifier. Decision whether the vector belongs to either V or N class is made.
Following is a detailed description of the implementation of this algorithm.
12.4 Description of the Algorithm and Its Implementation
225
Fig. 12.5 Spline-6 wavelet packets from the third decomposition level (left) and their DFT magnitude spectra (right)
12.4.2 Choice of the Analyzing Waveforms The wavelet packet transforms of discrete-time signals is implemented by filtering the signals by two-channel filter banks with the downsampling factor 2. Each block of the transform coefficients is related to a frequency band, whose width depends on the decomposition level. There is a duality in the nature of the wavelet packet transform coefficients from a certain block. On the one hand, they are the correlation coefficients between the signal and shifts of the corresponding waveform. As such, they indicate the presence of this waveform in the signal and measure its contribution. On the other hand, they evaluate the contents of the signal inside the related frequency band. In that sense, the wavelet packet transform bridges the gap between timedomain and frequency-domain analysis of a signal. These properties make wavelet packet transforms a proper tool for the features extraction from (quasi-)periodic signals. The filter banks derived from discrete-time and discrete splines (see Chap. 4 of this volume) possess properties, which are favorable for the signal analysis. The waveforms are well localized in the time domain, while their spectra are flat and split the Nyquist frequency domain into bands with a minimal overlap. In the described application the transforms derived from the 6th order discrete-time splines are used. Figure 12.5 displays the wavelet packets from the third decomposition level and their DFT magnitude spectra. While the waveforms do not have a compact support in time domain, they are localized fairly. They produce perfect split of the frequency domain into 8 subbands. While advancing to a coarser level (scale), a better frequency resolution at the expense of time domain resolution appears and vice versa. Figure 12.6 displays a few wavelet packets from the 6th decomposition level. The waveforms resemble the
226
12 Acoustic Detection of Moving Vehicles
Fig. 12.6 Spline-6 wavelet packets from the sixth decomposition level (left) and their DFT magnitude spectra (right)
windowed sine and cosine waves, whereas their spectra split the Nyquist frequency domain into 64 bands.
12.4.3 Training the Algorithm 12.4.3.1
Extraction of Characteristic Features
Signal preparation for training the algorithm: Initially, as many recordings as possible from V and N classes to be separated are collected. From each selected recording, which belongs to a certain class, a number of overlapped slices each of length L = 2 J samples are prepared. The slices are shifted by S L samples with respect to each other. Altogether, M v and M n slices for the V and N classes, respectively, are prepared. The slices are arranged to be rows of two matrices. Slices v v from V-signals form the matrix A = Ai, j , i = 1, . . . , M v , j = 1, . . . , L , and slices from N-signals form the matrix An = Ai,n j , i = 1, . . . , M n , j = 1, . . . , L. Embedding the sets of slices into sets of energies: The measure for the energy is specified as the normalized l1 norms of the blocks. Then, the following operations are carried out: 1.
The wavelet packet transform down to level m (typically m = 6 if L = 1024) is applied to each slice of length L from both V and N classes. The coefficients from the coarsest scale(level) m are used. This scale contains L = 2 J , J = 10, coefficients that are arranged into 2m blocks, each of which comprises
12.4 Description of the Algorithm and Its Implementation
2.
227
l = 2 J −m coefficients associated with a certain frequency band. These bands form a near-uniform partition of the Nyquist frequency domain into 2m subbands. The “energy” of each block is calculated using the chosen measure. As a result, the distribution of the “energies” of the slices Av (i, :) from V-signals and An (i, :) from N-signals over various frequency bands of widths ≈N F /2m , is produced, where N F is the Nyquist frequency. The “energies” are stored in the energy vectors Eiv and Ein of length λ = 2m = L/l, respectively (typically, λ = 64). energy vectors are arranged to be rows of two ma The n v v v n trices B = Bi, j , i = 1, . . . , M , j = 1, . . . , λ and B = Bi, j , i = 1, . . . , M n , j = 1, . . . , λ, where the ith row of the matrix B v is the vector Eiv and the ith row of the matrix B n is the vector Ein . The “energy” vectors B v (i, :) and B n (i, :) are considered to be the “waveband spectra” of the slices Av (i, :) and An (i, :), respectively, in a sense of Sect. 4.6 (see Fig. 4.13 for illustration). These vectors are regarded as proxies of the slices. By the above operations, the dimension of the database is reduced by factor l = 2 J −m .
Embedding of sets of energies into the sets of features: The subsequent operations, which are implemented in a compressed sensing [8–10] spirit, are aimed to further reduce the dimensionality of the reference sets and to maximally separate the sets related to the V-class from the N-class sets. It is achieved by the application of three versions of the RSNOFP scheme to the energy matrices B v and B n . The RSNOFP scheme is described in Appendix (Sect. 12.6). As a result of n v & Drand , the RSNOFP application, three pairs of the reference matrices: Drand v n v n D pca & D pca and D per m & D per m are produced, whose rows represent slices of training signals. So also the corresponding random matrices ρrand , ρ pca and ρ per m are produced. These features and random matrices are to be utilized in the identification phase. Compaction of the feature matrices in V-class: In order to refine the V-class of feature matrices, their rows are tested. Recall that each row is associated with a v , segment of a signal that belongs to V-class. For each row in the matrix Drand n v v n the Mahalanobis distances d and d of this row from the sets Drand and Drand is calculated. If for some row, d v > d n , then this row is discarded from the matrix v . The same is done for the matrices D vpca and D vper m . Drand Comment: As a result of the above operations, the dimensionality of the training set was substantially reduced. Typically, a segment of length 1024 is embedded into a 12-component vector. Ostensibly, this part of the process looks computationally expensive, especially if, for better robustness, large training sets are involved. This procedure is called once and it is done off-line before the detection phase, which is executed on-line. Altogether, formation of three pairs of reference matrices requires about 1 min of CPU time on a standard PC. Figure 12.7 displays one row from matrix D vper m and one row from matrix D nper m . These are sets of features from a segment in V-class and a segment in N-class.
228
12 Acoustic Detection of Moving Vehicles
Fig. 12.7 Left: one row from the matrix D vper m (features of a segment from the V-class). Right: one row from the matrix D nper m (features of a segment from the N-class)
12.4.3.2
Building the Classification and Regression Trees (CARTs)
n v & Drand , D vpca & D npca and Once the three pairs of the reference matrices: Drand v n D per m & D per m are derived, the classifiers are built. For this purpose, vectors, which form rows in the reference matrices, are used. The construction of the tree is done by a binary split of the space of input patterns X −→ {X 1 X 2 · · · X r }, so that, once a vector appeared in the subspace X k , its membership could be predicted with a sufficient reliability. The answer is the class the vector is assigned to and the probability of this assignment. The basic idea behind the split is that the data in each descendant subset is “purer” than the data in the parent subset. The scheme is described in full details in the monograph [7]. A brief outline is given in Sect. 11.6. After the construction of the three classification tree versions Trand , T pca and T per m with the three pairs of the reference matrices, the training phase is accomplished and the algorithm is in a position to classify new signals that did not participate in the training.
12.4.4 Identification of an Acoustic Signal Preprocessing of a new acoustic recording: An acoustic signal to be identified is preprocessed by the same operations that were used on the training signals. 1.
This recording is sliced into M overlapped segments of length L = 2 J , j = 10, samples each, shifted with respect to each other by S samples. The wavelet packet transform up to scale m is applied to each slice. The coefficients from the coarsest scale m are arranged into 2m blocks of length l = 2 J −m . The “energy” of each block is calculated with the chosen measure. Thus, each ith
12.4 Description of the Algorithm and Its Implementation
2.
229
m slice is embedded into an energy vector Ei of length λ = 2 = L/l. The energy vectors are arranged in the matrix B = Bi, j , i = 1, . . . , M, j = 1, . . . , λ, where the ith row of the matrix B is the vector Ei . In order to embed the energy matrix B into the features spaces, it is multiplied subsequently with the random matrices ρrand , ρ pca and ρ per m . These multiplications produce three features matrices: Drand , D pca and D per m , where the ith row in each matrix is associated with the ith segment of the processed signal. Diagram in Fig. 12.8 illustrates the preprocessing scheme.
Identification of a single segment: To identify the ith segment of a signal, the i , vipca and viper m are used, which are the ith rows of the matrices three vectors vrand Drand , D pca and D per m , respectively. 1.
2.
3.
These vectors are submitted to the respective versions Trand , T pca and T per m of the classification tree. Once a vector is submitted to the tree, it is assigned to one of the subsets X k of the input space X . These trees produce three decisions τrand , τ pca and τ per m together with the corresponding probabilities prand , p pca and p per m . The decision τ(·) determines the most probable membership of the segment. The value τ(·) = 1 if the CART assigns the segment to V-class and τ(·) = 0 otherwise. The distances (for example, Mahalanobis or Euclidean) between the veci , vipca and viper m and the respective pairs of the reference sets: tors vrand n v , D vpca & D npca and D vper m & D nper m are calculated. This calcuDrand & Drand lation produces three decisions τ˜rand , τ˜ pca and τ˜ per m together with the corresponding quasi-probabilities (QP) p˜rand , p˜ pca and p˜ per m in the following way. i from the respective pair of the Let d v and d n be the distances of a vector v(·) n v v n reference sets: D(·) and D(·) . If d < d then the decision is τ˜(·) = 1 (the segment is assigned to the V-class), otherwise τ˜(·) = 0 (the segment is assigned to the N-class). If d v < d n then the quasi-probability QP of the membership in the V-class is defined as p˜ (·) = 1 − d v /d n , otherwise p˜ (·) = 0. This classification scheme is a version to the Nearest Neighbor scheme. This scheme is referred to as the Minimal Distance (MD) classifier. Two thresholds values t and t˜ are set and the results for the ith segment i , yipca and yiper m , are combined into three 3-component column vectors yrand where: 1, if p(·) > t i (1) = y(·) 0, otherwise, 1, if p˜ (·) > t˜ i y(·) (2) = 0, otherwise, i y(·) (3) = τ(·) × τ˜(·) .
Diagram in Fig. 12.9 illustrates the identification scheme. i Making decisions on a recording: 1. The vectors yrand , yipca and yiper m are gathered into three matrices Yrand , Y pca and Y per m of size 3 × M, where M is the number of overlapping segments produced from the analyzed signal. The i serve as the ith columns in the respective matrices Y(·) . vectors y(·)
230
2. 3.
12 Acoustic Detection of Moving Vehicles
The rows of the matrices are processed by moving average, thus producing the matrices Y¯rand , Y¯ pca and Y¯ per m , respectively, of size 3 × M. The matrices Y¯rand , Y¯ pca and Y¯ per m are combined into the matrix Y¯ of size 3 × M in the following way. Each entry in Y¯ is defined as the median value of the respective entries of the three matrices: Y¯ ( j, i) = median Y¯rand ( j, i), Y¯ pca ( j, i), Y¯ per m ( j, i) , i = 1, . . . , M, j = 1, 2, 3.
Comments: The matrix Y¯ comprises the identification results for the analyzed signal. Its first row contains the averaged answers (which have a significant probabilities) from the CART classifier. Its value at each point (segment) is the number of positive (class V) answers in the vicinity of this point, which is divided by the length of the vicinity. It represents the “density” of the positive answers around the given segment, which corresponds to a time moment. The structure of the second row is similar to the structure of the first row with the difference that these answers come from the MD classifier instead of answers from the CART classifier. The third row of the matrix Y¯ combines the answers from both classifiers. First, these answers are multiplied by each other. The combined answer is equal to one for segments where both classifiers produce answer one (V-class) and zero otherwise. Thus, the classifiers cross-validate each other. Finally, rows of the matrix Y¯ are processed by the application of the moving average providing the “density” for the positive answers. The third row in the matrix Y , yields the most robust result from the detection process with minimal false alarm. Real-time implementation: Above, the identification process of a full recording is described. However, a slight modification of the scheme provides a real-time identification of an acoustic signal. To get it, each segment is processed separately, upon its arrival (of course, these segments are overlapped). This segment-wise processing takes a fraction of a second. Once several initial segments are identified, a moving average procedure is started. Thus, the arriving signal is identified with a negligible time delay. The described scheme is aimed to detect the arrival of any moving vehicle. Obviously, the scheme is also applicable for the arrival detection of a certain sought-after vehicle or other mechanical object.
12.5 Experimental Results A series of experiments on detection the arrival of vehicles of arbitrary type in the presence of surrounding noises corroborate the efficiency of the described methodology. Altogether 200 recordings were available, which were taken in five different areas. Many recordings contained sounds emitted by different vehicles combined with the sounds of wind, speech, aircrafts etc. The original sampling rate (SR) was 48,000
12.5 Experimental Results
231
Fig. 12.8 Diagram of a recording preprocessing
samples per second (SPS). The signals were downsampled into SR of 1000 SPS. The motion dynamics, the distances of vehicles from the receiver, the surrounding conditions were highly diverse.
12.5.1 Detection Experiments The first task is to form the reference database of signals with known membership (training) for building the classifiers. This database is derived mainly from the recordings made on a single date by clipping the corresponding fragments. A few recordings from other dates are also used. The CAR fragments are extracted from 10 recordings, 5 recordings are used for the TRUCK fragments and the same number for the VAN fragments. The diverse non-vehicle fragments are extracted from 35 recordings. Altogether, 38 recordings are involved in the training process (most of them contained sounds from different sources).
232
12 Acoustic Detection of Moving Vehicles
Fig. 12.9 Diagram of a single segment identification
The best results out of various families of wavelet packets and “energy” measures for the feature extraction, are achieved with wavelet packet transform derived from the sixth order discrete-time splines and the l1 norm. The reference signals are separated into two groups. One group (V class) contains all signals associated with vehicles and the other group (N class) contains all the non-vehicles signals. The signals are sliced into overlapped segments of length L = 1024 that are shifted with respect to each other by S = 256, thus, the overlap was 3/4 of a segment. Altogether, 21,898 V-segments and 43,816 N-segments are obtained. The characteristic features are extracted from the segments as explained in Sect. 12.4.3.1. Each segment is subjected to the wavelet packet transform down to the 6th level (scale) and the l1 norm is used as the “energy” measure for all the 64 blocks of the 6th level. As a result of the RSNOFP procedures, various sets of discriminant transform coefficient blocks are selected. These procedures produce n v & Drand , D vpca & D npca and D vper m & D nper m three pairs of reference matrices: Drand with the corresponding random matrices ρrand , ρ pca and ρ per m . Each matrix has 12 columns according to the number of the characteristic features. These matrices are
12.5 Experimental Results
233
used for the MD classification and also are utilized for building three CART trees Trand , T pca and T per m . For the MD classification, all the available features (12) are used, unlike building the CART trees, where better results are achieved with sets containing only 8 features. All of the 200 available recordings are employed in the detection phase. A recordk , D kpca and D kper m , where ing number k is embedded into three features matrices Drand the ith row of each matrix is associated with the ith segment of the recording (see Sect. 12.4.4). Each row is tested with the MD and CART classifiers. The results are gathered into Y k matrix. The Euclidean distance is used for the MD classification. Although the signals were recorded in very different conditions and many of them were corrupted by strong background noise, the arrival of vehicles is correctly detected in overwhelming majority of cases, while false alarm is minimal. Figures 12.10, 12.11, 12.12 and 12.13 present a few typical results from the experiments on detection of vehicles of arbitrary types. All the figures are identically organized. Each comprises four frames. The top frame depicts the original recording #k. The next three frames present rows from the Y k matrix with respect to time scale. The second from the top frame presents the combined answers (the median from three answers) from CART classifiers processed by the moving average. The third from the top frame similarly displays the results from the MD classifiers. The bottom frame illustrates the combined results from both classifiers, that is the answers from both classifiers multiplied with each other and processed by the moving average. All the displayed recordings did not participate in the training phase.
12.5.2 Examples Recording # 1: Figure 12.10 displays results from testing the recordings # 1. In the beginning of the recording, sound from a remote vehicle is heard. Then, the jumpy vehicle passed by the receiver at around 70, 134 and 200 s from start. In its last passage it was followed by another car. All the events are correctly detected by the CART and MD classifiers. The MD classifier produces some false alarms, which are eliminated by combining the classifiers (bottom frame). Recording # 2: Figure 12.11 displays results from testing recordings # 2. In the beginning of the recording, a truck passed by the receiver followed by a tender. At around 70 s from the start of the recording a car followed by a truck passed by. In the end, a minibus and a car arrived. All the events are correctly detected by the CART and MD classifiers. The classifiers produced some false alarms, which were reduced by combining the classifiers (bottom frame). Recording # 3: Figure 12.12 displays results from testing the recordings # 3. Two trucks passed by the receiver moving in opposed directions at around 50 s from the start. Strong wind was present. The trucks arrival is correctly detected by the CART and MD classifiers. The MD classifier produces some false alarms, which are reduced by combining the classifiers (bottom frame).
234
12 Acoustic Detection of Moving Vehicles
Fig. 12.10 Results of testing the recording # 1. In the beginning, the sound from a remote vehicle is heard. The jumpy vehicle passed by the receiver at around 70 s from the start, at around 134 s and at around 200 s, in last passage it was followed by a car
Recording # 4: Figure 12.13 displays results from testing the recordings # 4. A truck passed by the receiver from 30 to 190 s from the start. Then, a strong sound from a plane dominated the scene till the end of the recording. The truck is correctly detected by the CART and MD classifiers. The MD classifier produces some false alarms, which are reduced by combining the classifiers (bottom frame). The plane is not assigned to the V class. Comments • The detection experiments corroborate the relevance of the described approach to feature extraction. • Combination of three schemes for feature extraction performs better than any single scheme. • Combining the classifiers MD with CART significantly reduces the number of false alarms. • The algorithm produces satisfactory detection results even when the conditions of the real signals essentially differs from the training data and the surrounding conditions. When the conditions of the captured signals are close to the training conditions, the detection is almost perfect. • Different features extraction schemes for the above problem are reported in [5, 11]. In [11], the characteristic features are extracted from the blocks of wavelet packet transform coefficients by using the Diffusion Maps and Geometric Harmonics (see Sect. 11.5.2), while in [5], the Fourier transforms are applied to the signal’s slices, which are followed by the dimensionality reduction using random projections
12.5 Experimental Results
235
Fig. 12.11 Results of testing the recording # 2. In the beginning of the recording a truck passed by the receiver followed by a tender. At around 70 s from the start, a car followed by a truck passed by. In the end, a minibus and a car arrived
Fig. 12.12 Results of testing the recording # 3. Two trucks passed by the receiver in opposed directions at around 50 s from the start, the strong wind presented at the scene
and the Principal Component Analysis (PCA). In both works the classification is achieved by nearest neighbors in the diffusion and PCA spaces, respectively. This technology, which has many algorithmic variations, is generic and can be used to solve a wide range of classification and detection problems, which are based on
236
12 Acoustic Detection of Moving Vehicles
Fig. 12.13 Results of testing the recording # 4. A truck passed by the receiver from 30 to 190 s from the start, then the strong sound from a plane dominated the scene till the end of the recording. Strong wind presented all over the record time
acoustic processing and, more generally, for classification and detection of signals which have near-periodic structure. Distinguishing between different vehicles can also be achieved via this technology.
12.6 Appendix: Random Search for a Near Optimal Footprint (RSNOFP) Scheme RSNOFP: Version I Design of random footprints: The matrix B v of size M v × λ (typically, λ = 64) is the matrix of “energies” of slices from V-class, as defined in Sect. 12.4.3.1. B n is the corresponding matrix for N-class. A random matrix R1 of size λ × r where r λ (typically, r = 20) is created. Entries of the matrix R1 are Gaussian random variables. The rows in the matrix are normalized. The matrix B v ismultiplied by the matrix R1 , thus producing a new matrix C v = B v ·R1 = Ci,v j of size M v × r . Each row in C v is associated with the corresponding slice. To select the most valuable columns in the matrix C v , this matrix is averaged along the columns: M 1 v c = v |Ci, j | = cvj , j = 1, . . . , r. M i=1 v
v
12.6 Appendix: Random Search for a Near Optimal Footprint (RSNOFP) Scheme
237
Let K be the set of indices of k < r largest coordinates of the vector cv (typically, k = 12). Then, columns from C v , whose indices belong to K , are collected into the matrix D v of size M v × k. This operation is equivalent to multiplication of B v with the matrix ρ of size λ × k, which is derived from R1 by removing the rows, whose indices do not belong to K . Thus, the initial matrix Av consisting of the V-class slices, whose size was, for example, M v × 1024, is reduced to the matrix D v of the random footprints of the slices. The size of D v is M v × 12. To produce a similar reduction for the matrix An of N-class slices, the N-class energy matrix B n is multiplied with the matrix ρ. As a result, the random footprints of the matrix D n = B n ·ρ of size M n × 12 is produced. The coordinates of the ith row of the matrix D v(n) are considered as the set of k characteristic features of the ith slice from the matrix Av(n) . Distance between feature sets: The Mahalanobis distances μi , i = 1, . . . , M v of the matrix D n are computed. Then, the each row in the V-class matrix D v from Mv v −1 sequence {μi } is averaged Δ = (M ) i=1 μi . The value Δ is considered to be the distance between the sets of features D v and D n . The matrices D v , D n , ρ and the value Δ are stored. Optimization of random footprints: All the above operations are repeated using a random matrix R2 , whose structure is similar to the structure of the matrix R1 . As a result, the feature matrices D2v and D2n , the random matrix ρ2 and the distance value Δ2 are derived. Assume that Δ2 > Δ. This means that the features matrices D2v and D2n are better separated from each other than the stored matrices D v and D n . In this case, we redenote D2v , D2n , ρ2 and Δ2 as D v , D n , ρ and Δ, respectively. They are stored while replacing the previous stored items. If Δ2 ≤ Δ then the stored items are left intact. These procedures are iterated up to 500 times. In the end, they produce the features matrices D v and D n such that the “distance” Δ between them among all the iterations is maximal. The reduced random matrix ρ and the pattern matrices D v , D n are stored for the utilization in the identification phase. These items are n v , Drand and ρrand , respectively. denoted as Drand RSNOFP: Version II Design of random footprints: This version is similar, to some extent, to Version I. The difference is that, instead of selecting the most valuable columns in the matrix C v of size M v × r , the Principal Component Analysis (PCA) is applied to this matrix, thus producing the matrix P = Pi, j of size r × r . Each column of P contains coefficients for one principal component. The columns are arranged in decreasing component variance order. The size of P is reduced to r × k by retaining only the first k columns Pk = Pi, j , i = 1, . . . , r, j = 1, . . . , k. The feature matrix D v for the V-class is obtained by multiplying C v by Pk : D v = C v ·Pk = B v ·R1 ·Pk = B v ·ρ, where ρ = R1 ·Pk .
238
12 Acoustic Detection of Moving Vehicles
Fig. 12.14 RSNOFP procedures (version II)
The size of the matrix ρ is k × λ. Similarly, the feature matrix D n for the N-class is derived by D n = B n ·ρ. Optimization of random footprints: Similarly to Version I, the “distance” Δ between the feature sets D v and D n is measured. The matrices D v , D n , ρ and the value Δ are stored and the optimization procedure, which is identical to that in Version I is started. In the end, the storage comprises the features matrices D v and D n and the matrix ρ. These items are denoted by D vpca , D npca and ρ pca . RSNOFP: Version III Unlike the versions I and II, in this version the energy matrix B v is not multiplied by a random matrix. Instead, a random permutation of the columns is performed and the first r columns are retained, thus producing the matrix C v of size M v × r . This transform can be presented as the multiplication of the matrix B v by a matrix T of size λ × r , C v = B v ·T where each column consists of zeros except for one entry, which is equal to 1. The other operations are the same as the corresponding operations in Version II. The PCA algorithm is applied to the matrix C v , which results in the matrix P = Pi, j of size r × r of coefficients of principal components. The size of P is reduced to r × k by retaining only the first k columns, Pk = Pi, j , i = 1, . . . , r, j = 1, . . . , k. We obtain the feature matrix D v for the V-class by multiplying C v by Pk . By proceeding as in Version II, we derive the near optimal features matrices D v and D n and
12.6 Appendix: Random Search for a Near Optimal Footprint (RSNOFP) Scheme
239
the matrix ρ. These items are denoted by D vper m , D nper m and ρ per m . The RSNOFP procedures (version II) is illustrated by the diagram in Fig. 12.14.
References 1. A. Averbuch, E. Hulata, V. Zheludev, I. Kozlov, A wavelet packet algorithm for classification and detection of moving vehicles. Multidimens. Syst. Signal Process. 12(1), 9–31 (2001) 2. A. Averbuch, I. Kozlov, V. Zheludev, Wavelet-packet-based algorithm for identification of quasi-periodic signals, in Wavelets: Applications in Signal and Image Processing IX, Proceedings of the SPIE, vol. 4478, ed. by A.F. Laine, M.A. Unser, A. Aldroubi (2001), pp. 353–360 3. A. Averbuch, V. Zheludev, N. Rabin, A. Schclar, Wavelet-based acoustic detection of moving vehicles. Multidimens. Syst. Signal Process. 20(1), 55–80 (2009) 4. A. Averbuch, V. Zheludev, P. Neittaanmäki, P. Wartiainen, K. Huoman, K. Janson, Acoustic detection and classification of river boats. Appl. Acoust. 72(1), 22–34 (2011) 5. A. Averbuch, N. Rabin, A. Schclar, V. Zheludev, Dimensionality reduction for detection of moving vehicles. Pattern Anal. Appl. 15, 19–27 (2012) 6. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, Berlin, 2014) 7. L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classification and Regression Trees (Chapman & Hall, New York, 1993) 8. D. Donoho, Compressed sensing. IEEE Trans. Inf. Theory 52 (2006) 9. D. Donoho, Y. Tsaig, Extensions of compressed sensing. Signal Process. 86(3), 533–548 (2006) 10. J. Romberg, E. Candes, T. Tao, Robust uncertainty principles: exact signal reconstruction from highly incomplete frequency information. IEEE Trans Inf. Theory 52(2), 489–509 (2006) 11. A. Schclar, A. Averbuch, N. Rabin, V. Zheludev, K. Hochman, A diffusion framework for detection of moving vehicles. Digit. Signal Process. 20(1), 111–122 (2010) 12. M.V. Wickerhauser, Adapted Wavelet Analysis: from Theory to Software (AK Peters, Wellesley, 1994)
Chapter 13
Detection of Incipient Bearing Fault in a Slowly Rotating Machine Using Spline Wavelet Packets
Abstract This chapter describes a successful application of spline-based wavelet packet transforms (WPTs) described in Chap. 4 to a complicated problem of detection of incipient defects in rolling element bearings by the analysis of recorded vibration signals. The methodology presented in this chapter is applied to the analysis of vibration data recorded from large bearings working in real unfavorable operation conditions in presence of strong noise and vibrations from multiple internal and external sources. It relies on properties of discrete spline-based wavelet packets such as orthogonality, near-rectangular spectra, transient oscillating shapes of testing waveforms and fast implementation of transforms. The methodology succeeded in detection of even small defects that commercial vibration monitoring systems failed to detect. This chapter is written in cooperation with Kari Saarinen (Ph. D, ABB AB Corporate Research and Department of Mathematical Information Technology, University of Jyväskylä, Finland).
13.1 Preliminaries 13.1.1 Background The detection of incipient bearing faults as early as possible has great economic value in monitoring of critical rolling element bearings (REBs) in industrial applications. In the early stage, a local fault in the bearing element produces a series of weak impacts at a rate that depends on the bearing geometry. These impacts, in turn, excite a special type of vibration that is, in principle, possible to detect using various condition monitoring methods. However, the analysis of vibration measurements taken from a real industrial environment can be challenging because measurements are noisy and, typically, periodic phenomena from other external, known and unknown sources overlap the fault-induced vibration events. Due to the fact that a sudden failure of any bearing in such an equipment would result in huge economic losses, multiple preventive maintenance programs
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5_13
241
242
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
are applied today. Conditions of the bearings are monitored on-line by vibration analysis-based methods and methods based on counting iron particles in circulating lubrication oil. In addition, the bearing elements are studied regularly or when suspecting a fault is present, by videotaping the inner and outer race surfaces as well as surfaces of the rolling elements using the boroscopy technique. Comparing with vibration monitoring, the iron particles counting and, especially, the boroscopy are expensive and time consuming condition monitoring methods. Therefore, it is important to investigate the full potential of the vibration analysis technique for the case in hand, by using advanced signal processing techniques. Currently, vibrations of all the bearings in the equipment are measured using accelerometers. A large amount of vibration data from healthy and faulty bearings in various operation conditions was collected in process of monitoring the bearings. In many cases, vibration monitoring gives the first indications for the incipient fault. There exist commercial vibration monitoring systems based on common envelope analysis. For the large slowly rotating bearings this commercial system failed to detect some of the bearing faults occurred in the drive end part of the equipment, due to strong noise in that part and the abundance of extraneous vibration events. However, a signal processing techniques based on discrete-spline wavelet packets succeeded in many cases unsolved by this commercial system. Although a REB in operation is properly lubricated, properly aligned, kept free of abrasives, moisture and corrosive reagents, and properly loaded, it does not have an eternal life time due to fatigue of the surfaces in rolling element contacts. El-Thalji and Jantunen in [3] give a review of models for wear evolution in rolling bearings with a new descriptive model, which is useful for modelling and monitoring the wear progress. At early fault stage a local crack, dent, or pit appears on the surface of the bearing element. When the defective surface makes contact with its matching surface, it produces a mechanical shock that causes the bearing to “ring” for a short time in 0.5–20 kHz frequency range. Reliable bearing fault detection as early as possible using vibration measurements means the ability to detect, with high probability, the weak fault pulses as soon as they appear. When the rotation speed of the monitored machine is constant, the fault pulses have a constant repetition frequency which can be evaluated beforehand, based on the rotation speed and bearing geometry. The fault types: the inner race fault, the outer race fault, and the rolling element fault are named with respect to the location of the damage. Correspondingly, fault frequencies are referred to as the inner race fault frequency, the outer race fault frequency, and the rolling element fault frequency. The “ringing” frequency bands or, more exactly, the natural frequency bands of the bearing components are crucial parameters for bearing condition monitoring, since, most likely, at one of those bands, the amplitudes of the fault pulses prevail over noise. When monitoring bearing faults, the choice of the frequency band, where faultinduced events persist, is critical. It is especially important for early fault detection when, typically, a weak signal of interest is shadowed by a strong noise and the contributions from extraneous vibration sources. The resonance frequency band selection is often made using the so-called “spectral kurtosis” (SK) ([1, 4, 8], for example). It was observed that the statistical parameter kurtosis
13.1 Preliminaries
243
E (x − μ)4 Kur(x) = , σ4 where μ and σ are the mean and standard deviation of the sequence x, respectively, while E {·} is the expectation operation, is small for Gaussian noise, but large for signals containing short transients, such as pulses from a faulty bearing. Various applications of the SK techniques to the fault detection are reviewed in [8]. Once a proper frequency band is determined, the repetition frequency of the faultinduced pulses can be revealed using the spectral envelope analysis (see Appendix 13.5).
13.1.2 Outline of the Methodology This chapter demonstrates the effectiveness of the wavelet packets derived from discrete splines for the bearing fault detection. The raw data consisted of recordings of vibration signals taken in the process of monitoring REBs in a very critical slowly rotating large equipment. The idea behind the approach is simple: the wavelet packet transform of a signal to be analysed is applied, which is followed by computation of kurtosis of blocks of the transform coefficients from all the decomposition levels. Each block of the transform coefficients is related to a certain frequency band. The set of the WPT coefficients has tree structure. Comparing kurtosis of higher-level blocks with that of their “offsprings” from lower levels, we find an optimal-width frequency band, where fault-induced vibration presents. The repetition frequency of the fault pulses is exposed by computing the envelope spectrum of the coefficients from the selected block. The above scheme succeeds in detection of even very weak fault pulses due to the properties of the of spline-based wavelet packets collection described in Chap. 4, such as: 1. Diversity of the available mutually orthogonal symmetric waveforms, whose effective spans in time domain vary according to the decomposition level. As a result, shapes of some waveforms mimic the shape of fault-induced transients. 2. The magnitude DFT spectra of the wavelet packets originating from higher-order splines have near rectangle shape and, consequently, the wavelet packet transform produces a refined split of the signal’s spectral domain into the frequency bands of different widths (depending on the decomposition level) with minimal overlap. 3. Last but not least: the WPTs are executed by an extremely fast algorithm described in Sect. 4.3. The results reported in Sect. 13.3 could not be achieved by common commercial methods.
244
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
13.1.3 Time-Domain Meaning of Wavelet Packet Transform Coefficients Proposition 3.2 claims that the orthogonal projection of a signal x ∈ Π [N ] onto the 0 0 is the signal x[1] ∈ Π [N ] such that space 2r S[1] N /2−1 0 [k] x[1]
=
0 2r y[1] [l] ψ[1],0 [k − 2l],
0 2r y[1] [l] = x, ψ[1],0 [· − 2l] .
l=0
0 [l] . l = 0, . . . N /2 − 1, can be That means that the transform coefficients y[1] 0 regarded as correlation coefficients of the signals x[1] and x with two-sample shifts 2r of the wavelet packet ψ[1],0 , which is well localized in time domain. In that sense, 0 the coefficient y[1] [l] is related to the position x[2l] in the signals. Similarly, due to Proposition 4.1, the orthogonal projection of a signal x ∈ Π [N ] onto the space 1 1 2r S[1] is the signal x[1] ∈ Π [N ] such that N /2−1 1 [k] = x[1]
1 2r y[1] [l] ψ[1],1 [k − 2l],
1 2r y[1] [l] = x, ψ[1],1 [· − 2l]
l=0
1 [l] . l = 0, . . . N /2 − 1, are correlation coeffiand the transform coefficients y[1] 1 2r cients of the signals x[1] and x with two-sample shifts of the wavelet packet ψ[1],1 . The m def m coefficients from the blocks y[2] = y[2] [l] . l = 0, . . . N /4 − 1, m = 0, 1, 2, 3 of m and the second decomposition level are the correlation coefficients of the signals x[2] 2r x with four-sample shifts of the wavelet packet ψ[2],m , m = 0, 1, 2, 3. m Similarly, coefficients from a block y[M] = y[M],m [l] . l = 0, . . . , N /2 M − 1, m = 0 . . . , 2 M − 1, from Mth decomposition level are the correlation coefficients m 2r and x with 2 M -sample shifts of the wavelet packet ψ[M],m . The of the signals x[M] M N /2 −1 m 2r M y[M],m [k] ψ[M],m [k − 2 l] is the result of filtering the signal x[M] [k] = l=0 signal x into the frequency band F[M],m , which is determined by the DFT spectrum 2r 2r . Since the wavelet packets ψ[M],m are well localized in of the wavelet packet ψ[M],m m reflects the the time domain, the geometrical structure of the coefficient block y[M] m geometrical structure of the signal x[M] . This fact enables us to detect fault-related m of the transform coefficients without resorting to events directly in the blocks y[M] m filtered signals x[M] . The shape similarity of the coefficient blocks and respective filtered signal’s components is illustrated in Fig. 13.1, which displays the component 5 5 of a signal x, its magnitude DFT spectrum and the set y[6] of its wavelet packet x[6] transform coefficients.
13.2 WPT-Based Methodology for the Fault Detection
245
5 (block #5 from the sixth Fig. 13.1 Geometrical structure of WPT coefficients from the block y[6] decomposition level)
13.2 WPT-Based Methodology for the Fault Detection A localized defect in a bearing generates short-duration pulses which repeat periodically. The pulses induce high-frequency transient vibrations in certain frequency bands. It was suggested in [2] that the increase of kurtosis in a frequency band may originate from the fault-generated vibration. Therefore, the kurtosis of different blocks of the WPT coefficients are used as indicators of frequency bands of interest. Once a suspicious frequency band is defined, its contents should be checked for the presence of periodic events, whose frequency is equal to the assumed repetition frequency (RF) of the fault-related pulses. The latter frequency is proportional to the rotational speed (RS) of the bearing. This check is done by the construction of the envelope ([6], Appendix in Sect. 13.5) of the WPT coefficients from the respective block(s) and computation of the DFT of this envelope. Typically, available vibration signals are affected by noise. In addition, the fault-related repetition frequency can be shadowed by frequencies in the lower part of the signal’s spectrum, which originate from different sources. Therefore, it is important to exactly determine the highfrequency spectral band, where the vibration generated by the fault-related pulse takes place. Generally, an area in the spectral domain, which such band may belong to, can be preliminarily estimated based on physical properties of the bearing and its housing. The spline-based WPTs provide a perfect tool to determine as narrow as possible characteristic frequency band and, by this means, to separate the fault-related pulses from noise and extraneous vibration events. It was stated in [5] that the vibration of a defected bearing is a typical double-sided exponentially enveloped oscillation signal. An additional advantage of the utilized wavelet packets, especially of the wavelet packets from deep decomposition levels, is the fact that their shapes are similar to
246
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
shapes of fault-related transient vibration events. Therefore, at high probability, al least one of the multitude of waveforms arising in process of the wavelet packet transform implementation, will “catch” the fault-induced vibration transients (see Figs. 13.9, 13.13, 13.16, 13.21, for example). Recall that the transform coefficients are the correlation coefficients between the signal and shifts of the wavelet packets.
13.2.1 Structure of the Recorded Data A large amount of data consisted of recorded vibration signals taken from REBs located at different parts of a machine. The efficiency of the described method is demonstrated on a few six-second recordings of vibration signals taken by accelerometers mounted on housings of two big REBs. In the relatively “easy” case designated as Bearing1, the method detects a fault much earlier than the common methods. In the more difficult case Bearing2, common commercial methods do not work at all. Altogether, three recordings from Bearing1, which are labeled S1_2, S1_3, S1_4, and two recordings from Bearing2, which are labeled S2_1 and S2_2, are selected for the demonstration. The signals are sampled at the rate Ns = 40960 samples per second and comprised N = 245760 samples each. Apparently, the repetition frequency (RF) of the fault is proportional to the rotational speed (RS) of the bearing ([7], for example). The bearing’s geometry analysis provides an estimation of the proportionality coefficient between the RF the RS. For the Bearing1 and Bearing2 we have, respectively: R F1 = 10.45 RS1 Hz,
R F2 = 19.7 RS2 Hz.
(13.1)
The RSs for all the recordings are known. Recorded Signals from Bearing1 The signals S1_2, S1_3, S1_4 were acquired from the same bearing at different times, while the rotation speeds of the bearing were different. It was independently established that the signal S1_2 was recorded when a defect at its initial stage appeared in the inner race of the bearing, which grew stronger when the signal S1_3 was recorded and, especially, when recording the signal S1_4. The signals recorded from Bearing1 are displayed in Fig. 13.2. Figure 13.3 displays low- and high-frequency fragments of the magnitude DFT spectra of these signals. Remark 13.2.1 There are elevations of the magnitude spectra in the area ≈[1600, 2100] Hz, which is more salient for the signal S1_4. In the low-frequency fragment of the signal S1_4 spectrum, a small peak at the frequency 14.83 Hz is present, which is related to the fault RF (to be discussed further).
13.2 WPT-Based Methodology for the Fault Detection
247
Fig. 13.2 Signals recorded from Bearing1
Fig. 13.3 Left: Low-frequency fragments of magnitude DFT spectra of signals recorded from Bearing1. Right: High-frequency fragments of magnitude DFT spectra of these signals
Recorded Signals from Bearing2 The signals S2_1 and S2_2 were recorded from Bearing2 at different times, while the rotation speeds of the bearing were different. An independent investigation by non-vibration methods reported that the signal S2_1 was recorded when the bearing was intact and S2_2 was recorded when a defect presented in the inner race of the bearing. However, common methods of the vibration analysis did not detect faults in either of the signals. The signals recorded from Bearing2 are displayed in Fig. 13.4. Figure 13.5 displays low- and high-frequency fragments of the magnitude DFT spectra of these signals.
248
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.4 Signals recorded from Bearing2
Fig. 13.5 Left: Low-frequency fragments of magnitude DFT spectra of signals recorded from Bearing2. Right: High-frequency fragments of magnitude DFT spectra of these signals
13.2.2 Outline of the Research Methodology The methodology used to detect the REB defects utilizes the following properties of the WPTs originating from discrete-spline. WPT Properties: • Each block of the WPT coefficients is related to a certain frequency band. • Blocks from different levels are related to frequency bands of different widths. • Magnitude DFT spectra of the wavelet packets (magnitude responses of corresponding filters) derived from higher-order discrete splines have near-rectangular shape and, therefore, produce a refined partition of the signal’s frequency domain.
13.2 WPT-Based Methodology for the Fault Detection
249
• The geometrical structure of a coefficients’ block ymM reflects the geometrical structure of the signal xmM , which is the result of filtering of the signal x into the corresponding frequency band (Fig. 13.1). • The wavelet packets participating in the transforms form a variety of testing waveforms, whose shapes are similar, to some extent, to the shapes of fault-induced transient vibrations. Processing Scheme: • Acquisition of the vibration signal. • WP transform of the signal down to Jth decomposition level, thus producing 2 J +1 − 1 blocks of the transform coefficients. In the following examples, the wavelet packets originating from discrete splines of 12th order are utilized. • Computation of the kurtosis of different blocks of the WPT coefficients. Revealing suspicious blocks (frequency bands) at different decomposition levels. • Selection of the block(s) related to a most proper characteristic frequency band by comparing kurtosis of suspicious blocks from different decomposition levels. • Construction of the envelope of transform coefficients from the selected block(s). • Computation of the DFT of this envelope. Optional operations (not mandatory): • Restoration of the signal from the selected coefficient block(s), which is equivalent to filtering the original signal into the selected frequency band(s). • Construction of the envelope of the filtered signal. • Computation of the DFT of this envelope.
13.3 Experimental Results 13.3.1 Experiments with Bearing1 Signal S1_4: This signal was recorded when the RS of the bearing was 1.3927 Hz. It was known that at the recording time the bearing had a significant defect in the inner race. Due to Eq. (13.1), the RF of the fault-induced pulses is estimated to be RF = 1.3927 × 10.45 = 14.55 Hz. However, the investigation revealed the RF = 14.83 rather than RF = 14.55 Hz. The fault-related repetition frequency is seen in the magnitude spectrum of the signal S1_4 (Fig. 13.3), which is not the case for the other signals. The entire magnitude spectrum of the signal S1_4 is displayed in Fig. 13.6. It is seen that a high-frequency activity presents in the spectral region around 2 and 6 kHz. The WPT of the signal is executed up to 7th decomposition level and kurtosis of all the blocks of the transform coefficients is computed. Figure 13.7 displays kurtosis of the blocks from 4th to 7th decomposition levels, which are related to the frequency domain [0, 5] kHz.
250
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.6 Magnitude DFT spectrum of signal S1_4
Fig. 13.7 Frames from 1 to 4: kurtosis of the blocks from 4th to 7th decomposition levels of signal S1_4. Bottom frame: magnitude DFT spectrum of signal S1_4
It is seen in Fig. 13.7 that there is high kurtosis in the transform coefficient blocks related to the spectral region around 2 kHz. The block y41 (block #1 from the 4th decomposition level) is selected. Figure 13.8 displays the WPT coefficients from the block y41 , which correspond to the frequency band [1280, 2560] Hz, and their envelope (upper frame). The envelope spectrum displayed in the bottom frame reveals the repetition frequency at 14.83 Hz related to the fault and a number of its overtones. The WPT coefficients are the correlation coefficients of the signal S1_4 with 12 . Figure 13.9 displays the 16-sample shifts of the discrete-time wavelet packet ψ4,1 12 wavelet packet ψ4,1 and its magnitude spectrum. In the signal S1_4, the fault pulses are strong and they induce short-time wide-band oscillation events registered by the 12 , whose effective span occupies accelerometer. The shape of the wavelet packet ψ4,1 ≈200 samples, is, to some extent, similar to the shapes of these events. The width of the frequency band is ≈2000 Hz.
13.3 Experimental Results
251
Fig. 13.8 Top: WPT coefficients from the block 1 of the 4th decomposition level of signal S1_4 and their envelope. Bottom: The envelope spectrum Fig. 13.9 Left: Wavelet 12 . Right: Its packet ψ4,1 magnitude spectrum
There is a trace of the fault-induced vibration in a narrow frequency band [6640 6720] Hz. It is discovered by the block 83 from the 8th decomposition level of signal S1_4. The coefficient block y883 is displayed in Fig. 13.10. Signal S1_3: This signal was recorded when the RS of the bearing was 1.6908 Hz. It was known that at the recording time the bearing had a defect in the inner race, which was not as strong as the defect when recording the signal S1_4. Therefore, it is logical to search for the fault-induced events using waveforms with wider spans and narrower frequency bands. Such waveforms can be found among wavelet packets from 6th decomposition level. Due to Eq. (13.1), the RF of the fault-related pulses should be RF = 1.6908 × 10.45 = 17.67 Hz. The WPT of the signal is executed up to the 8th decomposition level and kurtosis of all the blocks of the transform coefficients is computed. Figure 13.11 displays
252
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.10 Top: WPT coefficients from the block 83 from the 8th decomposition level of signal S1_4 and their envelope. Bottom: The envelope spectrum
Fig. 13.11 Frames from 1 to 4: kurtosis of the blocks from the 5th to 8th decomposition levels of signal S1_3. Bottom frame: magnitude DFT spectrum of signal S1_3
kurtosis of the blocks from 5th to 8th decomposition levels, which are related to the frequency domain [0, 5] kHz. It is seen in Fig. 13.11 that there is increase of the kurtosis in the coefficient blocks related to the spectral region near 2 kHz. Figure 13.12 displays the WPT coefficients in block y65 (block #5 from the 6th decomposition level), which correspond to the frequency band [1600, 1920] Hz, and their envelope (upper frame). The envelope spectrum displayed in the bottom frame reveals the repetition frequency at 17.67 Hz related to the fault and a number of its overtones. 12 and its magnitude spectrum. In the Figure 13.13 displays the wavelet packet ψ6,5 signal S1_3 the fault pulses are weaker than in S1_4 and they induce oscillation events
13.3 Experimental Results
253
Fig. 13.12 Top: WPT coefficients in the block #5 from 6th decomposition level of signal S1_3 and their envelope. Bottom: The envelope spectrum Fig. 13.13 Left: Wavelet 12 . Right: Its packet ψ6,5 magnitude spectrum
whose frequency band (≈250 Hz) is narrower and effective span (≈2000 samples) is wider in comparison to the signal S1_4. Signal S1_2: This signal was recorded when the RS of the bearing was 1.3050 Hz. It was known that at the recording time the bearing had a weak defect in the inner race, which developed into a stronger one to the times when the signals S1_3 and, especially, S1_4 had been recorded. The common vibration analysis did not detect this fault. Due to Eq. (13.1), the RF of the fault-related pulses should be RF = 1.3050 × 10.45 = 13.64 Hz. It is reasonable to search for the fault-induced events by even wider waveforms with more narrow frequency bands, which are available at the 8th decomposition level. The WPT of the signal is executed up to 9th decomposition level and kurtosis of all the blocks of the transform coefficients is computed. Figure 13.14 displays
254
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.14 Frames from 1 to 4: kurtosis of the blocks from the 6th to 9th decomposition levels of signal S1_2. Bottom frame: magnitude DFT spectrum of signal S1_2
Fig. 13.15 Top: WPT coefficients in block #24 from the 8th decomposition level of signal S1_2 and their envelope. Bottom: The envelope spectrum
kurtosis of the blocks from the 6th to 9th decomposition levels, which are related to the frequency domain [0, 5] kHz. It is seen in Fig. 13.14 that there is a slight increase of the kurtosis in the coefficient blocks related to the spectral region near 2 kHz. Figure 13.15 displays the WPT coefficients y824 (block #24 from the 8th decomposition level), which corresponds to the narrow frequency band [1920, 2000] Hz, and their envelope (upper frame). The envelope spectrum displayed in the bottom frame reveals the repetition frequency at 13.67 Hz related to the fault and a couple of itd overtones. 12 and its magnitude spectrum. In the Figure 13.16 displays the wavelet packet ψ8,24 signal S1_2 the fault pulses are weaker than in S1_3 and they induce oscillation events
13.3 Experimental Results
255
12 . Right: Its magnitude spectrum Fig. 13.16 Left: Wavelet packet ψ8,24
Fig. 13.17 Top: Signal S1_2 filtered into the frequency band [1920, 2000] Hz and its envelope. Center: Magnitude spectrum of filtered signal. Bottom: Envelope spectrum of filtered signal
whose frequency band (≈150 Hz) is more narrow and the effective span (≈4000 samples) is wider compared to the signal S1_3. The overtones are clearly seen in Fig. 13.17, which displays the signal S1_2 filtered 12 , into the frequency band [1920, 2000] Hz by the inverse WPT from the block W8,24 and its envelope.
13.3.2 Experiments with Bearing2 This bearing operates in very hard conditions, where strong noise and a number of extraneous vibration sources are present. Common vibration analysis methods did not detect faults in the recordings S2_1 and S2_2. Due to the bearing configuration,
256
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.18 Magnitude DFT spectrum of signal S2_2
Fig. 13.19 Frames from 1 to 4: kurtosis of the blocks from 5th to 8th decomposition levels of signal S2_2. Bottom frame: magnitude DFT spectrum of signal S2_2
the pulses generate vibrations at a higher frequency domain compared to vibrations in Bearing1. The resonance vibration area is evaluated as 9–15 kHz. Signal S2_2: This signal was recorded when the RS of the bearing was 2 Hz. It was independently established by non-vibration analysis methods that at the recording time, the bearing had a defect in the inner race. Due to Eq. (13.1), the RF of the fault-related pulses is evaluated to be RF = 2 × 19.7 = 39.4 Hz. The entire magnitude spectrum of the S2_2 is displayed in Fig. 13.18. A high-frequency activity is seen at the spectral region between 10 and 15 kHz. The WPT of the signal was executed down to 8th decomposition level and kurtosis of all the blocks of the transform coefficients was computed. Figure 13.19 displays kurtosis of the blocks from the 5th to 8th decomposition levels, which are related to the frequency domain [0, 15] kHz.
13.3 Experimental Results
257
Fig. 13.20 Top: WPT coefficients from the blocks 35 and 40 from the sixth decomposition level of signal S2_2 and their envelope. Bottom: The envelope spectrum
12 (orange) and ψ 12 (blue). Right: Their magnitude spectra Fig. 13.21 Left: Wavelet packets ψ6,35 6,40 respectively
As seen in Fig. 13.19 that there is high kurtosis in the coefficient blocks related to the spectral regions around 11 kHz. Unlike former cases, the best detection result is achieved by combination of coefficients from two non-adjacent blocks from the 6th decomposition level: y635 and y640 . Figure 13.20 displays the WPT coefficients in the blocks 35 and 40 from 6th decomposition level, which correspond to the frequency bands [11200, 11520] and [12800, 11840] Hz, respectively, and their envelope (upper frame). The envelope spectrum displayed in the bottom frame reveals the RF at 39.33 Hz related to the fault. 12 12 and ψ6,40 and their magnitude Figure 13.21 displays the wavelet packets ψ6,35 spectra.
258
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.22 Frames from 1 to 4: kurtosis of blocks from the 5th to 8th decomposition levels of signal S2_1. Bottom frame: magnitude DFT spectrum of signal S2_1
Remark 13.3.1 In this case, the fault induced vibrations in two non-adjacent frequency bands. Surprisingly, there is no traces of the fault-related vibration events in the intermediate bands. Signal S2_1: This signal was recorded when the RS of the bearing was 1.93 Hz. A prior investigation concluded that at recording time the bearing had no fault. Due to Eq. (13.1), the RF of the fault-related pulses, if existed, should be RF = 1.93 × 19.7 = 38.02 Hz. The WPT of the signal was executed up to the 8th decomposition level and kurtosis of all the blocks of the transform coefficients was computed. Figure 13.22 displays kurtosis of the blocks from the 5th to 8th decomposition levels, which are related to the frequency domain [0, 15] kHz. As Figs. 13.19 and 13.22 shows that there is relatively high kurtosis in the coefficient blocks related to the spectral regions around 11 kHz. Figure 13.23 displays the WPT coefficients from block y635 (block #35 from the 6th decomposition level), which correspond to the frequency band [11200, 11520] Hz, and their envelope (upper frame). The envelope spectrum displayed in the bottom frame reveals some event with the RF at 38 Hz and a possible overtone with the RF at 76.33 Hz. Figure 13.24 displays the signal S2_1 filtered into the frequency band [11200, 11520] Hz by the inverse WPT from block y635 and its envelope. The envelope spectrum indicates the existence of the same event, which have been discovered by the envelope spectrum of the transform coefficients. The discovered event with the RF at 38 Hz can be a defect precursor in the Bearing2.
13.4 Comments
259
Fig. 13.23 Top: WPT coefficients in block #35 from the 6th decomposition level of signal S2_1 and their envelope. Bottom: Their envelope spectrum
Fig. 13.24 Top: Signal S2_1 filtered into the frequency band [11200, 11520] Hz and its envelope. Center: Magnitude spectrum of filtered signal. Bottom: Envelope spectrum of filtered signal
13.4 Comments This chapter demonstrated the effectiveness of the methodology based on the wavelet packet transforms (WPTs) originating from discrete splines, in monitoring rolling element bearings (REBs) in a very critical slowly rotating large equipment. Unlike most reported investigations, this methodology is applied to vibration data recorded from large REBs working in real unfavorable operational conditions in presence of strong noise and multiple vibration events from internal and external sources. The methodology succeeds in detection of even small defects that are not detectable by using commercial vibration monitoring systems based on common envelope analysis technique.
260
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
The WPTs originating from discrete splines produce a refined split of the frequency domain of a signal into a vast variety of frequency bands of different widths. On the other hand, the transform coefficients provide results of testing the signal by a variety of waveforms, whose widths and frequency contents are different. The transforms are executed in an extremely fast way, thus enabling real-time processing of vibration signals and, consequently, real-time monitoring of the REB’s condition. For example, the Matlab execution of the 8-level WPT originating from the 12th-order discrete spline, of a six-second recording comprising 245760 samples, takes 0.2324 s. The transform produces 511 coefficient blocks, which provide results from testing the signal by 511 different waveforms. The coefficient blocks contain the information on the signal’s content within 511 frequency bands of different width. Analysis of the signals recorded from Bearing1 in different fault stages: incipient fault (S1_2), small fault (S1_3), and when the Bearing1 was severely damaged (S1_4) shows that the optimal width and disposition of the frequency band for fault detection, which is expressed via the wavelet decomposition level (width) and block index (disposition), depends on the fault state. The incipient fault detection requires a narrower band (deeper decomposition level) compared to the band for the detection of a severe fault. It means that methods with predefined fixed frequency bands are not optimal for bearing fault detection. The geometrical configuration of sets of the WPT coefficients belonging to a certain block reflects the geometrical configuration of the original signal filtered into the corresponding frequency band. Thus, typically, the fault’s repetition frequency can be detected directly in the transform coefficient block without resorting to the inverse WPT. Kurtosis of blocks of the WPT coefficients indicates blocks (frequency bands) where the fault-related pulses generate vibrations. However, the block selection is not self-evident, since even a single disturbance pulse in a band may result in a high kurtosis value. Therefore the envelope spectra of candidate bands should be carefully analyzed. In some cases, the best results can be achieved by combining the data from several non-adjacent blocks (frequency bands). The above methodology makes it possible to discover faults in signals (S1_2, S2_2), where common commercial methods failed. In signal S2_1, which had been independently classified as intact, a periodic event was discovered, which could be related to a fault precursor. Although the experiments are carried out with the REBs having inner-race defects, the extension to other cases, such as outer-race and rotating elements’ defects is straightforward. The methodology has a potential to be extended to a real-time automated procedure of REB monitoring, which is able to detect faults at earliest stages and even the fault precursors.
13.5 Appendix: Envelope A signal x ∈ Π [N ] is represented by its the inverse DFT
13.5 Appendix: Envelope
x[k] = x[n] ˆ =
261 N −1 1 1 x[n] ˆ ωkn = N n=0 N N −1
N /2−1
x[n] ˆ ωkn ,
n=−N /2
∗ x[k] ω−kn = x[−n] ˆ ,
k=0
where ·∗ means complex conjugate. In particular x[−N ˆ /2] = x[N ˆ /2] = (−1)k x[k]. Note that x[0] ˆ + x[N ˆ /2] =
N −1
N −1 k=0
N /2−1
x[k](1 + (−1)k ) =
k=0
x[2k].
k=0
Thus, the signal x can be written as follows: x[k] =
N /2−1 2 x[n] ˆ /2] ˆ ωkn + (x[n] ˆ ωkn )∗ x[0] ˆ + (−1)k x[N + . N N n=1 2
Define the real-valued signal y ∈ Π [N ] and the complex-valued signal z: def
y[k] =
N /2−1 ˆ ωkn − (x[n] ˆ ωkn )∗ 2 x[n] , N n=1 2i
def
z[k] = x[k] + i y[k] =
N /2−1 2 ˆ /2] x[0] ˆ + (−1)k x[N + x[n] ˆ ωkn . N N n=1
The signal’s z DFT spectrum ⎧ ˆ if n = 0, or n = N /2; ⎨ x[n], ˆ if 0 < n < N /2; zˆ [n] = 2 x[n], ⎩ 0, otherwise comprises only non-negative frequencies. Apparently, x = Re(z) and y = Im(z). The signal z is referred to as a periodic analytic signal. A polar representation of the signal z is def
def
z[k] = ζ [k] eiϕ[k] , ζ [k] = |z[k]|, ϕ[k] = arg[z[k] = arctan
y[k] . x[k]
The sequence ζ [k] is referred to as the instantaneous amplitude of the signal z or the envelope, and sequence ϕ[k] is referred to as its instantaneous phase, Since x = Re(z), we have x represented by x[k] = ζ [k] cos(ϕ[k]).
262
13 Detection of Incipient Bearing Fault in a Slowly Rotating Machine …
Fig. 13.25 Top: Signal S1_3 filtered into the frequency band [1600,1920] Hz and its envelope. Center: Magnitude spectrum of filtered signal. Bottom: Envelope’s magnitude DFT spectrum of filtered signal
The envelope of a signal from Π [N ] is computed by the MATLAB function myenv. The envelope analysis makes it possible to extract the amplitude variation from a bandpass oscillating signal. In particular, if a signal’s comprises repeating transient oscillation events confined in a certain frequency band, the envelope makes it possible to detect these events and evaluate the repetition frequency. Figure 13.25 displays a fragment of a bearing vibration recording filtered into the frequency band [1600,1920] Hz and its envelope. Computation of the envelope DFT spectrum reveals the repetition frequency of the oscillation events at 17,67 Hz and its overtones.
References 1. J. Antoni, R.B. Randall, The spectral kurtosis: application to the vibratory surveillance and diagnostics of rotating machines. Mech. Syst. Signal Process. 20(2), 308–331 (2006) 2. D. Dyer, R.M. Stewart, Detection of rolling element bearing damage by statistical vibration analysis. J. Mech. Des. 100(2), 229–235 (1978) 3. I. El-Thalji, E. Jantunen, A descriptive model of wear evolution in rolling bearings. Eng. Fail. Anal. 45, 204–224 (2014) 4. N. Sawalhi, R.B. Randall, The application of spectral kurtosis to bearing diagnostics. in Proceedings of ACOUSTICS 2004, Gold Coast, Australia (2004), pp. 393–398 5. D.F. Shi, W.J. Wang, L.S. Qu, Defect detection for bearings using envelope spectra of wavelet transform. J. Vib. Acoust. 126(4), 567–573 (2004) 6. D.S. Stoffer, D.E. Tyler, D.A. Wendt, The spectral envelope and its applications. Stat. Sci. 15, 224–253 (2000) 7. N. Tandon, A. Choudhury, A review of vibration and acoustic measurement methods for the detection of defects in rolling element bearings. Tribol. Int. 32(8), 469–480 (1999) 8. Y.X. Wang, J.W. Xiang, R. Markert, M. Liang, Spectral kurtosis for fault detection, diagnosis and prognostics of rotating machines: a review with applications. Mech. Syst. Signal Process. 20(2), 66–67: 679–698 (2016)
Appendix A
Guide to SB_Soft1
The toolbox contains MATLAB codes, which implement the spline-based methods described in the above chapters. It comprises 6 folders: 1. 2. 3. 4. 5. 6.
DS_DST_ORT_WAV, DS_DST_ORT_WP, Non_uniform_spline, Bio_wavelets, W_frames, Utilities.
A.1
DS_DST_ORT_WAV
This folder is associated with Chaps. 4 and 5. per_dbspS.m This function computes values of the discrete span-2 B-splines 2r b[1] of any even order and so also the DFT of the B-spline and the characteristic 0 sequence U 2r [ν] of the discrete spline space S[1] . p per_dbspTS.m This function computes values of the discrete-time B-spline b¯ [1] of any order, its DFT, DFT of its odd samples and the B-spline and characteristic 0 sequence U¯ p [ν] of the space p S¯[1] dsp_ww_anS.m The function implements the 1D discrete-spline wavelet analysis of a row signal or an array of row signals using the MATLAB function dsw_downS.m. dsp_ww_an_2dS.m The function implements the 2D discrete-spline wavelet analysis of a square array using the MATLAB function dsw_downS.m. dsw_downS.m The function implements one step of the direct discrete-spline wavelet transform of a row signal or an array of row signals using the MATLAB function MmatrS.m. MmatrS.m The function prepares the modulation matrices for the direct and inverse discrete-spline wavelet transforms. © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5
263
264
Appendix A: Guide to SB_Soft1
dsw_upS.m The function implements one step of the inverse discrete-spline wavelet transform of a row signal or an array of row signals using the MATLAB function MmatrS.m. dsp_ww_synS.m The function implements the 1D discrete-spline wavelet synthesis of a row signal or an array of row signals using the MATLAB function dsw_upS.m. dsp_ww_syn_2dS.m The function implements the 2D discrete-spline wavelet synthesis of a square array using the MATLAB function dsw_upS.m. dsp_ww_anTS.m The function implements the 1D discrete-time-spline wavelet analysis of a row signal or an array of row signals using the MATLAB function dsw_downTS.m. dsp_ww_an_2dTS.m The function implements the 2D discrete-time-spline wavelet analysis of a square array using the MATLAB function dsw_downTS.m. dsw_downS.m The function implements one step of the direct discrete-timespline wavelet transform of a row signal or an array of row signals using the MATLAB function MmatrST.m. MmatrST.m The function prepares the modulation matrices for the direct and inverse discrete-time-spline wavelet transforms. dsw_upTS.m The function implements one step of the inverse discrete-timespline wavelet transform of a row signal or an array of row signals using the MATLAB function MmatrST.m. dsp_ww_synTS.m The function implements the 1D discrete-time-spline wavelet synthesis of a row signal or an array of row signals using the MATLAB function dsw_upTS.m. dsp_ww_syn_2dTS.m The function implements the 2D discrete-time-spline wavelet synthesis of a square array using the MATLAB function dsw_upTS.m. alpha_betaTS.m This auxiliary MATLAB function prepares coefficients of the modulation matrices for discrete-time-spline wavelet transforms using the MATLAB function per_dbspTS.m. psi_psiTS.m This MATLAB function constructs discrete-time-spline wavelets of any order and computes their DFTs using the MATLAB function per_dbsp TS.m. psi_psiS.m This MATLAB function constructs discrete-spline wavelets of any even order and computes their DFTs using the MATLAB function per_dbspS.m. juviTS.m The function designs characteristic sequence of the space of Nperiodic splines of a given order, which is the DFT of the span-2 polynomial B-spline sampled at even grid points, and computes the DFT of the span-2 Bspline sampled at odd grid points. Examples dbsp1_specS.m This MATLAB code displays the discrete B-splines DFT spectra. dss_ww_s1S.m This MATLAB code displays first-level discrete-spline wavelets of different orders (which are impulse responses of the p-filters and magnitudes
Appendix A: Guide to SB_Soft1
265
of their DFT (which are the p-filters magnitude responses) using the MATLAB function psi_psiS.m. dss_ww_s1TS.m This MATLAB code displays first-level discrete-time-spline wavelets of different orders (which are impulse responses of the p-filters and magnitudes of their DFT (which are the p-filters magnitude responses) using the MATLAB function psi_psiTS.m. dss_wW_l3S.m This MATLAB code displays the discrete-spline wavelets of different orders from the first, second and third decomposition levels, and their magnitude spectra. It uses MATLAB function Psi_FpsiS.m. dss_wW_l3TS.m This MATLAB code displays the discrete-time-spline wavelets of different orders from the first, second and third decomposition levels, and their magnitude spectra. It uses MATLAB function Psi_FpsiTS.m.
A.2
DS_DST_ORT_WP
This folder is associated with Chaps. 4 and 5. dsp_wq_anS.m The function implements the 1D discrete-spline wavelet packet analysis of a row signal or an array of row signals using the MATLAB function dsw_downS.m. dsp_wq_an_2dS.m The function implements the 2D discrete-spline wavelet packet analysis of a square array using the MATLAB function dsw_downS.m. dsp_wq_synS.m The function implements the reconstruction of a row signal or an array of row signals from coefficients in the discrete-spline wavelet packet basis, which is defined by a list. It uses the MATLAB function Psi_FpsiS.m. dsp_wq_syn_2dS.m The function implements the reconstruction of a 2D square signal from the coefficients in the discrete-spline wavelet packet basis, which is defined by a list. It uses the MATLAB function Psi_FpsiS.m. Psi_FpsiS.m This MATLAB function constructs discrete-spline wavelet packets of any even order and computes their DFTs using the MATLAB function alpha_betaS.m. alpha_betaS.m This auxiliary MATLAB function prepares parameters for the discrete-spline wavelet packet transform and the wavelet packets design. dsp_wq_anTS.m The function implements the 1D discrete-time-spline wavelet packet analysis of a row signal or an array of row signals using the MATLAB function dsw_downS.m. dsp_wq_an_2dTS.m The function implements the 2D discrete-time-spline wavelet packet analysis of a square array using the MATLAB function dsw_ downS.m. dsp_wq_synTS.m The function implements the reconstruction of a row signal or an array of row signals from coefficients in the discrete-time-spline wavelet packet basis, which is defined by a list. It uses the MATLAB function Psi_FpsiTS.m.
266
Appendix A: Guide to SB_Soft1
dsp_wq_syn_2dTS.m The function implements the reconstruction of a 2D square signal from the coefficients in the discrete-time-spline wavelet packet basis, which is defined by a list. It uses the MATLAB function Psi_FpsiTS.m. Psi_FpsiTS.m This MATLAB function constructs discrete-time-spline wavelet packets of any even order and computes their DFTs using the MATLAB function alpha_betaTS.m. wq_BBS.m This MATLAB function builds the best basis tree for wavelet packet transform using the cost function values for each block of the transform coefficients. wq_BB_2dS.m This MATLAB function builds the best basis tree for 2D wavelet packet transform using the cost function values for each block of the transform coefficients. cost_funS.m This function computes the cost functions (entropies. l1 and l2 norms) for blocks of wavelet packet transform coefficients of a 1D spline. cost_fun_2dS.m This function computes the cost functions (entropies. l1 and l2 norms) for blocks of wavelet packet transform coefficients of a 2D array. Examples dss_wq_s2S.m This MATLAB code displays the second-level discrete-spline wavelet packets of different orders and their DFTs. dss_wq_s2TS.m This MATLAB code displays the second-level discrete-timespline wavelet packets of different orders and their DFTs. dss_BB_l3S.m This MATLAB code displays eighth-order discrete-spline wavelet packets whose shifts constitute a best basis for a signal, which is a row from the “Barbara” image, and the magnitude DFT spectra of these wavelet packets. The code is using the MATLAB function Psi_FpsiS.m. dss_BB_l5_CS.m This MATLAB code displays a signal and coordinates of the signal’s expansion over the best basis constituted by the 3-level wavelet packet transform with 8-order discrete-spline wavelet packets. In addition, the magnitude spectra of the basis wavelet packets are displayed. The code is using the MATLAB functions dsp_wq_anS.m, cost_funS.m and Psi_FpsiS.m. dss_BB_band_spS.m This MATLAB code displays the magnitude DFT spectra of 14-order discrete-spline wavelet packets, which constitute the best basis, with respect to l1 cost function for a signal, using the MATLAB functions dsp_wq_anS.m, cost_funS.m, wq_BBS.m and Psi_FpsiS.m. bebas_examSTS.m This MATLAB code displays the “waveband spectra” of a signal, which is a short fragment from a musical recording, versus the DFT magnitude spectrum of the original signal. The “waveband spectra” consist of energies in blocks of the wavelet packet transform coefficients from the decomposition levels μ = 5, 6, 7. The wavelet packet transform with the wavelet packets, that originate from 13th order discrete-time splines, is applied. The code is using the MATLAB functions dsp_wq_anTS.m and cost_funS.m. dss_mesh_wpST.m This MATLAB code displays the DFT spectra of the 2D discrete-time-spline wavelet packets and, in particular, wavelets. It uses MATLAB function Psi_FpsiTS.m.
Appendix A: Guide to SB_Soft1
267
dss_mesh_wpS.m This MATLAB code displays the DFT spectra of the 2D discrete-spline wavelet packets and, in particular, wavelets. It uses MATLAB function Psi_FpsiS.m.
A.3
Non_Uniform_Spline
This folder is associated with Chaps. 6 and 7. bs_NU.m This function computes value at a point t of the B-spline of order “p” designed on a non-uniform grid using the function divdiffU.m. lsp0_NU.m This function computes value at a point t of the simplest local cubic spline designed on a non-uniform grid using the function bs_NU.m. lspC_PL_eU.m This function computes values at the point t of the set of local cubic splines, which quasi-interpolates a row signal or an array of row signals sampled on a non-uniform grid using the MATLAB functions divdiffSU.m and pol_intU.m. In addition, the function extrapolates the signals to external grid points. lspC_PL_e1U.m This function computes value at a point t of the local cubic spline, which quasi-interpolates a single row signal sampled on a non-uniform grid using the MATLAB function divdiffU.m. In addition, the function extrapolates the signal to external grid points. For a single signal the function lspC_PL_e1U.m is faster than lspC_PL_eU.m. divdiffSU.m This function computes divided differences of an array of row signals on a non-uniform grid. pol_intU.m This function implements Newton interpolation of an array of row signals on a non-uniform grid using the function divdiffSU.m. lspQ_N0U.m This function computes value at a point t of the simplest local quadratic spline designed on a non-uniform grid g such that its nodes are at the grid points g[2k], and it approximates a function f from the samples f [k] = f (g[2k + 1]). lspQ_PL_eU.m This function computes value at a point t of the quasi-interpolating local quadratic spline designed on a non-uniform grid g such that its nodes are at the grid points g[2k], and it quasi-interpolates a function f from the samples f [k] = f (g[2k + 1]). It is using the MATLAB functions divdiffSU.m and pol_intU.m. L3sp_NU.m This function computes value at a point t of the quadratic spline L 3 (t) designed on a non-uniform grid, using the MATLAB function bsp_NU.m. lspC_PL2D_nU.m This function computes value at a point (x,y) of the 2D local cubic spline, which quasi-interpolates a matrix signal sampled on a non-uniform rectangular grid using the MATLAB function lspC_PL_eU.m. In addition the function extrapolates the signal beyond the sampling grid. lspC_PL2D_arrU.m This function constructs the 2D local cubic spline on a rectangle, which quasi-interpolates a matrix signal sampled on a non-uniform
268
Appendix A: Guide to SB_Soft1
rectangular grid using the MATLAB function lspC_PL_eU.m. In addition the function extrapolates the signal beyond the sampling grid. lsp_wav_DecU.m This function implements the cubic-spline wavelet transform of a row signal or an array of row signals sampled on a non-uniform grid using the MATLAB function lsp_wavDU.m. lsp_wav_Dec1U.m This function implements the cubic-spline wavelet transform of a single row signal sampled on a non-uniform grid using the MATLAB function lsp_wavD1U.m. lsp_wavDU.m This function implements the one-level cubic-spline wavelet transform of a row signal or an array of row signals sampled on a non-uniform grid using the MATLAB function lspC_PL_eU.m. lsp_wavD1U.m This function implements the one-level cubic-spline wavelet transform of a single row signal sampled on a non-uniform grid using the MATLAB function lspC_PL_e1U.m. lsp_wav_RecU.m This function restores a row signal or an array of row signals sampled on a non-uniform grid from the cubic-spline wavelet transform coefficients using the MATLAB function lsp_wavRU.m. lsp_wav_Rec1U.m This function restores a single row signal sampled on a non-uniform grid from the cubic-spline wavelet transform coefficients using the MATLAB function lsp_wavR1U.m. lsp_wavRU.m This function implements the one-level inverse cubic-spline wavelet transform of a row signal or an array of row signals sampled on a nonuniform grid using the MATLAB function lspC_PL_eU.m. lsp_wavR1U.m This function implements the one-level inverse cubic-spline wavelet transform of a single row signal sampled on a non-uniform grid using the MATLAB function lspC_PL_e1U.m. Examples bspl_NU_exam.m Displays B-splines of different orders designed on a nonuniform grid using the function bs_NU.m. grid_desU.m This function designs (non-)uniform grid for cubic spline approximation with size of steps of power p growth. poly_examU illustrates the signal extrapolation by cubic quasi-interpolating spline, using the MATLAB functions pol_intU.m and lspC_PL_e1U.m. real_spl_exampU illustrates the real-time spline computation scheme using the MATLAB function lspC_PL_e1U.m. lena_examU this code illustrates approximation of the “Lena” image by the local bicubic quasi-interpolating spline on an adapted non-uniform grid using the MATLAB function lspC_PL2D_arrU.m. bspl_NQU_exam displays the quadratic B-splines versus cubic B-splines at different locations on a non-uniform grid using the MATLAB function bsp_NU. L3pl_NU_exam displays quadratic splines L3 [k] using the MATLAB function L3sp_NU.
Appendix A: Guide to SB_Soft1
269
loc_NU_example_chirpCQSU.m illustrates the difference between the performances of the simplest local quadratic and cubic splines and their quasiinterpolating counterparts. The splines are constructed either from clean samples of the chirp function on a non-uniform grid or from samples affected by Gaussian noise. wavelet_exampU displays a randomly sampled signal and coefficients from its four-level wavelet transform. The inverse wavelet transform from these coefficients provides a restoration of the signal where its maximal deviation is 2.2·10−14 . The MATLAB functions lsp_wav_Dec1U.m and lsp_wav_Rec1U.m are used. wav_real_exampU illustrates the real-time implementation of the one-level wavelet transform of a signal consisting of ten randomly spaced samples when additional samples arrive. The MATLAB function lsp_wav_Dec1U.m is used. cpu_examU.m This code applies the 10-level lifting wavelet transform to a signal, which comprise 20000 randomly located samples and restores the signal from the transform coefficients by the inverse wavelet transform. Herewith, the CPU times for the direct transform and the inverse transforms are measured. The transforms were executed by the MATLAB functions sp_wav_Dec1U.m and sp_wav_Rec1U.m. Deno_examU This MATLAB code illustrates the real-time denoising procedure of a randomly sampled signal by using thresholding of the wavelet transform coefficients. The transforms were executed by the MATLAB functions sp_wav_Dec1U.m and sp_wav_Rec1U.m.
A.4
Bio_Wavelets
This folder is associated with Chap. 8. BW_analU.m This MATLAB function implements the forward lifting biorthogonal wavelet transform of a row signal or an array of row signals, using prediction filters derived from discrete-time and discrete splines, using the MATLAB function down_lifU.m. BW_anal_2DU.m Does the same for two-dimensional signals, using the MATLAB function down_lifU.m. down_lifU.m This function implements one step of the direct biorthogonal wavelet transform, using the MATLAB function slfilt_lifU.m. slfilt_lifU.m This function provides spline-based prediction filters for lifting biorthogonal transforms, using the MATLAB function juviU.m. BW_fil_wavU.m This function provides impulse responses of analysis and synthesis filters for the biorthogonal wavelet transforms (which are the first-level wavelets) and frequency responses of these filters, using the MATLAB function slfilt_lifU.m.
270
Appendix A: Guide to SB_Soft1
BW_synthU.m This function implements the inverse lifting biorthogonal wavelet transform, using the MATLAB function up_lifU.m. It restores a row signal or an array of row signals from the set of the wavelet transform coefficients. BW_synth_2DU.m Does the same for two-dimensional signals, using the MATLAB function up_lifU.m. up_lifU.m This function implements one step of the inverse biorthogonal wavelet transform, using the MATLAB function slfilt_lifU.m. Examples BW_exam_qis4U.m compares the biorthogonal wavelets originating from fourth-order quasi-interpolating splines with the wavelets originating from fourthorder interpolating discrete splines. It displays wavelets and their magnitude DFT spectra. The code uses the MATLAB function BW_fil_wavU.m. BW_exam_7U.m displays the first-level biorthogonal wavelets originating interpolating discrete-time and discrete splines of different orders and their magnitude DFT spectra. The code uses the MATLAB function BW_fil_wavU.m. Recall that the wavelets are the impulse responses of corresponding filters and their magnitude DFT spectra are the magnitude responses of the filters.
A.5
W_Frames
This folder is associated with Chap. 9. hmwfU.m This function prepares the set of filters for a given frame transform, using the MATLAB functions FW3_U.m, HM4_U.mand HM6_U.m. FW3_U.m This function prepares the set of filters for a given frame transform, which is implemented by a three-channel filter bank. HM4_U.m This function prepares the set of filters for a given frame transform, which is implemented by a four-channel filter bank. HM6_U.m This function prepares the set of filters for a given frame transform, which is implemented by either a six-channel or an eight-channel filter bank. fram34_dec_hmwfU.m This function provides the frame decomposition of a signal or an array of row signals. The frame transforms are implemented by 3 or 4 or 6 or 8 -channel filter banks, using filters prepared by the function hmwfU.m, using the functions fram3_down_hmwfU.m, fram4_down_hmwfU.m, fram6_down_hmwfU.m, fram8_down_hmwfU.m. fram34_dec2d_hmwfU.m Does the same for two-dimensional arrays. fram3_down_hmwfU.m, fram4_down_hmwfU.m These MATLAB functions execute one step of the direct frame transform of a signal or an array of row signals by 3 or 4-channel filter banks, respectively. The functions are using filters prepared by the function hmwfU.m. fram6_down_hmwfU.m, fram8_down_hmwfU.m These MATLAB functions execute one step of the direct frame transform of a signal or an array of
Appendix A: Guide to SB_Soft1
271
row signals by 6 or 8 -channel filter banks, respectively. The functions are using filters prepared by the function hmwfU.m. fram34_rec_hmwfU.m This function implements synthesis of a row signal or an array of row signals from the set of the frame transform coefficients. The inverse frame transforms are implemented by 3 or 4 or 6 or 8 -channel filter banks, using filters prepared by the function hmwfU.m, using the functions fram3_up_hmwfU.m, fram4_up_hmwfU.m, fram6_up_hmwfU.m, fram8_up_hmwfU.m. fram34_rec2d_hmwfU.m Does the same for two-dimensional arrays. fram3_up_hmwfU.m, fram4_up_hmwfU.m These MATLAB functions execute one step of the inverse frame transform of a signal or an array of row signals by 3 or 4-channel filter banks, respectively. The functions are using filters prepared by the function hmwfU.m. fram6_up_hmwfU.m, fram8_up_hmwfU.m These MATLAB functions execute one step of the inverse frame transform of a signal or an array of row signals by 6 or 8 -channel filter banks, respectively. The functions are using filters prepared by the function hmwfU.m. list_frame46.m This script comprises the list of all available frames generated by spline-based 3 or 4 or 6 or 8 -channel filter banks. Examples fram6_exam_U.m provides examples of tight frames with 6-channel filter banks. It displays impulse responses of the filters (which are the first-level framelets) and their magnitude responses. The code uses the MATLAB function fram6_lev_U.m. fram6_lev_U.m is an auxiliary function for the example fram6_exam_U.m. It prepares impulse responses of 6-channel spline-based filter bank for the tight frame transform and their magnitude responses. The function is using the MATLAB function HM6_U.m. fram8_exam_U.m provides examples of tight frames with 8-channel filter banks. It displays impulse responses of the filters (which are the first-level framelets) and their magnitude responses. The code uses the MATLAB function fram8_lev_U.m. fram8_lev_U.m is an auxiliary function for the example fram8_exam_U.m. It prepares impulse responses of 8-channel spline-based filter bank for the tight frame transform and their magnitude responses. The function is using the MATLAB function HM6_U.m. fram4_examU.m This MATLAB code provides examples of tight and semitight frames with 4-channel filter banks. The code uses the MATLAB function fram4_lev_U.m. fram4_exam_P5U.m This MATLAB code displays discrete-spline-based filters from 4-channel filter banks that generate tight frames. The code uses the function fram4_lev_U.m.
272
Appendix A: Guide to SB_Soft1
fram4_lev_U.m is an auxiliary function for the examples fram4_exam_U.m.m and fram4_exam_P5U.m. It prepares impulse responses of 4-channel splinebased filter bank for the tight and semi-tight frame transform and their magnitude responses. The function is using the MATLAB function fram4_up_hmU.m. fram4_up_hmU.m This MATLAB function executes one step of the inverse frame transform of a signal or an array of row signals by four-channel filter banks. The function is using the function HM4_U.m.
A.6
Utilities
This folder contains auxiliary codes. betw.m This function inserts columns of an array between columns of another array. betwR.m This function implements a faster procedure of insertion of columns in the case when sizes of both arrays are the same. circ_h.m Circular shift of a row signal or an array of row signals. rshuk.m Right shift of a row signal or an array of row signals. lshuk.m Left shift of a row signal or an array of row signals. ushuk.m Up shift of a column signal or an array of column signals. dshuk.m Down shift of a column signal or an array of column signals. evodR.m Separation of even and odd columns of an array. exteB.m Symmetric extension of a 2D array. exteSB.m Symmetric extension of a 2D array in the case when at least one of the extension parameters exceeds the corresponding dimension of the original array. shrinB.m Shrinkage of an array. havshB.m Split an array into 2 halves in horizontal direction. havsvB.m Split an array into 2 halves in vertical direction. quartB.m Split a square array into 4 squares. surqua.m This function inserts a sub-array into upper left corner of a bigger array. ai.m,ai.m,cj.m,bj.m Different ways to display images. bsplU.m This function computes values of polynomial B-splines of designed on uniform grids. bspuvU.m This function computes samples of polynomial B-splines of multiple orders at integer and semi-integer points. caenP.m This function computes entropy and l1 norm of an array. distanG.m This function computes the pairwise distances between the rows of a matrix. divdiffU.m The function authored by Tashi Ravach computes a set of divided differences of a signal sampled on an arbitrary grid. juviU.m The function computes characteristic sequences of spaces of periodic polynomial splines and DFT of the B-splines sampled at semi-integer points.
Appendix A: Guide to SB_Soft1
273
format_ticks.m The function handles ticks in MATLAB figures. cell2ar.m The function converts a cell array into a matrix. envU.m The function provides envelope of a signal and squared magnitude DFT spectrum. hatre.m The function implements hard thresholding of an array. softhreS.m The function implements soft thresholding of an array.
Glossary
def
ω = e2πi/N , where N = 2 j , j ∈ N. Z, N sets of integer and natural numbers, respectively. def x+ = (x + |x|)/2. N = 2j, j ∈ Z ∗ · complex conjugate. n the binomial coefficient. k Pn (t) Polynomial of degree n. C p space of functions, which have p continuous derivatives. cn ( f ) Fourier coefficient of a periodic function f (t). Π [N ] space of N -periodic discrete-time signals. Π [N , L] space of two-dimensional signals whose columns belong to Π [N ] and the rows belong to Π [L]. 1, if k = l N , l ∈ Z, ; δ[n] N -periodic Kronecker delta , δ[k] = 0, otherwise. N −1 x[k] ω−nk DFT of signal x ∈ Π [N ]. x[n] ˆ = k=0 N /2m −1 m x[k] ω−2 nk DFT of signal x ∈ Π [N /2m ]. x[n] ˆ m = k=0 def
xl,M = xl,M [k] = x[l + k M] , k ∈ Z polyphase components of signal x. x0 and x1 the even and the odd polyphase components of signal x. Δn [x] nth order finite difference of signal x. δ 2n [x] 2nth order central finite difference of signal x. p-filter digital periodic filter. χ [a, b](t) indicator function of the interval (a, b) (Eq. 2.1). b p (t) centered non-periodic polynomial B-spline of order p. B p (t) N -periodic polynomial B-spline of order p. p B[1] (t) N -periodization of the polynomial B-spline b p (t/2)/2. p S space of N -periodic polynomial splines of order p. ζ p [n](t) periodic exponential splines of order p on the grid {k} , k ∈ Z. def u p [n] = ζ p [n](0) characteristic sequence of periodic spline space p S . def v p [n] = ζ p [n](1/2). © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5
275
276
Glossary
2 def P S N R = 10 log10 MM(x255−x˜ )2 d B peak signal-to-noise ratio. k k=1 k
2r b2r [1] = b[1] [k] , k ∈ Z, centered N -periodic discrete B-spline of order p = 2r of span 2.
2r 2r = s[1] [k] , k ∈ Z, N -periodic discrete spline of order p = 2r of span 2. s[1] 0 2r S[1] the space of the N -periodic discrete splines of span 2.
2r 2r 0 ζ[1],0 (ν) = ζ[1],0 (ν)[k] discrete periodic exponential spline in the space 2r S[1] . def
2r 0 U 2r [ν] = ζ[1],0 (ν)[0] characteristic sequence of the space 2r S[1] .
2r 2r γ[1],0 (ν) = γ[1],0 (ν)[k] normalized discrete periodic exponential spline in the space 0 2r S[1] .
2r 2r,2r b[1] = b[1] [k, l] , k, l ∈ Z, centered 2D N -periodic discrete B-spline of order p = 2r with span 2. def p p b¯[1] [k] = B[1] (k), k ∈ Z discrete-time B-spline of order p with span 2. p s¯[1] [k] periodic discrete-time spline of order p with span 2. p ¯0 S[1] the space of the N -periodic discrete-time splines of order p with span 2. p ζ¯[1],0 (ν) Discrete-time exponential spline.
p p γ¯[1],0 (ν) = γ¯[1],0 (ν)[k] normalized discrete-time exponential spline in the space p ¯0 S[1] .
[2ν]| Υ p [ν] = u [2ν] +|v , 4 0 0 2r S[1] Orthogonal complement for the subspace 2r S[1] ∈ Π [N ]. 2r 2r 0 1 2r ψ[1],0 and ψ[1],1 orthonormal wavelets in the spaces S[1] and 2r S[1] , respectively. p ¯0 p ¯0 S[1] Orthogonal complement for subspace S[1] ∈ Π [N ]. p p 0 1 ψ¯ [1,0] and ψ¯ [1,1] orthonormal wavelets in the spaces p S¯[1] and p S¯[1] , respectively. ˜ [m] [ν] and M[m] [ν] analysis and synthesis modulation matrices for the discreteM spline wavelet (wavelet packet transforms), respectively. ˜¯ [ν] and M ¯ [m] [ν] analysis and synthesis modulation matrices for the discreteM [m] time-spline wavelet (wavelet packet transforms, respectively. 2r , λ = 0, . . . , 2m − 1 orthonormal discrete-spline wavelet packets from the ψ[m],λ mth decomposition level. p ψ¯ [m],λ , λ = 0, . . . , 2m − 1 orthonormal discrete-time-spline wavelet packets from the mth decomposition level. def 2r 2r 2r [n, m] = ψ[μ],κ [n] ψ[μ],ν [m], κ, ν = 0, . . . , 2μ − 1. 2D orthonormal ψ[μ],κ,ν discrete-spline wavelet packets from the μth decomposition level. def p p p ψ¯ [μ],κ,ν [n, m] = ψ¯ [μ],κ [n] ψ¯ [μ],ν [m], κ, ν = 0, . . . , 2μ − 1. 2D orthonormal discrete-time-spline wavelet packets from the μth decomposition level. f [k, k + 1, k + 2, . . . , k + n] Divided difference of order n. b¯ p (t) non-centered B-spline of order p. Rn (t) remainder term of polynomial interpolation. p s0 [ f ](t) simplest order- p spline approximating function f . p s1 [ f ](t) order- p spline quasi-interpolating a function f . def
p
2
p
2
Glossary
277
P3 (t)[k] cubic polynomial which interpolates a function f (t) at the points t[k − 1], t[k], . . . , t[k + 2]. P2 (t)[k] quadratic polynomial which interpolates a function f (t) at the points t[k − 1], t[k], . . . , t[k + 1]. P[m] linear prediction operator for lifting wavelet transform. U[m] linear updating operator for lifting wavelet transform. fp = { f p [k]} ∈ Π [N /2] prediction p-filter for lifting wavelet transform in Π [N ]. fu = { f p [k]} ∈ Π [N /2] updating p-filter for lifting wavelet transform in Π [N ]. ˜ P[n] and P [n] analysis and synthesis polyphase matrices for either biorthogonal wavelet or frame transforms, respectively.
Bibliography
1. M. Abramowitz, I.A. Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables (Dover, New York, 1972) 2. A. Aldroubi, M. Eden, M. Unser, Discrete spline filters for multiresolutions and wavelets of l2 . SIAM J. Math. Anal. 25(5), 1412–1432 (1994) 3. J. Antoni, R.B. Randall, The spectral kurtosis: application to the vibratory surveillance and diagnostics of rotating machines. Mech. Syst. Signal Process. 20(2), 308–331 (2006) 4. M. Antonini, M. Barlaud, P. Mathieu, I. Daubechies, Image coding using wavelet transform. IEEE Trans. Image Process. 1(2), 205–220 (1992) 5. H. Arguello, C.V. Correa, G.R. Arce, Fast lapped block reconstructions in compressive spectral imaging. Appl. Opt. 52, D32–D45 (2013) 6. Y. August, C. Vachman, Y. Rivenson, A. Stern, Compressive spectral imaging by random separable projections in both the spatial and the spectral domains. Appl. Opt. 52, D46 (2013) 7. A. Averbuch, E. Hulata, V. Zheludev, I. Kozlov, A wavelet packet algorithm for classification and detection of moving vehicles. Multidimens. Systems Signal Process. 12(1), 9–31 (2001) 8. A. Averbuch, I. Kozlov, V. Zheludev, Wavelet-packet-based algorithm for identification of quasi-periodic signals. in Wavelets: Applications in Signal and Image Processing IX, Proceedings of SPIE ed. by A.F. Laine, M.A. Unser, A. Aldroubi, vol. 4478 (2001), pp. 353–360 9. A. Averbuch, P. Neittaanmäki, E. Shefi, V. Zheludev, Local cubic splines on non-uniform grids and real-time implementation of wavelet transform. Adv. Comput. Math. 43(4), 733– 758 (1917) 10. A. Averbuch, P. Neittaanmäki, V. Zheludev, Periodic spline-based frames: design and applications for image restoration. Inverse Probl. Imaging 9(3), 661–707 (2015) 11. A. Averbuch, A.B. Pevnyi, V. Zheludev, Biorthogonal Butterworth wavelets derived from discrete interpolatory splines. IEEE Trans. Signal Process. 49(11), 2682–2692 (2001) 12. A. Averbuch, A.B. Pevnyi, V. Zheludev, Butterworth wavelet transforms derived from discrete interpolatory splines: recursive implementation. Signal Process. 81(11), 2363–2382 (2001) 13. A. Averbuch, N. Rabin, A. Schclar, V. Zheludev, Dimensionality reduction for detection of moving vehicles. Pattern Anal. Appl. 15, 19–27 (2012) 14. A. Averbuch, V. Zheludev, Construction of biorthogonal discrete wavelet transforms using interpolatory splines. Appl. Comput. Harmon. Anal. 12(1), 25–56 (2002) 15. A. Averbuch, V. Zheludev, Spline-based deconvolution. Signal Process. 89(9), 1782–1797 (2009) 16. A. Averbuch, V. Zheludev, T. Cohen, Interpolatory frames in signal space. IEEE Trans. Signal Process. 54(6), 2126–2139 (2006) © Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5
279
280
Bibliography
17. A. Averbuch, V. Zheludev, M. Khazanovsky, Deconvolution by matching pursuit using spline wavelet packets dictionaries. Appl. Comput. Harmon. Anal. 31(1), 98–124 (2011) 18. A. Averbuch, V. Zheludev, P. Neittaanmäki, J. Koren, Block based deconvolution algorithm using spline wavelet packets. J. Math. Imaging Vis. 38(3), 197–225 (2010) 19. A. Averbuch, V. Zheludev, P. Neittaanmäki, P. Wartiainen, K. Huoman, K. Janson, Acoustic detection and classification of river boats. Appl. Acoust. 72(1), 22–34 (2011) 20. A. Averbuch, V. Zheludev, N. Rabin, A. Schclar, Wavelet-based acoustic detection of moving vehicles. Multidimens. Syst. Signal Process. 20(1), 55–80 (2009) 21. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume I: Periodic Splines (Springer, Dordrecht, 2014) 22. A.Z. Averbuch, P. Neittaanmäki, V.A. Zheludev, Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, Volume II: Non-periodic Splines (Springer, Cham, 2015) 23. M.J. Bastiaans, Gabor’s expansion and the Zak transform for continuous-time and discretetime signals, in Signal and Image Representation in Combined Spaces, vol. 7, Wavelet Analysis and Its Applications, ed. by Y.Y. Zeevi, R. Coifman (Academic Press, San Diego, 1998), pp. 23–69 24. G. Battle, A block spin construction of ondelettes I. lemarié functions. Commun. Math. Phys. 110(4), 601–615 (1987) 25. A. Bermanis, A. Averbuch, R.R. Coifman, Multiscale data sampling and function extension. Appl. Comput. Harmon. Anal. 34(1), 15–29 (2013) 26. D.J. Brady, Optical Imaging and Spectroscopy (Wiley-Interscience, New York, 2009) 27. L.M. Bregman, The relaxation method of finding the common points of convex sets and its application to the solution of problems in convex programming. USSR Comput. Math. Math. Phys. 7(3), 200–217 (1967) 28. L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classification and Regression Trees (Chapman & Hall, New York, 1993) 29. L. Breiman, J.H. Friedman, R.A. Olshen, C.J. Stone, Classification and Regression Trees (Wadsworth, Belmont, 1984) 30. C.M. Brislawn, Classification of nonexpansive symmetric extension transforms for multirate filter banks. Appl. Comput. Harmon. Anal. 3(4), 337–357 (1996) 31. C. Li, T. Sun, K. Kelly, Y. Zhang, A compressive sensing and unmixing scheme for hyperspectral data. IEEE Trans. Image Process. 21(3), 1200–1210 (2012) 32. J. Cai, S. Osher, Z. Shen, Split Bregman methods and frame based image restoration. Multiscale Model. Simul. 8(2), 337–369 (2009/2010) 33. J.F. Cai, S. Osher, Z. Shen, Split bregman methods and frame based image restoration. Multiscale Model. Simul. SIAM Interdiscip. J. 8, 337–369 (2009) 34. E. Candes, J. Romberg, T. Tao, Stable signal recovery from incomplete and inaccurate measurements. Commun. Pure Appl. Math. 59(8), 1207–1223 (2006) 35. F.R.K. Chung, in Spectral Graph Theory (CBMS Regional Conference Series in Mathematics, No. 92) (American Mathematical Society, 1996) 36. G. Clark, E. Pappas-Politis, B. Cherpelis, J. Messina, M. Möller, C. Cruse, L. Glass, Surgical management of melanoma in situ on chronically sun-damaged skin. Cancer Control. 15(3), 216–224 (2008) 37. R.R. Coifman, S. Lafon, Diffusion maps. Appl. Comput. Harmonic. Anal. Spec. Issue Diffus. Maps Wavelets 21(1), 5–30 (2006) 38. R.R. Coifman, S. Lafon, Geometric harmonics: a novel tool for multiscale out-of-sample extension of empirical functions. Appl. Comput. Harmonic. Anal. Spec. Issue Diffus. Maps Wavelets 21(1), 31–52 (2006) 39. R.R. Coifman, Y. Meyer, Remarques sur l’analyse de Fourier à fenêtre. C. R. Acad. Sci. Paris Sér. I Math. 312(3), 259–261 (1991) 40. R.R. Coifman, V.M. Wickerhauser, Entropy-based algorithms for best basis selection. IEEE Trans. Inform. Theory 38(2), 713–718 (1992)
Bibliography
281
41. J.W. Cooley, J.W. Tukey, An algorithm for the machine calculation of complex Fourier series. Math. Comput. 19(90), 297–301 (1965) 42. Z. Cvetkovi´c, M. Vetterli, Oversampled filter banks. IEEE Trans. Signal Process. 46(5), 1245– 1255 (1998) 43. C. de Boor, A Practical Guide to Splines (Springer, New York, 1978) 44. C. de Boor, Divided differences. Surv. Approx. Theory 1, 46–69 (2005) 45. B. Dong, Z. Shen, Pseudo-splines, wavelets and framelets. Appl. Comput. Harmon. Anal. 22(1), 78–104 (2007) 46. D. Donoho, Compressed sensing. IEEE Trans. Inf. Theory 52, 1289–1306 (2006) 47. D. Donoho, Y. Tsaig, Extensions of compressed sensing. Signal Process. 86(3), 533–548 (2006) 48. D. Dyer, R.M. Stewart, Detection of rolling element bearing damage by statistical vibration analysis. J. Mech. Des. 100(2), 229–235 (1978) 49. J. Romberg, E. Candes, T. Tao, Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information. IEEE Trans. Inf. Theory 52(2), 489–509 (2006) 50. I. El-Thalji, E. Jantunen, A descriptive model of wear evolution in rolling bearings. Eng. Fail. Anal. 45, 204–224 (2014) 51. D.H. Foster, K. Amano, S.M.C. Nascimento, M.J. Foster, Frequency of metamerism in natural scenes. J. Opt. Soc. Am. A 23, 2359 (2006) 52. Y. Garini, I.T. Young, G. McNamara, Spectral imaging: principles and applications. Cytom. Part A Spec. Issue Spectr. Imaging 69A, 735 (2006) 53. T. Goldstein, S. Osher, The split Bregman method for L1-regularized problems. SIAM J. Imaging Sci. 2(2), 323–343 (2009) 54. M. Golub, A. Averbuch, M. Nathan, V. Zheludev, J. Hauser, S. Gurevitch, R. Malinsky, A. Kagan, Compressed sensing snapshot spectral imaging by a regular digital camera with an added optical diffuser. Appl. Opt. 55, 432–443 (2016) 55. M.A. Golub, M. Nathan, A. Averbuch, E. Lavi, V.A. Zheludev, A. Schclar, Spectral multiplexing method for digital snapshot spectral imaging. Appl. Opt. 48, 1520–1526 (2009) 56. C.A. Hall, On error bounds for spline interpolation. J. Approx. Theory 1, 209–218 (1968) 57. C. Herley, M. Vetterli, Wavelets and recursive filter banks. IEEE Trans. Signal Process. 41(12), 2536–2556 (1993) 58. H. Ji, Z. Shen, Y. Xu, Wavelet based restoration of images with missing or damaged pixels. East Asian J. Appl. Math. 1(2), 108–131 (2011) 59. D. Kittle, K. Choi, A. Wagadarikar, D. Brady, Multiframe image estimation for coded aperture snapshot spectral imagers. Appl. Opt. 49(7), 6824–6833 (2010) 60. N.P. Korneichuk, Approximations by local splines of minimal defect. Ukr. Math. J. 34(5), 502–505 (1982) 61. H. Lang, Advances in multispectral and hyperspectral imaging for archaeology and art conservation. Appl. Phys. 106, 309–323 (2012) 62. P.C. Mahalanobis, On the generalised distance in statistics. Proc. Nat. Inst. Sci. India 2(1), 49–55 (1936) 63. V.N. Malozemov, A.B. Pevnyi, Discrete periodic splines and their numerical applications. Comput. Math. Math. Phys. 38(8), 1181–1192 (1998) 64. M.J. Marsden, An identity for spline functions with applications to variation-diminishing spline approximation. J. Approx. Theory 3, 7–49 (1970) 65. J.K. McKenna, S.R. Florell, G.D. Goldman, G.M. Bowen, Lentigo maligna/lentigo maligna melanoma: current state of diagnosis and treatment. Dermatol. Surg. 32(4), 493–504 (2006) 66. P. Neittaanmäki, V. Rivkind, V. Zheludev, A wavelet transform based on periodic splines and finite element method, in Finite Element Methods (Jyväskylä, 1993), ed. by M. Kˇrížek, P. Neittaanmäki, R. Stenberg, Lecture Notes, in Pure and Applied Mathematics, vol. 164, (Dekker, New York, 1994), pp. 325–334 67. P. Neittaanmäki, V. Rivkind, V. Zheludev. Periodic spline wavelets and representation of integral operators. Preprint 177, University of Jyväskylä, Department of Mathematics (1995)
282
Bibliography
68. E.J. Nyström, Über die praktische auflösung von linearen integralgleichungen mit anwendungen auf randwertaufgaben der potentialtheorie. Comment. Phys. Math. 4(15), 1–52 (1928) 69. A.V. Oppenheim, R.W. Schafer, Discrete-Time Signal Processing, 3rd edn. (Prentice Hall, New York, 2010) 70. G. Polya, G. Szegö, Aufgaben and Lehrsätze aus der Analysis, vol. II (Springer, Berlin, 1971) 71. W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, 2nd edn. (Cambridge University Press, New York, 1992) 72. A. Glaser, S. Lafon, Y. Keller, R.R. Coifman, Data fusion and multi-cue data matching by diffusion maps. IEEE Trans. Pattern Anal. Mach. Intell. 28(11), 1784–1797 (2006) 73. N. Saito, R.R. Coifman, Local discriminant bases and their applications. J. Math. Imaging Vis. 5(4), 337–358 (1995) 74. N. Saito, R.R. Coifman. Improved discriminant bases using empirical probability density estimation. in Proceedings of the Statistical Computing Section (American Statistical Association, Washington, DC, 1997), pp. 312–321 75. N. Sawalhi, R.B. Randall. The application of spectral kurtosis to bearing diagnostics. in Proceedings of ACOUSTICS 2004, Gold Coast, Australia (2004), pp. 393–398 76. A. Schclar, A. Averbuch, N. Rabin, V. Zheludev, K. Hochman, A diffusion framework for detection of moving vehicles. Digit. Signal Process. 20(1), 111–122 (2010) 77. I.J. Schoenberg, On variation diminishing approximation methods, in On Numerical Approximation, MRC Symposium, ed. by R.E. Langer (University of Wisconsin Press, Madison, WI, 1959), pp. 249–274 78. L.L. Schumaker, Spline Functions: Basic Theory (Wiley, New York, 1981) 79. C.E. Shannon, W. Weaver, The Mathematical Theory of Communication (The University of Illinois Press, Urbana, 1949) 80. D.F. Shi, W.J. Wang, L.S. Qu, Defect detection for bearings using envelope spectra of wavelet transform. J. Vib. Acoust. 126(4), 567–573 (2004) 81. J. Stoer, R. Bulirsch, Introduction to Numerical Analysis, 2nd edn. (Springer, New York, 1993) 82. D.S. Stoffer, D.E. Tyler, D.A. Wendt, The spectral envelope and its applications. Stat. Sci. 15, 224–253 (2000) 83. M.G. Suturin, V. Zheludev, On the approximation on finite intervals and local spline extrapolation. Russ. J. Numer. Anal. Math. Model. 9(1), 75–89 (1994) 84. W. Sweldens. Lifting scheme: a new philosophy in biorthogonal wavelet constructions. in Wavelet Applications in Signal and Image Processing III, Proceedings of SPIE ed. by A.F. Laine, M.A. Unser, vol. 2569 (1995), pp. 68–79 85. W. Sweldens, The lifting scheme: A custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996) 86. W. Sweldens, The lifting scheme: a construction of second generation wavelets. SIAM J. Math. Anal. 29(2), 511–546 (1997) 87. N. Tandon, A. Choudhury, A review of vibration and acoustic measurement methods for the detection of defects in rolling element bearings. Tribol. Int. 32(8), 469–480 (1999) 88. M. Unser, A. Aldroubi, M. Eden, Fast B-spline transforms for continuous image representation and interpolation. IEEE Trans. Pattern Anal. Mach. Intell. 13(3), 277–285 (1991) 89. M. Unser, A. Aldroubi, M. Eden, B-spline signal processing. I. Theory. IEEE Trans. Signal Process. 41(2), 821–833 (1993). IEEE Signal Processing Society’s 1995 best paper award 90. K.F. Üstüner, L.A. Ferrari, Discrete splines and spline filters. IEEE Trans. Circuits Systems II: Analog. Digit. Signal Process. 39(7), 417–422 (1992) 91. Y.X. Wang, J.W. Xiang, R. Markert, M. Liang, Spectral kurtosis for fault detection, diagnosis and prognostics of rotating machines: a review with applications. Mech. Syst. Signal Process. 20(2), 66–67: 679–698 (2016) 92. M.V. Wickerhauser, Adapted Wavelet Analysis: From Theory to Software (AK Peters, Wellesley, 1994) 93. W. Yin, S. Osher, D. Goldfarb, J. Darbon, Bregman iterative algorithms for l1 -minimization with applications to compressed sensing. SIAM J. Imaging Sci. 1(1), 143–168 (2008)
Bibliography
283
94. J. Zak, Finite translations in solid-state physics. Phys. Rev. Lett. 19(24), 1385–1387 (1967) 95. Q. Zhang, R. Plemmons, D. Kittle, D. Brady, S. Prasad, Joint segmentation and reconstruction of hyperspectral data with compressed measurements. Appl. Opt. 50, 4417 (2011) 96. V. Zheludev, Local spline approximation on arbitrary meshes. Sov. Math. 8, 16–21 (1987) 97. V. Zheludev, An operational calculus connected with periodic splines. Sov. Math. Dokl. 42(1), 162–167 (1991) 98. V. Zheludev, Periodic splines and the fast Fourier transform. Comput. Math. Math. Phys. 32(2), 149–165 (1992) 99. V. Zheludev, Periodic splines, harmonic analysis, and wavelets, in Signal and Image Representation in Combined Spaces, ed. by Y.Y. Zeevi, R. Coifman, Wavelet Analysis, Its Applications, vol. 7, (Academic Press, San Diego, 1998), pp. 477–509 100. V. Zheludev, V.N. Malozemov, A.B. Pevnyi. Filter banks and frames in the discrete periodic case. in Proceedings of the St. Petersburg Mathematical Society, Vol. XIV, ed. by N.N. Uraltseva. American Mathematical Society Translations Series 2, vol. 228 (2009), pp. 1–11 101. V. Zheludev, I. Pölönen, N. Neittaanäki-Perttu, A. Averbuch, P. Neittaanmäki, M. Grönroos, H. Saari, Delineation of malignant skin tumors by hyperspectral imaging using diffusion maps dimensionality reduction. Biomed. Signal Process. Control. 16, 48–60 (2015)
Index
A Aisles, 209 Analysis filter bank, 8 Analysis p-filter bank, 150 Analysis polyphase matrix, 151
B Battle–Lemarié splines, 29, 38, 45 Battle–Lemarié wavelets, 43 Best basis, 59, 64, 66, 80 B-splines on non-uniform grid, 85 Butterworth p-filters, 7 Butterworth wavelets, 138
C Characteristic sequence of periodic spline space, 33, 141 Characteristic sequence of periodic spline space p S , 13 Characteristic sequence of the discrete-time spline space, 36 Characteristic sequence of the discrete spline space, 24, 31 Characterization of p-filter banks, 150 Chirp function, 110 Circular convolution of the exponential splines, 15 Classification and Regression Tree (CART), 209, 216, 233 Cubic local splines, 86 Cubic-spline wavelet transforms on uniform grids, 126
D 2D Discrete Fourier Transform (DFT), 4 2D discrete-spline wavelet packets, 78 2D discrete-spline wavelets, 73 2D discrete-time-spline wavelets, 73 Derivatives of the exponential splines , 15 Diffusion maps, 213 Discrete circular convolution, 2–4 Discrete Fourier Transform (DFT), 2 Discrete Parseval identity for periodic splines, 17 Discrete spline of fourth order, 171 Discrete-spline wavelet packet transform, 65 Discrete-spline wavelet packets, 55, 56, 61 Discrete-spline wavelets, 41, 43, 50, 52, 56, 61, 66 Discrete-time B-splines, 33 Discrete-time-spline wavelet packet transform, 65 Discrete-time-spline wavelet packets, 57, 59, 63 Discrete-time-spline wavelets, 45, 53, 54, 66 Discriminant measure, 61 Dispersive diffuser, 178 Divided differences, 84 Downsampling, 6 2D signal’s restoration, 80 2D wavelet transforms , 76
E Eight-channel p-filter banks generating tight frames, 166 Entropy, 60 Envelope of a signal from Π [N ], 243, 245, 249, 261
© Springer International Publishing AG, part of Springer Nature 2019 A. Z. Averbuch et al., Spline and Spline Wavelet Methods with Applications to Signal and Image Processing, https://doi.org/10.1007/978-3-319-92123-5
285
286 Exponential discrete splines and characteristic sequences, 23 Exponential discrete-time splines and characteristic sequences, 35 Exponential discrete splines, 31 Exponential splines, 13 Extrapolation of signals by splines, 106, 109 F Filter bank, 134, 149 Filter bank frame, 151 Filter banks for frame transforms, 156 Finite differences, 3, 4 Four-channel perfect reconstruction p-filter banks, 156 Four-channel p-filter banks derived from discrete splines, 170 G Geometric Harmonics, 216 I Image restoration, 172 Implementation of multi-level frame transform, 155 Indicator function of the interval, 12 Inner product and norm, 1 Interpolating discrete splines, 25 Interpolating discrete-time splines, 39 Interpolating p-filter, 6 Interpolating p-filter banks, 160 Interpolating polynomials, 84 Interpolation by periodic splines, 16 K Kronecker delta, 2, 275 L Lifting scheme of wavelet transforms, 115, 133 Linear phase p-filter, 5 Local Discrete Vanishing Moments (LDVM), 121, 145, 146 Local quasi-interpolating discrete splines, 26 Low-pass filter , 5 M Magnitude Response (MR) of p-filter , 5
Index Matrix norm, 4 Modulation matrix, 8, 45, 46 Multi-level frame transform, 153 Multirate filtering, 6
N Norms of derivatives of the exponential splines, 15 Norms of the exponential splines, 14 N-periodic B-splines, 11
O One-level frame transform, 152 Orthogonal basis of exponential splines, 14 Orthonormal exponential discrete splines, 27 Orthonormal exponential discrete-time splines, 37 Orthonormal periodic discrete splines, 27 Orthonormal periodic discrete-time splines, 37 Oversampled Filter Banks, 150
P Parseval identities, 3, 4 Perfect Reconstruction (PR) filter bank, 9, 10, 151 Perfect Reconstruction (PR) p-filter bank, 8, 46, 47, 150 Periodic discrete B-spline, 21 Periodic discrete splines of span 2, 21, 30 Periodic discrete-time signals, 1 Periodic discrete-time splines , 32 Periodic filter banks, 8 Periodic spline s spaces p S , 12 Periodization, 1 Phase response of p-filter , 5 Polynomial splines spaces, 12 Polyphase decomposition, 3 Polyphase matrices for frame transforms, 150 Polyphase matrices for wavelet transforms, 134 Polyphase matrix, 9 Polyphase representation of DFT, 3 Prediction and updating operators on limited non-uniform grids, 119 Prediction and updating operators on limited uniform grids (quadratic splines), 131 Prediction and updating operators on unlimited non-uniform grids, 118
Index Prediction and updating operators on unlimited uniform grids (quadratic splines), 129 Prediction and updating p-filters derived from discrete splines, 136 Prediction and updating p-filters derived from from discrete-time splines, 140 Pseudo-spline, 169 Q Quadratic quasi-interpolating splines, 100, 103, 138 Quadratic quasi-interpolating splines on finite interval, 105 Quasi-interpolating cubic splines, 88, 91 Quasi-interpolating cubic splines on finite intervals, 93 R Random Search for a Near Optimal Footprint (RSNOFP), 236 Real-time computation of quadratic splines, 106 Real-time computation of the quasiinterpolating spline with delay, 89 Real-time cubic spline computation, 96 Real-time execution of wavelet transform on non-uniform grids, 121 Representation of periodic splines by exponential splines basis, 15 S Sampled circular convolution for periodic splines, 17
287 Semi-tight frame p-filter banks , 159 SHA in two-dimensional periodic spline spaces, 19 SHA spectrum of periodic splines, 16 Signal’s restoration, 64, 66 Simplest cubic splines, 87 Six-channel p-filter banks generating tight frames, 162 Spline-based prediction and updating operators, 117 Spline’s values at intermediate points, 17 Split Bregman iterations, 174, 185 Super-convergence property of quadratic splines, 109 Synthesis filter bank, 8 Synthesis p-filter bank, 150 Synthesis polyphase matrix, 151
T Tight frame p-filter banks , 159 Two-dimensional polynomial cubic splines, 97
U Upsampling, 6
W Waveband spectra, 68 Wavelet packet transform of a signal from Π [N ], 59, 61, 63, 245 Wavelet transform of a signal from Π [N ], 45, 46, 48, 50, 61 Wavelet transform on non-uniform grid, 117