Monopulse
Amplitude monopulse angle estimation.
Implements the sum-and-difference amplitude monopulse technique for estimating target angle from a two-element array, including peak-finding across a range-Doppler map.
amplitude_monopulse(sig_a, sig_b, dx)
Estimates sin(theta) at each sample or bin via amplitude monopulse ratio.
Computes the standard sum/difference monopulse estimator: v_theta = arctan(2 * Im(delta/sum)) / (2pidx)
where sum = sig_a + sig_b and delta = sig_a - sig_b.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sig_a
|
ndarray
|
Complex signal from the first array element. |
required |
sig_b
|
ndarray
|
Complex signal from the second array element. |
required |
dx
|
float
|
Element separation in wavelengths. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
v_theta |
ndarray
|
Estimated sin(theta) at each sample or bin. |
Source code in src/rad_lab/monopulse.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | |
monopulse_angle_at_peak_deg(sig_a, sig_b, dx)
Estimates target angle in degrees at the peak power bin.
Finds the index of maximum magnitude in sig_a, then returns the monopulse angle estimate at that bin. Suitable for use on RDMs or frequency-domain signals where monopulse is only meaningful at bins containing target power.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sig_a
|
ndarray
|
Complex signal from the first array element (used for peak detection). |
required |
sig_b
|
ndarray
|
Complex signal from the second array element. |
required |
dx
|
float
|
Element separation in wavelengths. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
float |
float
|
Estimated angle in degrees at the peak bin. |
Source code in src/rad_lab/monopulse.py
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | |
monopulse_angle_deg(sig_a, sig_b, dx)
Estimates target angle in degrees at each sample or bin.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sig_a
|
ndarray
|
Complex signal from the first array element. |
required |
sig_b
|
ndarray
|
Complex signal from the second array element. |
required |
dx
|
float
|
Element separation in wavelengths. |
required |
Returns:
| Type | Description |
|---|---|
ndarray
|
np.ndarray: Estimated angle in degrees at each sample or bin. |
Source code in src/rad_lab/monopulse.py
33 34 35 36 37 38 39 40 41 42 43 44 | |