Matt Yarosz next to a bear

Hi. I'm Matt Yarosz, and that's my nephew and a bear at Pittsburgh's Carnegie Museum of Natural History. This museum has one of the most impressive dinosaur collections in the world. I'm an engineer at Delphi in Kokomo, the City of Firsts. Below is a link to one of my midi compositions and some possibly useful digital signal processing concepts and structures. Later, I'll create more diagrams using Metapost to complement some of the


Fun With Midi

A short midi composition


Hilbert Transform

Given a signal x[n], what is the signal y[n] such that x[n] + jy[n] has no negative frequency content? The answer is that y[n] is the Hilbert transform of x[n]. In signal processing applications, it is sometimes useful to generate y[n] from x[n]. To accomplish this task, it seems a straightforward approach would be to design a filter that implements the Hilbert transform operation. But like the idealized brick-wall lowpass filter, the idealized Hilbert transform filter is not implementable in practice. The advantages and limitations of two common practical approaches are described below. The first approach attempts to approximate the idealized Hilbert transform filter using standard FIR design techniques. The second approach generates from one input signal two output signals that are related through the Hilbert transform. A full understanding of the constraints of a particular problem often reveals that this second approach, which offers greater efficiency and performance, is sufficient for a given application.

Graph of the DTFT of the ideal Hilbert transform filter

Approach I. FIR Approximation of the Ideal Hilbert Filter

One common Hilbert transform design method is to use MATLAB's 'firpm' function with the 'hilbert' option. This will create an FIR filter, odd-symmetric about its center, that approximates the ideal Hilbert transform filter. Typically, FIR filters are implemented as causal filters, so the actual phase response of this Hilbert FIR will be the approximate Hilbert phase response plus a linear phase term with a slope equal to -(Filter_Length - 1)/2. Therefore, when a signal passes through this FIR filter, the output is not the Hilbert transform of the input, but rather the output is the Hilbert transform of the input delayed by (Filter_Length - 1)/2 samples. If the filter length is even, this will yield a non-integer sample delay. Thus, an odd-valued filter length is usually desirable so that the input signal can be passed both through the Hilbert FIR and through an integer sample delay to yield two signals that are related through the Hilbert transform. The filter produced by MATLAB puts zeros at ω = 0 and at ω = π. These two zeros yield the ideal Hilbert phase response. The remaining zeros act to compensate for the undesirable magnitude response of the zeros at ω = 0 and ω = π. This compensation can be done effectively only at frequencies sufficiently distant from 0 and π.

Block Diagram of Approach I: FIR approximation of the Hilbert transform filter

Approach II. Generating Two Output Signals Related Through the Hilbert Transform

Often, the signal processing problem does not require the implementation of a Hilbert transform filter. Rather, it requires only the implementation of two filters whose outputs are related to each other through the Hilbert transform when then same signal is applied to their inputs. Over the frequency bands of interest, both filters should have a reasonably flat magnitude response, and the difference between their phase responses must be approximately equal to the Hilbert phase response. Approach one described above can be viewed as a special case of this second approach in which one filter is an FIR filter designed with 'firpm' and the other filter is just an integer-sample delay. Other pairs of filters, however, can achieve the Hilbert output relationship with greater efficiency and accuracy. One excellent example is given by Olli Niemitalo with pair". This Hilbert transform solution may be unbeatable in its efficiency and quality for applications that can tolerate the phase distortion introduced by these IIR filters.

Block Diagram of Approach II: Design H0(w) and H1(w) such that y1[n] is the Hilbert transform of y0[n]

Sample Rate Conversion

Sample rate conversion fundamental structure

The block diagram above shows the fundamental sample rate converter structure. Practical sample rate converters are simply efficient implementations of the above structure. Asynchronous sample rate converters also require dynamic adjustment of the ratio of M to N.


Soccer Field Measurement & Layout Instructions

Any point on a half plane can be uniquely specified by its distance from any two distinct points on the edge of that plane. These soccer field layout instructions are based on that concept and may make your soccer field setup tasks easier. The full-sized field dimensions were selected to comply with FIFA's requirements for World Cup Finals matches. The U12 and U10 field dimensions were selected to comply with the requirements of the Central Indiana Youth Soccer League.