Final Year Project
Title: Programmable Real Time Digital Filter
Objective
The aim is to develop a variable filter for laboratory use, which can offer a variety of different frequency responses and cut-off rates. The filter will be implemented in real time using a "third generation" microprocessor manufactured by Texas Instruments. The microprocessor, which is known as TMS320C30, resides on a card in a host PC. The PC will be programmed to interface with the user who will be able to enter a filter specification. The PC will display a frequency response graph, calculate the required filter coefficients and generate the TMS320C30 code required to implement the filter. The code will then be downloaded to the TMS320C30 card implementing the filtering in real time. The system could implement both Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) digital filters, and should be convinient to use.
Followed Solutions
The main objective in designing digital filters is to calculate the required filter coefficients. These coefficients are based on a number of different parameters such as the sampling frequency, the breakpoint frequenies, the order of the filter and the type of filter. Thus, the use of a high-level language (C++) for performing the required calculations was used taking into account the different filter specifications entered by the user. Moreover, the frequency response and phase response graph was performed by Matlab. Finally, the required assembly code for implementing the filtering was written in assembly using the instruction set of the TMS320C30.
Design of Filter
The program for calculating the required filter coefficients is able to design FIR and IIR filter using different techniques. In the case of FIR filters the program is able to produce low-pass, high-pass, band-pass and band-stop filters using the window and the optimal method. As far as the IIR filters is concerned, the program is able to calculate the filter coefficients executing Butterworth and Chebyshev filters using the bilinear method. These programs are used not only to calculate the filter coefficients but also to generate the required M-files and assembly code for the frequency response graph and implementation of the filter respectively.
The following files are used for calculating the filter coefficients of a FIR filter using the window method, for implementing an IIR filter in real time and for producing the frequency response graph of a FIR filter using a Hamming window.
window.cpp (calculates the filter coefficients of a FIR filter using the window method)
tms.asm (implements the filtering in real time using an IIR filter)
startup.m (displays the frequency response graph of a FIR filter)
final.doc (project report)
In case that something more detailed is needed you can contact me at the following e-mail address.
Last Updated on 23/05/99
Email: [email protected]