日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python信號分析 | 連續(xù)信號的傅立葉變換

系統(tǒng) 2187 0

1、連續(xù)周期信號的傅立葉級數(shù)
由傅立葉級數(shù)的形式可以看出,其都屬于積分形式,故在MATLAB中和Python中均可以用積分函數(shù)來實現(xiàn)求解。
例:Python中代碼如下:

            
              """
    連續(xù)周期信號的傅立葉級數(shù)
"""
from sympy import cos,sin
from sympy.abc import t,n,y
from scipy import integrate
import numpy as np
import matplotlib.pyplot as plt

nf=30
T=10
tao=1.0
an=np.zeros(nf)
bn=np.zeros(nf)
cn=np.zeros(nf)
phase=np.zeros(nf)
y=1
half0,err0=integrate.quad(lambda t:y,-tao/2,tao/2)
an[0]=2*half0/T
for n in range(1,nf):
    half,err=integrate.quad(lambda t:2*y*cos(2.0/T*np.pi*n*t),-tao/2,tao/2)
    an[n]=half/10
    half1,err1=integrate.quad(lambda t:2*y*sin(2.0/T*np.pi*n*t),-tao/2,tao/2)
    bn[n]=half1/10
    cn[n]=np.sqrt(an[n]**2+bn[n]**2)
for i in range(0,nf):
    if an[i]>=0:
        phase[i]=0
    else:
        phase[i]=np.pi
k=np.arange(0,nf)
plt.subplot(211)
plt.title(u'幅度譜')
plt.stem(k,cn)
plt.subplot(212)
plt.title(u'相位譜')
plt.stem(k,phase)
plt.show()

            
          

運行結(jié)果:
Python信號分析 | 連續(xù)信號的傅立葉變換_第1張圖片
2、連續(xù)非周期信號的傅立葉變換
在MATLAB中實現(xiàn)傅立葉變換的調(diào)用格式為:

            
              F=fourier(f)

            
          

F是符號函數(shù)f的傅立葉變換,默認返回是關(guān)于w的函數(shù);

            
              F=fourier(f,v)

            
          

F是關(guān)于符號對象v的函數(shù),而不是w;

            
              F=fourier(f,u,v)

            
          

函數(shù)f是關(guān)于符號對象u的函數(shù),F(xiàn)是關(guān)于符號對象v的函數(shù)。
Python中,用fourier_transform函數(shù)來實現(xiàn)傅立葉變換,須注意的是,Python運行結(jié)果的自變量不是角頻率w而是頻率f。

例:Python代碼如下:

            
              """
    連續(xù)非周期信號的傅立葉變換
"""
from sympy import fourier_transform,exp,plot,Heaviside,atan,im,re,pi
from sympy.abc import t,f
ft=exp(-2*t)*Heaviside(t)
F=fourier_transform(ft,t,f)
plot(abs(F))
plot(atan(im(F)/re(F)))


            
          

運行結(jié)果:
Python信號分析 | 連續(xù)信號的傅立葉變換_第2張圖片
Python信號分析 | 連續(xù)信號的傅立葉變換_第3張圖片
3、連續(xù)非周期信號的傅立葉逆變換
在MATLAB中,傅立葉逆變換的調(diào)用格式為:

            
              f=ifourier(F)

            
          
            
              f=ifourier(F,u)

            
          
            
              f=ifourier(F,v,u)

            
          

在Python中,用inverse_fourier_transform函數(shù)來實現(xiàn)傅立葉逆變換。

例:Python中代碼如下:

            
              """
    傅立葉逆變換
"""
from sympy import inverse_fourier_transform,exp,sqrt,pi,plot
from sympy.abc import t,f
F=1/(1+(2*pi*f)**2)
ft=inverse_fourier_transform(F,f,t)
plot(abs(F))
plot(ft)

            
          

運行結(jié)果:
Python信號分析 | 連續(xù)信號的傅立葉變換_第4張圖片
Python信號分析 | 連續(xù)信號的傅立葉變換_第5張圖片


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 阜城县| 博乐市| 永顺县| 息烽县| 临清市| 红桥区| 阿坝县| 北碚区| 逊克县| 阿巴嘎旗| 奈曼旗| 巧家县| 松滋市| 瑞金市| 英吉沙县| 梁山县| 克拉玛依市| 称多县| 郎溪县| 延安市| 西峡县| 雅安市| 塘沽区| 漾濞| 盘锦市| 桐柏县| 三门峡市| 互助| 兴海县| 景宁| 连南| 屯昌县| 苍梧县| 东方市| 凤阳县| 抚远县| 三都| 梁河县| 东阿县| 青冈县| 绵竹市|