Advertisement

rbw数字信号处理_数字信号处理 | 你想知道的都在这儿

阅读量:
9b6a4b80f21ae3df7cde3cf0b67460b7.png

◆ ◆ I just wondered how things were put together ◆ ◆

▼▼▼

作为电子信息类专业的核心课程之一,在 signal 处理领域占据重要地位。
这些课程主要从 mathematics 角度探讨 signal 的形式。
然而它们各自侧重不同的 analysis 方向。
其中《signal 与系统》着重于连续时间 signal 的分析方法。
《数字 signal 处理》则专注于离散时间序列的处理技术。
而《随机 signal 处理》则研究不确定干扰源(如 noise 和 jitter)的影响。
尽管各自侧重不同但这些课程的核心共同点在于引入了 freq-domain 分析 method 这一概念。
这种思维转变打破了大家原有的认知。
值得注意的是这些看似电路相关的课程在实际教学中几乎不涉及具体电路设计 而是高度抽象的数学工具。
相比之下《数字 signal 处理》相比起来更加偏向工程应用 因为 computers 只能处理 discrete 信號。
让我们一起来探索这一系列课程中那些对 IC 设计极具实用价值的内容吧。

模拟角频率与数字角频率

通过现实世界的模拟信号进行先抽样后量化处理以获得数字信号序列;其数字角频率Ω与模拟角频率ω之间的关系式可表示为

a188170d9149d3b13761a3b0e71bbcc1.png

设Tsam为抽样周期。基于采样频率fsam的模拟信号采样后频谱,在时域上是以fsam为周期进行周期延拓。其对应的数字归一化角频率为:

b177916d9946662c3f5b5e3a56a90310.png

该结论非常有趣, 因为2π就是一个圆周. 换言之, 离散信号在模拟角频率视角下是以采样频率fsam为周期, 而在数字角频率视角下则是以2π为周期.

在文献中有一些使用模拟角频率来描述离散信号频谱而另一些则采用数字角频率进行描述两者本质上并无区别采用模拟角频率更能贴近人们的直观认知而数字角频率则是基于数学运算得出的结果例如一个信号的最大工作频率先达1MHz我们可用2MHz的时钟对其进行采样从而得到离散信号基带波段在DC附近的一个周期内其频谱范围覆盖-1~1MHz若将其转换为数字角频率则该基带波段对应的频谱范围变为-π至π

DFT(离散傅里叶变化)

不同类型的信号各自采用不同的傅里叶分析手段,在图中展示出这四种主要的方法:一是连续时间域的傅里叶变换与级数相结合的方式;二是离散时间域下的快速计算方案;三是基于周期性假设的经典频域分析技术;四是基于能量有限条件下的积分计算公式。这些涵盖了所有类型信号的分析手段;那么为什么要引入DFT这样的工具呢?

2f4f341d7afc92e468138915770a00a7.png

通过仔细观察可以看出前三类信号在时域或频域中至少有一个特征是连续的。值得注意的是,在电子领域中仅能处理离散形式的数据,并包含输入与输出两部分信息。因此,在这种情况下只有当数据呈现为离散且周期性变化时才能被电子设备有效地处理系统响应。那么如何用计算机计算非周期但离散的频谱呢?

对于一个有限持续时间的信号而言,我们可以对其进行周期延拓,随后通过计算其频谱来观察到:经过周期延拓后的信号频谱对应于该信号原有频谱的采样点分布情况,从而得到非周期信号完整的频谱信息

7afff4669245ad4c1500087f6cf5a361.png

这就是DFT的求解思路,它可以用来计算一般离散信号的频谱。

时间序列的周期性特性与信号的频率成分之间存在一一对应关系(频带采样原理)。当时间序列被采样后(即进行时间上的离散处理),其对应的频率成分则表现出明显的重复模式(即形成离散谱线);反之亦然:若信号在时间上进行了离散处理,则其在频率上的表现将呈现出严格的周期性分布。

DFT计算模拟信号的频谱

在现实生活中绝大多数信号是非周期性的模拟信号,在这种情况下我们如何利用计算机技术来获得这些信号的频谱信息呢? 可以采用如下图所示的具体步骤:首先对模拟信号进行离散化处理;然后对得到的离散信号进行周期化处理以满足后续分析需求;进而利用DFT算法计算出这些信号的频谱特性。

489aadde86f3a633dde48b85078ffe76.png

经过DFT处理后会获得离散频谱序列;取N点进行DFT相当于从连续频谱中提取N个采样点;通常选取N为2的整数次幂以便于快速傅里叶变换用于计算

32a47fcf65b5cf4ab7ed4727a9955fc6.png

对模拟信号做DFT的步骤:

  • 将模拟信号离散化。首先要对非带限信号进行抗混叠滤波,可以采用模拟低通滤波器。采样离散化,对应频谱周期化。-- 模拟LPF的主要类型有:巴特沃斯型,切比雪夫Ⅰ型,切比雪夫Ⅱ型,椭 圆型,它们的主要区别在于通带波动、阻带波动和过渡带的下降速率不同,其中椭圆形的过渡带下降最快,但它的极点靠近虚轴,容易不稳定。-- 抗混叠滤波会丢失一部分信息,称为截断误差,但这个要比混叠误差小。

  • 将离散的时域信号进行周期化。-- 这里要保证时域信号为有限长序列,否则在时域周期化的过程中会出现时域混叠。-- 如果信号为无限长序列,则需要在时域进行加窗截断,使其成为有限长序列。-- 常见的窗函数类型有矩形窗、汉宁窗、海明窗、凯塞窗、布莱克曼窗等,它们的区别在于主瓣宽度和旁瓣衰减不同,时域加窗会导致频谱泄露,后面会详细介绍。

  • 接下来就可以对该有限长序列进行DFT了,DFT主要需要考虑DFT的点数,为防止时域混叠,频域抽样定理给出:N≥L。其中,N为DFT点数,L为序列长度。

频谱泄露

在进行DFT分析连续非周期信号的过程中,在时频分析中我们经常遇到一种情况:我们需要处理的对象是在时域和频域均具有有限持续性的信号。通过这种分析方法的优势是可以避免使用抗混叠滤波器以及对时间序列进行加窗处理等步骤。那么这种特性是否存在呢?

时域有限的信号,频谱无限时域无限的信号,频谱有限

解答无解:所有在现实世界中存在的信号都必然满足以下两种情况之一:要么它们仅存在于有限的时间范围内并伴随着无限的频谱范围;要么它们持续无限时间却只占据有限的频率带宽。

对于有限持续期的信号,在执行离散傅里叶变换(DFT)之前必须对时域信号施加窗函数进行截断处理以减少边缘效应的影响。经过时域加窗处理后的信号频谱与其原始频谱是否存在完全一致的情况呢?

在实际应用中,在加窗处理后信号会发生变化。考虑到时域受限会导致信息损失这一事实,在应用矩形窗进行处理后...

5e77aa0cc33521637f7ef49d5efc3fc8.png

给信号施加时域窗相当于对原信号进行时域与窗函数相乘操作,在频域上这等效于执行卷积运算。矩形窗的频谱表现为sinc函数形状(如图所示),其中包含了高频成分。

087552156466009094b4168633ff06da.png

通过下图可以看出, 对于任意一个频谱与sinc函数进行卷积运算, 都会导致一定程度的带宽扩展. 这是因为只有当与无限冲击δ函数进行卷积时, 结果才是其自身, 不会发生任何展宽.

5f0b8cbd615f198f27b63a2d0f6c9909.png

进一步分析一个无限长余弦信号的频谱特性时发现,该信号与sinc函数进行卷积操作后所得到的新频谱具有特定特点.具体而言,原始信号中的δ函数经卷积处理后会扩展为一个主瓣宽度与矩形窗函数带宽一致的新主峰,同时还会伴随一些高频分量即旁瓣的存在.这种现象通常被称为频谱泄漏

由于任何信号都可以由δ函数以加权的形式相加得到,则该信号所呈现的频谱泄露现象能够很好地体现其特性,并可据此定义其对应的频谱分辨率值。此外,在这种情况下(即当参数N发生变化时),若选择更大的数值,则会使得频谱泄露现象趋于减弱;同时随着参数值增大(即当参数值进一步增大时),系统的观察时间也会相应延长。基于此,在改善频谱泄漏效果方面的一个可行策略是适当增加窗函数所覆盖的时间区间长度(即参数值)。

d9ead8141e2c74a23c1e88a187677fcd.png

无限长余弦信号的频谱

64030c189fc0ef59447fbe43653f834d.png

矩形窗函数的频谱 有限长余弦信号的频谱

如果大家曾用过频谱仪进行测试或者曾用Simulink进行过频谱分析的话, 就能够观察到这一现象. 任何一个单一频率信号, 在频谱图上并非呈现为一条线, 而是具有一定的宽度范围, 频谱泄露则能够对此加以解释.

频谱分辨率

产生频谱分辨率的概念是由于频谱泄露现象的存在。若无频谱泄露,则其分辨率趋于无限大。为了理解这一现象的本质,请看下述例子:如图所示,在考虑两个余弦信号时,在加矩形窗截断后会产生频谱泄露现象;其单边带宽扩展幅度为2π/N;以便能够分辨这两个信号,则必须满足:

0efb69a482b03cab094b4c08809e91ec.png
84956a78c9edf93900b0b60a253a2506.png
fd707fc49b935b58be0441bafb5380ac.png

N同时也决定了观察时间长度:

5638a059d2be7ffcb4f54b93b44cf77b.png
e0f795f1237c91191dce1f40861dd6e4.png

在对一个频率为1Hz的信号进行仿真时,
那么必须至少持续一个周期的时间,
才能完整地呈现其特性,
这对应的时间长度即为1秒,
这直观上验证了前面所述的结果。

窗函数

通过分析下表中的数据可观察到各窗函数之间的主要区别体现在主瓣宽度和旁瓣衰耗这两个指标上。通常认为,在选择窗函数时应尽量使主瓣宽度减小,并使旁瓣衰减增大;然而,在实际应用中发现这两个目标往往存在冲突;那么该如何根据具体需求选择合适的窗函数类型呢?

232571a39f9b6054b385a28ab01f9cba.png

为满足频谱分辨率的需求,在选择主瓣带宽最小的矩形窗的同时

在进行仿真实验或数据测试时所获得的时间序列数据等效于对该信号施加了一个矩形窗口。若希望旁瓣衰减显著,则可通过对有限长度的数据序列施加进一步处理来改善其频谱特性,从而导致了其他类型的窗函数被开发出来。

栅栏效应

通过DFT得到的频谱为一些离散的点,这些离散的点就位于信号真实频谱的轮廓上,这就像隔着栅栏在看一个信号一样。显然我们希望离散的点越密越好,由于离散的点的数目等于做DFT的点数N,所以可以采取增加N的方式来改善栅栏现象。但是一般来讲,对于一个长度为L的序列,应该是做L点的DFT刚刚好,这就意味着DFT的点数N应该被有限长序列的长度N,或者说是时域窗函数的宽度所限制。那么DFT的点数还能任意增大吗?答案是可以的,我们可以给有限长的序列后面补零,从而将N点的序列加长为L点,进而做L点的DFT。其实给序列后面补零,并没有改变信号本身的频谱,如下图的实线所示,但是补零可以有更多的点位于轮廓上,方便我们观察。

3c736d41f12b6f52ba879d11b266c560.png

如前所述,在实际应用中可以通过延长数据序列长度来改善频谱泄露现象。那么一个问题就出现了:在信号处理过程中对序列进行补零操作是否能够有效减少频谱泄露呢?我们非常期待您的解答和讨论。

Simulink中的频谱仪使用

对于稍微复杂的电路而言,例如PLL/ADC/CDR等类型的电路来说,在进行系统行为级建模时往往需要较高的复杂度。Simulink则被广泛认为是依赖于直观的图形化界面以及功能强大的工具包,成为模拟IC设计领域的核心仿真平台之一。

通过频谱仪观测信号是对信号分析的一种重要手段,在使用Simulink时其频谱仪设置相对繁琐,并且其应用几乎涵盖了之前所涉及的所有知识点。由此可见,在实际操作中我们应当进行相应的实践。

首先看一下下图图1,设置里面的Type可以选择功率或幅度。RBW代表频谱分辨率,也可以设置窗函数长度来间接确定频谱分辨率,如下图图2。这两者之间是可以互换的,前面也给出过它们两种之间的关系。同时,系统还会自动计算出需要采样的点数,在Sample/update处显示。如下图图1,当窗口长度为1024,自然需要采样1024个点。如下图图2,当采样频率BW为360MHz,频谱分辨率设为360M/512时,采用矩形窗函数时,计算得到N为512,和系统自动计算得到的是完全相同的。

通常选择使用RBW而非窗函数长度来计算仿真时长的原因在于二者之间存在直接的反比例关系。
建议将RBW设定为1.42us,在这种情况下,请确保仿真时间设定不超过这一值以避免频谱仪无输出结果

08ab14297d0938fe9b36d42f2829045b.png

图1

7d18d34ab83ca8d2018708d77f8d6f57.png

图2

我们还有选择更换窗函数类型的余地。如果将窗函数设定为其他种类,则为了达到相同的频谱分辨率目标就需要相应地增加采样点的数量。

此外,在处理非基带型信号时,则需要将其经过正交变换型式(用于抑制镜像分量)至基带状态;这不仅能够大幅降低所需的采样频率值,在实现相同频率分辨率的前提下还能够显著缩短仿真所需的时间周期。如图所示的具体操作流程中,则是依次完成了降变换(消除镜像分量)、抗混叠预处理以及离散化运算这三个步骤;而后续则需借助于频谱仪这一工具来完成时域上的加窗处理工作

eaf009e0781ceb6540697cd57446558d.png

本期内容就到这里了,我们下期再见

0d214ffa1dc4901d3c0a34ed75166648.png

-END-

c4664b1b7aab9dbc4f085bd9e9a3b6db.png

如果您觉得有用,请帮忙转发给

更多的朋友

全部评论 (0)

还没有任何评论哟~