数字频率变换
细节及方法
转换概述
将现有的FIR或IIR滤波器设计转换为改进的IIR形式通常使用全通频率转换。虽然最终的设计在维数方面可能比原型(原始)滤波器昂贵得多,但它们在固定或可变应用中的易用性是一个很大的优势。
频率变换的一般思想是取一个现有的原型滤波器,并由此产生另一个滤波器,它保留了原型滤波器在频域的一些特征。转换函数通过将原型滤波器的每个延迟元件替换为全通滤波器来实现这一点,全通滤波器经过精心设计,具有规定的相位特征,以实现设计者所要求的修改。
常用的映射的基本形式是
的H<年代ub>一个(z)是一个N给出的th阶全通映射滤波器
在哪里
H<年代ub>o(z) -原型滤波器的传递函数
H<年代ub>一个(z) -全通映射滤波器的传递函数
H<年代ub>T(z-目标滤波器的传递函数
让我们看一个简单的变换例子
目标滤波器的极点和零点在实轴和虚轴的原点上翻转。对于真正的滤波器原型,它给出了一个针对0.5的镜像效果,这意味着低通H<年代ub>o(z)会导致一个真正的highpassH<年代ub>T(z).下图为设计为三阶半带椭圆滤波器的原型滤波器。
简单镜像转换的例子
选择全通滤波器来提供频率映射是必要的,以便通过改变原型滤波器的特征的频率位置来提供原型滤波器频率响应到目标滤波器的频率平移,而不影响滤波器响应的整体形状。
映射滤波器的相位响应归一化为π可以解释为平移函数:
频率变换的图形解释如下图所示。复杂多带变换采用一个真实的低通滤波器,并将其转换为单位圆周围的若干个通带。
绘图过程的图形解释
大多数频率变换是基于二阶全通映射滤波器:
所提供的两个自由度α<年代ub>1而且α<年代ub>2通常的“平顶”经典映射(如低通到带通)没有充分使用选择。相反,任何两个传递函数特征都可以迁移到(几乎)任何两个其他频率位置α<年代ub>1而且α<年代ub>2是为了保持两极的H<年代ub>一个(z)严格地在单位圆之外(因为H<年代ub>一个(z)被替换为z原型传递函数)。此外,正如Constantinides首先指出的那样,外部符号的选择影响到零点处的原始特征是否可以移动(负号,一种称为“直流迁移”的情况)或奈奎斯特频率是否可以迁移(当前导符号为正时出现的“奈奎斯特迁移”情况)。
选择需要转换的特性
选择合适的频率变换以达到所需的效果和原型滤波器的正确特性是非常重要的,需要仔细考虑。使用一阶变换控制多个特征是不可取的。映射筛选器不会提供足够的灵活性。用高阶变换仅仅改变低通滤波器的截止频率也是不好的。如果不考虑可能在不需要的地方创建的原型过滤器的额外副本,过滤器订单的增加就太大了。
真实低通到带通转换的特征选择
为了说明这一思想,对同一个椭圆半带滤波器进行了三次二阶实多点变换,使其成为一个带通滤波器。在这三种情况下,分别选取两种不同特征的原型滤波器,以获得通带范围为0.25 ~ 0.75的带通滤波器。直流特征的位置并不重要,但如果它位于目标滤波器通带边缘之间的中间,则是有利的。在第一种情况下,所选择的特征是低通滤波器通带的左右带边,在第二种情况下,它们是左带边和DC,在第三种情况下,它们是DC和右带边。
选择不同特征的结果
这三种方法的结果完全不同。对于它们中的每一个,只有选定的特征被精确地定位在它们需要的位置。在第一种情况下,DC向左通带边缘移动,就像所有靠近左边缘的其他特征被挤压在那里一样。在第二种情况下,由于需要精确的直流位置,右通带边缘被推出预期目标。在第三种情况下,左通带边缘被拉向直流,以便将其定位在正确的频率。结论是,如果只有直流可以在通带中的任何位置,则应该选择通带的边缘进行变换。对于大多数需要通带和阻带定位的情况,设计人员应该始终选择原型滤波器边缘的位置,以确保他们在正确的位置获得目标滤波器的边缘。所考虑的三种情况的频率响应如图所示。原型滤波器为截止频率为0.5的三阶椭圆低通滤波器。
MATLAB<年代up>®这里给出了用于生成图形的代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
在本例中,要求设置为创建一个真正的带通滤波器,其通带边为0.1和0.3,而实际低通滤波器的截止频率为0.5。这可以通过三种不同的方式实现。在第一种方法中,通带的两个边缘都被选择,在第二种方法中,通带的左边缘和DC被选择,而在第三种方法中,DC和通带的右边缘被选择:
[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>一个三阶全通滤波器,H<年代ub>一个(z).给出了全通映射滤波器的一般形式<一个href="//www.tianjin-qmedu.com/help/dsp/ug/digital-frequency-transformations.html" class="intrnllnk">转换概述.频率映射是用全通滤波器代替原型滤波器的每个延迟器的数学运算。执行这种映射有两种方式。方法的选择取决于原型和目标滤波器的表示方式。
当N给出了零极形式的th阶原型滤波器
映射将替换每个极点,p<年代ub>我,每个0,z<年代ub>我,其中极点和零的个数等于allpass映射过滤器的顺序:
为了找到目标过滤器的极点和零点,需要在括号中的表达式上使用根查找。
当原型滤波器以分子-分母形式描述时:
然后映射过程将需要进行多次卷积,以计算目标滤波器的分子和分母:
对于每个系数α<年代ub>我而且β<年代ub>我的原型滤波器N<年代ub>一个阶多项式必须进行卷积N
次了。这种方法对于大型原型滤波器和/或高阶映射滤波器可能会导致舍入误差。在这种情况下,用户应该考虑使用通过极点和零来进行映射的替代方案。
频率变换综述
优势
大多数频率变换是用封闭形式的解来描述的,或者可以从线性方程组中计算出来。万博 尤文图斯
它们给出了可预测和熟悉的结果。
原型滤波器的纹波高度保留在目标滤波器中。
它们在架构上对可变和自适应过滤器很有吸引力。
缺点
在某些情况下,使用优化方法设计所需的过滤器会得到更好的结果。
高阶变换增加了目标滤波器的维数,这可能会给出代价高昂的最终结果。
从新的设计开始有助于避免陷入妥协。
实滤波器的频率变换
概述
本节讨论将真实低通原型滤波器转换为不同真实目标滤波器的真实频率变换。根据所施加的频率变换的特性,目标滤波器的频率响应相对于原型滤波器的频率响应进行了修正。
实频移
实频移变换采用二阶全通映射滤波器。它将频率响应的一个选定特征精确地映射到它的新位置,此外还移动奈奎斯特特征和直流特征。这有效地将低通滤波器的整个响应移动到原型滤波器和目标滤波器之间的特征选择所指定的距离。作为一个真实的变换,它以类似的方式作用于正频率和负频率。
α由
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新-特征的原始位置ω<年代ub>老在目标过滤器中
下面的示例展示了如何使用这种转换将原型低通滤波器的响应向任意方向移动。请注意,由于目标滤波器也必须是实数,在接近奈奎斯特频率和接近直流频率时,目标滤波器的响应将固有地受到干扰。下面是生成图中示例的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
示例转换将原来的0.5特性移动到0.9:
[num,den] = iirshift(b, a, 0.5, 0.9);
实频移映射示例
真实低通到真实低通
实低通滤波器到实低通滤波器的转换使用一阶全通映射滤波器。它将频率响应的一个特征精确地映射到新的位置,保持DC和Nyquist特征固定。作为一个真实的变换,它以类似的方式作用于正频率和负频率。需要强调的是,使用一阶映射可以确保转换后过滤器的顺序与最初相同。
与α给出的
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新-同一特征在目标滤波器中的频率位置
下面的例子展示了如何修改原型滤波器的截止频率。本例的MATLAB代码如下图所示。
原型滤波器是一个半带椭圆实数三阶滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
截止频率从0.5移动到0.75:
[num,den] = iirlp2lp(b, a, 0.5, 0.75);
真实低通到真实低通映射的例子
真实低传球到真实高传球
实低通滤波器到实高通滤波器的转换使用一阶全通映射滤波器。它将频率响应的一个特征精确地映射到新位置,并交换DC和Nyquist特征。作为一个真实的变换,它以类似的方式作用于正频率和负频率。就像在前面的转换中一样,因为使用了一阶映射,所以转换前后的过滤器顺序是相同的。
与α给出的
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新-同一特征在目标滤波器中的频率位置
下面的例子展示了如何用任意选择的截止频率将低通滤波器转换为高通滤波器。在下面的MATLAB代码中,将低通滤波器转换为截止频率从0.5移至0.75的高通滤波器。结果如图所示。
原型滤波器是一个半带椭圆实数三阶滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
这个例子将截止频率从0.5移动到0.75:
[num,den] = iirlp2hp(b, a, 0.5, 0.75);
真实低通到真实高通映射的例子
真实低通到真实带通
实低通滤波器到实带通滤波器的转换采用二阶全通映射滤波器。它将频率响应的两个特征精确映射到它们的新位置,另外移动直流特征并保持奈奎斯特特征固定。作为一个真实的变换,它以类似的方式作用于正频率和负频率。
与α而且β给出的
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新的,1-特征的原始位置(-ω<年代ub>老)
ω<年代ub>新2-特征的原始位置(+ω<年代ub>老)
下面的例子展示了如何将原型低通滤波器的响应向任意一个方向移动。请注意,由于目标滤波器也必须是实数,在接近奈奎斯特频率和接近直流频率时,目标滤波器的响应将固有地受到干扰。下面是生成图中示例的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
转换示例创建了介于0.5和0.75之间的通带:
[num,den] = iirlp2bp(b, a, 0.5, [0.5, 0.75]);
真实低通到真实带通映射示例
Real Lowpass to Real Bandstop
实低通滤波器到实带阻滤波器的转换采用二阶全通映射滤波器。它将频率响应的两个特征精确映射到它们的新位置,另外移动奈奎斯特特征并保持DC特征固定。这有效地在目标滤波器中所选频率位置之间创建了阻带。作为一个真实的变换,它以类似的方式作用于正频率和负频率。
与α而且β给出的
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新的,1-特征的原始位置(-ω<年代ub>老)
ω<年代ub>新2-特征的原始位置(+ω<年代ub>老)
下面的示例展示了如何使用这种转换将截止频率为0.5的原型低通滤波器转换为具有相同通带和阻带纹波结构且阻带位置在0.5到0.75之间的真正带阻滤波器。下面是生成图中示例的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
转换示例创建了从0.5到0.75的止带:
[num,den] = iirlp2bs(b, a, 0.5, [0.5, 0.75]);
真实低通到真实带阻映射的例子
真实低通到真实多频带
这种高阶变换将原型滤波器频率响应的一个选定特征精确地映射到目标滤波器中的许多新位置。它最常见的用途是将具有预定义通带和阻带波纹的真实低通转换为具有预定义通带和阻带波纹的真实多带滤波器N任意带边,其中Nallpass映射筛选器的顺序。
系数α是由
在哪里
ω<年代ub>老k-原型滤波器中第一个特征的频率位置
ω<年代ub>新的k-特征的原始位置ω<年代ub>老k在目标过滤器中
流动性因子,年代,指定可迁移性或DC或Nyquist特征:
下面的示例展示了如何使用这种转换将截止频率为0.5的原型低通滤波器转换为具有位于任意边缘频率1/ 5,2 / 5,3 /5和4/5的多个频带的滤波器。参数年代
在DC有一个通带。下面是生成图形的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
转换示例创建了三个止水带,从DC到0.2,从0.4到0.6,从0.8到Nyquist:
(num,窝)= iirlp2mb (b, a 0.5(0.2, 0.4, 0.6, 0.8),“通过”);
真实低通到真实多带映射的例子
真实低通到真实多点
这种高阶频率变换将原型滤波器频率响应的许多选定特征精确映射到它们在目标滤波器中的新位置。映射滤波器由传递函数的一般IIR多项式形式给出,如下所示。
为N系数的th阶多点频率变换α是
在哪里
ω<年代ub>老k-原型滤波器中第一个特征的频率位置
ω<年代ub>新的k-特征的原始位置ω<年代ub>老k在目标过滤器中
流动性因子,年代,指定DC特征或Nyquist特征的迁移率:
下面的示例展示了如何使用这种转换将原型低通滤波器最初在-0.5和0.5的特征移动到0.5和0.75的新位置,从而有效地改变滤波器通带的位置。下面是生成图形的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = 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代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
示例转换将原来的特性从0.5移动到0.3:
[num,den] = iirshiftc(b, a, 0.5, 0.3);
复频移映射示例
真实低通到复杂带通
这种一阶变换将原型滤波器频率响应的一个选定特征精确地映射到目标滤波器中的两个新位置,在它们之间创建通带。奈奎斯特特征和直流特征都可以随着频率响应的其余部分移动。
与α而且β是由
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新的,1-特征的原始位置(-ω<年代ub>老)
ω<年代ub>新2-特征的原始位置(+ω<年代ub>老)
下面的例子展示了如何将一个真正的半带低通滤波器转换为带边分别为0.5和0.75的复带通滤波器。下面是生成图中示例的MATLAB代码。
原型滤波器为半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
这个转换创建了一个从0.5到0.75的通带:
[num,den] = iirlp2bpc(b, a, 0.5, [0.5 0.75]);
真实低通到复杂带通映射示例
真正的低通到复杂带挡
这种一阶变换将原型滤波器频率响应的一个选定特征精确地映射到目标滤波器中的两个新位置,在它们之间创建阻带。奈奎斯特特征和直流特征都可以随着频率响应的其余部分移动。
与α而且β是由
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新的,1-特征的原始位置(-ω<年代ub>老)
ω<年代ub>新2-特征的原始位置(+ω<年代ub>老)
下面的例子展示了使用这样的转换将真正的半带低通滤波器转换为带边为0.5和0.75的复杂带阻滤波器。下面是生成图中示例的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
该转换创建了从0.5到0.75的阻带:
[num,den] = iirlp2bsc(b, a, 0.5, [0.5 0.75]);
真实低通到复杂带阻映射的例子
真实低通到复杂多带
这种高阶变换将原型滤波器频率响应的一个选定特征精确地映射到目标滤波器中的许多新位置。它最常见的用途是将具有预定义通带和阻带波纹的真实低通转换为具有任意带边的多带滤波器。映射滤波器的阶数必须为偶数,对应于目标滤波器的带边个数为偶数。的N阶复全通映射滤波器的一般传递函数形式为:
系数α由线性方程组计算:
在哪里
ω<年代ub>老-所选特征在原型滤波器中的频率位置
ω<年代ub>新的,我-特征的原始位置为±ω<年代ub>老在目标过滤器中
参数年代附加的旋转因子是由频率距离决定的吗ΔC,为实现所需的映射提供了额外的灵活性:
该示例展示了使用这样的转换将截止频率为0.5的原型真实低通滤波器转换为带边为0.2、0.4、0.6和0.8的多带复滤波器,在单位圆周围创建两个通带。下面是生成图形的MATLAB代码。
真实低通到复杂多带映射的例子
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
示例转换创建了两个复杂的通带:
(num,窝)= iirlp2mbc (b, a 0.5 (0.2, 0.4, 0.6, 0.8));
真实低通复杂多点
这种高阶变换将原型滤波器频率响应的许多选定特征精确映射到它们在目标滤波器中的新位置。的N阶复全通映射滤波器由下面的一般传递函数形式给出。
系数α可由线性方程组计算:
在哪里
ω<年代ub>老k-原型滤波器中第一个特征的频率位置
ω<年代ub>新的k-特征的原始位置ω<年代ub>老k在目标过滤器中
参数年代附加的旋转因子是由频率距离决定的吗ΔC,为实现所需的映射提供了额外的灵活性:
下面的示例展示了如何使用这种转换将原型低通滤波器的一个选定特征从原来的-0.5移动到两个新的频率-0.5和0.1,并将原型滤波器的第二个特征从0.5移动到-0.25和0.3的新位置。这在单位圆周围创建了两个不对称的通带,创建了一个复杂的滤波器。下面是生成图形的MATLAB代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = 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代码。
原型滤波器是一个半带椭圆实三阶低通滤波器:
[b, a] = ellip(3, 0.1, 30, 0.409);
转换示例创建了从0.25到0.75的通带:
(num,窝)= iirbpc2bpc (b, a, [0.25, 0.75], [-0.5, 0.1]);
复带通到复带通映射示例