Files
openairinterface5g/targets/PROJECTS/LOCALIZATION/phasenoise.m
T
guibene 84fb51d88c WHERE2 measurements
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4306 818b1a75-f10b-46b9-bf7c-635c3b92a50f
2013-10-30 14:40:22 +00:00

50 lines
911 B
Matlab

card=0;
s = oarf_get_frame(card);
%s=s-0.99999*mean(s(:,2));
sig0 = s(:,1);
sig1 = s(:,2);
#sig0 = s(5000:end,1); % first channel
#sig1 = s(5000:end,2); % 2nd channel
bw=7.68e6;
spec = abs(fft(sig1)).^2;
%[a,b] = max(spec(2:end)); b=b+1;
[a,b] = max(spec);
freq = (b-1)*bw/length(sig0);
L= 1000;
W = 1;
offset_vec = (0:L-1)*((2*W)+1);
W2 = 1+(2*W);
window_vec = (-W : W);
pn = zeros(1,(2*L) - 1);
for i = 1:L,
pn(i+L-1) = sum(spec(offset_vec(i) + b + window_vec));
end
for i = 2:L,
pn(L-i+1) = sum(spec(-offset_vec(i) + b + window_vec));
end
pn_2 = 10*log10(pn / pn(L)) - 10*log10(W2*bw/length(sig0));
f = ((-L+1):(L-1))*W2*bw/length(sig0);
ylabel('dBc/Hz')
xlabel("f_offset (Hz)")
title("Phase Noise @ IQ output for Fc = 1912.6 + Fs/4 MHz CW input at antenna")
semilogx(f(L:(2*L - 1)),pn_2(L:(2*L -1)))
grid on
axis([1e2 100e3 -90 -30]);
sum(pn*(f(2)-f(1)))
signal_amp = 10*log10(pn(L))