GPGPU DSP
Greetings dear readers and welcome to my inaugural blog posting! I'm new to this blogging thing so I hope there is a grace period while I get acclimated. Before I jump into the meat of this posting allow me to introduce myself and briefly discuss where I intend to go with this blog.Until quite recently I was Director of Software Engineering at a medical device startup, before resigning to strike out on my own. I have experience in a wide variety of industries, in addition...
The Nature of Circles
What do you mean?When calculating the mean of a list of numbers, the obvious approach is to sum them and divide by how many there are.
Suppose I give you a list of two numbers:
- 0
- 359
What is their mean? The obvious answer is 179.5.
If I told you that the numbers were compass bearings in degrees, what would your answer be then? Does 179.5 seem correct?
In the case of compass bearings, 0 is the same direction as 360. When talking about angles in the DSP world, we often talk about...
Music/Audio Signal Processing
Greetings,
This is my blog from the point of view of a music/audio DSP research engineer / educator. It is informal and largely nontechnical because nearly everything I have to say about signal processing is (or will be) somewhere in my four-book series: Mathematics of DFT with Audio Applications, Introduction to Digital Filters, Physical Audio Signal Processing and
Time Machine, Anyone?
Abstract: Dispersive linear systems with negative group delay have caused much confusion in the past. Some claim that they violate causality, others that they are the cause of superluminal tunneling. Can we really receive messages before they are sent? This article aims at pouring oil in the fire and causing yet more confusion :-).
IntroductionIn this article we reproduce the results of a physical experiment...
Benford's law solved with DSP
I have a longtime interest in the mystery of 1/f noise. A few years ago I came across Benford’s law, another puzzle that seemed to have many of the same characteristics.
Suppose you collect a large group of seemingly random numbers, such as might appear in a newspaper or financial report. Benford’s law relates to the leading digit of each number, such as "4" in 4.268, "3" in 0.0312, and "9" in -932.34. Since there are nine possible leading digits...
Waveforms that are their own Fourier Transform
Mea Culpa
There are many scary things about writing a technical book. Can I make the concepts clear? It is worth the effort? Will it sell? But all of these pale compared to the biggest fear: What if I'm just plain wrong? Not being able to help someone is one thing, but leading them astray is far worse.
My book on DSP has now been published for almost ten years. I've found lots of typos, a few misstatements, and many places where the explanations confuse even me. But I have been lucky;...
Computing Chebyshev Window Sequences
Chebyshev windows (also called Dolph-Chebyshev, or Tchebyschev windows), have several useful properties. Those windows, unlike the fixed Hanning, Hamming, or Blackman window functions, have adjustable sidelobe levels. For a given user-defined sidelobe level and window sequence length, Chebyshev windows yield the most narrow mainlobe compared to any fixed window functions.
However, for some reason, detailed descriptions of how to compute Chebyshev window sequences are not readily available...
An Interesting Fourier Transform - 1/f Noise
Power law functions are common in science and engineering. A surprising property is that the Fourier transform of a power law is also a power law. But this is only the start- there are many interesting features that soon become apparent. This may even be the key to solving an 80-year mystery in physics.
It starts with the following Fourier transform:
The general form is tα ↔ ω-(α+1), where α is a constant. For example, t2 ↔...
Components in Audio recognition - Part 1
Audio recognition is defined as the task of recognizing a particular piece of audio (could be music, ring-tone, and speech as well), from a given sample set of audio tracks.
The Human Auditory System (HAS) is unique in that the tasks of "familiarisation" of unknown tracks, and finding "similar" tracks come naturally to us. Tunes from the not-so-recent past can still haunt the human brain many years later, when triggered by a similar tune. The way the brain stores and...
ES Week Emphasis on Component Based Design
Howdy everyone from beautiful Salzburg/Austria,
A week full of presentations on embedded systems at ESWeek was quite a mindful. Similar to most academic conferences, there was only a few papers worth taking back home to think about. Amongst these were:
1. Keynote talk by Hermann Eul from Infineon: He presented Infineon's view on SDR and its evolution. This talk was quite inspirational. However the most interesting slide on complexity of SDR evolution was removed. I wish I could give this...
Accelerating Matlab DSP Code on the GPU
Intrigued by GPUs, I've spent a few days testing out Jacket, an interface that lets you accelerate MATLAB (my favorite, if frustrating language) on NVIDIA GPUs. It's definitely got some caveats. But it was really easy to accelerate my code. And the results were impressive. So I thought I'd put up a few simple DSP-related benchmarks I created and ran on my laptop (a Macbook Air with NVIDIA GeForce 9400M graphics card). The m-files for the two functions I benchmarked (2D FFT and 2D...
Implementing Impractical Digital Filters
This blog discusses a problematic situation that can arise when we try to implement certain digital filters. Occasionally in the literature of DSP we encounter impractical digital IIR filter block diagrams, and by impractical I mean block diagrams that cannot be implemented. This blog gives examples of impractical digital IIR filters and what can be done to make them practical.
Implementing an Impractical Filter: Example 1
Reference [1] presented the digital IIR bandpass filter...
ICASSP 2011 conference lectures online (for free)
For the first time, the oral presentations of the International Conference on Accoustics, Speech, and Signal Processing (ICASSP) were recorded and posted online for free. This conference is the best in signal processing and it's diverse as well.
It has a bit speech processing, communication signal processing, and some interesting stuff like bio-inspired signal processing, where Prof. Sayed modeled the behaviour of a group of predetors attacking a herd of preys using distributed least mean...
Engineering the Statistics
Do you remember the probability course you took in undergrad? If you were like me, you would consider it one of those courses that you get out of confused. But maybe a time will come where you regret skipping class because of the lecturer's persisting attempts to scare you with mathematical involved nomenclature.As you might have guessed, I had this moment few months back where I had to go deep into statistical analysis. I learned things the hard way, or maybe it is the right way. I mean...
GPGPU DSP
Greetings dear readers and welcome to my inaugural blog posting! I'm new to this blogging thing so I hope there is a grace period while I get acclimated. Before I jump into the meat of this posting allow me to introduce myself and briefly discuss where I intend to go with this blog.Until quite recently I was Director of Software Engineering at a medical device startup, before resigning to strike out on my own. I have experience in a wide variety of industries, in addition...
Components in Audio recognition - Part 1
Audio recognition is defined as the task of recognizing a particular piece of audio (could be music, ring-tone, and speech as well), from a given sample set of audio tracks.
The Human Auditory System (HAS) is unique in that the tasks of "familiarisation" of unknown tracks, and finding "similar" tracks come naturally to us. Tunes from the not-so-recent past can still haunt the human brain many years later, when triggered by a similar tune. The way the brain stores and...
The correct answer to the quiz of @apolin
The correct answer to the @apolin quiz can be easily explained using the following Simulink model:
In MATLAB you have to initialize the two filters:
h = dftmtx (8);
h1 = h (3, :); % The filter of the quiz
h2 = h (7, :); % The mirrored filter
The impulse responses of the filters h1, h2 are complex and the responses to a broadband random signal are also complex. The two spectrum analyzer blocks then show the PSD, typical for analytical...
Software Defined Radio at SAMOS
Lets start off with so 'hot' SDR track held at SAMOS conference this year. The academic community relatively active in the SDR architecture domain including UMich, WisMad, Linkoping, IMEC and others all presented their views on Software Defined Radio and unveiled a part of their work. We from IMEC 'finally' made our SyncPro architecture public. You can find more about our vector synchronization processor architecture from our
FREE Peer-reviewed IEEE signal processing courses
The IEEE signal processing society is offereing FREE peer reviewed courses, though not many, they are peer reviewed and span differenet topics like; wavelets, speech analysis, and statistical detection.
Enjoy
http://cnx.org/lenses/ieeesps/endorsements?b_start:int=0&-C=
State Space Representation and the State of Engineering Thinking
Most, if not all, textbooks in signal processing (SP) thoroughly covers the frequency analysis of signals and systems alike, including the Fourier and the Z-transform that produce the well known Transfer Function. Another way of signal analysis, not as popular in signal processing though, is State Space representation. State space models describes the internal signals of the system or the process and how it affect the output, in contrast to the frequency representation that only describe the...
Analytic Signal
In communication theory and modulation theory we always deal with two phases: In-phase (I) and Quadrature-phase (Q). The question that I will discuss in this blog is that why we use two phases and not more.
Engineering the Statistics
Do you remember the probability course you took in undergrad? If you were like me, you would consider it one of those courses that you get out of confused. But maybe a time will come where you regret skipping class because of the lecturer's persisting attempts to scare you with mathematical involved nomenclature.As you might have guessed, I had this moment few months back where I had to go deep into statistical analysis. I learned things the hard way, or maybe it is the right way. I mean...
Why is Fourier transform broken
Every engineer who took a basic signal processing course is familiar with the Gibbs phenomenon, however, not all know why it occurs, I mean really why!
The answer lies in the mathematical background that is almost always skipped in signal processing courses. Moreover, from my experience at least, many textbooks present the theory, e.g. the Fourier transform, as infallible and no discussion of the limitation of the topic is given.
The short answer is that the metric space of continuous...
State Space Representation and the State of Engineering Thinking
Most, if not all, textbooks in signal processing (SP) thoroughly covers the frequency analysis of signals and systems alike, including the Fourier and the Z-transform that produce the well known Transfer Function. Another way of signal analysis, not as popular in signal processing though, is State Space representation. State space models describes the internal signals of the system or the process and how it affect the output, in contrast to the frequency representation that only describe the...
Components in Audio recognition - Part 1
Audio recognition is defined as the task of recognizing a particular piece of audio (could be music, ring-tone, and speech as well), from a given sample set of audio tracks.
The Human Auditory System (HAS) is unique in that the tasks of "familiarisation" of unknown tracks, and finding "similar" tracks come naturally to us. Tunes from the not-so-recent past can still haunt the human brain many years later, when triggered by a similar tune. The way the brain stores and...
GPGPU DSP
Greetings dear readers and welcome to my inaugural blog posting! I'm new to this blogging thing so I hope there is a grace period while I get acclimated. Before I jump into the meat of this posting allow me to introduce myself and briefly discuss where I intend to go with this blog.Until quite recently I was Director of Software Engineering at a medical device startup, before resigning to strike out on my own. I have experience in a wide variety of industries, in addition...
ICASSP 2011 conference lectures online (for free)
For the first time, the oral presentations of the International Conference on Accoustics, Speech, and Signal Processing (ICASSP) were recorded and posted online for free. This conference is the best in signal processing and it's diverse as well.
It has a bit speech processing, communication signal processing, and some interesting stuff like bio-inspired signal processing, where Prof. Sayed modeled the behaviour of a group of predetors attacking a herd of preys using distributed least mean...
FREE Peer-reviewed IEEE signal processing courses
The IEEE signal processing society is offereing FREE peer reviewed courses, though not many, they are peer reviewed and span differenet topics like; wavelets, speech analysis, and statistical detection.
Enjoy
http://cnx.org/lenses/ieeesps/endorsements?b_start:int=0&-C=
Software Defined Radio at SAMOS
Lets start off with so 'hot' SDR track held at SAMOS conference this year. The academic community relatively active in the SDR architecture domain including UMich, WisMad, Linkoping, IMEC and others all presented their views on Software Defined Radio and unveiled a part of their work. We from IMEC 'finally' made our SyncPro architecture public. You can find more about our vector synchronization processor architecture from our
ES Week Emphasis on Component Based Design
Howdy everyone from beautiful Salzburg/Austria,
A week full of presentations on embedded systems at ESWeek was quite a mindful. Similar to most academic conferences, there was only a few papers worth taking back home to think about. Amongst these were:
1. Keynote talk by Hermann Eul from Infineon: He presented Infineon's view on SDR and its evolution. This talk was quite inspirational. However the most interesting slide on complexity of SDR evolution was removed. I wish I could give this...