## 2 Materials and Methods
### Neural Network Data Model  
The binaural model presented in Section 2.1 is used to generate a training feature matrix using the un-compensated 'raw' SADIE KEMAR dataset [23]. This dataset contains an HRIR grid of 1550 points: 5\({}^{\circ}\) increments across the azimuth in steps of 10\({}^{\circ}\) elevation. To train the NN, only the HRIRs relating to 0\({}^{\circ}\) elevation were used, providing a dataset of 104 HRIRs. A multi-conditional training (MCT) dataset is created by adding spatially white noise to the HRIRs at 0 dB, 10 dB and 20 dB signal-to-noise ratios. This spatially white noise is generated by convolving Gaussian white noise with all 1550 HRIRs in the SADIE KEMAR dataset and averaging the resulting localised noise across the 1550 positions; producing a spatially white noise signal matrix [15]. This addition of spatially white noise is based on the findings in [9; 10; 15], which found that training the NN with data under different noise conditions improved generalisation. These HRIRs with added spatially white noise are then analysed by the binaural model and the output used to create the feature vector. The neural network is only trained using these HRIRs with noise mixtures, and no reflected components of BRIRs are included as part of the training data  
Two training matrices are created by concatenating the feature vector of one HRIR with the feature vector produced by an HRIR corresponding to either a \(+90^{\circ}\) or \(-90^{\circ}\) rotation of KEMAR with the same signal-to-noise ratio. This produces two 416 \(\times\) 326 feature matrices with which two neural networks can be trained with, one for each rotation. The use of an NN for each fixed rotation angle was found to produce more accurate results than having one NN trained for both. The use of 'head rotation' has a biological precedence, in that humans use head rotation to focus on the location of a sound source; disambiguating front-back confusions that occur due to interaural cue similarities between signals arriving from opposing locations in the front and back hemispheres [6; 20]. In this study, the equivalent effect of implementing a head rotation is realised by taking the impulse response measurements at two additional fixed measurement orientations (at \(\pm 90^{\circ}\)). The use of fixed rotations reduces the number of additional signals needed to train the NN and reduces the number of additional measurements that need to be recorded. The use of additional measurement positions corresponding to receiver rotations of \(\pm 90^{\circ}\) was found to produce lower maximum errors when compared to rotations of \(\pm 15^{\circ}\), \(\pm 30^{\circ}\) and \(\pm 60^{\circ}\) (Table 1). The two training matrices are used to train two NN, one for each rotation, and the network trained with the \(-90^{\circ}\) rotation dataset is used to predict the DoA for signals that originate on the left hemisphere, while the \(+90^{\circ}\) NN is used to predict the DoA for signals on the right hemisphere. Each of these NNs is trained with the full azimuth range to allow the NNs to predict the DoA for signals with ambiguous feature vectors that may be classified as originating from the wrong hemisphere. When testing the NN, the additional measurement positions are assigned to the signals based on the location of the maximum peak in the _IACC_ feature vector. If the peak index in the _IACC_ is less than 50 (signal originated in the left hemisphere), a receiver rotation of \(-90^{\circ}\) is applied; otherwise, a receiver rotation of \(+90^{\circ}\) is used. To normalise the numeric values, the training data were Gaussian-normalised to ensure each feature had zero mean and unit variance. The processing workflow for the training data can be seen in Figure 2.