Update on the 2 meter band interference issue
edited May 2018 in Problems and Issues
To significantly reduce the 2m band interference please do the following:
1. Connect to the admin page. Check that v1.39 or greater is running. If not restart the server and wait for an automatic upgrade to complete.
2. Click on the "Config" tab.
3. Using the new "SPI clock" menu select 24 MHz instead of the default 48 MHz.
4. A "KiwiSDR server restart" button will appear. Click on it and wait for the server to restart.
The above is not a complete fix, but rather a workaround to make your life a little easier while we work the issue. The root cause of the problem is not fully understood. It's obviously the third harmonic of the SPI clock (48 MHz x 3 = 144). But it's strange why this signal and the other harmonics are so relatively strong.
Below are results of early testing using a spectrum analyzer with a crude pickup coil. The analyzer displays levels in dBm, but that's nonsense of course. All you can really do is compare to known signals as received by the coil (e.g. FM broadcast band signals and a land mobile repeater a few blocks away from our location). There are five images below we will describe.
Image 1/5, test setup:
The pickup coil is placed a small distance away from the KiwiSDR device-under-test (DUT).
Image 2/5, noise floor with all cables disconnected from Beagle:
Note several details about the analyzer display. The vertical resolution in 5 dB/div, not the more typical 10 dB/div. The top display (yellow/green) shows a 0-144-288 MHz span (start-center-stop) 28.8 MHz/div. The bottom display (blue/pink) shows a simultaneous, expanded 139-144-149 MHz span (1 MHz/div). So the two meter 144-148 band allocation appears in the four columns right of center. The capture mode is an accumulating maximum rather than averaging mode. This way transient events, like the land mobile repeater output, are captured.
So in this image 2 meters is quiet, the FM BCB is as expected and there are a couple of other unknown higher frequency carriers.
Image 3/5, Beagle idle:
With the Beagle powered on and running Debian, but no SPI communication, the blue trace shows typical wide RFI signals from a crappy 5V switch-mode power supply we were using. There is also a carrier on 144.0035 MHz that is probably the 3rd harmonic of the 48 MHz USB clock on the Beagle. Also note on the yellow display that the nearby 165.2 MHz land mobile repeater has sent a signal during this capture.
Image 4/5, SPI clock at 48 MHz:
The SPI (serial peripheral interface) is currently the only interface between the Kiwi board and the Beagle. For performance reasons it helps if the SPI clock is run as fast as possible. The available SPI clock speeds are 48 MHz and integer sub-multiples thereof ( 48/2 = 24, 48/3 = 16, etc.) The image below shows the absolute hell raining down on 2 meters from the third harmonic of 48 MHz. It's not just a simple carrier. Because the SPI clock is not continuous but gated to clock-out the bits sent on the SPI there are rounded modulation side-lobes present roughly +/- 600 kHz either side of the carrier. Then there are sub-carriers about every +/- 1.2 MHz on top of that. We are also dealing with the two SPI data lines which switch at these frequencies but in a more complex pattern. An ugly situation for sure.
But then look at the 48 MHz clock fundamental. It's 25 dB lower than the third harmonic. It's almost at the noise level. How can it be so much better than the 3rd harmonic at 144? Is the SPI clock signal path (and ground return) between the Beagle and Kiwi board creating a resonant structure at these frequencies? More investigation is needed.
In the images below green and pink are the reference levels before the SPI was enabled (yellow and blue traces).
Image 5/5, SPI clock at 24 MHz:
Because the SPI clock is a digital signal (bandwidth-limited square wave) there shouldn't be any problems with the even harmonics of the clock. That means if we use 24 MHz instead of 48 then 144 shouldn't appear because 144 = 24 / 6 and that's an even harmonic. The image below shows the trouble has moved to 24 x 3 = 72, 24 x 5 = 120, 24 x 7 = 168 etc. Interestingly, again the fundamental (24 MHz) is nowhere to be seen. Maybe this is exclusively a problem with the SPI MISO / MOSI data lines?
Running the SPI at 24 MHz is not without consequences. With two or more Kiwi user connections the waterfall will run slower due to the lesser SPI bandwidth available. There is more to this story, but this post is already too long.