Análisis de algoritmos de decodificación de sistemas ...
Transcript of Análisis de algoritmos de decodificación de sistemas ...
Análisis de algoritmos de decodificación de sistemas ambisonics incluyendo corrección de
campo cercano.
Alejandro Ardila Arredondo, [email protected]
Daniela Villegas Echeverri, [email protected]
Trabajo de Grado presentado para optar al título de Ingeniero de Sonido
Asesor: Diego Mauricio Murillo Gómez , Doctor (PhD) in Sound and Vibration
Universidad de San Buenaventura Colombia
Facultad de Ingeniería
Ingeniería de Sonido
Medellín, Colombia
2019
Citar/How to cite [1]
Referencia/Reference
Estilo/Style:
IEEE (2014)
[1] A. Ardila Arredondo, D. Villegas Echeverri, “Análisis de algoritmos de
decodificación de sistemas ambisonics incluyendo corrección de campo
cercano.”, Trabajo de grado Ingeniería de Sonido, Universidad de San
Buenaventura Medellín, Facultad de Ingenierías, 2019.
Bibliotecas Universidad de San Buenaventura
• Biblioteca Fray Alberto Montealegre OFM - Bogotá.
• Biblioteca Fray Arturo Calle Restrepo OFM - Medellín, Bello, Armenia, Ibagué.
• Departamento de Biblioteca - Cali.
• Biblioteca Central Fray Antonio de Marchena – Cartagena.
Universidad de San Buenaventura Colombia
Universidad de San Buenaventura Colombia - http://www.usb.edu.co/
Bogotá - http://www.usbbog.edu.co
Medellín - http://www.usbmed.edu.co
Cali - http://www.usbcali.edu.co
Cartagena - http://www.usbctg.edu.co
Editorial Bonaventuriana - http://www.editorialbonaventuriana.usb.edu.co/
Revistas - http://revistas.usb.edu.co/
Biblioteca Digital (Repositorio)
http://bibliotecadigital.usb.edu.co
TABLA DE CONTENIDO
RESUMEN ..................................................................................................................................... 13
ABSTRACT ................................................................................................................................... 14
I.INTRODUCCIÓN ....................................................................................................................... 15
II.PLANTEAMIENTO DEL PROBLEMA ................................................................................... 16
A. Antecedentes ......................................................................................................................... 17
III. JUSTIFICACIÓN ..................................................................................................................... 22
IV. OBJETIVOS ............................................................................................................................ 23
A. Objetivo general .................................................................................................................... 23
B. Objetivos específicos ............................................................................................................. 23
V. MARCO TEÓRICO .................................................................................................................. 24
A. Notación matemática ............................................................................................................. 24
B. Vectores y matrices ............................................................................................................... 24
C. Números complejos y funciones ............................................................................................ 25
D. Conceptos .............................................................................................................................. 26
1)Transformada de Fourier continua ...................................................................................... 26
2) Onda .................................................................................................................................... 26
3) Ecuación homogénea de Helmholtz ................................................................................... 27
3) Ondas planas ....................................................................................................................... 28
4) Expansión de ondas planas. ................................................................................................ 28
5) Ecuación de Green. ............................................................................................................. 29
6) Ondas esféricas. .................................................................................................................. 29
7) Funciones de Bessel. ........................................................................................................... 30
8) Armónicos esféricos. .......................................................................................................... 31
9) Filtros IIR. .......................................................................................................................... 32
10) Ambisonics. ...................................................................................................................... 32
VI. METODOLOGÍA .................................................................................................................... 33
A. Planteamiento del algoritmo .................................................................................................. 34
B. Expansión de ondas planas reconstruyendo una onda plana. ................................................ 34
C. Expansión de ondas esféricas reconstruyendo una onda plana ............................................. 35
D. Expansión de ondas esféricas reconstruyendo una onda esférica. ........................................ 35
E. Distribución de los altavoces en la esfera .............................................................................. 36
F. Desarrollo de la métrica ......................................................................................................... 37
1). Distribución de la energía .................................................................................................. 37
2). Análisis de la energía ......................................................................................................... 38
3). Precisión del campo sonoro ............................................................................................... 38
4). Error de amplitud ............................................................................................................... 39
5). Error de fase ....................................................................................................................... 39
6). Error de normalizado ......................................................................................................... 40
7). Análisis de energía y estabilidad de los filtros .................................................................. 40
VII. DESARROLLO ...................................................................................................................... 41
A. Decodificador que asume una reconstrucción del campo sonoro asociado a una onda plana
mediante una expansión de ondas planas (PWE=PW)............................................................... 41
1). Reconstrucción de una onda plana incidente a 90 para una frecuencia de 250 Hz por
medio de una expansión de ondas planas. .............................................................................. 42
2). Reconstrucción de una onda plana incidente a 45 a una frecuencia de 63 Hz y 250 Hz
por medio de una expansión de ondas planas. ........................................................................ 44
B. Decodificador que asume una reconstrucción del campo sonoro asociado a una onda plana
sintetizada mediante una expansión de ondas esféricas (SWE=PW) ......................................... 48
1). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección contraria al origen de la propagación ...................................................................... 49
2. Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación ..................................................................................... 53
C. Decodificador que asume una reconstrucción del campo sonoro asociado a un monopolo
sintetizada mediante una expansión de ondas esféricas (SWE=SW) ......................................... 57
1). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación con el monopolo a 1 metro del receptor ..................... 58
2). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación con el monopolo a 4 metro del receptor ..................... 61
D. Análisis de filtros de compensación del efecto de campo cercano ....................................... 65
1). Filtro de compensación del efecto de campo cercano para un decodificador de PW por
medio de SWE ........................................................................................................................ 65
2). Filtro de compensación del efecto de campo cercano para un decodificador de SW por
medio de SWE ........................................................................................................................ 68
VIII. CONCLUSIONES ................................................................................................................. 72
REFERENCIAS ............................................................................................................................. 72
LISTA DE TABLAS
TABLA I. COORDENADAS CARTESIANAS DE LOS ALTAVOCES .................................... 77
LISTA DE FIGURAS
Fig. 1. Diagrama de bloques del proceso metodológico que se llevó a cabo para el desarrollo del
proyecto. ......................................................................................................................................... 33
Fig. 2. Distribución de los altavoces en la superficie de la esfera .................................................. 37
Fig. 3. Distribución de energía en el arreglo de altavoces ............................................................. 38
Fig. 4. Representación del campo sonoro teórico y campo sonoro reconstruido. .......................... 39
Fig. 5. Representación de los errores dentro del dominio. ............................................................. 40
Fig. 6. Metodologías para la decodificación del sistema ambisonics a evaluar. ............................ 41
Fig. 7. Campo sonoro teórico y reconstruido de PW de frecuencias de 63 Hz y 250 Hz con dirección
de propagación (θ = 90,ϕ = 90) por medio de PWE. ................................................................... 42
Fig. 8. Errores en la reconstrucción de PW de frecuencias de 63 Hz y 250 Hz con dirección de
propagación (θ = 90,ϕ = 90) por medio de PWE......................................................................... 43
Fig. 9. Errores en la reconstrucción de PW de frecuencias de 63 Hz y 250 Hz con dirección de
propagación (θ = 90,ϕ = 90) por medio de PWE. ........................................................................ 44
Fig. 10. Campo sonoro teórico y reconstruido de PW de frecuencias de 63 Hz y 250 Hz con
dirección de propagación (θ = 90,ϕ = −45) por medio de PWE. ................................................. 45
Fig. 11. Errores en la reconstrucción del campo sonoro de PW de frecuencias de 63 Hz y 250 Hz
con dirección de propagación (θ = 90,ϕ = −45) por medio de PWE. .......................................... 46
Fig. 12. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de
frecuencias de 63 Hz y 250 Hz con dirección de propagación (θ = 90,ϕ = −45) por medio PWE.
........................................................................................................................................................ 47
Fig. 13. Energía total PWE reconstruyendo PW respecto a la frecuencia para diferentes valores de
N. .................................................................................................................................................... 48
Fig. 14. Representación de elementos dentro del dominio, para la reconstrucción SW por medio
SWE. .............................................................................................................................................. 49
Fig. 15. Campo sonoro teórico y reconstruido de PW a una frecuencia 250 Hz alejándose de la
propagación por medio de SWE. ................................................................................................... 50
Fig. 16. Errores en la reconstrucción de PW de 250 Hz por medio de SWE alejándose de la
propagación. ................................................................................................................................... 51
Fig. 17. Distribución de energía en el sistema de altavoces para la reconstrucción de PW con
frecuencia de 250 Hz por medio de PWE, alejándose de la propagación. ..................................... 52
Fig. 18. Energía total SWE reconstruyendo PW variando la ubicación del receptor con respecto al
centro del array alejándose del origen la propagación de la onda. ................................................. 53
Fig. 19. Campo sonoro teórico y reconstruido de PW a una frecuencia 250 Hz por medio de PWE
acercándose de la propagación. ...................................................................................................... 54
Fig. 20. Errores en la reconstrucción del campo sonoro de PW de 250 Hz por medio de SWE ... 55
Fig. 21. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de 250
Hz por medio de SWE alejándose de la propagación .................................................................... 56
Fig. 22. Energía total SWE reconstruyendo PW, variando la ubicación del receptor variando la
ubicación del receptor con respecto al centro del array acercándose al origen la propagación de la
onda ................................................................................................................................................ 57
Fig. 23. Representación de elementos dentro del dominio, para la reconstrucción SW por medio
SWE ............................................................................................................................................... 58
Fig. 24. Campo sonoro teórico y reconstruido de SW de 250 Hz por medio de SWE acercándose
de la propagación. .......................................................................................................................... 59
Fig. 25. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 250 Hz
por medio de SWE acercándose de la propagación ....................................................................... 60
Fig. 26. Energía total en un decodificador SWE reconstruyendo SW respecto a la frecuencia. Se
varia la ubicación del receptor con respecto al centro del array con el monopolo a 1 m del origen
de la expansión. .............................................................................................................................. 61
Fig. 27. Campo sonoro teórico y reconstruido SW a una frecuencia 250 Hz acercándose de la
propagación SWE ........................................................................................................................... 62
Fig. 28. Errores en la reconstrucción de del campo asociado a un monopolo de frecuencia 250 Hz
por medio de una expansión de ondas esféricas acercándose de la propagación ........................... 63
Fig. 29. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 250 Hz
por medio de SWE acercándose de la propagación ....................................................................... 64
Fig. 30. Energía total en un decodificador SWE reconstruyendo SW respecto a la frecuencia. Se
varia la ubicación del receptor con respecto al centro del array con el monopolo a 4 m del origen
de la expansión ............................................................................................................................... 65
Fig. 31. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW, con los altavoces
a 0.5 metros. ................................................................................................................................... 66
Fig. 32. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW con los altavoces
a 2.5 metros. ................................................................................................................................... 66
Fig. 33. Respuesta al impulso del filtro del decoder SWE reconstruyendo PW con los altavoces a
0.5 metros. ...................................................................................................................................... 67
Fig. 34. Respuesta al impulso del filtro del decoder SWE reconstruyendo PW con los altavoces a
2.5 metros. ...................................................................................................................................... 68
Fig. 35. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW, con los altavoces
a 0.5 metros. ................................................................................................................................... 69
Fig. 36. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW con los altavoces
a 2.5 metros. ................................................................................................................................... 69
Fig. 37. Respuesta al impulso del filtro del decoder SWE reconstruyendo SW con los altavoces a
0.5 metros. ...................................................................................................................................... 70
Fig. 38. Respuesta al impulso del filtro del decoder SWE reconstruyendo SW con los altavoces a
2.5 metros. ...................................................................................................................................... 71
Fig. 39. Campo sonoro teórico y reconstruido de PW a una frecuencia 63 Hz alejándose de la
propagación por medio de SWE ..................................................................................................... 80
Fig. 40. Errores en la reconstrucción de PW de 63 Hz por medio de SWE alejándose de la
propagación. ................................................................................................................................... 81
Fig. 41. Distribución de energía en el sistema de altavoces para la reconstrucción de PW con
frecuencia de 63 Hz por medio de PWE, alejándose de la propagación. ....................................... 82
Fig. 42. Campo sonoro teórico y reconstruido de PW a una frecuencia 63 Hz por medio de PWE
acercándose de la propagación ....................................................................................................... 83
Fig. 43. Errores en la reconstrucción del campo sonoro de PW de 63 Hz por medio de SWE ..... 84
Fig. 44. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de 63 Hz
por medio de SWE alejándose de la propagación. ......................................................................... 85
Fig. 45. Campo sonoro teórico y reconstruido de SW de 63 Hz por medio de SWE acercándose de
la propagación. ............................................................................................................................... 87
Fig. 46. Errores en la reconstrucción del campo de SW 63 Hz por medio de SWE acercándose de
la propagación. ............................................................................................................................... 88
Fig. 47. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 63 Hz
por medio de SWE acercándose de la propagación. ...................................................................... 88
Fig. 48. Campo sonoro teórico y reconstruido SW a una frecuencia 63 Hz acercándose de la
propagación SWE. .......................................................................................................................... 89
Fig. 49. Errores en la reconstrucción de del campo asociado a un monopolo de frecuencia 63 Hz
por medio de una expansión de ondas esféricas acercándose de la propagación. .......................... 90
Fig. 50. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 63 Hz
por medio de SWE acercándose de la propagación. ...................................................................... 91
LISTA DE ABREVIACIONES
HRTF Head-Related Transfer Function
IR Impulse Response
PW Plane Wave
SW Spherical Wave
PWE Plane Wave Expansion
SWE Spherical Wave Expansion
NFC Near Field Compensation
ILD Interaural Level Diference
ITD Interaural Time Diference
WFS Wave Field Synthesis
HOA High Order Ambisonics
IIR Infinite Impulse Response
FIR Finite Impulse Response
HRIR Head Releated Impulse Response
VR Virtual Reality
TABLA DE SÍMBOLOS
Símbolos matemáticos
j operador imaginario ( j = √ -1)
e número irracional (e = limx→0(1 + x)1/x)
F, F−1 transformada directa e inversa de Fourier
Conjuntos, vectores y matrices
Ω
Entidades físicas
esfera unitaria
ω
frecuencia angular
t tiempo
ρ presión atmosférica total
ρ0 presión atmosférica estática
c velocidad del sonido
p presión acústica
u
Funciones
velocidad de partícula
δ(·)
función delta de Dirac
Jn(·) función esférica de Bessel de primer tipo y grado n
Hn2(·)
función Esférica de Hankel de segundo tipo y grado n
Pnm(·)
función de Legendre de primera clase de orden m y
grado n
Ynm(·)
función de Armónicos esféricos complejos de orden m y
grado n
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 13
RESUMEN
Ambisonic es un sistema de reproducción tridimensional el cual ha sido ampliamente utilizado por
más de cuatro décadas. Su amplio uso se debe a la reconstrucción robusta del campo sonoro que
permite la generación de entornos inmersivos. En esta tesis se presenta la evaluación de diferentes
metodologías para 3 casos de decodificación con base en diferentes tipos de propagación y fuentes
sonoras. Donde se incluye el campo cercano. El análisis de estos modelos contempla la cantidad
de energía requerida por el sistema para la reconstrucción del campo sonoro, errores con respecto
al campo sonoro teórico como: error de amplitud, error de amplitud normalizado y error de fase.
Por último, se realiza el análisis de los filtros de campo cercano en el dominio del tiempo y
frecuencia. Las simulaciones numéricas muestran que efectivamente es posible compensar el
efecto de campo cercano producido por los monopolos a costa de una gran energía generada por el
sistema.
Palabras clave: Ambisonics, campo cercano, monopolos, reconstrucción, simulación
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 14
ABSTRACT
Ambisonic is a three-dimensional reproduction system which has been widely used for more than
four decades. Its wide use is due to the robust reconstruction of the sound field that allows the
generation of immersive environments. This thesis presents the evaluation of different
methodologies for 3 cases of decoding based on different types of propagation and sound sources.
Where the near field is included The analysis of these models contemplate the amount of energy
required by the system for the reconstruction of the sound field, errors with respect to the
theoretical sound field as: amplitude error, normalized amplitude error and phase error. Finally,
the analysis of the near-field filters in the time and frequency domain is performed. The numerical
simulations show that it is indeed possible to compensate the effect of near field produced by the
monopoles at the expense of a great energy generated by the system.
Keywords: Ambisonics, near field, monopoles, reconstruction, simulations.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 15
I.INTRODUCCIÓN
Ambisonic es un sistema de reproducción tridimensional el cual ha sido ampliamente utilizado por
más de cuatro décadas. Su amplio uso se debe a la reconstrucción robusta del campo sonoro que
permite la generación de entornos inmersivos. Uno de los procesos que permite el cálculo de las
ganancias de los altavoces que conforman el arreglo consiste en la formulación de un problema
inverso. Una de sus principales características es la relación entre la cantidad de transductores
usados, el rango de frecuencias a reproducir y el área de reconstrucción donde la síntesis del campo
sonoro es correcta.
Usualmente en ambisonics la decodificación del campo sonoro corresponde a una onda plana
sintetizada por medio de una expansión de ondas planas. Sin embargo, la implementación del
sistema puede darse en entornos en los cuales el receptor puede encontrarse cerca del arreglo de
altavoces donde el componente de campo cercano comienza a ser significativo. El modelamiento
matemático de esta consideración conlleva a un análisis más robusto.
En este trabajo de grado se pretende realizar una comparación de diferentes métodos para la
decodificación de un sistema ambisonics con corrección de campo cercano. El análisis de estos
modelos contempla la cantidad de energía requerida por el sistema para la reconstrucción del
campo sonoro, errores con respecto al campo sonoro teórico como: error de amplitud, error de
amplitud normalizado y error de fase. Por último, se busca realizar el análisis de los filtros de
campo cercano en el dominio del tiempo y frecuencia.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 16
II.PLANTEAMIENTO DEL PROBLEMA
El campo sonoro es aquel que contiene información del sonido en las diferentes dimensiones
(azimut, elevación y distancia), permitiéndole al oyente identificar y discriminar eventos sonoros.
Esta propiedad tridimensional del audio puede recrearse mediante un campo sonoro sintetizado
utilizando diferentes técnicas [1] y procesos matemáticos [2], [3] y [4], esto genera una experiencia
acústica inmersiva a los oyentes [5].
Ambisonics es una técnica multicanal para la reproducción y grabación de audio que busca
producir una experiencia inmersiva mediante la reconstrucción de un campo sonoro [6]. La
sustentación matemática de este sistema está dada por la teoría de armónicos esféricos, la cual
precede desde Laplace en 1784, sin embargo, la implementación de armónicos esféricos en audio
se dio por primera vez gracias a Michael Gerzon y Peter Fellgett, quienes realizaron la primera
publicación de Ambisonics en 1971 [2].
Los cálculos para la implementación de Ambisonics se hacen usualmente mediante la expansión
de ondas planas. Por definición, este campo sonoro es continuo, es decir, la representación
matemática tiene un número infinito de coeficientes, dando como resultado un número infinito de
altavoces. Lo que no hace posible su implementación [7] y [8]. Esta condición obliga a elegir un
número determinado de transductores, por tanto, es necesario realizar un truncamiento en las
funciones de armónicos esféricos. La discretización de la esfera para la ubicación de los
transductores sigue el criterio de ortonormalidad de los armónicos esféricos con un orden lo más
alto posible. lo que genera un rango de frecuencias operativo que está limitado por un área. Y por
encima de este rango de frecuencias surgen problemas de ortonormalidad [9]. Este sistema cuenta
con una dependencia entre la frecuencia y el área de reconstrucción respecto a la cantidad de
transductores que contiene el arreglo como también la distancia entre el origen de la expansión y
cada uno los altavoces.
Los efectos percibidos por el oyente al no encontrarse en el área del dominio de la reconstrucción
de Ambisonics son variados como, un aumento de la amplitud en las frecuencias bajas, efectos de
filtro tipo peine y localización en un radio inferior al de la cabeza. Generalmente, se realiza la
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 17
reconstrucción de una onda plana sintetizada por una expansión de ondas. Sin embargo, en la
implementación del sistema, los altavoces se encuentran a una distancia finita del oyente donde el
efecto de campo cercano es considerable [10] y [11] y es necesario considerar la expansión de
ondas esféricas como modelo de propagación.
A. Antecedentes
Con el fin de comparar diferentes metodologías para la decodificación de campo sonoro mediante
un sistema Ambisonic, se propone realizar simulaciones numéricas en las cuales se contemple el
efecto de campo cercano.
A nivel mundial se han realizado diversas investigaciones y desarrollos para audio espacial y audio
multicanal [12]. Uno de ellos corresponde a integración de la tecnología Ambisonics con diferentes
sistemas DAW por medio de pluginswiggins2008has, otro ejemplo corresponde a estudios
desarrollados por el departamento de Music Technology de la universidad de York, donde se
estudió el uso de este sistema para la implementaciones de música electroacústica [13] , en la
codificación de la señal mediante el desarrollo de técnica de grabación y micrófonos para la captura
de audio tridimensional [14] , también se generaron estudios acerca de cómo hacer una
aproximación más acertada de los cambios generados por la radiación de las fuentes teniendo en
consideración la distancia fuente oyente [15] . Por otro lado, en el Institute of Sound and Vibration
Research, University of Southampton, hizo un aporte a las investigaciones en problemas de filtros
inversos para sistemas de reproducción y métodos de regularización de energía [16] y una
formulación teórica para una fórmula compacta que relaciona las direcciones de la imagen y la
cabeza, proporcionando una mejora significativa sobre la panoramización [17].
En Latinoamérica los avances no son muy significativos, dado que el campo en estudio es
relativamente nuevo en esta zona. Donde los primeros avances son el resultado de años de
investigación del docente de la Universidad de San Buenaventura, sede Medellín Diego Mauricio
Murillo Gómez Ph.D en Sonido y Vibraciones. Algunos de los artículos y trabajos investigativos
publicados por dicho educador son: Evaluation of ambisonics decoding methods with experimental
measurements [18], Low Frequency Interactive Auralization Based on a Plane Wave Expansion
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 18
[19], Interactive auralization based on hybrid simulation methods and plane wave expansion [7],
etc.
La aplicación de audio tridimensional abarca diferentes sectores como lo son la acústica, el
entretenimiento, las telecomunicaciones, la cancelación activa de ruido, entre otros. Joshua Atkins
[20], realiza una descripción de Ambisonics donde se establece que para la reconstrucción de un
campo sonoro existe una relación entre el rango de frecuencias a reproducir, la cantidad de
transductores usados y el radio de la esfera que constituye un arreglo circular de altavoces. Villie
Pulkki en [1] se refiere a Ambisonics como un método que permite calcular las diferentes
amplitudes que tendría que tener cada uno de los altavoces que conforman dicho arreglo.
La cantidad de energía que requiere cada uno de los altavoces de ambisonics se calcula por medio
de armónicos esféricos. Si dicha operación se realiza teniendo un orden de armónicos bajo, se
presenta inconsistencias en la señal que se desea reconstruir y la señal obtenida. Villie Pulkki en
[1] hace énfasis en la importancia del número de transductores, dado que a medida que se aumenta
el número de estos, es posible generar diferentes tipos de frentes de onda.
El campo sonoro reconstruido por Ambisonics, también está limitado por un área óptima donde,
en [20] se menciona el movimiento fuera del sweet spot, donde se pierde la relación de amplitudes
con el arreglo circular y como resultado no se logra generar la reconstrucción del campo sonoro
fuera del punto de escucha. Mediante el “Muestreo espacial óptimo para arreglos esféricos” el autor
propone un método de optimización del sistema a través del cálculo de la ubicación de los altavoces
considerando la reconstrucción del campo sonoro como componentes espaciales ortonormales.
Para la aplicación de este método es necesario tener diferentes consideraciones. Por ejemplo, no se
pueden ubicar los transductores en la parte inferior de la esfera, el método está diseñado para
arreglos de orden bajo y fue probado en una frecuencia de un 1 kHz con 16 altavoces. Como
resultado el autor optimiza únicamente el eje azimutal y concluye que para aumentar el área óptima
de reconstrucción y reducir los filtros peines es necesario implementar un sistema de alto orden.
En [20] se enfatiza la necesidad de un espacio considerablemente grande para la implementación
de Ambisonics. Tanto Villie Pulkki en [1] como [20], resaltan el efecto producido por un sistema
de orden bajo, en el cual las señales emitidas por los altavoces son prácticamente iguales, esto tiene
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 19
como resultado filtros tipo peine. También, concluyen que a mayor número de transductores mayor
será la precisión de la reconstrucción del campo sonoro.
No solo la cantidad de altavoces influye en el comportamiento de Ambisonics. Para generar la
reconstrucción del campo sonoro, la posición de estos y la posición de la fuente a reconstruir,
juegan un papel fundamental y ambos parámetros pueden ser tratados de forma dependiente o
independiente, lo que ha hace que el formato de codificación de la señal varíe. Para definir la mejor
manera de manipular la señal, es relevante considerar la cantidad de información que debe ser
decodificada [21]. Sin embargo, la precisión del campo sonoro continúa siendo dependiente al
número de coeficientes de armónicos esféricos que se use en la expansión, con el fin de optimizar
el orden en [21] proponen un método alternativo Ambisonics Equivalent Panning (AEP), el cual
genera un rendimiento mayor al de un sistema Ambisonics convencional. Un caso de uso fue
implementado con el uso de 20 altavoces y cuyo procesamiento se realizó mediante el software
Max MSP.
En el trabajo presentado en [22] se afirma que la creación de sonido tridimensional pretende
generar percepciones auditivas de la propagación del sonido en un espacio. Las investigaciones se
basan en ondas planas, considerando el punto de escucha ubicado en campo lejano. Sin embargo,
en la realidad se pueden encontrar fuentes cerca y lejos de un oyente, lo que hace que el frente de
onda varié de onda plana a esférica. Ambisonics no es la excepción; en este sistema cuando el
oyente se encuentra en campo cercano los componentes de Ambisonics de frecuencias bajas
tienden al infinito, volviendo el sistema inestable. El autor propone unos filtros de corrección de
campo cercano, modificando la codificación de las señales; logrando optimizar el sistema de
reproducción y considerando cambios de frente de onda. Este resultado se demuestra por medio de
simulaciones donde se cuantifica la eficacia del sistema con posiciones de fuentes acústicas
internas y externas.
En el trabajo realizado en [23], adaptaron un sistema bidimensional de altavoces para Wave Field
Synthesis (WFS) a Ambisonics implementando los filtros Near Field Compensation (NFC)
anteriormente mencionados, variando la cantidad de transductores entre 3 y 48 durante la ejecución
del sistema. Esta implementación se evaluó por medio de pruebas subjetivas, las cuales dieron
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 20
como resultado que la adaptación de sistema no funciona correctamente con un arreglo de menos
de 8 altavoces, además, demostraron que el gasto generado en la implementación de 23 a 48
transductores no se justifica dado que los usuarios no reconocen la diferencia.
Buscando optimizar el sistema en 2.5 dimensiones e implementando los filtros desarrollados por
Daniel Jerome, se presenta un algoritmo diseñado en [24], el cual es más práctico que las soluciones
que hay hasta entonces para audio en 2D y 3D. Hasta el momento las soluciones analíticas
consideraban distribuciones esféricas de altavoces, mientras que en el método propuesto por estos
autores se consideran fuentes secundarias como monopolos, teniendo así la posibilidad de
considerar las fuentes en un campo cercano. El algoritmo está fundamentado en una representación
paramétrica de filtros recursivos; las funciones de conducción 2.5 Near Field Compensation (NFC)
- HOA de una onda plana y una fuente virtual se representan por medio de una serie truncada de
Fourier, donde las raíces de los polinomios normalizados son dados por la expansión esférica de
Hankel. Este método se evaluó en respuesta en frecuencia con respecto a las respuestas que se
obtienen analíticamente, teniendo como resultado una desviación en la respuesta en frecuencia
inferior a 1 dB.
Posteriormente, Nara Hahn and Sascha Spors generan otra publicación acerca del diseño de filtros
radiales para Near Field Compensation (NFC) HOA [25], exponiendo las funciones de conducción
de Near Field Compensation (NFC), las cuales se derivan en el dominio de armónicos esféricos y
tienen una dependencia de la ubicación de los polos y ceros, donde los algoritmos genéricos no
encuentran las raíces verdaderas del polinomio de Bessel inverso; teniendo como resultado errores
de estabilidad y la precisión numérica. Proponen como solución, el uso del método de Aberth
Ehrlich, donde se realiza la búsqueda de las raíces del polinomio de Bessel y se agrupan los polos
y ceros transformándolos al dominio z para el diseño de los filtros digitales; los cuales se consideran
para fuentes virtuales filtros de tipo shelving para bajas frecuencias y para ondas planas virtuales
filtros pasa altas. El método anterior permite llegar a un orden de 150 sin inestabilidades numéricas,
donde se mostraron los errores en dB en relación con la frecuencia y se destacaron la importancia
de la normalización de los filtros para obtener una respuesta óptima en el dominio de frecuencia.
En base a lo expuesto, la mayoría de los autores relaciona la cantidad de altavoces a implementar
con la precisión en el campo sonoro y el tamaño del área de reconstrucción. Todos denotan el
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 21
problema que tiene Ambisonics fuera del área de escucha y por esta razón, es importante destacar
el aporte realizado por Daniel Jerome [22] con los filtros Near Field Compensation (NFC), debido
a que esta investigación generó una mejora técnica importante en el sistema, favoreciendo su
extensibilidad frente a los otros métodos de reconstrucción del campo sonoro. Además, debido a
este aporte la compensación para el campo cercano solo se hace necesario en la etapa de
decodificación, impulsando otras investigaciones en torno a estos, en las que se concuerda que el
desempeño de estos filtros es dependiente a la desviación que se genera en la obtención de los polos
y ceros.
Para la eficacia de los métodos planteados por [20] y [23], es necesario evaluarlos con señales
complejas que se asemejan al entorno de un oyente. No importa el método que este use para la
reconstrucción del campo sonoro, todos tienen Banda limitada y deben cumplir el criterio de
Nyquist. También es necesario tener presente la cantidad de coeficientes de los armónicos esféricos
que se van a calcular con el fin de garantizar una reconstrucción certera. Es relevante estudiar otros
procesos y técnicas diferentes a Ambisonics, que se utilicen para la reconstrucción de campo
sonoro, dado que la combinación de estos o la adaptación de procesos en el sistema pueden generar
soluciones o realizar mejoras en Ambisonics.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 22
III. JUSTIFICACIÓN
Mediante el desarrollo tecnológico se ha buscado imitar las experiencias sensoriales que tiene el
ser humano en su cotidianidad. Uno de estos sentidos es la escucha, por medio del cual se recibe
diferente información (ubicación espacial, captura de mensajes, discriminación de eventos sonoros,
etc). Se han desarrollado métodos con el fin de recrear la escucha humana o el campo sonoro de
un oyente. Ambisonics es un sistema de reconstrucción de campo sonoro, el cual provee
información sonora en 3 dimensiones y su base teórica considera la descripción del campo sonoro
por medio de armónicos esféricos. Usualmente la decodificación del campo sonoro corresponde a
una onda plana sintetizada por una propagación de ondas planas. Sin embargo, en la
implementación del arreglo de altavoces el receptor puede encontrarse en cerca del sistema donde
el componente del campo cercano comienza a ser significativo.
Los filtros Near Field Compensation (NFC) permiten la compensación del efecto de campo
cercano. Una variación del frente de onda dependiente de la distancia entre el sistema y el oyente.
Dicho cambio se efectúa en la etapa de la codificación, considerando en su modelo la propagación
ondas esféricas. Como resultado se tiene un sistema más realista, complejo y robusto
matemáticamente. La presente propuesta se desarrolla con el fin de analizar diferentes
metodologías para la decodificación de sistemas ambisonics que consideren campo cercano.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 23
IV. OBJETIVOS
A. Objetivo general
Evaluar diferentes metodologías para la decodificación del sistema Ambisonics mediante
simulación numérica.
B. Objetivos específicos
• Establecer el proceso de decodificación para cada metodología mediante el método inverso,
analizando diferentes tipos de propagación y fuentes sonoras.
• Establecer métricas de comparación con el fin de evaluar el rendimiento de cada decodificador.
• Evaluar los diferentes tipos de decodificadores en términos de las métricas previamente
establecidas, con el fin de identificar ventajas y limitaciones de cada tipo de decodificador.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 24
V. MARCO TEÓRICO
En este capítulo se exponen todos los conceptos teóricos necesarios para el entendimiento de la
presente tesis. En primera instancia, se elabora una descripción física del fenómeno sonoro
mediante la definición de onda y sus diferentes soluciones conforme al tipo de propagación que
pueda presentarse. Posteriormente, se desarrolla el concepto de armónicos esféricos y métodos
inversos para la decodificación de acuerdo la propagación que presente y fuente que genera un
campo sonoro.
A. Notación matemática
Una descripción de la notación utilizada a través de esta tesis se da de la siguiente manera:
• Los vectores están representados por letras minúsculas en negrita "x".
• Las matrices se representan con letras mayúsculas en negrita "H".
• Los escalares, funciones o campos escalares en el dominio de la frecuencia se representan
con minúsculas cursivas "p(x) = p(x,ω)".
• Los escalares, las funciones y los campos escalares en el dominio del tiempo se representan
con letras cursivas en mayúscula "P(x) = P(x,t)".
• Cuando existe un potencial de confusión o de símbolos que se utilizan comúnmente en la
literatura científica, como (ρ) para la densidad, la notación incluye la dependencia de
tiempo o frecuencia.
B. Vectores y matrices
Los componentes de un vector x están dados por [x1,x2,x3] en cartesiano o [θx,ϕx,rx] en
coordenadas esféricas. Un componente de un vector x se define como (x1 = x · x1) o (rx = x · r),
respectivamente, en la que (·) representa el producto escalar entre dos vectores
(1)
La dirección y el módulo de un vector x = [x1, x2, x3] se definen como:
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 25
(2)
La relación entre coordenadas cartesianas y esféricas para un vector x viene dada por:
donde θx y ϕx son los componentes de elevación y azimut del vector x, respectivamente. Sus
correspondientes inversas son:
C. Números complejos y funciones
La unidad imaginaria está representada por el símbolo j = √−1. Un escalar o función compleja q(ω)
se puede representar por su parte real e imaginaria o por su magnitud | · | y fase ∠(·).
(5)
(3)
(4)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 26
D. Conceptos
1)Transformada de Fourier continua
Una señal puede ser descrita por medio de sumas de senos y cosenos. Su análisis se hace a través
de La transformada de Fourier, una función matemática sustentada mediante las series de Fourier
(6) la cual permite realizar cambios en el dominio de la frecuencia o del tiempo [26].
(6)
donde F y F−1 son la transformada directa e inversa respectivamente. La función exponencial e
depende de la frecuencia y j es el operador imaginario [27]. Cuando se usa F(t), se hace referencia
al dominio del tiempo, donde se puede observar diferentes parámetros de una señal que varían en
el tiempo como lo es la amplitud. Por otro lado, a través de F(ω) se puede realizar un análisis de
aquellos indicadores que se presentan en el dominio de la frecuencia, por ejemplo, la cantidad de
la energía en el espectro de la frecuencia de una señal [28].
2) Onda
Una onda es un tipo de señal que se da por una perturbación que genera cambios en un medio
elástico durante un determinado tiempo. Tiene características que son dependientes de condiciones
medioambientales como lo son la presión, la temperatura y los movimientos de partícula [29].
Algunas de las características intrínsecas de una onda son la frecuencia, la longitud de onda y la
presión sonora. La frecuencia determina el tono de un sonido, la cual tiene una unidad de Hertz
(Hz) y es igual a al factor de repetición de ciclos por segundo como se observa en la ecuación (7).
donde T es el periodo de la onda y usualmente es medido en segundos. La longitud de onda λ es la
longitud física que se da entre dos puntos sucesivos situados en la misma fase de la onda, es decir,
(7)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 27
la distancia que existe a lo largo de un periodo [31] y se puede calcular mediante la siguiente
ecuación:
donde c0 es la velocidad del sonido en el medio de propagación y f es la frecuencia de la onda.
La presión sonora (9) es una medida que permite cuantizar las deformaciones provocadas en un
espacio mediante la relación entre la presión total y una presión atmosférica de referencia. Estas
variaciones pueden requerir de grandes rangos, por esta razón se utiliza una medida logarítmica en
vez de lineal y su unidad es los decibeles (dB). Los resultados pueden ser positivos o negativos,
de acuerdo con un aumento o atenuación de la presión sonora [32]
donde la presión de referencia Pref equivale a 20µPa.
3) Ecuación homogénea de Helmholtz
Con el fin de modelar matemáticamente fenómenos físicos que presenten descripción de problemas
de propagación se encuentra la siguiente ecuación :
La ecuación (10) es conocida como la ecuación de Helmholtz, donde se tiene un campo escalar
denominado p que hace referencia a la presión sonora, el parámetro k es el número de onda y el
operador hace referencia al Laplaciano ecuación (11).
(8)
(9)
(10)
(11)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 28
Cualquier campo sonoro que satisfaga la ecuación homogénea de Helmholtz puede ser
representado por medio de ondas planas.
3) Ondas planas
Cuando un receptor se encuentra en campo libre y lejos de una fuente sonora, los atributos físicos
de la onda son constantes en una superficie perpendicular a la dirección de propagación y solo
varían en una dirección x. Este fenómeno es considerado como onda plana [33] y su representación
de forma exponencial compleja es:
donde A es la amplitud de la onda, k es el número de onda y está dada por la longitud de onda ,
una frecuencia angular ω la cual es dependiente a la división de la velocidad del sonido y el número
de onda [34].
La ecuación anterior se puede resolver mediante la transformada de Fourier, considerando una
frecuencia fija. Este cálculo se debe realizar varias veces de acuerdo con el rango de frecuencia
que se desee obtener. Por último, se realiza una sumatoria de los resultados anteriores con el fin de
obtener una solución general [35]. A partir del cálculo independiente de varias ondas planas para
diferentes direcciones y la sumatoria de dichos resultados es posible encontrar una solución
tridimensional.
4) Expansión de ondas planas.
Considerando un número finito de ondas planas propagándose en L direcciones dentro de una
esfera unitaria, la presión sonora en un punto x del espacio con dirección y se define como:
(12)
(13)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 29
Por medio del operador diferencial L, es posible definir la función de Green como solución a la
ecuación inhomogénea Helmholtz:
5) Ecuación de Green.
La función de Green (14), es una función matemática que permite dar solución a ecuaciones
diferenciales que describen problemas de propagación y transmisión [35]. Está compuesta por un
operador lineal L, aplicado a una función f(x) con condiciones iniciales y de frontera dadas por
g(x) y su resultado es una respuesta al impulso mediante por un delta de Dirac [36].
De esta forma es posible adaptarla a ecuaciones que describen dichas situaciones, por ejemplo, la
ecuación de onda; si se tiene un espacio delimitado y una fuente sonora conocida que no es
dependiente al espacio, la función de Green describe el flujo de la presión sonora generada por la
fuente a través del espacio (16), con el fin de caracterizar un sistema de la misma forma que una
función de transferencia [37].
donde ∂∂t2G
2 es la derivada parcial de la presión sonora con respecto a un espacio delimitado por G,
c es la velocidad del sonido en el medio de propagación, es el cambio parcial de la presión entre
las condiciones de frontera de G de acuerdo δ(x − y)δ(t − τ) es el pulso en el punto fuente y en el
tiempo t [38].
6) Ondas esféricas.
(14)
(15)
(16)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 30
La presión sonora producida por una onda esférica simétrica tiene el factor de 1r, el cual es
característico de la propagación esférica, este implica que las amplitudes de la onda disminuyen
con la distancia, pero conserva su forma de onda a través del tiempo [39].
La ecuación que rige la propagación de una onda esférica (17) a través de un espacio
tridimensional, hace uso de coordenadas esféricas, el cual tiene un origen en r = 0. Estas tienen
amplitudes complejas las cuales se rigen por la ecuación de Helmholtz.
donde r es la distancia de una frente de onda esférico con respecto al origen y qe−jkr es la amplitud
compleja de la onda [40].
7) Funciones de Bessel.
Las funciones de Bessel Bowman son funciones canónicas de la ecuación diferencial de
Bessel (18)
Las funciones de Bessel son funciones es una ecuación diferencial de segundo orden y
dependiendo de la circunstancia, es conveniente formular una solución a esta, como los son las
funciones esféricas de Bessel. Al resolver la ecuación de helmholtz en coordenadas esféricas por
separación de variables, se obtienen dos soluciones linealmente independientes conocidas como
funciones esféricas de Bessel Jn (19) y Yn (20) [41].
(17)
(18)
(19)
(20)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 31
8) Armónicos esféricos.
Los armónicos esféricos son funciones ortonormales que permiten tener una representación de
funciones definidas en la superficie de una esfera, dando una solución a la ecuación de onda en el
sistema de coordenadas esféricas (21). Estos se pueden considerar análogos a las representaciones
de Fourier por medio de senos y cosenos [26].
donde (θ,ϕ) son los ángulos de azimuth y elevación respectivamente , y las constantes complejas
están definidas por Amn [42]. Los armónicos esféricos están definidos como:
Donde Pnm es la función de Legendre asociada.
La presión en un punto r¯ del espacio está definida como:
donde Amn son coeficientes complejos, jn(kr) es la función esférica de Bessel y son los armónicos
esféricos [26].
(21)
(22)
(23)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 32
9) Filtros IIR.
Los filtros IIR son filtros recursivos ya que la salida del filtro depende de valores previos a la salida
y valores anteriores. Estos tienen mejor atenuación que los filtro FIR y tiene una respuesta de fase
no lineal, por lo que pueden ser inestables [44].
Donde H(z) es su función de transferencia luego de aplicarle la transformada Z, M y N son los
términos que determinan la cantidad de ceros y polos en la función de transferencia y an y bn son
los coeficientes del filtro.
10) Ambisonics.
Ambisonic es un sistema de audio tridimensional basado en los estudios de Gerzon [43]. Su
principal objetivo es proporcionar a un usuario inmersividad y espacialidad acústica por medio de
la caracterización de un entorno y sus eventos sonoros [44]. Uno de los procesos que permite el
cálculo de las ganancias requerida por cada uno de los altavoces que conforman el arreglo está
basado en la formulación de un problema inverso. Sus principales características están dadas por
la relación entre la cantidad de transductores usados [26].
(24)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 33
VI. METODOLOGÍA
En este capítulo se plantea el proceso metodológico con el fin de evaluar diferentes sistemas de
decodificación para la reconstrucción del campo sonoro acorde a diferentes ondas de propagación
y fuentes sonoras. Para esto necesario hacer uso del método inverso y las funciones de armónicos
esféricos. Los tipos de propagación a estudiar son ondas planas y monopolos, considerando tres
casos en específico: una expansión de ondas planas que reconstruyen una onda plana, una
expansión de ondas esféricas que reconstruyen una onda plana y por último una expansión de ondas
esféricas que reconstruyen un monopolo. El tamaño del área de reconstrucción óptima es
dependiente de estos modelos matemáticos, el tipo de fuente sonora y la ubicación del receptor,
generando mayor o menor inmersividad en el usuario. Por último, se realiza una comparación entre
cada uno de estos casos, con el fin de evidenciar sus limitaciones y ventajas.
En el siguiente diagrama de bloques se presenta el proceso metodológico que realizó para alcanzar
los objetivos previamente planteados.
Fig. 1. Diagrama de bloques del proceso metodológico que se llevó a cabo para el desarrollo del proyecto.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 34
A. Planteamiento del algoritmo
En primera instancia realiza el planteamiento de las ecuaciones analíticas que permiten describir
los fenómenos a estudiar. La ecuación (25) representa una onda plana la cual es reconstruida por
medio de la expansión de armónicos esféricos, mientras que la (26) es una onda esférica
reconstruida por medio de armónicos esféricos.
B. Expansión de ondas planas reconstruyendo una onda plana.
Al tener la modelación matemática de una onda plana por medio de funciones de armónicos
esféricos, la cual es reconstruida a través de una expansión de ondas planas descritas también
mediante armónicos esféricos dependientes de l direcciones, obtenemos la siguiente expresión
Al simplificar la expresión anterior, se obtiene la ecuación (28):
(25)
(26)
(27)
(28)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 35
donde ql (θs,ϕs) es la función de amplitud de la fuente sonora proveniente de una dirección con
azimuth (θs) y una elevación (ϕs) , Ynm hace referencia a la función de armónicos esféricos tanto de
la fuente (s) como de cada uno de los altavoces (l).
C. Expansión de ondas esféricas reconstruyendo una onda plana
Como se mencionó anteriormente las ondas planas son aquellas que se propagan en (al menos) una
dirección con frentes de onda plano [26]. Por otro lado, las ondas esféricas son aquellas que tienen
una propagación con frentes de ondas esféricos dados por onda función de radio r (ecuación 26).
De la igualación de expresión de una onda plana (25) y una onda esférica (26) ambas reconstruidas
por medio de una expansión de armónicos esféricos, obtenemos la ecuación de decodificación (28)
que representa la reconstrucción de una onda plana por medio de una expansión de L ondas
esféricas.
D. Expansión de ondas esféricas reconstruyendo una onda esférica.
La reconstrucción de una onda esférica por medio de una expansión de ondas esféricas se logra a
través de la ecuación de decodificación (32), la cual se obtiene por medio de la igualación de la
ecuación que sintetiza una onda esférica por medio de la expansión de armónicos esféricos.
(29)
(30)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 36
Por último, para cada caso de estudio, mediante el método inverso, el cual se deriva de una matriz
inversa para una geometría dada de altavoces (Matriz de propagación) y posiciones del receptor,
que permite el cálculo de la presión de sonora requerida en un conjunto de puntos discretos (área
de reconstrucción).
E. Distribución de los altavoces en la esfera
Para la expansión en ondas planas y esféricas es necesario tener las coordenadas (X, Y, Z) de cada
uno de los altavoces uniformemente distribuidos en la esfera ( anexo A), que se constituyen como
el vector yˆ de la Ec. (13) En la figura 2. Se observa dicha distribución donde los puntos verdes
hacen referencia a cada transductor.
(31)
(32)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 37
Fig. 2. Distribución de los altavoces en la superficie de la esfera
F. Desarrollo de la métrica
Para la evaluación del rendimiento de los diferentes tipos de decodificadores se han determinado
las siguientes métricas las cuales permiten caracterizar el comportamiento del sistema: distribución
de la energía, cantidad de energía y precisión en la reconstrucción del campo sonoro.
1). Distribución de la energía
Esta métrica se basa en el análisis de la energía requerida por cada uno de los altavoces para
sintetizar el campo sonoro. Por medio de la gráfica del arreglo de los transductores se muestra
diferentes magnitudes de energía de acuerdo con el tamaño y color que presenta cada uno de ellos.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 38
Fig. 3. Distribución de energía en el arreglo de altavoces
2). Análisis de la energía
La energía total requerida por el sistema está dada por la sumatoria de la magnitud al cuadrado de
la energía de cada altavoz que conforma el arreglo.
3). Precisión del campo sonoro
La validez del campo sonoro reconstruido se observa en la figura 4. El círculo de color magenta
muestra la ubicación del arreglo de altavoces dentro del dominio. El círculo de color negro que
representa la relación (34) , donde la reconstrucción del campo sonoro conserva las características
del campo sonoro de referencia en cuanto a la amplitud y la curvatura del frente de onda.
(33)
(34)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 39
La reconstrucción del campo sonoro puede ser comparada de manera estadística con el campo
sonoro teórico. En el dominio de la frecuencia se puede calcular tres diferentes tipos de error, un
error de amplitud entre el campo sonoro de referencia y el campo sonoro reconstruido, un error de
fase entre ambos y finalmente un error normalizado, de manera similar como se calcula
estadísticamente el error entre un valor teórico y un valor experimental.
4). Error de amplitud
Es la relación de la magnitud de presión sonora entre el campo sonoro de referencia (p(x)) y el
campo sonoro reconstruido (p˜(x)).
5). Error de fase
El error de fase puede ser calculado obteniendo el ángulo entre el producto entre el valor complejo
de la presión sonora del campo de referencia y el valor complejo conjugado del campo sonoro
reconstruido, así:
Fig. 4. Representación del campo sonoro teórico y campo sonoro reconstruido.
(35)
(36)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 40
6). Error de normalizado
Es la relación entre las diferencias de las magnitudes al cuadrado de la presión sonora del campo
reconstruido y el campo de referencia con respecto a la magnitud al cuadrado de la presión sonora
del campo de referencia.
El área donde la reconstrucción es correcta con respecto a la referencia está definida teóricamente
como la región donde el error normalizado es igual o menor a -20 dB.
Fig. 5. Representación de los errores dentro del dominio.
7). Análisis de energía y estabilidad de los filtros
Al considerar el campo cercano el sistema Ambisonics la energía requerida por los filtros que
compensan el campo cercano es relevante por lo que se hace necesario evaluar la estabilidad de
estos en el dominio de la frecuencia y del tiempo.
(37)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 41
VII. DESARROLLO
Se realizan simulaciones numéricas de 2 modelos de propagación con 3 tipos de reconstrucción del
campo sonoro: Una expansión de ondas planas (PWE) que reconstruyen una onda plana (PW), una
expansión de ondas esféricas (SWE) que reconstruyen una onda plana (PW) y una expansión de
ondas esféricas que reconstruyen un monopolo (SW). Las condiciones de frontera de las ecuaciones
analíticas que se modelan son campo libre. Estas permiten por medio del planteamiento de un
problema inverso el cálculo de energía que se requiere para la reconstrucción de un campo sonoro
arbitrario mediante un número L de transductores. El dominio tiene dimensiones 10m x 10m x 3m.
También se define el orden de ambisonics (N=7), un número de altavoces (L=64) y un radio de la
esfera (rshp = 2.5m). Por último, se presenta un análisis de los filtros que compensan el efecto de
campo cercano.
(a) Decodificación de una onda (b) Decodificación de una onda (c) Decodificación de una plana mediante la
expansión de plana mediante la expansión de monopolo mediante la ondas planas ondas esféricas expansión de
ondas esféricas
Fig. 6. Metodologías para la decodificación del sistema ambisonics a evaluar.
A. Decodificador que asume una reconstrucción del campo sonoro asociado a una onda plana
mediante una expansión de ondas planas (PWE=PW)
En esta sección se presentan los resultados de una onda plana para dos frecuencias (250 Hz y 63
Hz) sintetizada por medio de una expansión de ondas planas. Se analiza la reconstrucción del
campo para 2 direcciones de propagación. Por último, se presenta un análisis de energía para este
sistema
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 42
1). Reconstrucción de una onda plana incidente a 90 para una frecuencia de 250 Hz por
medio de una expansión de ondas planas.
En la figura2. se observa la reconstrucción de una onda plana con dirección de propagación de (θ
= 90,ϕ = 90). El origen de la propagación se ubica en el centro del dominio [5,5,1.5]. Como es
de esperarse a medida que la frecuencia aumenta el área de reconstrucción disminuye, logrando
una reconstrucción precisa en todo el dominio para una frecuencia de 63 Hz.
(a) 63 Hz
(b) 250 Hz
Fig. 7. Campo sonoro teórico y reconstruido de PW de frecuencias de 63 Hz y 250 Hz con dirección de
propagación (θ = 90,ϕ = 90) por medio de PWE.
Los errores concuerdan con los resultados obtenidos. Se tienen valores iguales a cero en el área de
reconstrucción para los errores de fase y amplitud y -30 dB en el caso del error normalizado.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 43
(a) 63 Hz
(b) 250 Hz
Fig. 8. Errores en la reconstrucción de PW de frecuencias de 63 Hz y 250 Hz con dirección de propagación (θ =
90,ϕ = 90) por medio de PWE
En el caso de la distribución de energia4. con respecto a cada uno de los altavoces, la energía se
concentrar en el altavoz más cercano al punto de origen de la onda tanto en la frecuencia de 63 Hz
como de 250 HZ. La energía requerida por el sistema es muy baja, siendo cercana a 1.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 44
(a) 63 Hz (b) 250 H
Fig. 9. Errores en la reconstrucción de PW de frecuencias de 63 Hz y 250 Hz con dirección de propagación (θ =
90,ϕ = 90) por medio de PWE.
2). Reconstrucción de una onda plana incidente a 45 a una frecuencia de 63 Hz y 250 Hz por
medio de una expansión de ondas planas.
Al cambiar la dirección de propagación de la onda para (θ = 90,ϕ = 90) Se obtuvo resultados
similares al caso anterior. El área de reconstrucción dada por la relación de N/k es precisa.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 45
(a) 63 Hz
(b) 250 H
Fig. 10. Campo sonoro teórico y reconstruido de PW de frecuencias de 63 Hz y 250 Hz con dirección de
propagación (θ = 90,ϕ = −45) por medio de PWE.
Los errores son congruentes con respecto a la figura5. en los puntos de reconstrucción los errores
de fase y amplitud son cero o cercanos a cero para ambos casos (63 Hz y 250 Hz) el error
normalizado es menor a -20 dB en el área de reconstrucción.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 46
(a) 63 Hz
(b) 250 Hz
Fig. 11. Errores en la reconstrucción del campo sonoro de PW de frecuencias de 63 Hz y 250 Hz con dirección de
propagación (θ = 90,ϕ = −45) por medio de PWE.
La dirección de propagación se ubica entre 2 altavoces. Por esta razón, la energía requerida por el
sistema se encuentra distribuida entre estos como se aprecia en la figura 12.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 47
(a) 63 Hz (b) 250 Hz
Fig. 12. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de frecuencias de 63 Hz y
250 Hz con dirección de propagación (θ = 90,ϕ = −45) por medio PWE.
En la figura 13. se muestra la energía requerida por un sistema que sintetiza una onda plana por
medio de la expansión de ondas planas, la cual no presenta variación en frecuencia. Sin embargo,
si se tiene la misma cantidad de altavoces, pero el orden n de ambisonics aumenta, la energía
también aumenta. Esto se da por el incremento de coeficientes de armónicos esféricos dependientes
de n.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 48
Fig. 13. Energía total PWE reconstruyendo PW respecto a la frecuencia para diferentes valores de N.
B. Decodificador que asume una reconstrucción del campo sonoro asociado a una onda plana
sintetizada mediante una expansión de ondas esféricas (SWE=PW)
En esta sección se presentan los resultados de una onda plana para una frecuencia de 250 Hz
sintetizada por medio de una expansión de ondas esféricas. Se analiza la reconstrucción del campo
para diferentes posiciones del origen de la expansión. La ubicación de cada uno de estos elementos
se presenta en la figura 14, donde el círculo negro es el sistema de altavoces y el conjunto de figuras
negras dentro del sistema representan las diferentes posiciones para el origen de la expansión. Por
último, se presenta la distribución de la energía y la energía total requerida por el sistema.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 49
Fig. 14. Representación de elementos dentro del dominio, para la reconstrucción SW por medio SWE.
1). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección contraria al origen de la propagación
Se realiza la reconstrucción de una onda plana de 250 Hz con dirección de propagación (θ = 90,ϕ
= 90) sintetizada por una expansión de ondas esféricas. La ubicación del origen de la expansión
varía partiendo del centro del array hasta 2 metros de este. A medida que este se acerca al altavoz
con coordenadas [0,-2.5] el efecto de campo cercano es significativo. Por esta razón no es posible
recrear una onda plana. El resultado es un aumento en la cantidad de energía al tratar de compensar
el frente de onda esférico.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 50
(a) 2.5 metros. (b) 1.5 metros
(c) 1.0 metros. (d) 0.5 metros
Fig. 15. Campo sonoro teórico y reconstruido de PW a una frecuencia 250 Hz alejándose de la propagación por
medio de SWE.
(a) 2.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 51
(b) 1.5 metros
(c) 1.0 metros
(d) 0.5 metros
Fig. 16. Errores en la reconstrucción de PW de 250 Hz por medio de SWE alejándose de la propagación.
Las cifras presentadas en la figura 16. indican que como se esperaba el área sobre la cual la
reconstrucción es más precisa se presenta a medida que el punto de la expansión se ubica de forma
equidistante al arreglo de altavoces. Se puede observar que a menor distancia de sistema la relación
de N/k se pierde. Una comparación de los errores normalizados muestra una buena concordancia
entre la información anterior, presentando errores menores de -20 dB, cuando el origen de la
expansión se encuentra en el centro del array y aumentando a medida que este se acerca a los
altavoces. Se encontraron resultados similares para los errores de amplitud y fase.
La distribución del caso anterior presenta una distribución esperada. En las condiciones iniciales
donde el punto de la expansión se encuentra equidistante a los altavoces, la energía se concentra
en la dirección de donde viene la onda a sintetizar. Sin embargo, a medida que el receptor se acerca
a los altavoces en dirección contraria a la propagación de la onda la energía se concentra en la
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 52
posición del origen de la expansión. El proceso perceptual para un oyente puede ser erróneo cuando
se encuentra fuera del centro del sistema.
(a) 2.5 metros (b) 1.5 metros
(c) 1.0 metros (d) 0.5 metros
Fig. 17. Distribución de energía en el sistema de altavoces para la reconstrucción de PW con frecuencia de 250
Hz por medio de PWE, alejándose de la propagación.
Al realizar un análisis de la energía total requerida por el sistema se presenta un comportamiento
inesperado. El sistema requiere menor cantidad de energía en bajas frecuencias como se observa
en la figura13. Así mismo, a medida que el origen de la expansión se aleja del altavoz, la energía
requerida por el sistema también disminuye considerablemente.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 53
Fig. 18. Energía total SWE reconstruyendo PW variando la ubicación del receptor con respecto al centro del
array alejándose del origen la propagación de la onda.
2. Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación
En la figura14. se observa la reconstrucción de una onda plana de 250 Hz con dirección de
propagación de (θ = 90,ϕ = 90) desde las coordenadas [0,2.5] por medio de una expansión de
ondas esféricas, donde el punto de la expansión se varía la distancia del punto de la expansión
desde el centro del array en dirección al punto de origen de la propagación de la onda. En
comparación al caso anterior, este decodificador requiere de menos energía. Sin embargo, en
frecuencias bajas cuando el receptor está ubicado en la mínima distancia analizada, el sistema no
logra compensar el frente de onda, pero para frecuencias altas, el área de reconstrucción es mucho
mayor que cuando el usuario se encuentra en el centro del dominio, debido a que la dirección de
propagación de la onda coincide con la posición de un altavoz. Los errores que se presentan en la
figura 20. concuerdan con lo anterior, mostrando que, a una frecuencia de 250 Hz, hay mayor
precisión cuando el usuario se aleja de la propagación, pero el área de reconstrucción es mayor
cuando este se acerca.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 54
(a) 2.5 metros. (b) 1.5 metros
(c) 1.0 metros. (d) 0.5 metros
Fig. 19. Campo sonoro teórico y reconstruido de PW a una frecuencia 250 Hz por medio de PWE acercándose de
la propagación.
(a) 2.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 55
(b) 1.5 metros
(c) 1.0 metros
(d) 0.5 metros
Fig. 20. Errores en la reconstrucción del campo sonoro de PW de 250 Hz por medio de SWE
La figura 21 ilustra la distribución de la energía en sistema. Se aprecia que a medida que el receptor
se acerca a la propagación la energía se concentra en los altavoces más cercanos al origen de la
expansión, como consecuencia la cantidad de energía que requiere el sistema aumenta. A
frecuencias bajas la energía aumenta y se distribuye de forma más homogénea (ver anexo 2)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 56
(a) 2.5 metros (b) 1.5 metros
(c) 1.0 metros (d) 0.5 metros
Fig. 21. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de 250 Hz por medio de
SWE alejándose de la propagación
Como es de esperarse, la cantidad de energía que requiere el sistema es mucho mayor en bajas
frecuencias y disminuye a medida que el receptor se aleja del altavoz de donde proviene la onda.
Sin embargo, se puede observar en la figura 22 . Se presenta un comportamiento inesperado en
baja frecuencia cuando el receptor se encuentra a 2 metros y 2.5 metros, dado que el sistema
requiere una menor cantidad de energía para este caso.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 57
Fig. 22. Energía total SWE reconstruyendo PW, variando la ubicación del receptor variando la ubicación del
receptor con respecto al centro del array acercándose al origen la propagación de la onda
C. Decodificador que asume una reconstrucción del campo sonoro asociado a un monopolo
sintetizada mediante una expansión de ondas esféricas (SWE=SW)
En esta sección se presentan los resultados de la reconstrucción de un monopolo con una frecuencia
de 250 Hz por medio de una expansión de ondas esféricas. Se realiza el estudio de 2 casos variando
la posición del punto de la expansión hacia el punto de propagación, con el monopolo dentro del
arreglo y fuera del arreglo, a un metro y 4 metros del receptor respectivamente. La ubicación de
cada uno de estos elementos se presenta en el diagrama 18., donde el círculo negro es el sistema de
altavoces y el conjunto de figuras negras dentro del sistema representan las diferentes posiciones
para el origen de la expansión. Por último, se presenta la distribución de la energía y la energía
total requerida por el sistema.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 58
Fig. 23. Representación de elementos dentro del dominio, para la reconstrucción SW por medio SWE
1). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación con el monopolo a 1 metro del receptor
Se realiza la reconstrucción de un monopolo. Donde el origen de la expansión se encuentra a 1
metro del monopolo y su ubicación se varía en el dominio con dirección al punto de propagación.
En la figura 19. se aprecia que a medida que el efecto de campo cercano comienza a ser significativo
la reconstrucción no es precisa y la cantidad de energía requerida por el sistema para compensar
este frente de onda es alta.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 59
(a) 2.5 metros. (b) 1.5 metros
(c) 1.0 metros. (d) 0.5 metros
Fig. 24. Campo sonoro teórico y reconstruido de SW de 250 Hz por medio de SWE acercándose de la propagación.
La información obtenida por medio de los errores (figura25) es coherente con los resultados
anteriores, donde los errores de amplitud y normalizados son mayores a 5 dB y 10 dB
respectivamente fuera del área de reconstrucción. Siendo más altos para bajas frecuencias (ver
anexo C)
(a) 2.5 metros (b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 60
(c) 1.0 metros (d) 0.5 metros
Fig. 25. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 250 Hz por medio de
SWE acercándose de la propagación
En la figura 26. se presenta una gráfica de la energía total requerida por el sistema con respecto a
la frecuencia, teniendo el monopolo a 1 metro del punto de la expansión. Se muestra el
comportamiento esperado. Cuando el receptor se encuentra a menos de un metro del altavoz más
cercano se requiere mayor cantidad de energía en el sistema. Sin embargo, a más de 1.5 metros del
altavoz más cercano, para frecuencias menores a 100 Hz se muestra que a menor frecuencia menor
cantidad de energía requiere el sistema.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 61
Fig. 26. Energía total en un decodificador SWE reconstruyendo SW respecto a la frecuencia. Se varia la
ubicación del receptor con respecto al centro del array con el monopolo a 1 m del origen de la expansión.
2). Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación con el monopolo a 4 metro del receptor
Se realiza la reconstrucción de un monopolo. Donde el origen de la expansión se encuentra a 4
metro del monopolo y su ubicación se varía en el dominio con dirección al punto de propagación.
En la figura 27. se aprecia que la relación de N/k se mantiene e incluso se logra una reconstrucción
en todo el recinto cuando el origen de la expansión se encuentra fuera del centro del dominio. Sin
embargo, cuando el receptor se encuentra en la distancia más pequeña que se analizó no es posible
reconstruir correctamente el campo sonoro para 63 Hz. (ver anexo 3)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 62
(a) 2.5 metros. (b) 1.5 metros
(c) 1.0 metros. (d) 0.5 metros
Fig. 27. Campo sonoro teórico y reconstruido SW a una frecuencia 250 Hz acercándose de la propagación SWE
Los errores son coherentes con los resultados anteriores, donde los errores de amplitud y
normalizado son 0 dB y por cerca de -30 dB respectivamente en todos los casos. El error de fase
es 0 Rad en el área de reconstrucción, presentando este comportamiento en todos los casos. Estos
son más altos para bajas frecuencias ver anexo 3.
(a) 2.5 metros
(b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 63
(c) 1.0 metros
(d) 0.5 metros
Fig. 28. Errores en la reconstrucción de del campo asociado a un monopolo de frecuencia 250 Hz por medio de
una expansión de ondas esféricas acercándose de la propagación
La energía presentada en el arreglo de altavoces es baja, cumpliendo la ley cuadrática inversa. A
medida que el origen de la expansión se acerca al arreglo de los altavoces la energía aumenta y se
concentra en el transductor más cercano al punto de origen de la propagación.
(a) 2.5 metros (b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 64
(c) 1.0 metros (d) 0.5 metros
Fig. 29. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 250 Hz por medio de
SWE acercándose de la propagación
En la figura 30. se presenta una gráfica de la energía total requerida por el sistema con respecto a
la frecuencia, teniendo el monopolo a 4 metros del punto de la expansión. Cuando el receptor se
encuentra a menos de un metro del altavoz más cercano se requiere mayor cantidad de energía en
el sistema. Sin embargo, a más de 1.5 metros del altavoz más cercano, para frecuencias menores a
100 Hz se muestra que a menor frecuencia menor cantidad de energía requiere el sistema.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 65
Fig. 30. Energía total en un decodificador SWE reconstruyendo SW respecto a la frecuencia. Se varia la ubicación
del receptor con respecto al centro del array con el monopolo a 4 m del origen de la expansión
D. Análisis de filtros de compensación del efecto de campo cercano
En esta sección se presenta el análisis de los filtros de compensación de campo cercano para los
decodificadores anteriormente mostrados, de acuerdo con el orden de ambisonics.
1). Filtro de compensación del efecto de campo cercano para un decodificador de PW por
medio de SWE
El filtro de compensación de campo cercano del decodificador SWE reconstruyendo PW está dado
por la ecuación 6.1. Presenta un comportamiento esperado en cuanto a la cantidad de energía
necesaria para corregir el frente de onda esférico, la cual aumenta de acuerdo con la distancia entre
el centro de la expansión y los altavoces. Teniendo una mayor energía cuando este radio es cercano
a 0 metros. como se aprecia en las figuras 31 y 32.
(38)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 66
Fig. 31. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW, con los altavoces a 0.5 metros.
Fig. 32. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW con los altavoces a 2.5 metros.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 67
Se realiza un análisis en el dominio del tiempo con el fin de determinar la estabilidad del filtro. En
las figuras 33 y 34. se aprecia que es no causal, ya que depende de valores futuros de la entrada.
Lo que implica que numéricamente son viables, pero no son implementables.
Fig. 33. Respuesta al impulso del filtro del decoder SWE reconstruyendo PW con los altavoces a 0.5 metros.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 68
Fig. 34. Respuesta al impulso del filtro del decoder SWE reconstruyendo PW con los altavoces a 2.5 metros.
2). Filtro de compensación del efecto de campo cercano para un decodificador de SW por
medio de SWE
El filtro de compensación de campo cercano del decodificador SWE reconstruyendo PW se modela
matemáticamente mediante 6.2. Presenta un comportamiento esperado en cuanto a la cantidad de
energía necesaria, ya que al estar en campo cercano el filtro debe corregir el aumento de energía
que tiene el sistema en bajas frecuencias como se aprecia en las figuras 31 y 32. Se realiza un
análisis de estabilidad en el dominio de la frecuencia. Los polos son dependientes de la función de
Hankel. Sin embargo, para las distancias y frecuencias analizadas no se hallaron divergencias.
(39)
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 69
Fig. 35. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW, con los altavoces a 0.5 metros.
Fig. 36. Respuesta en frecuencia del filtro del decoder SWE reconstruyendo PW con los altavoces a 2.5 metros.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 70
Se realiza un análisis en el dominio del tiempo a diferencia del caso anterior se muestra menor
cantidad de energía. Sin embargo, continúa mostrando que el filtro para este decodificador es no
causal, haciéndolo no implementable.
Fig. 37. Respuesta al impulso del filtro del decoder SWE reconstruyendo SW con los altavoces a 0.5 metros.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 71
Fig. 38. Respuesta al impulso del filtro del decoder SWE reconstruyendo SW con los altavoces a 2.5 metros.
Se realiza un análisis en el dominio del tiempo a diferencia del caso anterior se muestra menor
cantidad de energía. Sin embargo, continúa mostrando que el filtro para este decodificador es no
causal
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 72
VIII. CONCLUSIONES
Las simulaciones numéricas muestran que efectivamente es posible compensar el efecto de campo
cercano producido por los monopolos a costa de una gran energía generada por el sistema. Esto
comprobado por los errores calculados con respecto a la fase, amplitud y normalizado. La literatura
muestra que el área donde la reconstrucción es precisa está dada por la relación N/k. Sin embargo,
se presenta un comportamiento no esperado, ya que en campo cercano esta relación se pierde.
La modelación de estos filtros muestra que numéricamente son viables y permiten calcular las
ganancias requerida por cada uno de los transductores. Sin embargo, el análisis de estabilidad
muestra que son impracticables, ya que puede tener componentes de infinita amplitud en los
órdenes superiores.
De acuerdo con los resultados obtenidos de estabilidad y energía requerida por los sistemas, los
decodificadores que consideran el efecto de campo cercano a pesar de ser matemáticamente robusto
no permiten la reproducción campos sonoros en un sistema electroacústico.
Es necesario continuar la investigación con el fin de validar si un sistema electroacústico es viable.
Esto puede ser logrado por medio un filtro adaptativo, ya que este debe conocer en tiempo real las
distancias del centro de la expansión a cada uno de los altavoces y la distancia del monopolo a este
mismo. Lo anterior implica eliminar la separación entre la etapa de codificación y la etapa de
decodificación.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 73
REFERENCIAS
[1] D. Havelock, S. Kuwano, and M. Vorländer, Handbook of signal processing in acoustics, 1ra
ed. New york: Springer Science & Business Media, 2008.
[2] M. Ledo Hernansanz, “Tecnología de registro y reproducción sonora para entornos de
realidad virtual,” Proyecto fin de carrera, Diac, Facultad de Ingeniería, Universidad
Politécnica De Madrid, Madrid, 2013.
[3] W. de Bruijn, W. van Rooijen, and M. M. Boone, “Recent developments on wfs for high
quality spatial sound reproduction,” in Audio Engineering Society Convention 110, 2001, pp
1-6.
[4] J. Ahrens and S. Spors, “On the scattering of synthetic sound fields,” in Audio Engineering
Society Convention 130, 2011, pp 1-7.
[5] T. D. Abhayapala, D. B. Ward, et al., “Theory and design of high order sound field
microphones using spherical microphone array,” in ICASSP, vol. 2, 2002, pp. 1949–1952.
[6] M. A. Gerzon, “Ambisonics in multichannel broadcasting and video, Journal of the Audio
Engineering Society, vol. 33, no. 11, pp. 859–871, 1985.
[7] D. Murillo Gomez, “Interactive auralization based on hybrid simulation methods and plane
wave expansión,” PhD thesis, Faculty Of Engineering And The Environment, University of
Southampton, Southampton, 2016.
[8] G. Dickins and R. Kennedy, “Towards optimal soundfield representation,” in Audio
Engineering Society Convention 106, Audio Engineering Society, 1999, pp. 1-12.
[9] P. Lecomte, P.-A. Gauthier, C. Langrenne, A. Garcia, and A. Berry, “On the use of a lebedev
grid for ambisonics,” in Audio Engineering Society Convention 139, 2015, pp. 1-12.
[10] A. Heller, R. Lee, and E. Benjamin, “Is my decoder ambisonic,” in Audio Engineering
Society Convention 125, 2008, pp. 1-22.
[11] F. Melchior, A. Gräfe, and A. Partzsch, “Spatial audio authoring for ambisonics
reproduction,” in Proc. of the Ambisonics Symposium, 2009, pp. 1-6.
[12] A. J. Horsburgh and D. F. Clark, “Ambisonic decoders; is historical hardware the future ?” in
Audio Engineering Society Convention 128, 2010, pp. 1-7.
[13] D. G. Malham and A. Myatt, “3-d sound spatialization using ambisonic techniques,” in
Computer music journal, vol. 19, no. 4, 1995, pp. 58–70.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 74
[14] P. Geluso, “Capturing height: The addition of z microphones to stereo and surround
microphone arrays,” in Audio Engineering Society Convention 132, 2012, pp. 1-5.
[15] D. Malham, “Spherical harmonic coding of sound objects-the ambisonic’o’format,”
in Audio Engineering Society Conference: 19th International Conference: Surround Sound-
Techniques, Technology, and Perception, 2001, pp. 1-4.
[16] O. Kirkeby and P. A. Nelson, “Digital filter design for inversion problems in sound
reproduction,” in Journal of the Audio Engineering Society, vol. 47, no. 7/8, 1999, pp. 583–
595.
[17] D. Menzies and F. M. Fazi, “A theoretical analysis of sound localization, with application to
amplitude panning,” in Audio Engineering Society Convention 138, 2015, pp. 1-5.
[18] D. Murillo, F. Fazi, and M. Shin, “Evaluation of ambisonics decoding methods with
experimental measurements,” in EAA Joint Symposium on Auralization and Ambisonics,
2014, pp. 33-40.
[19] D. M. M. Gómez, J. Astley, and F. M. Fazi, “Low frequency interactive auralization based
on a plane wave expansion,” Applied Sciences, vol. 7, no. 6, p. 558, 2017.
[20] J. Atkins, “Optimal spatial sampling for spherical loudspeaker arrays,” in Acoustics Speech
and Signal Processing (ICASSP), 2010 IEEE International Conference, 2010, pp. 97–100.
[21] M. Neukom and J. C. Schacher, “Ambisonics equivalent panning.,” in ICMC, 2008, pp. 1-5.
[22] J. Daniel and S. Moreau, “Further study of sound field coding with higher order ambisonics,”
in Audio Engineering Society Convention 116, 2004, pp. 1–14.
[23] M. Kratschmer and R. Rabenstein, “Implementing ambisonics on a 48 channel circular
loudspeaker array,” in 1st Ambisonics Symposium, 2009, pp. 1-5.
[24] S. Spors, V. Kuscher, and J. Ahrens, “Efficient realization of model-based rendering for 2.5-
dimensional near-field compensated higher order ambisonics,” in Applications of Signal
Processing to Audio and Acoustics (WASPAA), 2011 IEEE Workshop on, 2011, pp. 61–64,
[25] N. Hahn and S. Spors, “Further investigations on the design of radial filters for the driving
functions of near-field compensated higher-order ambisonics,” in Audio Engineering Society
Convention 142, 2017, pp. 1–11.
[26] E. G. Williams, Fourier acoustics: sound radiation and nearfield acoustical holography.
Washintgton: Academic Press, 1999.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 75
[27] S. Bravo Yuste, Métodos matemáticos avanzados para científicos e ingenieros, 48 ed.
Cáceres: Universidad de Extremadura, 2006.
[28] S. Bharitkar and C. Kyriakakis, Immersive audio signal processing. New York: Springer
Science & Business Media, 2008.
[29] F. J. Fahy, Foundations of engineering acoustics. Southampton: Elsevier, 2000.
[30] N. P. Cheremisinoff, Noise control in industry: A practical guide. New Jersey: Elsevier,
1996.
[31] J. I. Taylor and D. W. Kirkland, The bearing analysis handbook: a practical guide for
solving vibration problems in bearings. Virginia: Vibration Consultants, 2004.
[32] M. J. Crocker, Handbook of noise and vibration control. New Jersey :John Wiley & Sons,
2007.
[33] P. Filippi, A. Bergassoli, D. Habault, and J. P. Lefebvre, Acoustics: basic physics, theory,
and methods. London: Elsevier, 1998.
[34] M. Long, Architectural acoustics. Burlington: Elsevier, 2005.
[35] J. Blauert and N. Xiang, Acoustics for engineers: Troy lectures. Berlin: Springer Science &
Business Media, 2009.
[36] S. S. Bayin, Essentials of Mathematical Methods in Science and Engineering. Ankara: John
Wiley & Sons, 2013.
[37] C. Hansen, S. Snyder, X. Qiu, L. Brooks, and D. Moreau, Active control of noise and
vibration. Boca Raton: CRC press, 2012.
[38] S. W. Rienstra and A. Hirschberg, An introduction to acoustics, Eindhoven: Eindhoven
University of Technology, 2004.
[39] M. J. Crocker, Handbook of acoustics. New Jersey: John Wiley & Sons, 1998.
[40] C. Hopkins, Sound insulation. Oxford: Routledge, 2012.
[41] M. Abramowitz and I. A. Stegun, Handbook of mathematical functions: with formulas,
graphs, and mathematical tables, vol. 55. New York: Courier Corporation, 1965.
[42] D. B. Ward and T. D. Abhayapala, “Reproduction of a plane-wave sound field using an array
of loudspeakers,” in IEEE Transactions on speech and audio processing, vol. 9, no. 6, 2001,
pp. 697–707.
[43] M. A. Gerzon, “Periphony: With-height sound reproduction,” in Journal of the Audio
Engineering Society, vol. 21, no. 1, 1973, pp. 2–10.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 76
[44] J. Daniel, “Spatial sound encoding including near field effect: Introducing distance coding
filters and a viable, new ambisonic format,” in Audio Engineering Society Conference: 23rd
International Conference: Signal Processing in Audio Recording and Reproduction, Audio
Engineering Society, 2003, pp. 1–15.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 77
ANEXO A
(Coordenadas de las posiciones de los altavoces)
TABLA I. COORDENADAS CARTESIANAS DE LOS ALTAVOCES
N° de
Altavoz X Y Z
1 0,0000 0,0000 1,0000
2 0,7741 0,0000 0,6331
3 -0,9236 0,3286 0,1973
4 -0,6261 -0,5639 -0,5385
5 -0,9067 -0,3983 -0,1388
6 0,9506 0,2272 -0,2115
7 0,0285 0,4249 0,9048
8 -0,7976 0,5167 -0,3111
9 0,3234 0,7669 -0,5544
10 -0,7141 0,6929 0,0994
11 -0,7655 -0,2272 0,6020
12 0,4581 -0,1120 -0,8818
13 0,5278 0,7991 0,2878
14 -0,9726 0,1120 -0,2036
15 0,7374 -0,3286 -0,5901
16 -0,1113 -0,7991 0,5908
17 0,9188 -0,3215 0,2291
18 -0,0841 -0,9958 -0,0369
19 0,1100 -0,8598 -0,4987
20 0,7124 0,5710 -0,4080
21 0,6824 -0,4249 0,5948
22 0,4570 0,8784 -0,1398
23 -0,7162 0,2254 -0,6605
24 0,1246 0,1709 -0,9774
25 -0,8355 -0,1709 -0,5222
26 0,9639 0,1302 0,2323
27 -0,1743 0,7386 0,6512
28 0,3126 -0,6558 0,6871
29 -0,0579 -0,2254 -0,9725
30 -0,4630 0,6059 -0,6470
31 0,2641 -0,5167 -0,8144
32 -0,0999 0,8656 -0,4907
33 -0,2077 -0,6059 -0,7679
34 -0,4043 0,3215 0,8563
35 0,6144 -0,7386 0,2773
36 0,7787 0,1228 -0,6153
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 78
37 -0,3362 0,2124 -0,9175
38 -0,4974 -0,2124 -0,8411
39 0,5290 -0,6929 -0,4899
40 0,8222 0,5663 0,0568
41 0,7800 -0,6135 -0,1236
42 -0,0205 0,5639 -0,8256
43 0,9556 -0,2043 -0,2124
44 -0,3301 0,9163 0,2268
45 -0,7694 0,2043 0,6053
46 0,4665 0,3983 -0,7897
47 -0,4557 0,8598 -0,2305
48 -0,4303 -0,1302 0,8932
49 0,3843 -0,2276 0,8947
50 0,3846 -0,9163 -0,1119
51 0,1975 -0,9308 0,3074
52 0,3340 0,6558 0,6770
53 -0,4766 -0,5663 0,6725
54 -0,7668 -0,5710 0,2931
55 0,1130 0,9308 0,3475
56 0,7320 0,4409 0,5194
57 -0,5894 0,6135 0,5256
58 -0,6339 -0,7669 -0,1006
59 -0,3166 -0,8656 -0,3879
60 -0,9692 -0,1228 0,2133
61 -0,3976 -0,8784 0,2653
62 0,4493 0,2276 0,8639
63 0,0247 0,9958 -0,0885
64 -0,0613 -0,4409 0,8955
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 79
ANEXOS B
(Reconstrucción de una onda plana de 63 Hz por medio de una
expansión de ondas esféricas.)
B.1 Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección contraria al origen de la expansión.
(a) 2.5 metros
(b) 1.5 metros
(c) 1.0 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 80
(d) 0.5 metros
Fig. 39. Campo sonoro teórico y reconstruido de PW a una frecuencia 63 Hz alejándose de la propagación por
medio de SWE
(a) 2.5 metros
(b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 81
(c) 1.0 metros
(d) 0.5 metros
Fig. 40. Errores en la reconstrucción de PW de 63 Hz por medio de SWE alejándose de la propagación.
(a) 2.5 metros (b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 82
(c) 1.0 metros (d) 0.5 metros
Fig. 41. Distribución de energía en el sistema de altavoces para la reconstrucción de PW con frecuencia de 63 Hz
por medio de PWE, alejándose de la propagación.
B.2 Reconstrucción del campo sonoro variando la ubicación del origen de la expansión en
dirección al origen de la propagación
(a) 2.5 metros
(b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 83
(c) 1.0 metros
(d) 0.5 metros
Fig. 42. Campo sonoro teórico y reconstruido de PW a una frecuencia 63 Hz por medio de PWE acercándose de la
propagación
(a) 2.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 84
(b) 1.5 metros
(c) 1.0 metros
(d) 0.5 metros
Fig. 43. Errores en la reconstrucción del campo sonoro de PW de 63 Hz por medio de SWE
(a) 2.5 metros (b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 85
(c) 1.0 metros (d) 0.5 metros
Fig. 44. Distribución de energía en el arreglo de altavoces para la reconstrucción de PW de 63 Hz por medio de
SWE alejándose de la propagación.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 86
ANEXOS C
(Reconstrucción de una onda esférica de 63 Hz por medio de una expansión de ondas
esféricas.)
C.1. Reconstrucción del campo sonoro variando la ubicación del origen de la expansión
hacia el punto de propagación, con el monopolo a 1 metro del receptor.
(a) 2.5 metros
(b) 1.5 metros
(c) 1.0 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 87
(d) 0.5 metros
Fig. 45. Campo sonoro teórico y reconstruido de SW de 63 Hz por medio de SWE acercándose de la propagación.
(a) 2.5 metros
(b) 1.5 metros
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 88
(c) 1.0 metros
(d) 0.5 metros
Fig. 46. Errores en la reconstrucción del campo de SW 63 Hz por medio de SWE acercándose de la propagación.
(a) 2.5 metros (b) 1.5 metros
(c) 1.0 metros (d) 0.5 metros
Fig. 47. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 63 Hz por medio de
SWE acercándose de la propagación.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 89
C.2. Reconstrucción del campo sonoro variando la ubicación del origen de la expansión hacia
el punto de propagación, con el monopolo a 4 metro del receptor.
(a) 2.5 metros
(b) 1.5 metros
(c) 1.0 metros
(d) 0.5 metros
Fig. 48. Campo sonoro teórico y reconstruido SW a una frecuencia 63 Hz acercándose de la propagación SWE.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 90
(a) 2.5 metros
(b) 1.5 metros
(c) 1.0 metros
(d) 0.5 metros
Fig. 49. Errores en la reconstrucción de del campo asociado a un monopolo de frecuencia 63 Hz por medio de una
expansión de ondas esféricas acercándose de la propagación.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 91
(a) 2.5 metros (b) 1.5 metros
(c) 1.0 metros (d) 0.5 metros
Fig. 50. Distribución de energía en el arreglo de altavoces para la reconstrucción de SW de 63 Hz por medio de
SWE acercándose de la propagación.
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 92
ANEXOS D
(CÓDIGOS)
D.1 Código decodificador reconstrucción de una onda plana por medio de una expansión de
ondas planas.
clear; close all; clc; % Datos de entrada theta = 90; % Elevación phi = 45; % Azimut r = 1; % Radio f = 250; % Frecuencia(Hz) k = (2*pi*f)/343; % Número de Onda q_1 = 1; % Ganancia DimRec = [10,10,3]; % Dimensiones del dominio Recep = [5;5;1.5]; % Posición Receptor N = 7; % Orden Ambisonics de 1 a 26 r_Shp = 2.5; % Radio de la esféra %% Propagación onda plana teórica thetaRad = (theta*pi)/180; phiRad = (phi*pi)/180; [p_pw,X,Y,Z,zgv] = OndP(DimRec,Recep,q_1,thetaRad,phiRad,r,k); %% Cambio de coordenadas altavoces [Sn,L] = GenPA (N); Sn1 = Sn*r_Shp; [elevation,azimuth,~] = Cart2SphDM(Sn1(:,1),Sn1(:,2),Sn1(:,3),0); %% Armónicos esféricos altavoces Y_N_Atl = Get_Shperical(N,elevation, azimuth); %% Seudo inversa altavoces Y_N_Atl = conj(Y_N_Atl); YPin = pinv(Y_N_Atl).'; %% Armónicos esfericos Onda Y_N1 = Get_Shperical(N,thetaRad, phiRad); Y_N1 = Y_N1.'; Y_N1 = conj(Y_N1); %% Ampliitudes de los altavoces q = YPin*Y_N1; %% Energia q_energia = sum(abs(q).^2); %% Expansión de Ondas planas altavoces kx = Sn(:,1)*k; ky = Sn(:,2)*k;
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 93
kz = Sn(:,3)*k; OndP_Alt = 0; for ind_x=1:L OndP_Alt = OndP_Alt + q(ind_x)*exp(1j.*((X.*kx(ind_x))+(Y.*ky(ind_x))+(Z.*kz(ind_x)))); end %% Ubicación en Z del receptor t = round((Recep(3)/DimRec(3))*length(zgv)); %% Error de amplitud Epa = 20*log10(abs(OndP_Alt(:,:,t))./abs(p_pw(:,:,t))); %% Error de Amplitud Normalizado Enpa = 10*log10((abs(p_pw(:,:,t)- OndP_Alt(:,:,t))).^2./(abs(p_pw(:,:,t))).^2); %% Error de fase en Rad Ep = angle((p_pw(:,:,t).*conj(OndP_Alt(:,:,t)))./(abs(OndP_Alt(:,:,t)).*abs(p_pw(:,:,t)))); %% Ubicación receptor Rec = [-N/(2*k) -N/(2*k) 0]; %% Ajuste visualización r_lim = r_Shp + 0.5; %% Altavoces figure [xs,ys,zs] = sphere(20); xs = xs*r_Shp; ys = ys*r_Shp; zs = zs*r_Shp; mesh = surface(xs,ys,zs); set(mesh,'FaceAlpha',0.1,'FaceColor', 'k') hold on; sct = scatter3(Sn1(:,1),Sn1(:,2),Sn1(:,3),abs(q)*500,abs(q),'filled'); title('Distribución de Energía - PWE'); xlabel('x');ylabel('y');zlabel('z'); colorbar; grid; view(-45,45) axis('equal'); set(gca,'FontSize',16); %% Gráfica Expansion de Ondas Planas figure subplot(121) pcolor(X(:,:,t),Y(:,:,t),real(p_pw(:,:,t))) title('Campo Sonoro Teórico - PW','FontSize',26); axis equal; caxis([-1 1]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',26); ylabel('Y (m)','FontSize',26) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 94
%Circulo reconstrucción r = N/k; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',26); subplot(122) hold on pcolor(X(:,:,t),Y(:,:,t),real(OndP_Alt(:,:,t))); title('Campo Sonoro Reconstruido - PW','FontSize',26); axis equal; caxis([-1 1]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',26); ylabel('Y (m)','FontSize',26) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); % Circulo de reconstrucción theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',26); %% Gráfica Error Amplitud figure subplot(131) pcolor(X(:,:,t),Y(:,:,t),Epa); title('Error Amplitud,';'dB - PW','FontSize',12); axis equal; caxis([-5 5]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); colorbar r = N/k; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20); %% Gráfica error de amplitud normalizado subplot(132) pcolor(X(:,:,t),Y(:,:,t),Enpa) title('Error Normalizado,';'dB - PW','FontSize',12); axis equal; caxis([-30 10]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); colorbar
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 95
r = N/k; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20); %% Gráfica error de Fase, Rad subplot(133) pcolor(X(:,:,t),Y(:,:,t),Ep) title('Error de Fase,';'rad - PW','FontSize',12); axis equal; caxis([-3 3]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); r = N/k; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 96
D.2 Código decodificador reconstrucción de una onda plana por medio de una expansión de
ondas esféricas
clc; clear; close all; % Datos de entrada theta = 90; %Elevación phi = 90; %Azimut r = 1; %Rdio f = 250; %Frecuencia(Hz) k = (2*pi*f)/343; %Número de Onda w = 2*pi*f; %Omega q_1 = 1; %Ganancia domain = [10;10;3]; %Dimensiones del dominio origin_array = [5;5;1.5]; %0,0,0 origin_rcv = [0;-2;0]; %Coordenadas centro de la expansión N = 7; %Orden Ambisonics de 1 a 26 r_Shp = 2.5; %Radio Esféra res = 0.1; %Resolución MeshGrid %% Malla del dominio con el (0,0,0) en origin_array x_domain = (0:res:domain(1)); y_domain = (0:res:domain(2)); z_domain = (0:res:domain(3)); y_domain = fliplr(y_domain); [X,Y,Z] = meshgrid(x_domain-origin_array(1),y_domain-origin_array(2),z_domain-origin_array(3)); %% Anm % Cambio de grados a radianes para el calculo de los armonicos esféricos thetaRad = (theta*pi)/180; phiRad = (phi*pi)/180; % Armónicos Esféricos Onda Ynm_pw = Get_Shperical(N,thetaRad,phiRad).'; Ynm_pw = conj(Ynm_pw); Anm = zeros((N+1)^2,length(thetaRad)); l_idx = 1; for n_idx = 0:N for m_idx = -n_idx:1:n_idx Anm(l_idx) = Ynm_pw(l_idx); l_idx = l_idx+1; end end %% Cambio de coordenadas altavoces % se carga las posiciones de los altavoces en una esfera unitaria en coordenadas cartesianas [Sn1,L] = GenPA (N); % Se escala el radio de la esfera a nuestro radio deseado Sn1 = Sn1*r_Shp; Sn = Sn1;
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 97
% Desplazamiento de la esfera a nuestro rcv, la posición relativa Sn(:,1) = Sn(:,1) - origin_rcv(1); Sn(:,2) = Sn(:,2) - origin_rcv(2); Sn(:,3) = Sn(:,3) - origin_rcv(3); % Cambio de las coordenadas de los altavoces de cartesianas a esfericas [theta_Atl,phi_Atl,r_Atl] = Cart2SphDM(Sn(:,1),Sn(:,2),Sn(:,3),0); %% Armónicos esféricos Altavoces Ynm_sw = Get_Shperical(N,theta_Atl, phi_Atl).'; Ynm_sw = conj(Ynm_sw); %% Hankel 2 orden n = (N+1)^2; bn = -1j*k; hn = zeros (n,L); for y_idx = 1:L x_idx = 1; for n_idx = 0:N for m_idx = -n_idx:1:n_idx hn(x_idx,y_idx) = (4*pi*1j^(n_idx))*(bn*hankel_2(n_idx,k*r_Atl(y_idx),1))^(-1); x_idx = x_idx+1; end end end %% División % Seudo inversa de la matriz de los armónicos esféricos de los altavoces Y_decoder = pinv(Ynm_sw); Y_decoder2 = hn.'.*Y_decoder; q = Anm.'*Y_decoder2.'; %% Energia q_energia = sum(abs(q).^2); %% Target plana thetaRad = thetaRad - (pi/2); [x,y,z] = sph2cart(phiRad,thetaRad,r); p_pw = q_1*exp(1j.*((X.*k*x)+(Y.*k*y)+(Z.*k*z))); Xplot = X - origin_rcv(1); Yplot = Y - origin_rcv(2); Zplot = Z - origin_rcv(3); %% Expansion ondas esféricas OndE_Alt = 0; for ind_x = 1:L % Variación de cada eje de acuerdo a la ubicación de cada altavoz Xrsc = X - Sn(ind_x,1); Yrsc = Y - Sn(ind_x,2); Zrsc = Z - Sn(ind_x,3); Rrsc = sqrt(Xrsc.^2+Yrsc.^2+Zrsc.^2); OndE_Alt = OndE_Alt + ((q(ind_x)*exp(-1j*k.*Rrsc))./(4*pi.*Rrsc));
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 98
end %% Ubicación en Z del receptor t = round((origin_array(3)/domain(3))*length(z_domain)); %% Error de amplitud Epa = 20*log10(abs(OndE_Alt(:,:,t))./abs(p_pw(:,:,t))); %% Error de Amplitud Normalizado Enpa = 10*log10((abs(p_pw(:,:,t)- OndE_Alt(:,:,t))).^2./(abs(p_pw(:,:,t))).^2); %% Error de fase en Rad Ep = angle((p_pw(:,:,t).*conj(OndE_Alt(:,:,t)))./(abs(OndE_Alt(:,:,t)).*abs(p_pw(:,:,t)))); %% Ubicación receptor Rec = [-N/(2*k) -N/(2*k) 0]; %% Ajuste visualización r_lim = r_Shp + 0.5; %% Graficas Reconstrucción figure subplot(121) set(gca,'FontSize',16); pcolor(Xplot(:,:,t),Yplot(:,:,t),real(p_pw(:,:,t))) title('Campo Sonoro Teórico - PW','FontSize',24); axis equal; caxis([-1 1]); colormap jet shading interp; colorbar; set(gca, 'FontSize',16); xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); % Circulo de reconstrucción r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) % Circulo Altavoces r = r_Shp; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[1 0 1]) set(gca,'FontSize',26); subplot(122) hold on set(gca,'FontSize',16); pcolor(Xplot(:,:,t),Yplot(:,:,t),real(OndE_Alt(:,:,t))); title('Campo Sonoro Reconstruido - PW','FontSize',20); axis equal; caxis([-1 1]); colormap jet
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 99
shading interp; colorbar; set(gca, 'FontSize',16); xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); % Circulo de reconstrucción r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) % Circulo altavoces r = r_Shp; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[1 0 1]) set(gca,'FontSize',26); %Altavoces figure [xs,ys,zs] = sphere(20); xs = xs*r_Shp; ys = ys*r_Shp; zs = zs*r_Shp; mesh = surface(xs,ys,zs); set(mesh,'FaceAlpha',0.1,'FaceColor', 'k') hold on; sct = scatter3(Sn1(:,1),Sn1(:,2),Sn1(:,3),abs(q)*40,abs(q),'filled'); title('Distribución de Energía - SWE'); xlabel('x');ylabel('y');zlabel('z'); colorbar; grid; view(-45,45) axis('equal'); set(gca,'FontSize',16); % Altavoces + Receptor qdos = ones(1,64); figure [xs,ys,zs] = sphere(20); xs = xs*r_Shp; ys = ys*r_Shp; zs = zs*r_Shp; mesh = surface(xs - origin_rcv(1),ys - origin_rcv(2),zs - origin_rcv(3)); set(mesh,'FaceAlpha',0.1,'FaceColor', 'k') hold on; sct = scatter3(Sn(:,1),Sn(:,2),Sn(:,3),abs(qdos)*250,abs(qdos),'filled'); title('Arreglo de Altavoces','FontSize',16); xlabel('x');ylabel('y');zlabel('z'); axis('equal'); grid; view(-225,45) hold on; sct = scatter3(0,0,0,1*500,[1 0 0],'filled'); axis('equal'); set(gca,'FontSize',16);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 100
%% Gráfica Error Amplitud figure subplot(131) pcolor(Xplot(:,:,t),Yplot(:,:,t),Epa); title('Error Amplitud,';'dB - PW','FontSize',12); axis equal; caxis([-5 5]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',10); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); colorbar r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca, 'FontSize',20); %% Gráfica error de amplitud normalizado subplot(132) pcolor(Xplot(:,:,t),Yplot(:,:,t),Enpa) title('Error Normalizado,';'dB - PW','FontSize',12); axis equal; caxis([-30 10]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',10); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); colorbar theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca, 'FontSize',20); %% Gráfica error de Fase, Rad subplot(133) pcolor(Xplot(:,:,t),Yplot(:,:,t),Ep) title('Error de Fase,';'rad - PW','FontSize',12); axis equal; caxis([-3 3]); colormap jet shading interp; colorbar; xlabel('X (m)','FontSize',10); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca, 'FontSize',20);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 101
D.3 Código decodificador reconstrucción de una onda esférica por medio de una expansión
de ondas esféricas
clc; clear; close all; % Datos de entrada f = 250; %Frecuencia(Hz) k = (2*pi*f)/343; %Número de Onda q_1 = 1; %Ganancia Monopolo domain = [10;10;3]; %Dimensiones del dominio origin = [5;5;1.5]; %Posición 0,0,0 coor_rs = [5;4;1.5]; %Posición Onda Esférica origin_rcv = [0;0;0]; % Coordenadas centro de la expansión receptor N = 7; %Orden Ambisonics de 1 a 26 r_Shp = 2.5; %Radio Esféra res = 0.1; %Resolución MeshGrid % Coordenadas esféricas dirección de la onda [thetaRad, phiRad,r_s] = Cart2SphDM(coor_rs(1)-origin(1),coor_rs(2)-origin(2),coor_rs(3)-origin(3),0); % Armónicos Esféricos Onda Ynm_mon = Get_Shperical(N,thetaRad,phiRad).'; Ynm_mon = conj(Ynm_mon); %% Cambio de coordenadas altavoces [Sn1,L] = GenPA (N); Sn1 = Sn1*r_Shp; Sn = Sn1; % Desplazamiento de la esfera a nuestro rcv, la posición relativa Sn(:,1) = Sn(:,1) - origin_rcv(1); Sn(:,2) = Sn(:,2) - origin_rcv(2); Sn(:,3) = Sn(:,3) - origin_rcv(3); [theta_Atl, phi_Atl,r_Atl] = Cart2SphDM(Sn(:,1),Sn(:,2),Sn(:,3),0); %% Armónicos esféricos Altavoces Ynm_sw = Get_Shperical(N,theta_Atl, phi_Atl).'; Ynm_sw = conj(Ynm_sw); %% Hankel 2 orden Altavoces y monopolo n = (N+1)^2; hn_R = zeros (n,L); krs = k*r_s; kr_atl = k*r_Atl; for y_idx = 1:L x_idx = 1; for n_idx = 0:N for m_idx = -n_idx:1:n_idx hn_R(x_idx,y_idx) = (hankel_2(n_idx,r_s*k,1))*(hankel_2(n_idx,k*r_Atl(y_idx),1).^(-1)); x_idx = x_idx+1; end end end
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 102
%% Ganancias de los altavoces % Seudo inversa de la matriz de los armónicos esféricos de los altavoces Y_decoder = pinv(Ynm_sw); Y_decoder2 = hn_R.'.*Y_decoder; q = Y_decoder2*Ynm_mon; %% Energia q_energia = sum(abs(q).^2); %% Malla del dominio con el (0,0,0) en origen x_domain = (0:res:domain(1)); y_domain = (0:res:domain(2)); z_domain = (0:res:domain(3)); y_domain = fliplr(y_domain); [X,Y,Z] = meshgrid(x_domain-origin(1),y_domain-origin(2),z_domain-origin(3)); %% Malla para el monopolo con el (0,0,0) en coor_rs [X2,Y2,Z2] = meshgrid(x_domain-coor_rs(1),y_domain-coor_rs(2),z_domain-coor_rs(3)); %% Target esférica R = sqrt(X2.^2+Y2.^2+Z2.^2); OndE_Mon = (q_1*exp(-1j*k.*R))./(R); Xplot = X - origin_rcv(1); Yplot = Y - origin_rcv(2); Zplot = Z - origin_rcv(3); %% Expansion ondas esféricas OndE_Alt = 0; for ind_x = 1:L Xrsc = X - Sn(ind_x,1); Yrsc = Y - Sn(ind_x,2); Zrsc = Z - Sn(ind_x,3); Rrsc = sqrt(Xrsc.^2+Yrsc.^2+Zrsc.^2); OndE_Alt = OndE_Alt + (q(ind_x)*exp(-1j*k.*Rrsc))./(Rrsc); end %% Ubicación en Z del receptor t = round((origin(3)/domain(3))*length(z_domain)); %% Error de amplitud Epa = 20*log10(abs(OndE_Alt(:,:,t))./abs(OndE_Mon(:,:,t))); %% Error de Amplitud Normalizado Enpa = 10*log10((abs(OndE_Mon(:,:,t)- OndE_Alt(:,:,t))).^2./(abs(OndE_Mon(:,:,t))).^2); %% Error de fase en Rad Ep = angle((OndE_Mon(:,:,t).*conj(OndE_Alt(:,:,t)))./(abs(OndE_Alt(:,:,t)).*abs(OndE_Mon(:,:,t)))); %% Ajuste visualización
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 103
r_lim = r_Shp + 0.5; %% Graficas Reconstrucción figure subplot(121) pcolor(Xplot(:,:,t),Yplot(:,:,t),real(OndE_Mon(:,:,t))) shading interp; colormap(jet); view([0 90]); title('Campo Sonoro Teórico - SW'); xlabel('x(m)');ylabel('y(m)');zlabel('Presión'); caxis([-1 1]); colormap jet; colorbar; set(gca, 'FontSize',16) axis equal; xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); % Circulo de reconstrucción r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) % Circulo Altavoces r = r_Shp; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[1 0 1]) set(gca,'FontSize',26); subplot(122) pcolor(Xplot(:,:,t),Yplot(:,:,t),real(OndE_Alt(:,:,t))); axis equal; hold on shading interp; colormap(jet); view([0 90]); title('Campo Sonoro Reconstruido - SW'); xlabel('x(m)');ylabel('y(m)');zlabel('Presión'); caxis([-1 1]); colormap jet; colorbar; set(gca, 'FontSize',16) xlim([-r_lim , r_lim]); ylim([-r_lim , r_lim]); % Circulo de reconstrucción r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) % Circulo Altavoces r = r_Shp; xc = 0; yc = 0; theta = linspace(0,2*pi); x = r*cos(theta) + xc; y = r*sin(theta) + yc; hold on plot(x,y,'LineWidth',2,'color',[1 0 1]) set(gca,'FontSize',26);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 104
%% Altavoces figure [xs,ys,zs] = sphere(20); xs = xs*r_Shp; ys = ys*r_Shp; zs = zs*r_Shp; mesh = surface(xs,ys,zs); axis('equal'); set(mesh,'FaceAlpha',0.1,'FaceColor', 'k') hold on; sct = scatter3(Sn1(:,1),Sn1(:,2),Sn1(:,3),abs(q)*500,abs(q),'filled'); title('Distribución de Energía - SWE'); xlabel('x');ylabel('y');zlabel('z'); colorbar; grid; view(-45,45) axis('equal'); set(gca,'FontSize',16); % Altavoces trasladados qdos = ones(1,64); figure [xs,ys,zs] = sphere(20); xs = xs*r_Shp; ys = ys*r_Shp; zs = zs*r_Shp; mesh = surface(xs - origin_rcv(1),ys - origin_rcv(2),zs - origin_rcv(3)); set(mesh,'FaceAlpha',0.1,'FaceColor', 'k') hold on; sct = scatter3(Sn(:,1),Sn(:,2),Sn(:,3),abs(qdos)*250,abs(qdos),'filled'); title('Receptor en el Arreglo de Altavoces','FontSize',16); xlabel('x');ylabel('y');zlabel('z'); axis('equal');grid; view(-45,45) hold on; sct = scatter3(0,0,0,250,[1 0 0],'filled'); axis('equal'); set(gca,'FontSize',16); %% Gráfica Error Amplitud figure subplot(131) pcolor(Xplot(:,:,t),Yplot(:,:,t),Epa); title('Error Amplitud,';'dB - SW','FontSize',12); axis equal; caxis([-5 5]); colormap jet shading interp; colorbar; set(gca, 'FontSize',16); xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); colorbar r = N/k; xc = origin_rcv(1); yc = origin_rcv(2); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20);
ANÁLISIS DE ALGORITMOS DE DECODIFICACIÓN DE SISTEMAS AMBISONICS… 105
%% Gráfica error de amplitud normalizado subplot(132) pcolor(Xplot(:,:,t),Yplot(:,:,t),Enpa) title('Error Normalizado,';'dB - SW','FontSize',12); axis equal; caxis([-30 10]); colormap jet shading interp; colorbar; set(gca, 'FontSize',16); xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); colorbar theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20); %% Gráfica error de Fase, Rad subplot(133) pcolor(Xplot(:,:,t),Yplot(:,:,t),Ep) title('Error de Fase,';'rad - SW','FontSize',12); axis equal; caxis([-3 3]); colormap jet shading interp; colorbar; set(gca, 'FontSize',16); xlabel('X (m)','FontSize',16); ylabel('Y (m)','FontSize',16) xlim([-r_lim, r_lim]); ylim([-r_lim, r_lim]); theta = linspace(0,2*pi); x = r*cos(theta) - xc; y = r*sin(theta) - yc; hold on plot(x,y,'LineWidth',2,'color',[0 0 0]) set(gca,'FontSize',20);