Slepian 및 일반화 된 가우스 창에 대한 몇 가지 질문


10

scipy.signal의 모든 창 기능에 대한 설명서를 추가하려고하는데 Slepian (DPSS와 동일?) 및 Generalized Gaussian 창 에 붙어 있습니다. 이전에는 들어 본 적이 없었습니다.

p일반화 된 가우시안 및 width슬레 피안 에서 어떤 유형의 모양 매개 변수 인 두 가지 변수가 있습니다 . ( sig표준 편차 인 시그마 인 것으로 보입니다.)

두 가지 질문 :

  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

가능한 경기 :

nipy의 dpss_windows 함수NW"2NW = BW * f0 = BW * N / dt에 해당하는 표준화 된 반 대역폭이지만 dt는 1로 사용됨 "을 사용합니다.

Matlab의 dpsstime_halfbandwidth동일한 창입니까? 가 time_halfbandwidth같은 것은 width?

이 DPSS 정의 에는 "초당 라디안 단위로 원하는 주 로브 차단 주파수"가 있습니다.ωc

일반 정규 분포 는 β p= 1에 대한 정규 분포와 β = 2에 대한 라플라스 분포와 함께 모양 매개 변수라고하는 β (두 번 ?)를 갖습니다 .


그러나 DPSS는 카이저 창과 동일하거나 매우 유사하다는 것을 기억합니다. 내가 가진 모든 것이 미안합니다. :-)
Spacey

@ Mohammad : Kaiser 창은 DPSS의 근사치입니다. 진정한 DPSS는 계산 비용이 많이 들기 때문에 생각합니다. en.wikipedia.org/wiki/Window_function#Kaiser_windows
endolith 2018 년

2
DPSS는 제한된 최적화로 설계된 창으로, 제약은 메인 로브의 허용 가능한 너비입니다. 사실상 고정 된 메인 로브 에너지에 비해 메인 로브 외부의 에너지 (사이드 로브)를 최소화합니다. 나는 집에 좋은 책이 있습니다 (사업에 마을 밖), 나는 리뷰 할 때 게시 할 가치가있는 더 나은 답변을 공식화 할 수는 있지만 그 책의 요지입니다.
Bryan

답변:


4

Slepian 시퀀스는 기능 군입니다. 대부분의 알고리즘은 주어진 NW에 대해 2 * NW-1 개의 시퀀스를 한 번에 계산합니다. N은 시퀀스의 포인트 수이며 W는 주어진 Slepian 시퀀스의 푸리에 변환에 대한 주파수 영역에서 메인 로브의 너비의 절반을 결정합니다. 일반적으로 신호 처리에 NW를 3 또는 4로 사용합니다.

scipy에서는 (Python 코드의 m)과 (Python 코드의 너비) 매개 변수를 별도로 요청하는 반면 matlab에서는 시간 대역폭 곱 를 단일 매개 변수로 입력합니다 . 일반적으로 고정 창 크기 의 Slepian 시퀀스를 계산하기 때문에 이치에 맞습니다 .W N W NNWNWN

고정 시계열의 전력 스펙트럼을 추정하는 경우 DPSS는 사용해야하는 일련의 창입니다.

일반화 된 가우스 함수는 p 매개 변수에 따라 연속적으로 더 높은 제곱으로 증가 된 가우시안 유사 함수를 반환합니다. p가 연속적으로 더 높은 전력으로 증가함에 따라 일반화 된 가우스는 시간 영역에서 좁아집니다. 가우시안의 좋은 속성은 그것이 자신의 푸리에 변환이고 불확실성 원리에 대한 한계를 달성하는 함수라는 것입니다. 비 고정 시계열의 시변 전력 스펙트럼에 대한 추정기로 단시간 푸리에 변환 또는 스펙트로 그램을 계산하려는 경우 가우시안 함수가 유용 할 수 있습니다.


"가우시안의 좋은 속성은 그것이 자신의 푸리에 변환이라는 것입니다." p = 1하지만 사실은 맞습니까?
endolith

대칭이 p = 1에 대해서만 유지되는지 확실하지 않습니다. 어쩌면 누군가가 GG (Generalized Gaussian)의 FT를 해결할 수 있습니다. Wolfram Mathworld mathworld.wolfram.com/FourierTransformGaussian.html 에서 가우스의 FT 도출을 살펴보십시오 . 같은 주장으로 GG에 대한 적분의 허수 부분을 제거 할 수 있습니다. 비록, 나는 확실히 평가하는 방법이 아니에요eax2pcos(2πkx)dx
ncRubert

1

GG를 반박하는 한 가지 예는 자체 변환입니다. p = 0.5는 2a / (s ^ 2 + a ^ 2)의 변환을 갖는 일반적인 백투백 지수를 제공합니다.

DC 블록은 그렇습니다. 주파수 영역에서 Fdcx (w) = 1-F (w). 이것은 현재 통과 대역에서 최적화되지 않은 DC ​​근처에서 DC 주위에 리 젝트를 배치합니다. 따라서 광대역 통과 대역을 동일한 리플로 만들기 위해 Dolph 만 사용합니다.

이것은 시간 영역에서 원래 창 함수를 뺀 충동입니다. 충동이 얼마나 큰가요? 시퀀스의 합을 0으로 강제해야합니다.

경고, 짝수 길이 시퀀스는 나이 퀴 스트 주파수에서 0을 강제하므로이를 피할 수 있습니다.


-1

GG의 푸리에 변환은 또한 가우스입니다. 컨볼 루션 정리를 사용하여 FT (Gaussian \ times Gaussian) = FT (Gaussian) \ conv FT (Gaussian) = Gaussian \ conv Gaussian = Gaussian. 도움이 되었기를 바랍니다.


그러나 이것은 일반적인 가우스가 아니라 일반화 된 가우스입니다. 자체 변형이 아닙니다. 이미지보기 : docs.scipy.org/doc/scipy/reference/generated/…
endolith
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.