N, Rajasekhar and Detroja, Ketan P
(2018)
Fast Algorithm Development for SVD:
Applications in Pattern Matching and Fault
Diagnosis.
Masters thesis, Indian Institute of Technology Hyderabad.
Abstract
The project aims for fast detection and diagnosis of faults occurring in process plants by designing
a low-cost FPGA module for the computation. Fast detection and diagnosis when the process
is still operating in a controllable region helps avoiding the further advancement of the fault and
reduce the productivity loss. Model-based methods are not popular in the domain of process control
as obtaining an accurate model is expensive and requires an expertise. Data-driven methods like
Principal Component Analysis(PCA) is a quite popular diagnostic method for process plants as they
do not require any model. PCA is widely used tool for dimensionality reduction and thus reducing
the computational e�ort. The trends are captured in prinicpal components as it is di�cult to have a
same amount of disturbance as simulated in historical database. The historical database has multiple
instances of various kinds of faults and disturbances along with normal operation. A moving window
approach has been employed to detect similar instances in the historical database based on Standard
PCA similarity factor. The measurements of variables of interest over a certain period of time forms
the snapshot dataset, S. At each instant, a window of same size as that of snapshot dataset is
picked from the historical database forms the historical window, H. The two datasets are then
compared using similarity factors like Standard PCA similarity factor which signi�es the angular
di�erence between the principal components of two datasets. Since many of the operating conditions
are quite similar to each other and signi�cant number of mis-classi�cations have been observed, a
candidate pool which orders the historical data windows on the values of similarity factor is formed.
Based on the most detected operation among the top-most windows, the operating personnel takes
necessary action. Tennessee Eastman Challenge process has been chosen as an initial case study
for evaluating the performance. The measurements are sampled for every one minute and the fault
having the smallest maximum duration is 8 hours. Hence the snapshot window size, m has been
chosen to be consisting of 500 samples i.e 8.33 hours of most recent data of all the 52 variables.
Ideally, the moving window should replace the oldest sample with a new one. Then it would take
approximately the same number of comparisons as that of size of historical database. The size of the
historical database is 4.32 million measurements(past 8years data) for each of the 52 variables. With
software simulation on Matlab, this takes around 80-100 minutes to sweep through the whole 4.32
million historical database. Since most of the computation is spent in �nding principal components
of the two datasets using SVD, a hardware design has to be incorporated to accelerate the pattern
matching approach.
The thesis is organized as follows: Chapter 1 describes the moving window approach, various
similarity factors and metrics used for pattern matching. The previous work proposed by Ashish
Singhal is based on skipping few samples for reducing the computational e�ort and also employs
windows as large as 5761 which is four days of snapshot. Instead, a new method which skips
the samples when the similarity factor is quite low has been proposed. A simpli�ed form of the
Standard PCA similarity has been proposed without any trade-o� in accuracy. Pre-computation
of historical database can also be done as the data is available aprior, but this requires a large
memory requirement as most of the time is spent in read/write operations. The large memory
requirement is due to the fact that every sample will give rise to 52�35 matrix assuming the top-35
PC's are sufficient enough to capture the variance of the dataset. Chapter 2 describes various popular
algorithms for SVD. Algorithms apart from Jacobi methods like Golub-Kahan, Divide and conquer
SVD algorithms are brie
y discussed. While bi-diagonal methods are very accurate they suffer from
large latency and computationally intensive. On the other hand, Jacobi methods are computationally
inexpensive and parallelizable, thus reducing the latency. We also evaluted the performance of the
proposed hybrid Golub-Kahan Jacobi algorithm to our application. Chapter 3 describes the basic
building block CORDIC which is used for performing rotations required for Jacobi methods or for
n-D householder re
ections of Golub-Kahan SVD. CORIDC is widely employed in hardware design
for computing trigonometric, exponential or logarithmic functions as it makes use of simple shift and
add/subtract operations. Two modes of CORDIC namely Rotation mode and Vectoring mode are
discussed which are used in the derivation of Two-sided Jacobi SVD. Chapter 4 describes the Jacobi
methods of SVD which are quite popular in hardware implementation as they are quite amenable
to parallel computation. Two variants of Jacobi methods namely One-sided and Two-sided Jacobi
methods are brie
y discussed. Two-sided Jacobi making making use of CORDIC has has been
derived. The systolic array implementation which is quite popular in hardware implementation for
the past three decades has been discussed. Chapter 5 deals with the Hardware implementation of
Pattern matching and reports the literature survey of various architectures developed for computing
SVD. Xilinx ZC7020 has been chosen as target device for FPGA implementation as it is inexpensive
device with many built-in peripherals. The latency reports with both Vivado HLS and Vivado SDSoC
are also reported for the application of interest. Evaluation of other case studies and other datadriven
methods similar to PCA like Correspondence Analysis(CA) and Independent Component
Analysis(ICA), development of efficient hybrid method for computing SVD in hardware and highly
discriminating similarity factor, extending CORDIC to n-dimensions for householder re
ections have
been considered for future research.
Actions (login required)
|
View Item |