自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理数字滤波器。作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函数

对于一些应用来说,由于事先并不知道所需要进行操作的参数,例如一些噪声信号的特性,所以要求使用自适应的系数进行处理。在这种情况下,通常使用自适应滤波器,自适应滤波器使用反馈来调整滤波器系数以及频率响应。

总的来说,自适应的过程涉及到将代价函数用于确定如何更改滤波器系数从而减小下一次迭代过程成本的算法。价值函数是滤波器最佳性能的判断准则,比如减小输入信号中的噪声成分的能力。

随着数字信号处理器性能的增强,自适应滤波器的应用越来越常见,时至今日它们已经广泛地用于手机以及其它通信设备、数码录像机和数码照相机以及医疗监测设备中。

结构框图

编辑

下面图示的框图是最小均方滤波器(LMS)和遞迴最小平方濾波器(RLS)这些特殊自适应滤波器实现的基础。框图的理论基础是可变滤波器能够得到所要信号的估计。

 

在开始讨论结构框图之前,做以下假设:

  • 输入信号是所要信号   和干扰噪声   之和
 
  • 可变滤波器有有限脉冲响应结构,这样结构的脉冲响应等于滤波器系数。  阶滤波器的系数定义为
 .
  • 误差信号或者叫作代价函数,是所要信号与估计信号之差
 

可变滤波器通过将输入信号与脉冲响应作卷积估计所要信号,用向量表示为

 

其中

 

是输入信号向量。另外,可变滤波器每次都会马上改变滤波器系数

 

其中   是滤波器系数的校正因子。自适应算法根据输入信号与误差信号生成这个校正因子,LMS 和 RLS 是两种不同的系数更新算法。

例子

编辑

假设医院正在监测一个患者的心脏跳动,即心电图,这个信号受到 50 Hz (许多国家供电所用频率)噪声的干扰

剔除这个噪声的方法之一就是使用 50Hz 的点阻滤波器对信号进行滤波。但是,由于医院的电力供应会有少许波动,所以假设真正的电力供应可能会在 47Hz 到 53Hz 之间波动。为了剔除 47 到 53Hz 之间的频率的静态滤波器将会大幅度地降低心电图的质量,这是因为在这个阻带之内很有可能就有心脏跳动的频率分量。

为了避免这种可能的信息丢失,可以使用自适应滤波器。自适应滤波器将患者的信号与电力供应信号直接作为输入信号,动态地跟踪噪声波动的频率。这样的自适应滤波器通常阻带宽度更小,这就意味着这种情况下用于医疗诊断的输出信号就更加准确。

自适应滤波器的应用

编辑

伪代码

编辑

以下伪代码利用二阶自适应横向滤波器对一个加上噪声的正弦讯号进行滤波,可以用 PythonMatlab 实现。

   t ← (0 TO 1 BY 0.0001)
   # 生成sin訊號
   s ← sin(t)
   size_s = LEN(s)
   # 生成雜訊
   n ← randn(size_s)
   # 將雜訊疊加至原sin訊號上
   x ← s + n
   w ← [0, 0.5]
   u ← 0.00026
   for i (1 TO 9999):
       y(i + 1) ← n(i: i+1) * w'
       e(i + 1) ← x(i + 1) - y(i + 1)
       w ← w + 2 * u * e(i + 1) * n(i: i + 1)
   ENDFOR
   plt.subplot(3, 1, 1)
   plt.plot(t, x)
   plt.title("sin + noise")
   plt.subplot(3, 1, 1)
   plt.plot(t, x)
   plt.title("sin")
   plt.subplot(3, 1, 1)
   plt.plot(t, x)
   plt.title("Filtered result")
   plt.show()

滤波器实现

编辑

参考文献

编辑

参见

编辑

📚 Artikel Terkait di Wikipedia

贝塞尔滤波器

h, w ← freqs(b, a, n) magh2 ← abs(h) ** 2 phah ← unwrap(angle(h)) plt.subplot(2, 2, pos) plt.xlim(0, 2) plt.xlabel("w/wc") plt.ylabel("Bessel H(jw)^2")

林書豪

(原始内容存档于2018-12-05).  Devine, Dan. Surging Jeremy Lin hopes to 'be a subplot' as Rockets visit MSG to take on Knicks. Yahoo. 2013-11-14 [2020-09-04]

叙事线

知道结尾”的叙事手法。因此,由不同但又特定人物或特定的一组人物所经历的叙事线;是由从虚构作品中的那些人物眼中所看到的情节元素或细节情节(英语:Subplot)所构成的。在这个意义上,每一个叙事线都是一个作品的一个部分;而作品反映了参与其中作为整体一部分的每个人物的世界观,这些人物可能是作者所想描写

花木兰 (迪士尼)

强独立,不由男性角色主宰命运。因此,木兰和李翔上尉(英语:Li Shang (Mulan character))的关系被降级为次要情节(英语:subplot),同时強調木兰的勇气和力量,保证她是自己故事中的英雄。木兰的监督动画师马克·海恩(英语:Mark Henn)故意将角色设计得没有之前的公主那样的女性化。

第三次世界大戰

ISBN 9781439190074.  Rosen, Armin. A Newly Declassified CIA Paper Details A Tense Subplot In The Cold War Arms Race. Business Insider. [2022-03-29]. (原始内容存档于2014-10-24)

蒲瑞维特算子

figure() plt.subplot(221) plt.axis('off'); plt.title('Grayscale image of fruits'); plt.imshow(img, cmap='gray', vmin=0, vmax=255) plt.subplot(222) plt.axis('off')

Dreamcast

relationship is flirty and loving, but never blooms into the dreaded romantic subplot, filled with ellipses and uncomfortable mutterings.  Mott 2013,第438頁. GI

Matplotlib

plt.figure() >>> # ax = fig.gca(projection='3d') (Old) >>> ax = fig.add_subplot(projection='3d') >>> X = np.arange(-5, 5, 0.25) >>> Y = np.arange(-5, 5