常用信号的MATLAB表示.docx
- 文档编号:1618088
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:9
- 大小:33.04KB
常用信号的MATLAB表示.docx
《常用信号的MATLAB表示.docx》由会员分享,可在线阅读,更多相关《常用信号的MATLAB表示.docx(9页珍藏版)》请在冰点文库上搜索。
常用信号的MATLAB表示
Documentserialnumber【UU89WT-UU98YT-UU8CB-UUUT-UUT108】
常用信号的MATLAB表示
5常用信号的MATLAB表示
单位冲激函数
、单位冲激序列
示例7:
t=-5:
:
5;
y=(t==0);
subplot(121);
plot(t,y,'r');
n=-5:
5;
x=(n==0);
subplot(122);
stem(n,x);
?
?
?
?
图5
运行结果如图5所示。
程序说明:
(1)由n=-5:
5得到一个1×11数组n;而在x=(n==0)中,n==0是一个向量运算,即向量n中的每一个元素与0比较是否相等,其比较结果0或1放在x中。
这样得到的向量x也是1×11数组,且正好就是单位冲激序列
。
(2)在MATLAB中,任何向量x的下标是从1开始的,不能取零或负值,而x(n)中的时间变量n则不此受限制。
因此向量x的下标与时间变量n是两个概念,如本例中向量x(n)的下标是从1到11,而时间变量n是从-5到5。
所以必须用一个与向量x等长的定位时间变量n,以及向量x,才能完整地表示序列x(n)。
在信号的表示和运算中,这一点请务必注意;只有当序列x(n)的时间变量正好是从1开始时,才能省去时间变量n,因为此时向量的下标与时间变量相同。
(3)单位冲激函数
的实现方法实际上与单位冲激序列
是完全相同的,都是用序列表示。
只不过表示连续时间信号的序列中两相邻元素所对应的时间间隔更小,如本例中t的间隔为,而表示离散时间信号的序列中两相邻元素所对应的时间间隔一般为1。
由于单位冲激序列在信号与系统中经常使用,我们专门编制一个函数文件,在后面的实验部分直接调用该函数即可产生需要的波形。
%
function[x,n]=delta(n1,n2,k)
%产生冲激序列δ(n-k),其中n1<=n<=n2,n1<=k<=n2
ifnargin~=3
disp('输入不正确,输入参数要有三个!
');
return;
elseif((k
error('输入不正确,输入参数要应满足n1<=k<=n2!
')
end
n=n1:
n2;
x=((n-k)==0);
单位阶跃函数
、单位阶跃序列
只要将前面冲激函数(示例7)中的关系运算“==”改为“>=”,就可得到单位阶跃函数
、单位冲激序列
,如图6所示。
图6
我们编制了函数文件来生成单位阶跃序列
。
function[x,n]=stepseq(n1,n2,n0)
%产生序列u(n-n0),其中n1<=n<=n2,n1<=n0<=n2
ifnargin~=3
disp('输入不正确,输入参数要有三个!
');
return;
elseif((n0
error('输入不正确,输入参数要应满足n1<=k<=n2!
')
end
n=n1:
n2;
x=((n-n0)>=0);
示例8:
绘图表示
(1)门函数;
(2)序列
。
t=-3:
:
3;
z1=((t+1)>=0);
z2=((t-1)>=0);
g=z1-z2;%门函数
figure;
subplot(221)
plot(t,g,'r');
axis([-330])
x1=stepseq(-5,10,-3);%调用函数stepseq
x2=stepseq(-5,10,5);%调用函数stepseq
x=x1-x2;
n=-5:
10;
subplot(222)
stem(n,x);
axis([-5,10,0,])
运行结果如图7所示。
图7
其他典型的信号
1.实指数信号
其MATLAB实现为:
n=n1:
n2;x=a.^n;
1.复指数信号
其MATLAB实现为:
n=n1:
n2;x=exp(sigma+jw)*n;
1.正(余)弦信号
其MATLAB实现为:
n=n1:
n2;x=cos(w*n+sita)
工具箱中的信号产生函数
利用MATLAB信号处理工具箱提供的一些函数,可以很方便地产生三角波、方波等函数波形。
1.周期性三角波或锯齿波函数sawtooth
调用格式为:
x=sawtooth(t,width)
功能:
产生一个周期为2π、幅度在-1到+1之间的周期性三角波信号。
其中width表示最大幅度出现的位置:
即在一个周期内,信号从t=0到width×2π时函数值从-1到+1线性增加,而从width×2π到2π又是从+1到-1线性下降。
width取值在0~1之间。
若x=sawtooth(Ωt,width),则对应的周期为2π/Ω。
示例9:
产生周期为的三角波,width取值分别为0、1、。
td=1/100000;%td为时间间隔
t=0:
td:
1;
x1=sawtooth(2*pi*5*t,0);
x2=sawtooth(2*pi*5*t,1);
x3=sawtooth(2*pi*5*t,;
subplot(311);plot(t,x1);
subplot(312);plot(t,x2);
subplot(313);plot(t,x3);
运行结果如图8所示。
图8
1.周期性方波信号square
调用格式为:
x=square(t,duty)
功能:
产生一个周期为2π、幅度为±1的周期性方波信号。
其中duty表示占空比,即在信号的一个周期中正值所占的百分比。
例如产生频率为40Hz、占空比为75%的周期性方波所调用的语句为
x=square(2*pi*40*t,75);
1.(非周期)三角波脉冲信号tripuls
调用格式为:
x=tripuls(t,width,skew)
功能:
产生一个最大幅度为1、宽度为width、斜率为skew的三角脉冲信号。
该函数横坐标范围由向量t决定,其三角波形是以t=0为中心向左右各展开width/2的范围;斜率skew在-1到+1之间取值,它决定了最大幅度1所对应的横坐标位置:
width/2×skew。
示例10:
仔细观察由下面代码产生的图9中3个三角波信号之间的区别,自己对tripuls函数的使用做一个总结。
t=-3:
:
3;
x1=tripuls(t,4,0);
subplot(131);
plot(t,x1);
axis([-4401]);
grid
t=-6:
:
6;
x2=tripuls(t,4,;
subplot(132);
plot(t,x2);
axis([-4401]);
grid
x3=tripuls(t+2,4,;
subplot(133);
plot(t,x3);
axis([-4401]);
grid
图9
1.(非周期)矩形脉冲信号rectpuls
调用格式为:
x=rectpuls(t,width)
功能:
产生一个幅度为1、宽度为width、以t=0为中心左右对称的矩形波信号。
该函数横坐标范围由向量t决定,其矩形波形是以t=0为中心向左右各展开width/2的范围。
width的默认值为1。
示例11:
生成幅度为2,宽度T=4、中心在t=0的矩形波x(t)以及x(t-T/2).
t=-4:
:
4;
T=4;
x1=2*rectpuls(t,T);
subplot(121);
plot(t,x1);
axis([-460])
grid;
x2=2*rectpuls(t-T/2,T);
subplot(122);
plot(t,x2);
axis([-460])
grid;
运行结果如图10所示。
图10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 信号 MATLAB 表示