Table update

pull/94/head
erikkaashoek 2 years ago
parent ab30630bb2
commit bacea5da86

@ -1143,12 +1143,12 @@ config_t config = {
const freq_t v5_2_correction_frequency[CORRECTION_SIZE][CORRECTION_POINTS]= const freq_t v5_2_correction_frequency[CORRECTION_SIZE][CORRECTION_POINTS]=
{ {
/* low */ { 10000, 50000, 200000, 400000, 900000, 20000000, 30000000, 100000000, 160000000, 230000000, 290000000, 400000000, 520000000, 600000000, 660000000, 740000000, 790000000, 810000000, 820000000, 830000000}, /* low */ { 100000, 400000, 1000000, 80000000, 180000000, 260000000, 270000000, 300000000, 320000000, 390000000, 490000000, 660000000, 680000000, 690000000, 750000000, 790000000, 800000000, 810000000, 820000000, 830000000},
/* low lna */ { 10000, 30000, 80000, 300000, 400000, 800000, 1000000, 10000000, 60000000, 120000000, 270000000, 420000000, 550000000, 600000000, 680000000, 750000000, 770000000, 800000000, 820000000, 830000000}, /* low lna */ { 100000, 300000, 2000000, 8000000, 20000000, 40000000, 70000000, 200000000, 230000000, 250000000, 260000000, 270000000, 300000000, 420000000, 540000000, 740000000, 790000000, 810000000, 820000000, 830000000},
/* ultra */ { 30000000, 700000000, 980000000, 1440000000, 1590000000, 1900000000, 2810000000, 3340000000, 3390000000, 3930000000, 4230000000, 4300000000, 4340000000, 4810000000, 5070000000, 5110000000, 5300000000, 5510000000, 5850000000, 6000000000}, /* ultra */ { 30000000, 700000000, 980000000, 1910000000, 2550000000, 2800000000, 2810000000, 3020000000, 3120000000, 3430000000, 3750000000, 4330000000, 4530000000, 5490000000, 5630000000, 5960000000, 6430000000, 6820000000, 7290000000, 7400000000},
/* ultra lna */ { 30000000, 700000000, 770000000, 990000000, 1230000000, 2390000000, 2800000000, 2810000000, 3150000000, 3210000000, 3810000000, 4060000000, 4180000000, 4230000000, 4300000000, 4400000000, 4490000000, 4960000000, 5070000000, 6000000000}, /* ultra lna */ { 30000000, 700000000, 1130000000, 1840000000, 2490000000, 2800000000, 2810000000, 3120000000, 3500000000, 3890000000, 4410000000, 4610000000, 4940000000, 5450000000, 6110000000, 6550000000, 6610000000, 7150000000, 7280000000, 7400000000},
/* direct */ { 140000000, 150000000, 160000000, 180000000, 280000000, 300000000, 380000000, 390000000, 410000000, 430000000, 490000000, 520000000, 560000000, 830000000, 840000000, 860000000, 870000000, 960000000, 1040000000, 1130000000}, /* direct */ { 140000000, 150000000, 160000000, 180000000, 280000000, 300000000, 320000000, 380000000, 400000000, 420000000, 480000000, 510000000, 560000000, 823000000, 830000000, 850000000, 890000000, 950000000, 1090000000, 1120000000},
/* direct lna */ { 140000000, 150000000, 170000000, 180000000, 280000000, 300000000, 340000000, 360000000, 500000000, 560000000, 830000000, 840000000, 860000000, 870000000, 950000000, 1010000000, 1030000000, 1040000000, 1050000000, 1130000000, }, /* direct lna */ { 140000000, 150000000, 170000000, 180000000, 280000000, 290000000, 310000000, 370000000, 420000000, 440000000, 460000000, 560000000, 823000000, 830000000, 850000000, 890000000, 950000000, 1040000000, 1090000000, 1120000000, },
/* out */ { 30000, 100000, 200000, 600000, 5000000, 10000000, 110000000, 120000000, 240000000, 300000000, 400000000, 490000000, 650000000, 690000000, 750000000, 780000000, 800000000, 810000000, 823000000, 830000000, }, /* out */ { 30000, 100000, 200000, 600000, 5000000, 10000000, 110000000, 120000000, 240000000, 300000000, 400000000, 490000000, 650000000, 690000000, 750000000, 780000000, 800000000, 810000000, 823000000, 830000000, },
/* direct */ { 500000000, 823000000, 830000000, 850000000, 860000000, 870000000, 880000000, 890000000, 900000000, 910000000, 920000000, 930000000, 1030000000, 1040000000, 1050000000, 1060000000, 1080000000, 1100000000, 1120000000, 1130000000, }, /* direct */ { 500000000, 823000000, 830000000, 850000000, 860000000, 870000000, 880000000, 890000000, 900000000, 910000000, 920000000, 930000000, 1030000000, 1040000000, 1050000000, 1060000000, 1080000000, 1100000000, 1120000000, 1130000000, },
/* adf */ { 500000000, 1130000000, 1240000000, 1400000000, 1500000000, 1560000000, 1610000000, 1850000000, 1970000000, 2210000000, 2350000000, 2600000000, 2800000000, 2810000000, 2940000000, 3000000000, 3250000000, 3480000000, 3830000000, 4400000000, }, /* adf */ { 500000000, 1130000000, 1240000000, 1400000000, 1500000000, 1560000000, 1610000000, 1850000000, 1970000000, 2210000000, 2350000000, 2600000000, 2800000000, 2810000000, 2940000000, 3000000000, 3250000000, 3480000000, 3830000000, 4400000000, },
@ -1157,12 +1157,12 @@ const freq_t v5_2_correction_frequency[CORRECTION_SIZE][CORRECTION_POINTS]=
const float v5_2_correction_value[CORRECTION_SIZE][CORRECTION_POINTS]= const float v5_2_correction_value[CORRECTION_SIZE][CORRECTION_POINTS]=
{ {
/* low */ { 12.2, 7.57, 4.46, 2.17, 0.36, -0.36, 0, -0.84, -0.39, 0.5, 0.25, 1, 0.08, 0.48, 0.37, 1.53, 2.98, 4.74, 6.25, 8.73, }, /* low */ { 1.88, 0.25, 0.26, 0.1, -0.9, -0.73, -0.95, -0.79, -0.3, 0.07, -0.97, -1.02, -0.59, -0.07, 0.13, 2.04, 3.1, 4.02, 7.48, 13.7, },
/* low lna */ { 11, 8.54, 6.32, 4.46, 3.18, 1.02, 0.69, 0.2, -0.43, -0.41, 0.58, 0.66, -0.08, 0.58, 0.77, 1.7, 1.77, 3.55, 5.51, 7.99, }, /* low lna */ { 5.28, 0.85, -2.91, -3.09, -0.68, 1.58, 2.33, 2.93, 6.23, 8.61, 7.55, 5.9, 4.34, 4.55, 3.08, 4.7, 6.86, 9.37, 12.35, 18.82, },
/* ultra */ { 0, 0.58, 1.7, 4.53, 4.46, 3.23, 4.64, 6.29, 5.67, 7.03, 8.78, 7.04, 8.25, 11.42, 11.63, 13.29, 12.38, 12.58, 15.75, 15.9, }, /* ultra */ { -0.35, -0.8, -0.87, 0.35, 1.39, 1.07, 2.01, 3.06, 2.22, 3.65, 4.72, 5.45, 8.3, 9.03, 11.43, 11.5, 14.41, 20.05, 30.77, 31.52, },
/* ultra lna */ { 0, 0.49, 0.52, 1.26, 3.13, 2.68, 2.68, 3.45, 4.7, 6.2, 8.49, 11.54, 13.51, 15.82, 15.82, 18.66, 19.41, 22.6, 22.8, 28.1, }, /* ultra lna */ { -0.1, 3.86, 4.94, 5.06, 7.32, 6.16, 7.1, 6.96, 10.18, 10.23, 12.36, 12.35, 14.77, 13.75, 20.39, 18.23, 18.74, 33.83, 36.46, 37.46, },
/* direct */ { 5.12, 4.22, 2.41, 0, -8.3, -9.59, -13.55, -14.09, -15.14, -15.66, -18.37, -19.29, -21.12, -28.75, -29.37, -28.55, -29.41, -27.8, -26.21, -23.72, }, /* direct */ { 3.39, 2.42, 0.95, -2.02, -10.09, -10.69, -12.27, -15.56, -16.81, -17.04, -20.22, -21.04, -23.22, -31.68, -31.68, -31.78, -31.52, -30.48, -27.36, -26.44, },
/* direct lna */ { 4.3, 3.31, 1.69, 0, -10.15, -11.7, -13.87, -14.84, -20.95, -23.28, -30.7, -30.97, -30.8, -31.32, -30.35, -29.25, -28.19, -28.39, -28.02, -25.85, }, /* direct lna */ { 0.17, -1.96, -3.48, -4.46, -10.47, -12.51, -13.53, -17.12, -20.01, -20.52, -22.43, -26.13, -33.96, -34.05, -34.19, -34.12, -33.02, -30.6, -29.48, -28.66, },
/* out */ { 4.67, 1.06, -0.8, -2.53, -4.01, -4.16, -4.57, -4.67, -3.57, -3.42, -2.95, -3.52, -3.4, -2.96, -2.11, -1.1, 0.02, 0.96, 2.86, 4.87, }, /* out */ { 4.67, 1.06, -0.8, -2.53, -4.01, -4.16, -4.57, -4.67, -3.57, -3.42, -2.95, -3.52, -3.4, -2.96, -2.11, -1.1, 0.02, 0.96, 2.86, 4.87, },
/* direct */ { -7.4, -3.63, -3.52, -3.35, -3.22, -3.1, -2.99, -2.9, -2.79, -2.62, -2.51, -2.47, -1.14, -1.02, -0.87, -0.77, -0.38, -0.22, 0.04, 0.22, }, /* direct */ { -7.4, -3.63, -3.52, -3.35, -3.22, -3.1, -2.99, -2.9, -2.79, -2.62, -2.51, -2.47, -1.14, -1.02, -0.87, -0.77, -0.38, -0.22, 0.04, 0.22, },
/* adf */ { -1.05, -0.3, 2.28, 6.72, 8.44, 8.97, 8.96, 8.5, 8.02, 7.74, 8.48, 7.73, 6.22, 5.33, 3.38, 3.11, 3.12, 5.15, 9.5, 11.12, }, /* adf */ { -1.05, -0.3, 2.28, 6.72, 8.44, 8.97, 8.96, 8.5, 8.02, 7.74, 8.48, 7.73, 6.22, 5.33, 3.38, 3.11, 3.12, 5.15, 9.5, 11.12, },
@ -2956,7 +2956,7 @@ int main(void)
if (max2871) { if (max2871) {
ULTRA_MAX_FREQ = 7250000000ULL + config.overclock; // Start of harmonic mode ULTRA_MAX_FREQ = 7250000000ULL + config.overclock; // Start of harmonic mode
MAX_LO_FREQ = 6300000000ULL + config.overclock; MAX_LO_FREQ = 6300000000ULL + config.overclock;
MAX_ABOVE_IF_FREQ = 4500000000ULL + config.overclock; // Range to use for below IF MAX_ABOVE_IF_FREQ = 4470000000ULL + config.overclock; // Range to use for below IF
MIN_BELOW_IF_FREQ = 2310000000ULL + config.overclock; // Range to use for below IF MIN_BELOW_IF_FREQ = 2310000000ULL + config.overclock; // Range to use for below IF
memcpy(config.correction_frequency, v5_2_correction_frequency, sizeof(config.correction_frequency)); memcpy(config.correction_frequency, v5_2_correction_frequency, sizeof(config.correction_frequency));
memcpy(config.correction_value, v5_2_correction_value, sizeof(config.correction_value)); memcpy(config.correction_value, v5_2_correction_value, sizeof(config.correction_value));
@ -2977,7 +2977,7 @@ int main(void)
if (max2871) { if (max2871) {
ULTRA_MAX_FREQ = 7250000000ULL + config.overclock; // Start of harmonic mode ULTRA_MAX_FREQ = 7250000000ULL + config.overclock; // Start of harmonic mode
MAX_LO_FREQ = 6300000000ULL + config.overclock; MAX_LO_FREQ = 6300000000ULL + config.overclock;
MAX_ABOVE_IF_FREQ = 4500000000ULL + config.overclock; // Range to use for below IF MAX_ABOVE_IF_FREQ = 4470000000ULL + config.overclock; // Range to use for below IF
MIN_BELOW_IF_FREQ = 2310000000ULL + config.overclock; // Range to use for below IF MIN_BELOW_IF_FREQ = 2310000000ULL + config.overclock; // Range to use for below IF
} else { } else {
ULTRA_MAX_FREQ = 5340000000ULL + config.overclock; // Start of harmonic mode ULTRA_MAX_FREQ = 5340000000ULL + config.overclock; // Start of harmonic mode

@ -27,8 +27,8 @@
#pragma GCC optimize ("Os") #pragma GCC optimize ("Os")
#endif #endif
#if 0 #if 1
#define TRACE(X) { DAC->DHR12R1 = (X*400); } // Enable for realtime tracing #define TRACE(X) { DAC->DHR12R1 =(uint32_t) ((X)*400); } // Enable for realtime tracing
#else #else
#define TRACE(X) // { DAC->DHR12R1 = (X*400); } // Enable for realtime tracing #define TRACE(X) // { DAC->DHR12R1 = (X*400); } // Enable for realtime tracing
#endif #endif
@ -3645,7 +3645,7 @@ pureRSSI_t perform(bool break_on_operation, int i, freq_t f, int tracking) /
TRACE(0); TRACE(0);
// --------------------------------- Pulse at start of low output sweep -------------------------- // --------------------------------- Pulse at start of low output sweep --------------------------
if ((setting.mode == M_GENLOW || (setting.pulse && setting.mode == M_LOW)) && ( setting.frequency_step != 0 || setting.level_sweep != 0.0)) {// pulse high out if ((setting.mode == M_GENLOW && ( setting.frequency_step != 0 || setting.level_sweep != 0.0)) || (setting.mode == M_LOW && setting.pulse)) {// pulse high out
#ifdef __SI4432__ #ifdef __SI4432__
SI4432_Sel = SI4432_LO ; SI4432_Sel = SI4432_LO ;
#endif #endif
@ -4373,7 +4373,7 @@ again: // Spur redu
} }
} }
#endif // __ADF4351__ #endif // __ADF4351__
TRACE(8); TRACE(2.5);
if (setting.harmonic && lf > ( setting.mode == M_GENLOW ? ULTRA_MAX_FREQ + 60000000:ULTRA_MAX_FREQ) ) { if (setting.harmonic && lf > ( setting.mode == M_GENLOW ? ULTRA_MAX_FREQ + 60000000:ULTRA_MAX_FREQ) ) {
target_f /= setting.harmonic; target_f /= setting.harmonic;
LO_harmonic = true; LO_harmonic = true;
@ -4465,7 +4465,7 @@ again: // Spur redu
#endif #endif
} // ----------------- LO's set -------------------------- } // ----------------- LO's set --------------------------
TRACE(8) TRACE(2.5)
#ifdef __MCU_CLOCK_SHIFT__ #ifdef __MCU_CLOCK_SHIFT__
if (setting.mode == M_LOW && !in_selftest) { // Avoid 48MHz spur if (setting.mode == M_LOW && !in_selftest) { // Avoid 48MHz spur
int set_below = false; int set_below = false;
@ -4777,7 +4777,7 @@ again: // Spur redu
} }
} }
} }
TRACE(8); TRACE(5.5);
my_microsecond_delay(my_step_delay); my_microsecond_delay(my_step_delay);
ADF4351_frequency_changed = false; ADF4351_frequency_changed = false;
SI4463_frequency_changed = false; SI4463_frequency_changed = false;
@ -7653,6 +7653,11 @@ void calibrate(void)
#ifdef TINYSA4 #ifdef TINYSA4
int old_ultra = config.ultra; int old_ultra = config.ultra;
config.ultra = true; config.ultra = true;
freq_t old_correction = config.setting_frequency_30mhz;
config.setting_frequency_30mhz = 3000000000;
ADF4351_recalculate_PFDRFout();
dirty = true;
// setting.auto_IF = true; // set in selftest // setting.auto_IF = true; // set in selftest
// setting.frequency_IF = config.frequency_IF1; // set in selftest // setting.frequency_IF = config.frequency_IF1; // set in selftest
float direct_level=0.0; float direct_level=0.0;
@ -7688,18 +7693,30 @@ void calibrate(void)
setting.rbw_x10 = 3; setting.rbw_x10 = 3;
test_path = 3; // Ultra lna path test_path = 3; // Ultra lna path
force_signal_path = true; force_signal_path = true;
set_reflevel(-95); // set_reflevel(-95);
} else if (i == 4) {
// set_sweep_points(51);
set_sweep_frequency(ST_SPAN, 1000);
set_RBW(100);
// setting.rbw_x10 = 3;
test_path = 3; // Ultra lna path
force_signal_path = true;
// set_reflevel(-95);
} else if (i <= 1) { } else if (i <= 1) {
if (i == 1) if (i == 1)
set_RBW(8500); set_RBW(8500);
set_refer_output(5); // 2MHz set_refer_output(5); // 2MHz
setting.spur_removal = S_OFF; setting.spur_removal = S_OFF;
} else { } else {
set_reflevel(-70); // set_reflevel(-70);
set_refer_output(0); // 30MHz set_refer_output(0); // 30MHz
setting.spur_removal = S_AUTO_OFF; setting.spur_removal = S_AUTO_OFF;
} }
test_acquire(TEST_JUMP); // Acquire test test_acquire(TEST_JUMP); // Acquire test
set_reflevel(actual_t[sweep_points/3]+5);
plot_into_index(measured);
redraw_request |= REDRAW_AREA | REDRAW_CAL_STATUS;
draw_all(TRUE);
set_jump_config(i, get_jump_config(i) + measure_jump(i)); set_jump_config(i, get_jump_config(i) + measure_jump(i));
calibration_busy(); calibration_busy();
chThdSleepMilliseconds(500); chThdSleepMilliseconds(500);
@ -7878,6 +7895,7 @@ low_level:
setting.below_IF = S_AUTO_OFF; setting.below_IF = S_AUTO_OFF;
in_calibration = false; in_calibration = false;
#ifdef TINYSA4 #ifdef TINYSA4
config.setting_frequency_30mhz = old_correction;
config.ultra = old_ultra; config.ultra = old_ultra;
#endif #endif

Loading…
Cancel
Save

Powered by TurnKey Linux.