DSP programming in C and Assembler

Course

Inhouse

Price on request

Description

  • Type

    Course

  • Methodology

    Inhouse

  • Duration

    5 Days

After attending this course, you will be able to: Understand what convolution is and how it works. Implement efficient DSP algorithms in C from scratch. Understand how to implement DSP algorithms in assembler. Know how to incorporate DSP algorithms from libraries of DSP algorithms into a project. Know how to construct your own DSP algorithm libraries. Suitable for: This course is for engineers who have a basic knowledge of C programming and a basic knowledge of DSP algorithms. This is a very intensive 5-day programming course designed to get engineers with little experience of 'C' or assembler DSP programming up to speed with 'C' and assembler DSP programming. The course will also cover mixed C and assembler programming especially accessing assembler based DSP libraries from within C applications.

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Overview
The 'C' programming skills needed to implement DSP algorithms on the dsPIC include understanding issues such as how the compiler deals with fixed point and floating point arithmetic, a thorough understanding of single and multi-dimensional array manipulation in 'C', and being able to understand 'C' generated by DSP code generation tools. In addition it is important to know about the various DSP libraries available for the the target processor and how to link these into DSP projects. The target processors used in this course will be ARM7 and/or ARM Cortex M3 processors

Key Skills
After attending this course, you will be able to:
  • Understand what convolution is and how it works
  • Implement efficient DSP algorithms in C from scratch
  • Understand how to implement DSP algorithms in assembler
  • Know how to incorporate DSP algorithms from libraries of DSP algorithms into a project
  • Know how to construct your own DSP algorithm libraries
  • Be able to read and understand the 'C' code for the more commonly occurring DSP algorithms.
  • Understand the uses of Fast Fourier Transforms
  • Understand the basic uses of Wavelets

Course Contents
Overview of Signals and Signal Processing
  • Continuous analog signals vs. discretely sample signals
  • Fourier Transform
  • Foundations of Sampling and Fourier Analysis
  • Overview of the Fast Fourier Transform
  • Overview of analog filters
  • Overview of digital filters
  • Aliasing and how to avoid it
  • Overview of Laplace and Z transforms
  • Finite Impules Response (FIR) filter principles
  • Infinite Impules Response (IIR) filter principles
Implementing filters and transforms in assembler
  • How DSP friendly is the instruction set ?
  • Multiply and accumulate operations
  • autoincrement / autodecrement addressing
  • bit reversal and bit addressing operations
  • large integer arithmetic processing capabilities
  • floating point arithmetic processing capabilities
  • FIR filter implementation in assembler
  • IIR filter implementation in assembler
  • Overview of how an FFT might be implemented in assembler
Implementing filters and transforms in C
  • Overview of arrays, pointers and data structures -with an emphasis on their use in DSP
  • Implementing a convolution algorithm in C
  • Implementing FIR and IIR filters in C
  • Overview of how an FFT might be implemented in C
  • C implementation of a FFT for processing of 2D images
Overview of Filter Design Tools
  • Filter Design using MATLAB
  • Filter Design using Fiwiz
Introduction to Wavelets
  • A Little History of Wavelets
  • 1 dimensional Wavelet basis functions
  • 2 dimensional Wavelet basis functions
  • Implementing Wavelet Transforms in C < /li>
  • Example 1 - Wavelet processing of ECG data < /li>
  • Example 2 - Feature extraction from a simple 2D image< /li>

DSP programming in C and Assembler

Price on request