一、周期方波的频谱分析【由x(t)求X(f)】
1.1 周期方波的复傅里叶系数与sinc函数的关系
在之前文章中,我们已经会求
acosω0t−bsinω0t的复傅里叶系数了,下面我们来看这种矩形波的复傅里叶系数的求解(我们设这个方波的周期为
T0好了)
k = -8:0.001:8; %频率
plot(k, 0.5+0.5*square(2*pi*k+0.5*pi, 50));
%上面这段代码的注释:主要针对square()函数
%2*pi*k代表了角速度ω, +0.5*pi主要是为了将这个方波平移到和k=0所在纵轴对称的位置,便于计算
%50表示占空比:50%,即方波
axis([-8 8 -0.5 +1.5]);
grid on;
cm=T01∫−2T0+2T0x(t)e−jmω0tdt
c0=T01∫−2T0+2T0x(t)dt=21=0.5
ck=T01∫−2T0+2T0x(t)e−jkω0tdt=T01∫−4T0+4T0[cos(kω0t)−jsin(kω0t)]dt=T01∫−4T0+4T0cos(kω0t)dt−T0j∫−4T0+4T0sin(kω0t)dt=T01∫−4T0+4T0cos(kω0t)dt=T0kω01∫−4T0+4T0cos(kω0t)d(kω0t)=T0kω02sin(kω04T0)=21kω04T0sin(kω04T0)
由于
T=ω02Π,因此,上面
ck的表达式为:
ck=212kΠsin(2kΠ)
而在matlab中,这种矩形波的复傅里叶系数可以用一个函数sinc()来表示:我们来看看辛格函数(sinc)的样子:
k = -8:1:8;
y = sinc(k);
plot(k, y), grid();
sinc(k)=kΠsin(kΠ)
根据我们刚刚推导出来的矩形波的复傅里叶系数
ck的表达式:
ck=212kΠsin(2kΠ)
我们可以得到:
ck=21sinc(2k)
下面,我们来看看上面矩形波的频谱:(注意:我们k的取值是整数!)
k = -8:1:8; %这里只是画了一小部分,事实上频谱是无限延申的!
stem(k, 0.5*sinc(0.5*k));
1.2. 占空比为0.25的矩形波的复傅里叶系数和频谱
下面,我们继续用Matlab画一个脉冲宽度和上面的呃方波一样,但是占空比为25%的矩形波,这意味着这个矩形波的周期变为了原来方波的2倍!即T = 2
T0
k = -8:0.001:8;
plot(k, 0.5+0.5*square(2*pi*k + 0.25*pi, 25));
axis([-8 8 -0.5 +1.5]);
grid on;
我们来看看
c0:
c0=T1∫−2T2Tx(t)dt=T1∫−8T8Tdt=41
ck=T1∫−2T2Tx(t)e−jkω0tdt=T1∫−8T8Te−jkω0tdt=T1∫−8T8T(coskω0t−jsinkω0t)dt=kω0T1∫−8T8Tcoskω0td(kω0t)=418kω0Tsin(kω08T)
由于
ω0=T2Π,因此带入得:
ck=414kΠsin(4kΠ)=41sinc(4k)
我们画出它得频谱:
t = -16:1:16;
stem(k, 0.25.*sinc(k/4));
grid on;
1.3 扩展分析:当周期信号的周期T很大的情况下的频谱
综合上面的分析我们发现:当
T=T0时,我们通过第一个频谱发现,频率成分还是比较零散的
当
T=2T0时,频谱成分就比较多了,频谱图也变得比较密集。
当T继续增大时,我们来比较一下频谱:
我们发现:相同频率处的谱线幅度随着周期的增大而减小,相同带宽内的谱线数量随着周期的增大而增多(谱线密度随着周期的增大而增大)
当T 趋近于无穷大,即信号不是周期信号时,我们再来看看这个信号的频谱长什么样:
因此,对于周期信号,使用离散频谱进行分析非常便捷,但是对于非周期信号,使用这种离散型频谱就显得非常复杂了。
这是因为:随着T的无限增大,频率谱线的间据越来越小,用于描述频率的复傅里叶系数
ck无穷多!
二、非周期矩形信号的频谱【由x(t)求X(f)】
当我们的信号是非周期信号时,我们使用连续谱来分析:
连续谱是用一个个宽度为
△f,高度为:
△fck的矩形的顶端连成的阶梯状折现就构成了非周期信号的频谱密度曲线:
XR(f)(纵坐标)对应的就是频谱密度,即为:
△fck,那么我们有:
△fck=ckT=∫−2T2Tx(t)e−jkω0tdt
【下面,我们也来看看周期信号的连续谱】:
通过前几节的学习我们发现:
- 当T =
T0,且脉冲宽度为:
2T0时:
ck=21sinc(2k)
- 当T =
2T0,且脉冲宽度为:
2T0时:
ck=41sinc(4k)
- 当T =
4T0,且脉冲宽度为:
2T0时,
ck=81sinc(8k)
综上,我们可以归纳出:
ck=21TT0sinc(2kTT0)(1)
对于非周期信号,也即是T -> ∞时,
Tk−>T1=f,因此上式变为:
ckT=△fck=2T0sinc(2T0f)(2)
其中,
2T0是矩形波的脉冲宽度。对比(1)式和(2)式,我们发现:
f=k△f
那么,结合我们一开始的式子:
△fck=ckT=∫−2T2Tx(t)e−jkω0tdt=∫−2T2Tx(t)e−jk2Π△ftdt=∫−2T2Tx(t)e−j2Πftdt
上式就是周期信号的连续谱函数,那么非周期信号T -> ∞时,上式变为:
X(f)=△fck=ckT=∫−∞+∞x(t)e−j2Πftdt
上式就是非周期信号的频谱!
【辨析】:一串非周期矩形脉冲信号的频谱和单个矩形脉冲信号的频谱是不一样的!!分析频谱时一般不会一次分析一串脉冲信号的频谱,而只是一次分析一个脉冲信号的频谱,所以分析一串脉冲信号的频谱没什么实用价值。
三、如何通过频谱X(f)求信号x(t)
这里博主对它的推导过程还存在一点疑问,先把公式贴出来:
x(t)=∫−∞+∞X(f)ej2Πftdf
四、傅里叶变换
我们上面所讲到的,由
x(t)求频谱
X(f)的过程成为傅里叶正变换,由频谱
X(f)求信号
x(t)的过程称为傅里叶逆变换:
X(f)=∫−∞+∞x(t)e−j2Πftdt |
傅里叶正变换 |
x(t)=∫−∞+∞X(f)ej2Πftdf |
傅里叶逆变换 |
如果把
2Πf用ω替换,那么也是可以的:
X(f)=∫−∞+∞x(t)e−jωtdt |
傅里叶正变换 |
x(t)=2Π1∫−∞+∞X(f)ejωtdω |
傅里叶逆变换 |