信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx

上传人:b****7 文档编号:26121065 上传时间:2023-06-17 格式:DOCX 页数:11 大小:257.71KB
下载 相关 举报
信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx_第1页
第1页 / 共11页
信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx_第2页
第2页 / 共11页
信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx_第3页
第3页 / 共11页
信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx_第4页
第4页 / 共11页
信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx

《信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx》由会员分享,可在线阅读,更多相关《信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx(11页珍藏版)》请在冰豆网上搜索。

信号与系统课程设计用MATLAB模拟方波信号的分解与合成.docx

信号与系统课程设计用MATLAB模拟方波信号的分解与合成

MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。

MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。

除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。

尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。

另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

研究型,参数functionrectexpd(T1,T0,m)

%方波信号分解与合成

%T1:

方波信号区间为(-T1/2,T1/2)

%T0:

方波信号周期

%m:

傅里叶级数展开项次数

设计期望:

希望通过这次课程设计能够更深入的理解信号的分解与合成的原理,能够在实验的过程中对matlab软件有更多的了解与运用,锻炼自己对matlab仿真系统的掌控。

希望实验结束后能熟练的运用matlab软件模拟各种实验与仿真模拟系统。

 

二、设计原理

1.任何信号都是由各种不同频率、幅度和初相的正弦波叠加而成的。

由周期信号的傅里叶级数展开式可知,各次谐波的频率为基波频率的整数倍。

而非周期信号包含了从零到无穷大的所有频率成分,每一频率成分的幅度均趋向无限小,但其相对大小是不同的。

设有周期信号为:

f(t)=f(t+

)(n=0,1,2,…)

式中T为信号的重复周期;t为时间变量

由信号分析理论可知,若f(t)满足狄义赫利条件,则可将它展开为傅里叶级数,即:

f(t)=

+

式中各项系数为:

当f(t)为一周期性方波(幅度为Um),其傅里叶级数展开为;

由以上分析可知,如果已知周期信号f(t),就可以求出不同频率的正弦分量。

反之,如果已知一系列不同频率的正弦分量,则可在一定幅度关系和一定相位关系的要求下,合成一个周期信号。

2.通过一个选频网络可以将电信号中所包含的某一频率成分提取出来。

将周期信号加到并联的有源带通滤波器的输入端,如果选用5个通过频率分别为ω1到5ω1的有源带通滤波器,则在各滤波器的输出端可以看到被分解的周期信号的基波到5次谐波。

将上述各次谐波通过一个同向加法器,这时在输出端得到的是这5个谐波分量的合成信号,因为没有高于5次以上的各次谐波分量,所以合成波形和分解前的信号波形相比,会有失真。

而本次课程设计就是基于MATLAB的通信系统仿真,用软件模拟出信号的分解与合成的过程。

 

三、设计内容

1.用MATLAB实现方波信号的分解与合成

2.观察各次谐波叠加后的波形,与原方波波形进行对照比较

对周期为T0的方波信号进行傅里叶级数展开,信号可表示为

起傅里叶级数系数为

=

由于方波信号x(t)为实值周期函数,且为偶函数,所以傅里叶级数

为实数。

由此得到三角函数形式的傅里叶级数展开的系数为

周期信号的三角函数形式的傅里叶展开为

绘制离散幅度谱和谐波叠加的MATLAB实现如下:

functionrectexpd(T1,T0,m)

%方波信号分解与合成

%T1:

方波信号区间为(-T1/2,T1/2)

%T0:

方波信号周期

%m:

傅里叶级数展开项次数

t1=-T1/2:

0.01:

T1/2;

t2=T1/2:

0.01:

(T0-T1/2);

t=[(t1-T0)';(t2-T0)';t1';t2';(t1+T0)'];

n1=length(t1);

n2=length(t2);%根据方波信号函数周期,计算点数

f=[ones(n1,1);zeros(n2,1);ones(n1,1);zeros(n2,1);ones(n1,1)];%构造方波信号

y=zeros(m+1,length(t));

y(m+1,:

)=f;

figure

(1);

plot(t,y(m+1,:

));%绘制方波信号

axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,0,1.2]);

set(gca,'XTick',[-T0,-T1/2,T1/2,T0]);

set(gca,'XTickLabel',{'-T0','-T1/2','T1/2','T0'});

title('方波信号');

grid;

a=T1/T0;

pause;%绘制离散幅度谱

freg=(-20:

1:

20);

mag=abs(a*sinc(a*freg));

stem(freg,mag);

x=a*ones(size(t));

fork=1:

m%循环显示谐波叠加图形

pause;

x=x+2*a*sinc(a*k)*cos(2*pi*t*k/T0);

y(k,:

)=x;%计算叠加和

plot(t,y(m+1,:

));

holdon;

plot(t,y(k,:

));%绘制各次叠加波形

holdoff;

grid;

axis([-(T0+T1/2)-0.5,(T0+T1/2)+0.5,-0.5,1.5]);

title(strcat(num2str(k),'次谐波叠加'));

xlabel('t');

end

pause;

plot(t,y(1:

m+1,:

));

grid;

axis([-T0/2,T0/2,-0.5,1.5]);

title('各次谐波叠加');

xlabel('t');

 

四、实验结果

方波的离散频谱

方波只含有奇次谐波,1、3、5、7、9各次谐波叠加后的波形逐渐接近方波,但还是有失真,可以看出方波是由无数正弦波合成的,叠加的正弦波越多,波形越接近方波。

 

五、小结

在进行课程设计过程中,我们进一步加深了对信号分解与合成的理解,充分运用所学知识和MATLAB实现设计目的,但依然有所欠缺,在理论运用到实际时,对信号分解与合成的掌握不够彻底,运用不够娴熟。

 

六、致谢

感谢在设计过程中帮助过我们的老师、同学,感谢在设计过程中尽心尽力的团队成员。

 

七、参考文献

1.赵静,张瑾,高新科.基于MATLAB的通信系统仿真.北京航空航天大学出版社,2007

2.吴祖国,孙学平,王霞,张保华.电路、信号与系统实验教程.武汉大学出版社,2014

3.郑君里,应启珩,杨为理.信号与系统.高等教育出版社,2011

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1