@@ -224,9 +224,37 @@ void adf4350_update(freqHz_t freqHz) {
224
224
synthesizers::adf4350_set (adf4350_rx, freqHz + lo_freq, adf4350_freqStep);
225
225
}
226
226
227
+ // automatically set IF frequency depending on rf frequency and board parameters
228
+ void updateIFrequency (freqHz_t txFreqHz) {
229
+ // adf4350 freq step and thus IF frequency must be a divisor of the crystal frequency
230
+ if (xtalFreqHz == 20000000 || xtalFreqHz == 40000000 ) {
231
+ // 6.25/12.5kHz IF
232
+ if (txFreqHz >= 100000 ) {
233
+ lo_freq = 12500 ;
234
+ adf4350_freqStep = 12500 ;
235
+ vnaMeasurement.setCorrelationTable (sinROM24x2, 48 );
236
+ } else {
237
+ lo_freq = 6250 ;
238
+ adf4350_freqStep = 6250 ;
239
+ vnaMeasurement.setCorrelationTable (sinROM48x1, 48 );
240
+ }
241
+ } else {
242
+ // 6.0/12.0kHz IF
243
+ if (txFreqHz >= 100000 ) {
244
+ lo_freq = 12000 ;
245
+ adf4350_freqStep = 12000 ;
246
+ vnaMeasurement.setCorrelationTable (sinROM25x2, 50 );
247
+ } else {
248
+ lo_freq = 6000 ;
249
+ adf4350_freqStep = 6000 ;
250
+ vnaMeasurement.setCorrelationTable (sinROM50x1, 50 );
251
+ }
252
+ }
253
+ }
227
254
228
255
// set the measurement frequency including setting the tx and rx synthesizers
229
256
void setFrequency (freqHz_t freqHz) {
257
+ updateIFrequency (freqHz);
230
258
if (freqHz > 2500000000 )
231
259
rfsw (RFSW_BBGAIN, RFSW_BBGAIN_GAIN (2 ));
232
260
else if (freqHz > 140000000 )
@@ -802,18 +830,6 @@ void measurement_setup() {
802
830
vnaMeasurement.nPeriods = MEASUREMENT_NPERIODS_NORMAL;
803
831
vnaMeasurement.init ();
804
832
805
- // adf4350 freq step and thus IF frequency must be a divisor of the crystal frequency
806
- if (xtalFreqHz == 20000000 || xtalFreqHz == 40000000 ) {
807
- // 12.5kHz IF
808
- lo_freq = 12500 ;
809
- adf4350_freqStep = 12500 ;
810
- vnaMeasurement.setCorrelationTable (sinROM24x2, 48 );
811
- } else {
812
- // 12.0kHz IF
813
- lo_freq = 12000 ;
814
- adf4350_freqStep = 12000 ;
815
- vnaMeasurement.setCorrelationTable (sinROM25x2, 50 );
816
- }
817
833
setVNASweepToUI ();
818
834
}
819
835
0 commit comments