to junhao

Dependencies:   mbed

detectors.cpp

Committer:
xuzhang
Date:
2018-03-08
Revision:
0:1b13f03ce7eb

File content as of revision 0:1b13f03ce7eb:

#include "mbed.h"
#include "detectors.h"
//count low level time PLL phase comparator output
//320 counts => 50us  
DigitalIn  counter_input(p8);


double countPulse0 (void)
{   
    int counter=0;
    double ave=0;
    int i;
    for (i=0;i<10;i=i+1){
        while (counter_input==0){;}
        while (counter_input==1){;}
        do { counter+=1;}
        while(counter_input==0) ;    
        }
    ave=counter/10;
    return ave;
    }
double countPulse0Debug (void)
{   
    int counter=0;
    int sum=0;
    int i;
    double ave;
    for (i=0;i<10;i=i+1){
        counter=0;
        while (counter_input==0){;}
        while (counter_input==1){;}
        do { counter+=1;}
        while(counter_input==0) ;    
        sum=sum+counter;
        printf("pulse0 10kHz[%d]=%d\n\r", i, counter);
        }
        ave=sum/10;
        printf("avepulse0 10kHz=%0.3f\n\r", ave);
        return ave;
    }

//peak detector output voltage
AnalogIn percentpeak(p20);

double peakDetector (void)
{
    double sum=0,ave=0;
    int i=0;
    for (i=0;i<10;i=i+1){
        sum=sum+3.3* percentpeak;
        }
    ave=sum/10;
    return ave;        
    }

double peakDetectorDebug (void)
{
    double   peak10k[10]={0};
    double sum=0,ave=0;
    int i=0;
    for (i=0;i<10;i=i+1){
        peak10k[i]=3.3* percentpeak;
        printf("peak10k[i]=%0.3lf\n\r",peak10k[i]);
        }
    sum=0;
    for (i=0;i<10;i=i+1){
        sum=peak10k[i]+sum;
        }
    ave=sum/10;
    printf("avePeak10k=%0.3lf\n\r",ave);
    return ave;        
    }