Understanding X-10 PLC Noise and Signal Attenuation

An X-10 receiver watches the powerline looking for the presence of 120kHz in the X-10 information window (the red rectangles above) just after each zero crossing point of the 50Hz or 60Hz power. For most X-10 receivers, the 120kHz must have a minimum amplitude of 100 millivolts to be detected reliably. To quote X-10, "The acceptance window begins approximately 250 µS and ends approximately 900 µS after a zero crossing. In this window 48 or more cycles of carrier are accepted as a "1" bit and fewer than 48 as a "0" bit." Anything which puts 120kHz in an acceptance window where there should be none will turn Binary 0 into Binary 1 and corrupt the signal. Anything that reduces the amplitude of the legitimate 120kHz can turn Binary 1 into Binary 0.

X-10 incorporates some error detection within the power line protocol. Each data bit is actually sent twice, in complementary form, on alternate half cycles. This means that a "1" is sent to the power line as 1 (120kHz) followed by 0 (no 120kHz) and a "0" is sent as 0 (no 120kHz) followed by a 1 (120kHz). Thus, it takes one complete cycle of the powerline to send a single data bit (10 or 01). If you analyze the possible combinations of 10 and 01, you'll see that it is impossible to have 111 or 000 because of the complementary nature of the protocol. Thus 1110 is impossible within an uncorrupted signal and X-10 uses this combination of bits as a startcode that begins each X-10 power line transmission sequence. Most X-10 transmitters repeat each signal two more times at the zero-crossing of the other two phases of a three phase system. Below is an oscilloscope screenshot showing the 120kHz bursts of an X-10 powerline signal and a 60Hz squarewave derived from the line voltage.

It should be apparent that anything which puts out a continuous 120kHz will mean that the X-10 receiver will see a 1 at each half cycle. (In fact, most X-10 devices have a fairly wide bandwidth extending from about 75kHz to over 200kHz.) It will see this as an invalid command and ignore it. This is what is usually referred to as X-10 noise. Sources of 120kHz noise can include electric motors, compact fluorescent lamps, halogen lamps, dimmers (other than X-10 types), PC power supplies, PC monitors, etc. most digital electronics devices and power supplies are likely culprits. Most X-10 modules will respond to frequencies considerably above and below 120kHz.

In the ActiveHome Help file, X-10 lists the following as potential sources of trouble:

Similarly, anything which attenuates (i.e. reduces the amplitude) of legitimate 120kHz bursts, can mean the X-10 receiver never sees anything but 0 (no 120kHz) on the power line. Many electrical devices include a capacitor across the mains or other filters intended to filter higher frequencies by providing them a low impedance path to ground. Typical line filters use 0.1µF capacitors which greatly attenuate 120kHz. Some computer power supplies also use 0.1-0.22µF capacitors across the mains. Some non-X10 dimmers incorporate RFI filters that attenuate X-10 signals. Audio and video gear, surge suppressors, Uninterruptable Power Supplies, PC power supplies, etc. can all be culprits. Increasingly, electronics manufacturers are employing switching power supplies that can put out noise and harmonics and/or attenuate X-10 signals.

Fortunately, there is a fairly simple solution to both noise and attenuation problems. Filters (from Leviton and others) designed to block 120kHz can prevent 120kHz "noise" from reaching the power line. If it doesn't reach the power line, it cannot corrupt X-10 signals. The same type of filter can also prevent legitimate 120kHz signals on the power line from reaching devices that will attenuate the signal. It's all in how the filter is inserted. When inserted between a noise generator and the power line it blocks the noise from the power line. When inserted between a signal attenuator and the power line it blocks the 120kHz from being attenuated.

If you would prefer to roll your own, there are schematics on Ido Bar-Tana's site.

Or you can create a fairly simple one by just using the choke from an X-10 lamp module in series with the load. The purpose of the choke in the lamp module is to block triac noise from reaching the powerline. The screenshot below is a composite with the unfiltered X-10 bursts on the left and the same signal after passing through the choke on the right. As you can see, the choke attenuates the X-10 bursts by about 75% (about -12dB). Anything that blocks X-10 should also do a good job of blocking noise from other devices when the frequency is in the 120KHz region but may be less effective against other frequencies.

Thanks to John Jones who sent me a filter made from a lamp module.

Jeff Volp has published a series of articles on X-10 Troubleshooting.

There are frequent posts to comp.home.automation about lamp modules that turn on at random with no apparent reason. Some have postulated that random noise somehow creates an X-10 command out of whole cloth. I believe that is unlikely to occur more than once or twice in the life of the universe so there must be some other more plausible explanation. I have one screw-in lamp module that would turn off occasionally when I turned off an old fluorescent fixture in one of the bathrooms. There was never any measurable X-10 activity on the powerline when this would happen. Changing the address (even the housecode) had no effect, so the phantom command explanation was obviously ridiculous. Changing to an LM14A lamp module seemed to fix the problem.

In one of their FAQs, X-10 says that modules can be affected by spikes on the powerline but do not describe the mechanism. Although my case was the opposite with undesired OFFs, I think the cause was spikes caused by the fluorescent ballast. I can see arcing in the wall switch when the fluorescent is switched off.

In a post to comp.home.automation, Steven Bloom laid this ghost to rest for one wall switch by describing the mechanism and offering a fix.

The screenshot below shows the transients (filtered by the ACT Scope-Test2) that are put on the line by non-X10 triac dimmers. These or similar "spikes" can cause problems for X-10 modules and controllers.

There has been a spate of reports of random PLC commands generated by noisy PC power supplies or motors that affect lights and which are reported by the CM11A. I suspect the noise is actually triggering the brownout detector in two-way switches and modules (e.g. LampLinc 2000STW) causing them to generate the signals. In one case, moving a paper shredder to a different outlet eliminated the phantom commands.

Copyright: No part may be reproduced except as authorized by written permission. This restriction extends to reproduction in all media.