91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python實現周期方波信號頻譜圖

發布時間:2021-04-13 09:48:41 來源:億速云 閱讀:567 作者:小新 欄目:開發技術

小編給大家分享一下如何使用python實現周期方波信號頻譜圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

在學習傅里葉變換的時候遇到了求周期方波信號頻譜圖的例子,在書上和網上查閱了一些資料,發現大都是討論的都是下圖左邊的周期信號的頻譜,課程老師的PPT中也只列出了另一種周期信號頻譜圖的結論,沒有在進行傅里葉變換,自己便根據定義推導了一遍,貼在這里作記錄和分享之用。

關于傅立葉級數展開的另一討論在我的另一篇文章https://www.jb51.net/article/144194.htm

如何使用python實現周期方波信號頻譜圖

2016年11月21號更新

在第二個周期方波信號的傅里葉變換里,注意是

如何使用python實現周期方波信號頻譜圖

轉換為sin函數下為

如何使用python實現周期方波信號頻譜圖

之前寫錯了,今天更正。

對于這兩種方波信號,我們也可以編程驗證一下,就是用正弦函數去逼近方波信號,Python的實現代碼如下:

# 分析傅里葉級數分解之后cos和sin的和項的圖像輸出

from numpy import mgrid,sin,cos,array,pi
from matplotlib.pyplot import plot,show,title,legend,xlabel,ylabel

x = mgrid[0:10:0.02] # 這里類似于MATLAB用冒號產生步長為0.02的序列,但是語法和MATLAB不同



# 下面的這段循環實現y=sin(x)+sin(3x)+...+sin(19x)

def cos_square():
  y1 = 0;
  for i in range(0,20,1):
    b = (-1)**(i)*cos((2*i+1)*x)/(2*i+1)
    y1=b+y1    # 這種求和的方法是從C語言移植過來的
  plot(x,y1,'orange',linewidth=0.6)
  title('cos_square')
  xlabel('Time')
  ylabel('Amplitude')
  show()

def sin_square():
  y2 = 0
  for i in range(0,20,1):
    b = sin((2*i+1)*x)/(2*i+1)
    y2=b+y2    # 這種求和的方法是從C語言移植過來的
  plot(x,y2,'g',linewidth=0.6)
  title('sin_square')
  xlabel('Time')
  ylabel('Amplitude')
  show()

cos_square() 

sin_square()

輸出結果如下:

如何使用python實現周期方波信號頻譜圖

如何使用python實現周期方波信號頻譜圖

以上是“如何使用python實現周期方波信號頻譜圖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴文县| 齐齐哈尔市| 景谷| 汝城县| 河曲县| 合肥市| 高唐县| 林西县| 山阴县| 汾西县| 桑日县| 莱州市| 家居| 汉寿县| 辽阳市| 明星| 来凤县| 广德县| 澄江县| 普洱| 嘉鱼县| 灵寿县| 偃师市| 淮安市| 沂南县| 封开县| 昌乐县| 汉沽区| 新绛县| 东乌珠穆沁旗| 崇左市| 鹤山市| 贵溪市| 亳州市| 沁水县| 满洲里市| 沾化县| 峨山| 洱源县| 涪陵区| 康平县|