周董是如何进行傅里叶变换的?
秋秋是个老杰迷。前不久,周董发布新作《最伟大的作品》时,秋秋就兴奋的觉都不睡了,在B站看各种二创视频分享给冬冬,让他也别睡了,还问他:你这个年纪怎么睡得着觉的?于是冬冬找我一起填了首《最伟大的物理》给秋秋助助兴。受到秋秋的熏陶,冬冬也开始关注起了周董,这天他发现了前几年周董在某节目上展现了自己的“绝对音感”。一个和弦下去,冬冬只能听到Duang的一声,而周董却把里面的六七个音调准确无误地全部区分出来了。后来又看到了周董的“三键成曲”的视频,这着实惊呆了冬冬,怎么才能做到从Duang的一声中分解出那么多音调呢?
简单来说就是周董对声音信号进行了傅里叶变换,在频域空间分解出了它的各个音调,从而准确地区分出了一个和弦的六七个音。
但要把傅里叶变换讲清楚则需从傅里叶级数说起。
法国数学家傅里叶认为,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示,即:
其中,f(t ) 是任意周期为T 的周期函数。
那么问题来了,为什么要选取正弦函数和余弦函数呢?在二维的欧氏空间中,我们可以很自然的用坐标表示一个向量A比如说 (3,2),我们也可以很自然的作以下分解:
其中:
选取它们是因为它们的内积为0,模长为1,为一组标准正交基。而正弦函数与余弦函数族的正交性可表示为:
其中,m≠n。
傅里叶级数就是想表达任意一个周期为T 的函数都可看作基为以下函数的分解:
从正交性我们也知道了不同基函数之间相乘求积分为0,于是各个基函数之前的系数便可以利用这种方法求到:
那这种分解什么用呢,我们从一个简单的例子看起:
尽管根据我们所学知识,可以轻易地画出cos(ωt),2cos(2ωt),3cos(3ωt) 单独的图像,但是画出他们加到一起的图像却还是要费一番功夫。这时候不妨转换一下思路,任意一个初始相位为0的余弦函数可以写成Acos(nωt) 的形式,真正把他们区别开的只是振幅A 和频率nω,所以如果我们以振幅为纵坐标,频率为横坐标,那么便可以轻松的得到振幅和频率组成的离散图:
那如果周期函数还包括了正弦函数的分量又要怎么办呢?我们引入欧拉公式试图把基函数前面的系数统一起来eiθ=cos(θ)+i sin(θ)
此时令ck=(ak-ibk)/2,由前面的系数求法我们可以知道c-k=(ak+ibk)/2,则前面在正整数上分解的基函数又可以拓展到负整数上面去:
此处基函数满足:
式中,k1≠k2。
于是,利用该性质:
我们便得到了周期函数用复数表示的傅里叶级数分解形式。
这时候问题又来了,周期函数我们会处理了,那对于绝大部分的非周期函数怎么办呢?答案便是当作周期为无穷大的函数来处理。同样利用基函数的性质:
得到了关于ω 的一个函数,此时周期为无穷大,ω 已经连续变化,如果高频信号多一点则会:
如果低频信号多一点则会:
这时我们已经明白周董是怎么做的了,他在听到钢琴声音后,把时域信号在大脑中进行了傅里叶变换,然后在频谱图上便能清晰的知道对应哪几个音调了。
冬冬说:“那我把声音录下来进行频谱分析岂不是也可以说出哪几个音调?”
秋秋答:“可是杰伦只用听就可以诶,那你能嘛,很难的啦。”
作者注:部分图片源自于网络,仅供科普参考。
参考文献:
https://baike.baidu.com/item/%E5%82%85%E9%87%8C%E5%8F%B6%E7%BA%A7%E6%95%B0
https://baike.baidu.com/item/%E5%82%85%E9%87%8C%E5%8F%B6%E5%8F%98%E6%8D%A2/7119029?fr=aladdin
https://baike.baidu.com/item/%E5%82%85%E9%87%8C%E5%8F%B6%E9%80%86%E5%8F%98%E6%8D%A2/5137426?fr=aladdin
来源:力学科普微信公众号(ID:lxkp_cstam),作者:和花花。
页:
[1]