The main hypothesis is that matter distribution in a static universe in a static pattern is sufficient to produce the observed CMB anisotropy patterns (that has been used to justify the entire Inflation/Big Bang model). The exercise here is not to fit the data exactly but to produce a simple simulation model of galaxy distributions on a rectangle of latitudes/longitudes and graph the frequency distributions in the same way as the CMB anisotropy graph (using spherical harmonics coefficients) and note the pattern of peaks. In order to get a computationally tractable problem, we consider a grid of 100 by 100. We use the Cox model to distribute galaxies: choose points randomly according to a Poisson distribution and then replace the points by a line segment with size chosen from an exponential distribution with a rotation angle chosen uniformly on the circle.
pkg load statistics pkg load gsl pkg load image global q0 q0=100 function pts=fillPoints( A, B) if isnull(B), return endif dx = B(1)-A(1); dy = B(2)-A(2); pts =; for delta = 0:0.001:1, pts = [pts;round(A(1)+dx*delta),round(A(2)+dy*delta)]; endfor pts=unique(pts,"rows"); endfunction g1 = poissrnd(100,q0,q0); g2 = 0; g = g1+g2; h=g; # choose a random angle and draw a line proportional to mass alpha = 1.7 for k=1:q0, for m=1:q0, if h(k,m) > 0, mass = exprnd(1)*2; theta = unifrnd(0,1)*2*pi; ptx = mass*cos(theta); pty = mass*sin(theta); fillPts = fillPoints( [-ptx,-pty],[ptx,pty] ); if length(fillPts)>0, for r=1:rows(fillPts), a=fillPts(r,1); b=fillPts(r,2); if abs(a)>0 && abs(b)>0 && k+a>1 && m+b>1 && k+a<q0 && m+b<q0, g(k+a,m+b) = g(k+a,m+b)+h(k,m); endif endfor disp([k,m,g(k,m)]) fflush(stdout) endif endif endfor endfor g=imsmooth(g,"Gaussian",2,2); sum(sum(g)) #g = (g-min(min(g))); g=g/sum(sum(g)); g=g*100/max(max(g)); g=g-mean(mean(g)); save g.mat g; # value at a spherical harmonic function v=sphCoeff( l, g) global q0; v = 0; for j=1:q0, for k=1:q0, w1 = cos(2*pi*j/q0); w2 = cos(pi*k/q0); x = gsl_sf_legendre_array( 1,l, w1, -1 ); fnval = mean(x*w2); if ~isnan(fnval*g(j,k)), v = v + fnval*g(j,k); endif endfor endfor disp([l,v]) fflush(stdout) endfunction function v=sumSphCoeff( l, g) v=sphCoeff(l,g); v=abs(v)^2 endfunction valsByL = zeros(1,100); for k=2:30, p=k valsByL(1,k)=sqrt(p*(p+1))*sumSphCoeff(p,g); endfor plot( 2:30, valsByL(2:30));
The graph has a sequence of peaks that is qualitatively quite similar to the observed anisotropy of the CMB.
Actual CMB anisotropies have peaks at much higher frequencies that in principle can be matched by a larger scale simulation. What is clear is that the qualitative pattern of relative heights of peaks can occur from the the mass/galaxy distributions alone in a static universe. The mechanism for the CMB anisotropy are gravitational scattering and the gravitational redshifts due to matter.
So the picture that makes the most sense is a static universe with static distribution of matter. What is missing from our simulation to the actual data is the use of actual distribution of matter to determine the anisotropy.
The major issue is that the Standard Model is making the wrong deduction that the matter in the universe was CAUSED by anisotropy in the CMB which has some primordial existence. Much more sensible is the opposite conclusion that the CMB is nothing other than some thermal equilibrium in a static universe and the matter distribution perturbs it. This is an explanation that is far more conservative and parsimonious. There are no deep secrets of origin of the universe in the CMB. The universe is a static steady state system which produces the CMB through starlight. In fact, there need have been no difference in temperature from 3K in the past at all.