如何计算sinc函数的定积分?
简 介: 这里给出了 Sinc(t) 的面积求取的三种方法,利用 Feynman 技巧,是一种把简单的事情变复杂,拐弯抹角的解决办法;利用复变函数完成定积分计算非常优雅;但最为简洁的证明则是利用傅里叶变换以及其对偶特性来完成的证明。
关键词
: Sinc,定积分,Feynman,复变函数
01 SINC函数积分
一、背景介绍
Sinc 函数,也就是 sin t / t \sin t/t sint/t 在信号处理中是一个重要信号,它是矩形信号的频谱,同时也是信号采样回复中的插值函数。它的积分原函数是一个超越函数,但它的定积分,也就是它的面积是存在的。对于 sin t / t \sin t/t sint/t 的定积分为 π \pi π 。
▲ 图1.1.1 Sinc 函数的波形
下面给出 Sinc(t) 函数定积分的三种方法,大家可以对比哪一种方法最为简洁。
二、微分积分方法
这个方法来自于 Leo GoldMarkher 写的一篇短文: Differenciation under the integer sign ,是作为其中的一个范例来说明 Feynman 的方法。
1、定积分
求 Sinc 函数的定积分,即它的面积: ∫ − ∞ + ∞ sin x x d x \int_{ - \infty }^{ + \infty } {{{\sin x} \over x}dx} ∫−∞+∞xsinxdx 根据该函数为偶函数,那么 ∫ − ∞ + ∞ sin x x d x = 2 ∫ 0 + ∞ sin x x d x \int_{ - \infty }^{ + \infty } {{{\sin x} \over x}dx} = 2\int_0^{ + \infty } {{{\sin x} \over x}dx} ∫−∞+∞xsinxdx=2∫0+∞xsinxdx 定义面积的参数函数 H ( t ) = ∫ 0 + ∞ sin x x e − t x d x , t ≥ 0 H\left( t \right) = \int_0^{ + \infty } {{{\sin x} \over x}e^{ - tx} dx} ,\,\,\,t \ge 0 H(t)=∫0+∞xsinxe−txdx,t≥0 所以 Sinc 函数等于 2 H ( 0 ) 2H\left( 0 \right) 2H(0) 。对于 H ( t ) H\left( t \right) H(t) 求关于 t t t 的导数: H ′ ( t ) = d d t ∫ 0 + ∞ sin x x e − t x d x = − ∫ 0 + ∞ e − t x sin x ⋅ d x H'\left( t \right) = {d \over {dt}}\int_0^{ + \infty } {{{\sin x} \over x}e^{ - tx} dx} = - \int_0^{ + \infty } {e^{ - tx} \sin x \cdot dx} H′(t)=dtd∫0+∞xsinxe−txdx=−∫0+∞e−txsinx⋅dx
(1)求导数的定积分-方法1
下面通过两次分部积分,来求解 H ′ ( t ) H'\left( t \right) H′(t) 对应的定积分。 − ∫ 0 + ∞ e − t x sin x ⋅ d x = − [ 1 − t sin x ⋅ e − t x ∣ 0 + ∞ − ∫ 0 + ∞ 1 − t e − t x cos x ⋅ d x ] - \int_0^{ + \infty } {e^{ - tx} \sin x \cdot dx} = - \left[ {\left. {{1 \over { - t}}\sin x \cdot e^{ - tx} } \right|_0^{ + \infty } - \int_0^{ + \infty } {{1 \over { - t}}e^{ - tx} \cos x \cdot dx} } \right] −∫0+∞e−txsinx⋅dx=−[−t1sinx⋅e−tx∣∣∣∣0+∞−∫0+∞−t1e−txcosx⋅dx] = − 1 t ∫ 0 + ∞ e − t x cos x ⋅ d x = − 1 t [ 1 − t cos x ⋅ e − t x ∣ 0 + ∞ − ∫ 0 + ∞ 1 − t ⋅ e − t x ( − sin x ) ⋅ d x ] = - {1 \over t}\int_0^{ + \infty } {e^{ - tx} \cos x \cdot dx} = - {1 \over t}\left[ {\left. {{1 \over { - t}}\cos x \cdot e^{ - tx} } \right|_0^{ + \infty } - \int_0^{ + \infty } {{1 \over { - t}} \cdot e^{ - tx} \left( { - \sin x} \right) \cdot dx} } \right] =−t1∫0+∞e−txcosx⋅dx=−t1[−t1cosx⋅e−tx∣∣∣∣0+∞−∫0+∞−t1⋅e−tx(−sinx)⋅dx] = 1 t 2 + 1 t 2 ∫ 0 + ∞ e − t x ⋅ sin x ⋅ d x = {1 \over {t^2 }} + {1 \over {t^2 }}\int_0^{ + \infty } {e^{ - tx} \cdot \sin x \cdot dx} =t21+t21∫0+∞e−tx⋅sinx⋅dx
上面表达式中, 令 A = ∫ 0 + ∞ e − t x sin x ⋅ d x A = \int_0^{ + \infty } {e^{ - tx} \sin x \cdot dx} A=∫0+∞e−txsinx⋅dx ,那么有 − A = 1 t 2 + 1 t 2 A - A = {1 \over {t^2 }} + {1 \over {t^2 }}A −A=t21+t21A 所以 H ′ ( t ) = − 1 1 + t 2 H'\left( t \right) = - {1 \over {1 + t^2 }} H′(t)=−1+t21
(2)利用欧拉公式求解-方法2
令
∫
0
∞
e
−
t
x
sin
x
d
x
=
∫
0
∞
e
−
t
x
(
e
j
x
−
e
−
j
x
2
j
)
d
x
\int_0^\infty {e^{ - tx} \sin xdx} = \int_0^\infty {e^{ - tx} \left( {{{e^{jx} - e^{ - jx} } \over {2j}}} \right)dx}
∫0∞e−txsinxdx=∫0∞e−tx(2jejx−e−jx)dx
=
1
2
j
∫
0
∞
e
(
j
−
t
)
x
d
x
−
1
2
j
∫
0
∞
e
−
(
j
+
t
)
x
d
x
= {1 \over {2j}}\int_0^\infty {e^{\left( {j - t} \right)x} dx} - {1 \over {2j}}\int_0^\infty {e^{ - \left( {j + t} \right)x} dx}
=2j1∫0∞e(j−t)xdx−2j1∫0∞e−(j+t)xdx
=
1
2
j
[
1
j
−
t
e
(
j
−
t
)
x
∣
0
∞
+
1
j
+
t
e
−
(
j
+
t
)
x
∣
0
∞
]
=
1
2
j
(
1
j
−
t
+
1
j
+
t
)
=
1
1
+
t
2
= {1 \over {2j}}\left[ {\left. {{1 \over {j - t}}e^{\left( {j - t} \right)x} } \right|_0^\infty + \left. {{1 \over {j + t}}e^{ - \left( {j + t} \right)x} } \right|_0^\infty } \right] = {1 \over {2j}}\left( {{1 \over {j - t}} + {1 \over {j + t}}} \right) = {1 \over {1 + t^2 }}
=2j1[j−t1e(j−t)x∣∣∣∣0∞+j+t1e−(j+t)x∣∣∣∣0∞]=2j1(j−t1+j+t1)=1+t21
所以得到和上面相同的结果。
2、积分结果
根据 H ′ ( t ) H'\left( t \right) H′(t) 的表达式,可以知道 H ( t ) = − tan − 1 ( t ) + C H\left( t \right) = - \tan ^{ - 1} \left( t \right) + C H(t)=−tan−1(t)+C 在根据 H ( ∞ ) = ∫ 0 ∞ sin x x e − ∞ x d x = 0 H\left( \infty \right) = \int_0^\infty {{{\sin x} \over x}e^{ - \infty x} dx} = 0 H(∞)=∫0∞xsinxe−∞xdx=0 所以 H ( ∞ ) = − π 2 + C = 0 H\left( \infty \right) = - {\pi \over 2} + C = 0 H(∞)=−2π+C=0 ,所以 C = π / 2 C = \pi /2 C=π/2 。因此 H ( t ) = − tan − 1 t + π 2 H\left( t \right) = - \tan ^{ - 1} t + {\pi \over 2} H(t)=−tan−1t+2π 那么 ∫ − ∞ + ∞ sin x x d x = 2 H ( 0 ) = 2 ⋅ π 2 = π \int_{ - \infty }^{ + \infty } {{{\sin x} \over x}dx} = 2H\left( 0 \right) = 2 \cdot {\pi \over 2} = \pi ∫−∞+∞xsinxdx=2H(0)=2⋅2π=π
三、复变函数方法
可以参考 Youtube 上的视频 Integral of sinx/x by Complex Analysis 讲解过程。或者 The infinite integral of sinxx using complex analysis .
1、推导过程
在复平面上定义如下解析函数: f ( z ) = e i z z f\left( z \right) = {{e^{iz} } \over z} f(z)=zeiz 在上半复平面定义一个原点缩进的半圆逆时针积分路线,如下图所示。 使用 γ r : = { z ∈ C : z = r ⋅ e i t , 0 ≤ t ≤ π , r > 0 } \gamma _r : = \left\{ {z \in C:z = r \cdot e^{it} ,0 \le t \le \pi ,r > 0} \right\} γr:={z∈C:z=r⋅eit,0≤t≤π,r>0} 表示逆时针的半圆路径,那么下图半圆路径可以表示为: C : = [ − R , − r ] ∪ ( − γ r ) ∪ [ r , R ] ∪ γ R C: = \left[ { - R, - r} \right] \cup \left( { - \gamma _r } \right) \cup \left[ {r,R} \right] \cup \gamma _R C:=[−R,−r]∪(−γr)∪[r,R]∪γR
▲ 图1.3.1 定义在复平面上的路线积分
由于 f ( z ) f\left( z \right) f(z) 是一个解析函数,并在积分路径中没有任何极点,所以该围线积分等于0。
根据 引理 ,可以知道在半圆 γ r , γ R \gamma _r ,\gamma _R γr,γR 上的积分分别为: lim r → 0 ∫ γ r f ( z ) = π i \mathop {\lim }\limits_{r \to 0} \int_{\gamma _r }^{} {f\left( z \right)} = \pi i r→0lim∫γrf(z)=πi ∣ ∫ γ R f ( z ) d z ∣ ≤ π R ⋅ e − R ⋅ I m z R ⟶ R → ∞ 0 \left| {\int_{\gamma _R }^{} {f\left( z \right)dz} } \right| \le {{\pi R \cdot e^{ - R \cdot {\mathop{\rm Im}\nolimits} z} } \over R}\mathrel{\mathop{\kern0pt\longrightarrow}\limits_{R \to \infty }} 0 ∣∣∣∣∫γRf(z)dz∣∣∣∣≤RπR⋅e−R⋅ImzR→∞⟶0 所以 0 = lim R → ∞ , r → 0 ∮ z f ( z ) d z = ∫ − ∞ + ∞ e i x x x − π i 0 = \mathop {\lim }\limits_{R \to \infty ,r \to 0} \oint_z {f\left( z \right)dz} = \int_{ - \infty }^{ + \infty } {{{e^{ix} } \over x}x} - \pi i 0=R→∞,r→0lim∮zf(z)dz=∫−∞+∞xeixx−πi 然后对比函数的虚部的数值,便可以得到对应的结果了: ∫ − ∞ + ∞ sin x x d x = π \int_{ - \infty }^{ + \infty } {{{\sin x} \over x}dx} = \pi ∫−∞+∞xsinxdx=π
四、使用傅里叶变换
Sinc 函数的傅里叶变换是一个矩形信号,这一点可以使用傅里叶变换的对偶特性所获得的。 F T { sin x x } = π { u ( ω + 1 ) − u ( ω − 1 ) } FT\left\{ {{{\sin x} \over x}} \right\} = \pi \left\{ {u\left( {\omega + 1} \right) - u\left( {\omega - 1} \right)} \right\} FT{xsinx}=π{u(ω+1)−u(ω−1)} F ( ω ) F\left( \omega \right) F(ω)
▲ 图1.4.1 Sinc 函数的傅里叶变换
下面仅仅根据傅里叶变换的公示,便可以知道上述 Sinc 的积分等于其频谱在 0 点的取值:
∫ − ∞ + ∞ f ( t ) d z = F ( 0 ) = π \int_{ - \infty }^{ + \infty } {f\left( t \right)dz} = F\left( 0 \right) = \pi ∫−∞+∞f(t)dz=F(0)=π
※ 总 结 ※
这里给出了 Sinc(t) 的面积求取的三种方法,利用 Feynman 技巧,是一种把简单的事情变复杂,拐弯抹角的解决办法;利用复变函数完成定积分计算非常优雅;但最为简洁的证明则是利用傅里叶变换以及其对偶特性来完成的证明。
■ 相关文献链接:
- Differenciation under the integer sign
- Integral of sinx/x by Complex Analysis
- The infinite integral of sinxx using complex analysis
- 引理
● 相关图表链接:
相关文章
- AssetBundle如何计算可靠的Hash值
- Net 如何计算一段代码的效率
- 循环-02. 计算圆周率(15)
- 地球引擎中级教程——如何计算每个类中像素的面积。使用该area()函数计算特征的面积?
- 用chatgpt帮你写一段GEE计算森林生物量的代码,你猜结果如何?
- 从云服务到行业云,看可信云如何搭建云计算的最全标准?
- Allegro上如何计算阻抗操作指导
- CBO是如何计算range谓词的选择率
- 15+文章详细讲述Serverless:开启函数计算时代!(含PDF下载)
- 云计算
- SwiftUI 机器学习之如何计算标准差Standard Deviation (教程含源码)
- SwiftUI 机器学习之如何计算方差Variance (教程含源码)
- Flink 零基础实战教程:如何计算实时热门商品
- MindSpore计算框架如何发布训练好的模型到官方模型仓库MindSpore_Hub上
- 在深度计算框架MindSpore中如何对不持续的计算进行处理——对数据集进行一定epoch数量的训练后,进行其他工作处理,再返回来接着进行一定epoch数量的训练——单步计算
- 云计算如何应用于无人机植保?
- 超级计算如何突破摩尔定律?
- 如何计算新的UPS的容量需求?
- 云计算为企业软件市场带来的变化
- 怎么计算数据库有多大的数据量
- 计算机组成原理学习日记3(海明码的计算)
- 浅析MySQL中的计算列(Generated Column列)与计算字段的介绍与应用-如何让数据库中某个字段随时间自动更新
- 如何看待基于OpenStack与Docker技术的云计算建设
- 数学的几大基础计算
- python 有效位数计算
- 【历史上的今天】12 月 14 日:计算复杂性理论先驱出生;雅虎群组被关闭;W3C 召开第一次会议
- 如何充分利用云计算? 掌握这十大方法或许可以
- golang 如何接收控制台的数据 并计算输入的两个的和
- 中间件市场现状到底如何?在云计算、大数据的时代将何去何从?
- 基于云计算的物联网货币化引擎的四个基本特征
- 计算连续的IP地址
- 边缘计算将在2017年大行其道,细数其中的价值、机遇与挑战!