MATLAB信号处理之常用信号的表示(1) 您所在的位置:网站首页 matlab符号函数的定义方法 MATLAB信号处理之常用信号的表示(1)

MATLAB信号处理之常用信号的表示(1)

2023-09-06 20:42| 来源: 网络整理| 查看: 265

今天先来分享几个常用的信号在MATLAB中的表示方法

1、普通离散时间信号

N=(-3:10); %定义N为离散的时间点 X=[0 2 3 3 2 3 0 -1 -2 -3 -4 -5 1 2];%定义每一个时间点的数值 stem(N,X) %绘制离散值图 axis([-4 12 -7 5]) %限制图的横纵坐标的显示范围 xlabel('离散时间点'); %给横坐标命名 ylabel('各时间点对应的信号的数值') %给纵坐标命名 title('离散时间信号'); %给整个图形定义一个标题

2、单位采样序列(单位脉冲序列δ(n))

n=50; %定义采样序列的长度 x=zeros(1,n); %生成一个全0的向量x x(1)=1; %把向量x的第一个数值重新赋值为1 xn=0:n-1; %定义绘图的横坐标变量 stem(xn,x); %绘制单位采样序列图 grid on; %显示网格线 axis([-2 51 0 1.1]) %限制图的横纵坐标的显示范围 xlabel('n'); %给横坐标命名 ylabel('δ(n)'); %给纵坐标命名 title('单位采样序列δ(n)'); %给整个图形定义一个标题

3、单位冲激信号

T=1000; t=0:1/T:10; t1=-5:1/T:5; f1=stepfun(t1,-1/T)-stepfun(t1,1/T); plot(t1,f1) grid on axis([-5 5 -1 2])

4、单位阶跃序列 u(n)

n=40; %定义阶跃序列的长度 x=ones(1,n); %生成一个全1的向量x xn=0:n-1; %定义绘图的横坐标变量 stem(xn,x); %绘制单位阶跃序列图 grid on; %显示网格线 axis([-5 51 0 1.1]) %限制图的横纵坐标的显示范围 xlabel('n'); %给横坐标命名 ylabel('u(n)'); %给纵坐标命名 title('单位阶跃序列u(n)'); %给整个图形定义一个标题

5、单位阶跃信号

T=1000; t1=-5:1/T:5; f1=stepfun(t1,0); %参数0代表没有进行移位的阶跃信号,若把0改为1,则相当于把原阶跃信号向右平移一个单位,以此类推 plot(t1,f1) grid on axis([-5 5 -1 2])

6、正弦序列

n=0:59; %定义序列自变量的变化范围 x=sin(pi/5*n); %生成一个正弦序列sin(n*pi/5) stem(n,x); %绘制正弦序列图 grid on; %显示网格线 axis([-0 40 -1.5 1.5]) %限制图的横纵坐标的显示范围 xlabel('n'); %给横坐标命名 ylabel('sin(n)'); %给纵坐标命名 title('正弦序列sin(n)'); %给整个图形定义一个标题

7、实指数序列x(n)=a^n

n=0:20; %定义序列自变量的变化范围 a1=1.6;a2=-1.6;a3=0.9;a4=-0.9; %定义指数函数的底数 x1=a1.^n; %生成指数函数x1(n)=1.6^n x2=a2.^n; %生成指数函数x1(n)=(-1.6)^n x3=a3.^n; %生成指数函数x1(n)=0.9^n x4=a4.^n; %生成指数函数x1(n)=(-0.9)^n subplot(221) %开辟一个绘图区域 stem(n,x1,'fill'); %绘制指数函数x1(n),'fill'表示每个数据点用实心来表示 grid on; %显示网格线 xlabel('n'); %给横坐标命名 ylabel('x1(n)'); %给纵坐标命名 title('x1(n)=1.6^n'); %给整个图形定义一个标题 subplot(222) %开辟一个绘图区域 stem(n,x2,'fill'); %绘制指数函数x2(n),'fill'表示每个数据点用实心来表示 grid on; %显示网格线 xlabel('n'); %给横坐标命名 ylabel('x2(n)'); %给纵坐标命名 title('x2(n)=(-1.6)^n') %给整个图形定义一个标题 subplot(223) %开辟一个绘图区域 stem(n,x3,'fill'); %绘制指数函数x3(n),'fill'表示每个数据点用实心来表示 grid on; %显示网格线 xlabel('n'); %给横坐标命名 ylabel('x3(n)'); %给纵坐标命名 title('x3(n)=0.9^n'); %给整个图形定义一个标题 subplot(224) %开辟一个绘图区域 stem(n,x4,'fill'); %绘制指数函数x4(n),'fill'表示每个数据点用实心来表示 grid on; %显示网格线 xlabel('n'); %给横坐标命名 ylabel('x4(n)'); %给纵坐标命名 title('x4(n)=(-0.9)^n') %给整个图形定义一个标题

8、复指数序列 x(n)=e^((a+jw)*n)

n=0:50; %定义序列自变量的变化范围 A=3;a=-1/9;b=pi/5; %定义复指数函数的部分系数 x=A*exp((a+i*b)*n); %生成一个复复指数函数 subplot(2,2,1) %开辟一个绘图区域 stem(n,real(x),'fill'); %绘制复指数函数的实部 grid on; %显示网格线 axis([0 30 -2 2]); %限制横纵坐标范围 xlabel('n'); %给横坐标命名 ylabel('x(n)'); %给纵坐标命名 title('实部') %给整个图形定义一个标题 subplot(2,2,2) %开辟一个绘图区域 stem(n,imag(x),'fill'); %绘制复指数函数的虚部 grid on; %显示网格线 axis([0 30 -2 2]); %限制横纵坐标范围 xlabel('n'); %给横坐标命名 ylabel('x(n)'); %给纵坐标命名 title('虚部'); %给整个图形定义一个标题 subplot(2,2,3) %开辟一个绘图区域 stem(n,abs(x),'fill'); %绘制复指数函数的模 grid on; %显示网格线 axis([0 30 -2 2]); %限制横纵坐标范围 xlabel('n'); %给横坐标命名 ylabel('x(n)'); %给纵坐标命名 title('模'); %给整个图形定义一个标题 subplot(2,2,4) %开辟一个绘图区域 stem(n,angle(x),'fill'); %绘制复指数函数的相角 grid on; %显示网格线 axis([0 30 -2 2]); %限制横纵坐标范围 xlabel('n'); %给横坐标命名 ylabel('x(n)'); %给纵坐标命名 title('相角'); %给整个图形定义一个标题

9、单个矩形脉冲信号(非周期矩形波信号)

t=-4:0.001:4; %定义时间变量范围 T=2; %定义矩形波的脉宽 f=rectpuls(t,T); %生成一个矩形波信号 plot(t,f) %绘制矩形波图形 grid on; %显示网格线 axis([-4 4 -0.5 1.5]) %限制图的横纵坐标的显示范围 xlabel('t'); %给横坐标命名 ylabel('f(t)'); %给纵坐标命名 title('矩形波信号f(t)'); %给整个图形定义一个标题

10、单个三角脉冲信号(非周期锯齿波信号)

t=-3:0.001:3; %定义时间变量 width=4; %定义三角波信号的宽度 A_x=0.5; %定义三角波信号最高点所对应的自变量的值,也即最大值为出现在距离对称点(width/2)*A_x处。 ft=tripuls(t,width,A_x); %生成三角波 plot(t,ft); %绘图 grid on %显示网格线

注:上面两个用于产生单个矩形波或者三角波信号的函数,它们生成的信号都是关于原点对称的,并且信号幅值为1



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有