色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python畫頻域直方圖

馮子軒1年前7瀏覽0評論

頻域直方圖是一種表示信號頻域特征的圖像,可以快速了解信號的頻域信息,對信號的分析和處理具有重要意義。在Python中,我們可以通過使用numpy和matplotlib庫來繪制頻域直方圖。

# 導入庫
import numpy as np
import matplotlib.pyplot as plt
# 生成信號
Fs = 1000  # 采樣率
t = np.arange(0, 1, 1 / Fs)  # 時間軸
f1 = 10  # 信號頻率1
f2 = 50  # 信號頻率2
s = np.sin(2 * np.pi * f1 * t) + np.sin(2 * np.pi * f2 * t)  # 信號
# 繪制原始信號的時域波形和頻域直方圖
plt.figure()
plt.subplot(2, 1, 1)  # 兩行一列的第一幅圖
plt.plot(t, s)
plt.title('Time-domain waveforms')
plt.ylabel('Amplitude')
plt.xlabel('Time')
plt.subplot(2, 1, 2)  # 兩行一列的第二幅圖
plt.hist(np.abs(np.fft.fft(s)), bins=200, range=(0, 500))  # 繪制頻域直方圖
plt.title('Frequency-domain histograms')
plt.xlabel('Frequency(Hz)')
plt.ylabel('Count')
plt.show()

在上面的代碼中,首先生成了一個10Hz和50Hz的混合信號,并在兩行一列的圖像框中繪制了時域波形和頻域直方圖。其中,np.fft.fft()函數用于對信號進行傅里葉變換,np.abs()函數用于取得變換后的幅值,np.histogram()函數用于生成直方圖。通過設置直方圖的bins和range參數,可以實現對直方圖的自定義設置。運行代碼后,將會得到下面的繪圖結果:

![頻域直方圖](https://i.loli.net/2021/10/21/ZHlnYJy5269TwiU.png)