黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python信號(hào)分析 | 信號(hào)運(yùn)算

系統(tǒng) 2272 0

1、連續(xù)信號(hào)的相加與相乘
在MATLAB和Python中,連續(xù)信號(hào)的相加、相減和相乘都是用符號(hào)“+”“-”“*”實(shí)現(xiàn)的。
Python代碼如下:

            
              """
    連續(xù)信號(hào)相加和相乘
"""
import numpy as np
import matplotlib.pyplot as plt

t = np.linspace(0,2,200)
f1 = np.exp(-3*t)
f2 = np.sin(4*np.pi*t)
plt.subplot(221)
plt.ylim(-1,2)
plt.title(u'f1')
plt.plot(t,f1)
plt.subplot(222)
plt.title(u'f2')
plt.plot(t,f2)
plt.subplot(223)
plt.title(u'f3=f1+f2')
plt.plot(t,f1+f2)
plt.subplot(224)
plt.title(u'f4=f1*f2')
plt.plot(t,f1*f2)
plt.show()

            
          

運(yùn)行結(jié)果:
Python信號(hào)分析 | 信號(hào)運(yùn)算_第1張圖片
2、序列的相加與相乘
在MATLAB和Python中,序列的相加和相乘運(yùn)算不能通過(guò)符號(hào)運(yùn)算來(lái)實(shí)現(xiàn),必須通過(guò)向量表示的方法來(lái)實(shí)現(xiàn)。且參加運(yùn)算的兩個(gè)序列向量要有相同的維數(shù)。
Python代碼如下:

            
              """
    序列的相加和相乘
"""
import numpy as np
import matplotlib.pyplot as plt
n1=np.arange(-2,3)
f1=[2,0,0,1,6]
n2=np.arange(0,6)
f2=[1,2,4,5,7,8]

n=np.arange(np.min([np.min(n1),np.min(n2)]),np.max([np.max(n1),np.max(n2)])+1)
s1=np.zeros(np.size(n),np.int)
s2=np.zeros(np.size(n),np.int)
ln=list(n)
s1[ln.index(n1[0]):ln.index(n1[0])+np.size(n1)]=f1
s2[ln.index(n2[0]):ln.index(n2[0])+np.size(n2)]=f2

x=s1+s2
y=s1*s2

plt.subplot(221)
plt.title(u'f1')
plt.stem(n1,f1)
plt.subplot(222)
plt.title(u'f2')
plt.stem(n2,f2)
plt.subplot(223)
plt.title(u'f3=f1+f2')
plt.stem(n,x)
plt.subplot(224)
plt.title(u'f4=f1*f2')
plt.stem(n,y)
plt.show()

            
          

運(yùn)行結(jié)果:
Python信號(hào)分析 | 信號(hào)運(yùn)算_第2張圖片
3、序列的差分與部分和
在MATLAB中,用diff函數(shù)計(jì)算序列相鄰元素的差分,用sum函數(shù)實(shí)現(xiàn)部分和。
Python與之類似。
Python代碼如下:

            
              """
    序列的差分與部分和
"""
import numpy as np
n=np.arange(0,10)
f=[1,2,3,4,5,6,7,8,9,10]
fn=np.diff(f)
print('fn=',fn)
y=np.sum(f)
print('y=',y)

            
          

運(yùn)行結(jié)果:
fn= [1 1 1 1 1 1 1 1 1]
y= 55

4、連續(xù)信號(hào)的微積分
(1)在MATLAB中,
微分:y=diff(ft)
不定積分:y=int(ft)
定積分:quad(‘function_name’,a,b) 其中為被積函數(shù)名,a與b為指定積分區(qū)間。
(2)在Python中,
微分:diff函數(shù)
積分:integrate函數(shù)
Python代碼如下:

            
              """
    連續(xù)信號(hào)的微積分
"""
from sympy import *
x = symbols('x')
y=diff(exp(-3*x),x)
h=integrate(exp(-3*x),x)
plot(y,xlim=[-1,1],ylim=[-10,0.1],ylabel='',title='微分')
plot(h,xlim=[-2,1],ylim=[-10,0.1],ylabel='',title='積分')

            
          

運(yùn)行結(jié)果:
Python信號(hào)分析 | 信號(hào)運(yùn)算_第3張圖片
Python信號(hào)分析 | 信號(hào)運(yùn)算_第4張圖片

5、離散信號(hào)的卷積和
在MATLAB中用conv函數(shù)來(lái)求離散信號(hào)的卷積和,調(diào)用格式為:
y=conv(f1,f2)
在Python中用convolve函數(shù)來(lái)求解離散信號(hào)卷積和,調(diào)用格式為:
convolve(a,v,mode=’ ')
mode默認(rèn)為“full”,該項(xiàng)可以省略。
Python代碼如下:

            
              """
    離散信號(hào)的卷積和
"""
import numpy as np
import matplotlib.pyplot as plt
n1=np.arange(0,4)
x1=[1,2,4,5]
n2=np.arange(0,3)
x2=[1,2,1]
n=np.arange(0,np.size(n1)+np.size(n2)-1)
f=np.convolve(x1,x2)
plt.stem(n,f)
plt.show()

            
          

運(yùn)行結(jié)果:
Python信號(hào)分析 | 信號(hào)運(yùn)算_第5張圖片

6、連續(xù)信號(hào)的卷積和
MATLAB中應(yīng)用conv函數(shù)近似計(jì)算信號(hào)的卷積積分,Python中用convolve函數(shù)近似計(jì)算。
Python代碼如下:

            
              """
    連續(xù)信號(hào)的卷積積分
"""
import numpy as np
import matplotlib.pyplot as plt
def unit(t):
    r=np.where(t>0.0,1.0,0.0)
    return r
def fconv(f1,f2,t1,t2):
    d=0.01
    f=np.convolve(f1,f2)
    f=f*d
    ts=t1[0]+t2[0]
    l=np.size(f1)+np.size(f2)-1
    t=np.linspace(ts,ts+l*d,l)
    return t,f

t1=np.linspace(-1,3,400)
f1=unit(t1)-unit(t1-2)
t2=t1
f2=np.exp(-3*t2)*unit(t2)
[t,f]=fconv(f1,f2,t1,t2)
print(np.max(f))
plt.subplot(221)
plt.title(u'f1')
plt.plot(t1,f1)
plt.subplot(222)
plt.title(u'f2')
plt.plot(t2,f2)
plt.subplot(212)
plt.title(u'卷積')
plt.plot(t,f)
plt.show()

            
          

運(yùn)行結(jié)果:
Python信號(hào)分析 | 信號(hào)運(yùn)算_第6張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論