## Solving Linear Equations with Modified Cholesky Decomposition

In our previous tutorial, we have discussed about Cholesky decomposition which is a very important matrix factorization to solve a linear equation. But this technique has some drawbacks which are also discussed in the same tutorial. In this tutorial, we will discuss about modified Cholesky Decomposition which is an alternative version of Cholesky decomposition. This …

## Solving Linear Equations using Cholesky Decomposition

Cholesky decomposition is a very important matrix factorization technique which is used to solve a linear equation. This technique originally derives from very popular LU decomposition and very suitable for higher order matrices. In Cholesky decomposition, the co-efficient matrix has to be a symmetric positive definite matrix. But in general, the co-efficient matrix can be …

## SVD Implementation Strategies

Singular Value Decomposition (SVD) is one of the matrix factorization techniques which can be used to solve linear equations. But this is not the primary objective of SVD. SVD can provide singular values of matrix. Singular values reveal unique information about a matrix. SVD has many uses in machine learning, image processing etc. Linear equations …

## FPGA Implementation QR Decomposition Based on CORDIC

QR decomposition is one of the powerful matrix factorization techniques that is used to solve a linear equation, to find matrix inverse or to find pseudo-inverse. In this factorization technique, a matrix (A) is factorized into two matrices Q and R such that A = QR. Here, Q is an ortho-normal matrix and R is …

## FPGA Based PWM Signal Generation

Pulse Width Modulation (PWM) signal is used in place of a Digital to Analog Converter (DAC) to simplify the digital-to-analog conversion process. PWM is used when we need to generate analog voltage corresponding to some digital value. PWM is a technique where the width of a pulse is varied. This means the duty cycle of …

## Interfacing Ultrasonic Sensor with FPGA

Ultrasonic sensor is one of the most important sensors which are used for IoT applications. There are plenty of tutorials available in the internet which tells us how to interface an ultrasonic sensor with Arduino and other popular controllers. In this tutorial, we will talk about interfacing ultrasonic sensor with FPGA and for that we …

## Seven Segment Display Controller

Almost every FPGA boards are having seven segment display elements. These displays are very useful for displaying data in he form of BCD. Suppose, one design is implemented on FPGA and display of the result is required. Then the result of the design can be displayed on these seven segment displays. Seven segment displays are …

## LUT Based Numerically Controlled Oscillator

A numerically controlled oscillator (NCO) is used for on-chip generation of major signals like cosine, sine, linear frequency modulated (LFM), Gaussian etc. in system on chips (SoCs). These signals can be generated by two ways, either by analog circuitry or by digital circuitry. In a digital system, these signals are generated using numerically controlled oscillator …

## Implementation of Logarithm Function

Signal processing algorithms sometimes involve computation of exponential as well as logarithm. Thus it is important to implement both the functions on digital hardware. In our previous tutorials, we have discussed implementation of exponential function. In this work, design of digital hardware to find logarithm of a number is discussed. The logarithm function is computed …

## Efficient Architecture for Exponential

In the previous post, we have discussed the theory for computation of exponential and discussed about its hardware architecture. In this post, we will discuss an alternative architecture to compute the exponential. If we examine the equations which evaluate the exponential function, then we can see that is multiplied by or . In the previous …

## Computation of Exponential Function

Signal processing algorithms sometimes involve computation of exponential. Thus it is important to implement the exponential function. In this work, design of digital hardware for exponential function is discussed. Like other elementary functions, exponential function is also computed using the iterative formulas. In this work, computation of the exponential function is shown for three cases. …

## FPGA Implementation of 1024-point FFT/IFFT Processor

I. Introduction Fast Fourier transform (FFT), an efficient technique to perform discrete Fourier transform (DFT), is the most important block in the signal processing domain. FFT is used to convert a signal in time domain to its frequency domain. On the other hand, inverse FFT (IFFT) block is used to convert the signal in frequency …

## MATLAB Realization of FFT/IFFT w/o Direct Function

Fast Fourier Transform (FFT) is an efficient technique to implement Discrete Fourier Transform (DFT). FFT is used to observe the frequency domain characteristics of a signal or an image. Similarly Inverse FFT (IFFT) is used to convert a frequency domain signal to its time domain. Thus FFT and IFFT are very important functions in the …

## State Partition Method for State Minimization

State Partition Method for State Minimization is also powerful as the Implication Chart Method and better than Row Equivalence method. In this technique, the states are partitioned into groups based on the possibility that they can be combined. Lets consider the example state table as shown in Table 1 for state minimization using state partition …

## Implication Chart Method for State Minimization

Implication Chart Method for State Minimization is very popular for reducing the steps of an FSM and it is more machine friendly method than Row Equivalence Technique. In this method, a chart is prepared to find the equivalent steps. The implication chart is shown in Figure 1. States are written along the x-axis as , …