A system for detecting one or more keywords in continuous speech is disclosed wherein a speechprocessor extracts a plurality of analog speech parameters from the input continuous speech, an STV (Spectral Time Vector) generator circuit selectively converts the plurality of analog speech parameters into digitized spectral parameters, an asynchronous correlation circuit continuously correlates sequences of the digitized spectral parameters with stored reference mask templates representative of subelements (dyads or triads) of one or more desired keywords in order to produce continuous correlation data, and a decision function circuit is responsive to the correlation data for developing an occurrence decision output for each desired keyword that is detected.
Sunday, 23 April 2017
IEEE Review :Speech and Speaker recognition for home automaton
In voice controlled multi-room smart homes ASR and speaker identification systems face distance speech conditions which have a significant impact on performance. Regarding voice command recognition, this is an approach which selects dynamically the best channel and adapts models to the environmental conditions. The method has been tested on data recorded with 11 elderly and visually impaired participants in a real smart home. The voice command recognition error rate was 3.2% in off-line condition and of 13.2% in online condition. For speaker identification, the performances were below very speaker dependant. However, we show a high correlation between performance and training size. The main difficulty was the too short utterance duration in comparison to state of the art studies. Moreover, speaker identification performance depends on the size of the adapting corpus and then users must record enough data before using the system.
Basic Operation Using DSP Processor
The theoretical aspects of DSP technology are not too difficult. We just have different algorithms for different operations. But, the real world doesn't work on just mathematics and algorithms. We need to have some physical hardware that will implement these operations. This is where the DSP processor comes in.
We used a custom board of the popular C2000 processor. The coding platform used was Code Composer Studio. Using the implementations of DSP algorithms in C language developed previously, the code was tweaked to work on-chip in embedded C. Basic operations were performed on the board such as addition and subtraction among others. We also implemented FFT algorithms. The difference in implementing on hardware is that we have to reference the registers too while writing the code while a simple C language implementation does not require this.
We used a custom board of the popular C2000 processor. The coding platform used was Code Composer Studio. Using the implementations of DSP algorithms in C language developed previously, the code was tweaked to work on-chip in embedded C. Basic operations were performed on the board such as addition and subtraction among others. We also implemented FFT algorithms. The difference in implementing on hardware is that we have to reference the registers too while writing the code while a simple C language implementation does not require this.
Design of FIR using Frequency Sampling Method
The frequency sampling method allows us to design recursive and nonrecursive FIR filters for both standard frequency selective and filters with arbitrary frequency response. The frequency response of LPF and HPF are plotted using frequency sampling method. Ripples in the stopband are obtained by decreasing amplitude. The phase plot is linear and similar for both LPF and HPF if order of the two filters is same. Since phase is linear, output is not distorted.
In this the desired frequency response Hd(w) is sampled at w=(2*pi*k)/N and the frequency samples thus obtained are taken as DFT coefficients. FIR filter with impulse response is then calculated by IDFT.
Thus, for the same values of attenuation in stop band and pass band, pass band and stop band frequencies and sampling frequencies we observe that the order of the FIR filter is much higher compared to that of the IIR filter.
Design of FIR using Windowing Method
In this experiment the filter was designed using code written in C language. The input specifications was taken from the user, There were 2 different codes for LPF/HPF and BSF/BPF. Specifications for one of each case taken and the filter was designed.
Different window functions were defined in the code and the function was selected during runtime based on the input specifications. After selection of window function h(n) was calculated. The magnitude and phase spectrum was then plotted in scilab using the obtained values of h(n). The phase spectrum of the filter for the filter was observed to be linear.
Chebyshev LPF and HPF design
In this experiment a scilab code was developed to design a digital Chebyshev filter by accepting the following specifications
- Pass band attenuation(Ap<3dB)
- Pass band frequency(Fp in Hz)
- Stop band attenuation(As>40dB)
- Stop band frequency(Fs in Hz)
- Sampling frequency(Fs in Hz)
The analog Chebyshev filter was designed from the above specifications and then digital filter was obtained by BLT method.The magnitude response for the designed filter was obtained and the values of As and Ap were calculated from the response. The values were close to each other. Also from the magnitude response it was observed that there are ripples in the passband of the filter, The number of ripples depends on the order of the filter.
The pole zero plot of the transfer functions of both analog and digital frequency was obtained. For LPF the analog filter poles are on the LHS of the imaginary axis whereas digital poles were on the RHS of the imaginary. Also the digital filter were inside the unit circle.
Butterworth LPF and HPF design
In this experiment a scilab code was developed to design a digital butterworth filter by accepting the following specifications
- Pass band attenuation(Ap<3dB)
- Pass band frequency(Fp in Hz)
- Stop band attenuation(As>40dB)
- Stop band frequency(Fs in Hz)
- Sampling frequency(Fs in Hz)
The analog filter was first designed using the input specifications. After designing the analog filter, digital was designed using BLT method. The values of Ap and As were verified from the obtained magnitude response. It was also observed that the magnitude response had a smooth monotonous curve.
The poles zero plot of analog and digital filter was also plotted. It was observed that for LPF the analog filter poles were on the LHS of the imaginary axis whereas the digital filter poles were on the RHS of the imaginary axis
Wednesday, 15 March 2017
FAST FOURIER TRANSFORM (FFT)
An algorithm for fast computation of DFT is FFT(Fast Fourier Transform).The FFT algorithm divides the N-point DFT input signal into 2 parts-even and odd signal values of the input. The even signal values can be directly found out whereas the odd signal values is just multiplied by an appropriate twiddle factor which overall reduces the complex multiplications for FFT. This happens because the signal is divided into 2 parts, so the computation is carried out only for N/2 signal values. This increases the speed of computations and makes FFT faster than other algorithms.
DISCRETE FOURIER TRANSFORM (DFT)
Discrete Fourier Transform is carried out to overcome the limitation of Fourier series as well as DTFT. As length of signal increases, frequency spacing reduces, approximation error representation of spectrum decreases, resolution of spectrum increases, missing values in less point DFT are present in more point DFT. Ideally, the spectrum of DFT is discrete and also infinite but we calculate it only for one period of the signal values.For the same signal values with different periodic sequences,the output values of the bigger periodic sequences contains all the values of the output signal obtained from the smaller periodic sequences .Moreover,the values remain same for same period even if the number of samples increases.
OAM & OSM
The aim of this experiment was to perform filtering of Long Data Sequence using Overlap Add Method and Overlap Save Method.We implemented the filtering of Long Input Sequence using Overlap Add / Overlap Save Algorithm.The Input Specifications were given as length of long data sequence and signal values and length of impulse response M and Signal values.
We concluded that Overlap Add Method (OAM) and Overlap Save Method(OSM) are efficient methods to calculate the convolution between long length signal and finite impulse signal. Both the OAM and OSM require same amount of computations and hence memory.
Tuesday, 14 March 2017
Discrete Convolution and Correlation
In this experiment,we learned linear convolution,circular convolution and linear convolution using circular convolution. We used the mathematical formula of convolution and observed the results. The length of the input signal in linear convolution was L=4 and M=4, the length of the output signal is N=L+M-1,therefore N=4+4-1=7 (the length of output signal is 7). In circular convolution as we increase the length of signal, zeros are added to the output signal. The length of the signal was N=max(L,M).In circular convolution we get aliased output.For linear convolution using circular convolution N>= L+M-1. Zero padding was observed.We studied aliasing effect.We also performed cross and auto correlation. The second case was having the same input but delayed. In auto correlation the value at the center is largest and the signal is symmetric.The application of correlation is to find the degree of similarity of two signals.
Subscribe to:
Posts (Atom)