Hi,
When I transformed the obtained HRIR back to frequency domain, I noticed that the magnitude level of the transformed HRIR was at the same level as the obtained HRTF. Thereby, when I tried to compute the single-sided transformation of HRIR, the result was not at the same level as the obtained HRTF. My observation can be seen in the attached file. Given that original HRFT was obtained as "single-sided" data, I was wondering if that data was divided in half without preserving the total energy, if I missed checking a box, or if I missed accounting for something else?
Best Regards,
Filip Tsai
Hi Filip,
I'm not sure if I understand how the data was generated. Which line shows the pressure as simulated with Mesh2HRTF, what is the difference between the two HRTF lines, how was the HRIR obtained?
I usually check the boxes
Reference
andCompute HRIRs
during export which takes care of that. The HRIRs are computed inoutput2HRTF_main
.Best, Fabian
Hi Fabian,
The blue line corresponds to the HRTF you automatically get with Mesh2HRTF, the red dashed line corresponds to the obtained HRIR by checking
Reference
andCompute
which then is transformed (FFT), and the yellow dotted line corresponds to the red line but with the energy concentrated at a single side.Best Regards,
Filip
Hi Filip,
I think I understand the question now. The single sided spectra is mirrored before the IFFT to account for all the energy. As far as I understand, you usually don't apply normalization for energy signals, i.e., finite signals such as impulse responses. So I usually don't generate the yellow spectrum.
Best, Fabian
Hi Fabian,
If I understand you correctly, then the obtain HRTF from mesh2HRTF is not a single-sided spectrum although its frequency range only ranges as a single-sided spectrum?
Best Regards,
Filip Tsai
Yes, and no. The HRTF can be calculated at any frequency or frequencies. So it can be a single sided spectrum but does not necessarily have to be. To calculate to HRIR you need to have a full spectrum, which is obtained from mirroring the HRTF. This can only be done if it is a single sided spectrum. This is the case if it was simulated for evenly spaced frequencies and the first frequency equals the spacing of the bins.
Best, Fabian
Hi Fabian,
Yeah, so to obtain the double-sided spectrum (full spectrum) from mesh2HRTF one needs to add a mirrored version of the obtained HRTF. In other words, the obtained HRTF is directly taken from half of the full spectrum, if I got it right?
Best Regards,
Filip
yes - exactly! You can check output2HRTF_main.m to see how it is done in Code :)
Hi Fabian,
Thanks a lot for the clarification :D
Best Regards,
Filip