HRTF and Beam Steering

partA_prob1.m MATLAB code / view online
partA_prob2.m MATLAB code / view online
partB.m MATLAB code / view online
getNearestUCDindex.m MATLAB code

Part A - HRTF

HRTF filtering in this project was done using the UC Davis CIPIC lab's HRIR data, subject number 17. It should be noted that the sampling for the CIPIC dataset was done in a significantly different manner to the MIT KEMAR dataset. The CIPIC dataset uses elevation as the principal rotation, and azimuth as a secondary rotation. Thus, the density of the HRIR source locations suffers on the 0° elevation plane, especially on the interaural axis. This leads to some audible stepping artifacts near the -90° and 90° source positions. You can see this illustrated clearly in the diagram of sample positions below:

Problem 1

A sound source producing a broadband signal moves counterclockwise around the listener. To simulate this we convolve the source using the add-overlap method with several piecewise HRIR filters.

Problem 2

A sound source emits a complex signal as it moves past the listener, exhibiting Doppler shift effects and transformed with the HRIR based on its direction relative to the listener.

Part B - Beam Steering

Java applet not supported.

An ideal, one-dimensional loudspeaker array of 2.5m length is configured to sweep a focused beam across the front hemisphere. We test at f = 100 hz and f = 500 hz, and generate animation to illustrate beam pattern and displacement pattern behavior below:

One ResponseLeave a Reply

  1. yanxuezhi

     /  November 14, 2013 Quote

    The program can not run properly ,lack of the subprogram'pvaldeg',so I learn a little as a newer in this field .
    azimuth = pvaldeg(azimuth)

Leave a Reply