Monday, 24 April 2017

IEEE Paper Review: The Generalized Frequency-Domain Adaptive Filtering Algorithm Implemented on a GPU for Large-Scale Multichannel Acoustic Echo Cancellation

The Generalized Frequency-Domain Adaptive Filtering Algorithm Implemented on a GPU for Large-Scale Multi-channel Acoustic Echo Cancellation



There is an increasing trend in multi-channel processing of signals. In the similar way domain wise audio processing and signal reproduction or signal cancelling. This technique can be used to for acoustic echo cancellation. A large number of computational units are required and hence a GPU can be a better option for all the processing units required that the GPU can offer with its small but huge number of cores. In this paper we present an implementation of the Generalized Frequency-Domain Adaptive Filtering (GFDAF) algorithm on popular GPUs.

Patent Review: Audio processing in multiple latency domains US 20150066175 A1

Audio processing in multiple latency domains 
US 20150066175 A1

This patent is about audio processing in multiple latency domains. For complex audio effects that are to be generated computationally and can be split into two different latency domains namely low latency domain and high latency domain where these split signals are then individually processed. The individual outputs are then put together to get the desired output. 
For certain effects for which computation is separable into high and low latency functions, such dual signal network execution results in an overall signal latency of the low latency signal network and an overall efficiency of the high latency signal network which is desirable.
There are 15 claims that specify the total processing from taking the input, splitting them and then processing them individually. Examples are given for various signals that can be processed through this technique where its specified about which split signal can or should be processed through either DSP and/or a general purpose CPU.

Digital FIR filter design using FSM

Digital FIR filter design using FSM

We observed that the values of Ap and As have been verified. Also we learnt that phase response is the same for low pass filter and high pass filter only if the order of both of them are identical.Frequency sampling method is more efficient computationally because many samples in the input impulse functions are zero therefore less calculations are needed.

Design of FIR filter using window method

Design of FIR filter using window method


For designing the FIR filter with windowing method, for the desired filter response we selected and and used the proper window function with appropriate As. Windows that are available include rectangular, Bartlet, Hanning, Hamming and Blackman for FIR filter designs.

DIGITAL CHEBYSHEV FILTER DESIGN

DIGITAL CHEBYSHEV FILTER DESIGN


Chebyshev filter design :

A digital chebyshev filter was designed from the analog chebyshev filter.
Analog LPF poles lie on LHS of S plane and hence the filter is stable. The digital LPF poles lie inside of the unit circle, so digital filter is stable. The magnitude spectrum exhibits ripple in passband and monotonic in stopband. For LPF there is definite zero at z=-1 while for HPF there is a definite zero at z=1.

DESIGN OF BUTTERWORTH FILTER

DESIGN OF BUTTERWORTH FILTER

Digital Butterworth Design:

Scilab was used for implementing the code which is similar to MatLab.
Passband attenuation, stopband attenuation, passband frequency, stopband frequency and sampling frequency were passed as input and the order and cut-off frequency of the filter is calculated.
The normalized transfer function is evaluated according to the filter type,i.e LPF or HPF(replacing s by 1/s). The denormalized function is calculated by substituting the value of cut off frequency. The response in z -domain is equivalently calculated by IIM or BLT transformations.

Tuesday, 14 March 2017

Overlap Add and Overlap Save Method

In this experiment we learn Overlap Add method (OAM) and Overlap Save method (OSM).

Both Overlap Add method and Overlap Save method are block processing techniques to process large data sequences. These large data sequences are decomposed into smaller sequences and then computed individually.

Overlap Add method (OAM) involves the decomposing of the signal into smaller signals and then using liner convolution and the overlapped part of the sequences are added to find the output.

Overlap Save method (OSM) involves the decomposing of the signal into smaller signals and then using circular convolution and the convoluted part of the sequences are discarded to find the output.

Both of these methods are equally computationally fast and use memory equally.

Fast Fourier Transform

In this experiment we learnt Fast Fourier Transform (FFT)

This is also a computational method like Discrete Fourier Transform (DFT) but is faster than it, hence the name Fast Fourier Transform (FFT)

The calculation of odd and even parts are done parallely and this reduces the total number of operations of addition and subtraction of real and imaginary parts. We performed FFT of 4pt and 8pt signals using Radix 2 algorithm which accounts for parallel computation and hence increases efficiency and faster calculation time.

Discrete Fourier Transform

In this experiment the aim was to study and understand Discrete Fourier Transform (DFT) using C language and manual verification.

Discrete Fourier Transform is used to transform time domain signals into frequency domain signals by sampling. More is the number of samples the greater is the degree of realisation of the original signal in the transfer domain.

We observed the magnitude spectrum of 4 pt and 8 pt signals. Also, by adding zeros to the 4 pt signal, the magnitude spectrum of the signal was more defined as we had more samples to plot.

We also observed that the transformed signal achieved from the time domain is compressed and also that DFT is computationally slow as the number of real and imaginary additions and multiplications is high.

Discrete Convolution and Correlation

The aim of this experiment was to study and understand Convolution and Correlation of Discrete signals in Signal Processing which was coded with C and verified manually.

Convolution can be defined as the integral of the product of the two functions after one is reversed and shifted. The output function can we viewed as a modified version of one of the original signals.
The length of the output signal(N) is one less than the sum of the lengths of the two signals (L & M)
N=L+M-1
Aliasing effect can be observed in case of Circular Convolution.

Correlation can be defined as the measure similarity between two signals. When measured for the same delayed signal, it is called as autocorrelation and when measured between two different signals, it is called crosscorrelation.