I use one of those exact units to listen to APRS packets transmitted from the International Space Station (using software that I wrote). This software, in fact.
The devices still have a tuner that downconverts a signal at a high frequency to baseband. That is, you record the range 1.8 to 1.803 GHz (say), and the device remaps it to the range from 0 Hz to 3 MHz. At that point, you have a signal that’s just a series of complex amplitudes (IQ samples). The rest is up to the decoder.
In principle, one could have a device that just sampled from 0 Hz to 2 Ghz straight and gave you the whole stream. But those data rates are too high for normal PCs; you would need very specialized equipment to make use of it.
SDR is definitely an absorbing hobby! These dongles are an amazing thing since they are quite solid units and so cheap (~$10) to be effectively free.
True, but that’s not usually how signals are sent for any distance, any more. That’s called “baseband”, and even with baseband I believe there are different encoding schemes. The problems with baseband are (a) it doesn’t play well with other channels sharing the medium (b) data rates are limited compared to other schemes, and (c) if you send more zeros than ones (or vice versa) you can end up with a substantial DC component, which causes problems (it sinks current).
As a data communications professional since 1979 I endorse this post, as amended by Derleth.
Good points, but cable TV (digital tier) often does use IP. I wrote router packet handling code for big high-speed IP aggregation routers (me specializing in multicast, most recently) and TV was a very significant market, especially for multicast. Interesting tidbit: multicast ended up not being the scalability issue, since there’s one multicast group per broadcast channel, whereas there’s (at least) one unicast stream per on-demand user. Despite carrying hundreds of broadcast channels, it was generally a trickle compared to on-demand.
Nice post, but one nitpick. In principle, yes you could sample to 2GHz; but in practice, unless you are OK with sacrificing a lot of performance, you’d have nowhere near the required dynamic range, even using state of the art analog to digital converters. You still need to limit the bandwidth in the analog domain to squash the noise level to acceptable levels before digitizing.
Good point. You could also have a configurable multi-band front-end filter; in all likelihood, a handful of signals (FM radio, WiFi, etc.) are going to dominate your signal, so a several band equalizer should work fairly well. Still not good enough for truly weak-signal reception, but that’s probably not what you’re going for if you need that kind of bandwidth.
Also, this approach will work fine for not-over-the-air sources, like a coax cable. Maybe not cheaper than a multi-channel approach, but simpler at least. I believe the next DOCSIS standard is moving in this direction–current ones use the same 6 MHz channels as the TV channels, but IIRC the next version will have quite wide 200 MHz channels. I have to imagine that the availability of relativity inexpensive fast ADCs plays into this.
“Just voltage” on the wire is very seldom “just voltage”
Normally, it is voltage and current, bound together by an alectro-magnetic field. The information is (normally) transmitted by the electromagnetic field, and (mostly) travels outside the wire. When using coaxial cable, the information is “just” energy, and the energy travels in the space between in the inner wire and outer braid, at a speed called the “wave speed”, also sometimes called the speed of light, perhaps half the “speed of light in a vacuum” (that which is normally called the “speed of light”).
It’s best not to think of the information as being encoded in the current or energy. When designing a circuit, the designer thinks of the information as being encoded in the frequency and phase content of the voltage. Current is regarded as a byproduct, arising due to various impedances along the way.
As an example, when you hook a DVD player to an preamp using RCA coaxial cables, the real-time voltage between the cable’s inner conductor and outer conductor is a facsimile of the air pressure fluctuations for the music. While it’s true the current may “hold” the same information as the music, the analog circuitry inside the preamplifier manipulates the voltage signal, and the current is “whatever.”
yeah, when dealing with baseband audio we’re typically not in the realm of transmission lines, so the goal is maximum voltage transfer. so we don’t impedance match, instead we use impedance-bridged connections; the source has a low output impedance while the target has a high input impedance.
If is a wire, the signals are encoded in the ‘movements of electrons’.
If it radio or light or any other part of the electromagnetic spectrum, it is encoded in ‘movements of photons’.
When photons hit an antenna, they cause disturbances on the movement of electrons, which are confined to the copper wire. Movements of electrons in a wire can also cause disturbances in photons and this signal radiates over great distances.
The strength of the signal through the air as photos is very weak indeed. A big transmitter has to amplify a signal a huge amount and your radio antenna has to be sensitive enough to pick up the weak signal, then other parts of your radio amplify this weak signal and extract the information.
This is quite a difficult subject to explain without relying on a framework of established concepts.
A signal is a disturbance in ‘something’ that can be generated by a transmitter and detected and decoded by a receiver over distance.
In wires we have electrons lined up in a metal atoms that can me made to cascade a vibration from one end of the wire to the other - electromagnetic waves
Over the air, we have photos - radio waves.
Through water we have compression and decompression of water molecules - sonar.
Through air we have compression and decompression of air molecules - sound.
While air and water as a medium are easy enough to grasp, explaining waves in the electromagnetic continuum is not easy. It is tempting to get bogged down other difficult concepts such as wave/particle duality.
Communications then has a whole set of other concepts: modulations, coding, multiplexing, baseband/broadband, point to point/multicast/broadcast, circuits and packets, then packet switching and routing protocols, before you arrive at the ‘The Internet’, where people feel on more familiar ground. Each of these elements have their own nuances.
If anyone knows of a good explanation that touches on these concepts and provides the ‘big picture’ without making too large a simplification, please provide a link.
Struggling to see the woods because of all the trees is a problem many students face as they try to acquire a conceptual framework. It is also a challenge for educators, often when they have specialist knowledge. It is easy to focus on the issues relating to your specialist part of the communications architecture, which tends to distort the big picture.
Apologies in advance if this question has been answered (perhaps by using different terminology or different definitions) in some of the great responses above . . .
I am curious about the maximum information carrying capacity of ‘the wire’. My bottom line question is illustrated in the following example:
Let’s say the signal is 1010011110. Call this the ‘first level’ of information.
But, the time interval between each of the binary digits above can be varied. So, let’s assume that the time interval between individual digits is either less than one microsecond or greater than one microsecond. In that way, when chosen appropriately, the time intervals between the digits themselves can act like a series of binary numbers. Call this the ‘second level’ of information.
But additional levels of information can then be formed on top of that (admittedly requiring increasing labour and/or computational demands). For example, we can create a third level by sending the original binary signal (1010011110) as two blocks, each being half the original length, i.e. 10100 and 11110. And, thus, by doing so, we can then use the time interval between those blocks of digits to create another series of binary digits, e.g. inter-block interval of less than one microsecond or greater than one microsecond.
In theory, could this not be extended indefinitely, to create more and more levels?
Obviously, the computational demands and ‘resolution’ of the wire will prevent an endless succession of levels from being produced but, as stated, I am speaking in a theoretical sense.
If I’m understanding correctly:
If the original signal is 00 and we want to layer 01 on top, then the timing is adjusted so that the first bit takes 0.9 us and the second 1.1. But then we have 2 us of “zero”… how do we know that 01 was transmitted instead of 10?
Crafter_Man is right in that this comes down to information theory. Specifically, you’re interested in the channel capacity–the maximum number of bits per second you can transmit over a medium (whether wire, air, etc.).
The channel capacity depends on the way that noise is introduced into the system. If there were no noise at all, you could simply transmit a single, very precise voltage level. That level might require billions of bits to express, so you can transmit all of your information in a single symbol. It’s like the joke about the aliens that store all their collected information with a notch on a stick–the distance of the notch to one end can store an infinite number of bit, in principle.
Of course in practice there’s always noise. The very best practical coders might achieve something like 12 bits per symbol (meaning they can distinguish between 4096 different levels). So you need to send more symbols per second to increase your data rate, but that has a limit as well.
The Shannon-Hartley theorem ties these ideas together into an equation:
C = B*log2(1 + S/N)
C is the bits/second you can achieve. B is the bandwidth (maximum symbols per second). S/N is the signal to noise ratio.
So for instance, say you have a wire which can transmit up to 1,000,000 symbols/second (i.e., 1 microsecond, as with your example). Furthermore, that wire has Gaussian noise on it that alters your voltage by 0.1 of the total amount on average. Then our capacity is:
1000000*log2(1 + 1/0.1) = 3,460,000 bits/sec
That’s your theoretical maximum, no matter what your coding scheme is. There are lots of clever schemes out there that can approach this limit, but that’s the maximum.
Your example actually reduces the amount of data that can be carried.
Clearly, you want to pack the maximum number of signaling changes/second possible. If you added additional spaces, that would reduce the total number of bits you could transmit per second.
Getting the maximum information carrying capacity out of a copper wire is a problem that has exercised the minds telephone companies for many years. The reason being, the copper wires between homes and businesses represent a valuable asset and there are a lot of lines, installed over many years. This is known as the ‘local loop’. Two copper wires going to and from an address to the local exchange or central office forming a loop, designed to carry a voice circuit.
Voice does not require much bandwidth, about 4kHz, but a wire, even with a lot of joints in it, is capable of a great deal more, several MHz. The problem was that the copper wires enter and telephone exchange in great bundles and signals can leak between adjacent wires : this was known as crosstalk. That plus random radio signals picked up by the wire and not very good joints or water ingress creates noise which interfers with the signal.
These real-world conditions are quite different from having a wire going a short distance in a lab. Or indeed, within a building. There were technologies to get a signal through, but they caused interference in all the other cables, so had to be rationed.
A series of technologies called DSL addressed this problem by dividing the cable into frequency bands of 4kHz and allocating them as data carrying channels to either send or receive data. Some bands, especially at higher frequencies, would be useless so DSL monitors bands maintains a list of those that are viable and those that are not. To reduce crosstalk where the wires come together, its allocates more to receiving than sending. Hence Asymmetric DSL.
Within each of those ascending 4KHz bands it uses a modulation that selects discrete levels of amplitude and degrees of phase shift that can be detected at the other end and uses these levels to represent binary bits.
This kind of modulation has been around for quite some time. It was commonly used in modems and fax machines when they were connected to telephone lines. Except with a broadband router, it has the equivalent of 256 of modems operating simultaneously on each 4Hz band and the same in the exchange or central office in the DSLAM. All operating in different frequency bands on the same wire. As well as the modulation, the data sent is also compressed in a similar way to zip file. This gets even more data through.
The fastest standard for this at the moment is VDSL, which can theoretically get up to 100Mbits (presumably only for the very shortest local loops!)
However, local loops vary a lot in their quality and the wiring practices by which they were installed and its length. So, your speed can vary quite a lot depending on location.
Compare this with local area network technologies like Ethernet, which are commonly operating at GHz speeds (but they do use more than one pair of wires.)
Not do higher frequencies induce signal in other wires, they also become antennas, which pollute the radio waves.
These interference issues go away once you replace the copper with fibre and use photons instead of electrons. Unfortunately the bill for rewiring a country like this is considerable.
It is quite amazing how much data it has been possible to get down a somewhat variable quality copper telephone wire. The progress in the development of Digital Signal Processor chips that do all these tricks is quite remarkable. Similar progress has been made extracting data carrying capacity from coaxial TV cables.
However…these 4K UltraHighDef TVs…they require an awful lot of bandwidth to stream a signal. Quite a technical challenge to extract that from copper wires.
Correct, but that doesn’t have anything to do with the information in the signal. Impedance matching is simply a low-level exercise that must be done to ensure efficiency and reliability of the system.
Oh yes it does work. With the transmitter designed to be a voltage source, it won’t care about the current at all.
The correct termination in some circumstances won’t improve the incoming signal to the receiver except by preventing reflection from the incorrect termination resistance…
If the receiver is at the end of a long ADSL line, right at the terminator, then the terminator is not doing much…
However, if there is an unterminated branch on the line, then it should be terminated. For that reason, the filter is designed to prevent reflection and transmission of the ADSL frequencies …the filter acts to terminate that line wrt to ADSL frequencies.
Thanks for all your responses to my question above!
Indeed, what I was getting at seems to be in the realm of ‘information theory’ an appreciation of which is definitely beyond my abilities. That won’t stop me from opening my mouth, though (has it ever?)
Dr. Strangelove said,
In my example, I was assuming two things: 1. the time for transmission of any one individual digit is (essentially) instantaneous, and 2. that is is the interval between digits that can be varied. So,
in order to layer, say, 00 onto the transmission of, say, 110, it would be necessary only to make the intervals between the ‘1 and 1’ and the ‘1’ and ‘0’ of the second block each less than 1 us (with an interval of less than 1 us having been defined to indicate a ‘0’).
beowulff - you said that this type of scheme would actually reduce the amount of data that could be carried. I think I see why you said that, i.e. if changing the inter-digit and inter-block intervals adds length to the transmission.
However, I don’t believe the overall length of the transmission must necessarily be lengthened. For example, if the default interval between digits is 1 us, then making the interval shorter for between some digits would actually shorten the overall transmission length (at least compared to the default). I suppose, mind you, that just means that the default interval wasn’t maximally shortened to begin with. But that would apply to any and all intervals - you can always make some shorter than the rest, with those shortened intervals representing a ‘0’.
You have an assumption in there that there are three states - sending a 1, sending a 0, and not sending anything. On a one wire system, that’s probably not true. For example, a 0 is likely to be close to the ground level, and a 1 is likely to be a specific voltage above that. There are certainly systems that have a “neutral” voltage, but not all of them do.
It’s common to have a second wire that is providing a clock…this other wire alternates between 0 and 1, and the first wire state is only important on a defined time of the second. When you have that, you could play with the timing of the clock…but you’d probably be better off just toggling an extra time and getting an extra bit in on the data line.
Ahh, I see. The short answer is that the transmission time is not instantaneous. Virtually all transmission schemes spend the entire interval transmitting a given bit. Due to noise and other effects, you want to spread out your bits as much as possible. Any short-term fluctuations get averaged out over the whole period. And if you really do have a very clean line, you can just increase your bit rate by moving the bits closer together–there’s no need to play with weird timing effects.
There’s one big exception that I know about, called Ultra-WideBand transmission. It’s a a radio technology, and the idea is that instead of sending a continuous signal (information encoded onto a carrier wave, for instance), you send very short pulses at very high rates. Information can be encoded on these pulses in various ways, such as amplitude and changing the time interval between pulses.
That’s something like what you suggested, so you aren’t crazy here. UWB is specialized to a particular niche in the radio world, though, and wouldn’t be used in most situations. It’s not as bandwidth-efficient as most schemes, and achieves high bitrates by making use of a wide frequency band.