[Physics] Why is the Baryon Acoustic Oscillations (BAO) calculated like this

baocosmologyspace-expansion

In the Wikipedia, it says that, when calculating the Baryon Acoustic Oscillations (sound horizon), we measure $150\text{ Mpc}$, saying that the sound horizon is the "Physical Length of sound horizon at today". Then it says that, when correcting for expansion, the physical length must be calculated by:

x(physical length of sound horizon) = a(scale factor) * X(comoving distance of sound horizon at drag epoch) 150Mpc(today)=1*150

(I just copied Wikipedia's text, that's why I don't format it). I have two doubts. The first one is, which os those distances is the one you measure, the $150\text{ Mpc}$?

The second one, why is the comoving distance of sound horizon set to $1$? I see it multiplies three terms. Is that right? So if I were to calculate the angular distance in the sky those oscillations have, I should do $\theta = \frac{150}{d_A}$, being $d_A$ the angular distance of the redshift at which we see it? $d_A=r/(1+z)$, being $r$ the distance.

Am I right there?

EDIT:
In view of the poor quality of that wikipedia section (mentioned by @ChrisWhite), I will rephrase the question independently of that section.

We know the BAO oscillations for the sound horizon happen at about $150\text{ Mpc}$. Given that, if I want to calculate the angle in the sky that covers, and if those oscillations are known to be given at a redshift $z$, then, which would be the proper way to calculate that angle?

I know it must be:

$$\theta \approx = \frac{d}{d_A}$$

Where $d_A$ is the angular distance, that can be calculated via $d_A=\frac{1}{1+z}\int_0^z \frac{dz'}{H(z')}$, begin $H(z')$ the inverse Hubble radio at that given redshift. My doubt is whether I should use $d=150Mpc$, or if I should multiply that with the scale factor $a$ to transform it into a physical distance.

Best Answer

The BAOs became imprinted in the background density of the Universe at the time of decoupling, which happened at the same time as recombination, i.e. when the Universe was a factor $z \sim 1100$ smaller. At this time, they had a characteristing wavelength given by the speed of sound in the plasma at that time. This happened to be $\lambda_{\mathrm{BAO},\,z=1100} \sim 0.14 \,\mathrm{Mpc}$ in physical length, i.e. what you would measure if you were there. At this point, the waves got "frozen" in the gas so that it was compressed and rarefied on these scales, but as the Universe expanded, these compressions grew proportionally.

Now when we, today, measure the BAOs, we observe them at various redshifts and with correspondingly different wavelengths. But multiplying the physical length by $(1+z)$, where $z$ is the redshift at which we observe them, we can convert to comoving lengths so that the expansion is factored out, yielding the same result at all $z$, namely ~150 Mpc. Because by definition comoving and physical coordinates coincide today, this is the wavelength that the BAOs have today.

The angular diameter distance $d_\mathrm{A}$ is defined as the distance that relates the physical, not comoving, extend $D$ of an object and the angle $\theta$ covered on the sky by that object: $\theta = D/d_\mathrm{A}$.

For instance, the angle covered by a BAO at a redshift of, say, $z=2$ can be calculated in Python as:

from numpy import pi
from astropy.cosmology import Planck15        # Use a Planck 2016 cosmology
from astropy import units as u
z     = 2
dA    = Planck15.angular_diameter_distance(z) # Angular diameter distance
d_com = 150 * u.Mpc                           # Comoving size of the BAOs
d_phy = d_com / (1+z)                         # Physical size of BAO at z
theta = d_phy / dA * u.rad                    # Angle covered by BAO in radians
print('BAO size in degrees at z = '+str(z)+': ', theta.to(u.deg))

giving $1.6^\circ$ (at $z=2$).

Related Question