1、论文编码: 首都师范大学本科学生毕业论文傅里叶变换的可视化及应用研究 作 者: 吴晓龙 院 系: 物理系 专 业: 物理学(师范) 学 号: 指导教师: 郭怀明 日 期: 2023年5月9日 中文提纲傅里叶变换是由实空间向频谱空间的变换。傅里叶变换的重要性在于很多实际问题在频谱空间更易解决,而快速傅里叶变换的发展则使之更便于应用。本文涉及傅里叶级数、连续傅里叶变换、快速傅里叶变换、广义傅里叶级数,旨在介绍它们之间的区别与联系,并探讨它们在MatLab中的可视化实现方法,以及在实际中的应用。本文最后还对傅里叶变换的意义做了简朴探讨。关键词:傅里叶级数 傅里叶变换 快速傅里叶变换 可视化Abstr
2、actFourier Transform is a kind of transformation from the real-space to frequency-space. The reason why Fourier Transform is important is that many realistic problems are more easily to be solved in frequency-space. Specially,the development of Fast Fourier Transform make it more convenient to use.
3、This paper reviews Fourier Series,Fourier Transform, Fast Fourier Transform and Generalized Fourier Series. We discuss the relationship and the difference among them,and introduce their applications in realistic problems,then visualize them in MatLab. Finally,we make some comments on the meaning of
4、Fourier Transform.Keywords:Fourier Series Fourier Transform FFT Visualization目 录一、引言1二、傅里叶级数、傅里叶变换的可视化及应用12.1 傅里叶级数、傅里叶变换的数学依据12.2傅里叶级数、傅里叶变换的Matlab可视化实现22.3傅里叶级数、傅里叶变换的实际应用3三、DFT、FFT的可视化及应用43.1 DFT、FFT的数学依据43.2 FFT的Matlab可视化实现53.3 FFT的实际应用6四、广义傅里叶级数的可视化及应用84.1 广义傅里叶级数的数学依据84.2 广义傅里叶级数的Matlab可视化实现94
5、.3 广义傅里叶级数的实际应用9五、傅里叶级数、傅里叶变换的意义11六、总结及结论12附录13参考文献17致谢18英文原文19中文译文30一、引言傅里叶级数最初是法国数学家约瑟夫傅里叶在求解热传导方程时产生的,随后傅里叶变换、离散傅里叶变换(DFT)应运而生,并不断的发展为一整套傅里叶分析理论体系。傅里叶分析在很多方面都有应用,但直到快速傅里叶变换(FFT)的诞生才把傅里叶分析推向了高潮。1965年,Cooley和Tukey两人在计算机科学上发表了机器计算傅里叶级数的一种算法一文,之后 FFT开始大规模应用。时至今日,傅里叶分析已被广泛的应用于信号分析、信号解决、光谱分析、量子力学、天体物理学
6、、微分方程求解、地质勘探、医学、生物学等领域,成为数据分析的一种有效的基础手段。同时,结合各领域自身的特点,以傅里叶分析为基础而发展起来的其他更有效的分析方法也得到了广泛的实际应用。比如小波分析以及Z变换,在信号分析中应用都很广泛。但毋庸置疑,以傅里叶级数、傅里叶变换、DFT、FFT为基础的傅里叶分析仍然是一种不可替代的简朴而有效的分析方法。二、傅里叶级数、傅里叶变换的可视化及应用2.1 傅里叶级数、傅里叶变换的数学依据2.1.1 傅里叶级数傅里叶级数以三角函数系为展开函数,可以证明三角函数系是正交归一的。以2l为周期的任意周期函数的傅里叶级数形式为: (2-1-1) 若满足狄里克雷充足条件,
7、即:(1)在一个周期内连续或只有有限个第一类间断点,(2)在一个周期内至多只有有限个极值点,则的傅里叶级数收敛于。亦可写为复数形式的傅里叶级数: (2-1-2)R.Courant,D.Hilbert.Methods of Mathematical Physics(Volume I),Wiley,1989,49-50 2.1.2 傅里叶变换 对定义在上的非周期函数,在傅里叶级数形式中令半周期可得傅里叶积分公式形式,且若满足条件:(1)在任意有限区间内满足狄里克雷条件,(2)在上绝对可积,则的傅里叶积分收敛于。其展开形式为: (2-1-3)亦可写为复数形式傅里叶积分: (2-1-4)其中第二式即为
8、傅里叶变换式,第一式又称傅里叶逆变换式。可以看出,两变换式前的系数存在一个自由度,因此变换式与相应的级数展开式之间也会相差一常数因子。同时也可以看出,变换的展开系数自身数值的绝对大小并不具有切实的物理意义,其相对大小才真正具故意义。2.2 傅里叶级数、傅里叶变换的Matlab可视化实现在给定形式后,运用Matlab中的积分命令“int()”可以实现对傅里叶级数、傅里叶变换中系数的计算,或运用傅里叶变换命令“fourier()”直接实现傅里叶变换,进一步作图可得到傅里叶变换的直观图像。下面我们就来看一个简朴而典型的例子,以方波为例看看一个函数的傅里叶级数在MatLab中是如何可视化实现的:例1.
9、1:以T为周期的方波的傅里叶级数的可视化。= H 0 张志涌.精通MATLAB6.5.北京:北京航天航空大学出版社,2023从定义式(2-1-2)可以很容易得到的k级傅里叶展开系数为,由积分命令int()计算可得,又,故有基波及谐波振幅为,。用MatLab中的stem()函数做出基波及各级谐波振幅的直观图像,这里令H=1,T=2,图像如下(计算、作图程序见附录) 图1.1 方波的傅里叶级数谱 图1.2 方波脉冲的傅里叶变换谱从图中可以清楚地看出基波及各级谐波的振幅对比,振幅随级次的衰减、变化的趋势一目了然。我们还可以做一些拓展,来看看傅里叶级数与傅里叶变换之间存在的微妙联系。在例1.1中令则变
10、为方波脉冲,其相应的傅里叶变换如图1.2。与图1.1对比可以看出事实上图1.2中的谱线就是图1.1中傅里叶级数谱的包络线,只是幅值大小相差倍。这也从侧面反映出了傅里叶级数与傅里叶变换之间的紧密联系。2.3 傅里叶级数、傅里叶变换的实际应用数学物理方程中波动方程(如一维波动方程:)、输运方程(如一维热传导方程:)的空间部分的本征函数解构成正交完备的三角函数系,因此可用傅里叶级数法或傅里叶变换法进行求解。傅里叶级数法合用于求解定义在有限区域内的问题,而傅里叶变换法则合用于求解定义在无限区域上的问题。同样的,傅里叶变换法可以看作是傅里叶级数法由有限区域向无限区域的一个推广,两者本质上没有区别,只是合
11、用范围不同罢了。傅里叶级数法的基本思想是:在已知泛定方程在给定边界条件下的本征函数解系的前提下,将方程两侧展开为相应的傅里叶级数的形式,由本征函数系的正交性,对比系数得到一系列的关于解的各级傅里叶展开系数的相对简朴的微分方程,通过结合初始条件对这一系列微分方程进行求解得出解的各级傅里叶展开系数,从而拟定原问题的解。众所周知,这些数学物理方程是从许多实际的问题中提炼出来的,因此解决这些数理方程自身就是对实际问题的解决,只要将方程中相应的参数相应于实际问题中的参量,就可以解决实际问题了。为了更直观的体会傅里叶级数法解微分方程中的应用,我们用一个一维振动问题为例来看一下:例1.2:一维振动方程定解问
12、题: 从物理事实上看,这个方程可以相应为一个受迫振动问题,方程右侧事实上就是振动源的振动形式。由于我们已经知道相应的齐次泛定方程在边界条件下的本征函数解系为。因此可将方程的两侧同时以函数系 为基底做傅里叶余弦级数展开,得到级数形式的方程,其中是方程的解的第n个傅里叶级数展开系数,、分别是函数、的第n个傅里叶展开系数。由函数系的正交性,可以从级数形式的方程中分离出各级展开系数所满足的微分方程, 可以看出分离出来的一系列微分方程较本来的微分方程要简朴得多,只是一些二阶常微分 方程。解这些微分方程便可得到原方程的傅里叶级数形式的解。同样,若让例1.2中的参数,则问题转变为一维无限长弦的振动方程,相应
13、的可以用傅里叶变换法进行求解,思绪与傅里叶级数法完全相同。四、广义傅里叶级数的可视化及应用4.1 广义傅里叶级数的数学依据广义傅里叶级数指勒让德函数、连带勒让德函数、贝赛尔函数等,它们与傅里叶级数同样都是一组正交完备的函数组,可以用于对函数的展开。这些函数与傅里叶级数对函数的展开都可一般化的写为 (4-1-1)其中即为广义傅里叶级数的k级展开函数,表达与的内积。梁昆淼.数学物理方法,第三版.北京:高等教育出版社,1998.281、303、333当然,对于不同的广义傅里叶函数,具体形式也不尽相同,如k的取值范围、收敛范围、收敛条件等。4.2 广义傅里叶级数的Matlab可视化实现MatLab中内
14、置有勒让德函数、贝赛尔函数等,分别为命令“legendre()”、“besselj()”,可结合运用曲面作图命令“mesh()”、“surf()”或复变函数作图命令“cplxmap()”等做出图像。从数学物理方程的知识可以知道勒让德函数、贝赛尔函数都有自己的母函数,而这些母函数可以表达为其相应的广义傅里叶级数的形式。我们就用勒让德函数的母函数展开为勒让德级数的例子来看看广义傅里叶级数在MatLab中的可视化:例3.1:勒让德函数的母函数展开为勒让德级数形式。勒让德函数的母函数公式为 将母函数与其勒让德级数形式用mesh()函数分别作图如下,其中勒让德级数取到级次(作图程序见附录)图3.1 勒让
15、德函数的母函数图象 图3.2 勒让德级数取至的图像从图像对比中可以看出级数形式与母函数相一致,只是在r=1附近有些不同,这是由于对级数截断至导致的,随截断级次的增大,级数图像将与母函数图象越来越一致。4.3 广义傅里叶级数的实际应用像勒让德函数、连带勒让德函数、贝赛尔函数这样的广义傅里叶函数都是在数学物理方程的求解过程中产生的,因此广义傅里叶级数的应用与傅里叶级数的应用有相仿之处。广义傅里叶级数同样合用于求解微分方程,只是其合用的方程与连续傅里叶变换不同罢张志涌.精通MATLAB6.5.北京:北京航天航空大学出版社,2023梁昆淼.数学物理方法,第三版.北京:高等教育出版社,1998.290-
16、291了。广义傅里叶级数的一个重要应用是用于研究量子力学中在中心力场作用下的散射问题,与连续傅里叶级数的应用同样,广义傅里叶级数之所以能应用是由于它是所规定解的方程的本征函数组。下面就通过一个例子来看看广义傅里叶变换是如何应用于分波法的:例3.2:广义傅里叶级数用于分波法解决中心力场下粒子的散射问题。由于中心力场的作用,显然将入射波展开为具有球对称性的球面波将更利于问题的求解。分波法的思绪看起来与傅里叶级数法解微分方程的思绪很相似。我们在已知能量和角动量的共同本征函数的前提下,将入射波,如形式的平面波,展开为以能量和角动量的共同本征函数为基的广义傅里叶级数将前几级次的球面波用命令surf()做
17、出图像,如图3.3-3.6(作图程序见附录)图3.3 球面波分量图 图3.4 球面波分量图 图3.5 球面波分量图 图3.6 球面波分量图曾谨言.量子力学(卷I),第四版.北京:科学出版社,2023.426-431梁昆淼.数学物理方法,第三版.北京:高等教育出版社,1998.371从图中我们可以清楚的看到各级球面波的对称性,以及各分量的大小,幅值随级次增大的变化趋势等。同样的,我们将波函数也做相同的级数展开,写为其中在时就是。将级数形式的波函数带回薛定谔方程由球谐函数的正交性可以得出一系列分离的方程 其中。以及波函数应满足的边界条件其中为散射波幅,依照分波法的思绪,它也可相应写为各分波散射波幅
18、的叠加。至此,我们已经掌握了入射波、方程及边界条件的分波形式,得到的分波方程较原方程要简朴得多。由相应的微分方程理论可以得到各分波散射波幅的表达式,叠加得到散射波幅,进而求出散射截面的表达式。一般情况下只用考虑前两三个分波就可以得到很好的近似结果了,这也是分波法的优越之处。五、傅里叶级数、傅里叶变换的意义众所周知,我们一直将傅里叶级数、傅里叶变换、FFT看作是向频谱空间的变换,这从其三角级数的形式自身可以看出,当然对于复数形式,我们也可以借助量子力学解释,其展开函数正是动量的本征函数,因此傅里叶变换正是向动量空间的变换,而我们知道动量空间事实上与频率空间是一致的。事实上,正是由于傅里叶级数、傅
19、里叶变换、FFT所具有的这个物理意义才使得其在频谱分析中得到广泛应用。而另一方面,我们从傅里叶级数、傅里叶变换、FFT、广义傅里叶级数的实际应用例子中可以明显地看到它们在解决实际问题时的思绪无外乎以下两点:(1)将复杂的问题分解为若干简朴的问题求解(2)将纠缠的问题通过变换分离开来假如我们抛开傅里叶级数法、傅里叶变换自身,而仅从这两点出发,我们便可以看到傅里叶级数法、傅里叶变换的更深层次的意义。它为我们提供了一种解决问题的思绪,假如我们可以用不同的变换方法将复杂的问题分解化,将纠缠的问题分离化,我们就可以用这种变换来解决问题。六、总结及结论以上综述了傅里叶级数、傅里叶变换、FFT、广义傅里叶级
20、数的理论基础;实现了它们的MatLab可视化;举例讨论了它们在实际各方面的应用。通过对理论基础的对比我们可以看到它们之间的互相联系与区别,知道了傅里叶级数、广义傅里叶级数法的建立基础,并结识到发展出傅里叶变换、DFT、FFT的理论根基。通过MatLab可视化,我们直观而形象地看到了它们各自的特性、特点,更好的理解了它们的数学、物理意义。最后通过在实际各方面的应用,我们看到了它们在实际中的应用方式、方法,并对其可以解决的各类问题有了一个大体的了解。最终,总结出了它们解决实际问题的思绪主体在于将复杂的问题分解化,将纠缠的问题分离化。附录程序例1.1:傅里叶系数计算:syms x H k tao T
21、int(H*exp(-1i*2*k*pi/T*x)/T,x,-tao/2,tao/2)绘制图像:H=1;T=2;tao=0.25;for k=1:20 y(k)=abs(H*sin(pi*k*tao)/T)/(pi*k); endy=H*tao/T,y;x=0:20;stem(x,y,bo,MarkerFaceColor,b)例2.1:N=64;H=1;tao=0.25;T=2;y=zeros(1,N+1);for k=1:N+1; if(-T/2+k*T/N=-tao/2)&(-T/2+k*T/N=tao/2) y(k)=1; endendY=fft(y);Y(1)= ;n=fix(leng
22、th(Y)/2);x1=-50:1/10:50;y1=abs(sin(tao*x1/2)./x1/pi)/pi;plot(x1,y1,r-,LineWidth,2)hold onplot(1:n).*pi,abs(Y(1:n)/length(Y)/10),b-.,LineWidth,3)axis(-50 50 0 0.015)hold off例2.2:t = 0:0.001:0.5;x = sin(2*pi*50*t) + 0.8*sin(2*pi*120*t)+2*sin(2*pi*70*t);y = x + 2*randn(size(t);Y = fft(y);freq=(0:length
23、(Y)-1)/length(Y)*1000;figure(1)plot(t,y)axis(0 0.1 -8 8)figure(2)plot(freq,2*abs(Y)/501)axis(0 500 0 2)例2.3:a=imread(F:Xs.JPG); x1=rgb2gray(a);D0=50;D1=65;M,N=size(x1); filt=zeros(M,N); for i=1:M, for j=1:N, x(i,j)=x1(i,j)+100*sin(1*i+1*j); if or(abs(i-M/2)=D1), filt(i,j)=1; end; end;end;freq_im=fft
24、2(x); freq_im=fftshift(freq_im); y=(1/(M*N)*freq_im;filt_im=freq_im.*filt;new_freq=ifftshift(filt_im);new_im=ifft2(new_freq,M,N);y1=abs(filt_im);figure(1)imshow(x1);figure(2)imshow(x); figure(3)imshow(abs(y);figure(4)imshow(abs(new_im), );例3.1:X,Z=meshgrid(0:0.1:3),(0:0.1:2);Q,R=cart2pol(X,Z);R(R=1)
25、=NaN;u=1./sqrt(1-2.*R.*cos(Q)+R.2);figure(1)meshc(X,Z,u)axis(0 3 0 2 0 10)Rin=R;Rin(Rin1)=NaN;Rout=R;Rout(Rout0), respectively; i.e. we set . The following theorem then holds: Every function which is piecewise smooth in the interval and periodic with the period may be expanded in a Fourier series;th
26、at is, the Fourier polynomialsConverge to f(x) with increasing n. Moreover, we shall prove: Theconvergence of the Fourier series is uniform in every closed interval in which the function is continuous. We shall forst give the proof for the case of continuous f(x) in which discontinuities occur only
27、in the derivative f(x). If the expansion coefficients of f(x) are denoted by and , we have,Since f(x) is piecewise continuous, we have the completeness relation。Thus This immediately establishes the absolute and uniform convergence of the infinite serieswhich represents the function f(x), because of
28、 the completeness of the trigonometric functions. To verify that the Fourier series expansion is also valid for functions which are discontinuous but piecewise smooth, we start by considering a particular function of this type, defined by, , ,This fuction jumps by at the points . Its Fourier coeffic
29、ients are , If the Fourier expansion is valid for piecewise continuous functions we have,To justify this equation we first form the function,Which is everywhere continuous and piecewise smooth. By the above reasoning, the Fourier series of this function converges uniformly and is equal to g(x). The
30、coefficients are related to the by the equations, ,If we set and we haveWith increasing n, converges to zero and the sum converges uniformly to g(x). It follows that also coverfes uniformly to g(x) in the interval , and therefore that itself converges uniformly to h(x) in every closed subinterval no
31、t including the point x=0. At this excluded point x=0 all partial sums vanish, so that . Thus the value of the series at the point of discontinuity is also equal to the value of h(x), namely to the arithmetic mean of the right-hand and left-hand limits and . As the function h(x) jumps by at x=0. the
32、 function jumps by at and is otherwise continuous in the basic interval. Now, if f(x) is a piecewise continuous function which jumps by at the points of the interval , thenis a function which is everywhere continuous and which, along with f(x), has a piecewise continuous first derivative. Therefore,
33、 F(x) may be expanded in a Fourier series which converges absolutely and uniformly. But the functionmay also be expanded in a Fourier series, the converfence of which is uniform in every interval not containing any of the points of discontinuity. Thus the theorem formulated at athe beginning of this
34、 section is proved completely.2. Multiple Fourier Series. The trigonometric functions can be used to construct orthogonal systems over “cubes” in higher dimensional spaces. For simplicity we consider only the “plane” case (two dimensions). All our arguments will, however, be valid for any number of dimensions. The functions