Commit Graph

65 Commits

Author SHA1 Message Date
Matt Huszagh 17cf71f22b atan2: replace min, max with x, y 2020-12-17 11:39:32 -08:00
Matt Huszagh 9c5e68ceea atan2: test min and max angle inputs 2020-12-17 11:34:39 -08:00
Matt Huszagh 6ffc42021e move atan2 test before cossin test to mimic function order 2020-12-17 10:09:12 -08:00
Matt Huszagh 09a744f59c dsp: move iir generic math functions to top-level module scope 2020-12-17 10:04:48 -08:00
Matt Huszagh 56641d5838 atan2: specify why we cannot use more than 15 bits for the atan argument 2020-12-17 10:02:35 -08:00
Matt Huszagh 1f28949bc5 atan2: store sign bits and greater of |x| and |y| 2020-12-17 09:47:39 -08:00
Matt Huszagh cb38c3e3bd atan2: clarify sharing bits between atan argument and constant factors 2020-12-17 09:31:38 -08:00
Matt Huszagh 5717991ada atan2: result range is from i32::MIN+1 to i32::MAX 2020-12-17 09:31:18 -08:00
Matt Huszagh d7111a3aa8 dsp/trig: let compiler infer type parameter in atan2 abs call 2020-12-17 08:04:53 -08:00
Matt Huszagh d9d500743f simplify atan initial angle expression 2020-12-17 08:02:54 -08:00
Matt Huszagh 2ddaab8fae dsp: fix bench import path 2020-12-16 16:57:18 -08:00
Matt Huszagh 85ae70fe62 rename trig tests to delineate between cossin and atan2 2020-12-16 16:28:49 -08:00
Matt Huszagh 7c4f608206 move cossin and atan2 into the same trig file 2020-12-16 16:26:44 -08:00
Matt Huszagh e257545321 fix formatting 2020-12-16 16:14:11 -08:00
Matt Huszagh 5d055b01a0 dsp: add atan2 2020-12-16 16:02:42 -08:00
Matt Huszagh 6d651da758 dsp: add f64 isclose testing function 2020-12-16 16:02:17 -08:00
Matt Huszagh 17f9f0750e dsp: move abs to lib.rs 2020-12-16 16:01:50 -08:00
Matt Huszagh e89db65722 rename trig.rs -> cossin.rs 2020-12-16 15:57:47 -08:00
Robert Jördens 469c89ea70 pll: refine gains 2020-12-14 09:58:27 +01:00
Robert Jördens 75c4120258 cossin: buffer test data output 2020-12-13 13:24:28 +01:00
Robert Jördens d271dccaba cossin bench: be fair to glibc 2020-12-11 19:08:11 +01:00
Robert Jördens d4fceea5d1 cossin: bench against (i32 as f32).sin_cos() 2020-12-11 17:26:50 +01:00
Robert Jördens 5cd93d3318 fmt 2020-12-11 17:08:16 +01:00
Robert Jördens a85738a651 dsp: add host benchmark 2020-12-11 15:19:13 +01:00
Robert Jördens b9751ae1d0 dsp/build.rs: add cargo tag 2020-12-10 17:17:59 +01:00
Robert Jördens 7fa4b76e4d cossin_table: fix build script usage 2020-12-10 17:17:09 +01:00
Robert Jördens 77cb0bbad0 cossin: refactor and tweak
* shrink the LUT by another bit
* correctly use the octant bit to offset the dphi to LUT entry midpoint
* add more diagnistics to the unittest and rewrite it in relative units
* MSB-align phase and output to match the PLL data, dynamic range and
  remove the need for roudning bias.
* clean up the build.rs table generator a bit
2020-12-10 16:56:13 +01:00
Matt Huszagh a82b0f3e90 trig: fix formatting 2020-12-09 15:53:56 -08:00
Matt Huszagh 4add34cf9a add cossin LUT 2020-12-09 15:40:18 -08:00
Robert Jördens 2ae0bdfd8d unwrap: comments, names 2020-12-06 17:07:38 +01:00
Robert Jördens 4cfe6ba416 pll: add note on dithering 2020-12-05 13:18:02 +01:00
Robert Jördens 974fa6e220 unwrap: clean up docs and names 2020-12-05 12:55:22 +01:00
Robert Jördens 526fea8e23 unwrap: more tests 2020-12-05 12:32:27 +01:00
Robert Jördens 941a94bbf6 dsp/pll: style 2020-12-05 11:44:09 +01:00
Robert Jördens 47806a155d
Merge branch 'master' into feature/unwrap 2020-12-05 09:58:15 +01:00
Robert Jördens 2179560a3c unwrap: add phase unwrapping tools 2020-12-05 09:56:41 +01:00
Robert Jördens 628845d356 pll: rename to just PLL 2020-12-05 08:12:07 +01:00
Robert Jördens 0072cda85f pll: add convergence test 2020-12-04 23:13:22 +01:00
Matt Huszagh 43a760e57a dsp testing: improve api for tolerance checking 2020-12-04 09:16:10 -08:00
Matt Huszagh 55e7f1f0db dsp: fix small comment grammar error 2020-12-04 09:16:10 -08:00
Matt Huszagh 0cca4589fd lockin: compute reference period from the closest 2 timestamps to the ADC sample 2020-12-04 09:16:10 -08:00
Matt Huszagh 277a5d2d81 dsp: move common test code to testing.rs file 2020-12-04 09:16:09 -08:00
Matt Huszagh 260206e4f0 dsp: implement Complex as type alias for tuple 2020-12-04 09:15:33 -08:00
Matt Huszagh d1b7efad48 dsp: replace in_phase and quadrature with Complex 2020-12-04 09:15:13 -08:00
Matt Huszagh fcdfcb0be7 lockin: use single iir instance for both in-phase and quadrature signals 2020-12-04 09:14:39 -08:00
Matt Huszagh 785c98f93d lockin: remove TIMESTAMP_BUFFER_SIZE constant 2020-12-04 09:14:39 -08:00
Matt Huszagh 90ef9f1e6a lockin: borrow adc samples and timestamps as slices 2020-12-04 09:14:39 -08:00
Matt Huszagh f259d6cf65 lockin: minor variable name changes 2020-12-04 09:14:39 -08:00
Matt Huszagh 9592bb74a7 lockin: change zip order in decimate for clarity 2020-12-04 09:14:39 -08:00
Matt Huszagh 4edda09d86 lockin: change demodulate to return result instead of option 2020-12-04 09:14:39 -08:00