Recently in Software Defined Radio Category

GMSK Tutorial and Implementation

From Spread Spectrum Scene, (go read everything they have!), there's an app-note from MX about GMSK entitled: Practical GMSK Data Transmission.

Here's the link from the 'scene: and a local link.

This PDF explains and shows the phase-discontinuous nature of PSK and other modulations:
What people don't immediately realize is that GMSK is MSK, with rounded edges. Why is that important? Because square waves are by definition made up of the fundamental frequency and all of the odd harmonics of that frequency. However, when you cram a square wave into a multiplication process, like modulation, it creates mixing products -- lots of them. We call these products "sidebands" and typically try to reduce them through filters in some way.

Filtering can be done before or after modulation. It is more effective, and a better use of power to filter before the modulation process than after. In the case of GMSK, a specially designed Gaussian filter is used, which has two effects on the signal. One effect the Gaussian filter has is that it is intentionally set lower than the frequency passing through it. This causes it to have a rather pronounced effect on the signal passing through; specifically on the Gaussian filter, this gives rise to "InterSymbol Interference" or ISI. This interference happens because the filter causes the bits to lag a little in the time domain, causing the receiving modem to occasionally decide a bit is a one when it should be a zero or a zero when it should be a one. The second effect of the Gaussian filter is that it turns the sharp, square edges of the data into a rounded spike-like pulse. This rounded pulse has advantages.

The rounded Gaussian pulse has many advantages. Recall that in FM radio, a modulating signal is applied to a modulator. As the signal sweeps in one direction, say from zero to V+, the resulting frequency of the transmitter rises to a set maximum. Likewise, as the signal sweeps from zero to V-, the transmitter lowers in frequency to another set minimum. The advantage to the rounded spike is that, much like a plotter connected to an oscilloscope, the path is easily followed with smooth transitions. This is extremely important, as sudden jumps in amplitude and frequency cause phase discontinuities which make the signal hard to process. In Frequency Modulation, the signal must always remain phase-continuous without rapid reversals. The reason for this is manyfold, but I'll settle on two: 1) If it wasn't, then it isn't by definition FM, and 2) because the most common amplifier used to amplify FM signals, the often 80% efficient Class C, requires that the signal "ring" or spend half the time per cycle coming out of a RC "tank". So the Gaussian pulse allows the modulator to follow along, smoothly, generating a signal with minimal harmonics as a result of the modulation process. Again, because of this smoothness of action, rather than jumping around like QPSK or QAM, the GMSK signal is FM-complaint, allowing common, off the shelf gear to be used to generate, receive and amplify the GMSK signal. In short, GMSK appears to be a preferred way to transmit FSK signals, mostly due to removing unwanted sidebands which would otherwise be wasted as heat in the filters following the modulator. Bt=0.3 seems best, apparently the commercial data guys are aiming for 0.25 and 0.27.

Remember, of course, that MSK is defined as the shift at half the frequency of the data, and the modulation index is 0.5. GMSK doesn't get all the way down there, but it's still spectrally more efficient than FSK. Often, the same gear can receive GMSK as FSK, particularly the MX589 used by Kantronics in the KPC9612.

From the commercial perspective, I want to point out a few things:

1) Motorola has for years, since the Syntor X series, provided a split low-frequency and high frequency modulation path. This allows the CTCSS tones to be modulated at the lower frequencies that the VCO's PLL would otherwise automatically remove as detected frequency error.

2) Motorola has also used multi-level FSK to transmit and receive trunking control information.

FSK has the advantage of simple transmission -- attach the data stream to the modulator -- and simple detection: one need only use a data slicer to recover the data if the center frequency or one of the frequencies is known. 

Seeing as how the Motorola Spectra, Saber, and X9000 lines are based heavily off of the 68HC11, and the Kantronics KPC-9612, -9612+, -3, and -3+ all use the HC11 as well, I would not be surprised if Motorola was bit-banging data in from the trunking control channel without a modem much like how Kantronics recovers data in the 1200 BPS port of the above mentioned TNCs.

Update: I've just become aware that GMSK is being referred to by some as "GFSK with a modulation index of 0.5." GFSK is "Gaussian Frequency Shift Keying", per Analog Devices ADF7023-J product information:

Packet Radio / TNCs


Speed is important. Baud rates are limited by law, but Baud doesn't equal signal rate; baud is the baseband. Using QPSK, you can double throughput, and you can still throw bits away in FEC if you need to. Phil Karn is a huge proponent of this and for good reason; he had a critical role in developing Qualcomm's satellite-based terminal systems used by truckers everywhere.

6m might be good for this, but easily obtained radios (Motorola Syntor Xs, GE Deltas, etc.) are starting to disappear. Also, they are large, and without a small TNC/node hardware that fits inside the radio, there is little reason to deploy equipment because more parts can break. Of course, the radios themselves need about 30A on transmit, so that would also need to be dealt with in a manner that doesn't impact size and site power requirements.

There's very little reason why we can't push soundcard packet into smaller systems like the Alix line of micro-PCs. We can dedicate an Arduino to software packet detection, another to node/routing, and pass the data on to a host if need be. Or we can load the sound-card engine into memory as a TSR and boot the thing using DOS and a G8BPQ stack. With TNC-X, a KISS TNC, it's possible to do that and more. Ideally, speeds upwards of 19200 and full-duplex are desired. However, full-duplex generally requires real hardware on the "node" side of things, and duplexers are a generally fixed commodity.

Also, proxy ARP may be a better way to use TCP/IP over AX.25, stealing information directly from the NETROM maps or something. For instance, my state net is 44.100.x.x, but good luck trying to actually get any of that to route outside of

Really, something closer to the mesh-networking systems used for the next generation wireless networking systems would be better. To gracefully handle losing a node and multiple routes present in the network stack. You can't really do that on a Z80 with 16k of RAM at 10 MHz.

IPv6 needs to be implemented at some point, with a graceful handling of IPv6 addresses to allow for compacting unnecessary zeros.

Software TNCs/Minimal TNCs:





Packet general:
Buck's articles: (look down on the left-hand side)

Ham general:

- IP use in TheNet nodes:
 - TheNet replaced by NOS:
 - JNOS:
 INP something. I dunno...
edit: Ah, here it is. A European internode protocol:
Intro to NOS: (packet sizes, numbers)

DX cluster:


Old Huntspac stuff:

Most of the older stuff I saw fall out of use as people got older and fell into different modes / cliques / clubs

Amateur Linking and Backhaul

I have given a lot of thought to this. One of the issues with linking repeaters in the amateur world is that we're trying to do things that have already been done, years and years ago. Fortunately, all of that wisdom and experience is available at our fingertips, or out of the mouths of those old enough to remember and willing to speak. All the way back to Ma Bell's Long Lines microwave relay system, there have been various concepts introduced.

Long Lines was a channelized system which relied on translation (the block conversion of a group of frequencies to another group of frequencies) of existing channels for repeating or relaying and added a capability called "add/drop." Add/drop is a term still used in the telco world on circuits and certain types of gear. Long Lines was largely based on frequency-division multiplexing (FDM) of 300-4000Hz single-sideband (SSB) amplitude modulation (AM) signals. The resulting SSB signals were several tens or hundreds of kilohertz wide, depending on the number of channels the radio circuit was designed to carry. SSB is also subject to noise, and like most baseband or analog communications designs, requires equalization at multiple locations in the circuit equipment. Cable TV (CATV) experiences this as well. The increased attenuation at higher frequencies is referred to as "tilt". CATV amplifiers are designed with a "tilt" adjustment that allows for the higher frequencies to be amplified more than the lower frequencies to compensate for tilt losses. Later, Long Lines was transitioned in part to Digital Radio, using full-duplex DS3 radios costing $50,000 or more to connect cities or sites along the route.

Add/drop telephony refers to a piece of gear or circuit where channels are picked off and either not replaced, or replaced with other information. Synchronous and Asyncronous circuits alike may be configured for add/drop simply by adding equipment. In the sense of Long Lines, the Add/Drop functionality was not added by equipment; it was a function of that switching office itself. Microwave channels could be received on one dish or horn, translated to a different set of frequencies, and transmitted out another horn in a different direction. Likewise, a copper circuit could terminate at the Long Lines facility and be converted to a microwave channel and "Added" to the network. In the reverse sense, a microwave channel could terminate at the Long Lines Office and be converted (Dropped) to a copper circuit leaving the Central Office (CO). In T-series circuits, individual circuits may be added or dropped out of the larger group present. Modern equipment like the Adtran Atlas can do this on the DS0 (56K or 64K circuit) boundaries from T3s or DS3s. Other equipment, made by manufacturers such as ADC-Kentrox, may add/drop a single or multiple DS0 channels from a T-series (T1, T1c) circuit to allow combining virtual circuits over a physical copper loop from the telephone company.

The use of digital radios by Long Lines and another companies in the long-distance markets was supported by the marketing the systems allowed the company to do. Many systems which switched to PCM coding for voice immediately met with quieter, noise immune circuits. But the common plague of digital electronics still pervaded the space -- if the circuit was up and correctly configured, it would be error free. If the circuit was down or incorrectly configured, it may take months before the actual cause of the problem is located and remedied. Handling audio in the digital domain also freed technicians from the tedious labor associated with individually aligning circuits and amplifiers as well as equalization requirements for each stage of the equipment.

Several manufacturers make full-duplex digital T1 (24-channel) modems which allow telephone circuits to be extended many miles beyond the initial termination point. One well known radio station uses this method to allow the sales, management, and studio staff to have access to a nearby larger LATA (telephone calling zone) without paying long distance. This sort of connectivity, along with the ability to add and drop circuits at will, allows one to selectively "dial up" one or more channels of voice or data to a remote endpoint. In the data world, it is quite easy to inversely multiplex a larger, faster rate signal into multiple slower channel circuits to achieve higher throughput. This has been used since the infancy of the internet and the Apollo Space Program for transmitting data, telemetry, and video across analog circuits.

One of the larger issues and concerns surrounding amateur radio is the use of shared tower space. Tower space is often at a premium, and is very difficult to find for cheap or free. Furthermore, there is a complicated issue with respect to the Part 15 bands, primarily 902-928MHz, 2.4 - 2.45 MHz, and 5.3/5.8GHz. Many of these bands coincide with amateur radio bands, in which amateur radio operators are granted the immunity from other operators in the band who -- being unlicensed -- must tolerate interference from licensed users of the spectrum: amateur radio operators. Where this turns into a conflict of interest is that the Part 15 band user may want access to the tower and may mount commodity video, data or other equipment on the tower which may cause interference to users in that band who are licensed or otherwise permitted use of those frequencies. Moreover, the Part 15 user is a for-profit enterprise and is paying rent for the tower, while the amateur radio operators, who claim a higher priority to the frequencies desired by the Part 15 operator, are not paying for rent. The simplest solution in the eyes of the site manager is to tell the hams to pack it and leave -- money talks. Hams are strictly forbidden from engaging in for-profit enterprising using amateur radio, so as long as that rule stands, ham equipment on towers will cost a large amount of money to setup and maintain. The solution, therefore, is to avoid frequencies which are shared with other users of the site or that might cause interference to other paying users of the site. This basically confines a ham to bands which are solely the domain of radio amateurs, or shared with federal agencies. 222-225MHz (1.25m) is one these bands, as is 420-450MHz (70cm).

The FCC Rules, Part 97 limit the speed and amount of bandwidth that transmissions at or above certain frequencies may occupy. At the time of this writing, the following limits apply for 28MHz (10m) and up:

  • 10m: 1200 baud signaling rate, FSK may not exceed 1KHz
  • 6m: 19.6 kbaud signaling rate, 20KHz emission width
  • 2m: 19.6 kbaud signaling rate, 20KHz emission width
  • 1.25m: 56kbaud signaling rate, 100KHz emission width
  • 70cm: 56kbaud signalling rate, 100KHz emission width
What strikes my eye about this is the rate, specified as "symbol rate", particularly in bauds. A BPSK signal, operating at 9600 baud, transfers data at 9600 bits per second, at one bit per hertz of occupied bandwidth. QPSK on the other hand, transmits two data bits per symbol, doubling the capacity of the same 9600 Hz of occupied frequency. Switching over to QAM at higher densities allows for even more bits to be packed into a given space. Using QAM or QPSK requires linear amplifiers and different modulation methods to produce them. This adds complexity, however it extends the most precious resource we have -- limited bandwidth. By using 4/pi QAM on a 56Kbaud circuit occupying around 100KHz, 224Kbit/s of data may be transmitted using linear amplifiers. At these widths, duplexers may be used to fine-tune filters to keep noise out of the systems, as well as prevent possible interference from or to other stations on the same mountaintop. Additionally, being down in the amateur radio bands prevents a fight over who stays and who pays to use a given section of vertical real estate. Since the amateur radio operator isn't sharing frequencies with the unlicensed or commercial operator, this situation should not exist.

In short, we owe it to ourselves, as amateur radio operators, to explore dense data modulation techniques and apply them to amateur radio. We have had a thirst for bandwidth dating back decades; now we finally have commodity modems that make achieving those bandwidths possible using limited RF. Just look at Digital TV: 19 or 23Mbit/s in 6MHz. Twenty years ago, in 1990, that would have been astounding! And now we have that on ever single person's set top TV.

Understanding I and Q modulation

This article is borne out of an attempt to explain modern modulation methods to a friend who has only heard of AM and FM.

This article explains and illustrates how a difference between the "I"  and "Q" produces modulation. I can be thought of as In phase. Q is short for Quadrature phase, which is the phase difference when measured from a fixed distance of -90 degrees from the I signal.

Is there is fixed shift in frequency, the resulting modulation is a circle. When viewed along the time axis, the circle becomes a spiral. If the spiral moves to the left (left-hand circular polarization), the frequency is higher than the carrier frequency (I leads Q). The converse is also true; the spiral turns to the right if the frequency is lower than the carrier frequency(Q leads I). Either of these signals, viewed on an oscilloscope, appears as a circle turning one direction or the other depending on the leading component.

If you have the ability to modulate the I and Q phases directly, any known modulation may be synthesized using a mathematical expression. AM is perhaps the most simplistic to represent since resulting occupied frequency is symmetrical. Holding the I phase steady in amplitude and phase while varying the frequency of the Q phase results in frequency modulation. It is almost as if varying the I phase amplitude modulates the signal and the Q phase frequency modulates the signal and the two together make any modulation, but this not accurate since QPSK is a phase modulation. It would be more appropriate to say that phase modulating both axes produces QPSK, and through that ability QAM, FM, and AM may be created. For this example I do not distinguish between AFSK, BPSK or FM, nor MSK or GMSK since they are all frequency-modulated modulations despite individual complexities.

One point of note that I have not seen in the books yet is whether or not the QPSK or PSK signals are subject to pre- and de-emphasis of the signal as a result of the modulation. In two-way radio, phase-modulation came about as a cheap way to frequency modulate transmitters, however it has a built-in pre-emphasis of the transmit signal, amplifying higher frequencies more than lower frequencies as a result of the modulation process. In the data world, this causes the resulting signal to occupy more frequency bandwidth than the symbol rates would otherwise imply.  

Here is another good explanation.

Another Use for Stella

Another use for STELLA would be to improve the intermodulation characteristics of an amplifier. Any time you transmit two carriers into a satellite, it is possible to have the satellite's transponser -- or any linear amplifier -- generate a large number or mixing products. Using a system such as STELLA, an error signal may be generated. This error signal would contain all of the carriers that are desired to be notched out of the signal, out of phase with the signal by 180-degrees, so that when the two signals are combined (or in the digital domain, complex multiplied), the resulting signal will be devoid of the extraneous carriers. A technique not unlike this is used in modern TV (OFDM) transmitters to restore linearity to the signal as the amplifier moves through non-linear points in the performance curve of the amplifier.

I+Q MoDem
Documents one British ham's implementation of an RF equalizer network using a DSP and a pair of DAC/ADC stages at bandwidths of about 96KHz. What's interesting about this is several points. The implementation allows for spreading power evenly throughout a transponder, allowing the transponder to remain linear in the face of a signal that would otherwise swamp, dominate and further modulate the output. This could also be used to allow the transponder linearity to be matched to the current loading, keeping the transponder linear even in the face of extremely high channel loading. This sort of situation would be seen in the event of transponder oversell in the commercial world, or through the use of spread-spectrum and/or wide bandwidth signals such as QPSK, QAM, or OFDM.

What's further interesting about this system is that it allows for "audio bandwidth" processing of signals. Virtually every PC has a sound card that may capture a sixteen-bit signal at up to 44.1KHz, some as fast as 48KHz, and others at 96KHz with a depth of 24 bits. As far as audio performance is concerned, the bit levels are directly convertable to RF performance. Both are a means to describe the dynamic capabilities of the capture and reproduction aspects of the card. In the audio world, There is typically an upper limit of somewhere around +12 to +24dB, and the noise floor somewhere at -110dB to -130dB, with a reference of 0dB or +4dB for a professional sound card (96KHz, 24 bit). What these numbers translate into as voltage levels largely depends on how the manufacturer designed the card and what form of termination that manufacturer had in mind. A typical impedance would be 600 ohms, but some cards have a drive impedance of 100 ohms. 100 ohms is not a terrible match to 50 ohms, which is what may be expected to drive mixers and other RF gear at the baseband level. To assure there are no issues at the baseband level, I would recommend making an effort to match the impedance of each device or at least provide a buffer or attenuator to lessen the impact of an impedance mismatch.

The December 2008 issue of QST contains an article entitled: "A Modular Reciever for Exploring The LF/VLF Bands [part 2]", which details and implementation of a Tayloe Detector. A Tayloe detector is an interesting piece of RF work in and of itself since it's not a detector (or rectifier) in the conventional sense, but a commutating detector. Now there's an term you don't hear bantered about often in RF or EE circles unless you're designing large civil projects like power generation or electric motor based facilities.  In essence, four switches, each one of which matches to the four phases (0, -90, -180, and -270) are switched to one of two outputs. This provides a means for detecting the sine and cosine components of the signal which are otherwise known as I and Q. The switches themselves function as the rectifier would, except with much narrower windows for conduction. This circuit would be almost impossible to implement conventionally without SCRs and a ninety-degree phase delay line. Here's a link on the Tayloe detector:  The Tayloe detector is just another method for demodulating the RF once it's been downconverted to an IF frequency to pull out I and Q signals. From there, you step into the digital domain for further processing, or simply right back out to make a transponder.

If you capture the signals using a plain-old PC sound card, it's possible to capture a signal of 22KHz, because of the Nyqist limit. However, using a PC-sound card limits the dynamic range -- or how large a signal the signal processor can handle, or how soft a signal it can receive (reciever sensitivity).

Capturing I and Q from the baseband level allows any signal to be repeated, not just FM, AM, SSB, or D-Star for example.

About this Archive

This page is an archive of recent entries in the Software Defined Radio category.

Satellite Communications is the previous category.

Windows is the next category.

Find recent content on the main index or look in the archives to find all content.