中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何使用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

会东县| 叶城县| 通州市| 图们市| 阳城县| 华安县| 思茅市| 萨嘎县| 蒙城县| 大名县| 宜君县| 社旗县| 乌苏市| 梅河口市| 漾濞| 日照市| 泾源县| 滁州市| 上思县| 普兰县| 平顺县| 海伦市| 揭阳市| 彭阳县| 临汾市| 准格尔旗| 龙门县| 那曲县| 鞍山市| 南京市| 怀远县| 锡林浩特市| 隆回县| 鄂伦春自治旗| 固始县| 苍南县| 寿光市| 黑山县| 扶绥县| 新沂市| 兴文县|