%close all;clear all; more off; set (0,"defaultaxesfontname","Helvetica") tic % 1. case of ishort datasets % d=dir('./150719_gn3s_ishort.bin'); % case of ishort % x=read_short_binary(d(1).name,5e5);x=x(1:2:end)+i*x(2:2:end); % ishort % 2. case of interleaved char datasets % d=dir('./150719_gn3s_ichar.bin'); % case of interleaved char % f=fopen(d(1).name);x=fread(f,5e5,'int8');x=i*x(1:2:end)+x(2:2:end); % char % notice that since I put imag on top, the odd values are imag and even % are real % 3. case of 1-bit datasets d=dir('output_bit.bin'); f=fopen('output_bit.bin');x=fread(f,5e5,'ubit1'); k=find(x==0);x(k)=-1;x=x(1:2:end)+i*x(2:2:end); fs=8.183800; % MHz freq0=[28.3e3:500:48.4e3]; x=x(1:2e5); time=[0:1/fs/1e6:length(x)/fs/1e6]';time=time(1:end-1); for m=[1:31] a=cacode(m,fs/1.023); a=a-mean(a); l=1; m for freq=freq0 % run through possible frequency offsets mysine=exp(j*2*pi*(freq)*time); xx=x.*mysine; % frequency shift the signal xx=xx-mean(xx); [u(l,m),v(l,m)]=max(abs(xcorr(a,xx))); % check for cross correlation max. l=l+1; end end % figure imagesc([1:31],freq0/1e3,abs(u)) xlabel('PRN') ylabel('frequency (kHz)') title(d(1).name) eval(['print -depsc ',d(1).name,'.eps']); %plot(freq0,abs(u(:,m)))