Yoichi Nagashima
/
CQ_nagasm_08_notch_test
add 60Hz/50Hz notch filter
Diff: main.cpp
- Revision:
- 1:8fa2f521009a
- Parent:
- 0:5ec74240d7f1
- Child:
- 2:048d8bddb100
--- a/main.cpp Tue Dec 16 08:28:20 2014 +0000 +++ b/main.cpp Tue Dec 16 23:41:53 2014 +0000 @@ -8,6 +8,7 @@ xbee.baud(38400); xbee.attach(&rx_fifoset, xbee.RxIrq); timer_setup.attach_us(&timer_interrupt, 5); // 5usec + notch_1 = notch_2 = 60; coef_set(60); // Ham notch filter set while(1){ tx_fifo_check(); @@ -16,7 +17,7 @@ float data1 = (float)gain * (analog_value2.read() - 0.5f); // A/D in (3) if (data1 < 0) data1 = -data1; // always detection ON if (fir_lpf != 0) data1 = FIR_calc1(data1); // FIR calc (1) call - data1 = notch_filter1(data1); + if (notch_1 != 0) data1 = notch_filter1(data1); if(timer_value[2] > 2999){ // 15msec timer_value[2] = 0; if(max_count != 0) data1 = move_mean_calc1(data1); @@ -28,7 +29,7 @@ float data2 = (float)gain * (analog_value3.read() - 0.5f); // A/D in (4) if (data2 < 0) data2 = -data2; // always detection ON if (fir_lpf != 0) data2 = FIR_calc2(data2); // FIR calc (1) call - data2 = notch_filter2(data2); + if (notch_2 != 0) data2 = notch_filter2(data2); if(timer_value[4] > 2999){ // 15msec timer_value[4] = 0; if(max_count != 0) data2 = move_mean_calc2(data2); @@ -57,6 +58,12 @@ sum_clear(); break; case 0x03: + notch_1 = sum & 0x01; + break; + case 0x04: + notch_2 = sum & 0x01; + break; + case 0x05: coef_set(sum & 0x3f); break; }