Пример #1
0
def drawPic():
    m = 200
    n = 200
    a = 20
    b = 20
    r = 1
    vp0 = 1500
    variance = 0.08
    dx = 3
    C = np.zeros((m, n))

    au = autocorrelation_func(a, b)

    for i in xrange(m):
        for j in xrange(n):
            C[i, j] = au.gaussian((i-(m-1)/2.)*dx, (j-(n-1)/2.)*dx)
    S = fft2(C)  # power spectral density
    z = np.random.randn(m, n)
    Z = fft2(z)

    G = np.sqrt(dx * S)

    GZ = G * Z
    gz = ifft2(GZ)

    A = np.real(gz)

    K = np.real(A)
    f = plt.figure()
    plt.imshow(K)
    return f
Пример #2
0
def fft_ma(m, n, a, b, r, dx, dy):
    C = np.zeros((m, n))
    au = autocorrelation_func(a, b)
    for i in xrange(m):
        for j in xrange(n):
            C[i, j] = au.gaussian((i-(m-1)/2.)*dy, (j-(n-1)/2.)*dx)
    S = fft2(C)  # power spectral density
    z = np.random.randn(m, n)
    Z = fft2(z)
    G = np.sqrt(dx * S)
    GZ = G * Z
    gz = ifft2(GZ)
    A = np.real(gz)
    K = np.real(A)
    return K