Notifications
Clear all
Search result for: id10=WA 0859 3970 0884 Jasa Bangun Plafon Gypsum Terpasang Per M2 Terpercaya Mojolaban Sukoharjo
Page 1 / 2
Next
Very often I am asked what the difference is between the Lite, Std and Pro versions of the 2D Refraction software licenses.
SeisImager/2D Software Packages
• Standard version: for use on seismograph with mouse or PC with mouse; allows up to 16K samples Per trace, 128 traces Per shot, 360 traces Per interpretation, and 65 shots Per interpretation.• Professional version: for use on seismograph with mouse or PC with mouse; allows virtually unlimited input up to 2M samples Per trace, 48K traces Per shot, 48K traces Per interpretation, and 48K shots Per interpretation.• Lite version: included with purchase of Geometrics Windows-based seismographs. For use on seismograph with mouse or PC with mouse; allows up to 16K samples Per trace, 64 traces Per shot, 51 traces Per interpretation, and 12 shots Per interpretation.• Demonstration version: for use on PC with mouse, may be launched 15 times; same allowances as Lite version; no printing capability.Note: The number of shots Per spread and spreads Per interpretation are dependent on the actual trace number used. The Standard and Professional versions are also available for rent.
SeisImager Software Suite* Refraction & Surface Wave Data Analysis Software 40 hr - $200 75 hr - $300 250 hr- $500.
See Rentals - Geometrics : Geometrics and email rentals@geometrics.com to set up an order.
Raw Data
MagArrow data is imported into Survey Manager in the form of .MAGDATA files, downloaded from the MagArrow. The .MAGDATA file contains measurements from different sensors inside the MagArrow: 1000Hz magnetometer readings; accelerometer, gyro, compass, temperature readings; and GPS info.
MFAM assigns a fiducial number, or “FID” to each magnetometer reading, in a cycle from 1 to 1000 that repeats every second. In the instrument, the magnetometer readings and the GPS sentence data are synchronized so that the “FID-1” magnetometer record is matched with the GPS location and timing information.
Exports to CSV and Geosoft file formats
1000Hz un-filtered export
The 1000Hz export provides the original raw magnetometer data plus some simple interpolations:
• Magnetometer reading: The raw magnetic field values are exported without application of a filter. [While these raw measurements are the output of a filter inside the MFAM sensor: a 9-pole Butterworth low pass filter with a -3dB point at 400Hz, that filter is considered part of the sensor for this description.]
• Auxiliary sensors: Gyro, accelerometer, and temperature are acquired once Per every 5 magnetometer readings, and are reported only when acquired. Compass readings are acquired one Per every 10 magnetometer readings and are reported only when acquired.
• GPS NMEA sentence: Reported with the associated FID-1 mag record. A few individual fields from the GPS are also broken out from the GPS sentence and reported separately, without interpolation.
• Interpolated GPS fields: Time, date, latitude, longitude, and track (course over ground) are linearly interpolated between GPS readings.
Decimated exports
Each of the exports at frequencies from 10 Hz to 100 Hz is a decimation – data are filtered by a low-pass filter and then down-sampled to the target sample rate. Each low-pass filter (a different one for each decimation) is a symmetric finite impulse response (or FIR) filter, with the following design goals:
• -3dB attenuation at 0.75 * Nyquist frequency (e.g., the -3dB point for the 10Hz decimation is 3.75Hz)
• Significant attenuation of 50Hz and 60Hz signals.
• Reasonably flat response in the pass band.
Linear phase (or zero phase, or constant group delay) filters.
These filters are not Kalman filters. The filters are applied to fields in the decimations as follows:
• Magnetometer readings: Magnetometer readings are decimated: the FIR is applied, then the data are down-sampled to the target rate.
• Aux sensors: Aux sensors are first up-sampled to 1000Hz by linear interpolation of values between individual readings (which occur once every 5 mag readings for gyro, accelerometer, and temperature, and once every 10 mag readings for compass). Then these 1000Hz values are decimated in the same process as the magnetometer readings.
• Latitude and longitude are first up-sampled to 1000Hz by linear interpolation of values between successive GPS data (once Per second), then these 1000 Hz values are decimated in the same process as the magnetometer readings.
• Time, date, and track are linearly interpolated as in the raw, unfiltered 1000Hz export.
Merging filtered and unfiltered data.
Some of the values in an individual line of data are filtered: mag readings, aux sensors, etc. Other measurements are not filtered: time and date, GPS sentences, record counters, and the simple interpolated fields. These two sets of values – filtered and unfiltered, must be reported in individual lines that contain values of both types. The question “How should the two sets of values be matched?” is addressed as follows:
A decimation filter has a center. For example, a single filter result that weighs 499 individual measurements running from record number 752 to record number 1250 (in DSP terms, it is the result of the convolution of 499 input values with 499 filter weights), is centered on record number 1001. The result is the “filtered value of record 1001”. In a single line along with this value should be the other filtered results centered on record number 1001 plus the unfiltered raw and interpolated values that were recorded as part of the original, raw record 1001.
The down-sampling part of decimation involves keeping some results and discarding others; down-sampling from 1000Hz to 100Hz includes discarding 9 out of 10 results. During exports, Survey Manager keeps the “FID 1” record, because it includes the original GPS information, then discards the next 9 records (if it’s a 100Hz decimation), and then repeats the pattern, each time starting with FID 1.
If you have questions about the MagArrow decimations, please contact your Geometrics account manager.
The MetalMapper 2×2 measures in two distinct modes. A dynamic survey involves collecting data over the site while the instrument moves in a series of parallel swaths. The dynamic survey then identifies targets which need further characterization. These targets are then measured during a static or cued survey, where the instrument makes measurements while stationary over the previously identified targets.
In clear areas with a trained 2 man crew, the MetalMapper 2×2 can survey about ¾ of an acre Per day in dynamic mode or collect 200 cued targets Per day in static mode.
It is not practical to use the MetalMapper as a metal detector for applications like prospecting or utility location due to the specialized nature of the measurement and the instrument cost.
1. When the transmitter is turned on, the red power light (or green light in later versions) comes on and stays on. The blue light will go into a rapid flashing pattern then settles into a three-flash sequence, for example short-long-short or short-long-long, or something like that. Is that what the transmitter is doing? If not, there are three possible causes of the problem and this will require require swapping parts:
Defective dipole cable or shorting plugs are two potential problems. The best test is to plug the shorting plugs directly into both ends of the Transmitter and turn on. If this works, then add one dipole cable and turn on again. Then add the second cable and power up. If failure occurs with just the shorting plugs then the most likely problem is a battery with a shorted internal cell. This will look like it is fully charged when you measure it with a volt meter, but will not be able to supply the current required to drive the transmitter. Swap out batteries to test. If swapping the batteries does not resolve the issue and you never get the blue light to start flashing you may have a bad Tx and it would need to be returned to Geometrics.
2. When the receiver is turned on the red power light will come on, then the blue light will flash rapidly, then the blue light will turn off waiting for the receiver to phase lock onto the Tx. Once it locks onto the transmitter the blue light will start flashing at once Per measurement. Depending on how conductive the ground is and how far apart the Tx/Rx separation is you may have to wait up to a minute to get the lock. Try it with about a 5 meter separation between the end of the dipoles, i.e. the equivalent to having a 5-meter rope between them. The Rx should lock and start flashing within about 20 seconds. If it never locks on even though the Tx's blue light is flashing then there may be something wrong with the receiver and it would need to be sent back. Remember that the transmitter blue light has to be flashing first. If the Tx is not working the Rx will never detect it and start flashing.
3. With the Rx turned on, even if the blue light is not flashing, when you look at the OhmMapper Test screen on the console do you see the message: Setting Gain, Phase A, Phase B or something similar being updated on the screen every second (or twice Per second with the old systems)? If so your console is communicating with the receiver. If not, you have no communication between the Rx and the console so you could have a bad dipole cable, bad optical wand, bad console cable, or a bad receiver. If you have spares of any of these items you can troubleshoot the problem. If you have no spares then you will need to send the system back here for evaluation by submitting an RMA request.
We get occasional calls asking how to use one of our seismographs as a vibration
monitor. The method for this is described below, but it should be noted that while true
amplitudes can be obtained, this method of measuring them would probably not stand up
in court. True vibration monitors – seismographs designed specifically for this task –
have a built-in geophone. The voltage output of the geophone Per unit vibration is known to a very high degree of accuracy, and the system is calibrated by the manufacturer regularly (usually once a year). If you are measuring vibrations in a situation in which litigation might be involved, you should use a true vibration monitor. One of the more popular ones is the Blastmate by Instantel.
Vibrations are generally quantified in units of particle velocity, the first derivative of displacement. Geophones are particle velocity sensors – output is directly proportional to particle velocity. If you know the response function (sensitivity) of your geophone – the voltage output Per unit velocity input – you can convert voltage (as measured by the seismograph) to mechanical vibration in terms of particle velocity. The sensitivity of your geophone can be obtained by the geophone manufacturer, and will be expressed as a function of frequency. A typical graph of geophone sensitivity is shown below:
It is best to used a geophone that has a natural frequency at or lower than the lowest frequency of interest.
Seismic data files are stored in a SEG format. The first step is to convert the SEG output of the seismograph to an ASCII columnar format.
If you are using an ES-3000 or Geode, your controller PC should have this icon for Tape Reader on the desktop:
If not, download Tape Reader.
Run the program and click on File>>Open:
Read in the file you wish to convert to ASCII.
Now, click on File>>Save Displayed Data to Ascii File:
After making your format choices (be sure to convert to mV), press Export. The record will be written in an ASCII format that can then be imported to Excel. From here you
can calculate the frequency spectra and particle velocities using the response function of the geophone.
The batteries used in the portable magnetometer instruments are lead-acid gelled electrolyte batteries. The choice of this type of battery was dictated by their non-magnetic internal construction. We “magnetically compensate” these batteries to further reduce their magnetic signature. We do this with bucking coils which are mounted against the battery surfaces and then an external wrap applied.
The batteries should be charged using the charger furnished with the instrument. These chargers are fully automatic and designed to do the best job of charging and maintaining the batteries for long life. All of the chargers are equipped with lights indicating when the battery is being charged and when the charging cycle is completed.
The battery packs will provide the most operating cycles when they are fully charged after each use. The number of operating cycles can vary from 250 cycles to above 1000 cycles depending on how deep the discharge was and how soon the battery is charged after use.
A 30% discharge Per cycle may result in a lifetime of 1000 cycles or more, whereas a 100% discharge Per cycle can result in only 250 cycles. As a rule the magnetometer will shut down when the battery is discharged to about 20% of full voltage. This is to ensure proper shutdown of the instrument.
It is very important to recharge the battery as soon as possible after use so the maximum life can be expected from the pack. If the discharged pack is left to charge “when we get back from the field” the pack can suffer from “sulphation”. This is a high-resistance buildup in the battery which may render the battery unusable.
If a battery of this type must be stored for an extended Period, it must be stored in a fully-charged condition. If such a battery is stored discharged and subject to below-freezing conditions, it is likely to freeze and be subsequently unusable.
All Lead-Acid batteries must be maintained when in storage. This means that the user must recharge each pack at least once a month. Lead Acid batteries will self-discharge due to stray internal resistances, causing very small drain currents. Thus the maintenance requirement for monthly recharging is critical to long battery life. Do not leave the charger on all the time during storage. Also it is very important to use discharge the batteries on a regular basis otherwise the lifespan will be severely shortened. For more information contact our Support Department.
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).
Regarding the deployment of magnetometers on conductive sleds or carts near power lines: Depending on the proximity of the magnetometer to the sled, elevated field readings may be observe under power lines are a result of AC induction in the aluminum sledge you are using as the tow vehicle. The reason there can be a DC effect from an AC source is due to 1) the strength and proximity of the induced AC source and 2) the orientation of the induced AC field relative to the Earth's field (DC).
Our cesium-vapor magnetometers measure the total local field continuously but report these measurements Periodically, e.g at 10, 1000 times Per second. For each reporting Period, both the AC and DC components of the total field are integrated to produce the measurement result as a time average over the measurement cycle. If your measurements are being reported 10 times Per second (10 hz sample rate) and the AC component of the field is 50 hz, then each measurement will include exactly 5 AC cycles. This AC component will add to the DC component as a vector sum and the magnetometer will measure the magnitude of the resultant vector. Note that the vector component of the 50 hz AC field that is parallel to the DC component will not contribute to measurement results: for half of each AC cycle this field is greater than the DC field and for the other half of the cycle it is less than the DC field by an equal value. This is not the case for the AC vector component that is Perpendicular to the DC field: it will be adding magnitude to the DC field on each 1/2 cycle to produce a half-wave-rectified wave form. Specifically, this rectified field will add to the DC field by an amount equal to about 35% of its peak-to-peak field strength in the direction Perpendicular to the DC component.
The AC rectification described above is only seen on close approach to very strong AC sources (high tension power lines). An aluminum sled can act as an indirect source of the AC fields: the radiated 50 hz field from the power lines is inducing 50 hz eddy currents in the sled and, if a magnetometer is in close proximity of the sled's aluminum plates, it will detect large AC field values. Note that surveying near other large, planar conductors under the high tension power line can produce a similar effect. These would include metal buildings, metal fences, and pipelines.
We recommend constructing magnetometer sleds from non-conductive materials. If this is cannot be done, then conducive materials should be kept as far from the sensor as is practical and the sled's construction should not include sheets of conductive materials. Any joints between conductive structural elements should be insulated as well. You can use the magnetometer itself to measure the effect of the sled.
The MagArrow uses a 3 cell Lithium Polymer battery to power the MagArrow 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 MagArrow 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 MagArrow 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 2200 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 MagArrow for about two hours. The MagArrow 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 MagArrow 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 MagArrow 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.
To download a copy of this document as a PDF, click here.
Some example batteries are shown below:
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.
If the sensor is in a very large gradient field such as inside a building near some steel objects, then the high gradients (change of field with distance) causes different parts of the internal sensor components to respond to different fields, making the sum signal smaller. This only takes place when the gradients are very large such as several thousand nT Per meter and will not be seen under normal survey conditions.
Page 1 / 2
Next