浅谈傅里叶级数

news/2025/9/24 22:26:19/文章来源:https://www.cnblogs.com/deer2021/p/19110114

我们可能都听说过傅里叶级数,但我们确切地知道它是什么吗?在这篇文章中,我将尝试逐一剖析这些概念。希望到最后,当你听到这些术语时,无论是在机器学习文献中还是与数学相关的内容中,你都能明白是怎么回事。

傅里叶级数是由巴蒂斯特·约瑟夫·傅里叶男爵在19世纪初引入的,傅里叶向我们展示了任何周期函数都可以表示为一系列正弦和余弦。这种表示被称为傅里叶级数。

现在,给定一个周期函数 \(y=f(t)\),使用傅里叶级数,我们希望将其表示为以下形式的正弦和余弦的无限和:

\[f(t) \approx a_0 + a_1\cos(t) + a_2\cos(2t) + a_3\cos(3t) + ... + a_n\cos(nt) \\ + b_1\sin(t) + b_2\sin(2t) + b_3\sin(3t) + ... + b_n\sin(nt) \]

在这里,\(a_{0,..,n}\)\(b_{0,..,n}\) 是系数,\(a_0\) 项有助于将图形垂直上下移动。不断将这些加权项加在一起,其近似值就越接近原始函数 \(f(t)\)

这个傅里叶级数可以分解成两个部分:傅里叶正弦和余弦级数。

傅里叶正弦级数

现在,让我们放大级数的sin分量。所有与sin相关的项的总和构成了傅里叶正弦级数

对于一个奇函数 \(f(x)\)

\[f(x) \approx \sum_{n=1}^{\infty} b_n \sin(nt) \]

假设我们在 \([-\pi, \pi]\) 中有一个方波函数 \(SW(t)\)

image.png

如果我们将 \(\sin(t)\) 的图形叠加到这个图形上,它会看起来像这样:
image.png

现在,让我们叠加 \(y = \frac{\sin(3t)}{3}\) 的图形。

image.png

当我们把这两个图形,\(y = \sin(t)\)\(y = \frac{\sin(3t)}{3}\),加在一起,我们得到一个新的曲线 \(y = \sin(t) + \frac{\sin(3t)}{3}\)
image.png

现在,如果我们将 \(y = \frac{\sin(5t)}{5}\) 添加到这个紫色曲线上,我们会得到一些更不同(但更接近方波)的东西。
image.png

继续这样做,直到达到 \(\frac{\sin(199t)}{199}\) 项。就像这样,

\[y = \sin(t) + \frac{\sin(3t)}{3} + \frac{\sin(5t)}{5} + ... + \frac{\sin(197t)}{197} + \frac{\sin(199t)}{199} \]

我们会得到这样的东西:
image.png

所以,可以通过添加傅里叶正弦级数的项,近似任何形状类似于正弦波的奇周期函数。

傅里叶余弦级数

同样适用于余弦波,可以使用傅里叶余弦级数中的项的总和来近似偶周期函数的图形:

\[f(x) \approx a_0 + \sum_{n=1}^{\infty} a_n \cos(\frac{nx}{2}) \]

即任何周期函数都可以用sincos项的和来表示/近似。对于偶函数,它是cos项的和,对于奇函数,它是sin项的和。

首要任务是找到这些系数 \(a_0, a_1, a_2, ..., a_n\)\(b_1, b_2, ..., b_n\) 的确切值。为此,我们可以对每一项使用定积分。傅里叶通过将其简化为以下公式来计算这些系数:

\[a_0 = \frac{1}{2\pi} \int_0^{2\pi} f(t) dt \]

\[a_n = \frac{1}{\pi} \int_0^{2\pi} f(t) \cos(nt) dt \]

\[b_n = \frac{1}{\pi} \int_0^{2\pi} f(t) \sin(nt) dt \]

傅里叶是如何得出这些积分的呢?

我们可以将 \(f(t)\) 的傅里叶展开表示为:

\[f(t) \approx a_0 + \sum_{n=1}^{\infty} a_n \cos(nt) + \sum_{n=1}^{\infty} b_n \sin(nt) \]

如果我们像泰勒级数或麦克劳林级数那样对它进行微分,我们会得到 \(a_0\) 为零,并且会得到交替的\(\sin,\cos\),这违背了微分的目的,因为我们仍然无法得到值。所以,傅里叶尝试了积分:

\[\int_{-\pi}^{\pi} f(t) dt \approx \int_{-\pi}^{\pi} a_0 dt + \int_{-\pi}^{\pi} \sum_{n=1}^{\infty} a_n \cos(nt) dt + \int_{-\pi}^{\pi} \sum_{n=1}^{\infty} b_n \sin(nt) dt \]

寻找 \(a_0\)

上面的表达式可以重写为

\[\int_{-\pi}^{\pi} f(t) dt \approx \int_{-\pi}^{\pi} a_0 dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt) dt \]

\([-\pi, \pi]\) 中,\(\displaystyle\int_{-\pi}^{\pi} a_0 dt\) 简化为 \(2\pi a_0\)。对于 \(\sin\)\(\cos\) 项,

\[\int_{-\pi}^{\pi} \cos(nt) dt = \frac{1}{n} [\sin(nt)]_{-\pi}^{\pi} = 0 \]

这意味着整个求和 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\) 不复存在,因为它归零了。

\[\int_{-\pi}^{\pi} \sin(nt) dt = -\frac{1}{n} [\cos(nt)]_{-\pi}^{\pi} = 0 \]

我们可以看到求和 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\) 也归零了。所以

\[\int_{-\pi}^{\pi} f(t) dt = 2\pi a_0 + 0 + 0 \]

两边都除以 \(2\pi\)

\[a_0 = \frac{1}{2\pi} \int_{-\pi}^{\pi} f(t) dt \]

将区间更改为 \([0, 2\pi]\)

\[a_0 = \frac{1}{2\pi} \int_0^{2\pi} f(t) dt \]

寻找 \(a_n\)

让我们回到原始方程:

\[\int_{-\pi}^{\pi} f(t) dt \approx \int_{-\pi}^{\pi} a_0 dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt) dt \]

我们需要在这个方程中加入其他东西来帮助我们。它到底是什么?

\(\cos(mt)\),其中 \(m \in \mathbb{Z}\)!我们需要将方程的两边都乘以这个项:

\[\int_{-\pi}^{\pi} f(t)\cos(mt) dt \approx \int_{-\pi}^{\pi} a_0 \cos(mt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\cos(mt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\cos(mt) dt \]

  • 让我们从看一下 \(\displaystyle\int_{-\pi}^{\pi} a_0 \cos(mt) dt\) 开始。这和我们之前做的一样,值为 \(0\),我们不需要再关心它了。
  • 接下来,我们转到 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\cos(mt) dt\)。使用简单的积和恒等式,我们可以将其简化为以下两种情况:

\[\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} \cos(nt)\cos(mt) dt = \begin{cases} 0 & n \neq m \\ \pi & n=m \end{cases} \]

所以,当 \(n=m\) 时,\(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\cos(mt) dt\) 简化为 \(a_n \pi\)

  • 接下来,我们转到 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\cos(mt) dt\):

\[\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} \sin(nt)\cos(mt) dt = 0 \]

  • 让我们把它们都放在一起:

\[\int_{-\pi}^{\pi} f(t)\cos(mt) dt = 0 + a_n\pi + 0 \]

两边都除以 \(\pi\) 并将 \(m\) 改为 \(n\)

\[a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(t)\cos(nt) dt \]

将区间更改为 \([0, 2\pi]\)

\[a_n = \frac{1}{\pi} \int_0^{2\pi} f(t)\cos(nt) dt \]

寻找 \(b_n\)

最后,让我们来寻找 \(b_n\)。如果你说我们现在将在两边都乘以 \(\sin(mt)\),那你就猜对了。

\[\int_{-\pi}^{\pi} f(t)\sin(mt) dt \approx \int_{-\pi}^{\pi} a_0 \sin(mt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\sin(mt) dt + \sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\sin(mt) dt \]

  • 和以前一样,\(\displaystyle\int_{-\pi}^{\pi} a_0 \sin(mt) dt = 0\)
  • 考虑 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\sin(mt) dt\):

\[\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} \cos(nt)\sin(mt) dt = 0 \]

所以

\[\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} a_n \cos(nt)\sin(mt) dt = 0 \]

  • 最后考虑 \(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\sin(mt) dt\)。注意到

\[\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} \sin(nt)\sin(mt) dt = \begin{cases} 0 & n \neq m \\ \pi & n=m \end{cases} \]

同样地,\(\displaystyle\sum_{n=1}^{\infty} \int_{-\pi}^{\pi} b_n \sin(nt)\sin(mt) dt = b_n \pi\).

  • 把它们都放在一起:

\[\int_{-\pi}^{\pi} f(t)\sin(mt) dt = 0 + 0 + b_n\pi \]

两边都除以 \(\pi\) 并将 \(m\) 改为 \(n\)

\[b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(t)\sin(nt) dt \]

将区间更改为 \([0, 2\pi]\)

\[b_n = \frac{1}{\pi} \int_0^{2\pi} f(t)\sin(nt) dt \]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js遍历对象

js遍历对象JavaScript 对象是由键值对组成的集合,遍历对象即逐个访问这些键值对。 常见的遍历方法包括 for...in 循环、Object.keys()、Object.values() 和 Object.entries()。 在jquery中还经常使用$.each(obj, func…

瑞丽网站建设域名注册局官网

目录 配置开始 Zabbix添加linux主机 4.为agent.zabbix.com添加模板 环境: (隔天做的更换了IP,不影响实际操作) IP 192.168.50.50 关闭防火墙规则 更改主机名 [rootlocalhost ~]# vim /etc/hostname agent.zabbix.com [rootloca…

day 10 (函数2 )

day 10 (函数2 &)课程:https://www.bilibili.com/video/BV1o4411M71o?spm_id_from=333.788.videopod.episodes&p=183 10.1 函数二学习目标简介------------------------------------------------ 执行后10…

入驻了爱发电

从2025/9/24起,我正式入驻了爱发电平台

奖励函数(双足)

1.通用奖励项:is_terminated,判断机器人是否终止 2.基座惩罚项 惩罚基座z方向的速度,鼓励机器人保持平衡 惩罚基座x,y方向上的角速度,鼓励机器人保持水平 3.关节惩罚项 惩罚关节加速度,鼓励平滑运动 关节位置限制…

离线部署镜像仓库搭建

离线部署镜像仓库搭建 一、系统准备一台可联网服务器:用于同步仓库(与目标系统同架构) 一台离线内网服务器:最终使用离线内网仓库的机器 存储空间:至少200GB 系统版本:CentOS Linux release 8.5.2111二、在可联网…

Temporal和Airflow有什么差别

Temporal和Airflow有什么差别 Temporal 和 Apache Airflow 是两种主流的工作流编排工具,但它们在设计理念、核心优势和适用场景上有着显著的不同。下面通过一个表格快速梳理它们的核心差异,然后我会进一步解释这些差…

厚街公司网站建设wordpress模板和下载不同

转载一篇问题解决博客:问题解决 一、烧录系统 使用SDK烧录 二、安装archiconda3 JETSON TX2 NX的架构是aarch64,与win10,linxu不同,所以不能安装Anaconda,这里安装对应的archiconda。 1. 安装 wget https://github.com/Archiconda/build-tools/rel…

有前景的长沙企业网站建设开发一套小程序大概多少钱

在C语言中,位段(Bit Fields)是一种用来对结构体中的成员进行位级别的控制的特性。通过位段,我们可以灵活地控制结构体中各个成员的位数,从而节省内存空间并提高程序的效率。本篇博客将详细讲解C语言中位段的相关知识&a…

建立网站教程dedecms_v5.6室内装饰设计公司企业网站模板.rar

今日继续学习树莓派4B 4G:(Raspberry Pi,简称RPi或RasPi) 本人所用树莓派4B 装载的系统与版本如下: 版本可用命令 (lsb_release -a) 查询: Opencv 版本是4.5.1: 紧接着上篇文章学习的串口通信,今日学习如何让树莓派开机…

lc1035-不相交的线

难度:中等(中期)题目描述“连连看” 上下两个数组,相同的数可以连线,问在不交叉的情况下最多可以连多少条线示例 输入:nums1 = [1,4,2], nums2 = [1,2,4] 输出:2 解释: 1 4 2 | \ 1 2 4输入:nums1 = [2,5,1,…

Spring Boot 接入 Redis Sentinel:自动主从切换与读写分离实战(修复单机多实例与 Sentinel 配置坑) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

智能中控终端-多环境联动的智慧管控中枢

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

自我介绍与未来规划

自我介绍与未来规划一、自我介绍 大家好,我叫李昊,专业是数据科学与大数据技术; 方向:大数据开发、大数据分析; 兴趣爱好:听歌、排球、调酒(熟练使用基础调酒工具,能够调制多款经典鸡尾酒并且自研了多款特调)…

广西网站建设开发深圳网站建设哪家公司便宜

为什么要判断物理机,因为授权不能对虚拟机安装后的软件进行授权。虚拟机可以复制可以克隆,无法作为一个不可复制ID来使用。 总结了如何判断物理机: 1. 用systeminfo的系统型号。(注,有资料是看处理器和bios。但是我这…

做网站映射tcp打开百度官网

引言 在现代软件开发中,我们经常需要处理大量的数据。为了有效地管理这些数据,我们需要使用一些强大的框架。其中,Spring Boot和MyBatis-Plus是两个非常流行的框架。Spring Boot是一个基于Spring的开源Java框架,可以用于创建独立…

图片展示类网站北京引流推广公司

时钟周期、状态周期、机器周期、指令周期与晶振频率之间的关系 1、晶振频率与脉冲的关系 假设单片机的晶振频率是12MHz,那么它的一个脉冲为1/12微秒;晶振单位时间发出的脉冲则为: 12 ∗ 1 0 6 12*10^6 12∗106。 假设单片机的晶振频率是4MH…

解构React Server Components:服务端序列化与流式传输的底层逻辑

组件的渲染与传输始终是平衡性能与体验的核心命题。React Server Components(RSC)并非简单的“服务端渲染升级版”,而是一套重构了组件传输链路的技术体系—它打破了传统客户端组件“全量打包下发”的模式,通过在服…

js里面的单引号、双引号及反引号的用法

js里面的单引号、双引号及反引号的用法在JavaScript中,单引号()、双引号(")和反向引号(`,也称为模板字面量或反引号)都用于定义字符串,但它们有一些不同的特性和应用场景。 下面是对它们的区别和应用方法…

牛客刷题-Day4

动态规划1:线性dp、背包问题,区间 https://ac.nowcoder.com/acm/contest/24213?from=acdiscuss牛客刷题-Day4 今日刷题:\(1016-1020\) 1016 牛牛的旅游纪念品 题目描述 牛牛在牛市的旅游纪念商店里面挑花了眼,于是…