カテゴリー別アーカイブ: C

最新値 探索アルゴリズム

最新値探索アルゴリズム
条件: リングバッファー

ノーマル・パターン
52,53,54,55,56,57,58,59
60,61,54,55,56,57,58,59
97,98,99,92,93,94,95,96
97,98,99,00,01,02,95,96

イレギュラー・パターン(ノイズ混入
60,61,54,55,98,57,00,59
97,55,99,00,01,02,44,96

方策: 連続した2or3バイトに注視

2の補数 変換(AD出力形式変換, ±1許容誤差)

2の補数 (12bit)
0x07FF +3.3V
0x0000 +1.65V
0xF800 0V

2の補数 (12bit) → x=x^(XOR) 0b1111,1000,0000,0000 → リニア
0xFFFF +3.3V
0x07FF +1.65V
0x0000 0V

2の補数 (12bit) → x=0x800 → リニア
0x0FFF +3.3V
0x07FF +1.65V
0x0000 0V

2の補数 (12bit) → if (0!=(0b0000100000000000&x)) {x=~x;} → 絶対値 (+1.65V) //±1許容誤差
0x07FF +3.3V
0x0000 +1.65V Center
0x07FF 0V

2の補数 (8bit)
0x7F +3.3V
0x00 +1.65V
0x80 0V

2の補数 (8bit) → x=x+0x80; → リニア
0xFF +3.3V
0x80 +1.65V
0x00 0V