y=quad(fun,a,b)
y=quad(fun,a,b,TOL,TRACE,p1,p2,?)
其中fun指定被积函数,可以采用inline命令来创建,也可以通过传递函数句柄的形式来指定,a、b表示定积分的下限和上限,TOL表示允许的相对或绝对积分误差,TRACE表示以被积函数的点绘图形式来跟踪该函数的返回值,如果TOL和TRACE为空矩阵,则使用缺省值,“p1,p2,?”表示被积函数出时间t之外所需的其他额外输入参数。
(3)、数值近似法
我们还可以利用MATLAB的数值计算的方法近似计算连续时间傅里叶变换。傅里叶变换X(w)可以由式(9)近似计算
X(w)??x(t)e?????jwtdt?lim?x(k?)e?jwk????0????(9)
当x(t)为时限信号,且?足够小,式(9)可以演变为
X(w)???x(k?)e?jkw?k?ab(10)
而式(10)中求和部分又可以表示成一个行向量和一个列向量的乘积
?x(k?)ek?ab?jkw??e?j?a??w???j?(a?1)??w?e??[x(a?),x((a?1)?),?,x(b?)]???.....????j?b??w???e?(11)
式(11)可以很方便地利用MATLAB实现。
3、离散周期时间信号的频域分析
基波周期为N的周期序列x(n)可以用N个成谐波关系的复指数序列的加权和表示,即
x(n)?k??N??cekjk(2?/N)n(12)
这里k=
ck?1x(n)e?jk(2?/N)n?Nk??N?(13)
傅里叶系数ck也称为x(n)的频谱系数,而且可以证明ck是以N为周期的离散频率序列。这说明了周期的离散时间函数对应于频域为周期的离散频率。
这里,我们用周期N与傅里叶系数ck的乘积来表示周期离散时间信号的频谱,即
X(k)?N?ck?k??N??x(n)e?jk(2?/N)n(14)
X(k)可以利用MATLAB提供的函数fft用来计算,调用格式为
X?fft(x)
该函数返回X(k)一个周期内的值,其中x表示x(n)一个周期内的样本值。
4、离散非周期时间信号的频域分析
非周期序列x(n)可以表示成一组复指数序列的连续和
x(n)?12???X(e2j?)ej?nd?(15)
其中
X(e)?j?n??????x(n)e?j?n(16)
式(16)称为x(n)的离散时间傅里叶变换,式(15)和式(16)确立了非周
j?j?期离散时间信号x(n)及其离散时间傅里叶变换X(e)之间的关系。X(e)是连续
j?频率?的函数,称为频谱函数,且X(e)是周期的连续频率函数,其周期为2?。
可见,非周期离散时间函数对应于频域中是一个连续的周期的频率函数。
对于有限长的时间序列,式(16)可以表示为
X(e)??x(n)e?j?nj?n?n1nN?e?jn1????jn2??e??[x(n1),x(n2),?,x(nN)]???.....????jnN????e? (17)
式(17)可以方便地利用MATLAB实现。
1、已知x(t)是周期矩形脉冲信号。
①计算该信号的傅里叶级数;
②利用MATLAB绘出由前N次谐波合成的信号波形,观察随着N的变化合成信号波形的变化规律;
>> t=-2:0.01:2; >> N=input('N='); N=5
>> x=zeros(size(t)); >> for n=1:2:N
x=x+(4/(pi*n))*sin(2*pi*n*(t+0.25)); end >> x=(x+1)/2; >> plot(t,x) N=5
1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -2
-1.5 -1 -0.5 0 0.5 1 1.5
2
N=15
1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -2
-1.5 -1 -0.5 0 0.5 1 1.5
2
N=50
1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -2
-1.5 -1 -0.5 0 0.5 1 1.5
2
③利用MATLAB绘出周期矩形脉冲信号的频谱,观察参数T和变化时对频谱波形的影响。
>> c0=0; >> n2=1:N;
>> c2=-4*j*sin(n2*pi/2)/pi^2./n2.^2;
>> cn=[c1 c0 c2]; >> n=-N:N;
>> stem(n,abs(cn),'filled')
Q1-1、什么是吉伯斯现象?产生吉伯斯现象的原因是什么?