文档

intfilt

插值FIR滤波器设计

语法

b = intfilt (l pα)
b = intfilt (l, n,“拉格朗日”)

描述

b = intfilt (l pα)设计了一个线性相位FIR滤波器,利用最近邻实现理想的限带插值2p非零样本,当用在与l - 1连续0每l样本。它假设原始带宽限制为乘以奈奎斯特频率。返回的筛选器与插值函数b长度是2 *lp - 1

Alpha与滤波器的过渡带宽成反比,它还影响阻带中无关区域的带宽。指定alpha允许您指定输入信号占用多少Nyquist间隔。这是有益的,特别是对于要内插的信号,因为它允许您在不影响内插的情况下增加过渡带宽,并在给定的情况下获得更好的阻带衰减lp.如果将alpha设为1,则假定信号占据了整个奈奎斯特区间。将alpha设置为小于1允许在停止带中存在不关心区域。例如,如果您的输入占用了一半的Nyquist间隔,您可以将alpha设置为0.5。

b = intfilt (l, n,“拉格朗日”)设计一个FIR滤波器执行n三阶拉格朗日多项式的插值l - 1连续0每r样本。b长度(n + 1)ln甚至,和长度(n + 1)l - 1n奇数。如果两个nl均为偶数时,设计的滤波器相位不是线性的。

这两种滤波器基本上都是低通的,增益为l在通频带。

例子

全部折叠

设计了一个数字插值滤波器,利用限带方法对信号进行七次上采样。指定“带宽限制”系数为0.5并使用插值中的样本。

upfac = 7;α= 0.5;h1 = intfilt (upfac 2α);

当原始信号带宽受限时,滤波器工作得最好α乘以奈奎斯特频率。通过生成200个高斯随机数和用40阶FIR低通滤波器过滤序列来创建一个限带噪声信号。重置随机数生成器以获得可重复的结果。

lowp = fir1(40、α);rng (“默认”) x = filter(lowp,1,randn(200,1));

的每对样本之间插入零,以增加信号的采样率x

xr = upsample (x, upfac);

使用过滤器函数产生内插信号。

y =过滤器(h1 1 xr);

补偿滤波器引入的延迟。绘制原始信号和内插信号。

延迟=意味着(grpdelay (h1));y(1:延迟)= [];阀杆(1:upfac: upfac *长度(x), x)情节(y) xlim (700 [400])

intfilt也执行拉格朗日多项式插值。

  • 一阶多项式内插是线性内插,用三角滤波器实现。

  • 零阶插值是用一个移动平均滤波器完成的,类似于采样保持显示的输出。

插入原始信号并覆盖结果。

h2 = intfilt (upfac 1“拉格朗日”);y2 =过滤器(h2, 1, xr);y2(1:地板(平均(grpdelay (h2 )))) = [];情节(y2)

算法

带宽限制方法使用firls设计一个插值FIR滤波器。多项式法使用拉格朗日多项式插值公式对等间距样本构造适当的滤波器。

扩展功能

之前介绍过的R2006a

这个话题有用吗?