zondag 2 juni 2019

Measuring phase noise of a single ADF4351 module

Till now I always measured phase noise by using multiple ADF4351 modules. To understand the impact of loop current and loop filter changes it would be better if it would be possible to measure the phase noise of a single  ADF4351 module. The maximum XCO I have is at 10MHz. Because of the output divider in the ADF4351 the lowest multiple at 50MHz (DIV64) has too low phase noise to measure as can be seen in the datasheet



Instead I went for a setup at 430 MHz using a divider of 8 (DIV8) resulting in 20dB more phase noise:



The 43nd harmonic of the 10MHz signal is filtered out and amplified and send as LO signal to as passive DBD mixer. The output of the mixer goes to a PC using a good microphone input.
Without the LO signal connected to the mixer, ARTA show the noise floor of the microphone input.



Good enough for this measurement.
With the LO connected the noise floor goes up which will limit the noise measurement possibilities




With the ADF4351 connected and using these settings:



I get the following measurement in ARTA using a 65536 bin FFT with FS at 192kHz (3 Hz per bin) so the measurement is 5dB above a /Hz measurement. Output signal of the ADF4351 is at +5dB but the noise is measured relative to the main output signal.



The 0dB peak at 200Hz can be moved around (even to 0 Hz) by tuning the OCXO. Phase noise at 10kHz seems to be at -100dB (compensating -5dB for the 3Hz FFT bins) which is about consistent with a simulation using ADIsimPLL using a loop filter of 15kHz



The phase noise however extends to much higher frequencies before it starts to decrease. Decreasing the charge pump current substantially leads to a noise increase at 10kHz as can be seen below



This looks more like the loop filter has a 60kHz bandwidth but according to ADIsimPLL the 10kHz noise should be 10dB lower with a 60kHz loop filter
So now my questions before I start to exchange loop filter 0603 SMD components or low noise 3.3V regulators:
- Is this an appropriate method for measuring the phase noise of a single ADF4351 using only simple equipment?
- How to improve the measurement?
- Is the loop filter bandwidth 60kHz or is it 10kHz and is something else pushing the 60kHz noise up such as a noisy regulator?

vrijdag 17 mei 2019

Improving the resolution bandwidth of the SA

While trying to do some analysis of narrow band signals it became obvious the current design of the spectrum analyzer has two limitations.
Below picture shows both of them.

The signal to analyze is at 575kHz. The resolution filter is clearly too wide, about 30kHz at -3dB, and the staircase patter shows scanning is done in 10kHz steps caused by the minimum frequency steps of the first mixer LO, a ADF4351. Making very narrow RBW filters is a considerable effort and an FFT could be an alternative.
So it was time to go test if a mixed mode SA can work. At high spans the SA works with the log detector but as soon as the minimum frequency step is below 10kHz the log detector is no longer used. Instead a third mixer is used  to convert to an IF of 50kHz. This is fed into the PC line-in of a good audio card at 192kHz sampling rate and analyzed using a 1024 point FFT. As the usable buckets of the FFT are limited due to the RBW, now acting as the 3 IF filter, multiple FFT's, spaced 10kHz apart, are stitched together. The FFT bucket width is about 100Hz, About 300 times better compared to the RBW filter used above,
The result is a nice sharp signal due to the flattop window function applied. The scan is 1000 points wide. Measurement speed is considerably faster as instead of 1000 steps the ADF4351 has to step only 10 times. It takes about twice the time for the audio samples to be collected compared to the stabilization of the log detector so in total still 50 times faster



There are still many thing to improve or test such as:
- The dynamic range of the audio input should be in the order of 110dB (24 bit audio card). This needs to be validated together with the behavior of the third mixer
- The frequency calibration and peak labeling needs to be improved for this much higher resolution.
- The noise floor shows a repetitive pattern so something is still wrong in the signal path
- Instead of averaging or duplication of FFT buckets to match the required resolution a better approach is probably to have an adaptive FFT length. A 10k FFT will result in 10Hz RBW resolution (and run 10 times slower) and a 128 bin FFT (for 1kHz resolution) will be much faster
So many things to try!

maandag 22 april 2019

Mirrors and spurs in Spectrum Analyzers

While analyzing the quality of a signal generator the SA shows a number of components next to the base frequency at 6.18MHz.. 
There are multiple causes for these components. The first obvious are harmonics generated either by the generator or internally in the SA.
A second cause is the generation of unwanted mixer products from the various LO's in the SA.
A third cause are mirrors where the quality of the IF filters is insufficient to suppress the opposite mixer output.
A real life example is this measurement




Which of the signals are real?
A common way to reduce spurs and mirrors is to wobble the intermediate frequencies of the SA and use exponential averaging to smear the energy of the unwanted signal over a wider range.
As you can see enabling this form of spur reduction does have some impact. The signals a 46MHz and 10MHz are almost gone




The IMD2 and IMD3 measurements at 12.33MHz and 18.48MHz remain at -42dB and -53dB but how to be sure these are from signal generator and not generated in the SA?
The simplest way to check is to enable some attenuation. Adding -10dB again changes the picture. The noise floor moves up 10dB. 
Most harmonics did go down as is reflected in the IMD2 and IMD3 measurement so the SA did generate most of the harmonics.




A further increase of the attenuation does not change the IMD2 and IMD3 so we can be fairly sure we are now seeing the real content of the signal from the signal generator.
The peak at 42.83MHz should be at 43.26 (=7*6.18MHz) to be a harmonic (its actually the small peak to the right). In fact it is not from the signal generator but from the PC keyboard laying in top of the coax

Building a Spectrum Analyzer resolution filter

The narrowest resolution filter of my spectrum analyzer did not perform as expected to I decided to build a new filter.
As I did not want to buy many crystals and go through all the difficult sorting, matching and calculations I decided to go for some crystal filters rather cheaply available on ebay.




In contrast with a receiver a SA resolution filter should not be as steep as possible otherwise you may miss some signal easily when you are using a too large frequency range
The NDK 10F7.5A looked suitable so I bought some. Measuring them on my VNA they al seem to be on the same center frequency (10.7MHz) which is nice!
The input impedance is, according to the datasheet, 1.5kOhm/5pF so using the online matching calculator the matching circuit should be something like this.


The 5pF of the crystal should be subtracted from the calculated value of C1 to get the actual C1
In order to confirm the matching circuit I mounted one of the filters on my universal test jig, connected the VNA and connected a tunable inductor and capacitor of about the correct value.



This simple setup lets you tune all components till you get the right performance.
After some fiddling the polar input impedance chart looked like this


Tuning could still be a bit better but the filter loss is very acceptable


As I had more of these filters the obvious next step is to use more then one. Two connected directly in series with the impedance matching at the input and output of the whole filter I got a rather disappointing result.
Way to wide, not symmetrical and too much loss



But then I remembered about connecting a small capacitor to ground in the middle of the filter



And using this ancient variable capacitor I was able to tune the filter




Adding a third filter stage and tuning for minimum loss created a somewhat wider but certainly steeper filter. I can not yet get rid of the pass band ripple but have not yet tuned the impedance matching capacitors and the input/output impedance is still a bit too high.

woensdag 3 april 2019

The benefits of switchable attenuation for spectrum analyzer measurements

During measurements there may be certain spurs that do not have an obvious cause. Are they caused by limitations of the SA? Or are they present in the input signal?
An example is this two tone measurement of the input IIP3 of a mixer


The many spurs below -70dB are cause by bad shielding of the two signal generators. Without these connected the noise at about -100dB is without spurs
The SA automatically finds the peaks and calculates the input IP3 in two independent ways, the results should be equal but there is some difference.
Left IIP3 is calculatec at +9dB where right IIP3 is calculated at +7.7dB
But can we be sure the IIP3 of the mixer is indeed around +8dB?
The simplest way to know is the add attenuation before and after the mixer.
Attenuation after the mixer did not change anything (as it should) but -10dB attenuation before the mixer resulted in a very different picture.
The measured levels are increase by the level of attenuation to keep the displayed levels equal so the noise floor moves up about 10dB

The results (15dB improvement of IIP3)  is not entirely what was expected as every dB reduction of the input signal level should  increase the IIP3 with one dB.
There is still more to investigate and learn.

Phase noise and the choice of the first IF in a spectrum analyzer

Many of you may have heard about "phase noise" but do you thoroughly understand what this is all about.
I also was not aware of the relevance before I started measuring the performance of the my home build spectrum analyzer.

The 10.7MHz resolution filter (third IF filter) I'm using  has a -50dB width of about 60KHz and a -90dB width of 100kHz when measured on a VNA.
When sweeping this third IF filter in the SA while using a first IF at 2.6GHz a very different filter picture appears

The staircase at the center is caused by the discrete steps of the fractional PLL used for the sweep
From 20kHz offset and -40dB down there are side skirts and even a shoulder at 150kHz from center. (the peak at 120kHz is leakage) where neither the side skirts or the shoulders are visible on the VNA.
These skirts and shoulders are caused by the phase noise of the LO's. Not all energy is in the single intended output frequency but there is also noise generated that reduces when farther away from the intended frequency.
A standard way to measure this phase noise is to remove the first mixer and use the first LO as test signal and scan this LO and use a log frequency scale as can be seen in below plot

What you see is a upper side band scan, the lower side band scan should and actually does looks the same (apart from the small leakage peak)
The horizontal scale is the frequency in MHz from the the LO frequency. The sweep of the first LO is still done lineair so the lower frequencies have less measurement points compare to the higher frequencies.
The first point at 0.01MHz is the full LO signal normalized at 0dB and the first point with offset is at 0.1MHz away from the LO. You can not see the resolution filter details (as can be seen in the first picture in this post) as there are insufficient points in this scan at low frequencies but the noise fall-of when further away from the LO signal is clearly visible till about 10MHz where the phase noise goes below the SA noise floor of -105dB
A practical implication of this phase noise is when you have a strong (0dB) signal 300kHz away from a weak signal the noise floor of the SA will increase from -105dB (right part of scan) to -80dB so the sensitivity of the SA is reduced in the near presence of strong signals.
Do keep in mind that what you see is actually a result of 3 LO's  (first IF at 2.6GHz, second IF at 110Mhz and third IF at 10.7MHz)  so you can not simply attribute all to one LO but the bandwidth of the first and second IF will impact contribution of the second and third LO. This still needs more investigation.

Now what has this to do with the choice of the first IF of the SA? 
Phase noise is caused by noise in the steering of the VCO in the PLL of the LO. If you have a high first IF you need a high output frequency from the LO, in this case of a ADF4351 and a first IF at 2.6GHz  no output dividers are being used. When using a lower first IF frequency (say 110MHz) and using the same ADF4351 the output divider will be 16 and this will reduce the phase noise.
To check this I measured the close phase noise when a first IF of 110MHz is used and you get below picture (first IF at 110MHz and second IF at 10.7MHz and no third IF)

The shoulders have moved down with about 25dB, still not as good as the VNA measurement.
The VNA measurement was done at 10.7Mhz so phase noise is expected to have less impact in the VNA measurement
 
But what about the far out phase noise?
As you can see in below graph the far out phase noise also has gone down.

The divide by 16 of the output of the PLL has increased the steepness of the fall-of of the phase noise.
The phase noise at an offset of 300kHz is at the level of the noise floor so a strong (0dB) signal 300kHz way from a weak signal will have no impact on the noise floor of the SA when using the first IF of 110MHz instead of 2.6GHz

All this implies when building your own SA you should not blindly go for the highest possible first IF. You have to understand the impact of the PLL in the LO's you use and their phase noise and the output divider in relation to the selected IF frequencies. In general having a high first IF will introduce more phase noise and this makes your SA less sensitive in the presence of strong signals. Its probably better to choose the first IF low enough for most measurements and use a down converter for the odd measurement where you have to go higher.

maandag 11 maart 2019

Testing the full chain of the SA

Now most of the modules are in, I combined everything into the complete signal chain.
.

The +10dB after the ADL5801 should not be needed but the conversion gain of the ADL5801 is -8dB i.s.o +0.8dB. I still don't understand why. 
The Arduino Zero controls the ADF4351's and the 12bit ADC measures the output of the AD8307 which gives a 120dB range and 0.05dB resolution

The settings are (speed is actually in 0.1ms units):

The noise level, 1dB CP and IIP3 performance of the whole chain has been verified by doing the performance measurement including two tone IP3 performance of each stage starting with the last stage and working towards the input
The SW allows any mixer to have any role and all frequencies of all filters can be changed. Unused LO's can be used as signal generators or tracking generator. Even after building the total chain it is stil possible to sweep each filter

Scanning 0 till 1Ghz without input signal gives

The many spurs around 100MHz are from the ADF4351 as it runs with R=10 from a 25MHz reference.
Spur performance of the black ADF4351 eBay module is not acceptable. I still need to investigate the loop filter and improve supply decoupling
The 433MHz spur is not yet explained. At some point I had a terrible spur at 42.2MHz. After some testing I found it to be caused the keyboard of the PC. Shifting the keyboard to the other side of the bench did remove the spur.
The signal around 950MHz is leakage from the mobile base station close to where I live.
The absolute signal level is calibrated using a calibrated generator (which was checked using a scope with a 50 ohm input) up till 12MHz but I still need to check the sensitivity at higher frequencies. 
Scanning again 0-1GHz after connecting a 20cm antenna to the input of the SA gives:

Below 250MHz its AM, FM, DAB and some analog TV broadcast. around 550MHz, 800MHz and 950MHz there are mobile base stations and digital broadcast signals.

Connecting two old analog signal generators with a passive -20dB combiner to the low-pass filter gives the two-tone test

Do I read this correct as an IIP3 of around +10dBm? At least changing the signal strength of one or both signals always results in the IIP3 of around +10dBm and that would be consistent with the performance of the weakest part in the chain, the ADE-25MH.
With the current spur performance of the ADF4351 the active mixers seem to be the best choice, they have more noise but their LO rejection is better so unwanted mixing with the LO spurs (specially with R=1) will not obscures the measurement.

I see the following next steps:
- Investigate why the ADL5801 has so little output, solving this allows me to remove the +10dB amplifier and will motivate me to buy another ADL5801 module to replace the ADE-25MH
- Solving the spur problem of the ADF4351 will allow me to use passive mixers everywhere, I have mixers with an IIP3 at +13dBm, less then the active mixers but with much better noise performance so in total more spur free dynamic range. I ordered a green ADF4351 eBay module that uses a 10MHz reference with possibly a better layout around the loop filter
- Find the cause of the 433MHz spur. 
- The 15kHz RBW filter as seen in the two-tone test has way too much BW below -50dB. The phase noise of the ADF4351 is much better (was verified using two ADF4351 modules 5kHz apart and a mixer to produce audio into an audio spectrum analyzer) I probably need to improve shielding