【DPS】绘制常见离散信号
一、单位脉冲序列
%%绘制常见信号
%单位脉冲序列
n0 = 0;
n = zeros(9);
x = (n - n0)==0;
stem(n,x,'filled','magenta');
axis([-9,9,-1.2,1.2])
title('单位脉冲序列')
二、单位阶跃序列
%% 单位阶跃序列一
k = -40:40;
uk = [zeros(1,40),ones(1,41)];
stem(k,uk,'filled','blue')
axis([-50,50,0,1.5])
title('单位阶跃信号')
上述代码对于uk直接赋值,也可以直接用单位阶跃序列的定义进行赋值,更为直观
参考matlab官方文档
脉冲函数、阶跃函数和斜坡函数 - MATLAB & Simulink - MathWorks 中国
%% 单位阶跃序列二
n = (-10:10);
x = n >= 0;
stem(n,x,'filled','magenta');
axis([-10,10,-1.2,1.2])
title('单位脉冲序列')
三、矩形序列
%% 矩形序列
n = (-10:10);
len = 4;
x = n >= 0 & n<=(len - 1);
stem(n,x,'filled','magenta');
axis([-10,10,-1.2,1.2])
title('单位脉冲序列')
四、实指数序列
思路:基于单位阶跃序列构造实指数序列
%% 实指数序列
n = (-10:10);
x = n >= 0;
y = 2.^n .* x;
stem(n,y,'filled','magenta');
axis([-10,10,-1000,1100])
title('实指数序列')
五、正弦序列
%% 正弦序列
n = 0:40;
x = sin(pi/6*n);
stem(n,x,'filled','magenta');
title('正弦序列')
六、复指数序列
matlab官方文档中关于复数相关的函数
real(x)%取实部
imag(x)%取虚部
angle(x)%取相位(弧度)
abs(x)%取模
复数 - MATLAB & Simulink - MathWorks 中国
%% 复指数序列
n = [-10:10];
alpha = 0.5j;
x = exp(alpha*n);
%绘制实部
subplot(2,2,1);
stem(n,real(x),'filled','magenta');
title('实部')
%绘制虚部
subplot(2,2,2);
stem(n,imag(x),'filled','blue');
title('虚部')
%绘制幅值图
subplot(2,2,3);
stem(n,abs(x),'filled','red');
axis([-10,10,-1,1.5])
title('幅度')
%绘制相位图
subplot(2,2,4);
stem(n,angle(x),'filled','green')
title('相位')
参考
绘制离散序列数据 - MATLAB stem - MathWorks 中国
复数 - MATLAB & Simulink - MathWorks 中国
脉冲函数、阶跃函数和斜坡函数 - MATLAB & Simulink - MathWorks 中国
常用序列的MATLAB实现_用matlab产生矩形序列_zhengqijun_的博客-CSDN博客
手把手MATLAB 离散信号表示 指数 正弦 单位阶跃序列的表示_阶跃序列表达式_吃饭第一名的博客-CSDN博客