Notifications
Clear all
Search result for: id10=WA 0859 3970 0884 Tukang Keramik Per Meter Terpercaya Mungkid Kab Magelang
Page 2 / 2
Prev
The MagEx uses a 3 cell Lithium Polymer battery to power the MagEx during surveys. The two main requirements for the battery are that it must fit into the battery compartment, and it must be nonmagnetic.
Non-Magnetic Batteries:
Some types of Lithium Polymer batteries are extremely magnetic. This is because the cell-to-cell connections are made with nickel strips (nickel is extremely magnetic). This makes them unsuitable for use in the MagEx since they will interfere with the background magnetic field that is being measured. Whether or not the batteries are magnetic is not something that appears on the data sheet, so it is important to choose batteries of a particular construction form factor that in practice has been shown to have a very low magnetic signature. Examples of this battery type will be shown below. There are many brand names for this battery type, and the brand names seems to change frequently.
Evaluating the Magnetic Properties of a Battery:
Batteries should be measured for magnetic signature before using them. This is especially true when trying a new battery brand just to be sure the battery is not going to affect the survey data. To Perform this test you will need to start a survey with a stationary MagEx pointing north-south on a nonmagnetic platform (wooden sawhorses, cardboard box, etc). Hold the battery to be tested immediately over the battery compartment and rotate it in all orientations. Download the data and look for variations in the magnetic field that correlate with the battery rotation. There shouldn't be any correlation above 1 nT peak to peak. Make sure the operator is nonmagnetic when doing this test (shoes, belts, watches, cell phones, keys, etc. can all corrupt the results).
Battery Size and Shape:
The correct batteries are rectangular in shape and measure roughly 105x34x24mm. They are made from 3 flat cells stacked up measuring 11.1 volts nominal. They should be between 1800 and 6000 mAh (milliamp-hour). Higher capacity batteries will not physically fit in the battery compartment. Lower capacity batteries will work, but with a reduced run time. One 1800 mAh battery will run the MagEx for about two hours. The MagEx power connector is XT-60 so the battery must match. There are other power connector types, but XT-60 is commonly used. The 4-pin balance port connector is a JST-XH4 connector (though this is standard on most batteries).
Where to Find Batteries:
If you are in an area that doesn't have strict controls on shipping Lithium Polymer batteries, then Amazon.com is a good source. Another good source is hobby stores, or anyplace that sells radio-controlled toy cars, boats, or airplanes. This is typically where this style of battery is used the most.
What do the Battery Specifications Mean?
3S: This means it is a stack of three Li-Po cells
Voltage: A fully charged 3 cell Li-Po battery measures 12.6 volts. A depleted battery will measure 9.6 volts. Thus, the voltage for this battery is typically labeled as 11.1 volt (the average of 12.6 and 9.6 volts.
35C (or any other "C" value): This is a rating on how much current can be safely drawn from the battery. To get the value in amps, take the milliamp-hour rating and divide by 1000 (to get amp-hours), and then multiply by the "C" value. For a 2200 mAh battery with a 35C rating multiply the 2.2 amp-hour capacity (2200 mAh / 1000) times the C value of 35, which gives a maximum discharge current of 77 amps. The MagEx draws about 0.6 amps, so any C value is fine - even if is down to 0.5.
Battery Chargers:
Most battery chargers being sold now are universal chargers which support a variety of rechargeable battery chemistries and output connectors. They come in many sizes and shapes, but most of them operate identically because the internal circuitry is the same. Most chargers will charge at a much faster rate than the MagEx discharges them, so you technically only need two batteries in the field. A nice feature to look for is the ability to power the charger off 12V as well as with AC power. This will allow charging in the field off a car battery.
Be sure to charge in batteries in "Balanced Charge" mode using the battery balance JST-XH connector. This allows more charge current into cells that are more deeply discharged than the others and ensures that the battery gets all three cells completely charged.
Battery Safety:
Lithium Polymer batteries are small and light but store a tremendous amount of energy inside. This is good for running equipment for long Periods of time between charges, but it also means that if something goes wrong and it releases all its energy at once it can be a serious fire hazard.
Never charge a lithium battery unattended, charge only in a fireproof location.
Batteries that are swollen or damaged should not be used. Dispose of these Per local regulations.
Be sure to follow all regulations for shipping or hand carrying Li-Po batteries. This may include packaging and labeling requirements, limiting the number of batteries, and discharging the batteries to 30% capacity before shipping.
Do not discharge the battery below 9.6 volts (3.2 volts Per cell). This damages the battery and could result in destructive decomposition and fire. If a battery that is discharged below a safe level is placed on the battery charger it will refuse to charge it. Batteries that are discharged below 9.6V should be removed from service and disposed of according to local regulations.
Some example batteries are shown below:
The subject of "Bandwidth" comes up often when discussing cesium magnetometers. There are two different aspects of bandwidth that are different and need to be differentiated:
The cesium magnetometer uses an atomic resonance of the Cs 133 atom (see note 1 below) which varies proportional to the ambient magnetic field. This atomic resonance is used to set/control the frequency of an oscillator. Therefore the output signal from the magnetometer is a *frequency* which is proportional to the earth's magnetic field at a coefficient of 3.498572 Hertz Per nT. Thus the output frequency (called the Larmor frequency) varies from roughly 70KHz at the equator to 350 KHz at the poles.
Because the cesium magnetometer is an oscillator, and because phase is important in an oscillator, the "Bandwidth" of the electronics in the magnetometer must be at least 10 times higher than the maximum output frequency of 350 Khz, or roughly 3.5 MHz.
This bandwidth should not be confused with the magnetic field measurement "Bandwidth", or how fast of a magnetic field change can be measured. To put a scaler value on any magnetic field reading the output frequency of the magnetometer must be counted, and then scaled appropriately to get a field reading in nanoTeslas. The counting process involves opening a gate Period, counting the number of Larmor (frequency) cycles that occur, divide that number by the precise time interval of the gate Period. then scale that value by dividing by the 3.498572 Hz / Larmor coefficient. You get one reading Per gate Period, which by default is five or ten hertz (200mS to 100 mS gate Period). What you get for a reading during any gate Period is the time interval average of the Larmor frequency over that Period.
The transfer function of a "time interval averaged" signal is [sine(x) / x] with the first zero falling at the sample frequency. Thus if the G-882 is sampling at 10 hertz the maximum resolvable magnetic field change is roughly 5 hertz.
The sample interval of the G-882 is adjustable by sending commands to it. If the sample rate is set to 20 hertz the measurement bandwidth will double (from a 10 hertz sample rate) but the base line noise will go up as well.
It should also be noted that the basic system noise level of the G-882 for a stationary sensor is set by the counter resolution - not by the signal to noise ratio of the oscillator electronics. If the sensor is tilted away from its optimum orientation the magnetometer signal will decrease (and therefore the signal to noise ratio), but the counted field output will not show any significant degradation until the sensor is approaching the dead zone (where the signal is really low).
Hi All,
We are using the Teensy 4.1 as a logger (Adafruit GPS is linked with the Teensy) for the MFAM SX. Below is the code for the Arduino IDE (Teensy), for people who might find it useful,
Roi
#include <NativeEthernet.h>
#include <SD.h>
// ---- NETWORK CONFIGURATION ----
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 2, 10);
IPAddress mfamIP(192, 168, 2, 2);
uint16_t mfamPort = 1000;
EthernetClient client;
// ---- PACKET STRUCTURE ----
const int PACKET_SIZE = 1380;
const int SAMPLE_SIZE = 32;
const int HEADER_SIZE = 16;
const int NUM_SAMPLES = 40;
const int SD_CHIP_SELECT = BUILTIN_SDCARD;
uint8_t buffer[PACKET_SIZE];
int bufferPos = 0;
// ---- SD CARD ----
File logFile;
bool sdReady = false;
unsigned long sampleCount = 0;
unsigned long fileStartTime = 0;
char filename[32];
// ---- AUXILIARY CHANNEL STORAGE ----
double gyroX = 0, gyroY = 0, gyroZ = 0, gyroT = 0;
double accelX = 0, accelY = 0, accelZ = 0, accelT = 0;
double compassX = 0, compassY = 0, compassZ = 0, compassT = 0;
// ---- GPS FROM ADAFRUIT MODULE ON SERIAL1 (Pin 0 = RX) ----
char gpsBuffer[256];
int gpsBufferPos = 0;
char gpsString[128] = "";
char gpsDate[12] = "00/00/00";
char gpsTime[16] = "00:00:00.000";
bool gpsFix = false;
uint8_t tsStatus = 0;
// ---- OUTPUT CONTROL ----
// Set to 1 to log every sample, 10 for 100Hz, 20 for 50Hz, etc.
const int DOWNSAMPLE_FACTOR = 1; // 50 Hz output
int downsampleCounter = 0;
// How many minutes Per file. Set to 10, 20, 60, etc.
const int FILE_MINUTES = 10;
// ---- LED INDICATOR ----
// Off = starting up
// Very slow blink (every 3 sec) = connected and logging
// Fast blink (4/sec) = connected but no data arriving
// Solid on = no SD card
// 3 quick flashes then pause = cannot connect to MFAM
const int LED_PIN = 13;
unsigned long lastBlinkTime = 0;
bool ledState = false;
unsigned long lastDataTime = 0;
// ---- FUNCTION PROTOTYPES ----
void createNewFile();
void parsePacket(uint8_t* pkt);
void parseAuxChannels(uint8_t* sample, uint16_t frameID);
void readGPS();
void parseGPRMC(char* sentence);
void writeSample(unsigned long timestamp, uint16_t fiducial, double mag1, uint16_t mag1s,
double mag2, uint16_t mag2s, uint16_t sysStatus);
int16_t toSigned16(uint16_t val);
void createNewFile() {
static int fileNumber = 0;
// On first call, find the next available file number
if (fileNumber == 0) {
char testName[32];
for (int i = 1; i <= 99999; i++) {
snprintf(testName, sizeof(testName), "MFAM_%05d.txt", i);
if (!SD.exists(testName)) {
fileNumber = i - 1; // Will be incremented below
break;
}
}
}
fileNumber++;
snprintf(filename, sizeof(filename), "MFAM_%05d.txt", fileNumber);
logFile = SD.open(filename, FILE_WRITE);
if (logFile) {
logFile.println("Mag 1,Mag 2,Fid,SysS,Mg1S,Mg2S,Gyro X,Gyro Y,Gyro Z,Gyro T,Accel X,Accel Y,Accel Z,Accel T,CompassX,CompassY,CompassZ,Comp T,Date,Time,TS Status,GPS");
logFile.flush();
fileStartTime = millis();
Serial.print("Logging to: ");
Serial.println(filename);
} else {
Serial.print("ERROR: Could not create ");
Serial.println(filename);
}
}
void setup() {
Serial.begin(115200);
delay(2000);
// Start GPS serial port (Adafruit Ultimate GPS defaults to 9600 baud)
Serial1.begin(9600);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
memset(gpsString, 0, sizeof(gpsString));
// Initialize SD card
if (SD.begin(SD_CHIP_SELECT)) {
sdReady = true;
Serial.println("SD card ready.");
} else {
Serial.println("WARNING: No SD card found. Serial output only.");
digitalWrite(LED_PIN, HIGH);
}
// Initialize Ethernet
Ethernet.begin(mac, ip);
if (Ethernet.hardwareStatus() == EthernetNoHardware) {
Serial.println("ERROR: No Ethernet hardware found!");
while (true) {}
}
Serial.print("Teensy IP: ");
Serial.println(Ethernet.localIP());
Serial.print("Connecting to MFAM at ");
Serial.print(mfamIP);
Serial.print(":");
Serial.println(mfamPort);
if (client.connect(mfamIP, mfamPort)) {
Serial.println("Connected to MFAM!");
} else {
Serial.println("Connection failed!");
}
Serial.println("Waiting for GPS fix...");
if (sdReady) {
createNewFile();
}
Serial.println("Mag 1,Mag 2,Fid,SysS,Mg1S,Mg2S,Gyro X,Gyro Y,Gyro Z,Gyro T,Accel X,Accel Y,Accel Z,Accel T,CompassX,CompassY,CompassZ,Comp T,Date,Time,TS Status,GPS");
}
void loop() {
// Always read GPS data from Serial1
readGPS();
if (!client.connected()) {
Serial.println("Disconnected. Reconnecting...");
if (sdReady && logFile) {
logFile.flush();
}
for (int i = 0; i < 3; i++) {
digitalWrite(LED_PIN, HIGH);
delay(100);
digitalWrite(LED_PIN, LOW);
delay(100);
}
delay(1400);
client.connect(mfamIP, mfamPort);
if (client.connected()) {
lastDataTime = millis();
}
return;
}
while (client.available()) {
buffer[bufferPos] = client.read();
bufferPos++;
if (bufferPos >= PACKET_SIZE) {
parsePacket(buffer);
bufferPos = 0;
lastDataTime = millis();
}
}
// LED patterns
if (sdReady) {
if (millis() - lastDataTime > 3000) {
if (millis() - lastBlinkTime > 125) {
ledState = !ledState;
digitalWrite(LED_PIN, ledState ? HIGH : LOW);
lastBlinkTime = millis();
}
} else {
if (millis() - lastBlinkTime > 1500) {
ledState = !ledState;
digitalWrite(LED_PIN, ledState ? HIGH : LOW);
lastBlinkTime = millis();
}
}
}
// New file every FILE_MINUTES minutes
if (sdReady && logFile && (millis() - fileStartTime > (unsigned long)FILE_MINUTES * 60UL * 1000UL)) {
logFile.close();
createNewFile();
}
}
// ---- GPS READING FROM ADAFRUIT MODULE ON SERIAL1 ----
void readGPS() {
while (Serial1.available()) {
char c = Serial1.read();
if (c == '$') {
gpsBufferPos = 0;
}
if (gpsBufferPos < (int)sizeof(gpsBuffer) - 1) {
gpsBuffer[gpsBufferPos] = c;
gpsBufferPos++;
}
if (c == '\n' || c == '\r') {
gpsBuffer[gpsBufferPos] = '\0';
if (strncmp(gpsBuffer, "$GPRMC", 6) == 0 || strncmp(gpsBuffer, "$GNRMC", 6) == 0) {
// Save full sentence for logging
strncpy(gpsString, gpsBuffer, sizeof(gpsString) - 1);
gpsString[sizeof(gpsString) - 1] = '\0';
// Remove trailing newline/carriage return
int slen = strlen(gpsString);
while (slen > 0 && (gpsString[slen - 1] == '\n' || gpsString[slen - 1] == '\r')) {
gpsString[slen - 1] = '\0';
slen--;
}
parseGPRMC(gpsBuffer);
}
gpsBufferPos = 0;
}
}
}
void parseGPRMC(char* sentence) {
// $GPRMC,HHMMSS.sss,A,lat,N,lon,W,speed,course,DDMMYY,...
char copy[256];
strncpy(copy, sentence, sizeof(copy) - 1);
copy[sizeof(copy) - 1] = '\0';
char* token = strtok(copy, ",");
int field = 0;
while (token != NULL && field < 10) {
switch (field) {
case 1: // Time
if (strlen(token) >= 6) {
snprintf(gpsTime, sizeof(gpsTime), "%c%c:%c%c:%s",
token[0], token[1], token[2], token[3], token + 4);
}
break;
case 2: // Fix status
gpsFix = (token[0] == 'A');
break;
case 9: // Date
if (strlen(token) >= 6) {
snprintf(gpsDate, sizeof(gpsDate), "%c%c/%c%c/%c%c",
token[0], token[1], token[2], token[3], token[4], token[5]);
}
break;
}
token = strtok(NULL, ",");
field++;
}
// Update GPS bits of tsStatus
tsStatus = (tsStatus & 0x0C); // Keep MFAM PPS bits (3,2)
tsStatus |= 0x01; // Bit 0: RMC sentence received
if (gpsFix) {
tsStatus |= 0x02; // Bit 1: GPS fix valid
}
}
// ---- MFAM DATA PARSING ----
int16_t toSigned16(uint16_t val) {
if (val > 32767) return (int16_t)(val - 65536);
return (int16_t)val;
}
void parseAuxChannels(uint8_t* sample, uint16_t frameID) {
uint8_t auxID = (frameID >> 11) & 0x07;
uint16_t aux0 = sample[16] | (sample[17] << 8);
uint16_t aux1 = sample[18] | (sample[19] << 8);
uint16_t aux2 = sample[20] | (sample[21] << 8);
uint16_t aux3 = sample[22] | (sample[23] << 8);
switch (auxID) {
case 1:
compassX = toSigned16(aux0) / 0.01333333;
compassY = toSigned16(aux1) / 0.01333333;
compassZ = toSigned16(aux2) / 0.01333333;
compassT = toSigned16(aux3) / 128.0 + 25.0;
break;
case 2:
gyroX = toSigned16(aux0) / 16.384;
gyroY = toSigned16(aux1) / 16.384;
gyroZ = toSigned16(aux2) / 16.384;
gyroT = toSigned16(aux3) / 512.0 + 23.0;
break;
case 4:
accelX = toSigned16(aux0) / 16384.0;
accelY = toSigned16(aux1) / 16384.0;
accelZ = toSigned16(aux2) / 16384.0;
accelT = toSigned16(aux3) / 512.0 + 23.0;
break;
default:
break;
}
}
void writeSample(unsigned long timestamp, uint16_t fiducial, double mag1, uint16_t mag1s,
double mag2, uint16_t mag2s, uint16_t sysStatus) {
char tsStr[12];
snprintf(tsStr, sizeof(tsStr), "%d%d%d%d%d%d%d%d",
(tsStatus >> 7) & 1, (tsStatus >> 6) & 1, (tsStatus >> 5) & 1, (tsStatus >> 4) & 1,
(tsStatus >> 3) & 1, (tsStatus >> 2) & 1, (tsStatus >> 1) & 1, tsStatus & 1);
char sysHex[8], m1sHex[8], m2sHex[8];
snprintf(sysHex, sizeof(sysHex), "%04X", sysStatus);
snprintf(m1sHex, sizeof(m1sHex), "%04X", mag1s);
snprintf(m2sHex, sizeof(m2sHex), "%04X", mag2s);
char line[512];
snprintf(line, sizeof(line),
"%10.4f,%10.4f,%4d,%s,%s,%s,%10.2f,%10.2f,%10.2f,%5.1f,%8.5f,%8.5f,%8.5f,%5.1f,%8.1f,%8.1f,%8.1f,%5.1f,%s,%s,%s,%s",
mag1, mag2, fiducial, sysHex, m1sHex, m2sHex,
gyroX, gyroY, gyroZ, gyroT,
accelX, accelY, accelZ, accelT,
compassX, compassY, compassZ, compassT,
gpsDate, gpsTime, tsStr, gpsString);
if (sdReady && logFile) {
logFile.println(line);
if (sampleCount % 1000 == 0) {
logFile.flush();
}
}
if (sampleCount % 500 == 0) {
Serial.println(line);
}
}
void parsePacket(uint8_t* pkt) {
// Get PPS bits from MFAM system status
uint16_t firstSysStatus = pkt[HEADER_SIZE + 2] | (pkt[HEADER_SIZE + 3] << 8);
uint8_t mfamPPSbits = (firstSysStatus >> 12) & 0x0C;
tsStatus = (tsStatus & 0x03) | mfamPPSbits;
for (int i = 0; i < NUM_SAMPLES; i++) {
int offset = HEADER_SIZE + (i * SAMPLE_SIZE);
uint16_t frameID = pkt[offset] | (pkt[offset + 1] << 8);
uint16_t fiducial = frameID & 0x07FF;
uint16_t sysStatus = pkt[offset + 2] | (pkt[offset + 3] << 8);
uint32_t mag1raw = pkt[offset + 4] | (pkt[offset + 5] << 8) |
((uint32_t)pkt[offset + 6] << 16) | ((uint32_t)pkt[offset + 7] << 24);
double mag1 = mag1raw * 0.05 / 1000.0;
uint16_t mag1status = pkt[offset + 8] | (pkt[offset + 9] << 8);
uint32_t mag2raw = pkt[offset + 10] | (pkt[offset + 11] << 8) |
((uint32_t)pkt[offset + 12] << 16) | ((uint32_t)pkt[offset + 13] << 24);
double mag2 = mag2raw * 0.05 / 1000.0;
uint16_t mag2status = pkt[offset + 14] | (pkt[offset + 15] << 8);
parseAuxChannels(pkt + offset, frameID);
sampleCount++;
downsampleCounter++;
if (downsampleCounter >= DOWNSAMPLE_FACTOR) {
downsampleCounter = 0;
writeSample(millis(), fiducial, mag1, mag1status, mag2, mag2status, sysStatus);
}
}
}
Customer had problem connecting Wi-Fi using domain magarrow.net.
Solution: Verify the blinking LED patterns are ok:
1) One steady blink and a pause, about once Per second - The MagArrow is ready for a WIFI connection from your device.
2) Two short blinks followed by a pause – A device is connected to the MagArrow’s WIFI. If your device or another nearby device is set to connect automatically, this two-blink pattern might commence quite soon after power-on.
If the MagArrow LED blinks normally, please try to connect to 192.168.1.1, instead of magarrow.net.
If the LEDs don’t blink in these patterns, refer to the user manual’s troubleshooting section and/or contact support@geometrics.com
The 1PPS pulse phase locks and synchronizes the sample interval to be in lock step with the GPS. Thus once locked there will always be 1000 samples Per second, with the sample beginning time precisely lined up with the 1 PPS edge. The 10 MHz input is for a different function. This input phase locks the 40 MHz master reference oscillator to the incoming 10 MHz, which is usually a GPS disciplined reference oscillator or atomic clock (in other words exactly 10 MHz). This phase locks the 40 MHz reference oscillator to exactly 40 MHz. The 40 MHz oscillator is the time base reference for calculating the Larmor frequency, and therefor the magnetic field value. Even though the 40MHz oscillator is really good even without the 10 MHz input, there is some drift in the 40 MHz over time (mostly thermal drift and some aging). For some applications where they need to measure very low frequency and low amplitude changes in the magnetic field the 10 MHz input will allow drifts in the reference oscillator to be removed. Without that it would be impossible to distinguish between reference oscillator drifts and low frequency low amplitude changes in the magnetic field.
The connector for the 10 MHz input is SMB RF connector from Molex.
If you must simulate the 1 PPS signal in a GPS denied environment, please be aware of certain requirements of the 1 PPS signal.
1. The lock range for the 1 PPS input pulse is very narrow. The simulated 1 PPS signal must be within 100 ppm of an exact 1 Hz PPS signal (100us).
2. Timing jitter must be small (less than 0.5 ppm, 0.5us) too. If you are setting a GPIO pin on a microcontroller, there may be some concern about timing jitter due to interrupt latency or other processor tasks delaying the I/O pin toggle. Any rectangular waveform should work but the leading edge must be very close to 1 Hertz. It is the positive edge that specifies the 1 second rollover.
That depends on a variety of factors such as the amount of explosives to be used Per shot, your desired depth of exploration, etc. The answer is ideally that you drill the shot holes deep enough to avoid blowouts, but no deeper. If you are using explosives we recommend the use of the HVB-1 Blaster. We have HVB-1 Blasters available through our Rental Department as well.
The Geode Seismograph uses 0.5 W/ch during acquisiton with a 0.25 ms sample rate. With that power consumption, a single 12 amp-hour battery is sufficient for a typical day of data acquisition.
In standby mode, power consumption is reduced by 70%. We recommend you run each Geode AU unit off of its own battery (2 is one and 1 is none), but you can run two Geode's off of one battery if the battery is able to deliver 2 amps Per hour.
The smaller the battery, the more often it needs to be recharged, so keep that in mind when deciding on your power source.
Altitude refers to Meters Above Mean Sea Level.
For both MagArrow I and II, the altitude is ellipsoidal and the earth model is WGS84.
For additional information:
Overview
Reported elevations from MagArrow (and G-864 and MagEx) are the unedited values from the elevation field in the GNSS's GGA NMEA string. That value is the GNSS's calculated height above geoid; height above geoid is the standard meaning of the elevation field in the GGA NMEA string.
But what does calculated height above geoid mean?
Definitions
GNSS - Global Navigation Satellite System
GPS - The GNSS operated by the United States. Other systems include GLONASS(Russia), Galileo (Europe), BeiDou (China), QZSS (Japan), IRNSS (India).
Ellipsoid - A comparatively simple or abstract geometric model of Earth's surface.
Geoid - A more complex model of Earth's surface that takes the place of what was previously called Mean Sea Level. At any particular latitude or longitude, the geoid's surface may be above or below the ellipsoid's by as much as a few hundred Meters, depending on regional and local geography and geology.
Reference datum - A specific model of Earth's shape (such as WGS84, EGM96...), including references to specific landmarks.
Calculations
A particular GNSS, for example the GPS system run by the United States, provides timing data to a receiver to calculate the receiver's position above or below a particular latitude and longitude on the surface of the ellipsoid.
The GNSS receiver first uses that timing data to calculate its height over the ellipsoid, and then subtracts from it the local height of the geoid over the ellipsoid (or HAE), to arrive at the local height of the receiver over the geoid (or in old-fashioned terms, elevation over mean sea level):
h - calculated height above geoid. This is the value reported in the GGA elevation field.
H - height of the receiver over the ellipsoid (calculated from GNSS timing signals)
N - local height of geoid over the ellipsoid, or HAE, Per a lookup table or other local reference.
h = H - N
Because the local height of the geoid over the ellipsoid is not provided by the GNSS, it must be provided locally, i.e. by the GNSS receiver, which may contain an internal database from which the local geoid height over ellipsoid (or HAE) can be found, based on the receiver's latitude and longitude. Small GNSS receivers contain small HAE databases, so the HAE value will not be exact. Some small receivers contain no HAE table at all; in this case HAE is deemed to be zero, so that the reported elevation is the uncorrected height over ellipsoid.
A user of elevation data from Geometrics' MagArrow, G-864, and MagEx magnetometers may evaluate or adjust the reported values of the GGA elevation field and the GGA HAE field, by comparing the GGA HAE values to another source of local HAE data; this may particularly be useful for GNSSes that report a HAE equal to zero. Geometrics magnetometers do not currently record the values of a VDOP calculation, which offers an additional statistical estimate of the accuracy of the GNSS elevation measurement.
Clarification regarding Geometrics standard magnetometers
SX versions and the US Govt. export regulations
In this brief review magnetometer specifications are given in terms of both nT/sq-rt-Hz RMS and in Peak-to-Peak (P-P) noise values as both forms are often used to describe instrument Performance.
The US Government specifies that an export license is required for magnetometers that have a sensitivity of better than (noise level less than) 0.02nT/sq-rt-Hz RMS. Obtaining an export license is not difficult but it does require approximately 6-8 weeks. Not all geophysical applications require export license sensitivity and so we offer SX models that have a noise floor of 0.02nT/sq-rt-Hz RMS. Compare this with our G-858 Magnetometer at 0.008nT/sq-rt-Hz RMS and our G-882 Marine Magnetometer at 0.004nT/sq-rt-Hz RMS.
What does SX Performance mean in the survey results? When the sensor is deployed at some distance from the “source” such as in above the shoulder mounting for geological surveys (G-859SX) or at some distance (several Meters) from the seafloor for G-882SX surveys, the distance from the source provides some natural filtering of the near surface response. This means that surveys not focused on small target detection (20mm ordnance rounds) where the sensor is deployed very close to the ground (<1m), SX Performance is more than adequate.
Let us consider the G-858 man-portable model. Under low noise laboratory conditions at a sample rate of 10 samples Per second, the G-858SX will show approximately 0.125 nT of noise (peak-to-peak) compared to a standard G-858 of about 0.05nT P-P. To understand the significance of this, the natural earth background noise due to geomagnetic micro-pulsations is about 0.02nT/sq-rt-Hz (about 0.125 nT peak-to-peak) at the quietest of times. Micro-pulsation amplitudes of 1 or 2 nT are common and, during active Periods, they may be larger than 10 nT.
Any magnetometer will produce a record of the combination of the background noise (micro-pulsations, diurnal drifts, etc) and its own internal noise. If the various noise components are not correlated with each other they will add as the square root of the sum of their squared amplitudes. In the case of the G-858SX, the combination of instrument noise and background micro-pulsations will be:
√(0.125nT^2 + 0.125^2) = 0.18nT.
For the standard G-858, this combination will be:
√(0.05nT^2 + 0.125^2) = 0.13nT.
That is, the SX model will exhibit about 30% more noise amplitude compared to the standard model if the atmospheric noise is typical. Unless the survey measurements are referenced to a high Performance base station magnetometer equipped with a very accurate clock, the user will not be able to detect any difference between SX and standard Performance. If such base station data were available, the greatest difference that would be seen should be no greater than about 0.05nT P-P in the average peak-to-peak amplitude. Such small differences cannot be seen or even detected in the total field contour maps made for exploration surveys which are typically contoured at 1nT or more.
It should be remembered that the amplitude of the geomagnetic micro-pulsations in the frequency range from 5hz to 10hz is not constant; i.e., at most times they will be greater than 0.125nT and occasionally less than this value. Their intensity is governed by the average intensity of the instantaneous global thunderstorm activity and sunspot activity.
Page 2 / 2
Prev