Một vài câu hỏi về Slepian và cửa sổ gaussian tổng quát


10

Tôi đang cố gắng thêm tài liệu cho tất cả các chức năng của cửa sổ trong scipy.signal và tôi bị kẹt trên Slepian (giống như DPSS?) Và các cửa sổ Gaussian tổng quát , điều mà tôi chưa từng nghe thấy trước đây.

Có hai biến là tham số hình dạng của một số loại, ptrong Gaussian tổng quát và widthtrong Slepian. ( sigdường như là sigma, độ lệch chuẩn.)

2 câu hỏi:

  1. Thay vì tôi kỹ thuật đảo ngược và đoán, bất cứ ai cũng có thể giải thích những biến này được gọi là gì và chúng làm gì?

  2. Bạn có thể giải thích những gì các cửa sổ này là hữu ích cho hoặc nơi chúng được sử dụng?

 

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

Các trận đấu có thể có:

Hàm dpss_windows của nipy sử dụng NW, "băng thông được chuẩn hóa một nửa tương ứng với 2NW = BW * f0 = BW * N / dt nhưng với dt được lấy là 1"

Sử dụng dpss của Matlabtime_halfbandwidth Đây có phải là cùng một cửa sổ không? Là time_halfbandwidthgiống như width?

ωc

Phân phối chuẩn tổng quát có (bằng hai lần p?) Được gọi là tham số hình dạng, với phân phối chuẩn cho = 1 và phân phối Laplace cho β = 2.


FWIW Tôi dường như nhớ rằng DPSS giống (hoặc cực kỳ giống với) một cửa sổ Kaiser. Xin lỗi đó là tất cả những gì tôi có. :-)
Spacey

@Mohammad: Cửa sổ Kaiser là một xấp xỉ của DPSS, tôi nghĩ bởi vì DPSS thực sự đắt tiền về mặt tính toán? vi.wikipedia.org/wiki/Window_feft#Kaiser_windows
endolith

2
DPSS là một cửa sổ được thiết kế với tối ưu hóa bị ràng buộc, ràng buộc là chiều rộng có thể chấp nhận được của thùy chính. Trong thực tế, nó giảm thiểu năng lượng bên ngoài thùy chính (sidelobes) so với năng lượng thùy chính cố định. Tôi có một cuốn sách hay ở nhà (ngoài thành phố về kinh doanh), vì vậy tôi có thể tạo ra một câu trả lời tốt hơn xứng đáng để đăng khi tôi xem lại nhưng đó là ý chính của nó.
Bryan

Câu trả lời:


4

Các chuỗi Slepian là một họ các chức năng. Hầu hết các thuật toán tính toán 2 * NW - 1 chuỗi cùng một lúc cho một NA đã cho. N là số điểm trong chuỗi và W quyết định một nửa chiều rộng của mainlobe trong miền tần số cho biến đổi Fourier của chuỗi Slepian đã cho. Thông thường, bạn sẽ sử dụng một NA 3 hoặc 4 để xử lý tín hiệu của bạn.

NWNWN

Nếu bạn đang ước tính phổ công suất của chuỗi thời gian đứng yên, DPSS là tập hợp các cửa sổ bạn nên sử dụng.

Hàm Gaussian tổng quát trả về một hàm giống Gaussian được nâng lên thành các lũy thừa cao hơn tùy thuộc vào tham số p. Khi p được nâng lên thành các lũy thừa cao hơn, Gaussian tổng quát trở nên hẹp hơn trong miền thời gian. Đặc tính tốt của Gaussian là nó là biến đổi Fourier của riêng nó và đó là chức năng đạt được giới hạn liên quan đến nguyên lý bất định. Hàm Gaussian có thể hữu ích nếu bạn muốn tính toán biến đổi Fourier hoặc biểu đồ phổ thời gian ngắn làm công cụ ước tính cho phổ công suất thay đổi theo thời gian của chuỗi thời gian không cố định.


"Đặc tính tốt đẹp của Gaussian là nó là biến đổi Fourier của riêng nó" p = 1Tuy nhiên, điều đó chỉ đúng với , phải không?
endolith

-e-mộtx2pcoS(2πkx)dx

1

Một ví dụ duy nhất để bác bỏ GG là biến đổi của chính nó. p = 0,5 cho số mũ lũy thừa thông thường có biến đổi 2a / (s ^ 2 + a ^ 2).

Đối với khối DC, nó là. trong miền tần số Fdcx (w) = 1 - F (w). Điều này sẽ đặt sự từ chối xung quanh DC với DC gần như trở thành không được tối ưu hóa trong băng thông hiện tại. Vì vậy, tôi sẽ chỉ sử dụng Dolph cho việc này để làm cho băng thông dải rộng trở thành gợn bằng nhau.

Đây là xung lực trừ đi chức năng cửa sổ gốc trong miền thời gian. Làm thế nào lớn cho sự thúc đẩy? nó phải buộc tổng của chuỗi bằng không.

Cảnh báo, chuỗi độ dài chẵn buộc bằng 0 ở tần số Nyquist, vì vậy bạn sẽ muốn tránh điều đó.


-1

Biến đổi Fourier của GG cũng là một Gaussian. Sử dụng định lý tích chập, FT (Gaussian \ times Gaussian) = FT (Gaussian) \ conv FT (Gaussian) = Gaussian \ conv Gaussian = Gaussian. Hy vọng rằng đã giúp!


Đây là một Gaussian tổng quát, tuy nhiên, không phải là một Gaussian thông thường. Nó không phải là biến đổi của chính nó. Xem hình ảnh: docs.scipy.org/doc/scipy/reference/generated/ Kẻ
endolith
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.