发表了主题帖:
用GNU Octave仿真周期信号的频谱
用GNU Octave仿真周期信号的频谱
周期信号的频谱,是离散的频率点。可以通过傅里叶级数来表达。
通过GNU Octave的FFT(f)函数,可以仿真相应的幅频特性图,直观看到周期信号的频谱变化。
数字信号一般是1和0的交替变化,可以用方波信号来模拟仿真,如图一。但实际的数字信号,往往不是理想的方波形式,而是梯形的,如图二。
图一
图二
本文通过利用GNU Octaver软件,对比方波和梯形波的各种波形的频谱曲线,以方便对频谱的理解。
周期信号的产生:
GNU Octave中,有square(t,duty)函数。调用该函数,生成周期为2pi的方波。
但周期梯形信号没有现成的函数。为此需要自作一个函数。命名为trapezoidstand.m。
以下是方波信号的频谱产生程序。
1Hz,50%占空比的波形。见图三。
频谱图中,一次谐波频率为f1=6.2832/2pi=1Hz,
三次谐波频率为f3=18.8496/2pi=3Hz.
图三
1Hz,70%占空比的波形。见图四。
从频谱图中看到,除了有一次谐波和三次谐波,还增加了直流分量和偶次谐波分量。高低电平的平均值不为零导致出现直流分量。
图四
1Hz,90%占空比的波形。见图五。
从频谱图中看到,随着占空比的加大,直流分量进一步增强。谐波分量的幅值进一步减小。
图五
1Hz,30%占空比的波形。见图六。
与70%占空比频谱类似。
图六
1Hz,10%占空比的波形。见图七。
与90%占空比频谱类似。
图七
1Hz,50%占空比,幅值为1的波形。见图八。
从频谱图看到,由于时域信号有直流分量,所以,在0频点处,存在分量。但只有一次谐波和三次谐波等奇次谐波,不存在偶次谐波。这是因为,50%占空比的信号,不存在偶次谐波。
图八
1Hz,70%占空比,幅值为1的波形。见图九。
存在直流分量,同时存在奇偶次谐波分量。
图九
1Hz,20%占空比,幅值为1的波形。见图十。
存在直流分量,同时存在奇偶次谐波分量。但直流分量相比50%占空比,要小很多。
图十
1Hz,50%占空比梯形,幅值为1.8。见图十一。
可以看到,相比于方波,谐波分量的幅值更加小。
图十一
1Hz,50%占空比梯形,幅值为-0.9~0.9。见图十二。
可以看到,没有了直流分量频段。
图十二
周期梯形信号频谱产生程序如下。
总结:
通过GNU Octave软件,仿真了周期1Hz方波和梯形信号的频谱曲线。从中可以看到在不同的占空比等条件下的频谱变化。
按照傅里叶变化的尺度特性,当已知f(t)的傅里叶变换为F(jw)时,则f(at)对应的傅里叶变换为1/|a|*F(jw/a).
虽然本文是对1Hz的方波进行了仿真,同样可以推算出1K Hz/1M Hz等各种方波的频谱特性。