ECE 312 Project Description
ECE 312 Project Description
COLLEGE OF ENGINEERING
Filter design involves the process of designing a system that can selectively allow or block certain
frequencies of a signal. There are various types of filters, including low-pass, high-pass, band-pass,
and band-stop filters.
1. Define Specifications:
• Determine the type of filter needed (e.g., low-pass, high-pass, band-pass).
• Specify the filter order (related to the filter's complexity).
• Establish the cutoff frequency or frequencies.
• Define other parameters such as passband ripple, stopband ripple, passband frequency,
and stopband frequency.
2. Choose a Filter Structure:
• Select a filter structure based on your design requirements. Common structures include
Butterworth, Chebyshev (Type I and Type II), elliptic, FIR (Finite Impulse Response)
filters, IIR (Infinite Impulse Response), and Multiple Bandpass Filter.
3. Digital Filter Design:
• Use design tools or equations to convert the analog signal to a digital signal.
• Tools like MATLAB, Python with libraries like SciPy, or specialized filter design software
can be useful.
• Implement the digital filter based on specifications and filter structure.
4. Implementation:
• Define GUI Layout
▪ Design the layout of your GUI. Include input fields, sliders, buttons, and
visualizations that allow users to input their filter specifications.
• Input Specifications:
▪ Create input fields for users to specify filter type (low-pass, high-pass, etc.), filter
order, cutoff frequencies, passband ripple, stopband attenuation, and any other
relevant parameters.
• Visualization:
▪ Include visualizations for original signal and filtered signal.
▪ Original signal: Time – domain, and Frequency Domain
▪ Filtered signal (Type of Domain): Time – domain, and Frequency Domain
▪ Filtered signal (Filter Characteristics): Zero – Pole Plane, Impulse Response,
Magnitude Response, and Phase Margin Response.
• Export/Save Configuration:
▪ Allow users to save their filter configurations for future use.
• Documentation and Help:
▪ Include tooltips or help buttons to provide information on each parameter and
guide users through the filter design process.
• Testing and Validation within GUI:
▪ Integrate a testing feature that allows users to input test signals and observe the
filter's response within the GUI.
▪ Record Audio -> Apply Filter -> Play Filter Audio Output
• Implementation and Integration:
▪ Implement the GUI using a programming framework that supports GUI
development, such as Tkinter (for Python), or MATLAB.
• Deployment:
▪ Package your application for deployment. This could involve creating an
executable file (Recommended), a web application, or another distribution
method based on the platform.
• User Feedback:
▪ Collect feedback from users to identify areas for improvement and possible
Page 1 of 2
additional features.
Important Notes:
▪ Documentation Format
a. Title Page
b. Table of Contents
c. Introduction of the Project
d. Acknowledgement
e. Program Description
f. Scope and Limitation
g. User Guide
h. All program files used in the project
i. Sample output for filter type
j. References
▪ Due date: January 5, 2023
▪ Work in a group of two members.
Page 2 of 2