當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python SciPy windows.taylor用法及代碼示例

本文簡要介紹 python 語言中 scipy.signal.windows.taylor 的用法。

用法:

scipy.signal.windows.taylor(M, nbar=4, sll=30, norm=True, sym=True)#

返回一個泰勒窗口。

Taylor 窗口錐度函數近似於 Dolph-Chebyshev 窗口的恒定旁瓣電平,用於參數化數量的 near-in 旁瓣,但隨後允許超出 [2] 的錐度。

SAR(合成孔徑雷達)社區通常使用泰勒加權進行圖像形成處理,因為它提供了強大的、可選擇的旁瓣抑製和最小的主瓣展寬 [1]。

參數

M int

輸出窗口中的點數。如果為零,則返回空數組。當它為負數時會拋出異常。

nbar 整數,可選

與主瓣相鄰的幾乎恒定電平旁瓣的數量。

sll 浮點數,可選

相對於主瓣的直流增益,以分貝 (dB) 為單位的所需旁瓣電平抑製。這應該是一個正數。

norm 布爾型,可選

如果為 True(默認值),則將窗口除以 odd-length 窗口的最大(中間)值或偶數長度窗口的兩個重複中間值之間出現的值,以使所有值都小於或等於 1。當為 False 時,DC 增益將保持在 1 (0 dB),並且旁瓣將小幅降低 dB。

sym 布爾型,可選

當為 True(默認)時,生成一個對稱窗口,用於濾波器設計。當為 False 時,生成一個周期窗口,用於頻譜分析。

返回

out 數組

窗戶。當 norm 為 True(默認)時,最大值被歸一化為 1(盡管如果 M 為偶數且 sym 為 True,則值 1 不會出現)。

參考

[1]

W. Carrara、R. Goodman 和 R. Majewski,“ spotlight 合成孔徑雷達:信號處理算法”,第 512-513 頁,1995 年 7 月。

例子

繪製窗口及其頻率響應:

>>> import numpy as np
>>> from scipy import signal
>>> from scipy.fft import fft, fftshift
>>> import matplotlib.pyplot as plt
>>> window = signal.windows.taylor(51, nbar=20, sll=100, norm=False)
>>> plt.plot(window)
>>> plt.title("Taylor window (100 dB)")
>>> plt.ylabel("Amplitude")
>>> plt.xlabel("Sample")
>>> plt.figure()
>>> A = fft(window, 2048) / (len(window)/2.0)
>>> freq = np.linspace(-0.5, 0.5, len(A))
>>> response = 20 * np.log10(np.abs(fftshift(A / abs(A).max())))
>>> plt.plot(freq, response)
>>> plt.axis([-0.5, 0.5, -120, 0])
>>> plt.title("Frequency response of the Taylor window (100 dB)")
>>> plt.ylabel("Normalized magnitude [dB]")
>>> plt.xlabel("Normalized frequency [cycles per sample]")
scipy-signal-windows-taylor-1_00.png
scipy-signal-windows-taylor-1_01.png

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.signal.windows.taylor。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。