One of the three FiFiSDRs obtained for use at the Northern Utah WebSDR.
Click on the image for a larger version.
Problems with the USB Sound Cards:
Up to now, we have been using a combination of plug-in (PCI, PCIE) sound cards, using USB sound cards when the number of such receivers exceeded the number of plug-in slots on the computer. Among the few affordable USB audio devices that can sample at 192 kHz are the Asus Xonar U5 and U7 (including the MK 2).
These devices work very well for the task - when they work: After nearly 2 years, only two of the ten U5 and U7 devices that we had acquired over that period still work, the majority having failed when the USB interfaces would fail to negotiate at full USB 2.0 speed (if they negotiated at all!) after a few months of operation - often after a reboot. Unfortunately, an Internet search revealed that this is not an uncommon problem and a plausible explanation as to the reason for these failures - or a fix - was not to be found.
Rather than spend more money on the unreliable Asus U5 and U7 USB devices - most of which we had gotten on EvilBay, originally in proper working order - we decided to switch to the "Fifi SDR" device from Box73.com in Germany. Originally introduced around 2010, the current "Version 2" increased the bandwidth from the original 96 kHz to 192 kHz - and rather than just a sound card in a box, the FiFiSDR includes an entire synthesized "Softrock" receiver with decent performance and best of all, they cost about the same as a brand new 192 kHz capable USB sound card. Several popular WebSDR systems - including KFS in Half Moon Bay, CA - use these devices and have reported good performance and reliability. If they had been available when we were acquiring the equipment for the Northern Utah WebSDR, we would have started using them earlier.
Three FiFiSDRs were ordered - exactly enough for our needs - and upon arrival, I assembled them (a bit of soldering and mechanical assembly) and began to test them. For whatever reason my Windows 7 machine at my workbench steadfastly refused to recognize the Fifi's sound card interface, but my Windows 10 laptop did and after a few missteps - mostly related to the program I was using to interface with it (HDSDR) having been previously configured for different SDR hardware - I got all three up and running.
My initial impressions of the performance of the three FiFiSDR were generally good - ignoring the "elephant in the room" discussed below: The receiver sensitivity, although varying by 2-3 dB between receivers, was within advertised specifications and once they had been powered up for several minutes the frequency was quite stable (within a few Hz). Immediately, I noticed a few low-level CW spurious signals, but these were at or below the microvolt level and would likely be submerged in the noise floor - at least on the lower bands.
Because the sound codec was integrated within the receiver itself, the center-frequency (so-called "Zero Hz") noise was quite low because a possible pick-up point (e.g. a cable going from the output of the SoftRock receiver to a sound card) has been eliminated. I did notice a fairly strong artifact at or near zero Hz - likely a DC offset with a bit of 1/F noise - but this is typically removed by a low-frequency high-pass filter in software and is not likely to be an issue.
I did notice two artifacts typical of "SoftRock"+sound card receivers:
- Under no-signal conditions, the noise floor would rise by several dB at "high audio" frequencies as manifest by a slightly "lighter" waterfall at the extreme low and high ends of the 192 kHz passband. This is quite typical of sound cards and has been observed on nearly every sound card that I have used.
- Under conditions where the external (ionospheric) noise exceeded that of the receiver's noise floor, there was a bit of "droop" at the extreme low and high ends of the 192 kHz passband. I've noticed this effect on nearly every softrock-type receiver and attribute it largely to signal drop-off in the audio chain at high audio frequencies.
I'd seen a mention or two that the Fifi SDRs would occasionally "lock up" - but it didn't seem to be a common theme in the groups online - but once I got the them up and running, I saw two things that concerned me:
- When I touched the metal case and had no antenna connected the receiver's noise floor went way up. This is bad news - particularly if it is to be installed in an electrically-noisy environment - like anywhere near a computer.
- If I had even the slightest amount of static electricity on my body the Fifi SDR would crash when I touched it and refuse to come back to life until I unplugged the USB and plugged it back in again.
Inspection revealed why: Not only was the case very heavily anodized, the two boards fit somewhat loosely in the slots inside - and there was only a single common ground in one corner of the main board. Even if the board was snug, it probably would not have made electrical connection through the case's oxide coating.
Clearly, I needed to find a simple way to bond the board to the case. The receiver's main board's use of a single-point ground seemed reasonable - particularly when one pairs a computer with a very sensitive receiver as one must carefully avoid on-board ground loops - so I resisted any temptation to "bond it everywhere" - at least not without careful testing.
First, I used a rotary tool with a wire wheel to remove the anodization (clear oxide coating) from around the edges of the end panels as well as the very ends of the drawn aluminum case so that when the screws were installed, they would have metal-on-metal contact.
The next step was to provide a connection from that ground in the corner to the case - and I did this by wrapping the edge of the board in that corner (Figure 2) with copper foil and soldering it, leaving a bit of excess to wrap around the end of the board (Figure 3) - the idea being that it would be compressed by the now-bare aluminum end panel and make connection to the rest of the case.
Because bare aluminum quickly forms its own insulator when exposed to atmospheric oxygen, a thin layer of anti-oxidant compound (e.g. "NoAlOx" or "DeOxIt" - both used in electrical wiring) was applied to the bared aluminum on the ends of the case as well as where the copper would press against it: This would prevent re-oxidation and the loss of connection over time and with exposure to air and moisture.
Upon reassembly, the end of the board with the copper connection was tightly pressed against the inside of the end panel and there was a low-resistance connection between the boards inside and the case. Because of this effort, not only does the receiver noise floor not go up when I touch the case, but I can give the unit a pretty good "zap" with a static spark and not have it affect the operation of the device!
If I'd had the time to do so, I would have tested the efficacy of additional board-to-case ground points, making sure that these additions did not reduce the performance of the receiver.
Although not instructed to do so by the assembly guide, installing the nut on the 3.5mm audio connector may the connect the board to the case (via the end-plates) at that point. As they are, the connector's body is not is not long enough to protrude very far through the end plate and only a few threads were presented.
The "floating" antenna jack:
Presumably to prevent circulating currents between the antenna system and the "ground" of the computer (via the USB cable) the antenna jack is coupled to the receiver via a 1:1 transformer. Having a "floating" antenna connector made me nervous: If one were to connect a FiFiSDR to an ungrounded wire antenna, wind static could easily cause high voltage to appear on the antenna connector which might not only cause a shock, but if it arced to ground somewhere - possibly within the receiver - it could damage the receiver's RF amplifier and/or be conducted to the USB interface to the computer where it could cause the FiFiSDR and/or computer to crash or worse, cause damage.
While I am not advocating using any antenna without appropriate grounding, I do know that it does happen and out of principle, I added circuitry to mitigate the risk: The addition of a 150k resistor to prevent the accumulation of charge and an 80 volt gas-discharge tube between the RF and system ground.
Even if one does not add a gas-discharge tube, I would certainly advocate the addition of the drain resistor!
* * * * * * * *
Spurious signals in the receiver - the "elephant":
Having gotten all three receivers operational, I noticed something else that was alarming: In two of the three receivers I could see, near the upper and lower edges of the passband (192 kHz sampling rate, 75 kHz and farther, symmetrical about the center frequency) some "ragged" signals that drifted about: The third receiver also showed these same spurious signals, but they were much weaker, closer to the center frequency indicating that the same problem was evident, but likely farther out of the +/- 96 kHz passband of the receiver's sound card and showing up via aliasing. Even if though the spurious signal on this third receiver was weak, I decided that was likely to mix with existing signals and cause additional, undesired signals to be produced within the passband, and would likely be the case with the other two receivers.
The spurious signals on the two worst receivers (example in the upper half of Figure 6) were fairly strong, about "S-9" in strength, making their existence unacceptable. A quick check of the FiFiSDR wiki and trouble ticket system revealed that there were at least two tickets (#324 and #332) reporting this issue - but both were years old and were still open with no suggested resolution.
Careful observation showed something else: As an applied signal within the passband of the receiver (e.g. +/- 90 kHz or so of the tuned frequency) increased in amplitude above approximately -70dBm, these spurious signals would start to "noise up" and disappear - finally vanishing by the time the signal achieved -30dBm. Because the signal was affected by signals in the audio chain, this observation took the onus off the likelihood of the power supply oscillating, pointing directly at the audio chain indicating that whatever was causing it was directly in the audio signal path.
Touching a voltmeter probe to this pin I observed that this spurious signal would disperse widely - as if frequency-modulated by the AC mains field on the workbench - but the same did not happen when I touched the voltmeter probe to pin 41 ("ADC1RP") indicating that the problem was only on the "left" channel of the codec. Disconnecting the DC blocking capacitor from IC5, the audio amplifier, the amplitude of this oscillation remained the same, shifting frequency very slightly: This implied that the problem was the AD1974 itself.
At this point I noticed something else: The voltage on pin 41 ("ADC1RP") was a few 10s of millivolts lower than that on pin 39 ("ADC1LP") - something that should not occur as both were presumably biased from the same internal voltage reference. I then observed that there was a 470k resistor between the traces connecting pin 41 and ground - but this resistor was missing on pin 39.
On a hunch I added a 470k surface-mount resistor to ground at the bypass capacitors connected to pin 39 and found that the spurious signal disappeared. Apparently, the designers of the Version 2 of the FiFiSDR had observed a similar problem and added the 470k resistor to "ADC1RP" - but did not do so on "ADC1LP".
This "fix" worked on all three receivers.
Improving common-mode (longitudinal) isolation:
(Sorry, no pictures at this time.)
One thing I noticed about this receiver was that its antenna input was transformer-isolated from the case. Ideally, this is a good thing as it can reduce any ground loops that may contain circulating AC or DC currents which, unless everything is well-bonded to a common ground, may cause problems (e.g. hum on audio devices, potential USB instability). Unfortunately, no transformer is or can be perfectly balanced - and this could be demonstrated on the KiwiSDRs by simply touching the outer shell of the BNC connector and observing a slight noise increase when in an indoor RF-noisy environment - even after the case grounding issue discussed above was solved.
To quantify this imbalance I took some measurements, applying an amount of signal between the KiwiSDR case after bonding it to the circuit board as described above and the shell of the BNC connector, observing the amount of signal that was required to achieve an "S9" reading. Doing this at both 5 MHz and 29 MHz, I obtained the following results in terms of common-mode (longitudinal) isolation:
- 5 MHz:
- Isolation = 29dB unterminated
- Isolation = 50dB terminated at 50 ohms
- 29 MHz:
- Isolation = 24dB unterminated
- Isolation = 35dB terminated at 50 ohms
With the addition of the capacitors, the isolation improved to about 50dB on both frequencies - terminated or not. I was hoping for even greater improvement than 50dB, but I suspect that because the case-to-board mounting occurs in only one place, in a corner away from the RF connector, circulating currents were flowing across the board. It is possible that bonding the system ground to the case near the antenna connector would have improved this - but I did not have time to test this and make sure that it did cause significant degradation.
* * * * * * * * * * * * * * * * * * * * * *
Unlike some of the inexpensive "Wideband" receivers based on the RTL chips (e.g. RTL-SDRS - which have just 8 bit A/D converters) higher-end receivers that have greater simultaneous bandwidth (SDRPlay, Red Pitaya, KiwiSDRs) have greater bit depths - typically 12-14 bits, offering greater dynamic range.
Even a higher bit-depth wideband receiver can be at a disadvantage compared to the combination of a SoftRock and sound card: Not only does the 16 bit depth of a sound card offer more dynamic range, but the lower operational bandwidth (192 kHz maximum for a sound card based receiver) means that there is less overall "energy per Hz per bit" impinging on the A/D converter than a MHz-bandwidth A/D converter.
* * * * * * * * * * * * * * * * * * * * * *
Comment: An attempt was made to post the solution to the problem of the spurious signals to the FiFiSDR ticket system, but the post was rejected by the system. I have not had the time to register with the site.
This page stolen from ka7oei.blogspot.com