Software Defined Radio
Software Defined Radio
CHAPTER 1
INTRODUCTION
There are many motivations for utilizing SDR solutions. For the military
sector, where communication systems need to have a longer service life time than in
the commercial sector, SDR helps to protect investments by prolonging the useful
service life of communication systems. This is facilitated through SDR allowing the
possibility to change waveforms and/or load new waveforms on already acquired
SDR equipment.
CHAPTER 2
SOFTWARE ARCHITECTURE
The foundation of any digital system is the architecture. The term architecture
can refer to software, hardware or a combination of two. Software architecture is a
level of abstraction at which a system is typically described as a collection of
components and their interactions. Components perform the primary computations of
the system. Interactions between components include high level communication
abstractions such as message passing and event broadcast.
Software architecture has different goals for different groups. For the systems
engineer, software architecture brings consistency, requirements tractability and trade-
off and completeness analysis whereas for the developer, it provides sufficient detail
for design and interoperability with legacy systems. It establishes a reference for
assembling components and guides the developer for software modification. The
software architecture provides consistency with use case scenarios, reliability and
interoperability analysis and project scheduling for the end user.
When the JTRS JPO was established to acquire a family of affordable, high
capacity, tactical radio systems that can provide interoperable wireless mobile
network services, the need for an open architecture emerged. By building upon a
common open architecture, JTRS can improve interoperability by providing the
ability to share waveform software between radios and reduce development and
deployment costs. In view of its potential applicability across a wide range of
communications domains, JTRS JPO named this architecture the Software
Communications Architecture
The SCA defines an Operating Environment (OE) that will be used by JTRS
radios. It also specifies the services and interfaces that the applications use from the
environment. The interfaces are defined by using the CORBA IDL, and graphical
representations are made by using UML. The OE consists of a Core Framework (CF),
a CORBA middleware and a POSIX-based Operating System (OS). The OS running
the SCA must provide services and interfaces that are defined as mandatory in the
Application Environment Profile (AEP) of the SCA. The CF describes the interfaces,
their purposes and their operations. It provides an abstraction of the underlying
software and hardware layers for software application developers. An SCA
compatible system must implement these interfaces. The interfaces are grouped as
Base Application Interfaces, Framework Control Interfaces and Framework
Services Interfaces the Base Application Interfaces are used by the application
layer. They provide the basic building blocks of an application. The interfaces in this
group are: Port, Life Cycle, Testable Object, Property Set, Port Supplier, Resource
Factory and Resource. The Framework Control Interfaces provide the control of the
system. The application layer can reach the OS through these control interfaces. The
interfaces in this group are: Application, Application Factory, Domain Manager,
Device, Loadable Device, Executable Device, Aggragate Device and Device
Manager. The Framework Services Interfaces provide the system services. These
interfaces support both core and none-core applications. They include: File, File
System, File Manager and Timer. The CF uses a Domain Profile to describe the
components in the system. The Domain Profile is a set of XML files that describe the
identity, capabilities, properties, inter-dependencies, and location of the hardware
devices and software components that make up the system. The software component
characteristics are contained in the Software Package Descriptor (SPD), Software
Component Descriptor (SCD) and Software Assembly Descriptor (SAD).
2.2 MIDDLEWARE
2.2.1 CORBA
When the ORB that runs the client discovers that the actual object
implementation is on a remote ORB, it routes the invocation out over the network to
the remote object’s ORB. As the ORBs might be implemented by different vendors,
and CORBA promises vendor independent interoperability, the architecture specifies
a common protocol called Internet Inter-ORB Protocol (IIOP).This protocol specifies
a representation to specify the target object, operation, all parameters (input and
output) of every type that may be used, and how all of this is represented over the
wire. CORBA provides the mechanism through which different software defined
radio vendors can develop compatible software and hardware interfaces. Any
component on a radio can be replaced or upgraded, and the download process can be
made transparent to the user.
inherits the SCA CF application, which has the generic functions implemented. The
waveform specific behavior can be implemented by function overloading. All
waveforms can use the CF services like the File System, which is another factor
increasing reusability.
The CF Base Application Interfaces are the basic building blocks for an SCA
compatible radio system. These interfaces are Port, LifeCycle, TestableObject,
PropertySet, PortSupplier, Resource and ResourceFactory. These interfaces are used
by the application layer and the Framework Control Interfaces to assemble an
application. They are implemented by the application developers. The components of
an SCA compatible application connect to each other through ports. The Port
interface provides the connect and disconnect operations needed to assemble and
disassemble components. Application specific ports inherit the Port interface. These
component dependent, application specific ports define the direction and control of
the data flow and fan-in fan-out specifications by implementing additional operations.
Components that provide ports inherit the PortSupplier interface which defines the
getPort operation.
a component, whereas the query operation returns its attributes and properties. The
software components in an SCA compatible system implement the Resource
interface. The Resource interface provides the operations to control and configure a
component by inheriting the PortSupplier, TestableObject, PropertySet and LifeCycle
interfaces, and by providing start and stop operations. Applications are created by
connecting a number of Resources to each other through Ports.
Design has four distinct functional components that inherit the Resource
interface. These components are DirectXResource, AudioResource, Waveform
Resource and ModemResource. They communicate through ports. The Resources
perform their functions by loading pre-compiled binaries on the Devices they are
deployed on, and executing these binaries. Their functionalities are two-way, so the
same Resource can be used for both reception and transmission. The DirectXResource
handles the D/A and A/D conversion with the help of a sound card. This resource
must be deployed on a device that has a compatible sound card. Once started,
DirectXResource converts the analog voice signal from a microphone to a sequence
of integers, and vice versa.
FileSystem interface. The FileSystem also acts as an object factory for Files by
defining create and open operations. The FileSystem interface makes the underlying
physical file system transparent to the user. Different file systems like FAT32, NTFS,
and Unix File System can be used with the same interface. When combined with the
location transparency feature of CORBA, the user does not even know where the
physical file actually resides in the system. The FileManager provides yet another
level of abstraction so that multiple, distributed FileSystems may be accessed through
a FileManager.
CHAPTER 3
CHALLENGES
Since SCA is the dominant SDR architecture, the SCA-related challenges will be
focused on first.
European military domain only, or whether this initiative could also contribute to
providing inter-domain waveform portability. An alternative and equivalent approach
to that of standardizing APIs to system components is providing abstraction layers
between the platform and the application components. Another related portability
issue is the various alternatives for transport mechanisms for the communication with
components deployed on DSPs and FPGAs. The JTRS has standardized a specific
adapter referred to as the Modem Hardware Abstraction layer (MHAL) for this
purpose .
Target processor compatibility of the No. Different DSPs and FPGAs may
code support different features
SCA components manually is tedious work involving a lot of XML and CORBA
details, the tools allow the SDR designers to define the components through user-
friendly tool interfaces. The tools also allow applications to be formed by making
connections between the various components, and between the components and the
devices of the platform. Still, even with the tools being of significant help in the
development process, concluding for example from SCA-based development efforts
within own organization, detailed SCA knowledge is still needed and in a starting
phase a lot of time is spent on non-signal-processing issues, particularly on a
heterogeneous platform.
The tools typically generate the necessary XML and the SCA infrastructure
part of the components while functional processing code needs to be added by the
designer, either coded manually or using her/his favorite tools. A more unified higher-
level design approach possibly could improve productivity. It is envisioned that SDR-
design will increasingly be performed at higher abstraction levels, eventually using
fully integrated Model-Driven Development (MDD) tools with automatic
transformation from model level to any specific heterogeneous platform. In summary,
a further enhancement of the efficiency of designing SCA-based applications, as well
as a general availability of MDD tools with fully automated conversion to code level
for any given HW platform are important remaining challenges.
processing delays in the SDR, and tolerable level is application and waveform
dependent. As with throughput, latency is a function of both CORBA and the
underlying transport. Average latency tends to show a linear relation with message
size and with significant non-zero latency for message size 0. Latency variation may
be reduced by using Real-Time CORBA features.
become unpleasantly high for the user. For base stations like cellular network
infrastructure stations, and for vehicular mounted stations, the power, size and weight
factors are easier to accommodate, however performance versus these parameters and
cost may still be challenging for complex high bit rate waveforms. SDR applications
perform processing of the various stages of receive and transmit signals, but they also
perform protocol handling, application control activities, user interaction and more.
The SDR components may to a large degree run in parallel, e.g. a decimator
component may run in parallel with a filter component and a Fast Fourier Transform
(FFT) component, Since they work on different stages of the processed data. The
Software Communications Architecture (SCA) facilitates this type of parallel
processing as it is a distributed system Architecture, where processes may run on
several processing elements while exchanging processed data. A good exploitation of
this parallelism depends on a well devised component structure of the waveform
application, along with optimized deployment of the components on the available
processing elements.
The flexibility benefits of SDR at the same time causes challenges in the
security area, both for developers and security certification organizations.
If the SW is downloaded over the air, this also exposes the system for
someone illegally obtaining the SW (privacy violation) or altering the SW while in
transport (integrity violation. The manufacturer (or any other party authorizing the
code) computes a one-way hash of the code module, then encrypts this hash code
using their private key of a private public asymmetric key pair. This encrypted hash is
the digital signature which is added to the code module before it is sent to the SDR
platform. A verification application on the SDR platform then verifies the signature
by decrypting the signature using the manufacturer’s public key, and checks that the
decrypted signature equals the one-way hash of the code module. A Digital Certificate
is a way of assuring that a public key is actually from the correct source. The Digital
Certificate is digitally signed by a trusted third-party.
A possible way ahead is to design the security features and the security APIs
in such a way that making the security APIs public does not increase the vulnerability
of the platform. Another potential solution is having dual security APIs, an intra-
domain API and another inter-domain API, where only the inter-domain API is
disclosed outside of its own domain.
With the current version of the SCA, neither the security requirements nor the
security APIs have been openly published, making portability between different
development domains difficult. The ESSOR project aims at providing what it terms a
common security basis to increase interoperability between European forces as well
as with the United States. It remains to be seen though, if ESSOR will define the
needed security parts for the whole of the European domain or which part, and
whether this will contribute in any way to portability with US platforms. MILS-type
architectures are the most promising developments for providing drastic reductions in
technical obstacles for portability of security code. Since the MILS-specific HW
requirements are already present in many commercial microprocessors, this enables
different platforms to provide compatible environments for MILS-type security code.
It should be noted though that in the case of implementation specific additional
bindings to non-standard devices this would give similar concerns as discussed
earlier.
In summary, the lack of inter domain security APIs and security feature
documentation is presently a major challenge and obstacle for SDR application
portability. Ongoing initiatives, E.g. ESSOR, are likely to improve this situation by
CHAPTER 4
OPPORTUNITIES
SDR provides new product and market opportunities, and has the potential of
changing the business models in the radio communication industry. Here, these
opportunities are reviewed along with the present status in pursuing these in the
military and commercial domains, and with references to recent publications on this
subject.
MMTs are still almost exclusively using traditional non- SDR designs,
utilizing waveform standard specific integrated HW even if the terminals serve a high
number of waveform standards (e.g. GSM, EDGE, W-CDMA, HSDPA, Bluetooth,
So far the user demand for field upgrading waveform application software on
mobile handsets has been limited, simply due to the fact that the handsets are
frequently replaced the handset replacement’ model since the market is currently
driven also by a lot of other factors than the waveform standards, e.g. improved
platform devices such as cameras and displays.
MPMBs and MMTs represent a large future market opportunity and driver for
SDR technology. CRs may both provide context-aware services for the user and
improve spectrum utilization through dynamic spectrum access. In order to
continuously take advantage of spectrum opportunities and adapt to the specific
context, CR requires platforms that have fast dynamic reconfiguration abilities.
CHAPTER 5
CONCLUSION
Even though SDR technology has evolved more slowly than anticipated some
years ago, there are now many positive signs, the clearest ones being in the form of
SDR products entering the market. Several major initiatives, at national and
cooperative levels between nations and the industry are paving the way for SDR. The
increasing availability of SCA SW tools and development platforms is contributing to
reducing the learning threshold of the SCA and also increase the productivity of SDR
development. Developments within Model Driven Design may further increase this
productivity. The SCA eases portability by providing a standard for deploying and
managing applications. It is expected that the SCA will remain the dominating
architecture in the military sector where waveform application portability and reuse
are major priorities, especially through cooperative programmes.
One such security challenge is that the system must be protected from loading
unauthorized and/or malicious code. Also, the rigidity of conventional security
architectures in many ways contrast the desired flexibility and portability ideally
required for SDR. The multitude of waveform standards and their rapid progress
make it beneficial and economical to be able to easily update wireless network
infrastructure equipment, such as cellular base stations. Also, base stations are less
sensitive to the power consumption of the SDR processing platforms than the mobile
devices. Thus SDR has promising potential in commercial wireless network
infrastructure equipment. SDR has the potential to increase the productivity of radio
SDR will have continued focus as a highly flexible platform to meet the
demands from military organizations facing the requirements from network centric
and coalitional operations. SDR will also have continued focus as a convenient
platform for future cognitive radio networks, enabling more information capacity for a
given amount of spectrum and have the ability to adapt on-demand to waveform
standards.
REFERENCES