kopia lustrzana https://github.com/cariboulabs/cariboulite
freq conv octave
rodzic
495234d3cf
commit
0105e1baf0
|
@ -0,0 +1,20 @@
|
|||
function ref = find_ref_freq(f)
|
||||
f_rf_mod_32 = f / 32e6;
|
||||
f_rf_mod_26 = f / 26e6;
|
||||
f_rf_mod_32 = f_rf_mod_32 - floor(f_rf_mod_32);
|
||||
f_rf_mod_26 = f_rf_mod_26 - floor(f_rf_mod_26);
|
||||
f_rf_mod_32 = f_rf_mod_32 * 32e6;
|
||||
f_rf_mod_26 = f_rf_mod_26 * 26e6;
|
||||
if (f_rf_mod_32 > 16e6)
|
||||
f_rf_mod_32 = 32e6 - f_rf_mod_32;
|
||||
endif
|
||||
if (f_rf_mod_26 > 13e6)
|
||||
f_rf_mod_26 = 26e6 - f_rf_mod_26;
|
||||
endif
|
||||
|
||||
if f_rf_mod_32 > f_rf_mod_26
|
||||
ref = 32e6;
|
||||
else
|
||||
ref = 26e6;
|
||||
endif
|
||||
endfunction
|
|
@ -0,0 +1,48 @@
|
|||
clc;
|
||||
close all;
|
||||
clear;
|
||||
|
||||
CARIBOULITE_6G_MIN = 1e6;
|
||||
CARIBOULITE_6G_MAX = 6000e6;
|
||||
CARIBOULITE_MIN_LO = 85e6;
|
||||
CARIBOULITE_MAX_LO = 4200e6;
|
||||
CARIBOULITE_2G4_MIN = 2385e6;
|
||||
CARIBOULITE_2G4_MAX = 2495e6;
|
||||
CARIBOULITE_S1G_MIN1 = 377e6;
|
||||
CARIBOULITE_S1G_MAX1 = 530e6;
|
||||
CARIBOULITE_S1G_MIN2 = 779e6;
|
||||
CARIBOULITE_S1G_MAX2 = 1020e6;
|
||||
|
||||
f_vec = 1e6:1e6:6000e6;
|
||||
ref_vec = f_vec * 0;
|
||||
mod_vec = f_vec * 0;
|
||||
lo_vec = f_vec * 0;
|
||||
rf_vec = f_vec * 0;
|
||||
|
||||
for ii=1:length(f_vec)
|
||||
if f_vec(ii)>=CARIBOULITE_6G_MIN & f_vec(ii)<CARIBOULITE_2G4_MIN
|
||||
ref_vec(ii) = find_ref_freq(f_vec(ii));
|
||||
mod_vec(ii) = CARIBOULITE_2G4_MAX;
|
||||
lo_vec(ii) = mod_vec(ii) - f_vec(ii);
|
||||
rf_vec(ii) = mod_vec(ii) - lo_vec(ii);
|
||||
elseif f_vec(ii)>=CARIBOULITE_2G4_MIN & f_vec(ii)<CARIBOULITE_2G4_MAX
|
||||
lo_vec(ii) = 0;
|
||||
mod_vec(ii) = f_vec(ii);
|
||||
rf_vec(ii) = mod_vec(ii);
|
||||
elseif f_vec(ii)>=CARIBOULITE_2G4_MAX & f_vec(ii)<=CARIBOULITE_6G_MAX
|
||||
ref_vec(ii) = find_ref_freq(f_vec(ii));
|
||||
mod_vec(ii) = CARIBOULITE_2G4_MIN;
|
||||
lo_vec(ii) = f_vec(ii) - mod_vec(ii);
|
||||
rf_vec(ii) = mod_vec(ii) + lo_vec(ii);
|
||||
endif
|
||||
endfor
|
||||
|
||||
figure;
|
||||
subplot(4,1,1);
|
||||
plot(f_vec / 1e6, ref_vec / 1e6); xlabel('Frequency [MHz]'); ylabel('Ref Freq [Mhz]'); title('Ref Frequency'); axis tight;
|
||||
subplot(4,1,2);
|
||||
plot(f_vec / 1e6, mod_vec / 1e6); xlabel('Frequency [MHz]'); ylabel('Modem Freq [Mhz]'); title('Chosen Modem Frequency [MHz]'); axis tight;
|
||||
subplot(4,1,3);
|
||||
plot(f_vec / 1e6, lo_vec / 1e6); xlabel('Frequency [MHz]'); ylabel('LO Freq [Mhz]'); title('LO Frequency [MHz]'); axis tight;
|
||||
subplot(4,1,4);
|
||||
plot(f_vec / 1e6, rf_vec / 1e6); xlabel('Frequency [MHz]'); ylabel('RF Freq [Mhz]'); title('RF Frequency [MHz]'); axis tight;
|
Ładowanie…
Reference in New Issue