视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
连续时间信号的频域分析
2025-09-23 22:15:40 责编:小OO
文档
   实验二  连续时间信号的频域分析

实验内容:

1、周期信号的傅里叶级数与GIBBS现象

给定如一个周期信号如图所示:

Q2-1: 分别手工计算x1(t) 的傅里叶级数的系数。

信号x1(t) 在其主周期内的数学表达式为:

计算x1(t) 的傅里叶级数的系数的计算过程如下:

    解:首先,我们根据前面所给出的公式,计算该信号的傅里叶级数的系数。

   ()

在MATLAB命令窗口,依次键入:

>> k = -10:10;

>> ak = sin(0.2*(k+eps)*pi)./((k+eps)*pi)  

 用MATLAB帮助你计算出你手工计算的傅里叶级数的系数ak从-10到10共21个系数。

从命令窗口上抄写x1(t)的21个系数如下:

Columns 1 through 4

0.0000    -0.0208    -0.0378   -0.0432

Columns 5 through 8

-0.0312   0.0000   0.0468   0.1009

Columns 9 through 12

0.1514    0.1871   0.2000   0.1871

Columns 13 through 16

0.1514   0.1009   0.0468    0.0000

Columns 17 through 20

-0.0312   -0.0432   -0.0378   -0.0208

Columns21

0.00000

Q2-2:仿照程序Program2_1,编写程序Q2_2,以计算x1(t)的傅里叶级数的系数。

程序Q2_2如下:

>> %Q2-2

>> clear,close all,

>> T=2;dt=0.00001;t=-2:dt:2;

>> x1=u(t+0.2)-u(t-0.2-dt);

>> x=0;

>> for m=-1:1

x=x+u(t+0.2-m*T)-u(t-0.2-m*T-dt);

end

>> w0=2*pi/T;

>> N=10;

>> L=2*N+1;

>> for k=-N:N;

ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt;

end

>> phi=angle(ak);

执行程序Q2_2所得到的x1(t)的傅里叶级数的ak从-10到10共21个系数如下:

Columns 1 through 3

0.0000 + 0.0000i  -0.0208 - 0.0000i  -0.0378 - 0.0000i

Columns 4 through 6

 -0.0433 - 0.0000i  -0.0312 - 0.0000i  -0.0000 - 0.0000i

Columns 7 through 9

0.0468 + 0.0000i   0.1009 + 0.0000i   0.1514 + 0.0000i

Columns 10 through 12

0.1871 + 0.0000i   0.2000             0.1871 - 0.0000i

Columns 13 through 15

0.1514 - 0.0000i   0.1009 - 0.0000i   0.0468 - 0.0000i

 Columns 16 through 18

 -0.0000 + 0.0000i  -0.0312 + 0.0000i  -0.0433 + 0.0000i

Columns 19 through 21

-0.0378 + 0.0000i  -0.0208 + 0.0000i   0.0000 - 0.0000i

与你手工计算的ak相比较,是否相同,如有不同,是何原因造成的?

答:手工计算与编程计算相比不同,有点误差。原因可能是:手工计算时经常采用四舍五入法取近似值,所以可能造成一定误差。

Q2-3:仿照程序Program2_2,编写程序Q2_3,计算并绘制出原始信号x1(t) 的波形图,用有限项级数合成的y1(t) 的波形图,以及x1(t) 的幅度频谱和相位频谱的谱线图。

编写程序Q2_3如下:

>> %Q2-3

>> clear,close all,

>> T=2;dt=0.00001;t=-2:dt:2;

>> x1=u(t+0.2)-u(t-0.2-dt);x=0;

>> for m=-1:1

x=x+u(t+0.2-m*T)-u(t-0.2-m*T-dt);

end

>> w0=2*pi/T;N=10; L=2*N+1;

>> for k=-N:1:N;

ak(N+1+k)=(1/T)*x1*exp(-j*k*w0*t')*dt;

end

>> phi=angle(ak);

>> y=0;for q=1:L;

y=y+ak(q)*exp(j*(-(L-1)/2+q-1)*2*pi*t/T);

end;

>> subplot(221),

>> plot(t,x),title('The original signal x(t)'),axis([-2,2,-0.2,1.2]),

> >subplot(223),

>> plot(t,y),title('The synthesis signal y(t)'),

>> axis([-2,2,-0.2,1.2]),xlabel('Time t'), 

>> subplot(222)

>>k=-N:N;stem(k,abs(ak),'k.'),

title('The amplitude |ak| of x(t)'),axis([-N,N,-0.1,0.6])

>> subplot(224)

>>stem(k,phi,'r.'),

title('The phase phi(k) of x(t)'),axis([-N,N,-2,2]),xlabel('Index k')

执行程序Q2_3,输入N = 10所得到的图形如下:

反复执行程序Q2_3,输入不同的N值,观察合成的信号波形中,是否会产生Gibbs现象?为什么?; 

答:会产生。可能是因为图像数据在各个边界不连续造成的。

Q2-4:回答如下问题:

1、从信号分解的角度,谈谈你对周期信号的傅里叶级数的理解。

答:并非任意的周期信号都能进行傅里叶级数的展开,被展开的函数必须满足狄里赫利条件:在一周期内,如果有间断点存在,则间断点的数目应是有限个;在一周期内,极大值和极小值的数目应是有限个;在一周期内,信号时绝对可积的。

一般来说,任意周期信号都可以分解为无限多项傅里叶级数,但在实际应用中,经常采用有限项来代替无限项级数。所以,所选项数越多,有限项级数愈逼近原函数,也就是其方均误差愈小。

2、从信号分解的角度,谈谈你对傅里叶变换及其物理意义的理解,谈谈你对信号频谱概念的理解。

答:傅里叶变换是把各种形式的信号用正弦信号表示,因此非正弦信号进行傅里叶变换,会得到与原信号频率不同的成分——都是原信号频率的整数倍。这些高频信号是用来修饰频率与原信号相同的正弦信号,使之趋近于原信号;而其物理意义可以理解为:傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处理、加工。最后还可以利用傅立叶反变换将这些频域信号转换成时域信号;对一个时域信号进行傅里叶变换,就可以得到的信号的频谱,信号的频谱由两部分构成:幅度谱和相位谱。 下载本文

显示全文
专题