连续信号的傅里叶分析

基础知识

本文讨论的连续信号指的是连续时间信号(continuous-time signal),以时间为自变量,以信号的幅度为函数值。连续信号在自变量的连续取值上都有定义,例如,作为时间的函数的语音信号就是连续信号。

周期信号是幅值随着时间重复变化的信号,一个周期连续时间信号具有这样的性质,即存在一个正值的,对所有的来说,有,那么就是该信号的周期。的整数倍也是周期,所以周期有无数个,将满足条件的最小的周期称为基波周期。正弦函数就是周期函数,基波周期称为角频率,加绝对值符号是因为可能为负数。

由于正弦函数计算不方便,因此引入周期复指数信号,由周期信号的定义式

所以,于是得到复指数信号的基波周期

由欧拉公式

所以,是周期复指数信号的实部,是周期复指数信号的虚部。将替换成

联立上述两个方程便得到正弦信号和周期复指数信号的等式关系

需要注意,也是正弦信号,它和只有相位上的差别。

傅里叶级数

推导

从数学上可以证明,任何满足Dirichlet条件的周期函数都可以表示成一组成谐波关系的复指数信号的线性组合

该式称为傅里叶级数的基波周期,基波频率,系数的计算公式如下

系数称为频谱系数。这些复数系数是对信号中的每一个谐波分量大小的度量。

示例

以正弦信号为例,因为

所以时,

为一半时间为、一半时间为,且关于纵轴对称的方波信号时,可计算得到

于是可以得到复指数形式的傅里叶级数

将它转换成正弦信号形式,得

后面的项数越多,对方波的逼近程度越高,下面的MATLAB程序可以演示这一过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
T1 = 1; T = 4 * T1;   % 基波周期
w0 = 2*pi/T; % 基波频率

% 创建方波信号
t = -3/2*T:0.01:3/2*T;
x = zeros(size(t));
for k = 1:length(t)
if abs(t(k)) < T1 || abs(t(k)-T) < T1 || abs(t(k)+T) < T1
x(k) = 1;
end
end
plot(t, x); axis([-3/2*T, 3/2*T, -0.5, 1.5])

% 用傅里叶级数逼近方波信号
N = 15;
x_hat = 1/2;
for n = 1:N
x_hat = x_hat + (-1)^(n+1)*2/pi/(2*n-1)*cos((2*n-1)*w0*t);
plot(t, x_hat);
hold on; plot(t, x, 'LineWidth', 1); hold off;
pause(0.5)
end

所以,连续时间信号可以用傅里叶级数和来表示。根据傅里叶级数的系数可以画出周期信号的频谱,连续周期信号的频谱只在离散的频率点处有值(值可能为),频率值都是基波频率的倍数,相邻频率点之间的间隔为基波频率

傅里叶变换

推导

当周期信号的基波周期越来越大时,相邻频率点之间的间隔越来越小,频谱越来越密集。可以想象,当趋向无穷大时,间隔会趋近于,频谱就由离散变成连续,此时周期信号就变成了非周期信号,求和形式的傅里叶级数表达式就变成了积分形式

其中,称为连续非周期信号傅里叶变换,是个复函数,计算式为

又称为频谱,它提供将表示为不同频率正弦信号的线性组合(就是积分)所需要的信息。

示例

常值函数的傅里叶变换

也就是说,常值信号的频谱在所有频段上均为零,仅在零频率(直流)上有个函数。

单位脉冲函数的傅里叶变换

也就是说,单位冲激信号的频谱在所有频段上均相等。

单位阶跃函数的傅里叶变换

单位阶跃信号的频谱有个连续变化的部分和一个函数。函数代表了直流分量,其他各次谐波构成连续谱,幅度随着频率的增加而很快衰减。

总结

综上所示,无论是连续周期信号的傅里叶级数还是连续非周期信号的傅里叶变换,都相当于把一个信号表示为一组复指数信号的线性组合。对周期信号而已,这些复指数信号的幅度为,并且在成谐波关系的一组离散点上出现。对非周期信号而已,这些复指数信号出现在连续频率上,「幅度」为。因此,正弦信号可以看做频率信号分析中的「基本成分」。