复频率的意义

转至:   http://blackorchis.blog.hexun.com/25763712_d.html
 
   xialulee学信号与系统的时候,看到傅立叶变换,得到的频谱有负频率。负频率是什么呢?当时xialulee没有想通,频率怎么会有负的呢?看了一些参考书,都是说这不过是数学上的问题,没有什么实际物理意义的。但是xialulee不愿接受这个说法。时不时想想这个问题,终于清楚了。这几天研究m语言,不知为何突然又想起这个尘封已久问题,觉得应该把对于负频率的解释放在网上,利用Matlab画图进行解释,希望能对大家有所帮助。

      频率怎么会有负的?很奇怪吧,其实负频率是个很好理解的概念,为了说明这个问题,我描述一下负速度这个概念,我们知道在定义了正方向后,与正方向相反的方向运动的物体,就可以说是具有负速度,这是显而易见的。与速度类似的一个概念是角速度,如果我们把逆时针旋转定义为正的角速度,则顺时针旋转就具有负角速度,这也是显而易见的。在某种情况下,可以将角速度和角频率等同起来,也就是小欧米伽ω。

      傅立叶变换可视为将一个信号分解为无数个exp(jωt)分量的和,上文说了,对于正的角频率,可视为逆时针旋转,则负的角频率就是顺时针旋转。我们利用复平面和垂直于复平面的时间轴作为一个三维空间,则exp(jωt)在这个空间中呈现出螺旋线的形状,类似弹簧。对于正频率,即ω>0,俯视复平面时这根“弹簧”是逆时针的,对于负频率,即ω<0,这根“弹簧”是顺时针的。为了说明问题方便,我们这里以余弦函数为例,对于cos(ω0)t来说,其频谱的表达式是:π[δ(ω-ω0)+δ(ω+ω0)],在正负ω0处有两个冲击,正ω0处的冲击对应的exp()分量为角频率是ω0(逆时针旋转),幅度为π/2π=0.5,初相为0,即与实轴的夹角为0;负ω0处的冲击对应的exp()分量是角频率为-ω0(即旋转速度为ω0,但方向是顺时针),幅度为π/2π=0.5,初相为0,即与实轴夹角为0。用Matlab绘制这两个分量,代码和图形如下,x轴对应信号的实轴,y轴对应信号的虚轴,z轴对应时间轴,输入余弦函数假设为ω0=2π,幅度范围是-1~+1:

m代码:

clear all;
w=2*pi;
t=0:0.01:4;
v1=exp(j*w*t)/2;
v2=exp(-j*w*t)/2;
subplot(1,2,1);
plot3(real(v1),imag(v1),t);
subplot(1,2,2);
plot3(real(v2),imag(v2),t);
figure(2);
plot3(real(v1+v2),imag(v1+v2),t);

图形:

 

      左边是正频率对应的exp(jω0t)分量,可以看出是逆时针;右边是负频率对应的exp(-jω0t)分量,顺时针。让我们再看看这两根“弹簧”在由时间轴和实轴构成的平面上的投影:

 

      注意竖直的是时间轴,而水平的是信号实部的幅度,这两根旋转方向相反的“弹簧”在实轴和时间轴构成的平面上的投影具有相同的形状,就是cos函数的形状,只不过幅度只有原余弦信号的一半(在将两个分量合成之后,我们就会发现幅度=信号的幅度了)。

      再看看两根“弹簧”在由虚轴和时间轴构成的平面上的投影:

      注意竖直的是时间轴,水平的是信号虚部的幅度

 

      两个投影之间差了一个负号。 如果我们将这两根“弹簧合成”,由于它们在实轴上的一致,所以实部会增大一倍,它们在虚轴上的投影相差一个负号,所以会抵消为0,合成图如下:

 

      显然这个图形只在由实轴和时间轴构成的平面中具有幅度了,让我们看看实轴和时间轴构成的平面上信号的样子,注意竖直方向是时间轴,水平方向是信号实部的幅度

 

      还原了我们的余弦信号。

      这下我们知道负频率是什么了吧,一般而言,进行变换的信号一般都是实信号,但是傅立叶变换试图用无数个exp(jωt)来合成,而exp(jωt)是复平面和时间轴构成的空间中的螺旋线,它有虚部。只有将某一频率的分量,分解为一正一负两个旋转方向相反的螺旋线,才能使分量的合成后保留实部,抵消虚部,还原原来的实信号,也就是说,如果没有负频率的分量,那么我们无法用exp(jωt)来合成一个实信号。

      为了充分地说明问题,下面再以sin函数为例重复上面的过程:

      sin(ω0)t的频谱是-jπδ(ω-ω0)+jπδ(ω+ω0),它有两个分量,一个对应频率为ω0,在t=0时刻其值为-j,也就是初相为-90度(与实轴夹角为负90度),幅度为π/2π=0.5;另一个对应频率为-ω0,在t=0时刻其值为j,即初相为90度(与实轴夹角为90度),幅度为0.5。

      下面是m代码(x轴对应信号的实轴,y轴对应信号的虚轴,z轴对应时间轴,输入正弦函数假设为ω0=2π,幅度范围是-1~+1):

clear all;
w=2*pi;
t=0:0.01:4;
v1=-j*exp(j*w*t)/2;
v2=j*exp(-j*w*t)/2;
subplot(1,2,1);
plot3(real(v1),imag(v1),t);
subplot(1,2,2);
plot3(real(v2),imag(v2),t);
figure(2);
plot3(real(v1+v2),imag(v1+v2),t);

      两个分量在由复平面和垂直于复平面的时间轴构成的空间中的图形,左边为正频率的,右边为负频率的:

 

      它们在由实轴和时间轴构成的平面中的投影(注意竖直的是时间轴,水平的是信号的实部):

 

      再看看它们在由虚轴和时间轴构成的平面中的投影(注意竖直的是时间轴,水平的是信号的虚部):

 

      两个分量合成后的空间形状:

 

      由时间轴和信号实轴构成的平面中的图形(竖直的为时间轴,水平的为实轴):

 

      最后说两句,在Matlab中,使用plot3函数可以很方便地绘制由参数方程确定的空间曲线的形状。

你可能感兴趣的:(matlab,语言,图形,plot)