"""Delay-and-sum, narrowband, scratch. checks array gain vs N."""
import numpy as np

def array_gain_db(n):  # ideal
    return 10*np.log10(n)

def steer_delays(n, d_m, c, theta_deg):
    k = np.arange(n)
    return k * d_m * np.sin(np.radians(theta_deg)) / c

for n in (16, 32, 64):
    print(n, round(float(array_gain_db(n)), 1), "dB")
# 64 -> 18.1 dB ideal. measure real AG in the tank, flow noise will eat some.
