先解释下文章的题目。我们讨论的是信号,首先面临的是什么是信号,或者我们将要讨论的具体“信号”代表的是什么,其实我认为信号就是函数,之所以不称他为函数,是因为他是一种特殊的函数----它携带了信息,所以信号就是携带了信息的函数。 连续信号是指,自变量连续取值的信号,也称为模拟信号。注意,这里并没有说连续信号是连续函数,连续信号只是限制了自变量取值的连续性。而自变量不是连续变化的信号,称为离散信号。在这篇文章里,我们要讨论的是连续信号在有限区间上的傅立叶级数展开,之所以要讨论有限区间,是因为在工程应用中,我们往往只能讨论有限时间或者空间变化内的信号。
为什么要讨论傅立叶级数展开呢?原因是,这个称为信号的函数的特殊性,因为它携带了信息,我们希望能获取这种信息,而将其展开成傅立叶级数的形式,可以获得它的一些信息,所以我们要讨论它的傅立叶级数展开。其实信号处理的基础就是傅立叶级数展开,这里实在是感谢傅立叶,没有它,今天很多智能应用都是很难实现的。另一方面,我们不学好它,也不好在现代社会学术前沿生存!所以学起吧!
信息通过波传播,在信号的传播路径上,连续采集它的幅度值,就能得到一个时间的函数,这个函数就是一种信号。考虑声音在某种介质中传播,介质固定后,波的传播速度就固定了,速度固定,我们根据波的频率不同来区分不同的声音。但是我们很难从获得的声音信号中看出频率的信息!但是,如果我们随机的组合不同频率的波,可以得到复杂的波,那么复杂的波是否可以分解成不同频率的波的组合呢?
这其实也是个逆问题。简化理解下:某种客观存在发出不同频率的波,然后叠加起来,传播,我们收到了这个信号,能否得到原先不同频率的波?由我现在掌握的知识,我不觉的这是可行的,但是我们可以找到某些频率的波的叠加。我的意思是,复杂波不能唯一的分解成某些频率波的叠加,但是可以分解成某些频率的波的叠加。最后我会再说明这一点。
由于我们讨论有限区间上模拟信号的傅立叶级数展开。有限区间定义为[t_0, t_0 + T],f_0=1/T称为基频。我们认为简谐波是最简单的波,一般我们采集到的波称为复杂波,所以A*sin(2*\pi*f_0*t+\phi)称为基波,给一个正整数n,nf_0这个频率称为n次倍频(这个称呼是我自己想的,没有文献中大家的叫法,如有看客不吝告知有行业共识的称呼,不胜感激呀),A*sin(2*\pi*n*f_0+\phi)称为n次谐波。我们先做个实验,看看由频率不同的波组成的复杂波是什么样子的。
先附上我做实验用的程序,由matlab写成。
% T = 4; % time region. [0, 0+T] f0 = 1/T; % fundamental frequency Num = 3; %number of waves. Samples = 500; % number of samples on the time domain. fa = 1:Num; fa = f0*fa; % frequency of every wave. % amplitude A = 10*rand(1,Num); A = round(A); % set every wave‘s amplitude randomly % re = zeros(1,Samples); t = linspace(0,T,Samples); % time sample position % every waves rew = zeros(1, Samples); figure; for i = 1:Num rew = A(i)*sin(2*pi*fa(i)*t); plot(t, rew); hold on re = re + rew; end plot(t, re, ‘r‘);
我运行一次的结果如图1:
图1 简谐波的叠加,红色波形是叠加的结果。
实际上,即使不做实验,我们也很明白,不同的函数叠加一定可以得到一个新的函数,不同的简谐波当然可以叠加称一个复杂波。问题是,我们可以由复杂波分解成多个不同频率的简谐波的叠加么? 实际上数学上,在一定条件下,是可以的。
某些复杂的波,在一定条件下可以展开成某些频率的波的叠加。但是这种展开,我觉得并不是唯一的,但是有一种基本的波形可以被用来做叠加之用,而且大多数复杂波都可以由他们叠加而成,这种波就是简谐波,而且我们会限定间歇波的频率关系,写成级数的形式,就是傅立叶级数了。
任何复杂波形都可以在一定条件下被展开成傅立叶级数的形式。
设复杂波为x(t),在有限区间[t_0, t_0+T]上定义,f_0=1/T为基波的频率。则有
下面慢慢推倒出另一种形式。
首先把(1)式sin函数展开可以得到:
做如下设定:
则复杂信号x(t)的展开可以写成:
(5)式就是信号x(t)的傅立叶展开了。
Euler公式如下:
根据这个公式,我们可以得出:
将(8,9)两式带入(5)式,计算得到:
做如下设定
由(10,11,12,13)可得
将(14)式的等号右边的第三项改成n从-1,到负无穷,可以写成如下形式:
(15)式就是信号的复数形式的傅立叶展开了。
看(15)式,如果我们能确定c_n,我们就可以求得A_n和\phi_n了,各个频率的幅度值和相位就确定了。信号是携带信息的函数,信息就是n次谐波的振幅、频率和相位!也许不同的人有不同的看法,我只是同意这个观点而已。
下面介绍怎么求解c_n,也许数学上有许多条件限制,我们就认为一切条件都是满足的,直接来求。
将(15)式左右两边乘以e^{-i2\pi m f_0 t},将两边的函数在[t_0, t_0+T]上求积分。
(16)式中,等式右边积分号是不能随便进入和号内部的,需要满足一定条件。比如和式的每一项都连续,并且函数项级数一致收敛于某个函数,这个 积分号就可以放到和号之内了。
各位可以验证,当m!=n时,和式内的积分为0.所以只能保留m=n时的式子,而且积分为值为Tc_n,那么:
c_n求的之后,我们就可以知道A_n 和 \phi_n了,根据(3,4,11,12,13)知道:
由(22,23)两式得到的A_n和相位\phi_n是相等的。
称c_n为x(t)在有限区间上的离散频谱,称|c_n|为信号x(t)在有限区间[t_0, t_0+T]上的离散振幅譜;称Argc_n为信号x(t)在有限区间[t_0, t_0+T]上的离散相位譜。离散相对连续存在,后面的文章会继续讨论,连续信号的连续频谱。
由信号x(t)求出傅立叶级数的系数c_n,称为在有限区间上对信号x(t)做频谱分析。
大家注意到一开始说信号在有限区间上展开成傅立叶级数,定义的级数中简谐波的频率是跟信号考虑的区间长度有关系的。
如果给出一个信号,我们取得时间段不同,得到的离散振幅譜和离散相位譜也会存在差异的。
我们得到一个信号,如果这个信号周期性的,我们可以在一个周期内做频谱分析,因为周期信号的所有信息就可以认为都保存在同一个周期里了!
总结几点:
* 信号在一定条件下可以分解成傅立叶级数的形式。
* 取信号的区间长度不同,频谱分析结果存在差异。
* 要做周期性的频谱分析,意义重大。
还有需要说明一下的是:简单波和复杂波是相对的概念。在本文的讨论中,简单波我们使用的是正弦波,我们也可以使用其他波作为简单波,简单波的叠加被成为复杂波。具体使用什么波要根据具体情况而定。但是傅立叶分析是最重要的!
连续信号(模拟信号)在有限区间上的傅立叶级数展开,离散频谱,布布扣,bubuko.com
原文:http://blog.csdn.net/bendanban/article/details/20116637