My experience in signal processing algorithm development comes mainly from several years spent developing primary signal processing for radar systems. I can also offer algorithm development and testing in other areas, provided that I understand the underlying physical principles.
I am especially interested in the theory and application of Bayesian filtering algorithms. This very general approach to estimating the current state of an observed system based on the entire history of observations can solve problems that are unsolvable by other methods. It is particularly useful when the estimate must be based on a sufficiently long observation period during which the state of the system may evolve significantly. Deriving the estimate from such a long observation is necessary when:
Development of a multistatic primary surveillance radar with omnidirectional antennas and pseudorandom continuous noise signals was by far the most interesting research work I have been involved in as a system engineer. As I was required to perform theoretical analyses, contribute to signal processing algorithms, develop simulation tools, and merge simulations with real-world measurements, it became a perfect example of complex system design. The collaboration of pure mathematicians, radio engineers, computer programmers, antenna designer, mechanical engineer, and even service technicians working in the field was particularly inspiring.
Implementation of primary signal processing algorithms in a classical 2D radar on a DSP cluster was one of my first jobs after leaving university. During this work, I learned the fundamentals of real-time signal processing on von Neumann architecture computers (although the actual implementation used a Harvard architecture, which is a minor detail).
RF communication signal intelligence was an area I encountered while training users in the operation of specialised Rohde&Schwarz software for RF signal classification and demodulation during spectrum monitoring. However, I was not involved in the development of this software.
Decoding of digital signals in a radio receiver was a classical task for a radio engineer. It included the development of a convolutional code decoder (using an algorithm different from the widely known Viterbi algorithm) and the development of a robust yet efficient frame synchronisation algorithm capable of operating at very high bit error rates. This was followed by implementation on a DSP.
Regardless of how complex the mathematics involved may be, I believe it is important to keep physical reality in mind throughout all stages of development. Therefore, I try to work with quantities that have physical units and realistic magnitudes from the earliest simulation phases. I believe this approach leads to better insight and simplifies later development stages.
A wide range of sophisticated simulation tools is available today. Based on my experience, there is an optimal level of simulation-tool sophistication for the development of signal processing algorithms. If a tool is too complex, it often takes a long time to learn to use it efficiently, leaving insufficient time to solve the actual engineering problem. Ultimately, every engineering task can be viewed as a search for the most efficient use of available resources. An engineer’s own time is the first resource that should be considered. As I am an engineer rather than a scientist, I prefer simpler tools that can be mastered with reasonable effort. This approach also forces me to think about the final implementation since the very first simulation phase.
My rather low-level, real-world-oriented approach also simplifies the later evaluation and optimisation of developed algorithms and their final implementation. I can smoothly manage the transition from pure simulation to a final product through several intermediate steps, combining synthetic or real signals with non-real-time or real-time processing. Instruments such as digital oscilloscopes, various digitizers, modern spectrum analysers, software-defined radios, RF signal generators, or arbitrary waveform generators may be used for signal digitisation, recording, and replay during early development phases to temporarily replace the final hardware.
Together with my collaborators, we can also design and manufacture the technical means required to implement signal processing algorithms, using suitable combinations of analogue circuits, general-purpose microcontrollers, DSPs, FPGAs, FPGAs with DSP blocks, and general-purpose computers (such as PCs). If the implementation of the algorithm is carried out by the customer, the choice of technical means should not be made before the final selection of the algorithm.