Python實現(xiàn)正弦信號的時域波形和頻譜圖示例【基于matplotlib】
更新時間:2018年05月04日 09:23:17 作者:落落圖靈
這篇文章主要介紹了Python實現(xiàn)正弦信號的時域波形和頻譜圖,涉及Python數(shù)學運算與圖形繪制相關操作技巧,需要的朋友可以參考下
本文實例講述了Python實現(xiàn)正弦信號的時域波形和頻譜圖。分享給大家供大家參考,具體如下:
# -*- coding: utf-8 -*- # 正弦信號的時域波形與頻譜圖 import numpy as np import matplotlib.pyplot as pl import matplotlib import math import random row = 4 col = 4 N = 500 fs = 5 n = [2*math.pi*fs*t/N for t in range(N)] # 生成了500個介于0.0-31.35之間的點 # print n axis_x = np.linspace(0,3,num=N) #頻率為5Hz的正弦信號 x = [math.sin(i) for i in n] pl.subplot(221) pl.plot(axis_x,x) pl.title(u'5Hz的正弦信號',fontproperties='SimHei') pl.axis('tight') #頻率為5Hz、幅值為3的正弦+噪聲 x1 = [random.gauss(0,0.5) for i in range(N)] xx = [] #有沒有直接兩個列表對應項相加的方式?? for i in range(len(x)): xx.append(x[i]*3 + x1[i]) pl.subplot(222) pl.plot(axis_x,xx) pl.title(u'頻率為5Hz、幅值為3的正弦+噪聲',fontproperties='SimHei') pl.axis('tight') #頻譜繪制 xf = np.fft.fft(x) xf_abs = np.fft.fftshift(abs(xf)) axis_xf = np.linspace(-N/2,N/2-1,num=N) pl.subplot(223) pl.title(u'頻率為5Hz的正弦頻譜圖',fontproperties='SimHei') pl.plot(axis_xf,xf_abs) pl.axis('tight') #頻譜繪制 xf = np.fft.fft(xx) xf_abs = np.fft.fftshift(abs(xf)) pl.subplot(224) pl.title(u'頻率為5Hz的正弦頻譜圖',fontproperties='SimHei') pl.plot(axis_xf,xf_abs) pl.axis('tight') pl.show()
運行效果:
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數(shù)學運算技巧總結》、《Python數(shù)據結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
解決python中用matplotlib畫多幅圖時出現(xiàn)圖形部分重疊的問題
今天小編就為大家分享一篇解決python中用matplotlib畫多幅圖時出現(xiàn)圖形部分重疊的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python3利用scapy局域網實現(xiàn)自動多線程arp掃描功能
這篇文章主要介紹了Python3利用scapy局域網實現(xiàn)自動多線程arp掃描功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01如何使用scrapy中的ItemLoader提取數(shù)據
這篇文章主要介紹了如何使用scrapy中的ItemLoader提取數(shù)據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09