周期信号的分解与合成

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一周期信号的分解与合成

一、实验目的

1.用同时分析法观测50Hz 非正弦周期信号的频谱。

2.观测基波和其谐波的合成。

二、实验原理

1.一个非正弦周期函数可以用一系列频率成整数倍的正弦函数来表示,其中与非正弦具有相同频率的成分称为基波或一次谐波,其它成分则根据其频率为基波频率的2、3、4、...、n 等倍数分别称二次、三次、四次、...、n 次谐波,其幅度将随谐波次数的增加而减小,直至无穷小。

2.不同频率的谐波可以合成一个非正弦周期波,反过来,一个非正弦周期波也可以分解为无限个不同频率的谐波成分。

3.一个非正弦周期函数可用傅里叶级数来表示,级数各项系数之间的关系可用一各个频谱来表示,不同的非正弦周期函数具有不同的频谱图,各种不同波形及其傅氏级数表达式见表1-1

表1-1 各种不同波形的傅里叶级数表达式(下)

1.方波

2.三角波

3.半波

4.全波

5.矩形波

三、预习要求

在做实验前必须认真复习教材中关于周期性信号傅利叶级数分解的有关内容。

四、实验内容

1. 50HZ方波信号的频谱。

2. 周期矩形脉冲的频谱;脉冲宽度为1;周期为4;则基波角频率为0.5pi

3. 使用不同频率的谐波合成方波信号;注意观察随着谐波数的增加合成的波形发生的变化。

4. 使用不同频率的谐波合成矩形脉冲信号;注意观察随着谐波数的增加合成的波形。

五、思考题

1.什么样的周期性函数没有直流分量和余弦项?

附:

1. 50HZ方波信号的频谱。

>> w1= ; %基波角频率

>> n=0:1:30;

>>bn= ; %三角级数中系数bn,参考书p122

>> stem(n*w1,bn),grid on

>> xlabel('\omega(rad/s)'),ylabel('bn')

>> title('方波信号频谱分析图')

2. 周期矩形脉冲的频谱;脉冲宽度为1;周期为4;则基波角频率为0.5pi

tao= ;

w1= ;

n=-15:1:15;

fn= ; %矩形脉冲级数系数fn,参考书p130,用matlab自带函数sinc stem(n,fn),grid on

xlabel('n');

ylabel('Fn');

title('周期矩形脉冲的频谱图');

3. %使用不同频率的谐波合成方波信号;注意观察随着谐波数的增加合成的波形

%发生的变化。

t=-1:0.001:1;

omega=2*pi;

y=square(2*pi*t,50);

plot(t,y);grid on

xlabel('t');

ylabel('周期方波信号');

axis([-1 1 -1.5 1.5]);

n_max=[1 3 5 11 47];

N=length(n_max);

for k=1:N

n=1:2:n_max(k);

b=4./(pi*n);

x=b*sin(omega*n'*t);

figure;

plot(t,y)

hold on;

plot(t,x);

hold off;

xlabel('t');

ylabel('部分和的波形');

axis([-1 1 -1.5 1.5]),grid on

title(['最大谐波数=',num2str(n_max(k))])

end

4. %使用不同频率的谐波合成矩形脉冲信号;注意观察随着谐波数的增加合成的波形%发生的变化。

t=-2:0.001:2;

omega=pi;

y=rectpuls(t)+rectpuls(t-2)+rectpuls(t+2);

axis([-2.2 2.2 0 1.2]);

plot(t,y);grid on

xlabel('t');

ylabel('周期矩形脉冲信号');

axis([-2.2 2.2 -1.5 1.5]);

n_max=[1 3 5 11 47];

N=length(n_max);

for k=1:N

n=1:1:n_max(k);

a=2*sin(n*omega/2)./(n*pi);

x=a*cos(omega*n'*t);

x=x+1/2;

figure;

plot(t,y)

hold on;

plot(t,x);

hold off;

xlabel('t');

ylabel('部分和的波形');

axis([0 2 -1.5 1.5]),grid on

title(['最大谐波数=',num2str(n_max(k))])

end

相关文档
最新文档