Commit b325b73
committed
Add sub-bin carrier offset interpolation to v2, drop redundant tracker normalisation
FreqOffset::Estimate picked the carrier from the winning integer FFT bin. A bin
is 46.9 Hz, so a receiver whose offset lands mid-bin keeps up to ~23 Hz of
uncorrected carrier for the whole capture. Add a parabolic fit of the two-tone
metric around the winning bin, behind SUBBIN_INTERP (off for now).
Measured with frequency-shifted copies of the 10k synthetic stream: at a half-bin
offset the integer-bin estimate drops 9656 -> 9499 messages and interpolation
recovers it to 9627, while shifting by exactly one full bin changes nothing. On
southwood (33 min, real hardware, offset -1.45 ppm) it is 6616 -> 6675 (+0.9%).
Note the synthetic bulk stream is generated at exactly zero carrier offset, so it
is blind to this and reports no change.
PhaseTracker kept a unit-normalised copy of the decision line. It fed only proj,
which is consumed through its sign alone, and the EMA recursion never read it, so
the vector was redundant: dot against s directly and drop the member, removing a
sqrt and two divides per sample. Output is byte-identical on kijkduin, airspy,
bulk and southwood.1 parent 1aa0b2c commit b325b73
2 files changed
Lines changed: 21 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
108 | 110 | | |
109 | 111 | | |
110 | 112 | | |
111 | | - | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
112 | 131 | | |
113 | 132 | | |
114 | 133 | | |
| |||
190 | 209 | | |
191 | 210 | | |
192 | 211 | | |
193 | | - | |
| 212 | + | |
194 | 213 | | |
195 | 214 | | |
196 | 215 | | |
197 | 216 | | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | 217 | | |
203 | 218 | | |
204 | 219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | 67 | | |
69 | 68 | | |
70 | 69 | | |
| |||
0 commit comments