Python信号分析 | 信号的表示(一)【指数、抽样、正弦】
1、指数信号
MATLAB中用exp函数表示,调用格式为:
ft=A*exp(a*t)
Python中表示方法类似,同样用exp函数。
MATLAB代码:
% 指数信号 % A = 1;a = -0.6; t = -10:0.01:10; %定义时间点 ft = A*exp(a*t); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %设置网格
Python代码:
""" 指数信号 """ import numpy as np import matplotlib.pyplot as plt t = np.linspace(-10.0,10.0,1000) #通过linspace函数指定t的取值范围 plt.ylim(0,5) #定义纵轴取值范围 plt.subplot(221) #显示的位置 plt.title(u'exp(-0.6*t)') #图名 ft = np.exp(-0.6*t) #调用exp函数计算指数信号 plt.plot(t,ft) #绘图 plt.subplot(222) plt.title(u'exp(0.6*t)') ft1 = np.exp(0.6*t) plt.plot(t,ft1) plt.subplot(212) plt.title(u'exp(0*t)') ft2 = np.exp(0*t) plt.plot(t,ft2) plt.show()
运行结果:
2、抽样信号
定义:Sa(t)=sin(t)/t
MATLAB中用sinc函数表示,调用格式为:
ft=sinc(t/pi)
Python中也用sinc函数表示,调用与上相似。
MATLAB代码:
t = -5*pi:pi/100:5*pi; %t的取值范围
ft = sinc(t/pi); %调用函数计算
plot(t,ft);
axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴
title('抽样信号') %图名
Python代码:
import numpy as np import matplotlib.pyplot as plt t = np.linspace(-5.0 * np.pi,5.0*np.pi,1000) #通过linspace函数指定t的取值范围 ft = np.sinc(t/np.pi) #调用sinc函数计算抽样信号 plt.ylim(-0.5,1.2) #定义纵轴取值范围 plt.plot(t,ft) #绘图 plt.title(u'抽样信号') #图名 plt.show() #显示
运行结果:

3、正弦信号
在MATLAB中用sin函数表示,调用格式为:
ft=A*sin(w*t+phi)
在Python中也用sin函数表示,调用格式与上类似。
MATLAB代码:
% 正弦信号 %
A = 5; w = 0.5*pi; phi = 0;
t = 0:0.01:12;
ft = A*sin(w*t+phi);
plot(t,ft);
title('正弦信号5sin(pi/2)t');
Python代码:
import numpy as np import matplotlib.pyplot as plt import matplotlib import math N = 500 t = np.linspace(0,12,num=N) # w = pi/2 fs = 0.25 x1 = 5 * np.sin(2 * math.pi * fs * t) plt.subplot(221) plt.plot(t,x1) plt.title(u'3sin(pi/2)t') plt.ylim(-5.0,5.0) # w = pi fs = 0.5 x2 = 5 * np.sin(2 * math.pi * fs * t) plt.subplot(222) plt.plot(t,x2) plt.title(u'3sin(pi*t)') plt.ylim(-5.0,5.0) # w = 3pi/2 fs = 0.75 x3 = 5 * np.sin(2 * math.pi * fs * t) plt.subplot(212) plt.plot(t,x3) plt.title(u'3sin(3pi/2)*t') plt.ylim(-5.0,5.0) plt.show()
运行结果:

博客首发:https://blog.csdn.net/Aubrey_yt/article/details/89300862

浙公网安备 33010602011771号