Journal of Signal Processing Systems

, Volume 89, Issue 1, pp 181–190 | Cite as

DFC++ Processing Framework Concept

A Novel Framework Approach for Flexible Signal Processing on Embedded Systems
  • Dominik Soller
  • Thomas Jaumann
  • Gerd Kilian
  • Jörg Robert
  • Albert Heuberger
Article

Abstract

Development of modern Software Defined Radio (SDR) based communication systems can be accelerated significantly by the use of processing frameworks. The evolution of SDR and the involved departure from digital representations of classical radio architecture towards more abstract software systems raises new requirements of increased flexibility and versatility. The proposed Data Flow Control for C++ (DFC++) processing framework concept addresses those requirements by employing modern programming techniques and flow control mechanisms to allow for variable data rates, dynamic paths, and flexible component designs. Another important trend is the integration of various embedded platforms in the software radio domain. The rapidly increasing performance and efficiency of embedded processors enables the deployment of SDR systems in more space and power constrained environments. Therefore covering a heterogeneous hardware selection becomes increasingly important for processing frameworks. By relying exclusively on C++ and minimizing external dependencies, DFC++ is specifically aiming for excellent portability and adaptability to support a wide range of current and future software radio projects while maintaining high performance and ease of use. This paper introduces the key aspects of the DFC++ concept and implementation with focus on the reference pointer based data transport mechanisms responsible for the propagation of user data between different processing components.

Keywords

Processing framework Software defined radio Embedded systems 

Notes

Acknowledgments

This contribution was supported by the Bavarian Ministry of Economic Affairs and Media, Energy and Technology as a part of the Bavarian project “Leistungszentrum Elektronik-systeme (LZE)”. http://www.leistungszentrum-elektroniksysteme.de.

References

  1. 1.
    Braun, M., & et al. (2014). Core concepts of GNU Radio. http://gnuradio.org/redmine/projects/gnuradio/wiki/TutorialsCoreConcepts.
  2. 2.
    Bard, J., & Kovarik, V. J. (2007). Software Defined Radio - The Software Communications Architecture. Chichester, West Sussex: Wiley.CrossRefGoogle Scholar
  3. 3.
    Aguayo González, C. R., & et al. (2009). Open-source SCA-based core framework and rapid development tools enable software-defined radio education and research. IEEE Commun. Mag., 47(10), 48–55.CrossRefGoogle Scholar
  4. 4.
    Gomez, I., Marojevic, V., & Gelonch, A. (2011). ALOE: an open-source SDR execution environment with cognitive computing resource management capabilities. IEEE Commun. Mag., 49(9), 76–83.CrossRefGoogle Scholar
  5. 5.
    Ronga, L. S. (2005). MuDiSP3 - the MuDiSP tool. http://mudisp3.sourceforge.net.
  6. 6.
    ISO/IEC (2012). 19500-1/2/3:2012: information technology - object management group - common object request broker architecture (CORBA). http://www.omg.org/spec/CORBA.
  7. 7.
    JPEO/JTRS (2006). Software communications architecture specification Version 2.2.2. http://www.public.navy.mil/jtnc/sca/Documents/SCAv2_2_2/SCA_version_2_2_2.pdf.
  8. 8.
    Lockheed Martin Advanced Technology Labs (2015). Comparing various IPC technologies for distributed, real-time embedded computing. http://www.atl.lmco.com/projects/QoS/compare/dist_oo_compare_ipc.html.
  9. 9.
    FlexNets (2012). ALOE quick start guide. http://flexnets.upc.edu/trac/wiki/QuickStartGuide.
  10. 10.
    Intel (2014). Intel 64 and IA-32 architectures software developers manual, volume 1: basic architecture. http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-1-manual.pdf.
  11. 11.
    ARM (2011). Cortex-A9 NEON media processing engine, revision: r3p0. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0409g/DDI0409G_cortex_a9_neon_mpe_r3p0_trm.pdf.
  12. 12.
    David, F. M., Carlyle, J. C., & Campbell, R. H (2007). Context switch overheads for linux on ARM platforms. http://choices.cs.uiuc.edu/contextswitching.pdf.
  13. 13.
    Li, C., Ding, C., & Shen, K (2007). Quantifying the cost of context switch http://www.cs.rochester.edu/u/cli/research/switch.pdf.
  14. 14.
    ISO/IEC (2003). 14882:2003: Standard for programming language C++.Google Scholar
  15. 15.
    IEEE (2013). Standard for information technology - portable operating system interface, base specifications, Issue 7. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6506091.
  16. 16.
    Microsoft (2015). MSDN - Windows API Index. https://msdn.microsoft.com/en-US/library/windows/desktop/ff818516.
  17. 17.
    Texas Instruments (2011). SYS/BIOS real-time operating system users guide, v6.33. http://www.ti.com/lit/ug/spruex3k/spruex3k.pdf.
  18. 18.
    Free Software Foundation (2016). GCC, the GNU compiler collection. http://gcc.gnu.org.
  19. 19.
    Valgrind (2015). Valgrind user manual. http://valgrind.org/docs/manual/manual.html.
  20. 20.
    Gerneth, F. (2010). FIR filter algorithm implementation using intel SSE instructions. http://www.intel.de/content/dam/www/public/us/en/documents/white-papers/fir-filter-sse-instructions-paper.pdf.
  21. 21.
    Robert, J., Lindner, T., & Milosiu, H. (2015). Sub 10\(\mu \)W wake-up-receiver based indoor/outdoor asset tracking system. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7301613.
  22. 22.
    Tröger, H.-M., & et al. (2014). Time and frequency synchronization of a wireless sensor network with signals of opportunity. in Proceedings of the 46th Annual Precise Time and Time Interval Systems and Applications Meeting, pp. 117–123.Google Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  • Dominik Soller
    • 1
  • Thomas Jaumann
    • 1
  • Gerd Kilian
    • 1
  • Jörg Robert
    • 2
  • Albert Heuberger
    • 2
  1. 1.Fraunhofer Institute for Integrated Circuits IISErlangenGermany
  2. 2.Lehrstuhl für Informationstechnik mit dem Schwerpunkt KommunikationselektronikFriedrich-Alexander UniversitätErlangenGermany

Personalised recommendations