mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2026-06-06 10:51:35 +00:00
3b2fee43ea
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
1 line
26 KiB
Plaintext
1 line
26 KiB
Plaintext
qqjd]Zm�tmj`Zmǚwmj`]t�wmj`]t�wqjg`t�wqjg`w�~tmj`w�{tmj`w�~tmjd{�~wmjg{�~wmjg~��qjg{��qjg~��qjj~��tmj~��qmg��{tmj~��tmj��{tmj��~tqj��~tqj��~wqj��~tmj��~wqj��~wqj��~wqj���qm��~wqj��~wqm��~wqm���qj���tm���qj���tm���tm���tm���tm��~wtm���tm���tj���tm���tm���tm���tm���tm���tm���tm���tm𢅺��~w霟錧蚘羹�����㺨�����欘貏�𥡗錆硞郥錧蚘羅奩蚙撰砲怛懦洽�鮝僧��㺩釧��㺩釧��㺩釧��尐釧��尐釧��㺩釧��鈫釧��鈫洽��𦅚洽��𣺿���墙���箲������������������~w�������~w���~w���~t���~t���{t���{t���{t���{t~��~wt��ǚ{q~��~wq~��~{t~��~wq~��~wq~��~wq~��~wq~��~wq~��{wm~��{tm~��~tq{��{tm~��{tm~��{tm{��{tm~��~wm{��{tm{��{tq{��{tm{��{tm~��{tm{��{tm~��{tm{��{tm{��{tm~��{tm{��wqm{��{tm{��{tmw��wqmj{qj`ZSPIMF<62/,(2,%,%,6/,"CMC96/,(Z]VPF?<6jqj]VPMFtwqg`ZSPw�jg`ZSw�mj`]Vt�mg`ZVw�qj`]Vt�mj`ZVw�qj`]V{�tjd`Z{�tjg]Z��mjd]��qj`]��qjg`��tjg`��tmg`��tmj`��tmj`�ǚwmjg��wqjg��wqjg��{qjj��wqjg��{tmg��{tmg叚��wq嚭諕陊戴�����帮����帮鍕�芇骱蚘匎駂芢撰歐芤像岷怖像��獏釧��畺砭��畺洽��畺砲��Ⅰ砲��Ⅰ釧��Ⅰ砲��畺洛��櫊砭��裵���裵���糓���𨧹���𨯵���俥���俥���偬��~w焵��~w焵��~w焵��{t焵��~t𥅾��{t𥅾��wt𥅾��{t���tmm~tjd]ZSPMC<62/,(/,""/,"6<6/(%PPM?962/ddZSIF?<qqj`ZSPFw{qj`]VP{~tjd]ZS{�qj`]Vw�mg`]V{�mg`]V{�mj`]V{�mj`]V�{qjd]Z�~qjg]Z�~tmj`]��qjd]��qjg]��tjj`��qjj`��tmg`��tmjd�ǚtqjd��wqjg�ǚtqjd��wqjg��wqjg��wqmj��{tmj╰��wq欘諕陊戴�����帮����帮錆�褀誾訧郩骱陊戴蹼陏像洽紜撲岷�彼隆��往砲��旦砭��牲砲��牲砲��往砲��牲砲��旦洽��旦洽��4洽��𨺗���隁���隁���钟���𩅛���𧋦���𩅛���𡾞��~w𢅺��~{襔��{w𡾞��{t𡾞��{t裦��{t坾��{t儍��wqq~wjd]ZSPPF<62/,,/(",2,"<96/,"VPI?96/,jd]SMF?<wqj`ZPPF�tj`]VP�tjd]ZS�wmg]]S�wmg`ZS�wmg`ZS�wmg`]V�wmg`ZV�{qjd]Z�~tjg]Z�~tmg`]��qjg]��qjd]��qjg`��tjg`��tmg`�ǚtmjg�ǚtmjd��wqjg��wqjg��wqjg��{tmj��{tmj��{tmj���wq囔骱芢撕�����帮����帮錆�帮諕蚐搿骱陊撕ヽ陏像洽嘟撰岷�紡釧��笆砲��笆砭��章砲��飪砲��章野��章砲��笆砭��笆洽��炮���底���底���弁���布���╱���畆��~w╱��~w畆��~w畆��~w畆��~w䰻��{t畆��{t㱔��{t䰻��{t𣫺��wqq~tjd]ZSPPF<62/,,/,"//,%C96/,%"ZPI?962/mg]SPFC<wqj`ZSPI�qj`]VP�tmg]ZS�wjg`ZS�wmg`]V�tmg`ZS�wmg`]V�wmg`]V�{qjd]Z�~tjd`Z�~tmg`]��qjd]��qjd`��qjg`��tmj`��tmj`�ǚwmjd�ǚtmjd�ǚwqjd��wqjg��wqjd��{qmj��wqmg��{qjg洽��wq芇骱陊撰�����幺����帮錆��芇諕蚘鋋駂陊戴倵陏僖岷曙撲洽�飲釧��凳砭��凳砭��凳洽��凳砲��凳砭��凳砲��凳洽��雀���雀���秦���秤���秤���洵���炫���帕��~w洵���帘��~w巧��~w帘��~t孕��{t孕��{t孕��{t孕��wt╰��wqw{tjd]VSPPC<6//,,/("2/("F<6/,%"ZPF?92/,qd]PMF?9~qj`ZSPF�qj`ZSP𠸑wmg`]Sǚtjd`ZS�wmg`ZS�wmg]]S�wmg`]V�{qj`]V�{qj`]Z�~tjg`]�~tmj`]��mjd]��qjg`��qjg`��tmj`��tmjd��tmj`��wmjd�ǚtmjd��wqjg��wqjg��wqjg��wqmj��{qmg砭��wt褀骱陊撕�����帮����褀鍕��芇骱蚘嚭諕陊戴跂芤僖洽勹撲岷�撮釧��撕砭��撕砲��撕砲��羅砲��羅砲��撕砭��撕砭��僎���僎���像���雄���陳���閉���閉���祟��~w祟��~w祟��~{洛��{w洸��~t岩��{w岩�ǚ{t洛��{t失�ǚ{t���wq{~tj`]ZSPIC<6//,//,"6/("I<6/,%]PM?96/,qd]SMCC9�j`]SPIòqg`ZSP糎wmg]ZS�wmg]ZS𠸑wmg`]S�wmg`ZV�wmg`]V�{qj`]Z�{qj`]V�~tjd`Z�~wmj`]��qjd]��qjg]��qjg]��tmg`��tmj`��tmj`�ǚwqjd��tqjg��wqmg��wqjg��wqmg��{tqj��{tmj砭��{t褀駂陊戴�����欘����帮鍕��芇骱蚘鐕駂陊戴楈芤像洛岊像��ⅷ隄��羅砭��羅砲��羅砲��ⅴ砲��ⅷ野��羅野��ⅴ砲��羅洽��撰���撲���像���僖���僧���僧���隄���隆��~w隄��~w釧��~w野��{t釧��~t砲��{t砲��{t洛��{t洽��wq�tjg]ZSPPC<62/,2/,"6/,"F<6/,%"]SM?962/md]SMF?9�j`ZVPIùqj`]ZP𠸑tmg`ZS�wmg`]V𠸑wmg`ZV�wmg`]V�wmg`]V�{qjd]Z�{qjd]Z�{qjg`Z�~tmgd]��mj`]��qjg`��tjg`��tjg`��tmjd��tmjd�ǚwqjg�ǚwqjg�ǚwqjg��wtmj��wqmg��{qjg��{tmj砭��wq褀諕蚙戴�����帮����褀鍱��芇諕蚘芇駂陊懦骱陊像洽陊像��宎隆��ⅴ砲��ⅴ砭��ⅴ砲��ⅴ砲��ⅷ祟��ⅴ砲��ⅴ砭��羅洽��應���應���僖���僖���僖���隆���僧���隆��~{隆��~w隆��~w野��~t鼎��~w野��{t野��{t階��{t���tq�tjg]ZSPMC<62/,6/("</,"F96/("]PF?96/,m`ZPMC?9~qj]VSPIùqj`]VP𠸑tmg]ZS�wmg`ZS糎tmg]ZS�wmg]ZS�wmg`]S�wmj`]V�~tjd`Z�{tjg]Z�~tmg`]��qjg]��qjg`��tmj`��tmj`��tmjd�ǚtmjg�ǚtmjg��{qmg��wqjg��{tmg��{qmj��{qmj��{wmj���{q𦂃諕陊戴�����帮����幺鍕��帮誾蚘𦂃諕陊撕諕陊像洽觖撲洽�芡閉��妏釧��ⅴ砭��宎祟��妏砲��妏野��妏野��ⅴ洽��ⅴ洽��繹���應���應���憔���嶸���憔���僧���僧��~w鼎��~w鼎��~w鼎��{w階��~w階��~t野��{t野��{w���wm�tjg]ZSSPF<66/,6/,"</,%I<6/,%"]PI?962/md]SMF?<~qg]ZSPF�qj`]VP𠸑tjd]ZS�wmg]ZS𠸑wmg]ZS𠸑wmg]ZS�wmj`]V糎wmg`]V�{qjd]Z�{tjd]Z�{tmg`Z��mjd]��qjd]��qjg`��qjg`��tjg`��tmj`��tjjd�ǚwmjg�ǚwqjg�ǚtqjj��wqjg��wqjg��wqmg��wtjg��wtjj��{tmj��{tmj��~tmj��{tmj��{tmj��~wqj��{tmj��~wqj��~wqj��~tqj��~wqj��~wmj��~wqm��~wqj��~wqj��~wtj��~wqj���tm���tj��~wqj��~wqj��~wqm���tm��~wqj��~wtm���tm��~{qm���tm��~wtm���tm隆��~w𥡗錧蚘羅�����禩����禩鍱��𥡗鍕硞�鐋楂岋澗祳ⅷ閉矢芤僧�㼎懦洽�𨌺撲���僖���像���撲���像���僖���僖���隄���隄���釧��~嶸���憔���憔���憔���僧��~w僧���鼎��~w鼎��{w鼎��~w馴��{t鼎��~w野��{t階��wq閒��{t郭��wt野��wt砭��wq郭��wq郭��wq砭��tq郭��wq砭��tq���wm���wm���tm���wq���tm���tm���wm���tm���wm���tm���tm���tm���tm���tq���tm���tm���tm���tm���tm��~{tj���tm���tj���tm��~wqj�mg]VSPSIC96/,,9/,"6,"?6/(%PI?92/,(g]VPF?<6wmg]VPIF�mj]ZSPǚtmg]ZS�tmg]ZS�wmg`]V𠸑wmg`ZS�wmj`ZS�{mj`]S�wqjd]V�{tjg`Z�~tmg`Z��mgd]��qjg]��tjg`��qjj`��tmj`��tmj`�ǚwmjg��tqjd��wqmg�ǚwqjg��wqmg��{qmg��{qjg��{tmj��wtmj��{tmj��{tmj��{tqj��~wqj��~tqj��~wqj��~wqj��{tqj��~wqj��{tmj��~wqj��~wqj��{wqj���qj��~tqj��~wqj��~wqj��~wqj���tj��~wqj��~wqm��~wqj��~wqj���tj��~wqj��~wtm���tm��~wqj���tm��~wqj砲��{t𥡗誾蚙羅�����亷����禩鍱��帮鬾蚐�鼩祳岋察楅ⅴ閉矢ⅷ隄�𠸝繹洽�彑僖���僖���僖���像���像���僖���僖���隄���隄���隆���砲��{摩���僧���僧���僧���鼎��~w僧��~w隆��{t隆��~t階��{t野��{t階��{t砲��wq砭��tm𠸑qjd]VPSIC96/,,6/("6/(C<6/,%"ZPF?96/,j`ZPIF?9{qj`ZSPI�mj]ZSP�tmg]ZSǚwjg`ZSǚtjg]ZS�wmg`]Sǚtmg]ZS�{mj`]V�{qj`]V�{qjg]Z�~tmgd]�~tmjd]��qjg]��qjg`��qjg]��tmjd��qjg`��tmjd��tmjd��wmjg��wqjg�ǚwqjg��{tjg��wqjg洽��wm芇駂芢撰�����囔����帮錆��芇骱倇𦂃駂芢撕諓岋僖岷蚙僖��宎釧��ⅴ洛��羅洽��ⅴ砭��ⅴ洽��ⅴ砲��羅洽��繹洽��繹洽��應���摩���僖���僧���僧���鼎���隄���隆��~w隆��~w野��{t郭��{t砲��{t砭��{q砲��{t砭��{t���wm𠸑tjd]ZSSIC<6//,6/("6/(?<6,("VPI?96/,j`ZPIC?9{mj]ZSPF�qj`ZSP�tj`]ZPǚwmg]ZSǚtjg]ZSǚwjg`ZSǚtmg]]S�wjg`]S�{qjd]Z�{qjd]V�~tmg`Z�~tmj`]��mjd]��qjg`��qjg`��tmgd��tmgd��wmjd�ǚwqjg��tqjg��wqjg��wqjg��wqmg��{tmg���wq芇駂芢撰����禩鍱����芇誾��囔骱蚘芇慪芤撰駂芤僖洽蚙僖��ⅷ釧��羅砭��羅洽��ⅴ砲��ⅴ砲��ⅴ野��ⅴ砲��繹洽��繹洽��撲���撲���僖���僧���僧���隆��~w隄��~w釧��~w野��{t釧��~w砲��{t野��{t砲��{t砭�ǚ{t砲��{t���tmùtjd]VSSMF<62/,6/("6/,"C<6/(%ZPI?962/j`ZSPF?<{qj`ZSPF�qjd]VP�tmg]ZSǚtmg`]Vǚtmg]ZS�tmd`ZSǚwmg`]Vǚwmg`]V�{qjd]Z�{qjd`Z�~tmg`Z��qj`]��mjd]��qjg`��qmg`��tmg`��tmjd��tmj`�ǚwmjd��tmjd�ǚwqmg�ǚwqjg�ǚwqjg��{qjj���wq芇駂芢撕�����帮����帮錆��芇骱蚘囔慪芤撰駂芡僖洽蚙像岷�ⅴ祟��羅砭��懦���羅洽��羅洽��繹洽��羅砭��懦洽��懦���僖���僖���僧���隄���鼎���閉��~w釧��~w釧��~t砲��{t砲��~t砲��{t砭��{t砲��{t砭��wq砭��wq���tm�qj`]VPSIC<6/,(2/%6/("?96,("VPF?62/,j`ZPIF?9wqg]VPMF�mj`ZSP�tjd]ZSǚtjg`ZSǚwjg]ZSǚtjg]ZSǚwmj`ZSǚtmg`ZV�{qj`]V�{qjg`Z�{tjg]Z��mjd]��mjd]��qjg`��tjg`��tmj`��wmjd��tmj`��wmjd�ǚwqjd�ǚwmjg��wqmg��wqjg��{tjg���wq芇駂芢撰�����帮����帮錆��芇骱蚘芇駂芤撰駂岍僖岷蚙撲岷�ⅷ祟��羅砲��羅洽��戴砭��羅砲��羅砲��羅砲��懦洽��撲���撲��ǚ僖���僖���隄���隄���隄��~{釧��~w釧���祟��~w砲��{t砲��{t砲��{t砲��{t洽��wt洽��{t���wq�tj`]VPSMC<62/,6/,"6/,%C<6/,%"VPF?92/,jd]SMF?9{qj`ZPMF�qg`ZSP�tjg]ZS�tjg]ZSǚwmg`]S�tmd]ZS�wmg]ZS�wmj`ZV�wmg`]Z�{tjg`Z�~tjg`Z��mj`]��mjd]��qjg]��qjj`��tjg`��tmjd��tmjd��tmjd�ǚwqjg�ǚwqjg��{qjg��wtmg��wqjj洽��wq芇摍芤撰�����帮����芇諃�禩鍱豝旲鍱豝ⅷ嗤蚘撕祟Bⅴ祟�𠡳僖���隄���僧���僧���僖���僧���僖���僧���祟��~��tjg``VPF?992?92,("?96/("PI<62/,%`ZSIC<96tjdZSMFC�mg]VSP�wmg`]V�wqj`]V�{qjd`Z�wmj`]V�{qj`]Z�{qjd]V�{qjd]Z�~tmg`]�~tmgd]�~wqjd]��qjg`��qjg`��tmj`��tjg`��wmjg�ǚwmjg��tmjd��wqjg�ǚwqjg�ǚwqmg��{qmj��wqmg��{tmj���wq囔駂芢撕����禩鍱���㺨鍡�㺨鍱祳旰鍱蚐ⅷ嗡訧羅閉Bⅴ祟�𠡳僖���僧���僧���僧���僧���僖���僖���隄���隄���釧���砲��~僖���隄���隄���釧��~w釧��~w釧��{w砲��{t砲��{w砲��wt砲�ǚ{t洽�ǚwt洽��wq洛��{t洽��wq洽��wq洽��wq���tm岷��wm���tm���tq���wm���tm���wq���tm���wq���tm���tm���tm���qj���tm���tj���tj���tm���qj���tj���tm��~wqj���tm��~wqj���qm���qj���qj���qm��~wqj���tj��~wqj��~wqj��~wqj��~wqj���qj��~wqj��~wqj���tj��~wqj���qm��~wtj��~wqj���qm��~wqj���qm��~wtj��~wtj���tm��~{tj���tj���qj���qj���tm��~wqj���tm���qm��~wtj��~wtj��~wqj���qm���qj���tm���tm���qm���tm���tm���tm���wm���tm���tm���tm���tm���tm���qm���tm���tj���tm���tm���tm���tm���tj���tm���tm���tm���tm���tm���tm���tm���tm���tm��~wqj���tm���tm���tj��~tqj~wmd]VPPSPF<62/,96/%2,%92,(MF96/,("`ZSIC<96tj`ZSPIC~tmg]VPM�tjd]ZS�tjd]ZS�wmg`ZS�tjg]ZSǚtjg`ZS�wmg]]Vǚwmg`]V�{qjd`Z�{qjd]Z�~tmg`Z�~tmjd]��qjd]��qjg`��qjg]��tmj`��tmjd��tmj`�ǚwmjg��tmjd�ǚwmjd�ǚwqmg�ǚwqjg��wqmg�ǚwqmj��wtmj��{tmj��{tmj��{tqj��{tmj��~tqj��{tmj��{tmj��~wqj��~tqj��~wqj��~tqj��~tqj��~wqm��~tmj��~wqm��~wqj��~wqj���qj��~wqj��~wqj��~wqj��~wqj���tm��~wqj���tm��~wqj���tj���tm��~wtj���qm��~wtj��~wtj���tm��~wqm���tm��~{qm���tm���tm��~wtm���tm���tm���tm���tm���tj���tm��~wtm���tm���tj���qm���tm��~wtj���tm���tm��~wtm��~{tm��~wqj���tm���tm���qj��~wtj��~wtm���tm���tm���tj���tm��~{qm���tm���tm���tm���tm���tm���tm��~wtm���tm���tm��~wtm���tm���tm���qj���tm��~wtj���tm���tj��~wtj���tm��~wtm���tm��~wtm��~wqj���qm���qj���tm��~wqm���tm���wq釧��~w僧���洽��{t��~wqm�ǚtmjd��mjd]�~tmg`]�~tmg`Z��mjd]��qjg`��tmj`��tmjg��tmjd��wqjg�ǚwqjg�ǚwqjg��wqjg�ǚwqjg��wtmg��wtmj��{tmj��{tmj��{tmj��{tmj��{tmjd]SPF?<62/(" |