Git Product home page Git Product logo

hermes-lite's Introduction

Hermes-Lite 1.x Deprecated Project!!!

This project is deprecated. Current development is now focussed on the Hermes-Lite 2.x. See the main Hermes-Lite Web Page for the latest links and details.

Introduction

The hardware is based on Analog Devices' AD9866 which is a 12-bit broadband modem mixed signal front end that has been repurposed as a direct down conversion and direct up conversion SDR transceiver covering 0-36 MHz. A hardware prototype has been built and tested that uses a BeMicro SDK FPGA board for DSP processing. The FPGA firmware is a port of the Hermes SDR project. The ported firmware preserves enough compatibility with the original Hermes SDR so that existing Hermes front-end software may be used with the Hermes-Lite without modification. Initial receive and transmit tests show good performance and appear later in this README. All software and hardware intellectual property is open source. Contributions and derivatives are encouraged. Please follow the standard "Fork and Pull" model and introduce yourself on Google Groups.

Project Goals

  • 0-30MHz (HF) transceiver with decent performance
  • Entirely open source and open hardware design
  • Cost of less than $150 (cost includes FPGA board) for hobbyist who build their own
  • Maintain enough compatibility with Hermes to use existing Hermes SDR front-end software with no or minor modification

Hermes-Lite v1.21

Hermes-Lite121

Hermes-Lite v1.2

Hermes-Lite12

Hermes-Lite v0.9

Hermes-Lite09

Receive Experiments

I compared the Hermes-Lite with a Hermes and a SoftRock RXTX Ensemble Transceiver at spotting JT65 and JT9 transmissions with WSJT-X software running on Linux. I connected two radios to the same antenna right at a tee so there is no additional coax for either radio. I adjusted the radios so that common spots are within a few Hz. This ensures that one radio is not spotting signals that are out of band for the other. I adjusted audio levels to be similar for both copies of WSJT-X that I am running. WSJT-X is not very sensitive to different input levels anyway. The Hermes and Hermes-Lite were both using ghpsdr-alex software running on separate computers, and the RXTX was using Quisk. The Hermes has a 4-1 impedance transformer. The Hermes-Lite has a 9-1 impedance transformer to better match the 400 Ohm input of the AD9866. This explains some differences in the data. The Hermes was run with no attenuation and hence has 20 dB gain from the LTC6400-20. The Hermes-Lite was also run with integrated gain set to ~20 dB unless noted otherwise. Finally, I let everything run for several hours to get a large sample set.

JT65 and JT9 Spot Data

Band 30M 30M 30M 10M 10M 10M 10M 10M
Total Spots 1629 676 826 2421 1488 1934 2461 570
Common Spots 1448 (88.9%) 647 (95.7%) 792 (95.9%) 1680 (69.4%) 778 (52.3%) 1420 (73.4%) 1663 (67.6%) 414 (72.6%)
Lite Unique Spots 22 (3.3%) 24 (2.9%) 699 (47.0%) 493 (25.5%) 768 (31.2%) 39 (6.8%)
Hermes Unique Spots 103 (6.3%) 7 (1.0%) 10 (1.2%) 342 (14.1%) 21 (1.1%) 30 (1.2%) 117 (20.5%)
RXTX Unique Spots 78 (4.8%) 399 (16.5%) 11 (0.7%)
Lite Gain dB 20 28 28 20 28 12
Lite Common SNR Average dB -8.1 -7.7 -4.7 -9.0 -9.1 -12.8
Hermes Common SNR Average dB -7.3 -8.0 -7.7 -6.1 -9.8 -10.2 -9.6
RXTX Common SNR Average dB -7.5 -10.0 -12.6
Lite Unique SNR Average dB -11.9 -11.5 -17.3 -16.2 -14.8 -15.5
Hermes Unique SNR Average dB -15.3 -13.3 -20.4 -16.9 -16.0 -14.2 -18.5
RXTX Unique SNR Average dB -8.6 -11.9 -12.0

The results from the Hermes-Lite compare well with the Hermes and the RXTX. You can see that on 30M all radios were about the same, maybe with a slight edge to the Hermes-Lite on unique spot count. The more interesting data is on 10M. Here there was a clear advantage to the Hermes-Lite in terms of unique spots and SNR (average SNR of all common spots) when the Hermes-Lite was run at 20 dB gain (to match the fixed gain of the Hermes but not accounting for the different input transformers) or 28 dB. When the Hermes-Lite was run with only 12 dB gain, the Hermes did better. This suggests that the Hermes might benefit from additional gain on the higher frequencies.

When one radio has a unique spot that the other misses, it is not because the other radio missed all spots within that minute. Rather, I see that one radio spots n and the other n-1. The missed spot is not always the weakest signal. Sometimes it is a fairly strong signal. More often the missed spot is a JT9 signal, which has a narrower bandwidth and more stringent demands.

I did not experience problems with exceeding the lower dynamic range of the Hermes-Lite. This may be due in part to my relatively poor antenna setup and rural town location. All experiments were with a ~7M vertical with base at ~2M above ground with a wire grape trellis as a ground plane. The vertical was tuned with a Z-match at the base. Also, the integrated gain in the Hermes-Lite with control in 1 dB steps from -12 dB to +48 dB appears useful to extend the dynamic range. There is a fast path to adjust this gain so that an AGC may be implemented.

These experiments only test a receiver's performance at decoding JT65 and JT9 in the real world, and other proper receiver measurments should be run, but I think they are somewhat indicative of a receiver's performance in general. Even though a less expensive ADC and clock source were used when compared to the Hermes, I did not see any dramatic penalty in reception of JT65 and JT9 spots. Instead, I saw cases where the Hermes-Lite performed better.

Transmit Experiments

I tested transmit with WSPR and observed spots of my signal on WSPRnet. PowerSDR running under Windows was used to test transmit. At first, I had only 10 dBm (10 mW) output as I had not adjusted the transmit interpolation filter for the new sampling frequency. After adjusting the interpolation filter, I had 17 dBm (50 mW) output. I am using the IAMP on the AD9866 which will do 20 dBm (100 mW) and even 23 dBm (200 mW) with some distortion. I am targeting 20 dBm (100 mW) but need to get a large ferrite core to accomodate the correct turns ratio. The unique WSPR spots appear below. This is just an indicator that transmit is working and proper transmit measurments still must be made.

WSPR Spots

hermes-lite's People

Contributors

ac9hy avatar ahopper avatar jimahlstrom avatar softerhardware avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hermes-lite's Issues

PCB: Noise considerations

When a signal crosses from over one ground plane to another, noise may be introduced. The current PCB should be reviewed to make sure signals remain over their ground plane.

PCB: RF Front-end

Changes planned for rev 1.1:

  • Use PCIe connector for front-end flexibility. Inexpensive 2-layer daughter boards with edge connector on the daughter board can be made to plug directly into the PCIe connector. This will allow for TR switches, power amplifiers, alternate power supplies, antenna tuning, preselectors, etc. A template will be provided. See discussion in the google group.
  • This is a new untested feature, so the PCB will be designed such that this connector can be left off, RF transformers wound and soldered so that they straddle where the PCIe connector would be, places for 2 BNC connectors on the side. The transformers will be wind-your-own as off the shelf devices are expensive and do not handle the bias currents for TX.
  • Attempt to route all RF pairs (3) through connector, 3.3/5/12V power, SPI interface, 1-2 signals for simple TR.
  • Route the 3.3 power before the ferrite beads, so that power can be fed into the motherboard through this connector if desired.
  • Reserve spot for termination resistor on TX if desired.

PCB: Improve power sharing with BeMicro SDK

The BeMicro SDK provides a signal to pull low if it should be powered over the 80-pin connector. In the current prototype, nothing is done with that signal. Something intelligent should be done. Currently, I have added a jumper to the BeMicro SDK which lets me choose how the BeMicro shares power.

RTL: RX signal strength must be carefully thought out

The current code converts to 16-bit by truncating 4 zeros to the LSB end of the ADC sample. Carefully thought needs to be given to the math happening here so that signal strengths, noise floors, etc. are calibrated and optimal.

PCB: Multiple TX paths in prototoype

The prototype contains a TX path for the 10 dBm output (P23) and a TX path for the 20 dBm path (P24) that uses the AD9866 IAMP. Both paths can not be used at the same time. One should be dropped.

Firmware: Review and fix Quartus warnings

There are numerous warnings during the Quartus compilation flow. Many of these are easy to fix and should be fixed. Also, there are some unconstrained timing paths that can be fixed.

RTL: Only 1 RX and 1 TX are implemented

The current code only has 1 RX and 1 TX so that it will compile quickly. 2 receivers will fit and have been tested. Final code should have at least 2 receivers.

Hardware: Standoffs, enclosure

I would like to see custom 3D standoffs made available for the Hermes-Lite v1.2. These can be designed with openscad with open source design files posted in github. Even a 3D printed enclosure is possible.

Software: Attract developers

I would like to attract developers to enhance existing software to work better with the Hermes-Lite. I have loaner units that can be sent. For best results this depends on making sure all the proper hooks are in the firmware (another issue), but we can start before that. Someone can find out if key developers are interested:

  • SDR# (I have indication that the main developer is interested)
  • PowerSDR
  • ghpsdr3-alex, glSDR (I have indication that a developer is interested)
  • OpenHPSDR
  • KISS console
  • cuSDR
  • others

All: Enable PureSignal

Puresignal is a really attractive feature of the Hermes. We should be able to enable this on the Hermes-Lite. It depends on fullduplex and a PA.

Firmware: ASMI interface not working on CV

An ASMI interface in the RTL is used by HPSDRProgrammer to program the flash EEPROM over ethernet. When porting the RTL to the BeMicro CV's Cyclone V, the new Cyclone V is not working as expected. This needs to be fixed so that one can program the Cyclone V with the HPSDRProgrammer

Hardware: Hermes-Lite 2.0

The next revision of the Hermes-Lite will hopefully happen towards the end of 2015. Ideas include:

  • Incorporate FPGA on main board
  • Incorporate best and most useful hardware from current PA/TR/filter experiments
    • Above may lead to updated interface to frontend
  • Add or switch to USB interface using FT232H or FT601
    • With the above compatiblity to Hermes and HiQSDR will be through protocol translator
    • Will start with BeMicro CV and FT232H evaluation board
    • Simpler protocol is implied

I will work on these ideas with input/feedback from Google Groups.

PCB: Power supply

The current regulators burn 1.5W, too much for portable operation. I want 3.3, 5 and 12V for daughter board features like power amps, etc. I want direct 3.3 input for battery operation. In the spirit of using inexpensive off the shelf components, I've started using a computer power supply for the Hermes Lite. The Antec VP-450 does not show signs of noise and sells for $37 at NewEgg or Amazon. So, rev 1.1 will have the following changes:

  • Drop 3.3V regulators and power from external power supply. I've tested this with the Antec VP-450 and my current prototype and it works fine.
  • Include SATA connector on SDR board.
  • Include through hole for those wishing to wire their own power supplies in.
  • Include power source/feed through PCIe connector.
  • Use freed space for a bit beefier filtering, ferrite bead.
  • For power to BeMicro, replace P8 with a jumper to 5V.
  • Connect any power plane left unconnected in the prototype for experimental reasons.

All: 6M

Review and remove problems since top end of Hermes-Lite tuning range is 36MHz.

PCB: U2 gets too hot

Regulator U2 gets too hot. It drives several of the analog power supplies. These can be split into two planes driven by two regulators.

Wire from VIN to VIN not routed on board.

If you look carefully in pcbnew (part of kicad) you can see why there is a large white jumper wire on the back of the board. There is one wire from VIN to VIN that wasn't routed.

Firmware: Enable bandscope

The bandscope data is sent but is for the new sampling rate. Front-end software might need to be adjusted to support this. Alternatively, the bandscope feature can just be removed. This will make it easier to fit more receivers.

Firmware: No 384kHz with new 61.44MHz crystal

Hermes-Lite v1.2 and on use a 61.44MHz crystal for compatibility with future OpenHPSDR projects. Unfortunately, there is no simple divisor down to 384kHz for this frequency. The number of CIC filter decimation steps needs to be adjusted to support 384kHz

RTL: Port to BeMicro CV

The BeMicro SDK may be phased out. The design can be ported to the BeMicro CV with the addition of the ethernet port on the daughter board.

Eventually it would be nice to have the FPGA on board, and perhaps a tiny FPGA (1RX,1TX) to keep the costs down.

RTL: TX processing

Like the RX processing, the current TX processing was done quickly to get things working. Careful thought must be done regarding the math in all processing steps given the new TX DAC rate and bit width.

PCB: Clock requires jumper

The prototype requires a jumper from pad P18 to P5. This was to allow freedom regarding which FPGA pin is used for the clock. This should be routed. The clocks should all go to dedicated FPGA clock pins.

PCB: Support hand wound transformers

The minicircuits transformers are too expensive in small quantities. Also, the minicircuits transformer does not handle the higher bias current seen in TX. The pcb supports surface mount minicircuits here, but I would like to change to through hole "wind your own" using binocular cores.

Hardware: Better power supply

The current v1.2 series has a very open power supply interface. Ideally, I'd like one 12-13.8V input and then have low noise switching regulation down to 5 and 3.3V. I've read some articles about using switching power supplies with high-speed ADC and the trick is to design a good filter. See this and this. Such a power supply would be included on v2.0 but could be easily prototyped, tested and used with v1.2.

Firmware: Update to Latest Hermes Firmware

The Hermes-Lite RTL is based on Hermes v2.5a RTL. Someone can go through the patches applied to the Hermes RTL and apply the same to the Hermes-Lite RTL to bring it up to date.

PCB: Prototype works only with a 5V supply

The current prototype works only with a 5V supply as the regulators do not work with 13.8 V input. Also, the power supply driving the final stage must be just below 5V. This should be redesigned so that one 13V supply can be used, which possibly drives a higher power amp.

Firmware: MAC and Static IP are hardcoded into RTL

The MAC and IP address are hardcoded into the RTL. The Hermes has a separate serial eeprom for these. I would like to eventually use the end of the boot serial eeprom to store this data. The ASMI interface will support this. DHCP is working.

PCB: SMA holes are too small

The holes for the SMA connectors on the current PCB are too small. Perhaps BNC connectors, or at least an edge SMA connector, would be more cost effective too.

PCB: Max power is 17 dBm

Because of the current TX transformer spec (turns ratio 1.2 : 1), max power out is 17 dBm. A transformer with 2:1 impedance ration (1.41:1 turns ratio) should provide the full 20 dBm output.

Firmware: Hooks and better control for software

The firmware make all IO easily available to software. I do not like how the Hermes does this, but will live with it for now. I'd prefer an APB bus model. The ALEX interface, SPI and PTT# signals need to be exposed. Also, the added functionality of the AD9866 needs to be exposed.

All: VNA functionality

The Hermes supports VNA functionality, HamVNA. It would be nice to support this with the Hermes-Lite. This depends on having full-duplex working. This will also require a reflection bridge and software changes. The HamVNA project is opensource and written in Pascal (Delphi project). It may be possible to compile and even cross-compile this with http://www.lazarus.freepascal.org/.

Firmware: Enable full-duplex

Only half-duplex is implemented. The AD9866 will support full-duplex and experiments have been done. In full-duplex, the RX gain was introducing substantial noise at some low gain settings. There is a request to Analog devices to help with this. The RTL implementation of full-duplex may have to wait until any hardware issues are resolved.

All: Documentation and "marketing"

Once kits are available, it would be nice for more people to know about the Hermes-Lite. This also requires supporting their interest.

  • Better documentation on the wiki
  • QST article. Bob W9RAN who has already written several good QST articls has agreed to help with this.
  • A bit of "marketing" on other lists providing status updates once we are past the early adopter stage.

RTL: RX gain adjustment is a hack

You can adjust the RX gain via the Hermes gain slider in QtRadio. With dither on, the gain goes from -12 to +20 dB. If you turn dither off, the gain ranges from +20 to +48 dB. This is in single dB increments. This is a hack and a better interface to the RX gain is needed.

All: Port HiQSDR

It would be nice to port the HiQSDR rtl using the opencores MAC to work on this platform.

PCB: PCI-E connector not needed

The current prototype contains a PCI-E form factor connector meant to interface to XMOS processors via their slice interface. This turned out to be unused. It can be removed. The component side fingers are incorrect in the Kicad library module.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.