Несколько вопросов о Слепиане и обобщенных гауссовских окнах

10

Я пытаюсь добавить документацию для всех оконных функций в scipy.signal, и я застрял на Слепяне ( такой же , как ОМПОЕ?) И Обобщенные гауссовых окно, которые я никогда не слышал раньше.

Есть две переменные, которые являются параметрами формы некоторого типа, pв обобщенном гауссовском и widthв Слепиане. ( sigкажется, сигма, стандартное отклонение.)

2 вопроса:

  1. Вместо меня обратное проектирование и догадки, кто-нибудь может объяснить, как называются эти переменные и что они делают?

  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.

эндолиты
источник
Похоже, я помню, что DPSS - это то же самое (или очень похожее) на окно Kaiser. Извините, это все, что я получил. :-)
Spacey
@ Мохаммед: Окно Кайзера является приближением к DPSS, я думаю, потому что настоящий DPSS вычислительно дорог? en.wikipedia.org/wiki/Window_function#Kaiser_windows
эндолит
2
DPSS - это окно, разработанное с ограниченной оптимизацией, причем ограничение представляет собой допустимую ширину основного лепестка. Фактически он минимизирует энергию вне основного лепестка (боковых лепестков) относительно фиксированной энергии основного лепестка. У меня есть хорошая книга дома (за городом по делам), так что я могу сформулировать лучший ответ, достойный публикации, когда рецензирую, но в этом суть.
Брайан

Ответы:

4

Последовательности Слепяна - это семейство функций. Большинство алгоритмов вычисляют 2 * NW - 1 последовательности одновременно для данного NW. N - количество точек в последовательности, а W определяет половину ширины основного лепестка в частотной области для преобразования Фурье данной последовательности Слепяна. Как правило, вы будете использовать NW 3 или 4 для обработки вашего сигнала.

NWNWN

Если вы оцениваете спектр мощности стационарного временного ряда, DPSS - это набор окон, которые вы должны использовать.

Обобщенная функция Гаусса возвращает гауссовоподобную функцию, возведенную в последовательно более высокие степени в зависимости от параметра p. При увеличении p до последовательно более высоких степеней обобщенный гауссиан становится уже во временной области. Хорошим свойством гауссиана является то, что это его собственное преобразование Фурье, и именно эта функция достигает предела, касающегося принципа неопределенности. Функция Гаусса может быть полезна, если вы хотите вычислить кратковременное преобразование Фурье или спектрограмму в качестве оценки для изменяющегося во времени спектра мощности нестационарного временного ряда.

ncRubert
источник
«Хорошее свойство гауссиана в том, что это его собственное преобразование Фурье». Это верно только для p = 1, правда?
эндолит
-е-aИкс2псоs(2πКИкс)dИкс
1

Единственный пример опровержения GG - это собственное преобразование. р = 0,5 дает обычную взаимную экспоненту, которая имеет преобразование 2a / (s ^ 2 + a ^ 2).

Что касается блока DC, это так. в частотной области Fdcx (w) = 1 - F (w). Это приведет к тому, что отклонение будет происходить вокруг постоянного тока, при этом почти постоянный ток в w станет неоптимизированным в полосе пропускания. Поэтому я бы использовал для этого только Dolph, чтобы широкополосная полоса пропускания стала равной пульсации.

Это импульс минус оригинальная оконная функция во временной области. Насколько велик импульс? это должно принудительно привести сумму последовательности к нулю.

Предупреждение: последовательность четной длины приводит к нулю на частоте Найквиста, поэтому вам следует избегать этого.

Дункан Грей
источник
-1

Преобразование Фурье GG также является гауссовым. Используя теорему о свертке, FT (Gaussian \ times Gaussian) = FT (Gaussian) \ conv FT (Gaussian) = Gaussian \ conv Gaussian = Gaussian. Надеюсь, что это помогло!

Neuronator
источник
Это обобщенный гауссов, но не обычный гауссов. Это не его собственное преобразование. Смотрите изображения: docs.scipy.org/doc/scipy/reference/generated/...
эндолиты