谐波
文章目录
- 谐波
- 1、概述
- 2、频谱分析
- 3、已知信号
- 4、未知信号
- 5、总结
周期性信号并不总是完美的正弦模式,例如我们之前有关 正弦波的文章之一中介绍的那样。 有时,信号确实可以是简单正弦波的叠加,它们被称为复杂波形。
在本文中,我们将重点关注复杂的周期性波形,以了解它们的组成以及如何分析它们。
首先,我们介绍谐波的概念以及频谱表示。 在第二部分中,我们重点关注谱分析,这是基于傅立叶级数的分析谐波的数学工具。
1、概述
假设一个周期信号 s ( t ) s(t) s(t),它是两个称为谐波 y 0 ( t ) y_0(t) y0(t) 和 y 1 ( t ) y_1(t) y1(t) 的正弦波形的叠加,它们的频率和幅度满足 ω 1 = 2 ω 0 \omega_1=2\omega_0 ω1=2ω0; A 0 = 2 A 1 A_0=2A_1 A0=2A1。 因此,它们的表达式由 y 0 ( t ) = A 0 sin ( ω 0 t ) y_0(t)=A_0\sin(\omega_0t) y0(t)=A0sin(ω0t) 和 y 1 ( t ) = A 1 sin ( ω 1 t ) y_1(t)=A_1\sin(\omega_1t) y1(t)=A1sin(ω1t) 给出。 图 1 显示了与结果信号 s ( t ) s(t) s(t) 分开的谐波 y 0 ( t ) y_0(t) y0(t) 和 y 1 ( t ) y_1(t) y1(t):
在此示例中, y 0 ( t ) y_0(t) y0(t) 称为基波, y 1 ( t ) y_1(t) y1(t) 称为一次谐波。 基波谐波是频率较低的信号,它给出了结果信号 s ( t ) s(t) s(t) 的周期性:我们确实可以看到 ω 0 = ω S ω_0=ω_S ω0=ωS。
因此,谐波是复杂波形的“构建”函数,但是,它们的频率不是随机的,并且始终满足 ω 0 = ω S ω_0=ω_S ω0=ωS、 ω 1 = 2 ω 0 ω_1=2ω_0 ω1=2ω0 和 ω 2 = 3 ω 0 ω_2=3ω_0 ω2=3ω0(如果存在二次谐波)等等……在一般情况下, 第n次谐波的频率满足关系式 ω n = ( n + 1 ) × ω 0 ω_n=(n+1)\times ω_0 ωn=(n+1)×ω0。
当给定特定的复杂波形时,一种非常合适的表示形式称为信号的频谱。 这种表示方法包括绘制每个谐波的幅度作为频率的函数,并且可以通过 Python 或 MatLab 等数值程序进行计算:
检查 s ( t ) s(t) s(t) 的频谱,可以清楚地看到基波信号的频率为 f 0 = 15 / 2 π = 2.4 H z f_0=15/2\pi=2.4Hz f0=15/2π=2.4Hz,幅度 A 0 = 1 A_0=1 A0=1(例如 V V V 或 A A A),而一次谐波的频率为 2 f 0 = 4.8 H z 2f_0=4.8Hz 2f0=4.8Hz,振幅 A 1 = 0.5 A_1=0.5 A1=0.5。
2、频谱分析
绘制如图 2 所示的频谱是基于称为傅立叶级数的数学工具。 这种方法是在19世纪初期由法国科学家约瑟夫·傅立叶提出的,至今仍然是信号分析的主要工具之一。
该方法基于这样的观察:任何周期信号 y ( t ) y(t) y(t) 实际上都是可以计算幅度和相位的谐波的无限和(一系列)。 同样的观察可以写成一个数学方程:
复指数项只是写谐波的复数形式(请参阅复数这篇文章)。 整数n指的是第n次谐波,T是 y ( t ) y(t) y(t)的周期。
系数 c n ( y ) c_n(y) cn(y) 称为函数 y ( t ) y(t) y(t)的傅里叶系数,由以下关系确定:
通常将系数 c n c_n cn 分为两个系数 a n a_n an 和 b n b_n bn,对于实函数,这两个系数由下式给出:
这种确定任何周期信号的傅里叶分解的方法,因此给出如图 2 所示的频谱,也称为傅里叶变换 (FT),它是针对非周期信号的相同方法的扩展。
需要分别考虑两种情况才能进行周期信号的 FT,并在以下小节中进行解释。
3、已知信号
第一种情况是要分解的信号是否具有已知的解析表达式。 例如,考虑周期性为 T 的方波信号 s q ( t ) sq(t) sq(t)。其表达式通过以下定义可知:
图 3 表示几个周期内周期 T = 2 π T=2\pi T=2π 的方波信号:
首先,我们确定项 a 0 a_0 a0 的表达式:
该系数表示信号的平均值: y ( t ) y(t) y(t),并且在一半的时间内确实等于 1,否则等于 0。 请注意,由于 sin ( 0 ) = 0 \sin(0)=0 sin(0)=0,因此项 b 0 b_0 b0 等于 0。
当开发 n > 0 n>0 n>0 的 a n a_n an 表达式时,我们意识到这些系数与在 0 和 π \pi π 之间计算的 sin ( n x ) \sin(nx) sin(nx) 成正比,它始终等于 0,因此 ( a n ) n > 0 = 0 (a_n)_{n>0}=0 (an)n>0=0。
最后,我们确定 n > 0 n>0 n>0 时系数 b n b_n bn 的一般表达式:
当在 0 和 π \pi π 之间求值时,如果 n 为奇数,则 cos ( n x ) \cos(nx) cos(nx) 项等于 -2;如果 n 为偶数,则 cos ( n x ) \cos(nx) cos(nx)等于 0。 ( b n ) n > 0 (b_n)_{n>0} (bn)n>0 的最终表达式由下式给出:
每个系数 b n b_n bn 对应于谐波 sin ( n t ) \sin(nt) sin(nt) 的幅度。 因此,根据 a 0 a_0 a0 和 b n b_n bn 的表达式,我们可以给出方波信号 s q ( t ) sq(t) sq(t) 的完整傅里叶展开:
根据等式4,我们可以绘制 s q ( t ) sq(t) sq(t) 的频谱的一部分,如下图 4 所示:
对于该信号,仅存在奇次谐波,其幅度由 2 / n π 2/n\pi 2/nπ 给出,频率由 n / 2 π n/2\pi n/2π 给出。 请注意,平均值也出现在 0Hz 频率的频谱中。 由于方波信号呈现无限数量的谐波,因此频谱当然仅显示到特定频率。
例如,当使用函数发生器生成方波信号时,仅采用有限数量的谐波来构建波形。 例如,如果我们使用谐波 1、2、3、4 和 5,我们称信号是使用直到五阶的谐波生成的,阶数给出了形状的准确度:
当近似阶数增加时,我们可以查明在不连续性跳跃周围出现过冲(信号从 0 到 1 或从 1 到 0 残酷地交替)。 这被称为吉布斯现象(Gibbs Phenomenon),并且出现在存在不连续跳跃的每个信号中。
4、未知信号
让我们重新考虑演示部分中给出的示例,并解释数值程序如何确定 s ( t ) s(t) s(t)的傅立叶分解。 在图 1 中,我们可以测量 s ( t ) s(t) s(t) 的周期性为 T = 0.42 s T=0.42s T=0.42s。
第一个系数 c 0 ( y ) c_0(y) c0(y)很容易确定,在我们的示例中等于 0,因为围绕水平轴对称的周期信号在一个周期内的积分始终等于 0。实际上,该第一个系数始终与 直流量,因此是平均值,这在我们的例子中不存在。
当函数 s ( t ) s(t) s(t)的表达式已知时,可以分析计算系数 c n c_n cn,如上一小节所示。 然而,对于未知函数 s ( t ) , n > 0 s(t),n>0 s(t),n>0时的系数 a n ( y ) an(y) an(y) 和 b n ( y ) bn(y) bn(y) 通过计算 − T / 2 -T/2 −T/2 和 T / 2 T/2 T/2(或 0 和 T T T)之间的面积来数值确定 函数 s ( t ) cos ( 2 π n t / T ) s(t)\cos(2\pi nt/T) s(t)cos(2πnt/T) 和 s ( t ) sin ( 2 π n t / T ) s(t)\sin(2\pi nt/T) s(t)sin(2πnt/T)的曲线。
这可以通过多种方法来完成,最容易实现和理解的方法之一是矩形方法,其思想如图 6 中的函数 s ( t ) sin ( 2 π t / T ) s(t)\sin(2\pi t/T) s(t)sin(2πt/T)所示:
如图 5 所示,该方法包括通过对宽度为 d t dt dt 和高度为 y ( n × d t ) y(n\times dt) y(n×dt)的小矩形面积求和来近似曲线的积分,其中 n n n是所考虑矩形的索引。
信号 y ( t ) y(t) y(t)的周期T被细分为 N N N个矩形,例如 N × d t = T N\times dt=T N×dt=T。 当 d t dt dt 足够小时,矩形面积之和约等于 y ( t ) y(t) y(t)在一段时间内的积分:
值得一提的是,为了更好地收敛到精确结果,存在更精确的方法,例如通过选择矩形以外的其他形状来更准确地遵循曲线。
5、总结
- 如本文第一部分所述,谐波是形成任何周期信号的基本正弦波形。 一些复杂波形可以具有有限数量的谐波,而其他波形则具有无限数量,例如本文后面介绍的方波信号。
- 谐波的频率始终是复信号基频的整数倍。 它们的幅度通常向高频方向减小,并且可以通过傅里叶分解来确定。
- 频谱表示是突出显示信号谐波的最方便的方法,它是通过第二部分中介绍的傅里叶分解来计算的。 如果复杂波形的表达式已知,则分解可以是解析的;如果信号未知,则分解可以是数值的。