Я пытаюсь добавить документацию для всех оконных функций в scipy.signal, и я застрял на Слепяне ( такой же , как ОМПОЕ?) И Обобщенные гауссовых окно, которые я никогда не слышал раньше.
Есть две переменные, которые являются параметрами формы некоторого типа, p
в обобщенном гауссовском и width
в Слепиане. ( sig
кажется, сигма, стандартное отклонение.)
2 вопроса:
Вместо меня обратное проектирование и догадки, кто-нибудь может объяснить, как называются эти переменные и что они делают?
Можете ли вы объяснить, для чего эти окна полезны или где они используются?
def general_gaussian(M, p, sig, sym=True):
"""Return a window with a generalized Gaussian shape.
The Gaussian shape is defined as ``exp(-0.5*(x/sig)**(2*p))``, the
half-power point is at ``(2*log(2)))**(1/(2*p)) * sig``.
"""
if M < 1:
return np.array([])
if M == 1:
return np.ones(1, 'd')
odd = M % 2
if not sym and not odd:
M = M + 1
n = np.arange(0, M) - (M - 1.0) / 2.0
w = np.exp(-0.5 * (n / sig) ** (2 * p))
if not sym and not odd:
w = w[:-1]
return w
def slepian(M, width, sym=True):
"""Return the M-point slepian window.
"""
if (M * width > 27.38):
raise ValueError("Cannot reliably obtain slepian sequences for"
" M*width > 27.38.")
if M < 1:
return np.array([])
if M == 1:
return np.ones(1, 'd')
odd = M % 2
if not sym and not odd:
M = M + 1
twoF = width / 2.0
alpha = (M - 1) / 2.0
m = np.arange(0, M) - alpha
n = m[:, np.newaxis]
k = m[np.newaxis, :]
AF = twoF * special.sinc(twoF * (n - k))
[lam, vec] = linalg.eig(AF)
ind = np.argmax(abs(lam), axis=-1)
w = np.abs(vec[:, ind])
w = w / max(w)
if not sym and not odd:
w = w[:-1]
return w
Возможные совпадения:
Функция npy dpss_windows использует NW
«стандартизированную половинную полосу пропускания, соответствующую 2NW = BW * f0 = BW * N / dt, но с dt, принятым за 1»
Matlab использует dpss.time_halfbandwidth
Это то же самое окно? Это time_halfbandwidth
то же самое, что и width
?
Это определение DPSS имеет «желаемую частоту среза основного лепестка в радианах в секунду».
Обобщенное нормальное распределение имеет β (равно удвоенному значению p
?), Которое просто называется параметром формы, с нормальным распределением для β = 1 и распределением Лапласа для β = 2.
источник
Ответы:
Последовательности Слепяна - это семейство функций. Большинство алгоритмов вычисляют 2 * NW - 1 последовательности одновременно для данного NW. N - количество точек в последовательности, а W определяет половину ширины основного лепестка в частотной области для преобразования Фурье данной последовательности Слепяна. Как правило, вы будете использовать NW 3 или 4 для обработки вашего сигнала.
Если вы оцениваете спектр мощности стационарного временного ряда, DPSS - это набор окон, которые вы должны использовать.
Обобщенная функция Гаусса возвращает гауссовоподобную функцию, возведенную в последовательно более высокие степени в зависимости от параметра p. При увеличении p до последовательно более высоких степеней обобщенный гауссиан становится уже во временной области. Хорошим свойством гауссиана является то, что это его собственное преобразование Фурье, и именно эта функция достигает предела, касающегося принципа неопределенности. Функция Гаусса может быть полезна, если вы хотите вычислить кратковременное преобразование Фурье или спектрограмму в качестве оценки для изменяющегося во времени спектра мощности нестационарного временного ряда.
источник
p = 1
, правда?Единственный пример опровержения GG - это собственное преобразование. р = 0,5 дает обычную взаимную экспоненту, которая имеет преобразование 2a / (s ^ 2 + a ^ 2).
Что касается блока DC, это так. в частотной области Fdcx (w) = 1 - F (w). Это приведет к тому, что отклонение будет происходить вокруг постоянного тока, при этом почти постоянный ток в w станет неоптимизированным в полосе пропускания. Поэтому я бы использовал для этого только Dolph, чтобы широкополосная полоса пропускания стала равной пульсации.
Это импульс минус оригинальная оконная функция во временной области. Насколько велик импульс? это должно принудительно привести сумму последовательности к нулю.
Предупреждение: последовательность четной длины приводит к нулю на частоте Найквиста, поэтому вам следует избегать этого.
источник
Преобразование Фурье GG также является гауссовым. Используя теорему о свертке, FT (Gaussian \ times Gaussian) = FT (Gaussian) \ conv FT (Gaussian) = Gaussian \ conv Gaussian = Gaussian. Надеюсь, что это помогло!
источник