漫谈:从傅里叶级数 到 傅里叶变换

1. 从简谐振动聊起

        在物理学中,学习振动这种运动形式的时候,都是从简谐振动开始讲起,那么,这是为什么?振动形式千千万,敲鼓是振动,说话是振动,运动轨迹为矩形波是振动,为三角波也可以是震动...,那为什么偏爱简谐振动?

        因为:

                (1)简谐振动是最简单的振动,科学总是喜欢从简单的事物着手进行研究。

                (2)任何形式的振动都可以分解成简谐振动的叠加。

        所以:

        只要研究清楚了简谐振动,也就能够了解任何其他形式的振动,无非是进行叠加。就像只要知道了两个数的加法如何操作,就知道了任何多个数相加如何操作了一样,因为,不论多少个数相加,总可以先把最前面的两个数相加得出一个结果,然后,再将这个结果与后面一个数相加构成一个两个数的加法,如此,一直进行下去,最后,这个式子会变成两个数相加,最终,得出结果。有了“2”,便有了“无穷”,所以,2是一个神奇的数字。

        那么:

        为什么任何形式的振动都可以分解成简谐振动的叠加呢?

        因为,傅里叶级数。满足狄利克雷条件的任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示,而振动这种物理运动形式是满足狄利克雷条件的;对于非周期振动,可以将其看作是周期 T\rightarrow \infty 的周期信号,进行非周期信号的傅里叶变换。因此,任何形式的振动信号都可以进行傅里叶级数展开。

        周期信号的傅里叶分解 和 非周期信号的傅里叶分解,虽然在计算方法上有区别,但是其本质是相同的。区别不过是周期信号的傅里叶分解,其基波分量信号原始信号的 信号周期(频率)相同;非周期信号的傅里叶分解,其基波分量的频率 f_{0}\rightarrow 0,从这个角度看它们也就仅仅只有这点区别了。

        除了振动这种运动外,其他的任何形式的信号,只要满足狄利克雷条件,都可以进行傅里叶分解,将其等效成无穷多个正余弦函数的叠加。

2. 关于声音的事

        声音是由物体的振动产生的。初中物理学教材规定,声音的品质叫做音色,它反映了每个物体发出的声音特有的品质,是由发生物体本身的固有特征决定。就像每个人说话的声音都有自己的特色一样,即使没有看到人的外貌,听到声音也可以辨别是谁。钢琴的声音有钢琴的特色,吉他的声音有吉他的特色,笛子的声音有笛子的特色。

        给人的感觉是每个物体发出的声音都有自己的特色,这是由物体本身的特性决定的,一个物体发出的声音也只有一种特色,就像无法用钢琴发出唢呐的声音,但是,有一个东西很反常,他就是 喇叭(扬声器),好像用喇叭可以发出任何声音,比如,用手机可以播放任何人唱的歌,任何动物的声音等。

        为什么喇叭如此神奇?喇叭的音色是怎样的?音色到底是什么?为什么音色是由物体本身的固有特性决定的?

图1. 扬声器的结构

        回到声音最原始的意义,声音是由物体的振动产生的。振动有两大特征,即幅值和频率。在声音这种特殊形式的振动中,还多了一个音色的特性。从振动的角度看音色其实就是:物体的形状、结构、密度等自身特征导致地在物体受到外力作用下而发生振动时,物体“摇晃”方式(振动轨迹)的特征。

        比如,我的面前有一个物体,我踹他一脚,它振动的特征是,在一个周期内,它先是向正方向大幅振动,然后,再小幅度向反向振动,如图2所示。

图2. 一个振动的特例

        回到喇叭的音色问题上,喇叭之所以能够发出任何形式的音色是因为:喇叭的中心有一个磁柱(叫做磁芯),磁柱上套有一个可以移动的圆柱环壳(叫做音圈架),壳的表面绕上线圈(叫做音圈),在给线圈通入不同形式的电流时,线圈就会以不同的方式振动,这样任何形式的振动方式都可以被模拟出来,也就可以发出任何音色了。

        从物理的角度看,音色的特征其实就是傅里叶级数(或者是傅里叶变换)中的幅频特性的特征。每一种形式的音色,都是一种有着自己特有幅频特性的振动。

3. 再聊一聊滤波器

        电路中经常会用到滤波器(RC低通滤波器,RC高通滤波器等...)。以低通滤波器为例,如何理解一个周期1秒(频率为1Hz)的矩形波信号,通过一个截止频率为10Hz低通滤波器滤波后得到的输出结果?

        还是傅里叶级数展开,将矩形波信号进行傅里叶分解,将其展开成级数求和的形式,则,1Hz的矩形波信号被分解成很多频率为1Hz的整数倍的不同三角信号(正余弦)的叠加。这其中就包含了很多频率大于10Hz的高频三角信号,这些信号将被滤波器以一定的方式过滤掉,最终,保留下低频成分。

4. 傅里叶变换

        信号f(t) 的傅里叶变换为:

F(\omega ) = \int_{-\infty }^{+\infty } f(t)e^{-i\omega t}dt

        并且,傅里叶变换的逆变换为:

f(t) = \frac{1}{2\pi } \int_{-\infty }^{+\infty } F(\omega ) e^{i\omega t} d \omega

        仅仅看这个式子,能得到什么?能知道,如果有一个原始信号 f(t) ,可以按照这个式子去计算出这个原始信号傅里叶变换的结果。但是,这一通计算到底是在干嘛?算出的 F(\omega ) 到底是什么?

        通过前面的讨论,已经知道了,傅里叶级数可以把满足狄利克雷条件的任意周期信号分解成无穷多个正余弦函数的叠加。傅里叶级数 和 傅里叶变换 毫无疑问有着非常紧密的联系。其实傅里叶变换就是用来确定傅里叶级数中,各项(正余弦函数)的系数的。傅里叶变换的结果得到了就是知道了傅里叶级数中各个项的系数。总之,傅里叶变换就是一个计算方法,用来求原始信号展开后的傅里叶级数各项的系数,而我们通常所谓的幅频特性就是分析各个三角函数分量(正弦或余弦)的幅值该分量的频率之间的关系,相频特性就是分析各个三角函数分量的相位该分量的频率之间的关系。

        下面我们来看看,为什么这样说?以及,如何从傅里叶变换的结果 F(\omega ) 中得到傅里叶级数各项的系数?

       周期为 T 的函数  f(t) 傅里叶级数展开为:

f(x) = \frac{a_{0}}{2} + \sum_{n=1}^{\infty } (a_{n} \, cos \, n\omega t + b_{n} \, sin \, n\omega t)

        其中,

a_{0} = \frac{2}{T } \int_{-\frac{T}{2} }^{\frac{T}{2} } f(t) \, dt

a_{n} = \frac{2}{T } \int_{-\frac{T}{2} }^{\frac{T}{2}} f(t) \, cos\, n\omega t \, dt

b_{n} = \frac{2}{T } \int_{-\frac{2}{T} }^{\frac{2}{T} } f(t) \, sin\, n\omega t \, dt

        再看看,周期为 T 的傅里叶级数的复数形式:

f(x) = \frac{a_{0}}{2} + \sum_{n=1}^{\infty } (a_{n} cosn\omega t + b_{n} sinn\omega t)

f(x) = \frac{a_{0}}{2} + \sum_{n=1}^{\infty } \frac{1}{2} a_{n} (e^{in\omega t} + e^{-in\omega t}) - \sum_{n=1}^{\infty } \frac{1}{2}b_{n} i (e^{in\omega t } - e^{-in\omega t})

f(x) = \frac{a_{0}}{2} + \sum_{n=1}^{\infty } (\frac{a_{n} - i b_{n}}{2})e^{in\omega t} + \sum_{n=1}^{\infty } (\frac{a_{n} + i b_{n}}{2}) e^{in\omega t}

(中间推导过程省略)...

f(t) = \sum_{n= - \infty }^{\infty } c_{n} e^{in\omega t}

        其中,

c_{n} = \frac{a_{0}}{2} \, \, \, (n=0)

c_{n} = \frac{a_{n} - ib_{n}}{2} \: \, \, (n=1,2,3,4,...)

c_{n} = \frac{a_{-n} + ib_{-n}}{2} \, \, \, (n=-1,-2,-3,-4,...)

        现在,当 n=1,2,3,... 时,

c_{n} = \frac{a_{n} - ib_{n}}{2} = \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-in\omega t} dt

        当 n = -1,-2,-3,... 时,

c_{n} = \frac{a_{-n} \, +\, ib_{-n}}{2} = \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-in\omega t} dt

        因此,始终有,

c_{n} = \frac{1}{T} \int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) e^{-in\omega t} dt        (\omega = \frac{2\pi }{T})

        推导了半天公式,现在终于可以暂时的抛开公式推导了,回过头来看看傅里叶变换:

F(\omega ) = \int_{-\infty }^{\infty } f(t) e^{-i\omega t} dt

        现在来对比一下  c_{n} 和  F(\omega )  的表达式,它们长得如此相似,以至于很难不让人产生联想,隐隐预感到 F(\omega )    与    由a_{n}b_{n}构成的c_{n}之间有紧密的联系,它们之间可以相互转换,即,知道了 F(\omega ) 就可以知道 c_{n},也就知道了 a_{n} 和 b_{n} 。所以, a_{n} 和 b_{n} 决定了 F(\omega ),同时知道 F(\omega ) 也可以倒推出 a_{n} 和 b_{n} 。

        前面的结论都来自于  c_{n} 和  F(\omega ) 长得像的猜想。现在来说说,为什么这个猜想是对的 ?c_{n} 和  F(\omega )  之所以有差异,是因为 c_{n} 是从周期为 T 的周期函数中推导出来的,而傅里叶变换 F(\omega ) 是从周期 T \to \infty 的周期函数中推导出来的。

        有了周期 T 的这个差异,是否能解释  c_{n} 和  F(\omega )  表达式之间的差异?当然可以,周期为 T 时,c_{n} 的积分区间是 [-\frac{T}{2},\frac{T}{2}],周期为 \infty 时,F(\omega ) 的积分区间为 [-\infty , \infty ] (从傅里叶变换的公式 F(\omega ) 中,可以看出它的积分区间是 [-\infty , \infty ],虽然我们都说非周期函数可以看成是周期趋于无穷大的周期函数,但是,更加准确的说,这个周期 T 其实是 2\cdot \infty = (+ \infty) - (- \infty ),当然,2\cdot \infty 也还是叫作无穷大,前面的说法也没毛病)。

        然后是对比 c_{n} 中的 n\omega 和 F(\omega ) 中的 \omega 。c_{n}是以周期为 T\, \, (\omega = \omega_{0} = \frac{2\pi }{T} = 2\pi f_{0}) 的函数推导而来,周期 T 对应于基频 f_{0} = \frac{1}{T},而 n\omega = n\omega_{0} 对应于谐波的频率(基波的整数倍),c_{n} 中的n对应于n次谐波分量;

        F(\omega ) 是以 T \to \infty 的函数推导而来,因此,\omega_{0} = \frac{1}{T} \rightarrow 0 (即,基波频率趋近于0)F(\omega ) 中的 \omega 是指频率为 \omega 的分量,比如说频率为 2Hz 的分量,这个 \omega = n\omega _{0}(是基波频率的n倍),其中,\omega \rightarrow 0,n\rightarrow \infty,即,趋近于0的基波频率的无穷大倍 n\omega _{0} 乘积的结果得到了最终频率为 \omega 的分量。

        把 \omega = n\omega _{0} 代入到 F(\omega ) 中,有

F(n \omega _{0} ) = \int_{-\infty }^{\infty } f(t) e^{-i n \omega _{0} t} dt

        这样看起来,它就和 c_{n} 更像了。需要注意 F(\omega ) 中的 \omega 是最终的结果,代表实际某个分量的频率,他是将基波信号的频率乘以n倍得到的最终结果,这和 c_{n} 不同,在 c_{n} 中,用的是基波频率乘以n倍这个原始的表达式,不是直接给出分量频率的最终结果,乘出来才是最终结果。

        至此,c_{n} 和 F(\omega )  的差异也就只剩下 c_{n} 比 F(\omega ) 多了一个系数  \frac{1}{T} 了。当 T \to \infty 时,\frac{1}{T} \rightarrow 0c_{n} 的结果趋近于0,为了避免这种情况,可以人为给 c_{n} 乘以一个系数 T ,去抵消 \frac{1}{T} ,这样 \lim_{T\rightarrow \infty } T \cdot c_{n} 就可以成为一个非零值。

F(\omega )= F(n\omega _{0}) = \lim_{T\rightarrow \infty } T \cdot c_{n} = \int_{-\infty }^{\infty } f(t) e^{-in \omega _{0} t} dt

        至此,可以得出结论:傅里叶变换就是傅里叶级数各项系数  c_{n}(也就是 a_{n} 和 b_{n} ) 的 T 倍 (T\rightarrow \infty) 。

5. 时域和频域

        频域,一个时而让人觉得熟悉,又时而又让人觉得陌生的魔鬼。时域信号就是以时间为自变量,以被测量为因变量的信号。把一个时域信号变换到频域是在干嘛?是在做傅里叶变换,是在展开成傅里叶级数,变换完之后,就成为了:

        直流分量 + 基波分量 + 二次谐波分量 + 三次谐波分量 + ... + n次谐波分量 + ....

        这些分量都是一些周期不同的三角函数形式的分量(正余弦函数形式),既然这些分量都长得这么有特点,而且还具有高度的一致性,那么,当然可以忽略他们的相同的地方,而只把他们差异的地方拎出来考虑。如果还继续以时间为自变量来考虑这些分量,把它们视作一个个按照时间变化的正余弦信号,那岂不是白白浪费了它们这些优良的共性。

        正余弦函数有三个基本特性:幅值,频率,和初相位。先来看看初相位,在傅里叶级数中:

f(x) = \frac{a_{0}}{2} + \sum_{1}^{\infty } [a_{n}cos(nx)+ b_{n}sin(nx)]

        在进行信号的傅里叶级数分解时,如果把相同频率的 正弦函数 和 余弦函数 进行合并,会得到一个正弦或者余弦函数,并且,这个函数包含一个初相位。如果把它们再次分开成一个正弦和一个余弦,则可以看到,两个分量的初相位都是0,如此,初相位的问题解决了,所有分量的初相位都相等,且都等于0(当然如果不嫌麻烦,也可以根据 a_{n} 和 b_{n}去计算初相位,分开考虑,可以偷点懒 );幅值当然是傅里叶级数各项的系数了,这也是傅里叶分解所需要确定的最重要的参数。

        那么,频率呢? 

        频率好办:频率都是原始周期信号(傅里叶分解前的信号)频率的整数倍,知道原始周期信号的周期,自然就知道基波频率了,自然也就知道谐波频率了(基波整数倍)。

        既然这样,那还把一个个分量当成正余弦函数干嘛呢?把正余弦的函数的三个基本特性抽取出来,用基本特性来表一个个随时间变化的正弦波、余弦波不就行了。

        由于初相位都是0,那么,需要考虑的特性就只有幅值和频率了,于是,便有了幅频特性;当然,如果把正余弦合并成一个三角函数就可以考虑相频特性了。

        到了这里,频域信号是什么?

        频域不过是:把原始信号通过傅里叶级数展开成的一个个随时间变化的三角函数这件事,抛到脑后,然后,把它简化成幅值,频率,初相位这三个参数,即,把一个正弦或余弦函数用三个参数来表示,这三个参数构成的数组是一个整体,用来表示一个随时间变化的正弦或余弦函数。

        在频域中,我们真的完全抛开了时间吗?

        没有,因为 f = \frac{1}{T} ,频率中就暗含了时间。

        我们只不过把需要表示的信号的自变量 t 所经历过的所有时间打了一个包,把它包在了一起,从信号包含的所有时间构成的整体的角度来看它。

        忘掉前面的所有讨论,来看看频域信号。在频域中,我们常常挂在嘴边的是基波,一次谐波,...,高次谐波,以及幅频特性,相频特性。常常关注的是某个分量整体,以及,某个分量成分在整个信号中所占的比例等。在这些说法中,我们不是关注分量信号随着时间的变化情况,而把分量当成一个整体来看。

        假如有一个随时间变化的信号,那么,我们可以从一个一个时间点的角度来看这个被测信号的取值是多少,但是,如果这个信号是一个周期信号呢?这个信号按照周期进行变化,如果知道这个信号的开始时刻,同时,又知道了时间周期。有了开始时刻,又有了时间周期,这段时间不就确定了,可以通过开始时刻和周期进行重构。

        回到前面为什么可以抛开时间,而从频率的角度考虑?

        因为,在傅里叶级数中,每一个分量,它们各自有的频率 f :

        (1)使用相同的时间起始基准点,所有分量的因变量都从相同的时间点开始随时间(自变量)变化。

        (2)所有分量(正弦函数或余弦函数)的自变量(时间)都在以相同的速度流逝,也就是,基波分量中的时间t,和n次谐波分量的t是相同的t,可以理解为采用相同的时间单位(这个单位不是通常所用的:秒,分钟,或者小时;例如,可以是2.1s作为一个时间单位间隔来设置横坐标)。

        即,傅里叶级数中的每一项(三角函数)的频率 f (或者,\omega = 2\pi f),采用相同的时间起点 和 相同的时间单位。说了一堆废话,其实是在说,这些分量与分量之间的时间是相同的,既然,大家都一样,因此就可以抛开了。

6. 可以是傅里叶,又何必是傅里叶

        已经知道了,满足狄利克雷条件的任何信号都可以用傅里叶级数的方式展开成无穷多个正弦(或余弦)信号的叠加,那么,一个信号除了能分解成正余弦信号外,还可以分解成其它形式的信号吗?

        现在来考察一下泰勒中值定理,又称为泰勒展开:

f(x) = f(x_{0}) + f^{'}(x_{0}) (x-x_{0}) + ... + \frac{f^{(n)}(x_{0})}{n!} (x-x_{0})^{n} + R(x)

        泰勒中值定理说了什么?

        它说了如果函数 f(x) 在含有 x_{0} 的某个开区间 (a,b) 内具有直到 n+1 阶的导数,那么,在x_{0} 的小邻域内,任意的信号 f(x) 可以展开成幂函数的叠加。只是,这个展开限制很大,它限制 f(x) 的可导性,并且,只有在 x_{0} 的小邻域内才可以。这个小领域内才能用的限制实在是太大了,从信号展开的角度看,与傅里叶展开比起来就如山鸡比凤凰,繁星比皓月。

        那么,在信号展开的角度,是否还有能与傅里叶展开同台竞技的对手呢?当然有,比如小波分析。那么,我们下面是不是要聊聊小波了呢?

        当然不是,下面我们要聊的是:傅里叶变换也好,小波分析也好,他们有什么共同的特征呢?或者这样说,如果信号在满足某些限制的条件下,一个任意的该种信号可以展开成某种函数的叠加,那么这种用来展开任意信号的函数需要满足什么的特征呢?

        待更...

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值