先解释下文章的题目。我们讨论的是信号,首先面临的是什么是信号,或者我们将要讨论的具体“信号”代表的是什么,其实我认为信号就是函数,之所以不称他为函数,是因为他是一种特殊的函数----它携带了信息,所以信号就是携带了信息的函数。 连续信号是指,自变量连续取值的信号,也称为模拟信号。注意,这里并没有说连续信号是连续函数,连续信号只是限制了自变量取值的连续性。而自变量不是连续变化的信号,称为离散信号。在这篇文章里,我们要讨论的是连续信号在有限区间上的傅立叶级数展开,之所以要讨论有限区间,是因为在工程应用中,我们往往只能讨论有限时间或者空间变化内的信号。
为什么要讨论傅立叶级数展开呢?原因是,这个称为信号的函数的特殊性,因为它携带了信息,我们希望能获取这种信息,而将其展开成傅立叶级数的形式,可以获得它的一些信息,所以我们要讨论它的傅立叶级数展开。其实信号处理的基础就是傅立叶级数展开,这里实在是感谢傅立叶,没有它,今天很多智能应用都是很难实现的。另一方面,我们不学好它,也不好在现代社会学术前沿生存!所以学起吧!
1、叠加与逆
信息通过波传播,在信号的传播路径上,连续采集它的幅度值,就能得到一个时间的函数,这个函数就是一种信号。考虑声音在某种介质中传播,介质固定后,波的传播速度就固定了,速度固定,我们根据波的频率不同来区分不同的声音。但是我们很难从获得的声音信号中看出频率的信息!但是,如果我们随机的组合不同频率的波,可以得到复杂的波,那么复杂的波是否可以分解成不同频率的波的组合呢?
这其实也是个逆问题。简化理解下:某种客观存在发出不同频率的波,然后叠加起来,传播,我们收到了这个信号,能否得到原先不同频率的波?由我现在掌握的知识,我不觉的这是可行的,但是我们可以找到某些频率的波的叠加。我的意思是,复杂波不能唯一的分解成某些频率波的叠加,但是可以分解成某些频率的波的叠加。最后我会再说明这一点。
2、一些基本的概念后出发!
由于我们讨论有限区间上模拟信号的傅立叶级数展开。有限区间定义为[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*f