频谱及其几何意义 频谱分析是信号与系统课程中最重要的内容之一,许多读者在学习中感到抽象, 往往只能从数学上承认时域信号与它的频谱之间的变换关系,而没有理解它的物 理意义。用MATLAB可以帮助读者建立形象的几何概念,真正掌握它。 首先来看欧拉公式,它是以最简明的方式建立了信号频域与时域的关系: cos(Ot)-0.5(eio+e) 它说明一个最简单的实余弦信号可以由正、负两个2频率分量合成。在复 平面上,正的2对应于反时针旋转的向量,负的Q对应于顺时针旋转的向量, 当这两个向量的幅度相同,而相角符号相反时,就合成为一个在实轴上的向量。 它的相角为零,大小按正弦变化,形成了实信号cos2t。(如图911所示)。 推而广之,任何实周期信号必然具有正、负两组频率的频谱成分,正、负频率频 谱的幅度对称而相位反对称,或者说,是共额的。 如果频谱不止这两项,而是有四项或更多,它们的合成仍然可以用几何动画 来表示。可以把每个频谱看作一根长度等于频谱幅度①)、按频率2(①)旋转的杆 件,频谱的相加等价于多节杆件首尾相接,杆件末端的轨迹就描述了生成的时域 波形。因为这个端点是在平面上运动,所以它将产生复信号,在实轴和虚轴上的 投影分别为实信号和虚信号。 【例941】设计一个演示程序,它能把四个用户任意给定集总频谱合成并 生成对应的时域信号。 解: ◆建模按上述多节杆合成模型 程序设计包括三个主要部分:(1)各频谱分量的输入,包括其幅度和频率 (有正负号):(2)将各分量当作转动的杆件首尾相接:(3)记录多节杆系末 端的轨迹画出图形。 ◆MATLAB程序exn94I %(1)给频谱向量赋值 N=input(N(输入向量个数,限定N不大于4)=)方 for i=1:N
频谱及其几何意义 频谱分析是信号与系统课程中最重要的内容之一,许多读者在学习中感到抽象, 往往只能从数学上承认时域信号与它的频谱之间的变换关系,而没有理解它的物 理意义。用 MATLAB 可以帮助读者建立形象的几何概念,真正掌握它。 首先来看欧拉公式,它是以最简明的方式建立了信号频域与时域的关系: cos(Ωt)=0.5(ejΩt+ e-jΩt) 它说明一个最简单的实余弦信号可以由正、负两个 Ω0 频率分量合成。在复 平面上,正的 Ω0 对应于反时针旋转的向量,负的 Ω0 对应于顺时针旋转的向量, 当这两个向量的幅度相同,而相角符号相反时,就合成为一个在实轴上的向量。 它的相角为零,大小按正弦变化,形成了实信号 cos Ω0t。(如图 9-11 所示)。 推而广之,任何实周期信号必然具有正、负两组频率的频谱成分,正、负频率频 谱的幅度对称而相位反对称,或者说,是共軛的。 如果频谱不止这两项,而是有四项或更多,它们的合成仍然可以用几何动画 来表示。可以把每个频谱看作一根长度等于频谱幅度 a(i)、按频率 Ω(i)旋转的杆 件,频谱的相加等价于多节杆件首尾相接,杆件末端的轨迹就描述了生成的时域 波形。因为这个端点是在平面上运动,所以它将产生复信号,在实轴和虚轴上的 投影分别为实信号和虚信号。 【例 9-4-1】设计一个演示程序,它能把四个用户任意给定集总频谱合成并 生成对应的时域信号。 解: ◆ 建模 按上述多节杆合成模型 程序设计包括三个主要部分:(1)各频谱分量的输入,包括其幅度和频率 (有正负号);(2)将各分量当作转动的杆件首尾相接;(3)记录多节杆系末 端的轨迹画出图形。 ◆ MATLAB 程序 exn941 % (1)给频谱向量赋值 N=input('N(输入向量个数,限定 N 不大于 4)= '); for i=1:N
i,a(i)=input(振幅a()F方 wM)=-input(角频率w()=方 end %(2)将各个频谱向量相加合成并画图 %此处应该把各时刻的图形转为动画,此处省略了动画的语句) t=0:0.1:20:It=length(t): %给出时间数组 p=a'*ones(1,It).*exp(j*w*t); %各频谱分量随时间变化的复 数值 q=cumsum(p): %各频谱分量的累加(包括所有节 点) figure(1),plot(real(q(4,:)》,imag(q(4,)),grid on%画合成复信号 的端点轨迹 %(3)将此轨迹的在实轴与虚轴两个方向的投影画成时间信号 figure(2),subplot(2,2,1),plot(real(q(4,:)),imag(q(4,:))),grid on subplot(2,2,3),plot(real(q(4,)》,t),grid on%画出实信号的时间 波形 subplot(2,2,2),plot(t,imag(q(4.:)).grid on %画出虚信号的时 间波形 ◆程序运行的结果 运行程序并按提示输入,如果只取两个幅度相等,频率符号相反的集总频谱, 那么将得到与图911相仿的结果。现取四个集总频谱,输入 a(1F1,w1)=1: a(2)Fl,w2)=1: a(3)=0.5,w(33: a(4)=0.5,w(1)=-4: 在此处,为了显示复信号,我们有意把输入频谱设成不对称的。于是读者将 看到四节杆的运动动画,并得到杆系及其端点在复平面上的轨迹,如图912,改 变了比例尺的轨迹见图9-l3子图()。将它在x,y两方向的投影与时间轴的关系 画在子图b)和(©)中,我们就得到信号与系统课程中常见的实信号曲线
i,a(i)=input('振幅 a(i)= '); w(i)=input('角频率 w(i)='); end % (2)将各个频谱向量相加合成并画图 % 此处应该把各时刻的图形转为动画,此处省略了动画的语句) t=0:0。1:20;lt=length(t); % 给出时间数组 p=a'*ones(1,lt)。*exp(j*w'*t); % 各频谱分量随时间变化的复 数值 q=cumsum(p); % 各频谱分量的累加(包括所有节 点) figure(1),plot(real(q(4,:)),imag(q(4,:))),grid on % 画合成复信号 的端点轨迹 % (3)将此轨迹的在实轴与虚轴两个方向的投影画成时间信号 figure(2),subplot(2,2,1),plot(real(q(4,:)),imag(q(4,:))),grid on subplot(2,2,3),plot(real(q(4,:)),t),grid on % 画出实信号的时间 波形 subplot(2,2,2),plot(t,imag(q(4,:))),grid on % 画出虚信号的时 间波形 ◆ 程序运行的结果 运行程序并按提示输入,如果只取两个幅度相等,频率符号相反的集总频谱, 那么将得到与图 9-11 相仿的结果。现取四个集总频谱,输入 a(1)=1,w(1)=-1; a(2)=1,w(2)=-1; a(3)=0。5,w(3)=3; a(4)=0。5,w(1)=-4; 在此处,为了显示复信号,我们有意把输入频谱设成不对称的。于是读者将 看到四节杆的运动动画,并得到杆系及其端点在复平面上的轨迹,如图 9-12,改 变了比例尺的轨迹见图 9-13 子图(a)。将它在 x,y 两方向的投影与时间轴的关系 画在子图(b)和(c)中,我们就得到信号与系统课程中常见的实信号曲线
输入频谱的幅度可以是负数,也可以是虚数,甚至可以是复数,它不仅反映 了频谱的大小,还反映了该向量的起始相位:频谱的频率则只能是可正可负的实 数,正频率和负频率以及在该频率上频谱的意义在此不言自明。读者可以做各种 各样的试验,例如当两组频率具有倍频关系时,得到的是周期信号,如果频率比 是任意小数,那将得出非周期的信号:另外,这样的演示只适用于集总频谱,对 于分布的频谱密度,就要把它想象为若干小的集总频谱的叠合。总之有了这样的 形象演示,可以大大扩展时域信号与频域谱之间关系的思维空间。 可见,只有在复信号平面上,才能看到频率的正负。许多人往往看不到负频 率频谱的意义,这是因为他们老是停留在实信号的局部范畴来思考问题。要想知 道象有没有鼻子(负频率),必须去摸象头(复信号),只摸象腿(实信号)是 得不到信号理论普遍而科学的规则的。 [)陈怀琛,MATLAB及其在理工课程中的应用指南(十一五规划版),西安电子科技大学 出版社,2007年7月
输入频谱的幅度可以是负数,也可以是虚数,甚至可以是复数,它不仅反映 了频谱的大小,还反映了该向量的起始相位;频谱的频率则只能是可正可负的实 数,正频率和负频率以及在该频率上频谱的意义在此不言自明。读者可以做各种 各样的试验,例如当两组频率具有倍频关系时,得到的是周期信号,如果频率比 是任意小数,那将得出非周期的信号;另外,这样的演示只适用于集总频谱,对 于分布的频谱密度,就要把它想象为若干小的集总频谱的叠合。总之有了这样的 形象演示,可以大大扩展时域信号与频域谱之间关系的思维空间。 可见,只有在复信号平面上,才能看到频率的正负。许多人往往看不到负频 率频谱的意义,这是因为他们老是停留在实信号的局部范畴来思考问题。要想知 道象有没有鼻子(负频率),必须去摸象头(复信号),只摸象腿(实信号)是 得不到信号理论普遍而科学的规则的。 [1] 陈怀琛, MATLAB 及其在理工课程中的应用指南(十一五规划版),西安电子科技大学 出版社,2007 年 7 月