0
0
RosConceptBeginner · 3 min read

Linear Phase FIR Filter: Definition, Example, and Uses

A linear phase FIR filter is a type of digital filter whose phase response is a straight line, meaning it delays all frequency components equally. This property preserves the shape of signals, avoiding distortion in time. It is implemented using a finite impulse response (FIR) filter with symmetric coefficients.
⚙️

How It Works

A linear phase FIR filter works by applying a set of fixed weights (called coefficients) to a signal's samples. These coefficients are arranged symmetrically, so the filter delays all parts of the signal by the same amount of time. Imagine a group of runners starting a race together and running at the same speed; they all finish together, preserving their order. Similarly, the filter preserves the timing and shape of the signal's features.

This equal delay means the filter does not distort the signal's waveform, which is important in applications like audio processing or data communications where the shape of the signal carries meaning. The 'finite impulse response' means the filter uses a limited number of past input values, making it stable and easy to design.

💻

Example

This example shows how to create a simple linear phase FIR filter using Python's scipy.signal library. We design a low-pass filter and plot its phase response to confirm it is linear.

python
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import firwin, freqz

# Design a linear phase FIR low-pass filter with 31 taps
numtaps = 31
cutoff = 0.3  # normalized cutoff frequency (0 to 1, where 1 corresponds to Nyquist frequency)
fir_coeff = firwin(numtaps, cutoff, window='hamming')

# Compute frequency response
w, h = freqz(fir_coeff)

# Plot phase response
plt.plot(w / np.pi, np.unwrap(np.angle(h)))
plt.title('Phase Response of Linear Phase FIR Filter')
plt.xlabel('Normalized Frequency (×π rad/sample)')
plt.ylabel('Phase (radians)')
plt.grid(True)
plt.show()
Output
A plot window showing a straight line phase response increasing linearly with frequency, confirming linear phase behavior.
🎯

When to Use

Use linear phase FIR filters when preserving the shape of the signal is critical. For example, in audio processing, they prevent distortion of sound waves, keeping music and speech clear. In data communications, they help maintain the integrity of transmitted signals to avoid errors.

They are also preferred when phase distortion can cause problems, such as in medical signal processing (ECG, EEG) where waveform shape carries important information. However, they may require more computation than other filters, so they are chosen when signal fidelity is more important than processing speed.

Key Points

  • Linear phase FIR filters delay all frequencies equally, preserving signal shape.
  • They have symmetric coefficients to achieve linear phase.
  • Commonly used in audio, communications, and medical signal processing.
  • They are stable and easy to design but may need more computation.

Key Takeaways

Linear phase FIR filters preserve the shape of signals by delaying all frequencies equally.
They use symmetric coefficients to maintain a straight-line phase response.
Ideal for applications where signal waveform integrity is crucial, like audio and medical signals.
They are stable and simple to design but can be computationally heavier than other filters.