matlab画出周期为2的方波图形 傅立叶级数_MATLAB信号处理(一)

这篇博客主要介绍如何使用MATLAB绘制各种信号,包括单位冲激信号、单位阶跃信号、正弦信号、指数信号、矩形信号、方波信号和抽样信号。通过实例代码展示了信号的定义和图形,特别是重点讲解了如何绘制周期为2的方波,并提及傅立叶级数在信号处理中的应用。
摘要由CSDN通过智能技术生成

dbe94d1a8f29a2164e37913206681a40.png

再开一个系列,这个系列主要展示一下MATLAB画信号。


众所周知,MATLAB是一款功能强大的科学计算软件。

我就不做具体介绍了,基本操作也略过,这些网上一搜一大把。


安装包网上有很多,当然你不想去找的话可以用我的 R2018B 版本的:

链接:MATLAB2018b 提取码:o3xp
该资源仅供学习之用。


1. 单位冲激信号

单位冲激信号(unit impulse signal)是最基本的信号,定义如下:


代码:
k = -10 : 10;
yd = (k == 0);
stem(k, yd);

xlabel('k');
ylabel('f[k]');
title('unit impulse signal');

图形:

fb21c4c9e78e8a4e41e16056284869bb.png

stem() 函数是用来画离散信号图的,第一个参数表示横轴刻度, 第二个参数表示幅度。与之对应的 plot() 函数是用来画连续信号图的,马上就会看到。


2. 单位阶跃信号

单位阶跃信号(unit step signal)也是一个很重要的信号,定义如下:

代码:

t = -10 : 0.01 : 10;
ya = stepfun(t, 0);
plot(t, ya);

hold on;

k = -10 : 10;
yd = stepfun(k, 0);
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('unit step signal');

图形:

a84192720234461a3e46940987b8559e.png

这里我把两张图画在一起了,蓝色的代表连续信号,橙色的代表离散信号。代码中 t 表示连续时间,k 表示离散取样,下同。


3. 正弦信号

正弦或余弦类信号这里统称为正弦信号(sinusoidal signal),因为他们只是相位差

的关系。定义如下:

代码:

t = -10 : 0.01 : 10;
ya = sin(t);
plot(t, ya);

hold on;

k = -10 : 10;
yd = sin(k);
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('sinusoidal signal');

图形:

38169394d741d21c442d6750f60d93f9.png

这里提一下,蓝色的连续信号其实并不“连续”,因为 plot() 函数其实只是把那些点连成了一条曲线而已。MATLAB无法画出真正的连续信号图,本质是因为冯·诺依曼结构的计算机是一个离散的系统。


4. 指数信号

指数信号(exponential signal)几乎是最常用的信号了,各种变换中随处可见。定义如下:

代码:

a = -0.5;

t = 0 : 0.01 : 10;
ya = exp(a * t);
plot(t, ya);

hold on;

k = 0 : 10;
yd = a .^ k;
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('exponential signal');

图形:

397cc996f2b994d177d84aecc75bbea2.png

可以看到,他们并没有重合,看代码就知道,因为指数信号在连续系统和离散系统中定义不一样。


5. 矩形信号

矩形信号(rectangular signal)也是一个基本信号,定义如下:

代码:

t = -1 : 0.01 : 1;
ya = rectpuls(t);
plot(t, ya);

hold on;

k = -1 : 1;
yd = rectpuls(k);
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('rectangular signal');

图形:

1480fab475b5c8c1de2adfa6d98d2921.png

当宽度为 1 的单位矩形信号进行 T = 1 的抽样时得到的离散信号是单位冲激信号……


6. 方波信号

方波信号(square wave signal)可看作是周期性的矩形信号。

代码:

w = 1;

t = -10 : 0.01 : 10;
ya = square(w * t);
plot(t, ya);

hold on;

k = -10 : 10;
yd = square(w * k);
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('square wave signal');

图形:

3e20fcbf4e29b13b22248d5392780909.png

7. 抽样信号

抽样信号(sampling signal)定义如下:

代码:

t = -10 : 0.01 : 10;
ya = sinc(t / pi);
plot(t, ya);

hold on;

k = -10 : 10;
yd = sinc(k / pi);
stem(k, yd);

xlabel('t / k');
ylabel('f(t) / f[k]');
title('sampling signal');

图形:

b03ee2380a68e369f9b4fd721ecd03c4.png

在MATLAB中抽样信号是 sinc() 函数,定义为:

,故系数要除以一个

  • 5
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值