diff --git a/docs/sims/find_ref_freq.m b/docs/sims/find_ref_freq.m new file mode 100644 index 0000000..efb2fd4 --- /dev/null +++ b/docs/sims/find_ref_freq.m @@ -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 \ No newline at end of file diff --git a/docs/sims/freq_gen.m b/docs/sims/freq_gen.m new file mode 100644 index 0000000..461d948 --- /dev/null +++ b/docs/sims/freq_gen.m @@ -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 & 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; \ No newline at end of file