to junhao

Dependencies:   mbed

Committer:
xuzhang
Date:
Thu Mar 08 14:38:32 2018 +0000
Revision:
0:1b13f03ce7eb
synthesis for 10k

Who changed what in which revision?

UserRevisionLine numberNew 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 }