Gibbs现象(Gibbs Phenomenon)最初数学上的定义

Gibbs现象(Gibbs Phenomenon)是在处理周期性信号的傅里叶级数展开时出现的一种现象。当一个周期函数在不连续点附近被其傅里叶级数的部分和近似时,近似值会在不连续点处产生过冲(overshoot)和欠冲(undershoot),即使增加更多的谐波项,这些过冲和下冲的幅度也不会减小,而是会趋近于一个固定的百分比,大约是不连续跳跃幅度的9%左右。

当使用有限项傅里叶级数来近似一个具有不连续点(例如阶跃变化)的周期函数时,即使随着更多项被添加到级数中,该近似在不连续点附近会显示出过冲和振铃效应。这种现象被称为吉布斯现象

吉布斯现象的数学证明涉及傅里叶级数和傅里叶变换的基本理论。为了简化讨论,我们考虑一个周期性的方波信号,并分析其傅里叶级数展开。这个方波可以被看作是理想低通滤波器在时域中的单位脉冲响应(sinc函数)的离散版本。

方波的傅里叶级数表示

假设有一个周期为 2 L 2L 2L 的方波函数 f ( t ) f(t) f(t),它在一个周期内的定义如下:

f ( t ) = { A , − L < t < 0 − A , 0 < t < L f(t) = \begin{cases} A, & -L < t < 0 \\ -A, & 0 < t < L \end{cases} f(t)={A,A,L<t<00<t<L

其中 A A A 是方波的振幅。该方波的傅里叶级数展开为:

f ( t ) = 4 A π ( sin ⁡ ( π t L ) + 1 3 sin ⁡ ( 3 π t L ) + 1 5 sin ⁡ ( 5 π t L ) + ⋯   ) f(t) = \frac{4A}{\pi}\left(\sin\left(\frac{\pi t}{L}\right) + \frac{1}{3}\sin\left(3\frac{\pi t}{L}\right) + \frac{1}{5}\sin\left(5\frac{\pi t}{L}\right) + \cdots \right) f(t)=π4A(sin(Lπt)+31sin(3Lπt)+51sin(5Lπt)+)

这实际上是一个只包含奇次谐波的正弦级数,因为方波是奇函数。

吉布斯现象的证明

对于任意有限个数 N N N 的傅里叶级数部分和 S N ( t ) S_N(t) SN(t),我们可以写成:

S N ( t ) = 4 A π ∑ n = 1 , 3 , 5 , . . . N 1 n sin ⁡ ( n π t L ) S_N(t) = \frac{4A}{\pi}\sum_{n=1,3,5,...}^{N} \frac{1}{n}\sin\left(n\frac{\pi t}{L}\right) SN(t)=π4An=1,3,5,...Nn1sin(nLπt)

当我们在不连续点附近考察 S N ( t ) S_N(t) SN(t),即 t t t 接近于 0 0 0 L L L 时,会发现随着 N N N 的增加, S N ( t ) S_N(t) SN(t) 在不连续点附近的振荡变得更加复杂,但过冲量趋于稳定,不会随 N N N 增加而减少。

过冲量的计算

吉布斯现象的一个关键特性是,在不连续点处的最大过冲量大约是原始跳跃幅度的9%左右。这个结果可以通过积分来严格证明。对于方波,跳跃幅度为 2 A 2A 2A,因此过冲量约为 0.09 × 2 A = 0.18 A 0.09 \times 2A = 0.18A 0.09×2A=0.18A

考虑在 t = 0 t=0 t=0 处的过冲情况,使用傅里叶级数的性质,我们知道在不连续点附近, S N ( t ) S_N(t) SN(t) 可以用积分形式表示:

S N ( t ) = 2 A π ∫ 0 π N / L sin ⁡ x x d x S_N(t) = \frac{2A}{\pi}\int_0^{\pi N/L} \frac{\sin x}{x} dx SN(t)=π2A0πN/Lxsinxdx

这里 x = n π t / L x = n\pi t / L x=t/L。根据积分的性质,特别是 sinc 函数的积分,我们知道:

lim ⁡ N → ∞ ∫ 0 π N / L sin ⁡ x x d x = π 2 \lim_{N \to \infty} \int_0^{\pi N/L} \frac{\sin x}{x} dx = \frac{\pi}{2} Nlim0πN/Lxsinxdx=2π

这意味着在极限情况下, S N ( t ) S_N(t) SN(t) 将达到最大值 A A A 的位置超过实际值,具体地:

S N ( t ) ≈ A ( 1 + 0.18 π / 2 ) = A ( 1 + 0.18 × 2 π ) ≈ 1.0896 A S_N(t) \approx A \left(1 + \frac{0.18}{\pi/2}\right) = A (1 + 0.18 \times \frac{2}{\pi}) \approx 1.0896A SN(t)A(1+π/20.18)=A(1+0.18×π2)1.0896A

因此,过冲量大约为 0.0896 A 0.0896A 0.0896A 或者说是原跳跃幅度 2 A 2A 2A 的约9%。

结论

通过上述推导,我们可以看到即使当我们增加了更多的傅里叶级数项,过冲量仍然保持不变,这就是吉布斯现象的本质。这种现象表明了傅里叶级数在逼近具有不连续性的函数时所固有的局限性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Fourier series

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/946402.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)动态内存函数realloc

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 realloc realloc函数的出现让动态内存管理更加灵活。 有时会我们发现过去申请的空间太小了&#xff0c;有时候我们又会觉得申请的空间过大了&#xff0c;那为了合理的时候内存&#xff0c;…

pycharm+anaconda创建项目

pycharmanaconda创建项目 安装&#xff1a; Windows下PythonPyCharm的安装步骤及PyCharm的使用-CSDN博客 详细Anaconda安装配置环境创建教程-CSDN博客 创建项目&#xff1a; 开始尝试新建一个项目吧&#xff01; 选择好项目建设的文件夹 我的项目命名为&#xff1a;pyth…

ActiveMQ支持哪些传输协议

ActiveMQ 支持多种传输协议&#xff0c;以满足不同场景下的需求。这些协议包括但不限于以下几种&#xff1a; 1. OpenWire&#xff1a; • 这是 ActiveMQ 的默认和专有协议。 • 提供了高效、可靠的消息传递功能。 • 支持多种消息传递模式&#xff0c;如点对点和发布/订阅。 2…

Spring SpEL表达式由浅入深

标题 前言概述功能使用字面值对象属性和方法变量引用#this 和 #root变量获取类的类型调用对象(类)的方法调用类构造器类型转换运算符赋值运算符条件(关系)表达式三元表达式Elvis 操作符逻辑运算instanceof 和 正则表达式的匹配操作符 安全导航操作员数组集合(Array 、List、Map…

STM32裸机开发转FreeRTOS教程

目录 1. 简介2. RTOS设置&#xff08;1&#xff09;分配内存&#xff08;2&#xff09;查看任务剩余空间&#xff08;3&#xff09;使用osDelay 3. 队列的使用&#xff08;1&#xff09;创建队列&#xff08;1&#xff09;直接传值和指针传值&#xff08;2&#xff09;发送/接收…

第9章图9.15-9.21-《分析模式》原图和UML图对比

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集

提升口语发音水平,中英文发音评测系统实现

在全球化的浪潮中&#xff0c;语言不再是障碍&#xff0c;而是连接世界的桥梁。掌握一门流利的英语&#xff0c;意味着打开了通往世界的大门。但是&#xff0c;如何确保你的英语口语如同母语者一样自然流畅&#xff1f;这正是我们存在的意义。 我们的中英文口语发音评测服务&a…

C语言初阶习题【20】扫雷游戏

1.用C语言实现扫雷游戏 本博客和三子棋游戏比较大的区别是&#xff0c;三子棋游戏是写完了再总结的&#xff0c;本博客是边代码实现边编辑博客&#xff0c;所以本博客会比较详细的po出每一步骤&#xff0c;在每实现一个小功能的时候我们都先验证下效果&#xff0c;再继续下一步…

Python AI教程之七:多项式回归

多项式回归的实现 多项式回归是一种线性回归,其中独立变量 x 和因变量 y 之间的关系被建模为n 次多项式。多项式回归拟合 x 的值与 y 的相应条件均值之间的非线性关系,表示为 E(y | x)。在本文中,我们将深入探讨多项式回归。 目录 什么是多项式回归? 为什么采用多项式回归…

【Leetcode】3280. 将日期转换为二进制表示

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个字符串 date&#xff0c;它的格式为 yyyy-mm-dd&#xff0c;表示一个公历日期。 date 可以重写为二进制表示&#xff0c;只需要将年、月、日分别转换为对应的二进制表示&a…

网段划分和 IP 地址

1. IP 协议 IP 协议是网络层协议&#xff0c;主要负责在不同网络设备之间&#xff0c;进行数据包的地址分配和路由选择。 地址分配&#xff1a;为每个连接到公网的设备分配一个唯一的 IP 地址&#xff0c;确保数据能被准确地发送到目标设备。 数据分片和组装&#xff1a;当发…

【Python系列】Python 中对对象列表进行排序

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

微服务のGeteWay

目录 概念&#xff1a; 三大核心&#xff1a; 工作流程&#xff1a; 9527网关如何做路由映射&#xff1a; GetWay高级特性&#xff1a; 按服务名动态路由服务&#xff1a; 断言Route Predicate Factories &#xff1a; 获取当前时区时间&#xff1a; After Route &…

数字图像处理 三 空间滤波

空间滤波是一种图像处理技术&#xff0c;它通过对图像像素及其邻域进行运算&#xff0c;利用均值&#xff0c;高斯&#xff0c;梯度&#xff0c;拉普拉斯等线性滤波和中值&#xff0c;最大最小&#xff0c;双边滤波等非线性滤波改变像素值&#xff0c;实现图像的平滑&#xff0…

【CVE-2024-12987 】DrayTek 网关设备中 `apmcfgupload` 端点的命令注入漏洞

概述 DrayTek 网关设备(包括 Vigor2960 和 Vigor300B 型号)存在通过 Web 管理接口进行命令注入的漏洞。攻击者可以通过发送恶意的 HTTP 请求到 /cgi-bin/mainfunction.cgi/apmcfgupload 端点,利用该漏洞注入任意命令,从而影响超过 66,000 台连接到互联网的设备。 受影响的…

mac下载Homebrew安装nvm

通过Homebrew安装 - 国内下载地址 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装nvm brew install nvm 配置nvm环境变量 export NVM_DIR“$HOME/.nvm” [ -s “/usr/local/opt/nvm/nvm.sh” ] && . “/usr/…

[react] 纯组件优化子

有组件如下,上面变化秒数, 下面是大量计算的子组件,上面每一秒钟变化一次,这时候子组件会不断重新渲染, 浪费资源 父组件如下 import React, { memo, useEffect, useMemo, useState } from react; import type { ReactNode, FC } from react; import HugeCount from ./Te; int…

Unity Mesh生成Cube

1. 配置一个Cube的每个面的数据 一共是6个面&#xff0c;每个面包含的数据包括4个顶点的相对顶点坐标&#xff08;Cube的中心为原点&#xff09;&#xff0c;法线方向&#xff0c;UV坐标&#xff0c;顶点渲染顺序&#xff0c;以及这个面用到的材质&#xff0c;因为这里是Top&am…

Spring--三级缓存机制

一、什么是三级缓存 就是在Bean生成流程中保存Bean对象三种形态的三个Map集合&#xff0c;如下&#xff1a; // 一级缓存Map 存放完整的Bean&#xff08;流程跑完的&#xff09; private final Map<String, Object> singletonObjects new ConcurrentHashMap(256);// 二…

使用R语言绘制标准的中国地图和世界地图

在日常的学习和生活中&#xff0c;有时我们常常需要制作带有国界线的地图。这个时候绘制标准的国家地图就显得很重要。目前国家标准地图服务系统向全社会公布的标准中国地图数据&#xff0c;是最权威的地图数据。 今天介绍的R包“ggmapcn”&#xff0c;就是基于最新公布的地图…