365日博贴吧

吉布斯现象解析

📁 365日博贴吧 ⌚ 2025-11-21 03:05:46 👤 admin 👁️ 5634 ❤️ 302
吉布斯现象解析

吉布斯现象是由亨利·威尔伯拉罕在1848年发现的,然后由j·威拉德·吉布斯在1899年重新发现的。

对于具有不连续的周期信号,如果通过加傅立叶级数来重构信号,则在边缘附近会出现超调。这些超调以远离边缘的阻尼振荡方式向外衰减。这被称为GIBBS现象,如下图所示。

因为,当0

f(x)=4π∑n=1,3,5,⋯1nsin⁡(nx)\begin{equation}

f(x)=\dfrac{4}{\pi}\sum_{n=1,3,5,\cdots}{\dfrac{1}{n}\sin(n x)}

\end{equation}f(x)=π4​n=1,3,5,⋯∑​n1​sin(nx)​​

更一般的,随着N增加,部分起伏就向不连续点压缩,但是对任何有限的N值,起伏的峰值大小保持不变,以函数f(x)=xf(x)=xf(x)=x为例,其周期为2π2\pi2π,某个定义区间为[−π,π][-\pi,\pi][−π,π],其图像为:

且它的傅里叶展开级数的系数为:

bn=(1π)∫−ππxsin⁡(nx)dx=∑n=1∞(−1)n+1(2n)\begin{equation}

\begin{aligned}

b_n&=(\frac{1}{\pi})\int_{-\pi}^{\pi}{x\sin(nx)}\mathrm{d}x\\

&=\sum_{n=1}^{\infty}(-1)^{n+1}(\frac{2}{n})

\end{aligned}

\end{equation}bn​​=(π1​)∫−ππ​xsin(nx)dx=n=1∑∞​(−1)n+1(n2​)​​​则它的傅里叶级数近似结果如下:

其误差表示为:

从图中可以看出其误差最大值保持不变,约为跳变值的0.09倍。

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0,2*np.pi,5000)

square_wave = np.ones_like(x)

square_wave[int(x.size/2):]=-1

N = 30

fsq = np.zeros_like(x)

for i in range(N):

n = 2*i + 1

fsq += np.sin(n *x) / n

fsq *= 4 / np.pi

fig, ax = plt.subplots()

ax.plot(x, square_wave, lw=5, alpha=0.5)

ax.plot(x, fsq, 'r')

ax.set_ylim(-1.2,1.2)

plt.title('N='+str(N))

ax.set_xticks([0,1,2,3,4,5,6,7])

ax.set_xticks([0.5,1.5,2.5,3.5,4.5,5.5,6.5], minor=True)

ax.set_yticks([-1, 0, 1])

ax.set_yticks(np.arange(-1.2,1.2,0.2), minor=True)

ax.grid(b=True, c='k', lw=1, ls='--', which='major')

ax.grid(b=True, c='0.4', lw=0.5, ls=':', which='minor')

plt.show()

运行结果:

相关数据

bat365验证 钱米应急钱包怎么样

钱米应急钱包怎么样

⌚ 06-30 👁️ 1488
365日博贴吧 RangeValidator 控件介绍

RangeValidator 控件介绍

⌚ 09-19 👁️ 8829
365日博贴吧 《dnf》2024国庆礼包内容最新爆料一览

《dnf》2024国庆礼包内容最新爆料一览

⌚ 07-18 👁️ 4760