What is a Prism?


The Prism is a signal processing block accepting an input time series s(t) and generating one, or more usually two, output time series, Gsh(t) and/or Gch(t). Internally, it is structured as two layers of integration blocks, where each input signal is multiplied by a modulating sine or cosine function of characteristic frequency m and harmonic number h (a small integer, often 1), and the resulting product is integrated over the last 1/m seconds.The two outputs result from a sum and a difference of second stage integrals. 

The Prism can be viewed as a pair of FIR filters operating over a window of the input data s(t) of total duration 2/m. Unusually, the Prism calculations can be performed recursively, so that the computational effort needed per sample is small, and is independent of the Prism window length. This facilitates high data throughout for a given computational budget. Another significant advantage of the Prism is that the filter ‘coefficients’ are simply the linearly spaced sine and cosine values of the modulation functions. Accordingly, the computation requirement to ‘design’ a Prism with desired m and h values is very low, and so it is possible to instantiate new Prism-based signal processing schemes in real time on resource-limit devices using simple rules.

Networks of Prisms can be assembled to perform a variety of signal processing tasks, such as filtering and tracking of signal components.

For a steady sinusoidal input with amplitude A, frequency f and initial phase φi (i.e. the phase at t = 0)


 the Prism outputs Gsh(t) and Gch(t) are given by:


where the true instantaneous phase φ(t) = 2πft + φir = f/m, the frequency ratio; sinc(x) is the normalized sinc function, and where both Prism outputs have a linear phase delay 2πr. Gsh(t) and Gch(t) are orthogonal (i.e. a sine/cosine pair), and other than a scaling factor h/r, they form an analytic function from which sample-by-sample estimates of frequency, amplitude and phase may be derived. In other words, given an input signal with unknown sinusoidal properties, which is passed through a Prism with characteristic frequency m, the sinusoidal parameters may be estimated based on values of Gsh(t) and Gch(t). Such estimates are generated by Prism-based trackers.

Both outputs have a linear phase delay. The gains vary with frequency as exemplified in the plot below. Notches occur at all multiple of m Hz, including 0 Hz. The variation of gain with frequency forms the basis of many of the signal processing techniques associated with the Prism.

Signal processing networks can be constructed using many Prisms. The triangular symbol shown below may be used to represent each Prism in a network.



[1]  Henry, MP, Leach, F, Davy, M, Bushuev, O, Tombs, MS, Zhou, FB and Karout, S. “The Prism: Efficient Signal Processing for the Internet of Things”, IEEE Industrial Electronics Magazine, pp 22 – 32, Dec 2017.

[2] Henry, MP. Method and system for tracking sinusoidal wave parameters from a received signal that includes noise. GB1619086.0 patent application, November 2016.