Digital Signal Processing With Application

A slecture by ECE student (Rui Tian)

Partly based on the ECE438 Fall 2015 lecture material of Boutin.



1. Introduction (Binary Frequency Shift Keying demodulation----FFT application case study)

The Fast Fourier Transform (FFT) algorithm enables the rapid demodulation of Binary Frequency Shift Keying in software.


2. Background (Binary Frequency Shift Keying & Fast Fourier Transform)

1. Binary Frequency Shift Keying(BFSK) is the most simplest method among Frequency shift keying modulation/demodulation schemes. In BFSK, Bits such as '0's and '1's are transmitted by a pair of discrete frequencies.

2. Fast Fourier Transform(FFT) is an algorithm that implements Discrete Fourier Transform in the matrix form. It is commonly used in today's computer system to compute the Discrete Fourier Transform rapidly. The FFT is very useful for demodulation of BFSK.



3. Theory (Common BFSK demodulation scheme and the application of FFT)

The common BFSK demodulation scheme involves the comparison of the magnitude(absolute value) of two different transmitted frequencies component in the received signal. Fourier Transform can calculate the frequency spectrum of the received signal. Thus, the absolute magnitude at two different transmitted frequencies in the signal can be compared. The decision will be made based on the the frequency with larger magnitude shown in frequency spectrum. FFT will be very useful since its power for rapid calculation of Discrete Fourier Transform can greatly increase the demodulation speed.

FFT will reduce the complexity of computing DFT from O(n^2) to O(n log(n)), where n is the data size. The implementation of FFT enable software defined radio's high performance with demodulation.


4. MATLAB Code Sample of demodulation with FFT

function [ output_bit ] = BFSK(input_signals)  % BFSK demodulation function. Input signals are cosine waves either in 400 Hz or 200 Hz. 400 Hz represents '1', 200 Hz represents '0'.

T_sampling = 0.001; % set according to parameters in modulation scheme N = 1; output_bit = 0; % create the blank output_bit matrix next = 1; n = 1; while(next == 1)

   if (length(input_signals((1+(n-1)*(N/T_sampling)):end)) >= N/T_sampling)
       
   fast_ft = abs(fft(input_signals((1+(n-1)*(N/T_sampling))N/T_sampling)+(n-1)*(N/T_sampling))))); % calculate FFT of input signals
   magnitude_400 = fast_ft(401); % the magnitude at 400 Hz in frequency spectrum
   magnitude_200 = fast_ft(201); % the magnitude at 200 Hz in frequency spectrum
   
   output_bit = [output_bit,(energy_400 >= energy_200)];
   n = n + 1;
   else 
       next = 0;
       output_bit = output_bit(2:end);
   end
  

end

end



5. Conclusion

Although the FFT algorithm is actually as same as traditional Discrete Fourier Transform, it is an essential tool for computer based signal processing solution. Its implementation on communication and many other fields greatly promote the processing speed and lead to lots of innovative products.

5. References

[1] Mireille Boutin, "ECE438 Digital Signal Processing with Applications," Purdue University August 26,2009. [2] Fast Fourier transform - Wikipedia, the free encyclopedia. 2015. Fast Fourier transform - Wikipedia, the free encyclopedia. [ONLINE] Available at: https://en.wikipedia.org/wiki/Fast_Fourier_transform. [Accessed 29 November 2015].



Questions and comments

If you have any questions, comments, etc. please post them here.


Back to 2015 Fall ECE 438 Boutin


Alumni Liaison

Sees the importance of signal filtering in medical imaging

Dhruv Lamba, BSEE2010