mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
New LF edge detection algorithm + lowpass filter
This is a new LF edge detection algorithm for the FPGA. - It uses a low-pass IIR filter to clean the signal (see https://fail0verflow.com/blog/2014/proxmark3-fpga-iir-filter.html) - The algorithm is able to detect consecutive peaks in the same direction - It uses an envelope follower to dynamically adjust the peak thresholds - The main threshold used in the envelope follower can be set from the ARM side fpga/lf_edge_detect.v, fpga/lp20khz_1MSa_iir_filter.v, fpga/min_max_tracker.v: New file. fpga/lo_edge_detect.v, fpga/fpga_lf.v: Modify accordingly. armsrc/apps.h (FPGA_CMD_SET_USER_BYTE1, FPGA_CMD_SET_EDGE_DETECT_THRESHOLD): New FPGA command. fpga/fpga_lf.v: Modify accordingly/Add a 8bit user register. fpga/fpga_lf.bit: Update accordingly. fpga/tests: New directory for testbenches fpga/tests/Makefile: New file. It compiles the testbenches and runs all the tests by default (comparing with the golden output) fpga/tests/tb_lp20khz_1MSa_iir_filter.v, fpga/tests/tb_min_max_tracker.v, fpga/tests/tb_lf_edge_detect.v: New testbenches fpga/tests/plot_edgedetect.py: New script to plot the results from the edge detection tests. fpga/tests/tb_data: New directory for data and golden outputs
This commit is contained in:
parent
e17437f985
commit
3b2fee43ea
36 changed files with 685 additions and 57 deletions
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.filtered.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.filtered.gold
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.high.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.high.gold
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.highz.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.highz.gold
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.in
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.in
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.low.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.low.gold
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.lowz.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.lowz.gold
Normal file
File diff suppressed because one or more lines are too long
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.max.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.max.gold
Normal file
Binary file not shown.
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.min.gold
Normal file
1
fpga/tests/tb_data/pcf7931_read_1MSA_data.min.gold
Normal file
File diff suppressed because one or more lines are too long
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.state.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.state.gold
Normal file
Binary file not shown.
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.time
Normal file
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.time
Normal file
Binary file not shown.
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.toggle.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_read_1MSA_data.toggle.gold
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.in
Normal file
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.in
Normal file
File diff suppressed because one or more lines are too long
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.low.gold
Normal file
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.low.gold
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.max.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.max.gold
Normal file
Binary file not shown.
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.min.gold
Normal file
1
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.min.gold
Normal file
File diff suppressed because one or more lines are too long
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.state.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.state.gold
Normal file
Binary file not shown.
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.time
Normal file
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.time
Normal file
Binary file not shown.
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.toggle.gold
Normal file
BIN
fpga/tests/tb_data/pcf7931_write1byte_1MSA_data.toggle.gold
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue