Xu ZHANG
/
DEBUG_10K
to junhao
detectors.cpp@0:1b13f03ce7eb, 2018-03-08 (annotated)
- Committer:
- xuzhang
- Date:
- Thu Mar 08 14:38:32 2018 +0000
- Revision:
- 0:1b13f03ce7eb
synthesis for 10k
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
xuzhang | 0:1b13f03ce7eb | 1 | #include "mbed.h" |
xuzhang | 0:1b13f03ce7eb | 2 | #include "detectors.h" |
xuzhang | 0:1b13f03ce7eb | 3 | //count low level time PLL phase comparator output |
xuzhang | 0:1b13f03ce7eb | 4 | //320 counts => 50us |
xuzhang | 0:1b13f03ce7eb | 5 | DigitalIn counter_input(p8); |
xuzhang | 0:1b13f03ce7eb | 6 | |
xuzhang | 0:1b13f03ce7eb | 7 | |
xuzhang | 0:1b13f03ce7eb | 8 | double countPulse0 (void) |
xuzhang | 0:1b13f03ce7eb | 9 | { |
xuzhang | 0:1b13f03ce7eb | 10 | int counter=0; |
xuzhang | 0:1b13f03ce7eb | 11 | double ave=0; |
xuzhang | 0:1b13f03ce7eb | 12 | int i; |
xuzhang | 0:1b13f03ce7eb | 13 | for (i=0;i<10;i=i+1){ |
xuzhang | 0:1b13f03ce7eb | 14 | while (counter_input==0){;} |
xuzhang | 0:1b13f03ce7eb | 15 | while (counter_input==1){;} |
xuzhang | 0:1b13f03ce7eb | 16 | do { counter+=1;} |
xuzhang | 0:1b13f03ce7eb | 17 | while(counter_input==0) ; |
xuzhang | 0:1b13f03ce7eb | 18 | } |
xuzhang | 0:1b13f03ce7eb | 19 | ave=counter/10; |
xuzhang | 0:1b13f03ce7eb | 20 | return ave; |
xuzhang | 0:1b13f03ce7eb | 21 | } |
xuzhang | 0:1b13f03ce7eb | 22 | double countPulse0Debug (void) |
xuzhang | 0:1b13f03ce7eb | 23 | { |
xuzhang | 0:1b13f03ce7eb | 24 | int counter=0; |
xuzhang | 0:1b13f03ce7eb | 25 | int sum=0; |
xuzhang | 0:1b13f03ce7eb | 26 | int i; |
xuzhang | 0:1b13f03ce7eb | 27 | double ave; |
xuzhang | 0:1b13f03ce7eb | 28 | for (i=0;i<10;i=i+1){ |
xuzhang | 0:1b13f03ce7eb | 29 | counter=0; |
xuzhang | 0:1b13f03ce7eb | 30 | while (counter_input==0){;} |
xuzhang | 0:1b13f03ce7eb | 31 | while (counter_input==1){;} |
xuzhang | 0:1b13f03ce7eb | 32 | do { counter+=1;} |
xuzhang | 0:1b13f03ce7eb | 33 | while(counter_input==0) ; |
xuzhang | 0:1b13f03ce7eb | 34 | sum=sum+counter; |
xuzhang | 0:1b13f03ce7eb | 35 | printf("pulse0 10kHz[%d]=%d\n\r", i, counter); |
xuzhang | 0:1b13f03ce7eb | 36 | } |
xuzhang | 0:1b13f03ce7eb | 37 | ave=sum/10; |
xuzhang | 0:1b13f03ce7eb | 38 | printf("avepulse0 10kHz=%0.3f\n\r", ave); |
xuzhang | 0:1b13f03ce7eb | 39 | return ave; |
xuzhang | 0:1b13f03ce7eb | 40 | } |
xuzhang | 0:1b13f03ce7eb | 41 | |
xuzhang | 0:1b13f03ce7eb | 42 | //peak detector output voltage |
xuzhang | 0:1b13f03ce7eb | 43 | AnalogIn percentpeak(p20); |
xuzhang | 0:1b13f03ce7eb | 44 | |
xuzhang | 0:1b13f03ce7eb | 45 | double peakDetector (void) |
xuzhang | 0:1b13f03ce7eb | 46 | { |
xuzhang | 0:1b13f03ce7eb | 47 | double sum=0,ave=0; |
xuzhang | 0:1b13f03ce7eb | 48 | int i=0; |
xuzhang | 0:1b13f03ce7eb | 49 | for (i=0;i<10;i=i+1){ |
xuzhang | 0:1b13f03ce7eb | 50 | sum=sum+3.3* percentpeak; |
xuzhang | 0:1b13f03ce7eb | 51 | } |
xuzhang | 0:1b13f03ce7eb | 52 | ave=sum/10; |
xuzhang | 0:1b13f03ce7eb | 53 | return ave; |
xuzhang | 0:1b13f03ce7eb | 54 | } |
xuzhang | 0:1b13f03ce7eb | 55 | |
xuzhang | 0:1b13f03ce7eb | 56 | double peakDetectorDebug (void) |
xuzhang | 0:1b13f03ce7eb | 57 | { |
xuzhang | 0:1b13f03ce7eb | 58 | double peak10k[10]={0}; |
xuzhang | 0:1b13f03ce7eb | 59 | double sum=0,ave=0; |
xuzhang | 0:1b13f03ce7eb | 60 | int i=0; |
xuzhang | 0:1b13f03ce7eb | 61 | for (i=0;i<10;i=i+1){ |
xuzhang | 0:1b13f03ce7eb | 62 | peak10k[i]=3.3* percentpeak; |
xuzhang | 0:1b13f03ce7eb | 63 | printf("peak10k[i]=%0.3lf\n\r",peak10k[i]); |
xuzhang | 0:1b13f03ce7eb | 64 | } |
xuzhang | 0:1b13f03ce7eb | 65 | sum=0; |
xuzhang | 0:1b13f03ce7eb | 66 | for (i=0;i<10;i=i+1){ |
xuzhang | 0:1b13f03ce7eb | 67 | sum=peak10k[i]+sum; |
xuzhang | 0:1b13f03ce7eb | 68 | } |
xuzhang | 0:1b13f03ce7eb | 69 | ave=sum/10; |
xuzhang | 0:1b13f03ce7eb | 70 | printf("avePeak10k=%0.3lf\n\r",ave); |
xuzhang | 0:1b13f03ce7eb | 71 | return ave; |
xuzhang | 0:1b13f03ce7eb | 72 | } |