3

tldr: Can I transmit an analog signal through a noisy environment without it being corrupted, or should I use a digital signal instead?

My requirement is to transmit a signal from a MA3 absolute magnetic encoder 75 feet in the sky to a DAQ module on the ground. This model comes with an analog or digital interface. I would prefer to use the analog, because it is easier to interface with a DAQ module.

With the analog interface, the sensor has 10 bit resolution, 2.6 kSample/s, 0-5V output. To keep linearity of the sensor data around the 0 and 5V boundaries the output load impedance should be greater than 4.7kohms and less than 100pF.

The digital interface uses PWM. It has 10 bits of resolution and has a frequency of approximately 1kHz. The RC oscillator for PWM is only within 10% of its rated pulse period, but this can be accounted for by calculating the ratio of tOn to tOff for each duty cycle. In order to interface this with a DAQ module I would have to use counting logic. I am not a fan of this approach because the counting approach seems error-prone, and it will require learning software for the DAQ. However, I will use it if the analog route is impossible.

For the shape of the signal, I expect it to constantly vibrate slightly from the sensor position changing slightly, but change overall very slowly since the shaft it is monitoring rotates at less than 1 RPM.

There are three complications to this.

  • the signal has to pass through a slip ring
  • the signal has to travel from a height of 75 feet to the ground - I have heard that long wires act as antennae for EMI and the height of the cable in the sky may affect this
  • the wire carrying the signal will be no more than a foot away from wires carrying 3 phases of up to 40V of wild AC

My first question is: based on all of these sources of interference, does the analog signal stand any chance of maintaining integrity when it reaches the DAQ module? I lack the experience with signals to be able to predict whether this is feasible or not.

If you think this is possible, do you have any recommendations for making it work? The only approach I know of is shielding the wire, and keeping it as far away from the power lines as possible.

Thanks for your help

user211492
  • 77
  • 6
  • Welcome to EESE! What is the output impedance (or type) of the sensor, e.g., it's Thevenin or Norton equivalent. – Edgar Brown Jan 30 '19 at 20:43
  • 1
    "transmit a 10 bit resolution, 2.6 kSample/s, 0-5V analogue signal" An analog signal doesn't have a bit resolution or sample rate, so I assume you are digitizing it on the receiving end? And you need the noise floor to be below whatever your LSB is? What bandwidth do you need? – John D Jan 30 '19 at 20:46
  • @EdgarBrown Thanks! With respect to the output impedance, the datasheet reads: " The analog output voltage is ratiometric to the power supply voltage and will typically swing within 15 millivolts of the power supply rails with no output load. This non-linearity near the rails increases with increasing output loads. For this reason, the output load impedance should be 4.7k and less than 100pF" – user211492 Jan 30 '19 at 20:56
  • 2
    Why can't you digitize the signal at the source? Or perhaps encode it with a V/F converter? – crj11 Jan 30 '19 at 20:56
  • @JohnD You are correct, the signal will be read by an ADC. I know what you mean that an analogue signal technically doesn't have either of those parameters, but the datasheet lists them. The sensor is an absolute magnetic encoder so I think it does its own DAC signal processing onboard, and that's what it means. In terms of LSB, I have to confess I am not familiar with that term, I am very new to signal processing! If I am interpreting what you mean correctly based on some googling I would like to have a bandwidth of +/-0.00244V, but I need at worst +/- 0.0278V. – user211492 Jan 30 '19 at 21:01
  • 2
    Please add that information to the question itself. You will not be able to satisfy that 100pF load restriction through a 75ft long cable unless you use a driven shield. And that text suggests an output impedance on the order of 400Ω, not too problematic. As you already have a local power supply, you would be better off doing the conversion near the sensor anyway. – Edgar Brown Jan 30 '19 at 21:03
  • 1
    "I would like to have a bandwidth of +/-0.00244V, but I need at worst +/- 0.0278V." - that's resolution, not bandwidth. What is the maximum frequency of the waveform, and what shape is expected? What is the device being sensed? – Bruce Abbott Jan 30 '19 at 21:13
  • @crj11 The sensor can also be purchased in a PWM output variant. The reason I was targeting analog is because it is easier to interface with a DAQ module. I am not sure if it is even possible to read in the PWM signal with the DAQ module I am using. I had not heard of VF converters before, I will have to do some research on that. – user211492 Jan 30 '19 at 21:14
  • @user211492 With PWM, depending on the frequency, you can just use an RC to low pass it before digitizing it with a standard ADC. – crj11 Jan 30 '19 at 21:17
  • @BruceAbbott The sensor that is generating the waveform is an absolute magnetic encoder. Since the encoder will spin much slower than the sampling rate, say at roughly 1 RPM, I expect the output signal to look almost close to DC, which may vibrate a bit between minute positions on the encoder but only change slowly, i.e. under 1V / second. – user211492 Jan 30 '19 at 21:18
  • @crj11 The PWM frequency is around 1kHz. I will edit this into my question. Is PWM -> RC filter -> ADC a common practice? Is it reliable? – user211492 Jan 30 '19 at 21:20
  • 1
    @user211492 That would be hard to low pass while still getting 10 bits of resolution and fast response. However, since it is slow, you could use counting logic to digitize the PWM. Counting the high and low time at 2 MHz would give you 10+ bits of resolution. You could probably do it in firmware with the right microcontroller. – crj11 Jan 30 '19 at 21:25
  • @crj11 I wish I could use a microcontroller, but that approach is undesirable. If I added a microcontroller, it would be another component which would have to interface with the data-collecting computer along with the DAQ which is bad for organization. I'd rather stick to encoder -> some form of transmission -> DAQ – user211492 Jan 30 '19 at 21:28
  • Low passing PWM to get a DCish value is pretty standard. You can calculate the accuracy by looking at the RC time constant versus the required sample rate. With a large RC time constant you can get very low ripple. – crj11 Jan 30 '19 at 21:29
  • 1
    The nice thing about using the RC low pass is that it can also filter out noise associated with bouncing contacts on the slip ring. – crj11 Jan 30 '19 at 21:30
  • Above I should have said noise depends on the RC time constant vs the PWM frequency. See http://sim.okawa-denshi.jp/en/PWMtool.php . You can also easily simulate the filter with something like LTSpice. – crj11 Jan 30 '19 at 21:34
  • Your present design model doesn’t have a chance of having a 60 dB SNR or 10bit accuracy from inductive CM noise nearby. – Tony Stewart EE75 Jan 31 '19 at 04:15
  • @SunnyskyguyEE75 This was my concern. I guess that the inductive common mode noise you are referring to is from the power lines. How do you calculate SNR for a planned setup? Or is it something you can only really estimate beforehand or measure afterward? – user211492 Jan 31 '19 at 14:41
  • Digitizing it at the source sounds like the only sensible method. If you must have it in analog form for your DAQ, just stick it through a local DAC of some sort. – Hearth Jan 31 '19 at 14:48
  • If you can convert the analog signal to a fully differential signal very close to the source, you *may* have a chance of reducing noise; a lot depends on the quality of the differential wiring. – Peter Smith Jan 31 '19 at 14:58
  • @Hearth Do you think a digital signal will not be corrupted in this situation? – user211492 Jan 31 '19 at 15:14
  • @PeterSmith Interesting idea, but it's not ideal to add even small hardware at the source due to space constraints. I am leaning more towards digital now. – user211492 Jan 31 '19 at 15:16
  • You don’t stand a chance with wild AC currents nearby unless someone designs an ADC attached to sensor with RS-485 diff. Link using STP wire and even then depending on earth grounding or CM chokes can get data errors. – Tony Stewart EE75 Jan 31 '19 at 18:18
  • 60dB SNR is FM radio quality but in this case 10bit resolution – Tony Stewart EE75 Jan 31 '19 at 18:21
  • @user211492 Digital signals are substantially more resistant to noise, that's one of the biggest reasons digital data transmission is so predominant. – Hearth Jan 31 '19 at 21:39
  • @SunnyskyguyEE75 I think I will go the digital route. – user211492 Feb 01 '19 at 20:31
  • @Hearth If you know of any good resources like free textbooks to study digital signal integrity, and how to prevent and reverse noise on them I would be grateful. – user211492 Feb 01 '19 at 20:32
  • @user211492 I don't know any off the top of my head, and that's kind of beyond the scope of this site. – Hearth Feb 01 '19 at 20:34

1 Answers1

3

Can I transmit an analog signal through a noisy environment without it being corrupted, or should I use a digital signal instead?

Yes, you can transmit analog signals long distance without them being corrupted, but proper EMI technique needs to be followed. The usual route is to gain the signal up at the sensor and then use shielding on the cable from the sensor to prevent interference from electric fields but not magnetic fields. 10bits of resolution on a 5V signal equates to 5mV, which isn't terribly difficult in most cases but in your environment with AC running close to the cable keeping the signal clean might be tricky.

The other problem with a cable would be currents (especially non constant/AC currents) on the shield of the cable which must be kept to a minimum or the current through mutual inductance between the shield and the inner conductor(s) can create voltage noise on the inner conductors. There can be problems with running a long cable, such as creating a ground loop. Since you also need to go through a slip ring this could also be a potential source of noise since it would difficult to maintain the shield. The slip ring could be a big source of noise for an analog signal.

With a digital signal (and differential signaling such as RS485) these problems can be avoided and in my opinion it is easier to isolate a digital signal than an analog one. I would say go the digital route considering your environment.

If you want to go the analog route, if you had a power supply, you could run an experiment and set it to a known voltage, like 5V and then measure the noise on the other end of the cable with a DMM, if the noise is below 5mV, then it would probably be feasible to go the analog route.

Voltage Spike
  • 75,799
  • 36
  • 80
  • 208
  • Thanks for the response. I have decided that the difficulty of counting logic PWM on the DAQ module is worth the less corruptible digital signal. Do you know of any resources to study digital signal integrity? – user211492 Feb 01 '19 at 20:30
  • You could maybe get one of these, I haven't checked the voltage levels and I don't know if this one will work, but there are devices that measure duty cycle https://www.laurels.com/transmitter-duty-cycle.php The sampling time or bandwidth needs to be more than the thing your measuring. Look at ways to "measure duty cycle" on your favorite search engine. – Voltage Spike Feb 01 '19 at 21:14
  • You could also do a simmilar thing with a raspberry pi https://raspberrypi.stackexchange.com/questions/63409/how-to-precisely-capture-the-arrival-time-of-an-input-edge – Voltage Spike Feb 01 '19 at 21:15