频域信号分析:原理、参数与窗口函数应用
在信号处理领域,频域分析是一项至关重要的技术,它能够揭示信号在时域中难以直接读取的信息,如频率。下面将深入探讨频域信号分析的相关原理、参数关系以及窗口函数的应用。
信息与功率守恒
在信号处理中,信息守恒同样适用于功率。Parseval定理表明,时域功率等于频域功率,其表达式为:
[P = \frac{1}{N}\sum_{k = 0}^{N - 1}x(k)^2 = \sum_{n = 0}^{N - 1}|X(n)|^2]
通过一个示例可以计算脉冲的时域功率,例如(P = (1^2 + 1^2 + 0 + \cdots + 0 + 1^2)/30 = 0.1) ,并进行物理单位的缩放。若对30条频谱线的平方求和,可得(P = 0 + 0.0985^2 + 0.0942^2 + \cdots + 0.0942^2 + 0.0985^2 = 0.0999) 。
从傅里叶积分到离散傅里叶变换(DFT)
从傅里叶积分到DFT的过渡,可以看作是在离散网格点对连续傅里叶频谱进行采样,并以N条频率线为间隔对其周期性副本进行采样。这样,时域信号和频谱都呈现为离散和周期性的形式,便于进行高效的数值计算。
然而,DFT的计算需要(N^2)次复数加法和乘法。快速傅里叶变换(FFT)算法可以将算术运算次数减少到(N \cdot log_2N) ,从而提高处理速度。这通过使用线数N为2的幂(如1024、2048、4096、8192线)并多次使用计算的中间结果来实现。FFT是实现DFT的一种特别高效的算法,但并非DFT的特殊形式。
傅里叶变换算法的设置
傅里叶变换算法通常在软件解决方案中实现,需要进行一些设置和参数选择。这些设置的选择取决于测量问题,并且一些参数之间还会相互影响。由于傅里叶变换(DFT或FFT)无法检查所选设置是否有助于解决测量问题,因此通过对测量任务的初步考虑和对各个变量影响的认识,可以相对容易地找到合理的设置。
混叠现象及抑制方法
遵守采样定理必须确保测量信号仅包含低于奈奎斯特频率的频率分量。违反采样定理(即混叠)会将高于奈奎斯特频率的频率分量转移到频谱中,并在纵坐标上镜像。这种现象是DFT频谱对称性和周期性的不利影响。
在A/D转换之前对测量信号进行低通滤波可以有效抑制混叠。一旦违反这一条件,后续无法进行纠正(例如,通过采样后滤波或在FFT中截断较高频率)。由于低通滤波器在过渡区域的斜率有限,通常只使用部分可用的线数(例如,从(N/2 = 512)线中使用(N’ = 400)线),以避免频谱中出现错误表示的分量。
在较新的设备和测量卡中,会选择非常高的采样频率(过采样),并结合低阶模拟低通滤波器。随后的(数字)低通滤波器进一步增加阻带衰减。在这种情况下,也会使用和显示(N/2)线(例如512线)。
DFT参数之间的关系
由于DFT是以块为单位进行变换,并且在时域和频域都进行了离散化,因此DFT的设置参数不能相互独立选择。在时域中,块长度(T)被划分为(N)个样本,采样间隔为(\Delta t) ,即(T = N \cdot \Delta t) 。
频率范围涵盖了采样频率(f_s) ,共有(N)条频率线,线间距(即频率分辨率)为(\Delta f) ,即(f_s = N \cdot \Delta f) 。在频谱中,要表示的最大频率(f_{max})小于采样频率的一半(奈奎斯特频率),即(f_{max} < \frac{f_s}{2} = \frac{N}{2} \cdot \Delta f) 。
频率分辨率(\Delta f)有两个含义:一是频谱中最小的(非零)频率;二是频率分辨率,即线间距。在傅里叶变换中,可以使用线数(N)和最大频率(f_{max})来计算频率分辨率(\Delta f)和块长度(T) :
(\Delta f = \frac{f_s}{N} = \frac{1}{T})
(\Delta t = \frac{1}{f_s} = \frac{T}{N})
(T = \frac{N}{f_s})
从这些公式可以看出,在时域中选择采样频率(f_s)和线数(N)后,块长度(T)和采样间隔(\Delta t)就不再可以自由选择。
不同参数之间存在以下关系:
|参数变化|影响|
| ---- | ---- |
|增加线数(N’)(最大频率(f_{max})恒定)|增加频率分辨率(\Delta f) ,但增加块长度(T)(测量时间)|
|增加最大频率(f_{max})(线数(N’)恒定)|减少所需的块长度(T) ,但降低频率分辨率(\Delta f) |
|同时将最大频率(f_{max})和线数(N’)加倍|块长度(T)和频率分辨率(\Delta f)保持不变|
|对于指定块长度(T)和采样率(f_s)的信号|线数(N’)和频率分辨率(\Delta f)确定。如果频率分辨率(\Delta f)过高(测量时间长),可以对多个频谱进行平均|
在实践中,选择采样频率(f_s)时,应确保计算出的(f_{max} < \frac{f_s}{2})高于分析所需的截止频率。对于(\Delta f) ,决策应基于频率分辨率和时间分辨率之间的选择性需求。如果要分析的信号是平稳的,可以选择较小的(\Delta f) ;如果信号发生变化(例如速度变化),则选择较大的(\Delta f) 。其余参数可以通过转换上述公式获得。
当分析包含脉冲的信号时,可能需要非常高的采样率来确定真实的脉冲幅度。通过初始参数估计,进行测量和傅里叶变换,并根据结果优化参数。
以下是一个简单的流程图,展示了参数选择的基本流程:
graph LR
A[确定测量任务] --> B[选择采样频率\(f_s\)]
B --> C{信号是否平稳}
C -- 是 --> D[选择较小的\(\Delta f\)]
C -- 否 --> E[选择较大的\(\Delta f\)]
D --> F[计算其他参数]
E --> F[计算其他参数]
F --> G[进行测量和傅里叶变换]
G --> H[根据结果优化参数]
实时分析
当DFT的结果计算和显示速度比块长度(T)的数据采集所需时间更快时,就称为实时分析。此时,显示以块为单位,时间间隔为(T) ,并且不会因计算而额外延迟。实际上,每个通道使用两个交替的缓冲区进行处理。块长度(T)的数据被读入一个缓冲区,而数据在第二个缓冲区中进行DFT处理。
综上所述,频域信号分析涉及多个参数和算法,它们之间相互关联。在实际应用中,需要根据具体的测量任务和信号特性,合理选择参数和算法,以获得准确的分析结果。同时,对于混叠现象和泄漏问题,需要采取相应的措施进行抑制和处理。在下半部分,我们将继续探讨泄漏问题以及窗口函数的应用。
频域信号分析:原理、参数与窗口函数应用(续)
泄漏与窗口函数
在信号的频域分析中,离散傅里叶变换(DFT)要求信号在时域能够进行周期性延续,即所考虑的信号时间片段(块长度为 (T))在时间窗口的两个边界处能够周期性拼接。对于纯正弦波而言,这意味着块长度必须包含整数个信号周期,这样正弦波的周期在区间边界处才能平滑连接,没有弯折和跳跃,这种情况被称为同步采样。
然而在实际测量中,由于信号频率往往未知,同步采样的假设通常难以满足。当不满足该条件时,信号在区间边界会出现弯折和跳跃,这种情况被称为异步采样。异步信号在区间边界的弯折和跳跃会对频谱产生影响,导致频谱中的能量“扩散”,出现一组相邻的谱线,这种现象被称为泄漏。
例如,对于一个以 (N = 32) 采样的正弦波,当频率选择为 (f/Δf = 4) 时,四个周期刚好完全包含在一个时间窗口内,信号可以在两个边界处周期性延续(同步采样),此时幅度谱在 (n = 4) 处出现一条谱线。但当频率变为 (f/Δf = 4.5) 时,时间窗口边缘会出现跳跃,频谱中会出现一组相邻的谱线,而不是预期的在 (n = 4) 和 (n = 5) 处的两条谱线。
另外,信号的相位角也会影响幅度谱。对于连续分析信号的时间切片,相位角可能随时间切片变化,导致幅度谱在两个极限状态之间波动。为了防止泄漏这一不良影响,可以根据不同的问题采用以下方法:
1.
同步化
:若将当前测量的块长度调整为与信号的周期时长相匹配,就不会出现泄漏现象。这需要已知信号中最低频率的周期时长,并通过低通滤波有效抑制高频信号分量。测量的块长度由周期时长控制,从而实现信号的同步采样。例如在所谓的阶次分析中,会利用旋转轴进行同步,此时块长度会随转速变化。
2.
块长度选择
:若选择合适的块长度,使信号在块的两个边缘处衰减为零,也不会出现泄漏。这种方法对于单脉冲信号尤为适用,块长度必须足够长,确保整个脉冲都在块长度内,且脉冲前后信号都衰减到零。
3.
窗口函数
:通过在块的边缘对信号进行衰减处理,也能在时域产生周期性,实现“无弯折和跳跃”地过渡到下一个块。可以将这种衰减看作是在时域将信号与一个合适的窗口函数 (w(t)) 相乘。例如,从时间信号中截取块的操作也可视为一种窗口函数,在块长度内信号乘以值 1,块外乘以值 0,这种窗口函数被称为矩形窗口。
下面介绍一种常用的窗口函数——汉宁(Hanning)窗口,其函数表达式为:
[w(t) = \cos^2(\frac{\pi t}{T}) = \frac{1}{2}(1 + \cos(\frac{2\pi t}{T}))]
这里窗口函数的时间计数零点 (t = 0) 位于所考虑时间区间的中间。汉宁窗口在时域会使函数曲线衰减到零,在频域,对于同步时间信号(如 (f/Δf = 4) 的正弦波),会在 (n = 3)、(4) 和 (5) 处出现三条相邻的谱线,其中 (n = 4) 处的电平为 (0 dB),(n = 3) 和 (5) 处的谱线存在 (-6 dB) 的电平误差;对于异步正弦信号(如 (f/Δf = 4.5) 的正弦波),(n = 4) 和 (n = 5) 处的两条谱线会更明显,且不需要的旁瓣最大值得到了明显衰减,但幅度未达到 (0 dB),存在 (-1.4 dB) 的电平误差。
这表明汉宁窗口可以减少泄漏效应,但无法完全消除。与同步采样相比,汉宁窗口会在频谱中产生一组三条谱线。不过由于在实际测量中绝大多数情况是异步采样,所以窗口化带来的一些缺点是可以接受的。
然而,窗口函数在窗口边界的衰减也会降低信号的幅度和功率。窗口平均值 (FM) 对应于加窗后的直流分量为 1 的情况,可解释为加窗时间信号的线性平均值,计算公式为:
[FM = \frac{1}{N}\sum_{k = 0}^{N - 1}w(k)]
对于矩形窗口,(FM = 1);对于汉宁窗口,(FM = 0.5)。为了正确显示最大值,幅度谱必须乘以 (1/FM) 的倒数,在电平表示中,这相当于增加 (6.02 dB),这种校正称为窄带校正,通常分析仪或软件中已包含此校正。
对于信号功率,功率平均值 (PM) 通过时域中平方和计算得出:
[PM = \frac{1}{N}\sum_{k = 0}^{N - 1}w^2(k)]
矩形窗口的 (PM = 1),汉宁窗口的 (PM = 0.375)。
除了幅度校正,还需要考虑窗口持续时间的校正,通过平方窗口函数上的等面积矩形宽度来实现。时域窗口化会使有效窗口持续时间缩短为 (T_{eff}),在频域,有效窗口持续时间的缩短会导致有效带宽增加,计算公式为:
[B_{eff} = \frac{P_M}{T \cdot F_M^2}]
有效带宽通常以线间距 (Δf) 的倍数 (B_L = B_{eff}/Δf) 或电平 (10 \cdot log_{10}B_L)(dB)来表示。只有矩形窗口根据窗口平均值 (FM) 和功率平均值 (PM) 进行缩放的结果相同,汉宁窗口则不同,汉宁窗口的 (B_L = 1.5)。这意味着为了抑制异步信号的泄漏效应,需要以增加带宽(即降低频率分辨率)为代价。
综上所述,窗口函数可以减少泄漏效应,但无法完全消除。在频谱中,幅度和功率不能同时正确缩放(同步信号和矩形窗口除外),并且窗口函数会增加有效带宽 (B_{eff})。
常见窗口函数及其特性
在实际应用中,有多种窗口函数可供选择,不同的窗口函数具有不同的特性,适用于不同的测量任务。为了表征窗口函数,通常使用旁瓣衰减(SLA)、主瓣宽度(MLW,以线间距的倍数表示)以及半线宽处的电平误差 (ΔL) 等参数。以下是一些常见窗口函数的特性参数:
| 窗口函数 | 旁瓣衰减(SLA,dB) | 电平误差 (ΔL)(dB) | 主瓣宽度(MLW,线间距倍数) | 有效带宽 (B_L = B_{eff}/Δf) |
| ---- | ---- | ---- | ---- | ---- |
| 矩形 | 13.3 | 0 | 1.62 | 1 |
| 三角形 | 26.5 | 1.82 | 3.24 | 1.33 |
| 汉宁 | 31.5 | 1.42 | 3.37 | 1.5 |
| 海明 | 42.7 | 1.75 | 3.38 | 1.36 |
| 布莱克曼(近似) | 58.1 | 1.1 | 5.87 | 1.73 |
| 凯泽 - 贝塞尔 | 60 | 1.16 | 5.45 | 1.68 |
| 高斯 | 60 | 1.06 | 7.1 | 1.79 |
| 平顶 | 60 | 0.05 | 7.01 | 3.14 |
| 指数 | 12.6 | 3.65 | 1.72 | 1.08 |
需要注意的是,带有 * 标记的窗口函数还有其他影响其特性的参数。由于没有一种通用的窗口函数适用于所有测量任务,因此需要根据具体的测量任务来选择合适的窗口函数。以下是一些常见窗口函数的特性及应用场景:
-
矩形窗口
:适用于同步信号以及能完全包含在窗口内的瞬态信号。
-
三角形窗口
:常见于文献中,具有一定的历史意义。
-
汉宁窗口
:是异步信号的标准窗口,动态范围较低。
-
海明窗口
:特性与汉宁窗口相似。
-
布莱克曼(近似)窗口
:比汉宁窗口具有更好的选择性。
-
凯泽 - 贝塞尔窗口
:根据参数不同,具有良好的频谱选择性。
-
高斯窗口
:用于短时快速傅里叶变换(FFT)。
-
平顶窗口
:电平误差非常小,适用于单频正弦信号的校准。
-
指数窗口
:用于衰减衰减振荡,适用于弱阻尼系统中的瞬态信号。
窗口函数的选择策略
选择合适的窗口函数是测量任务中既重要又困难的一部分。一方面,窗口函数会影响测量结果的解释;另一方面,要确定最佳窗口函数,需要事先了解信号的频率内容。由于没有通用的窗口函数,因此窗口函数的选择必须根据测量任务进行调整。在不确定的情况下,需要评估不同窗口函数对频谱的影响,从而确定最佳窗口。
选择窗口函数时,通常需要在动态范围、带宽和电平误差之间进行权衡。以下是一些具体的选择建议:
1.
信号包含正弦和噪声
:使用带宽较小的窗口函数,以减小正弦信号和随机信号(噪声)之间的电平误差。
2.
分离幅度相近、频率间隔较大的正弦信号
:优先选择具有高旁瓣抑制(SLA)的窗口函数,即具有高动态范围的窗口函数。
3.
分离幅度相近、频率间隔较小的频率线
:高旁瓣抑制(SLA)的窗口函数并不适用,因为随着旁瓣抑制效果的提高,这些窗口函数的选择性会变差,而这种情况下更需要良好的选择性。
窗口函数的最大电平误差 (ΔL) 描述了频谱中显示值与实际值的偏差。例如,(ΔL = 1.4 dB) 对应于约 15% 的相对偏差,这在许多应用中是不可接受的。而平顶窗口的电平误差 (ΔL < 0.05 dB) 非常小,因此常用于单频正弦信号测量链的校准。但平顶窗口的带宽较大,选择性较差,在实际应用中可能不是最佳选择。
对于瞬态信号,窗口中时间零点的选择非常关键,通常可以通过触发时间来定义。窗口函数必须使要检查的信号段在边缘处衰减到零。在弱阻尼系统中,信号可能会振荡很长时间,当窗口结束时振荡可能尚未完全衰减,此时可以使用指数窗口对信号进行衰减,但这会导致显示中的阻尼增加。
此外,窗口函数必须完全包含要检查的信号段。如果违反这一条件,可能只会处理信号的一部分或多个信号。实际上,分析的不是原始时间信号,而是时间信号与窗口函数相乘后的信号。例如,对于力脉冲信号,如果使用汉宁窗口进行时间加权,脉冲必须恰好位于窗口中间,并且与窗口长度相比要足够窄,才能正确捕获其幅度。
为了合理选择窗口函数,除了观察频谱外,还必须始终比较未加窗和加窗的时间信号,并检查其合理性。以下是一个简单的流程图,展示了窗口函数选择的基本流程:
graph LR
A[确定信号类型] --> B{信号是否同步}
B -- 是 --> C[考虑矩形窗口]
B -- 否 --> D{信号是否为瞬态}
D -- 是 --> E{系统阻尼是否弱}
E -- 是 --> F[考虑指数窗口]
E -- 否 --> G{脉冲是否窄且居中}
G -- 是 --> H[可考虑汉宁窗口]
G -- 否 --> I[避免汉宁窗口]
D -- 否 --> J{信号含正弦和噪声?}
J -- 是 --> K[选择小带宽窗口]
J -- 否 --> L{分离正弦信号?}
L -- 是 --> M{频率间隔大?}
M -- 是 --> N[选择高SLA窗口]
M -- 否 --> O[避免高SLA窗口]
总之,频域信号分析是一个复杂的过程,涉及傅里叶变换、参数选择和窗口函数应用等多个方面。在实际操作中,需要根据具体的测量任务和信号特性,综合考虑各种因素,合理选择参数和窗口函数,以获得准确可靠的分析结果。
超级会员免费看
129

被折叠的 条评论
为什么被折叠?



