转换现有的FIR和IIR滤波器的设计修改检索形式通常是通过使用allpass频率转换。虽然产生的设计可以更昂贵的比原型(原始)滤波器维数,其易用性在固定或可变的应用程序是一个很大的优势。
频率转换的总体想法是把现有的原型滤波器和从它产生另一个过滤,保留了一些原型的特点,在频域。转换函数实现这个替换每个延迟元素的原型滤波器和一个allpass过滤器精心设计有一个规定的相位特性实现的修改要求的设计师。
映射常用的基本形式
的H<年代ub>一个(z)是一个N阶滤波器由allpass映射
在哪里
H<年代ub>o(z)——原型滤波器的传递函数
H<年代ub>一个(z)——allpass映射滤波器的传递函数
H<年代ub>T(z)-目标滤波器的传递函数
让我们看一个简单的转换的例子
目标滤波器具有两极和零翻转在真正的起源和虚轴。实际滤波器的原型,它给镜子效应对0.5,这意味着低通滤波器H<年代ub>o(z)产生一个真正的高通滤波H<年代ub>T(z)。这是如下图所示的原型滤波器设计为一个三阶halfband椭圆滤波器。
一个简单的镜像变换的例子
allpass过滤器的选择提供必要的频率映射提供原型滤波器的频率响应的频率翻译到目标滤波器通过改变原型滤波器的频率特性的位置不影响滤波器的整体形状的反应。
滤波器的相位响应映射规范化π可以解释为一个翻译功能:
频率变换的图形解释如下图所示。复杂的多波段的转换需要一个真正的低通滤波器转换成单位圆的通频带。
图形映射过程的解释
大多数的频率转换是基于二阶allpass映射过滤:
提供的两个自由度α<年代ub>1和α<年代ub>2通常使用的选择还没有完全限制组“平顶”古典映射像低通,带通。相反,任何两个传递函数特性可以迁移到(几乎)任何其他两个位置如果频率α<年代ub>1和α<年代ub>2选择以保持的波兰人吗H<年代ub>一个(z严格在单位圆外(因为)H<年代ub>一个(z)代替z在传递函数的原型)。此外,选择第一个指出的康斯坦丁尼德斯外面的迹象是否影响原特性在零可以移动(负号,称为“直流流动”)或奈奎斯特频率是否可以迁移(“奈奎斯特流动”情况下产生当领导是积极的迹象)。
选择合适的频率变换实现所需的效果,正确的原型滤波器的特点是非常重要的,需要仔细考虑。不建议使用一阶转换控制多个特性。映射过滤不会提供足够的灵活性。也不好使用高阶转换来改变低通滤波器的截止频率。增加过滤器的顺序将是太大,不考虑的额外副本中创建的原型滤波器可能不受欢迎的地方。
真正的低通,带通变换特征选择
为了说明这个想法,二阶的多点转换应用三次相同的椭圆halfband过滤器,使它变成一个带通滤波器。在三种情况下,两种不同特性的原型滤波器被选为了获得一个带通滤波器通频带范围从0.25到0.75。直流特性的位置并不重要,但它将是有利的,如果是在通带的边缘之间的中间目标过滤。在第一种情况下选择的特征是左派和右派带低通滤波器通带的边缘,在第二种情况下,他们离开了乐队边缘和直流,在第三例直流和带边缘。
结果选择不同的特性
所有三种方法的结果是完全不同的。为每个人只有选择功能定位正是他们需要的地方。在第一种情况下直流朝着左边通带边缘就像所有的其他特性接近左边缘被压榨。在第二种情况下正确的通频带边缘被走出预期目标的精确位置需要直流。在第三例左通频带边缘被拉向直流为了它在正确的频率位置。结论是,如果只能在直流通频带,通频带的边缘应该是选择转换。对于大多数情况下需要定位的通带和阻带,设计师应该选择原型滤波器的边缘的位置,以确保他们得到目标的边缘滤波器在正确的地方。频率响应的三种情况考虑在图中所示。原型滤波器是一个三阶椭圆低通滤波器的截止频率为0.5。
MATLAB<年代up>®这里给出代码用于生成图。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
在示例需求将创建一个真正的带通滤波器通带边缘在0.1和0.3的低通滤波器的截止频率为0.5。这是试图在三种不同的方式。在第一种方法的边缘通频带选择,第二种方法的左边缘的通频带选择直流,而第三种方法直流和通频带的右边缘:
[num1, den1] = iirlp2xn (b, a, [-0.5, 0.5], [0.1, 0.3]);[num2, den2] = iirlp2xn (b, a, [-0.5, 0.0], [0.1, 0.2]);[num3, den3] = iirlp2xn (b, a, [0.0, 0.5], [0.2, 0.3]);
一般频率映射转换原型滤波器,H<年代ub>o(z),到目标过滤器,H<年代ub>T(z),使用N<年代ub>一个阶allpass过滤器,H<年代ub>一个(z)。allpass映射给出了滤波器的一般形式<一个href="//www.tatmou.com/help/dsp/ug/digital-frequency-transformations.html" class="intrnllnk">概述的转换。频率映射是一种数学运算,取代每延迟器的原型滤波器allpass过滤器。有两种方式执行这些映射。方法的选择取决于原型和目标过滤器是如何表示的。
当N阶原型滤波器pole-zero形式给出
映射将取代每一杆,p<年代ub>我,每个0,z<年代ub>我,极数和0等于allpass映射过滤器的顺序:
根上找到需要使用括号内的表达式为了找到目标的极点和零点过滤器。
当原型滤波器numerator-denominator所描述的形式:
然后映射过程需要大量的运算来计算目标的分子和分母过滤器:
对于每一个系数α<年代ub>我和β<年代ub>我的原型滤波器N<年代ub>一个阶多项式卷积N
次了。这种方法可能会导致舍入误差大原型过滤器和/或高阶映射过滤器。在这种情况下,用户应该考虑的替代使用通过极点和零点的映射。
优势
大多数频率转换被封闭的解决方案或可以从一组线性方程计算。金宝搏官方网站
他们给可预测的和熟悉的结果。
波纹高度保留原型滤波器在目标过滤器。
它们在架构上是呼吁变量和自适应滤波器。
缺点
在某些情况下,使用优化方法设计所需的过滤提供了更好的结果。
高阶转换目标的维数增加过滤器,这可能给昂贵的最终结果。
从新鲜的设计有助于避免闭锁妥协。
本节讨论的频率转换,接受真正的低通原型滤波器,并将其转换成不同的真正目标滤波器。目标滤波器的频率响应修改原型滤波器的频率响应方面根据应用频率转换的特点。
真正的频移变换使用二阶滤波器allpass映射。它执行一个精确的频率响应的一个选定的功能映射到它的新位置,此外移动尼奎斯特和直流特性。这有效地移动的整体响应低通滤波器通过指定的距离选择原型滤波器和目标特性的过滤器。作为一个真正的转变,这对积极和消极作用类似频率。
与α的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新——功能最初的位置ω<年代ub>老在目标过滤
下面的例子展示了如何使用这种转换将原型低通滤波器的响应。请注意,因为目标滤波器也必须是真实的,目标的响应滤波器本身会扰动频率接近奈奎斯特和接近。这是MATLAB代码生成图的例子。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
最初示例转换动作特性在0.5到0.9:
(num窝]= iirshift (b,, 0.5, 0.9);
真正的频移映射的例子
真正的低通滤波器,低通滤波器转换使用一阶滤波器allpass映射。它执行一个精确的频率响应的一个特性映射到新的位置保持直流和奈奎斯特特性固定。作为一个真正的转变,这对积极和消极作用类似频率。一定要提到使用一阶映射确保过滤器的顺序变换后与原来的相同。
与α给出的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新——频率相同的功能在目标的位置过滤器
下面的例子展示了如何修改原型滤波器的截止频率。这个例子的MATLAB代码如下图所示。
原型滤波器是halfband椭圆形,真实的,三阶滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
截止频率从0.5到0.75:
(num窝]= iirlp2lp (b,, 0.5, 0.75);
真正的低通滤波器,低通映射的例子
真正的低通滤波器,高通滤波器变换使用一阶滤波器allpass映射。它执行一个精确的频率响应的一个特性映射到新的位置此外交换直流和奈奎斯特特性。作为一个真正的转变,这对积极和消极作用类似频率。就像在前面因为使用一阶映射变换,过滤转换前后的顺序是一样的。
与α给出的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新——频率相同的功能在目标的位置过滤器
下面的例子显示了如何将低通滤波器转换成高通滤波器,任意选择的截止频率。下面的MATLAB代码,低通滤波器转换成高通滤波截止频率转移从0.5到0.75。结果在图中所示。
原型滤波器是halfband椭圆形,真实的,三阶滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
截止频率从0.5到0.75的例子:
(num窝]= iirlp2hp (b,, 0.5, 0.75);
真正的低通,高通的映射的例子
真正的低通滤波器,带通滤波器变换使用二阶滤波器allpass映射。它执行的精确映射的两个特征频率响应到他们的新位置此外移动固定直流特性并保持尼奎斯特特征。作为一个真正的转变,这对积极和消极作用类似频率。
与α和β给出的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新的,1最初在(- -位置的功能ω<年代ub>老)在目标过滤器
ω<年代ub>新2最初在(+ -位置的功能ω<年代ub>老)在目标过滤器
下面的例子显示了如何移动原型低通滤波器的响应。请注意,因为目标滤波器也必须是真实的,目标的响应滤波器本身会扰动频率接近奈奎斯特和接近。这是MATLAB代码生成图的例子。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建了0.5和0.75之间的通带:
(num,窝)= iirlp2bp (b, a 0.5 [0.5, 0.75]);
真正的低通,带通映射的例子
真正的低通滤波器实际bandstop滤波器变换使用二阶滤波器allpass映射。它执行的精确映射的两个特征频率响应到他们的新位置此外移动尼奎斯特特性并保持固定的直流特性。这有效地创建一个选择之间的阻带频率在目标位置过滤器。作为一个真正的转变,这对积极和消极作用类似频率。
与α和β给出的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新的,1最初在(- -位置的功能ω<年代ub>老)在目标过滤器
ω<年代ub>新2最初在(+ -位置的功能ω<年代ub>老)在目标过滤器
下面的例子展示了如何使用这个变换转换原型低通滤波器的截止频率为0.5成相同真正bandstop滤波器通带和阻带波纹结构和阻带定位在0.5和0.75之间。这是MATLAB代码生成图的例子。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建一个阻带从0.5到0.75:
(num,窝)= iirlp2bs (b, a 0.5 [0.5, 0.75]);
真正的低通滤波器实际Bandstop映射的例子
这个高阶转换执行的准确映射一个选择特性的原型滤波器频率响应为目标的新的地点过滤器。最常用的是把一个真正的低通滤波器与预定义的通带和阻带波动成真正的多频带滤波器N任意带边缘,在那里Nallpass映射过滤器的顺序。
系数α是由
在哪里
ω<年代ub>老k——频率位置的第一个原型滤波器的特性
ω<年代ub>新的k——功能最初的位置ω<年代ub>老k在目标过滤
流动性因素,年代,指定移动或直流或尼奎斯特特点:
下面的例子显示了如何使用这个变换转换原型低通滤波器截止频率为0.5成滤波器有很多乐队定位在任意边缘频率1/5,2/5,3/5和4/5。参数年代
,有一个通频带。这是MATLAB代码生成图。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建三个阻带,从直流到0.2,从0.4到0.6和0.8奈奎斯特:
(num,窝)= iirlp2mb (b, a 0.5(0.2, 0.4, 0.6, 0.8),“通过”);
真正的低通到真正的多波段映射的例子
这个高阶频率转换执行的准确映射选择特性的原型滤波器的频率响应他们的新位置在目标过滤器。映射给出了滤波器传递函数的一般的IIR多项式形式如下考虑。
为N阶多点频率转换系数α是
在哪里
ω<年代ub>老k——频率位置的第一个原型滤波器的特性
ω<年代ub>新的k——功能最初的位置ω<年代ub>老k在目标过滤
流动性因素,年代,指定直流或奈奎斯特的流动特性:
下面的例子显示了如何使用这种转换将功能原型低通滤波器最初的-0.5和0.5在0.5和0.75新位置,有效地改变滤波器通带的位置。这是MATLAB代码生成图。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建一个通频带从0.5到0.75:
(num,窝)= iirlp2xn (b, a,[-0.5, 0.5],[0.5, 0.75], '通过');
真正的低通到真正的多点映射的例子
本节讨论复杂的频率转换,接受复杂的原型滤波器,并将其转换成不同的复杂目标过滤器。目标滤波器的频率响应修改原型滤波器的频率响应方面根据应用频率变换的特点:
复杂的频移变换是最简单的一阶转换执行的准确映射一个选定的特征频率响应到它的新位置。同时旋转的整体响应低通滤波器原型通过指定的距离选择原型滤波器和目标特性的过滤器。
与α给出的
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新——功能最初的位置ω<年代ub>老在目标过滤
复频移的一个特例,所谓,希尔伯特变换器。它可以通过设置参数来|α| =1,这是
下面的例子显示了如何应用这个变换旋转原型低通滤波器的响应。请注意,因为转换可以通过一个简单的相移算子,所有功能的原型滤波器将相同数量所感动。这是MATLAB代码生成图的例子。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
最初示例转换动作特性在0.5到0.3:
(num窝]= iirshiftc (b,, 0.5, 0.3);
复杂的频移映射的例子
这个一阶转换执行的准确映射一个选择特性的原型滤波器频率响应为两个新的地点在目标过滤器创建一个他们之间的通频带。尼奎斯特和直流特性可以移动的频率响应。
与α和β是由
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新的,1最初在(- -位置的功能ω<年代ub>老)在目标过滤器
ω<年代ub>新2最初在(+ -位置的功能ω<年代ub>老)在目标过滤器
下面的例子显示了使用这种转换为真正的halfband低通滤波器转换成一个复杂的带通滤波器与带边缘0.5和0.75。这是MATLAB代码生成图的例子。
原型滤波器是带半椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
从0.5到0.75转换创建一个通带:
(num,窝)= iirlp2bpc (b, a 0.5 [0.5 - 0.75]);
真正的低通复杂的带通映射的例子
这个一阶转换执行的准确映射一个选择特性的原型滤波器频率响应为两个新的地点在目标过滤器创建一个阻带。尼奎斯特和直流特性可以移动的频率响应。
与α和β是由
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新的,1最初在(- -位置的功能ω<年代ub>老)在目标过滤器
ω<年代ub>新2最初在(+ -位置的功能ω<年代ub>老)在目标过滤器
下面的例子显示了使用这种转换为真正的halfband低通滤波器转换成一个复杂bandstop滤波器与带边缘0.5和0.75。这是MATLAB代码生成图的例子。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
从0.5到0.75转换创建一个阻带:
(num,窝)= iirlp2bsc (b, a 0.5 [0.5 - 0.75]);
真正的低通滤波器的例子复杂Bandstop映射
这个高阶转换执行的准确映射一个选择特性的原型滤波器频率响应为目标的新的地点过滤器。最常用的是把一个真正的低通滤波器与预定义的通带和阻带波动与任意多频带滤波器频带边缘。映射过滤器的顺序必须是偶数,对应于一个偶数的乐队在目标边缘滤波器。的N阶复杂allpass映射过滤器是由一般的传递函数形式如下:
系数α线性方程组的计算:
在哪里
ω<年代ub>老-频率的位置选择的原型滤波器的特性
ω<年代ub>新的,我最初在±-位置的特性ω<年代ub>老在目标过滤
参数年代额外的旋转因子的频率距离ΔC,为实现所需的映射的灵活性:
这种转换的示例展示了使用转换的真实原型低通滤波器截止频率为0.5的多波段复数滤波器频带边缘为0.2,0.4,0.6和0.8,创建两个通带在单位圆。这是MATLAB代码生成图。
真正的低通到复杂的多波段映射的例子
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建两个复杂的通带:
(num,窝)= iirlp2mbc (b, a 0.5 (0.2, 0.4, 0.6, 0.8));
这个高阶转换执行的准确映射选择特性的原型滤波器的频率响应他们的新位置在目标过滤器。的N阶复杂allpass映射过滤器是由以下一般的传递函数形式给出。
系数α可以计算的线性方程组:
在哪里
ω<年代ub>老k——频率位置的第一个原型滤波器的特性
ω<年代ub>新的k——功能最初的位置ω<年代ub>老k在目标过滤
参数年代额外的旋转因子的频率距离ΔC,为实现所需的映射的灵活性:
以下示例展示如何使用这个变换移动选定的特征原型低通滤波器最初在-0.5到-0.5和0.1两个新的频率,第二个功能的原型滤波器从0.5到-0.25和0.3的新位置。这将创建两个非对称通频带在单位圆,创建一个复杂的过滤器。这是MATLAB代码生成图。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建两个非对称通带:
(num,窝)= iirlp2xc (b, a, 0.5 * (1, 1, 1, 1), [-0.5, -0.25, 0.1, 0.3]);
真正的低通复杂的多点映射的例子
这个一阶转换执行的精确映射两个选择特性的原型滤波器频率响应为两个新的地点在目标过滤器。最常见的使用是调整的边缘复杂的带通滤波器。
与α和β是由
在哪里
ω<年代ub>老了,1——频率位置的第一个原型滤波器的特性
ω<年代ub>老2——第二功能原型滤波器的频率位置
ω<年代ub>新的,1——功能最初的位置ω<年代ub>老了,1在目标过滤
ω<年代ub>新2——功能最初的位置ω<年代ub>老2在目标过滤
下面的例子展示了如何使用这种转换修改原型滤波器的通带的位置,真实的或复杂的。在下面的例子中从0.5到0.75张成的原型滤波器通带。这是转化为在-0.5和0.1之间的通频带。这是MATLAB代码生成图。
原型滤波器是halfband椭圆形,真实的,三阶低通滤波器:
[b] = ellip(3, 0.1, 30日,0.409);
转换的示例创建一个通频带从0.25到0.75:
(num,窝)= iirbpc2bpc (b, a, [0.25, 0.75], [-0.5, 0.1]);
复杂的带通到复杂的带通映射的例子