matlab实验十--周期函数
信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。
2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。
二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。
它不仅有强大的计算功能,还有各种各样的画图功能。
这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。
我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。
下面介绍几个基本函数。
(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。
调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。
调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。
当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。
(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。
matlab信号与系统实验报告

实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、 利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
matlab软件仿真实验(信号与系统)(1)

matlab软件仿真实验(信号与系统)(1)《信号与系统实验报告》学院:信息科学与⼯程学院专业:物联⽹⼯程姓名:学号:⽬录实验⼀、MATLAB 基本应⽤实验⼆信号的时域表⽰实验三、连续信号卷积实验四、典型周期信号的频谱表⽰实验五、傅⽴叶变换性质研究实验六、抽样定理与信号恢复实验⼀MATLAB 基本应⽤⼀、实验⽬的:学习MATLAB的基本⽤法,了解 MATLAB 的⽬录结构和基本功能以及MATLAB在信号与系统中的应⽤。
⼆、实验内容:例⼀已知x的取值范围,画出y=sin(x)的图型。
x=0:0.05:4*pi;y=sin(x);plot(y)例⼆计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,⽤subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表⽰1、指数信号:指数信号Ae at在MATLAB中可⽤exp函数表⽰,其调⽤形式为:y=A*exp(a*t) (例取 A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;2、正弦信号:正弦信号Acos(w0t+?)和Asin(w0t+?)分别由函数cos和sin表⽰,其调⽤形式为:A*cos(w0t+phi) ;A*sin(w0t+phi) (例取A=1,w0=2π,?=π/6) 参考程序:A=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);grid on ;3、抽样函数:抽样函数Sa(t)在MATLAB中⽤sinc函数表⽰,其定义为:sinc(t)=sin(πt)/( πt)其调⽤形式为:y=sinc(t)参考程序:t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;4、矩形脉冲信号:在MATLAB中⽤rectpuls函数来表⽰,其调⽤形式为:y=rectpuls(t,width),⽤以产⽣⼀个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中⼼向左右各展开width/2的范围,width的默认值为1。
MATLAB实训实验

2015/2016学年下学期《信号与系统》实验报告班级:学号:学生姓名:指导教师:2016年3月8 日实验一 基本函数仿真实验项目: 基本函数仿真实验时间: 2016年 3 月 8 日 星期 二 第 34 节课 实验地点: 1501实验室 实验目的:1、 学习使用MATLAB 软件2、 学习MATLAB 中各种函数,并应用函数分析3、 对MATALB 的进一步的学习了解,熟练掌握MATALB 的各种操纵,学会使用MATALB 解决复杂的运算并学会用MATALB 解决平时学习4、 了解MATALB 的数值运算5、 了解MATALB 的基本函数和命令6、 学习掌握MATALB 有关命令 实验内容: 1、(1) 题目:应用MA TLAB 方法实现单位阶跃信号和矩形脉冲。
(2) 程序清单(源程序)解:对于阶跃函数,MATLAB 中有专门的stairs 绘图命令。
例如,实现)(t 和矩形脉冲的程序如下:t=-1:2; % 定义时间范围向量t x=(t>=0);subplot(1,2,1),stairs(t,x);axis([-1,2,-0.1,1.2]); grid on % 绘制单位阶跃信号波形 t=-1:0.001:1; % 定义时间范围向量t g=(t>=(-1/2))-(t>=(1/2));subplot(1,2,2),stairs(t,g);axis([-1,1,-0.1,1.2]); grid on % 绘制矩形脉冲波形(3) 运行结果(截图)00.20.40.60.8100.20.40.60.81图1 例1图(4)函数解析Subplot:使用方法:subplot (m,n,p )或者subplot (m n p )。
是将多个图画到一个平面上的工具。
其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。
MATLAB实验报告

仿真程序:
I. 傅里叶正变换的m函数
II. 傅里叶反变换的m函数
图像:
正变换图像:
反变换图像:
二、能量信号的能量谱密度仿真
【例二】(矩形脉冲的能量谱密度) 宽度为 的矩形脉冲的表达式为
g(t)=
其能量谱密度为
Eg(f)= =
参考仿真程序:
图像:
图像:
三、信号通过线性系统
若线性系统的输入是x(t),输出是y(t),则输出与输入的关系可以用卷积来描述y(t)= (式4),其中h(t)是系统的单位冲激相应。
在离散时间和截短的情况下,式4对应到离散卷积
仿真中更为简便的做法是借助频域关系来实现滤波
Y(y)=H(f)X(f)
【例三】(矩形脉冲通过巴特沃斯低通滤波器) 将一个宽为 =1ms的矩形脉冲通过一个3dB带宽为500Hz的6阶巴特沃思滤波器。矩形脉冲的主瓣带宽为1khz。仿真中设置的时间分辨率为1/32ms,频谱分辨率为1/64khz,抽样率为fs=32khz,总观察时间为T=64ms。参考仿真程序:图像:心得体会:
通过此次仿真实验实验中,我学会了如何使用MATLAB建立脚本文件实现函数之间的调用
也学到了通信原理中周期函数的频谱使用MATLAB仿真实现,收获了傅里叶正变换与傅里叶反变换图像十分清晰可见,有助于我对傅里叶变换更加深入地学习。有信号能量密度的仿真图像可知傅里叶反变换与傅里叶正变换是不同的。信号通过线性系统是傅里叶正变换为不规则的频谱,傅里叶反变换时为规则的矩形谱。不管怎么样自己动手做出来的收获就是不一样。
一、周期信号的频谱仿真
虽然Matlab中有许多现成的频域分析工具,如fft、ifft等,但对通信原理的学习者来说,直接进行傅里叶变换更为直观。为此,我们用Matlab提供的函数为基础,编制了两个m函数t2f.m及f2t.m。t2f是傅里叶正变换,对应
MATLAB实验指导书

实验一MATLAB集成环境使用与运算基础一、实验目的1.熟悉启动和退出MA TLAB的方法。
2.熟悉MATLAB命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验原理1.MA TLAB的启动MATLAB系统的启动有三种常见方法:1)使用Windows“开始”菜单。
2)运行MATLAB系统启动程序MA TLAB.exe。
3)利用快捷方式。
2.MA TLAB系统的退出要退出MA TLAB系统,也有三种常见方法:1)在MA TLAB主窗口File菜单中选择Exit MATLAB 命令。
2)在MA TLAB命令窗口输入Exit或Quit命令。
3)单击MATLAB主窗口的“关闭”按钮。
3.MA TLAB帮助窗口进入帮助窗口可以通过以下三种方法:1)单击MATLAB主窗口工具栏中的help按钮。
2)在命令窗口中输入helpwin、helpdesk或doc。
3)选择help菜单中的“MA TLAB help”选项。
4.MA TLAB帮助命令1)help命令在MA TLAB命令窗口直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。
同样,可以通过help加函数名来显示该函数的帮助说明。
2)lookfor命令help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松。
3)模糊查询用户只要输入命令的前几个字母,然后按tab键,系统就会列出所有以这几个字母开头的命令。
5.赋值语句1)变量=表达式2)表达式6.矩阵的建立1)直接输入法:将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开。
2)利用m 文件建立矩阵3)利用冒号表达式建立一个向量 e1:e2:e3 4) 利用linspace 函数产生行向量 linspace(a,b,n).三、实验仪器和设备1.计算机1台。
周期函数解读

实验十 周期函数【实验目的】1. 了解几周期函数的基本概念。
2. 了解周期函数经过四则运算、复合运算、求导运算、积分运算后的周期性。
3. 学习掌握MATLAB 软件有关的命令。
【实验内容】从图形上观测六个三角函数的周期性【实验准备】1.周期函数的基本概念函数)(x f 是以T 为周期的周期函数是指对任何x ,有)()(x f T x f =+.使得上式成立的最小正数T 称为函数的最小正周期。
2.周期函数的四则运算若)(),(x g x f 都是周期函数,一般地,他们的和(差)积商都未必再是周期函数。
例如][)(x x x f -=在),(+∞-∞以11=T 为最小正周期,x x g sin )(=在),(+∞-∞以π=2T 为最小正周期,但)()(x g x f +并非周期函数。
事实上,对任意实数0>a ,总有.0)0()0()()(=+>+g f a g a f但我们有如下具有一般意义的结论:若)(),(x g x f 都是周期函数,具有正周期21,T T ,且21T T 为有理数,则 )0)(()()(),()(),()(≠±x g x g x f x g x f x g x f 仍是周期函数。
事实上,设q p qpT T ,,21=是互质的自然数,则可以证明21pT qT T ==是)(),(x g x f 的周期,从而是经过四则运算后函数的周期。
3.周期函数的最小正周期一般说来,周期函数未必有最小正周期。
例如,常值函数c x f =)(显然是没有最小正周期的,事实上,容易证明任何实数T 都是)(x f 的周期。
然而,非常值的周期函数也未必有最小正周期,例如⎩⎨⎧-=是理数,是有理数x x x g 1,1)( 由于有理数与有理数(无理数)之和必为有理数(无理数),因此任何一个有理数都是)(x g 的周期,显然)(x g 没有最小正周期。
但我们有如下具有普遍意义的结论:非常值函数M x x f y ∈=),(,如果在M 的某聚点处有一单边有限或无限的极限,则)(x f 必有最小正周期。
MATLAB自相关编写及周期函数分析

MATLAB自相关编写及周期函数分析自相关是一种描述信号之间相似性的统计方法,主要用于分析时间序列数据。
在MATLAB中,可以使用`xcorr`函数来计算自相关。
周期函数是一种以固定时间间隔重复的函数,可以通过分析函数的振幅、相位和频率来研究其周期性。
下面我将介绍如何在MATLAB中编写自相关程序,并进行周期函数的分析。
首先,我们来编写一个自相关的程序。
考虑一个包含2个正弦波的信号,我们可以使用`sin`函数生成这个信号。
程序的步骤如下:1.定义一个时间向量t,表示信号的采样时间点。
例如,可以设置t 从0到10,采样间隔为0.01```t=0:0.01:10;```2. 定义两个正弦波信号,分别表示频率为2Hz和5Hz的信号。
可以使用`sin`函数生成这些信号。
```x1 = sin(2*pi*2*t);x2 = sin(2*pi*5*t);```3.将这两个信号相加,得到包含两个正弦波的信号。
```x=x1+x2;```4. 使用`xcorr`函数计算信号的自相关。
```[R, lags] = xcorr(x);```其中,`R`表示自相关系数,`lags`表示时间延迟。
接下来,我们将进行周期函数的分析。
考虑一个三角波函数,其周期为T,可以使用以下方式来表示:```t=0:0.01:10;T=2;f = sawtooth(2*pi/T*t);plot(t, f);```这段代码中,`sawtooth`函数用于生成三角波形,`plot`函数用于绘制信号。
为了了解周期函数的频域特性,我们可以使用傅里叶变换来获得其频谱。
在MATLAB中,可以使用`fft`函数进行快速傅里叶变换,并使用`abs`函数取绝对值得到频谱幅值。
代码如下:```Fs=100;%采样率N = length(f); % 信号长度frequencies = 0:Fs/N:Fs/2; % 频率向量transformed = fft(f); % 快速傅里叶变换amplitude = abs(transformed(1:N/2+1)); % 幅值谱plot(frequencies, amplitude);```这段代码中,`Fs`表示采样率,`N`表示信号长度,`frequencies`表示频率向量,`transformed`表示傅里叶变换结果,`amplitude`表示频谱幅值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验十周期函数
【实验目的】
1.了解周期函数的基本概念。
2.了解周期函数经过四则运算、复合运算、求导运算、积分运算后的周期性。
3.学习、掌握MATLAB软件有关命令。
【实验内容】
从图形上观察六个三角函数的周期性。
【实验准备】
1.周期函数的基本概念
函数()
f x是以T为周期的周期函数是指对任何x,有
+=
()()
f x T f x
使得上式成立的最小正数T称为函数的最小正周期。
2.周期函数的四则运算
3.周期函数的最小正周期
【实验重点】
1、周期函数的四则运算与复合
2、周期函数的求导与积分运算
【实验难点】
1、最小正周期的确定
【实验方法与步骤】
练习 1 图形上观察六个三角函数
sinx,cosx,tanx,cotx,secx,cscx的周期性。
绘制正弦函数y=sinx 在区间[-6π,6π]的图形,相应的MATLAB代码为
>>x=-6*pi:2*pi/30:6*pi;
>>y=sin(x);
>>plot(x,y);
>>xlabel('x');ylabel('y');
运行结果见图10.1。
从图形中可以看出y=sinx为周期函数,最小正周期T≈6。
实际上,最小正周期T=2π=6.28…。
同样,可以画出余弦函数y=cosx的图形,见图10.2,其最小正周期也为T=2π。
画正切函数y=tanx 的图形时,要注意函数在,0,1,2,...2x k k π
π=+=±±是不连续,所以我们只能分别绘出函数在区间(,),0,1,2,...22k k k ππ
ππ-+=±±的图形。
相应的MATLAB 代码为 >>x=-1.5:0.01:1.5;
>>x1=x-pi;x2=x+pi;
>>y=tan(x);y1=tan(x1);y2=tan(x2);
>>plot(x,y,x1,y1,x2,y2);
>>xlabel('x');ylabel('y');
运行结果见图10.3。
从图
10.3可看出,函数y=tanx 在每个区间(,),0,1,2, (22)
k k k ππππ-+=±±的图形是相同的,故其最小正周期为π。
同样,注意到余切函数y=cotx 在,0,1,2,...x k k π==±±上不连续,可画出函数在各个区间(,(1)),0,1,2,...k k k ππ+=±±上的图形,这个函数是以π为最小正周期的奇函数。
图10.4 正割函数1sec cos
y x ==
在,0,1,2,...x k k π==±±上没有定义,它是个无界的偶函数。
图10.5 余割函数1c sin
y cs x ==在,0,1,2,...x k k π==±±上没有意义,它是个无界的奇函数,且是以2π为最小正周期的周期函数。
图10.6
练习2研究函数sin2sin23sin3
=++的周期性。
在区间[-6π,
y x x x
6π]绘图,相应的MATLAB代码为
>>x=-6*pi:2*pi/30:6*pi;
>>y=sin(x)+2*sin(2*x)+3*sin(3*x);
>>plot(x,y);
>>xlabel('x');ylabel('y');
从图10.7可见,函数sin2sin23sin3
y x x x
=++仍然为周期函数,最小正周期T≈6。
【练习与思考】
1. 画图研究下列函数的周期性,并从理论上证明。
(1)sin2x;
(2)cos2cos23cos34cos4
x x x x
+++
(3)sin(cos(sin()));
++
x x x
(4)sin(sin(sin()));
++
x x x
(5)sin(2cos(sin()));
++
x x x。