Wednesday, 22 January 2025

The 34th Annual Running Of The University Of Oxford Live Digital Signal Processing Course, In May 2025

The 34th annual running of the University Of Oxford Live Digital Signal Processing course will be running in Oxford, UK, from Tuesday 20th to Friday 23rd May 2025.

The courses are presented by experts from industry for Engineers in industry and over the last 30 years has trained many hundreds of Engineers, from all areas of Science and Engineering.

Here is a summary of the two courses.

Digital Signal Processing (Theory and Application) - Tuesday 20th to Thursday 22nd May 2025.

https://www.conted.ox.ac.uk/courses/digital-signal-processing-theory-and-application

This course provides a good understanding of DSP principles and their implementation and equips the delegate to put the ideas into practice and/or to tackle more advanced aspects of DSP. 'Hands-on' laboratory sessions are interspersed with the lectures to illustrate the taught material and allow you to pursue your own areas of interest in DSP. The hands-on sessions use specially written software running on PCs.

Subjects include:

  • Theoretical Foundations
  • Digital Filtering
  • Fourier Transforms And Frequency Domain Processing
  • DSP Hardware And Programming
  • ASIC Implementation
  • Typical DSP Applications

Digital Signal Processing Implementation (algorithms to optimization) - Friday 23rd May 2025.

A one-day supplement to the Digital Signal Processing course that takes the theory and translates it into practice.

https://www.conted.ox.ac.uk/courses/digital-signal-processing-implementation-algorithms-to-optimisation

The course will include a mixed lecture and demonstration format and has been written to be independent of target processor architecture.

The course will show how to take common DSP algorithms and map them onto common processor architectures. It will also give a guide line for how to choose a DSP device, in particular how to choose and use the correct data word length for any application.

Attendee Feedback From Previous Courses:

John is like a textbook in human form ;-)  

It was informative, enjoyable and stimulating 

Excellent content, very lively thanks to the 2 excellent presenters - Anonymous

A very good introduction to DSP theory

Excellent lecturers! Really useful information and very understandable

Great mix of theory and practice

The lecturers gave a detailed and excellent explanation of the fundamental topics of DSP with real world engineering practice.

This session closes the gap and clears up much confusion between classroom DSP theories and actual DSP implementation.

Very good session, with in-depth discussion on the math and background.


These courses will be held at the University of Oxford, UK

Copyright © 2025 Delta Numerix


Wednesday, 15 January 2025

Understanding First Order Filters

While sorting through some very old papers I came across a solution to an interesting problem that I I struggled with when I was learning DSP. I have no idea where the original problem came from so I've replicated it here, as best I can remember, along with the solution:

The following first order direct form II filter :

                 w(n)
x(n) -->+-------------------+-->y(n)
        ^         |         ^
        |       +----+      |
        |       |z^-1|      |
        |       +----+      |
        |         |         |
        |         v         |
        ----*-----------*----
           a1  w(n-1)  b1

Is defined by the following equations:

y(n) = w(n) + b1.w(n-1)     (1)

w(n) = x(n) + a1.w(n-1)     (2)

Question: Show the difference equation in terms of y and x ?

Hint: Rearranging to a direct form I filter structure will help.

Solution

Diagramatically

The original system is a Linear Time Invariant (LTI) system so the feedforward and feedback sections can be swapped without changing the system response:

x(n) -------------+-------------->y(n)
         |        ^        |
       +----+     |      +----+
       |z^-1|     |      |z^-1|
       +----+     |      +----+
         |        |        |
         v        |        v
         ----*----+----*----
            b1        a1

Hence:

y(n) = x(n) + b1.x(n-1) + a1.y(n-1)


Mathematically

From (2):

w(n-1) = x(n-1) + a1.w(n-2)     (3)

Substituting (2) and (3) into (1), to compute the output:

y(n) = x(n) + a1.w(n-1) + b1.[x(n-1) + a1.(w(n-2)]     (4)

Rearranging to combine w terms:

y(n) = x(n) + b1.x(n-1) + a1.[w(n-1) + b1.w(n-2)]     (5)

From (1):     y(n-1) = w(n-1) + b1.w(n-2)     (6)

Substituting (6) into (5) gives:

y(n) = x(n) + b1 x(n-1) + a1 y(n-1)


Copyright © 2025 Delta Numerix