本文主要是介绍信号完整性研究系列--信号上升时间与带宽,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
来源:于争博士《信号完整性研究》http://www.sig007.com
在前文中我提到过,要重视信号上升时间,很多信号完整性问题都是由信号上升时间短引起的。本文就谈谈一个基础概念:信号上升时间和信号带宽的关系。
对于数字电路,输出的通常是方波信号。方波的上升边沿非常陡峭,根据傅立叶分析,任何信号都可以分解成一系列不同频率的正弦信号,方波中包含了非常丰富的频谱成分。
抛开枯燥的理论分析,我们用实验来直观的分析方波中的频率成分,看看不同频率的正弦信号是如何叠加成为方波的。首先我们把一个1.65v 的直流和一个100MHz 的正弦波形叠加,得到一个直流偏置为1.65v 的单频正弦波。我们给这一信号叠加整数倍频率的正弦信号,也就是通常所说的谐波。3 次谐波的频率为300MHz,5 次谐波的频率为500MHz,以此类推,高次谐波都是100MHz 的整数倍。图1 是叠加不同谐波前后的比较,左上角的是直流偏置的100MHz 基频波形,右上角时基频叠加了3 次谐波后的波形,有点类似于方波了。左下角是基频+3 次谐波+5 次谐波的波形,右下角是基频+3 次谐波+5 次谐波+7 次谐波的波形。这里可以直观的看到叠加的谐波成分越多,波形就越像方波。
因此如果叠加足够多的谐波,我们就可以近似的合成出方波。图2 是叠加到217 次谐波后的波形。已经非常近似方波了,不用关心角上的那些毛刺,那是著名的吉博斯现象,这种仿真必然会有的,但不影响对问题的理解。这里我们叠加谐波的最高频率达到了21.7GHz。
上面的实验非常有助于我们理解方波波形的本质特征,理想的方波信号包含了无穷多的谐波分量,可以说带宽是无限的。实际中的方波信号与理想方波信号有差距,但有一点是共同的,就是所包含频率很高的频谱成分。
这里说一下,最终合成的方波,其波形重复频率就是100MHz。叠加谐波只是改变了信号上升时间。信号上升时间和100MHz 这个频率无关,换成50MHz 也是同样的规律。如果你的电路板输出数据信号只是几十MHz,你可能会不在意信号完整性问题。但这时你想想信号由于上升时间很短,频谱中的那些高频谐波会有什么影响?记住一个重要的结论:影响信号完整性的不是波形的重复频率,而是信号的上升时间。本文的仿真代码很简单,我把代码贴在这里,你可以自己在matlab 上运行一下看看。
clc; clear all; pack;
Fs = 10e9;
Nsamp = 2e4;
t = [0:Nsamp-1].*(1/Fs);
f1 = 1e6;
x0 = 3.3/2;
x1 = x0 + 1.65*sin(2*pi*f1*t);
x3 = x0;
for n=1:2:3
x3 = x3 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x5 = x0;
for n=1:2:5
x5 = x5 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
x7 = x0;
for n=1:2:7
x7 = x7 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
subplot(221)
plot(x1)
subplot(222)
plot(x3)
subplot(223)
plot(x5)
subplot(224)
plot(x7)
x217 = x0;
for n=1:2:217
x217 = x217 + 3.3*2/(pi*n) * sin(2*pi*n*f1*t);
end
figure
plot(x217)
figure
plot(x217,'k')
hold on
plot(x1,'b')
plot(x3,'g')
plot(x7,'r')
hold off
axis([8000 12000 -0.5 4])
这篇关于信号完整性研究系列--信号上升时间与带宽的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!