Theory and Algorithms for Pulse Signal Processing
Abstract —The integrate and fire converter transforms an analog signal into train of biphasic pulses. The pulse train has information encoded in the timing and polarity of pulses. While it has been shown that any finite bandwidth analog signal can be reconstructed from these pulse trains with an error as small as desired, there is a need for fundamental signal processing techniques to operate directly on pulse trains without signal reconstruction. In this paper, the feasibility of performing online the signal processing operations of addition, multiplication, and convolution of analog signals using their pulses train representations is explored. Theoretical framework to perform signal processing with pulse trains imposing minimal restrictions is derived, and algorithms for online implementation of the operators are developed. Performance of the algorithms in processing simulated data is studied. An application of noise subtraction and representation of relevant features of interest in electrocardiogram signal is demonstrated with mean pulse rate less than 20 pulses per second.
Index Terms — Analog to pulse converter, biphasic pulse trains, convolution, pulse signal processing, semantic information. I. I NTRODUCTION
One of the central principles in signal processing is the Whittaker-Shannon-Nyquist sampling theorem, which states that there is no loss of information between bandlimited analog signals and digital representations if the sampling rate is at least twice the maximum frequency present in the analog signal of interest [1]–[3]. Driven by sampling theory, programming flexibility and transistor scaling, nearly all data acquisition, processing and communication has progressed from continuous domain to the digital domain [4]. These advances along with the availability of high fidelity, low cost analog to digital converters (ADC) and digital signal processors (DSP) have led to an exponential increase in the digitalization of information processed from analog world sources [5]. The sampling theorem is a worst-case theorem, because it assumes that the highest frequency of input signal is always present, which normally is not the case. Conventional Nyquist sampling results in highly redundant sample representations that can overwhelm bandwidth in communications, and DSPs in real time portable
G. Nallathambi is with the Department of Electrical and Computer Engineering, Gainesville, Florida, 32611, USA (e-mail: gabriel_n,@ ymail.com). J. C. Principe is with the Department of Electrical and Computer Engineering, Gainesville, Florida, 32611, USA (e-mail: [email protected]). applications [5]; therefore, efficient sensing and intelligent processing of sensor data for emerging applications requires new fundamental advances in the theory and implementation of data acquisition, conversion, and signal processing. Recent developments in alternative sampling schemes such as compressive sensing [6], finite rate of innovation [7], and signal-dependent time-based samplers [8]–[10] are promising. These approaches combine sensing and compression into a single step by recognizing that useful information in real world signals is sparser than the raw data generated by sensors. The focus of this paper is on processing of pulse trains created by a special type of analog to pulse converter named integrate and fire converter (IFC), which converts an analog signal of finite bandwidth into a train of pulses where the area under the curve of the analog signal is encoded in the time difference between pulses [10]. The IFC is inspired by the leaky integrator and fire neuron model [11]. It takes advantage of the time structure of the input, enabling users to tune the IFC parameters for sensing specific regions of interest in the signal; therefore, it provides a compressed representation of the analog signal, using the charge time of the capacitor as the sparseness constraint [12]–[14]. Rastogi et al. [10] studied the hardware implementation of the IFC and showed that the power consumption and area required is smaller than most of the ADCs available: a single channel IFC has ~ 30 transistors with a figure of merit of 0.6 pJ/conv for an 8–bit converter, implemented using CMOS 0.6 µ𝑚 technology in a layout box of 100 µ𝑚 X 100 µ𝑚 . Feichtinger et al. [15] proved mathematically the conditions for finite bandwidth analog signal to be approximately reconstructed from the train of IFC pulses with an error as small as desired. The simplicity in IFC sampling is balanced by complex non-linear reconstruction algorithm Various processing schemes have been proposed in the literature for the pulse trains generated by the IFC. The simplest technique counts pulses in time bins to create a coarse time structure of the pulse train and apply standard algorithms on the vector space representation. Alvarado et al. [12] used this approach to solve the heartbeat classification problem with linear discriminant classifiers and binned pulses as features. McCormick [16] proposed asynchronous finite state machines The work of the authors is funded via the grant DARPA N66001-15-1-4054 and NSF EAGER 1723366.
Theory and Algorithms for Pulse Signal Processing
Gabriel Nallathambi and Jose C. Principe o perform piecewise linear operations and reconstruct binary codes from input pulses. Signal processing is performed on the binary code followed by conversion back to pulses. Nallathambi and Principe [13] applied attribute grammars and automata directly to the pulse timing for performing non-numeric processing of pulse trains and identify QRS complexes in the electrocardiogram (ECG) signal with high accuracy. In the neuroscience literature, the pulse trains created by neurons are modeled as stochastic point processes [17], and many machine learning techniques are used to compute with pulses [18], [19]. While these works on pulse trains advanced signal representation and processing, there is a need for developing arithmetic operators for IFC pulse trains under a deterministic framework, i.e. assuming the signal is created from a deterministic source and the conversion is also deterministic, as used in sampling theory, which is the focus of this paper. The main contributions of this paper are as follows. First, a theoretical framework for performing basic signal processing operations such as addition, multiplication, and convolution is derived. Secondly, algorithms for online implementation of pulse-based arithmetic and convolution is proposed. Together, these developments enable direct processing of pulse trains without signal reconstruction. Due to the sparse representation of the IFC sampler, the arithmetic operations have limited accuracy near the noise floor and low amplitude regions, but still effectively process the relevant information in the signal. The ability of selectively capturing and processing the semantic information in the signal is important in many continuous and event monitoring applications for the Internet of Things (IoT) and mobile wireless sensor networks [20]. Applications where the goal is detection or classification of vital events and not necessarily signal reconstruction, are ideal for the proposed pulse-based algorithms, which represent the features of interest in the signal while suppressing the background noise. The performance of the proposed algorithms is studied by quantifying the variations in instantaneous occurrence of pulses. The effect of IFC parameters and the efficiency of the approach in processing semantic regions of interest is demonstrated using synthetic data. Comparisons are performed with digital processing of reconstructed pulse trains. An application of noise reduction in ECG signal is demonstrated with sparse pulse representation while preserving the sematic features of interest. Matlab scripts for the key algorithms are made available in [21]. The rest of the paper is organized as follows: Section II describes the IFC in detail and presents the related works on pulse-based signal processing. Section III derives the theoretical framework for operating with pulse trains to perform addition, multiplication, and convolution. Section IV proposes algorithms for online implementation of the theoretical framework. Section V describes the datasets and performance metrics used for validation. Section VI quantifies the performance of the algorithms using synthetic and natural data. Section VII discusses the possibilities offered by the present work. II. I NTEGRATE AND F IRE C ONVERTER
Pulse based arithmetic and signal processing are developed with the objective of performing computation on analog signals using representations with digital amplitude but analog time. Pulse trains are waveforms where the information is contained in the timing of pulses instead of amplitude. The use of pulses for signal processing is not a new idea. Early efforts include works on arithmetic using pulse encoding methods such as pulse rate, width, edge, burst, phase, delay, and amplitude [22]–[25]. Since its inception, many studies such as pulse-based population encoding for single or multiple sensors in video processing [8], [9], [26], time-embedding based on the inter pulse intervals [27], learned input-output mappings based on a stochastic model for the events [18], [19], stochastic point process models [17], projections into reproducing kernel Hilbert spaces [28], and others [29] based on pulse streams have been proposed. Based on these works, various implementation schemes for pulse signal processing are proposed using magnetic cores [30], reconfigurable analog systems [31], fourth order palmo filter [32], etc. The trends in silicon technology with a decrease in voltage and an increase in speed are making pulse-based representations more appealing. In this paper, we focus our discussion on the biphasic integrate and fire converter (IFC), which converts real world analog signals to analog time between pulses. The IFC output encodes information on both the timing of the pulses (analog) and polarity of pulses (digital). The methodology developed in this work can be easily applied to single polarity pulse trains as well. Feichtinger et al. [10] among others [33]–[36] studied the use of IFC as a replacement for ADC and showed that the integrate and fire model can be used as a representation of the analog signal. Their work proved that the output of IFC, which codifies the variation of the integral of the signal, recovers the bandlimited analog signal with an error as small as required. One of the features of this approach versus Asynchronous Sigma Delta Modulation is that the achievable data rates are similar (or better) than the corresponding Nyquist samplers.
Fig. 1. Block diagram of the biphasic integrate and fire analog to pulse converter.
The IFC block diagram used in this paper is shown in Fig. 1. The analog input is integrated, and the result is compared against two thresholds. When either the positive or negative threshold 𝜃 is reached, a pulse is generated at time 𝑡 𝑘 with positive or negative polarity 𝑝 𝑘 respectively. Unlike the integrate and fire neuron model, two thresholds are used to reduce the pulse rate substantially [37]. Fundamentally, each pulse interval satisfies the condition 𝜃 = ∫ 𝑥(𝑡)𝑒 −𝛼(𝑡 𝑘+1 −𝑡) 𝑑𝑡 𝑡 𝑘+1 𝑡 𝑘 (1) where 𝛼 is the rate of decay of the integrator, and is the threshold of the IFC. The pulse timings, the threshold and the rate of decay completely define the IFC pulse train output. The IFC pulse train representation is rather different from discrete time representations. Pulses occur asynchronously in time, controlled by the amplitude of the analog signal, and the values of 𝜃 and 𝛼 . For this reason, the density of pulses is not a constant, with more pulses occurring in the large amplitude region of the analog signal, and fewer pulses appearing in the low amplitude portions of the analog signal. This creates a fundamental constraint for reconstruction and processing of pulse trains. Feichtinger et al. [15] studied the reconstruction of the analog signal from the pulses using frame theory and showed that it is possible to approximately reconstruct a bandlimited signal in L ∞ norm with an error proportional to the threshold 𝜃 . In [35] a simpler procedure employing finite bandlimited spaces is presented based on least squares using splines or Fourier bases such that 𝑥̂(𝑡) = ∑ 𝑎 𝑘 𝜙 𝑘 (𝑡) 𝑀𝑘=1 , where 𝑎 𝑘 is given by the linear regression 𝜃⃗ = 𝑆𝑎⃗ , S is obtained by integrating the basis set over the reconstruction interval, and ‖𝑥(𝑡) − 𝑥̂(𝑡)‖ ∞ ≤ 𝐶𝜃 where 𝐶 is a constant solely dependent on the window of analysis and the choice of the bases functions. While it is possible to decrease the threshold 𝜃 to an arbitrarily small value, which reduces the reconstruction error, the pulse densities become well beyond what Nyquist rate requires. However, the present work focusses on applications where representation of semantic information content is important and the goal is not necessarily signal reconstruction but classification or interpretation of signal features in the pulse train. We explain next a theoretical framework for performing basic signal processing operations such as arithmetic and convolution directly on pulse trains. Moreover, algorithms to implement these operators are also proposed, where the processing of information is online and entirely in the time domain as the inputs and output of the system are pulse trains. III. T HEORY OF P ULSE S IGNAL P ROCESSING FOR
IFC IFC maps a continuous time, continuous amplitude signal into the structure of train of pulses in analog time such that the distance between any consecutive pulses 𝑡 𝑘 and 𝑡 𝑘+1 is fundamentally constrained by the threshold 𝜃 , which controls the density of pulses; therefore, any arithmetic operation on pulse trains (addition or multiplication of pulses) also must be constrained by 𝜃 . From eqn. , it is observed that 𝜃 is equal to the leaky area under 𝑥(𝑡) between 𝑡 𝑘 and 𝑡 𝑘+1 where the rate of decay is given by 𝛼 . Hence, any operation on pulse trains corresponds to equivalent operations on underlying areas. Intuitively, this is straightforward to determine from eqn. , which is rewritten as 𝑥(𝑡) = 𝜃 𝑡 𝑘+1 −𝑡 𝑘 by assuming the rate of decay to be zero and 𝑥(𝑡) to be constant between 𝑡 𝑘 and 𝑡 𝑘+1 . Hence, online addition of continuous time signals, 𝑓(𝑡) =𝑐(𝑡) + ℎ(𝑡) is expressed as 𝑡 𝑓 𝑛+1 − 𝑡 𝑓 𝑛 = (𝑡 𝑐𝑛+1 −𝑡 𝑐𝑛 )(𝑡 ℎ𝑛+1 −𝑡 ℎ𝑛 )(𝑡 𝑐𝑛+1 −𝑡 𝑐𝑛 )+(𝑡 ℎ𝑛+1 −𝑡 ℎ𝑛 ) , where 𝑡 𝑓 𝑘 , 𝑡 𝑐 𝑘 , and 𝑡 ℎ 𝑘 are the 𝑘 𝑡ℎ pulse of 𝑓(𝑡) , 𝑐(𝑡) , and ℎ(𝑡) respectively. This shows that mathematical operations on areas under the curve, which is related to amplitude of analog signal, are equivalent to operations on continuous time differences in consecutive pulses; alternatively, arithmetic operations in pulse time differences when constrained by 𝜃 correspond to equivalent operations on areas under the curve of analog signals. Therefore, 𝐴 (𝑡 𝑗 , 𝑡 𝑗+1 ) 𝜙 𝐴 (𝑡 𝑗 , 𝑡 𝑗+1 ) = 𝜃 , where 𝜙 represents the operator (+ or *) on pulse trains, 𝑡 𝑗 is the resulting pulses due to the operation, 𝐴 𝑖 (𝑡 𝑗 , 𝑡 𝑗+1 ) is the underlying area of the 𝑖 𝑡ℎ pulse train (𝑖 = 1, 2) during (𝑡 𝑗 , 𝑡 𝑗+1 ) ; Based on this intuition, theoretical framework is proposed to perform arithmetic and convolution using IFC pulse trains. An overlapping time interval in the operands (𝑡 𝑎 , 𝑡 𝑏 ) is used within the pulse intervals for deriving the theorems and generalizing the results. The choice of values for 𝑡 𝑎 and 𝑡 𝑏 are discussed in the next section. The framework solves the equation 𝐴 (𝑡 𝑎 , 𝑡 𝑏 )𝜙 𝐴 (𝑡 𝑎 , 𝑡 𝑏 ) =µ𝜃 for µ and 𝑡 𝑗 , where µ is the area in terms of 𝜃 resulting from the operation and the pulse timing 𝑡 𝑗 occurs when µ = 1 . To solve deterministically the above equation, it is assumed that the input signal is constant between 𝑡 𝑘 and 𝑡 𝑘+1 . This simple signal model is shown to be sufficient in preserving the semantic information in the signal and suitable for many IoT applications that do not require accurate signal reconstruction. For completeness, the corresponding error bounds due to this assumption are presented. In this section, theoretical framework is derived for calculating an instance of 𝑡 𝑗 with no carryovers, and we propose algorithms for updating area recursively with carryovers in section IV. Observation 1: If 𝜃 = ∫ 𝑥(𝑡)𝑒 −𝛼(𝑡 𝑘+1 −𝑡) 𝑑𝑡 𝑡 𝑘+1 𝑡 𝑘 and 𝑥(𝑡) is constant between 𝑡 𝑘 and 𝑡 𝑘+1 , then 𝜉𝜃 =∫ 𝑥(𝑡)𝑒 −𝛼(𝑡 𝑘+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 , where 𝜉 = 𝑔(𝑡 𝑘+1 −𝑡 𝑎 )−𝑔(𝑡 𝑘+1 −𝑡 𝑏 )𝑔(𝑡 𝑘+1 −𝑡 𝑘 ) , 𝑡 𝑘 ≤𝑡 𝑎 < 𝑡 𝑏 ≤ 𝑡 𝑘+1 , and 𝑔(𝑡) = 1 − 𝑒 −𝛼𝑡 . This observation is critical in the derivation of theorems for arithmetic as it enables generalization of the results in any interval (𝑡 𝑎 , 𝑡 𝑏 ) between two consecutive pulses. From the mean value theorem [38], it can be shown that the error 𝛿 𝑥 due to the assumption of 𝑥(𝑡) being a constant 𝑐 𝑥 between 𝑡 𝑘 and 𝑡 𝑘+1 is bounded by min 𝑧∈[𝑡𝑎,𝑡𝑏] |𝑥(𝑧)−𝑐 𝑥 |𝑒 𝛼(𝑡𝑘𝑛+1−𝑡𝑎) ≤ |𝛿 𝑥 |(𝑡 𝑏 −𝑡 𝑎 ) ≤ max 𝑧∈[𝑡𝑎,𝑡𝑏] |𝑥(𝑧)−𝑐 𝑥 |𝑒 𝛼(𝑡𝑘𝑛+1−𝑡𝑏) . Hence, the error depends on the length of the interval (𝑡 𝑏 − 𝑡 𝑎 ) and the deviation of 𝑥(𝑡) from 𝑐 𝑥 in [𝑡 𝑎 , 𝑡 𝑏 ]. A. Theorem 1: Online addition of pulse trains
Consider two continuous time, continuous amplitude signals 𝑥(𝑡) and 𝑦(𝑡) corresponding to augend and addend pulse trains respectively. Suppose the augend pulses occur at 𝑡 𝑥 𝑗 with polarity 𝑝 𝑥 𝑗 , addend pulses occur at 𝑡 𝑦 𝑗 with polarity 𝑝 𝑦 𝑗 , and the new pulses due to their sum occur at 𝑡 𝑠 𝑗 with polarity 𝑝 𝑠 𝑗 such that 𝑡 𝑥 𝑛 , 𝑡 𝑦 𝑛 ≤ 𝑡 𝑎 < 𝑡 𝑏 ≤ 𝑡 𝑥 𝑛+1 , 𝑡 𝑦 𝑛+1 , then it is shown that 𝑡 𝑠 𝑛+1 = −1𝛼 ln{1 − 𝐾𝑆} + 𝑡 𝑠 𝑛 and 𝑝 𝑠 𝑛+1 = 𝑠𝑔𝑛(𝜂) assuming (𝑡) and 𝑦(𝑡) to be constant between consecutive pulses, where 𝑠𝑔𝑛(𝑥) is the signum function, 𝐾 = 𝑠𝑔𝑛(𝜂)𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 , 𝑆 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑝 𝑥𝑛+1 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )+𝑝 𝑥𝑛+1 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) , 𝜂 = 𝑝 𝑥𝑛+1 [ 𝑔 ( 𝑡 𝑥𝑛+1 −𝑡 𝑎 ) −𝑔 ( 𝑡 𝑥𝑛+1 −𝑡 𝑏 )] 𝑔 ( 𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) + 𝑝 𝑦𝑛+1 [ 𝑔 ( 𝑡 𝑦𝑛+1 −𝑡 𝑎 ) −𝑔 ( 𝑡 𝑦𝑛+1 −𝑡 𝑏 )] 𝑔 ( 𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) . Proof:
Addition of pulse trains corresponds to the sum of the underlying areas. Based on the proposed framework, the addition operation on pulse trains is performed by solving eqn. 2 for µ and 𝑡 𝑠 𝑛+1 . Assuming 𝑥(𝑡) and 𝑦(𝑡) to be constant between consecutive pulses, we have ∫ 𝑥𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 + ∫ 𝑦𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 = µ ∫ [𝑥+𝑦]𝑒 −𝛼(𝑡 𝑠𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑠𝑛+1 𝑡 𝑠𝑛 (2) Using Observation 1, eqn. 2 is written as 𝑝 𝑥 𝑛+1 𝑢𝜃 +𝑝 𝑦 𝑛+1 𝑑𝜃 = 𝜂𝜃 , where 𝑢 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) , 𝑑 = 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) , µ = |𝜂| , and 𝑝 𝑠 𝑛+1 = 𝑠𝑔𝑛(𝜂) . Moreover, y is expressed in terms of x as 𝑦 = 𝑝 𝑥𝑛+1 𝑥𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑝 𝑦𝑛+1 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) since 𝑝 𝑥 𝑛+1 ∫ 𝑥𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑥𝑛+1 𝑡 𝑥𝑛 = 𝑝 𝑦 𝑛+1 ∫ 𝑦𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑦𝑛+1 𝑡 𝑦𝑛 . By substituting 𝑦 and µ in eqn. , we obtain 𝑔(𝑡 𝑠 𝑛+1 − 𝑡 𝑠 𝑛 ) == 𝐾𝑔(𝑡 𝑥 𝑛+1 − 𝑡 𝑥 𝑛 )𝑔(𝑡 𝑦 𝑛+1 − 𝑡 𝑦 𝑛 )𝑝 𝑥 𝑛+1 𝑔(𝑡 𝑥 𝑛+1 − 𝑡 𝑥 𝑛 ) + 𝑝 𝑦 𝑛+1 𝑔(𝑡 𝑦 𝑛+1 − 𝑡 𝑦 𝑛 ) (3) where 𝐾 = 𝑠𝑔𝑛(𝜂)𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 , 𝐾 ∈ (1, −1) . Thus, from eqn. , the polarity and timing of the sum of the pulse trains is given by 𝑝 𝑠 𝑛+1 = 𝑠𝑔𝑛(𝜂) and 𝑡 𝑠 𝑛+1 − 𝑡 𝑠 𝑛 = −1𝛼 ln {1 − 𝐾𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑝 𝑥𝑛+1 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )+𝑝 𝑥𝑛+1 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) } respectively. The error 𝛿 𝑥+𝑦 resulting from the addition of two pulse trains, with the assumption of 𝑥(𝑡) = 𝑐 𝑥 between consecutive pulses, is given by the quadrature formula [39], 𝛿 𝑥+𝑦 = {(𝛿 𝑥 ) +( 𝛿 𝑦 ) } and bounded by min 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + min 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑦(𝑧)−𝑐 𝑦 ) 𝑒 ≤ 𝛿 𝑥+𝑦2 (𝑡 𝑏 −𝑡 𝑎 ) ≤ max 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + max 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑦(𝑧)−𝑐 𝑦 ) 𝑒 . B. Theorem 2: Online multiplication of pulse trains
Consider two continuous time, continuous amplitude signals 𝑥(𝑡) and 𝑦(𝑡) corresponding to multiplicand and multiplier pulse trains respectively and let 𝑟(𝑡) = 1 correspond to the identity (reference) pulse train. Suppose the multiplicand pulses occur at 𝑡 𝑥 𝑗 with polarity 𝑝 𝑥 𝑗 , multiplier pulses occur at 𝑡 𝑦 𝑗 with polarity 𝑝 𝑦 𝑗 , reference pulses occur at 𝑡 𝑟 𝑗 and the product of the two pulse trains occur at 𝑡 𝑝 𝑗 with polarity 𝑝 𝑝 𝑗 such that 𝑡 𝑥 𝑛 , 𝑡 𝑦 𝑛 ≤ 𝑡 𝑎 < 𝑡 𝑏 ≤ 𝑡 𝑥 𝑛+1 , 𝑡 𝑦 𝑛+1 then it is shown that 𝑡 𝑝 𝑛+1 = −1𝛼 ln{1 − 𝑃} + 𝑡 𝑝 𝑛 and 𝑝 𝑝 𝑛+1 = 𝑠𝑔𝑛(𝜂) assuming 𝑥(𝑡) and 𝑦(𝑡) to be constant between consecutive pulses, where 𝑃 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) , and 𝜂 = [ 𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑏 ) ] . [ 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) ] . [ 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ] . Proof.
Multiplication of pulse trains requires normalization by the identity pulse train, which is a periodic pulse train corresponding to 𝑟(𝑡) = 1 . Hence, by assuming 𝑥(𝑡) and 𝑦(𝑡) to be constant between consecutive pulses, we have ∫ 𝑥𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 ∫ 𝑦𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 ∫ 𝑒 −𝛼(𝑡 𝑟𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 = µ ∫ [𝑥𝑦]𝑒 −𝛼(𝑡 𝑝𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑝𝑛+1 𝑡 𝑝𝑛 (4) Using Observation 1, eqn. 4 is written as (𝑝 𝑥𝑛+1 𝑢𝜃)(𝑝 𝑦𝑛+1 𝑑𝜃)𝑝 𝑟𝑛+1 𝑟𝜃 = 𝜂𝜃 , where 𝑢 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) , 𝑑 = 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) , 𝑟 = 𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) , µ =|𝜂| and 𝑝 𝑝 𝑛+1 = 𝑠𝑔𝑛(𝜂) . Substituting µ in eqn. 4, we obtain 𝑔(𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 ) = 𝑔(𝑡 𝑥 𝑛+1 − 𝑡 𝑥 𝑛 )𝑔(𝑡 𝑦 𝑛+1 − 𝑡 𝑦 𝑛 )𝑔(𝑡 𝑟 𝑛+1 − 𝑡 𝑟 𝑛 ) (5) Thus, from eqn. , the polarity and timing of the product of the pulse trains is given by 𝑝 𝑝 𝑛+1 = 𝑠𝑔𝑛(𝜂) and 𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 = −1𝛼 ln {1 − 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) } respectively. The error 𝛿 𝑥𝑦 due to the product of two pulse trains, with the assumption of 𝑥(𝑡) = 𝑐 𝑥 between consecutive pulses, is given by the formula [39], 𝛿 𝑥𝑦 = | 𝐾 𝐾 𝜃𝐾 | [( 𝛿 𝑥 𝐾 𝜃 ) + ( 𝛿 𝑦 𝐾 𝜃 ) ] where ∫ 𝑥(𝑡)𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝑡) 𝑑𝑡 = 𝑡 𝑏 𝑡 𝑎 𝐾 𝜃 , ∫ 𝑦(𝑡)𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡) 𝑑𝑡 = 𝑡 𝑏 𝑡 𝑎 𝐾 𝜃 , ∫ 𝑒 −𝛼(𝑡 𝑟𝑛+1 −𝑡) 𝑑𝑡 = 𝑡 𝑏 𝑡 𝑎 𝐾 𝜃 , and bounded by 𝐾 min 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + 𝐾 min 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑦(𝑧)−𝑐 𝑦 ) 𝑒 ≤ ( 𝐾 𝑡 𝑏 −𝑡 𝑎 ) 𝛿 𝑥𝑦2 ≤ 𝐾 max 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + 𝐾 max 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑦(𝑧)−𝑐 𝑦 ) 𝑒 . C. Theorem 3: Online convolution of pulse trains
Consider two continuous time, continuous amplitude signals 𝑥(𝑡) and 𝑦(𝑡) corresponding to pulse train X and pulse train Y respectively and let 𝑟(𝑡) = 1 correspond to the identity (reference) pulse train. Suppose the pulses of X occur at 𝑡 𝑥 𝑗 with polarity 𝑝 𝑥 𝑗 , pulses of Y occur at 𝑡 𝑦 𝑗 with polarity 𝑝 𝑑 𝑗 , reference pulses occur at 𝑡 𝑟 𝑗 and the convolution of the two pulse trains occur at 𝑡 𝑐 𝑗 with polarity 𝑝 𝑐 𝑗 such that 𝑡 𝑥 𝑛 , 𝑡 𝑦 𝑛 ≤ 𝑡 𝑎 < 𝑡 𝑏 ≤𝑡 𝑥 𝑛+1 , 𝑡 𝑦 𝑛+1 then it is shown that 𝑡 𝑐 𝑛+1 = −1𝛼 ln{1 − 𝑃} + 𝑡 𝑐 𝑛 and 𝑐 𝑛+1 = 𝑠𝑔𝑛(𝜂) assuming 𝑥(𝑡) and 𝑦(𝑡) to be constant between consecutive pulses, where 𝑃 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )(𝑇 −𝑇 ) , 𝑇 = 𝑇 − 𝑇 is the period of intersection of the two pulse trains, 𝜂 = −1𝛼 [ 𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑏 ) ] . [ 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) ] . [ 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 +𝜆 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 +𝜆 )+𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ] , and 𝜆 = 𝜆 − 𝜆 is the time offset (shift). Proof.
Convolution of pulse trains requires convolution of underlying areas and hence, we have ∫ 𝑥𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝑡) 𝑑𝑡 ⊗ 𝑡 𝑏 𝑡 𝑎 ∫ 𝑦𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 ∫ 𝑒 −𝛼(𝑡 𝑟𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑏 𝑡 𝑎 = µ ∫ [𝑥 ⊗ 𝑦]𝑒 −𝛼(𝑡 𝑐𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑐𝑛+1 𝑡 𝑐𝑛 (6) Eqn. is expressed as follows: ∫ 𝑒 −𝛼(𝑡 𝑥𝑛+1 −𝜏) 𝑑𝜏 𝑡 𝑏 𝑡 𝑎 ∫ 𝑒 −𝛼(𝑡 𝑟𝑛+1 −𝜏) 𝑑𝜏 𝑡 𝑏 𝑡 𝑎 [1𝛼 ∫ (𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆)𝜆 𝜆=𝜆 − 𝑒 −𝛼(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆) ) 𝑑𝜆]= µ ∫ [∫ 𝑑𝛽 𝑇 𝛽=𝑇 ] 𝑒 −𝛼(𝑡 𝑐𝑛+1 −𝑡) 𝑑𝑡 𝑡 𝑐𝑛+1 𝑡 𝑐𝑛 (7) Using Observation 1, the above equation is written as (𝑝 𝑥𝑛+1 𝑢𝜃)(𝑝 𝑦𝑛+1 𝑑𝜃)𝛼𝑝 𝑟𝑛+1 𝑟𝜃 = 𝜂𝜃 , where 𝑢 = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) , 𝑟 = 𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) , µ = |𝜂| , 𝑝 𝑐 𝑛+1 = 𝑠𝑔𝑛(𝜂) , 𝑑 = 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 +𝜆 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 +𝜆 )+𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 +𝜆 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) . By substituting µ in eqn. 7, we obtain 𝑔(𝑡 𝑐 𝑛+1 − 𝑡 𝑐 𝑛 ) = 𝑔(𝑡 𝑥 𝑛+1 − 𝑡 𝑥 𝑛 )𝑔(𝑡 𝑦 𝑛+1 − 𝑡 𝑦 𝑛 )(𝑇 − 𝑇 )𝑔(𝑡 𝑟 𝑛+1 − 𝑡 𝑟 𝑛 ) (8) Thus, from eqn. , the polarity and timing of the product of the pulse trains is given by 𝑝 𝑐 𝑛+1 = 𝑠𝑔𝑛(𝜂) and 𝑡 𝑐 𝑛+1 − 𝑡 𝑐 𝑛 = −1𝛼 ln {1 − 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )(𝑇 −𝑇 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) } respectively. The error 𝛿 𝑥⊗𝑦 due to the convolution of two pulse trains is bounded by 𝐾 min 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + 𝐾 min 𝑧 ′ ∈[ 𝜆1−𝑡𝑏 ,𝜆2− 𝑡𝑎] (𝑦(𝑧 ′ )−𝑐 𝑦 ) 𝑒 ≤ ( 𝐾 (𝑡 𝑏 −𝑡 𝑎 )(𝜆 −𝜆 ) ) 𝛿 𝑥⊗𝑦2 ≤ 𝐾 max 𝑧∈[𝑡𝑎,𝑡𝑏] (𝑥(𝑧)−𝑐 𝑥 ) 𝑒 + 𝐾 max 𝑧 ′ ∈[ 𝜆1− 𝑡𝑏,𝜆2− 𝑡𝑎 ] (𝑦(𝑧 ′ )−𝑐 𝑦 ) 𝑒 . This framework computes one instance of output pulse 𝑡 𝑗 due to an operation. In the next section, online algorithms for pulse trains extend the theoretical framework, where the focus is on selecting 𝑡 𝑎 and 𝑡 𝑏 , and on the recursive computation of areas. IV. A LGORITHMS FOR P ULSE T RAIN A RITHMETIC A. Pulse arithmetic algorithm
In Table I, the algorithm for computing arithmetic of two pulse trains is presented. The time interval (𝑡 𝑎 , 𝑡 𝑏 ) may be selected to shift forward in fixed or variable windows within a pulse interval. Sliding 𝑡 𝑎 and 𝑡 𝑏 in fixed intervals requires prior knowledge of the minimum value of the inter-pulse interval to ensure the observation window lies within (𝑡 𝑘 , 𝑡 𝑘+1 ) as per Observation 1. In this paper, to ensure online implementation, variable windows are used where the interval shifts forward at the arrival of every new pulse in the operands. For instance, let pulse train X have pulses at {1s, 3s} and pulse train Y have pulses at {2s, 3s}, then the overlapping time interval (𝑡 𝑎 , 𝑡 𝑏 ) is selected in the following order for calculation of areas: (0, 1s), (1s, 2s), and (2s, 3s). TABLE
I A
LGORITHM F OR P ULSE T RAIN A RITHMETIC Select computation time points: 𝑡 𝑎 , 𝑡 𝑏 Obtain pulse intervals corresponding to computation time points: 𝑡 𝑥 𝑛+1 , 𝑡 𝑥 𝑛 , 𝑡 𝑦 𝑛+1 , 𝑡 𝑦 𝑛 Calculate 𝜂 . {𝐴𝑑𝑑𝑖𝑡𝑖𝑜𝑛: 𝜂 = 𝑝 𝑥𝑛+1 [𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )]𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) + 𝑝 𝑦𝑛+1 [𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 )]𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) } ; { 𝑀𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛: 𝜂 = [ 𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑏 ) ] .[ 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 ) ] .[ 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑎 )−𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑏 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ] . } . 4. Compute output pulse timing and polarity: 𝑡 𝑘 , 𝑝 𝑘 Calculate 𝑔(𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 ) . {𝐴𝑑𝑑𝑖𝑡𝑖𝑜𝑛: 𝑔(𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 ) = 𝐾𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑝 𝑥𝑛+1 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )+𝑝 𝑦𝑛+1 𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) } ; {𝑀𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛: 𝑔(𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 ) = 𝑔(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )𝑔(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) } . while |𝜂 + 𝜂 𝑒𝑥 | ≥ 1 𝑡 𝑘 = −1𝛼 ln{1 − 𝑔(𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 )|𝑠𝑔𝑛(𝜂) − 𝜂 𝑒𝑥 |} + 𝑡 𝑘−1 + 𝑡 𝑒𝑥 𝑝 𝑘 = 𝑠𝑔𝑛(𝜂) Update : 𝑡 𝑎 = 𝑡 𝑘 Calculate 𝜂 𝜂 𝑒𝑥 , 𝑡 𝑒𝑥 → 0, 𝑘 → 𝑘 + 1 end 𝜂 𝑒𝑥 → 𝜂 + 𝜂 𝑒𝑥 𝑡 𝑒𝑥 → 𝑡 𝑏 − 𝑡 𝑘 To recursively update the area, carryovers in both timing and area namely excess time ( 𝑡 𝑒𝑥 ) and excess area ( 𝜂 𝑒𝑥 ) are introduced. To perform arithmetic and convolution, excess time and excess area are included in the calculation of total area and new pulse timing at every computation as shown in Table I. The carryovers ensure the output pulse timings always fall within the current observation window (𝑡 𝑎 , 𝑡 𝑏 ) . Thus the process involves selection of observation window and its associated pulse intervals, and calculation of the total area η + η 𝑒𝑥 as per Table I . When the total area exceeds +1 or -1, the pulse occurs at that time instant 𝑡 𝑘 with corresponding polarity 𝑝 𝑘 . . Approximations
As the values of inter-pulse intervals are inversely proportional to signal amplitude with high inter-pulse intervals corresponding to noise floor, 𝑔(𝑚) is approximated by 𝛼𝑚 without degrading performance. Then, the arithmetic equations in Table I for 𝜂 and 𝑡 𝑘 is simplified as shown in Table II. Unlike Table I, the simplified equations for 𝜂 and 𝑡 𝑘 rely directly on the inter-pulse intervals; therefore, the real-time hardware implementation of pulse-based systems is straightforward. TABLE
II S
IMPLIFIED A LGORITHM F OR P ULSE T RAIN A RITHMETIC Select computation time points: 𝑡 𝑎 , 𝑡 𝑏 Obtain pulse intervals corresponding to computation time points: 𝑡 𝑥 𝑛+1 , 𝑡 𝑥 𝑛 , 𝑡 𝑦 𝑛+1 , 𝑡 𝑦 𝑛 Calculate 𝜂 . {𝐴𝑑𝑑𝑖𝑡𝑖𝑜𝑛: 𝜂 = 𝑝 𝑥𝑛+1 (𝑡 𝑏 −𝑡 𝑎 )𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 + 𝑝 𝑦𝑛+1 (𝑡 𝑏 −𝑡 𝑎 )𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 } ; {𝑀𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎𝑡𝑖𝑜𝑛: 𝜂 = [ 𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 (𝑡 𝑏 −𝑡 𝑎 )(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ]} Compute output pulse timing and polarity: 𝑡 𝑘 , 𝑝 𝑘 Calculate 𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 = 𝑡 𝑏 −𝑡 𝑎 |𝜂| . while |𝜂 + 𝜂 𝑒𝑥 | ≥ 1 𝑡 𝑘 = (𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 )|𝑠𝑔𝑛(𝜂) − 𝜂 𝑒𝑥 | + 𝑡 𝑘−1 + 𝑡 𝑒𝑥 𝑝 𝑘 = 𝑠𝑔𝑛(𝜂) Update : 𝜂 → 𝜂 − (𝑠𝑔𝑛(𝜂) − 𝜂 𝑒𝑥 ) 𝜂 𝑒𝑥 , 𝑡 𝑒𝑥 → 0, 𝑘 → 𝑘 + 1 end 𝜂 𝑒𝑥 → 𝜂 + 𝜂 𝑒𝑥 𝑡 𝑒𝑥 → 𝑡 𝑏 − 𝑡 𝑘 C. Pulse convolution algorithm
The algorithm for computing the convolution of two pulse trains X and Y is presented in Table III. The pulse timings of Y are reversed and shifted by 𝜆 , which is given by the minimum distance required for pulses of Y to reach one of the pulses of X upon shifting. Overlap between the two pulse trains after shifting is computed. Unlike pulse arithmetic, there is a vector of computation time points 𝑡 𝑎 𝑖 , 𝑡 𝑏 𝑖 and an associated vector of pulse intervals corresponding to all pulses in the region of overlap. Each element of these vectors results in an area 𝜂 𝑖 and the total area resulting during a shift operation is given by the sum of 𝜂 𝑖 ’s. When the total area exceeds +1 or -1, the component of η at which this occurs determines the timing 𝑡 𝑘 and polarity 𝑝 𝑘 of the pulse resulting from the convolution of pulse trains. Similar to Table II, the equations for convolution can be approximated by 𝜂 = [ 𝑝 𝑥𝑛+1 𝑝 𝑦𝑛+1 (𝑡 𝑏 −𝑡 𝑎 )(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 )( 𝜆 −𝜆 )(𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ] and 𝑡 𝑝 𝑛+1 − 𝑡 𝑝 𝑛 = (𝑡 𝑥𝑛+1 −𝑡 𝑥𝑛 )(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 )(𝑇 −𝑇 )(𝑡 𝑟𝑛+1 −𝑡 𝑟𝑛 ) . V. P ERFORMANCE V ALIDATION A. Performance measures
Measures based on inter pulse intervals: The quality of performance is evaluated in terms of measures of accuracy between instantaneous amplitude values 𝑧̂ and 𝑧 calculated from the inter pulse intervals of the algorithmic pulse train output 𝑍̂ and desired pulse train output 𝑍 respectively. The instantaneous amplitude 𝑧̂ of a pulse train with consecutive pulses 𝑡 𝑘 and 𝑡 𝑘+1 is given by 𝑧̂ = 𝜃 𝑡 𝑘+1 −𝑡 𝑘 and 𝑧̂ = 𝜃𝛼1−𝑒 −𝛼(𝑡𝑘+1−𝑡𝑘) for IFC with zero and non-zero rate of decay respectively. Peak signal to noise ratio ( 𝑃𝑆𝑁𝑅 ) and correlation coefficient ( 𝑟 ) are the measures used to quantify the accuracy between instantaneous amplitude values of the algorithmic and desired outputs, where 𝑃𝑆𝑁𝑅 = −10𝑙𝑜𝑔 ( ∑ (𝑧̂ 𝑖 −𝑧 𝑖 ) 𝑁(𝑧̂ 𝑚𝑎𝑥 −𝑧̂ 𝑚𝑖𝑛 ) ) , 𝑟 = ∑ (𝑧̂ 𝑖 −𝑚 𝑧̂ )(𝑧 𝑖 −𝑚 𝑧 ) 𝑁𝑖=1 √∑ (𝑧̂ 𝑖 −𝑚 𝑧̂ ) 𝑁𝑖=1 2 √∑ (𝑧 𝑖 −𝑚 𝑧 ) 𝑁𝑖=1 2 , and 𝑚 𝑧̂ and 𝑚 𝑧 are the sample mean of 𝑧̂ and 𝑧 respectively. TABLE
III A
LGORITHM F OR P ULSE T RAIN C ONVOLUTION Choose time offset 𝜆 = 𝜆 − 𝜆 . 2. Shift the pulse timings of the reversed pulse train by 𝜆 . 3. Find the overlap
𝑇 = 𝑇 − 𝑇 between the pulse trains after shifting. 4. Select computation time points 𝑡 𝑎 𝑖 , 𝑡 𝑏 𝑖 for all pulses in the region of intersection. 5. Obtain pulse intervals corresponding to all computation time points in the region of intersection: 𝑡 𝑥 𝑛+1𝑖 , 𝑡 𝑥 𝑛𝑖 , 𝑡 𝑦 𝑛+1𝑖 , 𝑡 𝑦 𝑛𝑖 Calculate 𝜂 𝑖 for all computation time points 𝑡 𝑎 𝑖 , 𝑡 𝑏 𝑖 { 𝐶𝑜𝑛𝑣𝑜𝑙𝑢𝑡𝑖𝑜𝑛: 𝜂 𝑖 = −1𝛼 [ 𝑝 𝑥𝑛+1𝑖 𝑝 𝑦𝑛+1𝑖 𝑔(𝑡 𝑟𝑛+1𝑖 −𝑡 𝑟𝑛𝑖 )𝑔(𝑡 𝑟𝑛+1𝑖 −𝑡 𝑎𝑖 )−𝑔(𝑡 𝑟𝑛+1𝑖 −𝑡 𝑏𝑖 ) ] .[ 𝑔(𝑡 𝑥𝑛+1𝑖 −𝑡 𝑎𝑖 )−𝑔(𝑡 𝑥𝑛+1𝑖 −𝑡 𝑏𝑖 )𝑔(𝑡 𝑥𝑛+1𝑖 −𝑡 𝑥𝑛𝑖 ) ] .[ 𝑔(𝑡 𝑦𝑛+1𝑖 −𝑡 𝑎𝑖 +𝜆 )−𝑔(𝑡 𝑦𝑛+1𝑖 −𝑡 𝑏𝑖 +𝜆 )−𝑔(𝑡 𝑦𝑛+1𝑖 −𝑡 𝑎𝑖 +𝜆 )+𝑔(𝑡 𝑦𝑛+1𝑖 −𝑡 𝑏𝑖 +𝜆 )𝑔(𝑡 𝑦𝑛+1 −𝑡 𝑦𝑛 ) ]} Compute output pulse timing and polarity: 𝑡 𝑘 , 𝑝 𝑘 Calculate 𝑡 𝑐 𝑖 = −1𝛼 ln {1 − 𝑔(𝑡 𝑥𝑛+1𝑖 −𝑡 𝑥𝑛𝑖 )𝑔(𝑡 𝑦𝑛+1𝑖 −𝑡 𝑦𝑛𝑖 )(𝑇 −𝑇 )𝑔(𝑡 𝑟𝑛+1𝑖 −𝑡 𝑟𝑛𝑖 ) } for all computation time points. Calculate 𝜂 = 𝑠𝑢𝑚(𝜂 , 𝜂 , ⋯ , 𝜂 𝑛 ) while |𝜂 + 𝜂 𝑒𝑥 | ≥ 1 Find first 𝑗 at which |𝜂 𝑒𝑥 + 𝑠𝑢𝑚(𝜂 , 𝜂 , ⋯ , 𝜂 𝑗 )| ≥ 1 𝜎 = 𝑠𝑔𝑛(𝜂 𝑗 ) − 𝜂 𝑒𝑥 − 𝑠𝑢𝑚(𝜂 , 𝜂 , ⋯ , 𝜂 𝑗−1 ) 𝑡 𝑘 = {|𝜂 𝑡 𝑐 | + ⋯ + |𝜂 𝑗−1 𝑡 𝑐 𝑗−1 | + |𝜎𝑡 𝑐 |} + 𝑡 𝑘−1 + 𝑡 𝑒𝑥 𝑝 𝑘 = 𝑠𝑔𝑛(𝜎) Update : 𝜂 𝑗 → 𝜂 𝑗 − 𝜎 𝜂 , 𝜂 , ⋯ , 𝜂 𝑗−1 → 0 𝜂 = 𝑠𝑢𝑚(𝜂 𝑗 , 𝜂 𝑗+1 , ⋯ , 𝜂 𝑛 ) 𝜂 𝑒𝑥 , 𝑡 𝑒𝑥 → 0, 𝑘 → 𝑘 + 1 end 𝜂 𝑒𝑥 → 𝜂 + 𝜂 𝑒𝑥 𝑡 𝑒𝑥 → 𝜆 − 𝑡 𝑘 Region of analysis: As the pulse representation is dependent on the structure of the input, the analysis window is subdivided into four regions namely A, B, C, and D based on amplitude quartiles. Unlike conventional digital signal processing, pulse-based computation has relatively lower incidence of pulses near the noise floor (region A) and high pulse density in the other regions of interest. Hence it is necessary to quantify the performance in the individual regions and the overall performance is reported in terms of mean ± standard deviation of all regions. omparative studies: The focus of the paper is on processing the semantic information directly with pulse trains without signal reconstruction. However, to ensure completeness, the algorithmic pulse train output 𝑍̂ is reconstructed to get 𝑧 𝑟 ̂ (𝑛) , and compared with 𝑧 𝑟 (𝑛) obtained using digital arithmetic of 𝑥 𝑟 (𝑛) and 𝑦 𝑟 (𝑛) , which are reconstructed from input pulse trains 𝑋 and 𝑌 respectively as per [15]. The performance is assessed by computing 𝑃𝑆𝑁𝑅 and 𝑟 between 𝑧 𝑟 ̂ (𝑛) and 𝑧 𝑟 (𝑛) . B. Data analysis
Synthetic data: Aperiodic pulse trains 𝑋 and 𝑌 generated from 1V, 1Hz sinusoidal signals 𝑥(𝑡) and 𝑦(𝑡) respectively are selected to demonstrate the performance of the algorithm. Performance of the algorithm is quantified for variations in the IFC parameters. Two-sample t-test at 5% significance level is used to study the significant differences in the mean PSNR and pulse rate of the algorithms with and without approximations. Comparative studies are performed using the synthetic data in terms of the aforementioned performance measures. Real data: An application of subtraction of baseline wander from ECG signal is used to demonstrate the feasibility of the proposed pulse-based algorithm for semantic information processing in continuous patient monitoring systems. Input ECG pulse train X is obtained by corrupting an ECG signal of 30-minute duration from MIT-BIH database [40] (dataset 100) with 300µV, 0.2Hz sinusoidal baseline wander, and converting to pulses with the IFC parameters chosen as in [13]. Pulse subtraction of pulse train Y corresponding to sinusoidal baseline wander from pulse train X is used to illustrate the semantic information processing and representation of relevant features of interest in ECG. Fig. 2. Illustration of outputs of proposed algorithms. Convolution is shown for pulse trains X and Y of durations 10s and 2s respectively.
VI. R ESULTS A. Algorithmic performance in regions of analysis
The algorithmic outputs of synthetic data for pulse train addition, multiplication, and convolution with 𝜃 = 0.01 and zero rate of decay is illustrated in Fig. 2. Performance analysis of pulse train addition shows PSNR, 𝑟 , and pulse rate of 32.58 ± 18.35 dB, 0.92 ± 0.14, and 31.0 ± 36.57 pulses per second (p/s) respectively. The performance of algorithms is dependent on the regions of activity as demonstrated in Table IV for pulse train addition where PSNR is greater than 40dB with 𝑟 = 1 at regions C and D, and less than 25dB with reduced pulse rate at regions A and B. TABLE
IV P
ERFORMANCE IN THE R EGIONS OF A NALYSIS
Region PSNR, dB r APR, p/s Region A 14.10 0.71 3.33 Region B 20.60 0.97 10.67 Region C 42.36 1.0 26 Region D 53.47 1.0 84
Likewise, pulse train multiplication has PSNR, 𝑟 , and pulse rate of 31.45 ± 13.7 dB, 0.95 ± 0.07, and 12.25 ± 12.75 p/s respectively, while pulse train convolution has PSNR, 𝑟 , and pulse rate of 29.61 ± 4.73 dB, 0.98 ± 0.03, and 12.38 ± 11.49 p/s respectively. These results demonstrate that the proposed algorithms effectively process regions with activity and limits performance near the noise floor. B. Effect of IFC parameters
The effect of IFC threshold on the performance is studied across the regions of analysis. While the PSNR at regions C and D decreases gradually as the IFC threshold increases, the PSNR near the noise floor is consistently less than 20dB. Moreover, as the IFC threshold increases, the mean pulse rate decreases exponentially. From Fig. 3, it is evident that proper selection of IFC threshold guarantees lower pulse rates without degrading performance.
Fig. 3. Effect of IFC threshold on performance. mPSNR and sPSNR denote the mean and standard deviation of PSNR respectively, and mPR denotes the mean of pulse rate.
The effect of IFC rate of decay and approximations to the algorithm is presented in Fig. 4. Comparison of performance of algorithm with and without approximation reveals PSNR at regions A and B to be similar in both cases while PSNR at regions C and D are significantly different (p<0.05) with the approximated algorithm having lower mean PSNR as shown in Fig. 4a. Moreover, the mean pulse rate of the algorithm with nd without approximation across variations in IFC rate of decay is significantly different (p<0.05) as shown in Fig. 4b, with approximated algorithm having lower pulse rate. While the approximated algorithm in Table II offers simpler implementation dependent only on pulse intervals and provides sparse representation at higher rates of decay, there is trade-off in PSNR at high amplitude regions when compared with the algorithm in Table I.
Fig. 4. Effect of IFC rate of decay and approximations on performance. The subscript ‘a’ in legend denotes the approximated algorithms. C. Comparison with digital processing
In Fig. 5, the performance curves for the comparison of the proposed algorithm with digital processing is presented. The performance is similar to Fig. 3, and PSNR is proportional to the signal amplitude for a given IFC threshold. It is to be noted that exact reconstruction for IFC is impossible and these results are obtained with the approximate method developed by Feichtinger et al. [15]. While processing of reconstructed signals from pulse trains is not the focus of the paper, substantially higher pulse rates than corresponding Nyquist rates is required for applications that necessitates high fidelity after signal reconstruction. The above behavior of the performance curves also holds true for pulse train multiplication and convolution.
Fig. 5. Comparison of proposed algorithm with digital processing after reconstruction of operand pulse trains. D. Semantic information processing in ECG
The processing and representation of relevant information in ECG signal using pulse trains is demonstrated in Fig. 6. The top panel of Fig. 6 shows the ECG signal with and without baseline wander. Ideally, in the absence of baseline noise, the cardiac events are selectively captured in the pulse representation of ECG signal and the isoelectric deviations with no activity are not represented [13]. However, during baseline deviations, pulses corresponding to cardiac events are obfuscated by higher pulse density due to shift in baseline as shown in the middle panel of Fig. 6.
Fig. 6. Semantic processing of ECG signal using pulse trains. 'BW' denotes baseline wander in the signal.
With the proposed algorithm, pulses are directly processed to subtract the baseline noise as shown in the bottom panel of Fig. 6 and boundaries of relevant features of interest such as P wave, QRS complex, and T wave are clearly delineated in the pulse representation. Moreover, the pulse rate of ECG signal is reduced from 61.25 ± 100.57 p/s to 15.3 ± 10.5 p/s after processing, with PSNR and 𝑟 of 20.12 ± 8.76 dB and 0.73 ± 0.32 respectively. Thus, processing signals using pulses highlights the relevant information content with sparse representation. II. D ISCUSSION
Representation and processing of semantic information in signals is critical for mobile wireless sensor networks and IoT applications [20]. Prior research has shown that the IFC pulse conversion enable sparse representation of features of interest in physiological signals such as ECG [12], [13], neural data [37], and photoplethysmogram [14]. This article presented algorithms for processing the pulse trains created by IFC directly without signal reconstruction, and demonstrated processing of the semantic information in ECG signal. Simulations with synthetic data show that pulse based signal processing has PSNR proportional to signal amplitude, with limited pulse representation near noise floor. Precision of the pulse based operations is not uniform over the dynamic range of the signal amplitude, which is desirable in long term monitoring applications to represent semantic information with high precision while suppressing background noise. In digital signal processing, to meet desired performance specifications, the number of samples to which the digital data must be interpolated is determined, and then the operations are performed sample-by-sample. However, in pulse signal processing, the threshold of IFC that satisfies the performance criteria is determined, and then the operations are done on the areas between consecutive pulses. Feichtinger et al. [15] showed that bandlimited functions are not completely determined by the IFC and the same results hold true for processing of multiple operands i.e., there are non-zero bandlimited signals that will never produce pulses at the output even though the input operands have pulses. The trade-offs in terms of accuracy for the IFC parameters is studied in [37] and operating ranges are selected based on specifications to provide the right balance between performance and sparseness. Hardware implementations of the proposed algorithms require digitization of the time axis. Moreover, implementing pulse signal processing in hardware requires new approaches as operations need to be performed on area between pulses that occur non-uniformly. Recently, Nallathambi et al. [41], implemented 16-bit pulse adder based on the approximated algorithms in Table II. Their system, synthesized in SMIC 0.18 µm (100MHz) CMOS process, consists of quantization clock and time counters as building blocks of pulse-based arithmetic. The preliminary results demonstrate the feasibility of signal processing with pulse trains in hardware. The alternative approach to the present work is to reconstruct signals from pulses, perform digital processing and convert the processed signals to pulses. In such scenarios, the accuracy of the operations will be limited by the approximate reconstruction procedure [15], and increasing the fidelity requires reduction of threshold substantially, thereby impacting the data rates. By processing the pulses directly with the proposed algorithm, we circumvent both the complexity of the signal reconstruction algorithm and the subsequent process of IFC conversion. With the proposed algorithms, the focus is on applications where reconstruction is not necessarily the goal but tasks such as classification and anomaly detection that require representation of semantic features in signal. In this article, an example of processing semantic information in ECG signals using pulse trains is presented. The mean pulse rate of the ECG is less than 20p/s, which is drastically lower than existing IoT-based cardiac patient monitors that require at least 125 samples per second [42]. In general, pulse trains are well suited for processing semantic information in transient signals such as ECG, EEG, seismological recordings, radar and others, which are embedded in noisy backgrounds. VIII. C ONCLUSION
The present work provides an alternative to conventional digital signal processing techniques for performing arithmetic operations on continuous amplitude and time signals using pulse trains generated from IFC. The proposed algorithms enable online implementation of the theoretical framework for pulse-based computation. The results with synthetic and natural data demonstrate the capability of the algorithms in processing semantic information content in the signals using pulse trains. R
EFERENCES [1] E. T. Whittaker, “On the functions which are represented by the expansion of the interpolation-theory,”
Proc. Edinburgh Math. Soc. , vol. 35, no. Sect. A, pp. 181–194, 1915. [2] C. E. Shannon, “Communication in the presence of noise,”
Proc. IRE , vol. 37, no. 2, pp. 10–21, 1998. [3] H. Nyquist, “Certain topics in telegraph transmission theory,”
Proc. IEEE , vol. 90, no. 2, pp. 280–305, 2002. [4] M. Unser, “Sampling-50 years after Shannon,”
Proc. IEEE , vol. 88, no. 4, pp. 569–587, Apr. 2000. [5] R. G. Baraniuk, “More Is Less : Signal Processing and the Data Deluge,”
Science (80-. ). , vol. 331, no. 6018, 2011. [6] E. J. Candès, J. Romberg, and T. Tao, “Robust uncertainty principles: Exact signal reconstruction from highly incomplete frequency information,”
IEEE Trans. Inf. Theory , vol. 52, no. 2, pp. 489–509, 2006. [7] M. Vetterli, P. Marziliano, and T. Blu, “Sampling signals with finite rate of innovation,”
IEEE Trans. Signal Process. , vol. 50, no. 6, pp. 1417–1428, Jun. 2002. [8] A. A. Lazar and L. T. Toth, “Perfect Recovery and Sensitivity Analysis of Time Encoded Bandlimited Signals,”
IEEE Trans. Circuits Syst. Regul. Pap. , vol. 51, no. 10, pp. 2060–2073, 2004. [9] A. A. Lazar, “Time Encoding with an Integrate-and-Fire Neuron with a Refractory Period,”
Neurocomputing , vol. 58–60, pp. 53–58, 2004. [10] M. Rastogi, A. Singh Alvarado, J. G. Harris, and J. C. Principe, “Integrate and fire circuit as an ADC replacement,” in , 2011, no. 1, pp. 2421–2424. [11] L. . Abbott, “Lapicque’s introduction of the integrate-and-fire model neuron (1907),”
Brain Res. Bull. , vol. 50, no. 5–6, pp. 303–304, Nov. 1999. [12] A. Singh Alvarado, C. Lakshminarayan, and J. C. Principe, “Time-based compression and classification of heartbeats.,”
IEEE Trans. Biomed. Eng. , vol. 59, no. 6, pp. 1641–8, Jun. 2012. [13] G. Nallathambi and J. C. Príncipe, “Integrate and fire pulse train automaton for QRS detection.,”
IEEE Trans. Biomed. Eng. , vol. 61, no. 2, pp. 317–26, Feb. 2014. [14] G. Nallathambi, J. Principe, and N. Euliano, “Pulse based signal processing for systolic peak recognition,” in , 2015, pp. 1–6. [15] H. G. Feichtinger, J. C. Príncipe, J. L. Romero, A. Singh Alvarado, nd G. A. Velasco, “Approximate reconstruction of bandlimited functions for the integrate and fire sampler,”
Adv. Comput. Math. , vol. 36, no. 1, pp. 67–78, Sep. 2011. [16] M. McCormick, “Digital pulse processing,” MIT, 2012. [17] D. J. Daley and D. Vere-Jones,
An introduction to the theory of Point Processes . 2003. [18] S. Mitra, S. Fusi, and I. Giacomo, “Real-time classification of complex patterns using spike-based learning in neuromorphic VLSI,”
IEEE Trans. Biomed. Circuits Syst. , vol. 3, no. 1, pp. 32–42, 2009. [19] W. Maass, “Computing with spikes,”
Special Issue on Foundations of Information Processing of TELEMATIK 8.1 , pp. 32–36, 2002. [20] K. Majumdar and S. Jayachandran, “Semantic Information Encoding in One Dimensional Time Domain Signals,” pp. 1–24, Nov. 2016. [21] G. Nallathambi, “Pulse signal processing,” 2017. [Online]. Available: https://github.com/gabrielnallathambi. [Accessed: 18-Sep-2017]. [22] A. F. Murray, “Pulse arithmetic in VLSI neural networks,”
IEEE Micro , vol. 9, no. 6, pp. 64–74, 1989. [23] A. Murray, “Pulse techniques in neural VLSI: a review,” [Proceedings] 1992 IEEE Int. Symp. Circuits Syst. , vol. 5, pp. 2204–2207, 1992. [24] A. F. Murray, D. Del Corso, and L. Tarassenko, “Pulse-Stream VLSI Neural Networks Mixing Analog and Digital Techniques,”
IEEE Trans. Neural Networks , vol. 2, no. 2, pp. 193–204, 1991. [25] S. Churcher, D. J. Baxter, A. Hamilton, A. F. Murray, and H. M. Reekie, “Generic Analog Neural Computation - The Epsilon Chip,”
Adv. Neural Inf. Process. Syst. 5 , pp. 773–780, 1993. [26] A. A. Lazar, “Multichannel time encoding with integrate-and-fire neurons,”
Neurocomputing , vol. 65–66, pp. 401–407, 2005. [27] Tim Sauer, “System identification for chaotic integrate-and-fire dynamics,”
Int. J. Intell. Syst. , vol. 12, no. 4, pp. 255–265, 1997. [28] A. R. C. Paiva, I. Park, and J. C. Príncipe, “A reproducing kernel Hilbert space framework for spike train signal processing.,”
Neural Comput. , vol. 21, no. 2, pp. 424–449, 2009. [29] F. Rieke, D. Warland, R. Steveninck, and W. Bialek,
Spikes: exploring the neural code . Cambridge, MA, USA: MIT Press, 1999. [30] M. Miura, M. Goishi, N. Chiba, and J. Shida, “A magnetic neural network utilizing universal arithmetic modules for pulse-train signal processing,” [Proceedings 1992] IEEE Int. Conf. Syst. Eng. , pp. 499–502, 1992. [31] A. Hamilton and K. Papathanasiou, “Reconfigurable analogue systems: The pulse-based approach,”
IEE Proc. - Comput. Digit. Tech. , vol. 147, no. 3, p. 203, 2000. [32] K. Papathanasiou and A. Hamilton, “Pulse based signal processing: VLSI implementation of a Palmo filter,” in , 1996, vol. 1, pp. 270–273. [33] Du Chen, Yuan Li, Dongming Xu, J. G. Harris, and J. C. Principe, “Asynchronous Biphasic Pulse Signal Coding and Its CMOS Realization,” in , 2006, pp. 2293–2296. [34] D. Wei and J. G. Harris, “Signal reconstruction from spiking neuron models,” in
Proceedings of the 2004 International Symposium on Circuits and Systems , 2004, pp. 353–356. [35] M. Rastogi, V. Garg, and J. G. Harris, “Low power integrate and fire circuit for data conversion,”
Proc. - IEEE Int. Symp. Circuits Syst. , pp. 2669–2672, 2009. [36] A. S. Alvarado, J. C. Principe, and J. G. Harris, “Stimulus reconstruction from the biphasic integrate-and-fire sampler,” in , 2009, vol. 2, no. 2, pp. 415–418. [37] A. S. Alvarado, “Time encoded compression and classification using the integrate and fire sampler,” University of Florida, 2012. [38] M. Comenetz,
Calculus . WORLD SCIENTIFIC, 2002. [39] H. H. Ku, “Notes on the use of propagation of error formulas,”
J. Res. Natl. Bur. Stand. Sect. C Eng. Instrum. , vol. 70C, no. 4, p. 263, 1966. [40] A. L. Goldberger et al. , “PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals.,”
Circulation , vol. 101, no. 23, pp. E215–E220, 2000. [41] G. Nallathambi, L. Rao, and J. Principe, “Hardware implementation of adder for pulse signal processing,” in , 2017, pp. 1330–1334. [42] A. M. Chan, N. Selvaraj, N. Ferdosi, and R. Narasimhan, “Wireless patch sensor for remote monitoring of heart rate, respiration, activity, and falls,”
Conf. Proc. ... Annu. Int. Conf. IEEE Eng. Med. Biol. Soc. IEEE Eng. Med. Biol. Soc. Annu. Conf. , vol. 2013, pp. 6115–6118, 2013., vol. 2013, pp. 6115–6118, 2013.