Axino FM transmitter technical

This page discusses the general design philosophy of the Axino-Tech low power FM transmitter along with schematics and performance results of the major sub-sections.

I built this transmitter mainly as an exercise. The technology is not ground-breaking and neither is this particular design unique, but I was keen to discover 'the devil in the details' and simply to find out what sort of performance could be achieved for modest componentry. In the end, I have a working low power stereo FM transmitter and although I have no pretensions to becoming a broadcaster myself, the unit could potentially be of use to community groups, schools, institutions and possibly of help to local start-up low power broadcasters.

I was cognisant of the need to meet our regulatory requirements here in New Zealand. These are governed by the Radio Spectrum Management group (RSM). This ruled out a really cheap approach such as is found in the simple 'FM senders' that one can purchase to broadcast local music files to a car radio for example. In my transmitter, much of the circuitry is simply built onto prototype (vero) board; I have not made pcb's for what is a one-off project. Therefore I could not consider the transmitter for selling; only for short-term hire.

Axino FM transmitter Operators manual.

Block Diagram

Below is the block diagram. Following that are the discussions around each of the major blocks

TX block diagram

As can be seen from the diagram, the basic transmitter board is from pcs-electronics. This was done in the interests of keeping the project to a reasonable time-scale, although I may replace the board with my own in the future.

The units that I will discuss in turn here are:

MAXPRO3000+ FM transmitter

pcs-electronics is based in Slovenia, but they don't really highlight that on their website. They make a lot of broadcasting transmission products, understand English well and have a professional looking site. The MAXPRO3000+ seemed a good fit to what I needed. It can produce up to 15 watts, which is rather more power than I intend to use, but may be reduced in power. Specifications, although somewhat vague, looked manageable. I didn't buy the LCD interface add-on. The price was a reasonable EUR125.99 in June 2014. But they wanted another EUR55 to send it to New Zealand by Fedex. I held my breath; turned blue for a while. That postage just about caused me to can the idea. I know we are at the end of the earth down here, but 55 euros to send something no larger or heavier than a video cassette in a box? There has to be a less expensive option. Anyway I bit the bullet and hit 'buy' on 30 June. Paid by Visa and order status went to 'processing payment'. There it stayed for 3 weeks. Asked for update via their web contact form. No response, but on 23 July, status did change to 'preparing for shipment'. It was shipped on 1 August and the box was in my hands 7 days later. Regrettably, nothing like the typical 2-5 days to ship noted on the website.

Have a look at the MAXPRO3000+ specification page. (opens a new tab.)

Testing the MAXPRO3000+

Once I had built the power supply, the MAXPRO3000+ was connected up, using a 30dB NARDA 50 ohm 20 watt attenuator to feed the HP spectrum analyser. I generated audio test tones from Praxis. My dc rail was 12.8V, which is middle of the specified range.

dc current

At 88MHz and 12 watts out, current was 1.71 amps. At 2.5 watts out, the current reduced to 0.9 amps. These figures increased a little when the frequency was changed to 108MHz. At 12 watts on 108MHz, the drain became 1.86A. Since I wanted no higher than 5 watts, the 'bias' on the output stage could be reduced. That resulted in a minor reduction to dc current and ensured the transmitter could not inadvertently be set higher in power.

RF spectrum

The harmonics generated depend on power setting and frequency of operation.

88MHz harmonics

108MHz harmonics

There were higher order harmonics, but the levels were generally below -60dB by that stage. It is noted that some of these results are worse than the published specification of -50dB.

However, there are spurious products generated below the channel. In fact there is a family of unwanted spectra and noise bands at around half the operating frequency. Those spectra are worse in relative terms when the power is lower. At around 5 watts and up, the sub-band spectra are typically below -60dB, but when lower than 4 watts, these spectral products increase to be only about -45dBc. A far cry from the published specification of -90dB! Following are a couple of pics showing RF spectrum at two power levels.

harmonics at 1 wattharmonics at 10 watts
Left is the transmitter running 1 watt at 88MHz and right is at 5 watts. Alas, since the N.Z LPFM unwanted emission limits require all unwanted products to be at least 56dB down, I designed and built an output low pass/high pass filter to provide further attenuation. This is described in the next section.

Deviation sensitivity

Deviation was measured using an Sayrosa Model 252 deviation meter. Of course, the MAXPRO3000+ is designed for mono or MPX input only. The results here and for the audio results next are for the board input directly and do not include the stereo coder and audio processing which were built separately. The MAXPRO3000+ does have pre-emphasis options of none, 50us, 75us. In this case I set the pre-emphasis to none, which is expected to result in a flat frequency response.

The MAXPRO3000+ is quite sensitive and has an input level control. However, the sensitivity depends on the frequency of operation. Using the default control setting, at 87.7MHz, I needed 800mV rms at 300Hz to give 50kHz deviation. Retuning to 107.5MHz, I had to decrease the level to 260mV rms to get the same deviation. This variation of sensitivity (almost 6dB) made it difficult to create a meter which indicates deviation, by measuring the MPX input level. While it is true that once set to a given frequency, most applications do not retune frequency very often, if at all, I may need to use the transmitter at many different frequencies.


pcs-electronics specify distortion as "less than 0.2% distortion, 20Hz to 75kHz". This is a meaningless statement. First of all, no deviation is specified. Second, by what method? Harmonic distortion, 2-tone IM method?, Did they mean to specify distortion up to 75kHz? Certainly it needs to be good up to there to handle the stereo sub-carrier and SCA, if present, but that means the harmonics of an 'audio' tone of 75kHz must be less than -54dB. In any case my results are not that good and there is a significant problem with the MAXPRO3000+ at low frequencies. I could only measure up to 48kHz, so the highest 'tone' I could feed in was 24kHz. I measured the results direct from the Sayrosa 252 deviation meter. Sayrosa distortion is an unknown, but since some of the results are very good, then there is confidence that the Sayrosa is not too limiting a factor.

Furthermore, the distortion result depends on the RF frequency. Distortion is lower around 88MHz than it is at 108MHz.

Here are some bullet point results: First at 87.7MHz:

Now at 107.5MHz: Note the harmonic distortion at 107.5MHz is much greater than at 87.7MHz. Mentioned above is that the Sayrosa deviation meter may be a limiting factor, and although it did measure down to below 0.1% distortion in some cases, I cannot guarantee that it did not influence some of the other results. However, there is no doubt about the MAXPRO3000+ problems at low frequencies. These occur at any RF frequency.

The LF distortion is an issue. Full deviation cannot be achieved below 60Hz without considerable distortion. It appears that the VCO loop filter has a peak around 30Hz, so for high level tones around 30Hz and harmonics, the loop may not be continuously locked. Below is a scope shot of the demodulated 40Hz tone. 40Hz distortionFor safety, audio frequencies below 80Hz must be progressively reduced, so that no more than 25kHz deviation occurs for tones below 40Hz.

I fitted a high-pass filter in my audio processing board to ensure that LF is adequately reduced before reaching the transmitter. The configuration comprises a single order filter that commences rolling off below 100Hz, followed by a third order filter that commences below 70Hz. The overall result is that 80Hz is 1.8dB down, but by 40Hz the response is 10dB down. Some may think that this response might make the transmitter sound bass-light, but in practice, there is not much energy below 70Hz anyway, especially in the sort of applications intended. The filter does prevent any severe LF distortion effects caused by the MAXPRO3000+ board.

Frequency response

Response performance is not stated, however, for best stereo separation, response variation of less than 0.1dB between 30Hz and 53kHz is required for the transmitter. Again, using the Sayrosa 252, I measured 2dB variation between 40Hz and 48kHz. The Sayrosa response may have an influence here also, but the spectrum analyser did confirm that the response varies and largely agrees with the Sayrosa. The response plotted is below:

MAXPRO responseSub-band alone 23kHz to 53kHz is flat, but between main and sub-bands, the response error means that any stereo encoder must pre-distort response in order to have good separation overall. The Axino stereo coder does allow for this. Having initially tuned my coder stand-alone for best separation, the L+R level was slightly re-adjusted when connected to the MAXPRO3000+ board.


Measured S/N ratio un-weighted, relative to full deviation, in a bandwidth 20Hz to 15kHz, was 63.4dB. Not as good as the over-optimistic and non-specific "90dB" as quoted, but more than satisfactory in any case.

Other issues

RF output sample: The MAXPRO3000+ has a convenient probe point, which I cabled out to an SMA connector. This probe is between 14dB and 16dB down on the main output, depending on frequency. It is important to note that it is non-directional and the coupling factor varies with frequency. It is useful for looking at frequency with a counter, feeding a deviation meter or examining close-in RF performance with a spectrum analyser, but it over-reads harmonics and under-reads spurii's below the channel. A calibration chart is needed when using the probe for harmonic measurements.

Power metering: Again the MAXPRO3000+ incorporates handy detected forward and reflected power outputs on the board. I cabled these out to a panel meter. It works, but the metered levels are frequency dependent. The probes, being non-directional also cause the dc output to vary depending on reflected power. For example, if I have the power set to say 1 watt, adjust the meter to read 1 watt, then make the load return loss a bit poorer, the forward power reading goes up. Depending on cable lengths, that could go the other way. I also have to reset the meter whenever I change frequency.

Power adjustment: The trimmer for setting power is too sensitive, especially down at lower powers below say 2 watts. There is a description in the manual of using the ALC controls to improve this situation but it is only partly effective. By judicious use of the power set, ALC and bias controls, setting power between 0.5 watts and 2 watts is manageable, although when I go between 108MHz and 88MHz, the power still needs resetting.


Despite the issues with the MAXPRO3000+ that I have found, it is working OK and the overall transmitter sounds fine. The good things are that it starts quickly, locks to frequency quickly and so far, has proven reliable after a lot of turning on and off. I would say that should it ever need repair, that would be difficult, due to the high density of microscopic SMT components. Sending it back for repair is scarcely an option either. In more traditional applications, meaning that it stays on one frequency, many of the issues for me would not be so applicable, once it was set up. Many of the words on the manufacturers website are over-hyped; intended for non-technical people. The so-called specifications are too vague and indeed I have not been able to confirm all of them. In future, I may build my own transmitter board but meantime the MAXPRO3000+ is doing a job.

RF Output filter

To supplement the existing filtering on the MAXPRO3000+ board, I built a simple low pass + high pass filter. The filter design and measured plot is below:

output filterThis is built into a very small diecast box with the N connector becoming the actual transmitter output connector. Caps are all ATC chips and inductors are simply enamelled wire, hand wound air cores. The elliptic low pass section provides just enough rejection of harmonics to assist the MAXPRO3000+ to meet the RSM harmonics specification. I added the HP section at the end primarily because I prefer RF devices which 'see' the outside world to have a dc short on their antenna ports. Hence the inductor. Forming a single HP section assists rejection of the MAXPRO3000+ spurious outputs below the channel by a few dB and ideally more rejection is required. Following re-measurements with this filter in circuit, all transmitter RF harmonics exceed 60dB down but the below channel spuriis are just 50dB down, which strictly isn't quite good enough for the RSM. However, since frequencies of 40-55MHz are not in common use, and with a little help from an antenna, the RF performance will be satisfactory.

Stereo Encoder

There are many ways to cook the macaroni and so it is with design of FM stereo coders. Leaving aside the fully digital DSP techniques, one of the common methods is to obtain a 38kHz square wave, divided from a crystal, feed that to a high speed multiplexer and alternately switch L+R and L-R at a 38kHz rate. Then, divide the 38kHz by 2 and convert the 19kHz square wave to a sine wave for the pilot. However I wanted to do things the more traditional way, by first generating the 19kHz pilot sinewave, multiplying that by two to become the carrier for the 38kHz S-channel. I had a couple of AD633 laser-trimmed four quadrant multiplier chips, so wanted to see what performance could be achieved without a lot of accurate trimming.

So, below is the block diagram for the stereo coder.coder block

I left the functions of low pass filters and pre-emphasis off this board and implemented these in a processing board prior to the coder.

Sum and difference block

sum and diffThis is the first block. IC1 simply buffers the left and right channels from the processor board. IC2 sections create the sum and difference channels. Sum channel goes directly to the Main/Sub adder block while the difference channel is the 'modulation' for the 38kHz modulator.

Accuracy of the sum and difference depends on the resistors around IC2. With standard 1% values, when L and R inputs were in phase the L-R output was 50dB down and vice-versa.

19kHz sine generator

Again, there are many solutions to creating a sine wave from a square wave. You do need a crystal controlled 19kHz pilot frequency since the accuracy has to be within 2Hz. One of the most common techniques is to use a CD4060 oscillator/divider with a 4.864MHz crystal, using a multiplexer to create a pseudo-sine wave which, by virtue of having a lot of steps, is effectively a sinewave with some high order harmonics, which can be easily filtered off. I prototyped up this method with a CD4067 16 channel multiplexer and it did work. The resistors have to be quite accurate but the result is fine. See the step waveform generated. The lowest significant harmonics were the 14th and 15th; being 266kHz and 285kHz. There was a little LF hash generated as well, but I didn't go with this approach because the 4067 chip is huge and the whole section takes a lot of real estate. Instead I used a 8th order switched capacitor filter, which was clocked from the same divider as provided the 19kHz output.

This is the circuit of the actual 19kHz pilot tone generator. Note some power connections and bypassing have been omitted for clarity.

19k generatorThe MAX295 switched capacitor 8th order Butterworth low pass filter is the heart of this design. The cut-off frequency is 1/50th the clock. In this case the chip is clocked at 1.216MHz, making the cut-off frequency 24.32kHz. This is ideal for creating a 19kHz sinewave. The 1.216MHz clock is taken from the Q2 output of a CD4040 divider, which itself, is fed from the 4.864MHz crystal oscillator. 19kHz is fed to the MAX295 from the Q8 output of the same divider.

The more common CD4060 oscillator/divider cannot be used here since it does not provide both Q2 and Q8 outputs. The CD4040 requires an external oscillator, however this is no bad thing. A simple one-transistor oscillator as implemented is more stable and will have less jitter than will a typical CMOS oscillator. There was an initial concern that the CD4040 on 5 volts would not operate at nearly 5MHz, however it was no problem and I was able to avoid running it from 15V with level translation to the MAX295. I slightly rounded off the edges of the 19kHz square wave feeding the MAX295 to avoid high order harmonics feeding through the SCF.

Output from the MAX295 filter is pin 5 and this is coupled to the internal op-amp for buffering and provision of a little more roll-off with the 150pF capacitor, which helps avoid any clock breakthrough. At the MAX295 buffer output; pin 3, there is a very clean 19kHz sine-wave. Harmonics at 57kHz and 95kHz are better than 60dB down. Some higher order harmonics are present at low levels but this is as much due to my construction techniques as limitation of the MAX295 chip. I created two independent level controlled outputs; one feeds the doubler and the other feeds the pilot injection stage. The 270pF capacitor on the lower TL072 corrects the pilot phase and was chosen empirically once the whole encoder was under test.

The enable pin of the CD4040 is brought out to make a stereo/mono switch. Normally closed, the circuit is operational, but when open, the 19kHz generator and indeed the entire sub-channel stops.

Doubler, 38kHz modulator and M/S matrixing

The next part of the encoder is the 19kHz doubler, 38kHz double-balanced modulator and the M+S matrixing. This part follows below:

doubler DBM and matrix schematicI initially prototyped up the multiplier IC's without any balance trimming. Results were OK but not outstanding. On the doubler output, 19kHz was about 40dB below the 38kHz output. I was able to get that to 48dB with trimming. Similarly on the balanced modulator itself, the 38kHz rejection was initially -42dB, which became -52dB with balance trim. So the component count increased somewhat, but the final result was very good and appears to have little drift of performance.

The sub-channel output at pin 7 of the AD633 multiplier is added to the main channel in an TL072 op-amp. M channel drive level is variable (shown on the sum/diff generator diagram). The baseband signal (minus pilot at this point) now feeds the 19kHz notch filter; then the pilot is added to make the final MPX signal.

19kHz notch filter and pilot injection

The output of the above section now feeds the 19kHz notch filter. Protecting the 19kHz pilot from incoming audio and harmonics of audio, is rather important to ensure the pilot can be decoded with good signal/noise margins in receivers. Placing the notch filter at this stage after the main and sub-channel have been summed is unconventional but has certain advantages. Most designers incorporate a pair of low pass and notch filters prior to the encoder section. That means that two very steep slope filters have to be carefully matched. In this case, only one notch filter is necessary, so requires no matching and component count is lower. Furthermore, placed at this point, the notch filter reduces residual 19kHz from the doubler/modulator as well as reducing distortion products that happen to fall near 19kHz. Finally, the audio low pass filter requirement is reduced. Instead of needing to pass 15kHz and reject 19kHz by around 40dB, my low pass sections in the processor board have to pass 15kHz but only need rejection of 23kHz and above. (lowest frequency of sub-channel.)

Of course the main objection to having a notch filter at this point will be the phase shift. It is often quoted that the baseband from 30Hz to 53kHz must be gain matched to better than 0.1dB and phase matched to within 0.5 degrees to ensure better than 45dB stereo separation. Well this is a slight simplification. In fact the main channel between 30Hz and 15kHz has to be matched to the sub-channel between 23kHz and 53kHz (ignoring SCA). What happens between 15kHz and 23kHz is not important in the case where the pilot is added after the notch. The second matter is the importance of good separation. 45dB is actually unnecessary. Psycho-acoustic studies have shown than no more than 30dB separation is necessary for a good stereo effect. This means that accuracy can be relaxed a little without any practical impact.

Assuming a notch filter is designed with the right Q and does not impact 15kHz and below, or 23kHz and above, then the gain and phase needs will be met. The twin-tee notch and the pilot summing/buffer stage are shown below:

notch and pilot adderThe tuning resistors are close tolerance metal film types and the caps are 2.5% polycarbonates. I have not taken a lot of time trimming the filter precisely and it achieves only 37dB of attenuation, however that will be sufficient in the application. Going for a very deep notch would make the filter narrower and create more problems of drift with temperature.

For those concerned about phase issues over the baseband, a plot of response and group delay follows:

19k plot

Note the essential symmetry above and below 19kHz. Of importance is the response and group delay in the regions below 15kHz and above 23kHz. There is a small delay error still present, however it flattens out quickly and will affect only the higher audio frequencies by reducing separation at the upper end.

That completes the description of the design of the stereo coder. Some of the test results follow:

Scope shots of MPX output:

L only no pilot L+pilot pilot phase

Left pic shows left ch only; pilot disabled, centre pic is with pilot on, right pic is left ch antiphase to right ch showing pilot phase.

Audio processing

The audio processor board includes the functions of limiter, pre-emphasis, clipper and low-pass filter.

The limiter exists primarily to prevent gross over-deviation and it only begins to act just prior to maximum deviation. Therefore in the normal course of events, it has minimal impact on the audio. It is a feed-forward design with rms detection of both channels. The VCA's are SSM2018's and the detectors are AD736's. There is a threshold detector after each AD736, so that the maximum value of left or right channels determines the compressor action. One control line drives both VCA's. The compression ratio is set at a modest 5:1 so is not exactly brick wall. After developing this section I did read of the THAT corporation's developments in this area. If I did this again, I would most likely use one of their 'analog engines' such as the THAT4301 or THAT4305 which puts the VCA and detector functions in one chip, thus reducing overall component count.

Following the VCA's are pre-emphasis networks.pre-emphasis These are set to follow the 50us curve initially but a further network rolls off the response in order to avoid boosting unwanted high frequencies ad-infinitum. Therefore a small hf roll-off will occur after de-emphasis in receivers, but the compromise is unlikely to be audible.

Next are the clippers. My audio control section is not as complex as the pro examples such as from Orban or Inovonics. There is only one frequency band and no fancy sliding pre-emphasis. Because the limiter is prior to pre-emphasis and in any case would act too slowly to limit high frequency peaks, a clipper is necessary and this needs to be after pre-emphasis. For this, I pre-biased green LED's inside a diode ring. The green LED's had about the right conduction threshold to suit the board levels and the particular ones chosen have a sharp knee. The sharp knee is necessary to avoid harmonic distortion rising slowly before the clip onset. The clipping threshold is actually a little too high, allowing deviation to hit 120kHz on peaks, but it is a catch-all for extreme hf levels.

Following the clippers are low pass filters. These are of modest attenuation. Since the 19kHz notch is within the encoder, these filters are needed only to reject 23kHz and above, to prevent supersonic audio or harmonics becoming a nuisance within the sub-channel. The stereo 4-pole filters are implemented within a single TL074 chip. Outputs from this processor board then feed the stereo encoder.

Audio processor circuitry: Not all supply connections & bypassing shown.

audio processing schematic

In this drawing, only the audio path for the right channel is shown; the left being identical. However the full control circuitry is drawn. The SSM2018 VCA chips require a positive going voltage on pin 11 in order to reduce gain. At pin 11, the law is 30mV per dB reduction and this pin is tied to pin 11 on the other channel VCA. 630mV is needed at the output of the LM358 driver per dB gain reduction. A Schottky diode; normally reverse biased, prevents pin 11 going more than 30mV negative through mis-adjustment, start-up conditions or control circuit fault. There is a shorting link at pin 11 which disables any limiting action for test purposes. Output of the LM358 control line drive is sent off board to a 4-stage comparator in the metering unit which indicates the degree of compression. An audio take-off after the pre-emphasis stage also feeds a peak detector which momentarily flashes a LED to indicate the clipping threshold is reached.

Metering and Indications

On the panel, I have a 30-segment LED bargraph for essential indications. There are six metering points which are selectable. We have MPX level (drive to the TX board), L+R audio level, L-R audio level, forward power, reflected power and 12V bus. To obtain a dc level from the first three points, they are first fed to an rms detector. Forward and reflected power readings are indications provided on the MAXPRO3000+ transmitter board. Also on the panel is a 4-segment LED bar, which is driven from a quad comparator with thresholds to indicate various degrees of compression. Finally a peak audio flasher indicates the clipping threshold.

metering schematic

Note here that the AD736 rms to dc chip is used in it's low impedance 'wideband' mode so that it more accurately measures the stereo MPX level at the transmitter input board, which may have frequency components up to 53kHz.

Power supply

The final section to be described is the power supply. It is a fairly conventional linear configuration. I prefer linear regulators for a couple of main reasons. First, they are simpler and because of this, more robust; meaning much less prone to failure, especially in field situations where the AC mains quality may be quite variable. Secondly, switching supplies generate hash and RFI, and there is quite enough RF present in a transmitter enclosure already. The power factor of the typical switcher is not that kind to the mains either. Nonetheless, one has to consider whether to go linear or switching quite carefully, because there is always a point where the design compromises of a linear supply force the use of switching techniques. In this case, the regulator needs to maintain regulation down to say 205 volts AC input, while delivering up to 2.5 amps, then dissipation at normal 230Vac and up to say 250Vac is considerable. For current drain any greater than this application, I would concede that linear is becoming impracticable, unless one wants a massive heatsink.

PSU pic

The first step in minimising dissipation is the use a low-dropout regulator. The LT1084P is guaranteed to regulate with as little as 1 volt differential. The Axino-tech LPFM transmitter main supply is nominally 12 volts but also requires rails of +/-15V and 5V. Because I also have an external 12V input, the auxiliary rails all have to be driven off the primary 12V rail, thus increasing dissipation of the main regulator even further. Just to show I am not completely against switching supplies, the +/-15V rails are derived from a Cosel dc/dc converter. The hash out of this unit is remarkably low.

Tested performance

Load 3.3A; regulated O/P (B) is 12.8V.

In the above, "min differential" means the voltage across the LT1084 regulator from the most negative point of the incoming ripple. For typical operation, the transmitter draws much less than 3.3A; more like 2.2A, so dissipation is lower than above; nonetheless my heatsink is inside a case and is too small to operate the PSU without a fan. A small 24V fan is used, operated at about 10.5V for longevity and quietness.

Axino-Tech January 2015
Go to Axino FM transmitter main page