We're trying to have time-keeping as close to real-time as possible. Since our network doesn't support PTP, I'm using NTP. We have an NTP-server with GPS at disposal, and we're syncing about every minutes.
Though we still experience a little drift - of course. But some of our hardware drifts more than others. The best drifts about 1/10th of a ms where as other drift as much as 1.5ms.
We would like to hit around 0.25ms 90% of the time.
Does anyone know if it is possible to change the crystal on the board to a more accurate crystal, or have an idea how to make the clock drift less?
Best regards.
Related
We are trying to set in place a system of indoor localization based on BLE Beacons. The precize location of the client does not really matter, the valuable information is the room he is in.
The building to be equipped has large concrete walls. We thought that using one beacon per room, we could detect the closer beacon to the guest.
Are concrete wall able to stop most of the BLE signal? We tried some tests, but we are searching for serious studies.
Any wall will reduce BLE signals by some amount. A signal of -50 dBm on one side might be -60 dBm on the other side, a reduction of 10 dB. Because decibels are logarithmic, every 10 dB reduction in the signal level represents a loss of 90 percent of the power in the signal. So while it is typically true that a concrete wall will "stop most of the BLE signal", it doesn't really matter because there may still be enough signal on the other side of the wall to detect the beacon.
How much of a reduction in signal level there is depends on thickness of the wall and other materials in it (metal will increase the attenuation.) Of course, windows, doors and other breaks in walls provide other paths for the signals to travel and complicate the issue.
Since you are unlikely to create a system where signals from beacons in one room will never be detected in an adjacent room, your best bet is to use other algorithms. For example, you may detect all visible beacons in a time interval, determine which has the highest signal strength, and if above a certain threshold, use this as an indicator of which room you are in.
In dealing with Android devices, I've observed plenty of inaccurate - and sometimes downright
wrong - system times.
I do not have access to many iPhones, but those I have seen have accurate times.
Is the time GMT on iPhones always accurate? (E.g. speculate you could use network time or build-in ntp or use the time in GPS fixes to adjust drift; all this could occur in the platform so that applications are insulated from trying to determine the time themselves)
If the iPhone time functions do not represent a reasonable real-world time, how would you determine the real-world time?
Many phones are able to get the local time from the network provider - although I've seen that be a few seconds off here and there.
If you really need to be accurate - you can get your time from an NTP server and correct for local time using the phone's locale.
I have two questions regarding GPS sampling on iPhone:
1.Is it possible to use CLLocationManager (or any other method) for location readings based on GPS alone without WiFi or Cellular network affecting it?
2.Given a stationary device, is it possible to control the sampling rate? Can I use CLLocationManager to get nonstop location readings from GPS in nanoseconds resolution? If not, what's the best resolution I can get?
regarding number 1, apparently, you cannot directly control gps data. having said that: if you have speed > 0 AND high accuracy, then you can infer that your data has a high probability of having come from a gps reading.
as far as i know, gps fixing is not measured in nanoseconds, but rather in seconds. what you mean exactly by resolution (reading frequency?) is a bit unclear. but, if it is frequency, most navigational software (google, for example) refreshes location every second or so.
hi frequency position updating is very costly in terms of storage cost (server side), query times (server side), battery use (iphone) and heats the phone up bigtime. i would be going in the opposite direction, especially for stationary devices (sending a heartbeat every 5 minutes or so is usually more than enough).
reference on CLLocationManager
The App that I'm working on has to load data from a webserver.
If I open the App with connected WiFi, it loads the data very fast. But it don't loads the data if it is connected to EDGE.
I don't know what I'm doing wrong.
Do I have to set something in the settings?
Greetings.
You shouldn't have to do anything specifically to turn on connectivity when using EDGE or 3G. It should just happen automatically. Not to state the obvious, but EDGE is pretty slow (probably 20-40kbps tops usable in normal situations), and often performs even worse than the theoretical speeds provided by the technology.
That said, using a neat little preference pane called Speed Limit, you can test your application in the simulator while simulating different bandwidth and latency constraints. You can get a better idea of the way you should expect your app to perform under EDGE with low bandwidth and high latency (or any other network connection). This will give you a better idea where your problem may lie and what to expect.
I am just looking iphone apps at apple store, and i have found this app g8, http://www.dynolicious.com/, but can you give some ideas or logic that how this app works, i mean how it is possible to measure car performance without using or communicating with any external hardware ...??? By using just hardware built into iphone, ie. accelerometer.
It works as follows. The data provided as results are actually estimates, not absolutely correct values measured attaching external hardware to the car. The estimates come from the GPS unit and the accelerometer embedded within the iPhone. Using the GPS you can estimate from the positions detected in different temporal instants the distance travelled and therefore the velocity. Then you can also estimate the acceleration using the accelerometer.
This is just a guess, but I would expect that you tell it your car make and model which will give the manufacturer's performance and fuel consumption figures. Then using the accelerometer and positional information in the phone you can calculate the speed of the car. A relatively simple equation can then be used to calculate the expected performance.
I would guess it uses the GPS to measure the 0-60 acceleration (start a stopwatch and stop when GPS says you're moving at 60 mph) and the built-in accelerometer to detect G-force. The horsepower estimate is just that - an estimate. They may have a performance table of various known cars and their 0-60 performance and horsepower. Based on that, they can give an estimate for yours.