实验3信号的频域分析一、实验目的1.深入理解信号频谱的概念,掌握信号的频域分析方法。2.观察典型周期信号和非周期信号的频谱,掌握其频谱特性。二、实验原理1.连续周期信号的频谱分析如果周期信号满足Dirichlet条件,就可以展开为傅里叶级数的形式,即0()jktkkxtce,0001()ejktkTcxtdtT式中,0T表示基波周期,002/T为基波周期,0()T表示任一个基波周期内的积分。上述两式定义为周期信号复指数形式的傅里叶级数,系数Ck称为(t)x的傅里叶级数。周期信号的傅里叶级数还可以由三角函数的线性组合来表示,即其中第一式中同频率的正弦项和余弦项可以合并,从而得到三角函数形式的傅里叶级数,即其中可见,任何满足Dirichlet条件的周期信号都可以表示成一组谐波关系的复指数函数或三角函数的叠加。一般来说周期信号表示为傅里叶级数时需要无限多项才能完全逼近原信号,但是在实际应用中经常采用有限项级数来替代,所选项数越多就越逼近原信号。2.连续非周期信号的频谱分析对于非周期连续时间信号,信号的傅里叶变换和傅里叶逆变换定义为,上述两式把信号的时域特性和频域特性联系起来,确定了非周期信号(t)x和频谱()X之间的关系。采用MATLAB可以方便的求取非周期连续时间信号的傅里叶变换。1)符号运算法MATLAB的符号数学工具箱提供了直接求解傅里叶变换和反变换的函数,fourier函数和ifourier函数,基本调用格式为,默认的时域变量为t,频域变量为。2)数值积分法除了采用符号运算的方法外,我们还可以利用MATLAB的quad函数,采用数值积分的方法来进行连续信号的频谱分析。quad函数是一个用来计算数值积分的函数。利用quad函数可以计算非周期连续时间信号的频谱。quad函数的一般调用格式为: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可以近似计算+0()(t)elim(k)jtjkkXxdtxe当x(t)为时限信号,且足够小,则上式可以演变为()(k)bjkkaXxe而式中求和部分又可以表示成一个行向量和一列向量的乘积((a1))ee()(k)=[x(a),x((a+1)),...,x(b)]...ejajbjkkajbXxe可以很方便地用MATLAB实现。3.离散周期时间信号的频域分析基波周期为N的周期序列x(n)可以用N个成谐波关系的复指数序列的加权和表示,即(2/N)n(n)jkkkNxce将周期序列表示成上式的形式,称为离散傅里叶级数,而系数Ck则称为离散傅里叶系数。离散傅里叶系数Ck可由下式确定。(2/N)n1(n)jkkkNcxeN傅里叶系数Ck也称x(n)的频谱系数,而且可以证明Ck是以N为周期的离散频率序列。这说明了周期的离散时间函数对应于频域为周期的离散频率。用周期N与傅里叶系数Ck的乘积来表示周期离散时间信号的频谱,即(2/N)n(k)(n)jkkkNXNcxeX(k)可以利用MATLAB提供的函数fft用来计算,调用格式为该函数返回X(k)一个周期内的值,其中x表示x(n)一个周期内的样本值。4.离散非周期时间的频域分析非周期序列x(n)可以表示成一组复指数序列的连续和21(n)(e)e2jjnxXd其中+(e)(n)ejjnXx第二式称为x(n)的离散时间傅里叶变换,两式确立了非周期离散时间信号x(n)及其离散时间傅里叶变换(e)jX之间的关系。(e)jX是连续频率的函数,称为频谱函数,且(e)jX是周期的连续频率函数,其周期为2。可见,非周期离散时间函数对应于频域中是一个连续的周期的频率函数。对于有限长的离散时间序列,上式可以表示为12112eeX(e)(n)=[x(n),x(n),...,x(n)]...eNjnjnnNjjnNnnjnxe可以很方便地利用MATLAB实现。三、实验内容1.已知x(t)是周期矩阵脉冲信号(1)计算该信号的傅里叶变换解:TAa0,)sin(21TkkAakk,0kb该信号的傅里叶级数为:)2cos(*)sin(2)(1tTkTkkATAtxk(2)利用MATLAB绘出由前N次谐波合成的信号波形,观察随着N的变化合成信号波形的变化规律解:设t0=t=-1.5:0.01:1.5;N=input('N=');A=input('A=');t0=input('t0=');T=input('T=');x=t0*A/T*ones(size(t));fork=1:1:Nx=x+2*A/(k*pi)*sin(t0*k*pi/T)*cos(k*2*pi/T*t);endplot(t,x);方波的信号波形如下:A=1T=1t0==0.5N=5-1.5-1-0.500.511.5-0.200.20.40.60.811.2A=1T=1t0==0.5N=10-1.5-1-0.500.511.5-0.200.20.40.60.811.2A=1T=1t0==0.5N=20-1.5-1-0.500.511.5-0.200.20.40.60.811.2(3)利用MATLAB绘出周期矩形脉冲信号的频谱,观察参数T和变化时对频谱波形的影响解:A=input('A=');T=input('T=');t0=input('t0=');N=10;k1=-N:-1;c1=A./(k1*pi).*sin(k1*pi*t0./T);c0=A*t0/T;k2=1:N;c2=A./(k2*pi).*sin(k2*pi*t0./T);cn=[c1c0c2];n=-N:N;subplot(2,1,1);stem(n,abs(cn),'filled');subplot(2,1,2);stem(n,angle(cn),'filled');方波信号的频谱如下:A=1T=1t0==0.5-10-8-6-4-2024681000.10.20.30.40.5-10-8-6-4-2024681001234A=1T=1t0==0.7-10-8-6-4-2024681000.20.40.60.8-10-8-6-4-2024681001234A=1T=1t0==0.9-10-8-6-4-2024681000.20.40.60.81-10-8-6-4-2024681001234T不变的时候,若t0=增大,方波信号的占空比增加,频谱的有效宽度下降。A=1T=2t0==0.5-10-8-6-4-2024681000.050.10.150.20.25-10-8-6-4-2024681001234A=1T=3t0==0.5-10-8-6-4-2024681000.050.10.150.2-10-8-6-4-2024681001234t0=不变的时候,若T增加,方波信号的占空比减小,频谱的有效宽度增加。综上,当方波信号的占空比T增加时,频谱的有效宽度下降,占空比T减小时,频谱的有效宽度增加。观察实验结果,思考如下问题:Q1—1什么事吉伯斯现象?产生吉伯斯现象的原因是什么?A1—1吉伯斯现象即为用傅里叶级数的分量之和拟合原信号时,若分量的个数增加,拟合效果越好。N越大,变化合成信号与原方波信号越接近。Q1—2以周期矩形脉冲信号为例,说明周期信号的频谱有什么特点A1—2周期脉冲信号经过傅里叶变换得到其频谱为离散的非周期图像。Q1—3周期矩形脉冲信号的有限频带宽度与信号的时域宽度之间有什么关系?A1—3时域宽度越大,则在其他参数不变的情况下,频域的有效宽度会减小。Q1—4随着矩形脉冲信号参数/T的变化,其频谱结构(如频谱包络形状、过零点、谱线间隔等)如何变化?A1—4脉冲信号参数T即代表该方波信号的占空比,当该信号参数变化时,频谱的包络形状不变,过零点性质不变。当占空比T变大时,谱线间隔变小。2.已知x(t)是矩形脉冲信号(1)求该信号的傅里叶变换解:信号的傅里叶变换为)2sin(*2)(wwAX(2)利用MATLAB绘出矩形脉冲信号的频谱,观察矩形脉冲宽度变化时对频谱波形的影响解:设t0=symstwt0=input('t0=');A=input('A=');X=int(A*exp(-j*w*t),t,-t0/2,t0/2);ezplot(X,[-6*pi,6*pi]);gridon;A=1t0==1-15-10-5051015-0.200.20.40.60.81w(2sin(w/2))/wA=1t0==5-15-10-5051015-0.8-0.6-0.4-0.200.20.40.60.8w(2sin((5w)/2))/wA=1t0==10-15-10-5051015-0.8-0.6-0.4-0.200.20.40.60.8w(2sin(5w))/w由图像可知,A不变的时候,越大,频谱越密(3)让矩形脉冲的面积始终等于1,改变矩形脉冲宽度,观察矩形脉冲信号时域波形和频谱随矩形脉冲宽度的变化趋势设t0=symstwt0=input('t0=');A=1/t0;X=int(A*exp(-j*w*t),t,-t0/2,t0/2);ezplot(X,[-6*pi,6*pi]);gridon;1*A=1-15-10-5051015-0.200.20.40.60.81w(2sin(w/2))/w1*A=5-15-10-5051015-0.15-0.1-0.0500.050.10.15w(2sin((5w)/2))/(5w)1*A=10-15-10-5051015-0.08-0.06-0.04-0.0200.020.040.060.08wsin(5w)/(5w)由图像可知,面积为1且不变时,越大,时域波形宽度越大而频域波形的有效宽度越小。Q2—1比较矩形脉冲信号和周期矩形脉冲信号的频谱,两者之间有何异同?A2—1矩形周期信号的频谱为离散信号,而矩形脉冲信号的频谱为连续信号。两者对应的频谱均为非周期信号。Q2—2根据矩形脉冲宽度变化时频谱的变化规律,说明信号的有效频带宽度与其时域宽度之间有什么关系。当脉冲宽度0,脉冲的面积始终等于1,其频谱有何特点?A2—2越大,时域波形宽度越大而频域波形的有效宽度越小。3.已知x(n)为周期方波序列,利用MATLAB绘制周期方波序列的频谱波形,改变参数N和1N的大小,观察频谱波形的变化趋势。观察实验结果,思考如下问题:Q3—1以周期方波序列为例,说明周期序列与连续周期信号的频谱有何异同Q3—2随着周期方波序列占空比的变化,其频谱如何随之变化?解:N1=input('N1=');N=input('N=');symsnk;F1=symsum(exp(-j*2*pi*k*n/N),n,-N1,N1);F=inline(F1);forn1=0:1:NX=F(n1);stem(n1,X,'filled');holdon;endN1=2N=10012345678910-2-1012345N1=3N=10012345678910-2-101234567NN1代表该周期方波序列的占空比,NN1越大,则其频谱越密。A3--1离散周期序列其频谱为周期