This project implements an adaptive harmonic Infinite Impulse Response (IIR) notch filter for accurate frequency estimation and tracking within a harmonic frequency environment. The code replicates concepts from the paper 'Novel Adaptive IIR Filter for Frequency Estimation and Tracking' by Li Tan and Jean Jiang.
The primary goal of this project is to create an efficient and adaptable filter that accurately estimates and tracks frequencies in complex harmonic environments. The implemented filter, based on the concepts presented in the paper, provides robust signal processing capabilities.
The MATLAB code provided offers a practical implementation of the adaptive harmonic IIR notch filter. It includes:
- Initialization with defined parameters such as sampling frequency, number of iterations, filter coefficients, and signal frequencies.
- Two stages:
- Calculation of optimized filter coefficients.
- Application of the adaptive filter to the input signal for frequency estimation and tracking.
To run the MATLAB implementation:
- Ensure MATLAB is installed on your system.
- Copy the provided MATLAB code into a new or existing MATLAB script.
- Run the script within the MATLAB environment.
The code is structured into several sections:
- Initialization: Setting up necessary parameters and defining input signals.
- Stages: Divided into two stages for optimal filter coefficient calculation and application of the adaptive filter.
- Functions: Includes functions like
notchFilter
,mseMaker
,lmsCal
, and more, essential for filter operations.
The code generates visualizations and figures showcasing:
This implementation heavily relies on the concepts from the paper 'Novel Adaptive IIR Filter for Frequency Estimation and Tracking' authored by Li Tan and Jean Jiang.
- Mahdi Moeini
- Email: mmoeini@mun.ca
- LinkedIn: linkedin.com/in/mmoeini
- GitHub: m-moeini.github.io