如何由freqz()给出的相频响应确定FIR滤波器的相位延迟

本文介绍了如何从FIR滤波器的相频响应中确定线性相位约束参数a的方法。首先计算相频响应的斜率k,然后通过k除以180得出a值。

                               作者:makethyme 

已知FIR滤波器的频率响应函数为:

线性相位约束条件为:

 如果已知h(n),则很容易确定a = (M-1)/2,但是如果不知道h(n),仅仅给出freqz()的输出,则怎样确定a呢?

 则用如下方法确定:

(1)       计算相频响应的斜率k,
上面的例子中k = 630
(2)       再用k除以180,即得到对应的a
                 上面的例子中a = 3.5

 

### FIR滤波器实现线性相位的条件 对于FIR滤波器而言,要实现线性相位特性,单位脉冲响 \( h(n) \) 需遵循特定的对称或反对称性质。具体来说: #### 对称条件 如果单位脉冲响是对称的,则有: \[ h(n) = h(N-1-n), \quad n=0,1,\ldots,N-1 \] 其中 \( N \) 是滤波器长度,并且可以是偶数也可以是奇数。 这种情况下,对频响将是线性的,即相位随频率呈直线变化[^3]。 #### 反对称条件 而对于满足奇对称条件的情况,分为两种类型: - **III型线性相位滤波器** 和 **IV型线性相位滤波器** 这类滤波器的单位脉冲响需满足以下关系: \[ h(n)=-h(N-1-n),\quad n=0,1,\ldots,N-1 \] 值得注意的是,在实际用中,除了考虑上述理论上的线性相位外,还存在其他类型的滤波器设计,比如最小相位滤波器。尽管这些不是严格意义上的线性相位滤波器,但在某些用场景下可能更为适用,因为它们提供了较少的时间延迟性能[^2]。 为了更好地理解不同类型的线性相位FIR滤波器及其特点,可以通过具体的例子来展示如何根据给定的要求选择合适的滤波器结构以及的参数设置。 ```python import numpy as np from scipy import signal import matplotlib.pyplot as plt # 定义一个简单的I型线性相位FIR低通滤波器的设计函数 def design_linear_phase_fir(filter_type='Type I', cutoff_freq=0.2, num_taps=51): # Type-I filter has an odd number of taps and is symmetric. if filter_type == 'Type I': b = signal.firwin(num_taps, cutoff_freq, window=('kaiser', 8)) elif filter_type == 'Type II': # Type-II filter also has even symmetry but with an even length. pass elif filter_type == 'Type III' or filter_type == 'Type IV': # For Types III & IV which are anti-symmetric, # we need to ensure that the sum of coefficients equals zero for DC rejection. raise NotImplementedError('Anti-symmetry not implemented here.') w, H = signal.freqz(b) fig, ax1 = plt.subplots() ax1.set_title(f'{filter_type} Linear Phase FIR Filter Frequency Response') ax1.plot(w/np.pi, abs(H), 'b') ax1.set_ylabel('Amplitude [dB]', color='b') ax1.grid() design_linear_phase_fir() # 默认创建一个I型线性相位FIR滤波器并绘制其频率响图 plt.show() ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值