Help on Serial communications - newbie

  • Thread starter Thread starter Erik
  • Start date Start date
6/28/2005 3:33:08 PM Re: Advice on GPS coordinates received
Make a mixture of both:

Add more weight to the latest coordinates, to gain accuracy for high

speed moving, but also multyply with the quality. Yuo should add 3

switches for testing purposes:

- number of signals (seconds) taken into account

- exp - parameter (range factors from (exp(0)==1 to exp(parameter))

- weighting of signal strength:

// assuming you have such a class:

class Point

{

public:

Point(double, double, double);

Point& operator += (const Point&);

Point operator *(double);

};

// Here's how to get a such a point from number of measured points

Point GetCoo(Point* signal_point, double* signal_strength,

int num_signals,

double exp_parameter,

double sig_weight/* [0; 1] */

)

{

Point res;

double fac, sumdiv=0;

double maxexp = exp(exp_parameter); // your exp part can't go bigger

than this

for(int i=0; i<num_signals; ++i)

{

// exp-part for 'i' - range [0; 1]

fac= exp(exp_parameter * (i / (num_signals+1)) )

/ maxexp;

// signal weight part

fac*= (1-sig_weight);

fac += sig_weight * signal_strength;

sumdiv+=fav;

// For res.x, .y, .z do:

res += (signal_point * fav);

}

return res;

}

not tested, should work though,

Gernot

No. Anyone else?

see
http://www.eggheadcafe.com/ng/microsoft.public.pocketpc.developer/post22527468.asp

hope it helps?
http://www.sworde.com
http://www.sworde.blogspot.com/
 
Thank you, but what I was looking for was an example on how to connect the
GPS on COM6 as an example.


Erik
 
look at opennetcf sources


Erik said:
Thank you, but what I was looking for was an example on how to connect the
GPS on COM6 as an example.


Erik


6/28/2005 3:33:08 PM Re: Advice on GPS coordinates received
Make a mixture of both:

Add more weight to the latest coordinates, to gain accuracy for high

speed moving, but also multyply with the quality. Yuo should add 3

switches for testing purposes:

- number of signals (seconds) taken into account

- exp - parameter (range factors from (exp(0)==1 to exp(parameter))

- weighting of signal strength:

// assuming you have such a class:

class Point

{

public:

Point(double, double, double);

Point& operator += (const Point&);

Point operator *(double);

};

// Here's how to get a such a point from number of measured points

Point GetCoo(Point* signal_point, double* signal_strength,

int num_signals,

double exp_parameter,

double sig_weight/* [0; 1] */

)

{

Point res;

double fac, sumdiv=0;

double maxexp = exp(exp_parameter); // your exp part can't go bigger

than this

for(int i=0; i<num_signals; ++i)

{

// exp-part for 'i' - range [0; 1]

fac= exp(exp_parameter * (i / (num_signals+1)) )

/ maxexp;

// signal weight part

fac*= (1-sig_weight);

fac += sig_weight * signal_strength;

sumdiv+=fav;

// For res.x, .y, .z do:

res += (signal_point * fav);

}

return res;

}

not tested, should work though,

Gernot

No. Anyone else?

see
http://www.eggheadcafe.com/ng/microsoft.public.pocketpc.developer/post22527468.asp

hope it helps?
http://www.sworde.com
http://www.sworde.blogspot.com/

 
Back
Top