系列文章目录
傅里叶变换
一.信号的傅里叶级数展开
我们前面举例所用的函数f(t),g(t)都是很特殊的函数,通过观察法就可以将信号转化为 e j n w t e^{jnwt} ejnwt的形式,那么有没有通用的方法可以将一般的信号如方波信号三角波信号转化为 e j n w t e^{jnwt} ejnwt的形式呢,答案是肯定的,那就是傅里叶级数展开。
f
(
t
)
=
∑
n
=
−
∞
∞
c
n
e
i
n
π
l
t
f(t)=\sum^ \infty_{n=-\infty}c_ne^{i\frac {n\pi} l t}
f(t)=∑n=−∞∞cneilnπt
c
n
=
1
2
l
∫
−
l
l
f
(
t
)
e
−
i
n
π
l
t
c_n=\frac 1{2l} \intop^l_{-l}f(t)e^{-i\frac {n\pi} l t}
cn=2l1∫−llf(t)e−ilnπt
(
n
=
0
,
±
1
,
±
2
,
…
)
(n=0,\pm1,\pm2,…)
(n=0,±1,±2,…)
c
n
c_n
cn为傅里叶级数展开的系数。
f
(
t
)
=
e
j
2
w
t
+
5
e
j
w
t
+
6
f(t)=e^{j2wt}+5e^{jwt}+6
f(t)=ej2wt+5ejwt+6
g
(
t
)
=
3
e
j
w
t
+
2
g(t)=3e^{jwt}+2
g(t)=3ejwt+2
y
(
t
)
=
f
(
t
)
g
(
t
)
=
3
e
j
3
w
t
+
17
e
j
2
w
t
+
28
e
j
w
t
+
12
y(t)=f(t)g(t)=3e^{j3wt}+17e^{j2wt}+28e^{jwt}+12
y(t)=f(t)g(t)=3ej3wt+17ej2wt+28ejwt+12
把信号表示成类似多项式的形式本质上就是傅里叶级数展开,多项式中各项的系数就是傅里叶系数。
以频率为横轴,傅里叶系数为纵轴,画出的图就是频谱图。
前面我们已经知道[3,17,28,12]=[1,5,6]*[3,2]
因此很容易得出:时域相乘等于频域卷积。
二.时域信号相乘相当于频域卷积
从上面的描述可知,为了获得两个信号f(t)和g(t)在时域相乘的结果y(t)=f(t)g(t),我们可以先分析这两个信号的频谱f[n]和g[n],再对两个信号的频谱做卷积,得到乘积信号的频谱y[n]=f[n]*g[n],再将各频谱分量y[n]乘以对应的
e
j
n
w
t
e^{jnwt}
ejnwt再相加可以得到乘积信号
y
(
t
)
=
∑
y
[
n
]
e
j
n
w
t
y(t)=\sum{y[n]e^{jnwt}}
y(t)=∑y[n]ejnwt
上面这句话简单的说就是:时域信号相乘相当于频域做卷积。
注意:我们说频域的时候,指的只是频谱,也就是
e
j
n
w
t
e^{jnwt}
ejnwt前面的系数,并不包括
e
j
n
w
t
e^{jnwt}
ejnwt本身。各频谱分量乘以对应的
e
j
n
w
t
e^{jnwt}
ejnwt再相加才能得到对应的时域信号。
三.用余弦信号合成方波信号
前面我们说到将信号转换成类似多项式的形式并不只有实例中的f(t),g(t)这些特殊的信号可以做到,对于一般的信号如方波,三角波信号,也可以转换成类似多项式的复指数形式。
下面我们从相反的方向出发,用多个余弦信号合成方波信号。
直流分量叠加一个cos(x)余弦分量:y=0.5+0.637.*cos(x);
再叠加一个cos(3x)余弦分量:y=0.5+0.637.*cos(x)-0.212.cos(3x);
再叠加一个cos(5x)余弦分量:y=0.5+0.637.*cos(x)-0.212.cos(3x)+0.127.cos(5x);
随着合成的余弦信号越来越多,波形越来越逼近方波,这从侧面验证了傅里叶级数展开的正确性:可以将方波分解成一个直流分量和无数个余弦波分量之和。
四.傅里叶级数展开的定义
前面我们将信号表示成复指数的形式,用到了傅里叶级数展开的复数形式,下面我们回顾一下傅里叶级数展开的基础知识。
首先是傅里叶级数展开的一般形式:
周期为2l的周期函数f(x)在[-l,l]上满足迪利克雷收敛定理的条件,则它的傅里叶展开式为
f
(
x
)
=
a
0
2
+
∑
n
=
1
∞
(
a
n
cos
n
π
l
x
+
b
n
sin
n
π
l
x
)
f(x)=\frac{a_0}{2}+\sum^ \infty_{n=1}(a_n\cos\frac{n\pi}{l}x+b_n\sin\frac{n\pi}{l}x)
f(x)=2a0+∑n=1∞(ancoslnπx+bnsinlnπx)
欧拉-傅里叶系数公式为
a
n
=
1
l
∫
−
l
l
f
(
x
)
cos
n
π
l
x
d
x
a_n=\frac{1}{l}\intop^{l}_{-l}f(x)\cos\frac{n\pi}{l}xdx
an=l1∫−llf(x)coslnπxdx
(
n
=
0
,
1
,
2
…
)
(n=0,1,2…)
(n=0,1,2…)
b
n
=
1
l
∫
−
l
l
f
(
x
)
sin
n
π
l
x
d
x
b_n=\frac{1}{l}\intop^{l}_{-l}f(x)\sin\frac{n\pi}{l}xdx
bn=l1∫−llf(x)sinlnπxdx
(
n
=
1
,
2
,
3
…
)
(n=1,2,3…)
(n=1,2,3…)
这就是傅里叶展开的一般形式
那么如何把信号分解成复指数叠加的形式呢?很容易可以联想到我们之前用到过的欧拉公式:
e
j
w
t
=
cos
w
t
+
j
sin
w
t
e^{jwt}=\cos wt+j\sin wt
ejwt=coswt+jsinwt
由此可以推出:
cos
w
t
=
1
2
(
e
j
w
t
+
e
−
j
w
t
)
\cos wt =\frac{1}{2}(e^{jwt}+e^{-jwt})
coswt=21(ejwt+e−jwt)
sin
w
t
=
−
j
2
(
e
j
w
t
−
e
−
j
w
t
)
\sin wt =-\frac{j}{2}(e^{jwt}-e^{-jwt})
sinwt=−2j(ejwt−e−jwt)
f
(
t
)
=
a
0
2
+
∑
n
=
1
∞
(
a
n
cos
n
π
l
t
+
b
n
sin
n
π
l
t
)
=
a
0
2
+
∑
n
=
1
∞
(
a
n
e
j
n
π
l
t
+
e
−
j
n
π
l
t
2
−
j
b
n
e
j
n
π
l
t
−
e
−
j
n
π
l
t
2
)
=
a
0
2
+
∑
n
=
1
∞
(
a
n
−
j
b
n
2
e
j
n
π
l
t
+
a
n
+
j
b
n
2
e
−
j
n
π
l
t
)
f(t)=\frac{a_0}{2}+\sum^ \infty_{n=1}(a_n\cos\frac{n\pi}{l}t+b_n\sin\frac{n\pi}{l}t) =\frac{a_0}{2}+\sum^ \infty_{n=1}(a_n\frac{e^{j\frac{n\pi}{l}t+e^{-j\frac{n\pi}{l}t} }}{2}-jb_n\frac{e^{j\frac{n\pi}{l}t-e^{-j\frac{n\pi}{l}t} }}{2}) =\frac{a_0}{2}+\sum^ \infty_{n=1}(\frac{a_n-jb_n}{2}e^{j\frac{n\pi}{l}t}+\frac{a_n+jb_n}{2}e^{-j\frac{n\pi}{l}t})
f(t)=2a0+∑n=1∞(ancoslnπt+bnsinlnπt)=2a0+∑n=1∞(an2ejlnπt+e−jlnπt−jbn2ejlnπt−e−jlnπt)=2a0+∑n=1∞(2an−jbnejlnπt+2an+jbne−jlnπt)
c
n
=
{
a
0
2
if
k
=
0
(
a
k
−
j
b
k
)
2
if
k
=
1
,
2
,
…
(
a
−
k
+
j
b
−
k
)
2
if
k
=
−
1
,
−
2
,
…
c_n=\begin{cases} \frac{a_0}{2} &\text{if } k=0 \\ \frac{(a_k-jb_k)}{2} &\text{if } k=1,2,… \\ \frac{(a_{-k}+jb_{-k})}{2} &\text{if } k=-1,-2,… \end{cases}
cn=⎩⎪⎨⎪⎧2a02(ak−jbk)2(a−k+jb−k)if k=0if k=1,2,…if k=−1,−2,…
复指数形式的傅里叶级数展开式
f
(
t
)
=
∑
n
=
−
∞
+
∞
c
n
e
j
n
π
l
t
f(t)=\sum^ {+\infty}_{n=-\infty}c_ne^{j\frac{n\pi}{l}t}
f(t)=∑n=−∞+∞cnejlnπt
c
n
为
复
傅
里
叶
系
数
c_n为复傅里叶系数
cn为复傅里叶系数
以周期信号
f
(
t
)
=
cos
w
0
t
f(t)=\cos w_0t
f(t)=cosw0t和
f
(
t
)
=
sin
w
0
t
f(t)=\sin w_0t
f(t)=sinw0t为例,我们初步认识一下傅里叶系数:
f
(
t
)
=
cos
w
0
t
f(t)=\cos w_0t
f(t)=cosw0t:
实傅里叶系数:
a
0
=
0
,
a
1
=
1
,
b
1
=
0
a_0=0,a_1=1,b_1=0
a0=0,a1=1,b1=0
复傅里叶系数:
c
1
=
1
2
,
c
−
1
=
1
2
c_1=\frac{1}{2},c_{-1}=\frac{1}{2}
c1=21,c−1=21
根据
c
k
c_k
ck画出频谱图如下:
f
(
t
)
=
sin
w
0
t
f(t)=\sin w_0t
f(t)=sinw0t:
实傅里叶系数:
a
0
=
0
,
a
1
=
0
,
b
1
=
1
a_0=0,a_1=0,b_1=1
a0=0,a1=0,b1=1
复傅里叶系数:
c
1
=
j
2
,
c
−
1
=
−
j
2
c_1=\frac{j}{2},c_{-1}=-\frac{j}{2}
c1=2j,c−1=−2j
根据
c
k
c_k
ck画出频谱图如下:
为了更好地理解
c
k
c_k
ck的频谱,这里复习一下复数的模和相位的定义:
假定复数c=a+jb(a,b都是实数)的模为r,相位为
Θ
\Theta
Θ
总结
本章复习了傅里叶级数展开的基础知识,并介绍了把一个一般信号分解成复指数信号的方法。