In general, throughout the history of software-based radios, developers built radio systems using strictly imperative programming technologies. They developed the algorithms required to solve the radio problems and then transposed them to the processing elements found within their particular radio hardware. This paradigm shift although sufficient to support the development of communication systems, lacked the flexibility to evolve gracefully.
The lack of standardization found in these types of software-based radios meant that developers could not leverage any of the existing implementations of previous radio systems, and as such, they reinvented the same functionality for each new radio they deployed. As an additional consequence, introduction of new technologies was stifled as radio vendors found themselves mostly involved with making existing communication standards work on new hardware platforms versus introducing new and more capable communications standards and implementations. As a consequence, they found themselves being locked into particular radio hardware in order to facilitate time to market reduction and could not make use of the new and more capable processing capabilities available.
Recognizing these problems organizations began developing standard architectures for building Software Defined Radios (SDR). As a result, focus began shifting from building single radio systems using software to building families of radios. These new architectures indentified the commonalities in these systems and provided frameworks to capture them. They further allow radio developers to insert the variabilities of their particular radio system (i.e. the unique functionality the radio needs to offer) using defined interfaces. The new standards focused on isolating the radio hardware and as such allow the software built for the new SDRs to be portable across radio systems.
However, it should be noted that the goal of these standards is not to simplify the development of radio systems, but rather to allow the development of radio software that can be utilized across radio families. As such, these new SDR architectures are not without their own complexities. The functionality needed to support the SDR standards is quite complex and poses new challenges for organizations wishing to reap the benefits of SDR technologies. They introduce new complexities such as:
- Complexity of the SDR framework itself and all the new interfaces that radio software must now support.
- Complex new implementation technologies mandated by the frameworks.
- Excessive low level details - for example what the frameworks report in response to errant conditions.
The objective of our Spectra product suite is to eliminate these types of complexity and increase the productivity of organizations building to these new SDR standards.