Here is an example of MATLAB cross correlation of orange part with the whole pack of four chirps
One down chirp, one upchirp, down and then up again:
clear all close all
N=512; T=1; Nyquist_ratio = 8; f_sampling=N*T*Nyquist_ratio; Number_of_users_in_a_set=8; step=N/Number_of_users_in_a_set; t=linspace(0,T,f_sampling); count2=0 for count = 0:step:N-1 count2=count2+1; beta=(N-2*count)./(2*N*T*T);%(N/2)-count/1 if count<=round(N/2) PHI=beta.*(t.^4-((4/3).*(t.^3).*T)-(0.5.*(t.^2).*T.*T)); chirp_set(count2,:) = exp(i*pi*N*(((t+count*T/N).^2)+PHI)/(T*T)); TF_plot(count2,:) = N.*(t)./(T.*T) + count./T +N.*beta.*(t.*((2*t-T).^2-2*T*T))/(T*T); %rxSig =zeros(1,length(t)); end if count>round(N/2) PHI=beta.*(-(t.^4)+((8/3).*(t.^3).*T)-(1.5.*(t.^2).*T.*T)-(t.*T.*T.*T)); chirp_set(count2,:) = exp(i*pi*N*(((t+count*T/N).^2)+PHI)/(T*T)); TF_plot(count2,:) = N.*(t)./(T.*T) + count./T +N*beta.*((-t+T).*((2*t-T).^2-2*T*T))/(T*T); %rxSig =zeros(1,length(t)); end end r=chirp_set(1,:); CP = fliplr(chirp_set(1,1:1:512)); [a,b]=xcorr([CP,r,CP,r],CP) plot(b,abs(a))
|