在开始了解这些变换之前,简单复习一下级数的概念:
级数的概念之所以重要,是因为我们现实生活中经常遇到一些不规则的函数,为了方便我们的研究,我们希望能有一种方法来用简单的多项式或者多个函数来近似表示这个函数,这就是我们研究级数的原因:任意一个函数都能用多项式逼近; 假定我们有一个函数f(x),他的曲线是不规则的,我们很难去探索这种曲线的性质,但是如果我们把这种曲线展开成
f(x)=f(x0)+f′(x0)(x−x0)+.........,
展开式中的函数式我们熟悉的,这样会更便于我们的分析。如果这个例子还不够透彻,那么我们先把这个结论记住,学完泰勒级数和傅里叶级数之后我们也许会有更好的理解。
级数定义:又数列构成的表达式:
u1+u2+u3+......+un+.....
称为级数,记作
∑∞n=1
,即:
∑n=1∞=u1+u2+u3+......+un+.....
需要注意的是,我们取级数的前n项的和
Sn=u1+u2+u3+......+un
,当
n→∞
时
S
极限存在,我们说这个级数收敛。这里要与数列的收敛区分开,当
n→∞
时
xn→a
,此时我们说数列
x1,x2,,,,xn
是收敛的,但是此时对应的级数确不一定收敛。举例如调和级数:
∑∞n=11n
.但是级数收敛一定决定了对应的数列的收敛的。判断级数是否收敛有多重方法,例如比值法根值法等等,再此不作过多描述。
泰勒级数:泰勒公式的一般式为:
f(x)=f(x0)+f′(x0)(x−x0)+f′′(x0)2!(x−x0)2+.....+fn(x0)n!(x−x0)n+Rn(x)
其中最后一项称为余项,指示误差。对泰勒展开不太清楚的同学可以参考下这篇文章:(
http://wenku.baidu.com/view/9ecac6bcf121dd36a32d82f4.html),目前我对此公式是先接受,有机会我将研究一下这个的来历,顺便看看能不能对高阶无穷小有更好的理解。
到这里, 如果我们取泰勒公式的前几项,即:
f(x)≈f(x0)+f′(x0)(x−x0)
,你会看到啥?对的,这就是在某点
x0
附近,用直线来近似表示函数嘛!对的,这样分析就比直接分析不规则函数f(x)简单很多,当然,取得级数的项越多,就会越接近函数值,对于我们来说,即使我们取N 阶泰勒级数,也比直接分析f(x)容易很多吧。如果还不够透彻,我们继续看傅里叶级数。
傅里叶级数:
插播一条正交函数的概念:
二维空间中,我们有正交向量
a⃗ ,b⃗
互相垂直,从另外一个角度上说,也就是向量
a⃗
在向量
b⃗
方向上没有分量。
然而你说这个干啥?我是想说,这样二维空间里的向量其实都可以分解到这两个互相垂直的向量上,也就是说,
a⃗
和
b⃗
是二维空间里的一组基!二维空间的向量都可以由他们来表示!用类比的思想,如果我们在二维空间里有两个函数正交(互相垂直),那么二维空间里的函数是否可以由这两个函数来表示呢?其实是这个样子! 如果在区间[t1,t2]内用函数
x1(t)
近似表示
x2(t)
,
x1(t)≈c12x2(t)
,当均方误差最小时,我们说这种近似程度最好,均方误差的定义为:
ϵ=1t2−t1∫t2t1[x1(t)−x2(t)]2dt
,对其求导可以求得取得最小值时的状态:
c12=∫t2t1x1(t)x2(t)dt∫t2t1x22(t)dt
。当c12等于零时我们说这两个函数正交,类比于向量中的正交,我们说这两个函数是互相垂直的。
了解了正交函数的概念之后,我们可以对这个概念往高维扩展。如果我们知道了N维空间的一组正交函数基,那我们就可以把一个函数分解到N维空间里去。三角函数集(欧拉变换后得负指数函数)就是常用的一组基!他们通常表示为:
1,cos(Ω1t),sin(Ω1t),cos(2Ω1t),sin(2Ω1t),.....,cos(nΩ1t),sin(nΩ1t)
,每个正余弦函数对组成了一组基,如果觉得两个函数来表示一个空间的基比较费解,我们可以根据
eiθ=cosθ+isinθ
,复指数函数
eiθ
对应了函数在N维空间下的某个基,类比向量空间中的正交基
i,j,k
。故函数的分解也就类似于向量在正交基下的分解。总结起来就是:傅里叶级数是函数以
einθ
为基的n维空间下的分解。数学是统一合理和美的,对吧!
这就是傅里叶级数的来历,我们可以把函数表示成:
x(t)=a0+a1cos(Ω1t)+b1sin(Ω1t+a2cos(2Ω1t),+b2sin(2Ω1t)+...+ancos(nΩ1t),+bnsin(nΩ1t)
同理,类比向量,
a1,b1....
就是函数在对应的基
cos(Ω1t),sin(Ω1t)......
下的投影!那么投影是多大呢?回想上面我们介绍的正交函数概念的时候,我们想用函数x2(t)近似表示x1(t),求出的
c12
就是函数x1(t)在x2(t)方向上的投影的长度!那么求
a1,b1....
其实就是求对应基下的
c12
的值!再加上我们采用的基的模为1,也就是
c12
的分母为1。这样求得的
an
,
bn
就是我们求傅里叶变换时经常看到的样子了。
到这里,我们的傅里叶级数就千呼万唤始出来了:
x(t)=a0+∑n=1∞[ancos(nΩ1t)+bnsin(nΩ1t)]
这里的
a0
代表直流分量,他的大小表示为
a0=1T∫t0+Tt0x(t)dt
。根据我们上面对
an
和
bn
的值的含义的分析,很容易推导出:
an=1T∫t0+Tt0x(t)cos(nΩ1t)dt,bn=1T∫t0+Tt0x(t)sin(nΩ1t)dt
.在这里需要提及的是:
Ω1
,这个东西代表基频,应该重提的是,傅里叶级数一般用来表示周期为T的信号,这里的基频的大小
Ω1=2π/T
。后面还会出现很多名词诸如数字频率模拟频率采样频率,要注意区分。
说道这里,好像只是灌输了一个傅里叶级数的改变,似乎还是没说清楚这样做有什么作用。回想一下在讨论线性时不变系统时,我们说对系统输入某种频率某种形状的信号,则对应的输出也应该是同种类型的信号(阶跃输入对应输出波形应该也是阶跃),但是虽然波形一样,但相对输入波形,输出波形发生了频率和幅值上的改变(变频和相移)。因此我们希望讨论某种频率信号时,系统的输出(频率响应),就可以探讨整个系统的性质。此时如果我们把输入分解成一些频率的信号,就可以很容易的找到对应的输出,对于线性系统,总的输出是所有单个输入信号对应输出的叠加。
又如我们经常提到高频噪声的概念,通常我们说需要设计某些低通滤波器滤去高频噪声,那么什么是高频噪声?噪声为什么是高频的呢?
这是我从维基里面截的一幅图,我们可以用傅里叶级数去逼近一个方波。当我们只取直流分量和基频分量时,绿色的傅里叶级数是一个正弦波,虽然他可以近似表示方波,我们可以看出他的误差是非常大的,我们继续多取几个傅里叶级数中的项,可以看出取得项数越多,绿色的信号就越接近方波。而傅里叶级数对应的项数越多,对应我们取得高频的分量就越多,边缘信号就越接近。而且吉布斯现象也告诉了我们,高频分量主要影响的是跳变沿部分。通常我们希望系统能够平滑的变化,然而噪声往往都是不规整的剧烈变化的扰动,这就是为什么跳变的噪声一般都是高频的。
如果这样说还是不清楚,还有一幅图可能更好理解一点【3】:
这里的一条条曲线代表特定频率的分量。
那么什么是低通滤波器呢?
之前我们讨论过信号在时域内的分析,如果我们有冲击响应
h(t)
,那么系统输出就等于输入与冲击响应的卷积即
y(t)=x(t)∗h(t)
,这是我们在时域中分析信号的方法,如果采用傅里叶级数,换算到频率域(频率域指主要以频率为输入分析输出的域),正好对应频域中的相乘,即:
Y(jω)=X(jω)H(jω)
(这里的
Y(jω),X(jω),H(jω)
表示
y(t),x(t),h(t)
对应的傅里叶变换,后面我们会介绍。这里只是说明时域和频域的转换关系)。卷积变成乘法,就会好处理很多。讲到这里,我们似乎看到了滤波器的曙光(还是想啰嗦一下,你看,滤波器,滤的是波啊,你光看函数是没有波的,只有傅里叶分解才能看见各种波)。我们想,如果系统的函数
H(jω)
,这是一个与频率有关的函数,只在低频部分有值,其余部分都为零,那么我们用输入
X(jω)
和他做对应乘法,那么
X(jω)
的高频部分是不是都乘了0,也就是说输出的
Y(jω)
高频部分都为零,对了,这就通过系统
H(jω)
,搞掉了高频,这就是低通滤波器!正是因为这样,我们很有必要研究
H(jω)
函数的曲线,这就是频率幅度曲线和频率相位曲线的作用——他可以告诉我们目前的系统,对应每种频率,幅度和相位的状态。这里有一篇文章说的非常好http://my.oschina.net/u/184090/blog?disp=2&catalog=0&sort=time&下图也是取自这篇文章,可以帮助我们理解。
分析到这里,我们大概能知道分析频谱的作用了吧。
参考
【1】信号分析与处理 杨西侠 王划一 机械工业出版社
【2】http://zh.wikipedia.org/wiki/%E5%90%89%E5%B8%83%E6%96%AF%E7%8E%B0%E8%B1%A1
【3】http://my.oschina.net/u/184090/blog?disp=2&catalog=0&sort=time&