Python+matplotlib實現計算兩個訊號的交叉譜密度執行個體,pythonmatplotlib

來源:互聯網
上載者:User

Python+matplotlib實現計算兩個訊號的交叉譜密度執行個體,pythonmatplotlib

 計算兩個訊號的交叉譜密度

結果展示:

完整代碼:

import numpy as npimport matplotlib.pyplot as pltfig, (ax1, ax2) = plt.subplots(2, 1)# make a little extra space between the subplotsfig.subplots_adjust(hspace=0.5)dt = 0.01t = np.arange(0, 30, dt)# Fixing random state for reproducibilitynp.random.seed(19680801)nse1 = np.random.randn(len(t))         # white noise 1nse2 = np.random.randn(len(t))         # white noise 2r = np.exp(-t / 0.05)cnse1 = np.convolve(nse1, r, mode='same') * dt  # colored noise 1cnse2 = np.convolve(nse2, r, mode='same') * dt  # colored noise 2# two signals with a coherent part and a random parts1 = 0.01 * np.sin(2 * np.pi * 10 * t) + cnse1s2 = 0.01 * np.sin(2 * np.pi * 10 * t) + cnse2ax1.plot(t, s1, t, s2)ax1.set_xlim(0, 5)ax1.set_xlabel('time')ax1.set_ylabel('s1 and s2')ax1.grid(True)cxy, f = ax2.csd(s1, s2, 256, 1. / dt)ax2.set_ylabel('CSD (db)')plt.show()

總結

以上就是本文關於Python+matplotlib實現計算兩個訊號的交叉譜密度執行個體的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.