python信号分析_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代码:

"""指数信号"""

importnumpy as npimportmatplotlib.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代码:

importnumpy as npimportmatplotlib.pyplot as pltimportmatplotlibimportmath

N= 500t= np.linspace(0,12,num=N)#w = pi/2

fs = 0.25x1= 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.5x2= 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.75x3= 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()

运行结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值