作为一个工科生,这里我不去说很多的严密的定理和知识,我只是从我的角度,形象的去理解时域和频域。
首先我们来观察一个画在空间直角坐标系中的正弦函数:
现在我们从两个视角去观察它
分别是垂直于xoz面和垂直于yoz面
看到的图像如下:
这是一个正弦函数和一条线段,线段的长度等于正弦波的幅度。
一个正弦波有三个要素,频率幅度和相位,相位我们在这里先放一放。
在上图中可以发现,利用yoz平面,我们已经可以刻画出正弦函数的幅度了,那么怎么去刻画频率呢?这就需要利用y轴,将y轴的单位变成角频率w,便可以区分不同频率的正弦函数。
这样一个视角的转换,其实就是时域和频域的转换,在频域中我们不看时间,所以视线与x轴平行,在时域中我们不看频率,所以视线与y轴平行。
而接下来最重要的任务就是如何从一个任意信号中提取出其中的频率分量,这就用到了傅里叶级数。
傅里叶级数完美的运用了三角函数集的正交完备性,这里就不叙述了。
下面我们利用MATLAB来形象的看一下一个连续时间周期信号是如何从时域变到频域的
我们先生成一个周期方波信号,可以用到MATLAB中的square()函数
代码为:
clear
clc
t=-4:0.01:4;
y=square((t+1)*pi/1.5,66.666);
plot(t,y)
axis([-4 4 -2 2])
得出的图像为:
下面我们利用傅里叶级数,将其展开,具体计算过程不再叙述,这里展示展开后的结果。
使用到的MATLAB代码为:
k=-10:10;
t=-4:0.01:4;
for i=1:length(k)
zk=(sin(2*pi*k(i)/3)/(k(i)*pi))*exp(j*k(i)*(2*pi/3)*t);
y=k(i)*(2*pi/3)*ones(1,length(t));
plot3(t,y,zk)
hold on
end
xlabel('时间轴');
ylabel('频率轴');
hold off;
我们将不同频率成分在频率轴上铺开,得到一个很漂亮的图像!
参考刚才的时域到频域的转换,我们换一个视角观察
将图像稍加整理(底部对齐),这正是该周期信号的频谱图!
所以,时域到频域,就是转换一下视角!