Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
BFO Value in sbitx hw_settings.ini
#sBitxDevel
#sbitx_v2
#sBITX_v3
#sBitx
Has anyone investigated the impact of changing the BFO values in the hw_settings.ini file?? Are all set to?bfo_freq=40035000?? Could this value be used to fine-tune the frequency accuracy of the sbitx?
I have limited access to my sbitx due to medical issues, so have not been able to test for myself. 73 Evan AC9TU |
Hi JJ,
Thank you for the response.? I noted that line (it is 58 in the version I looked at from my V3) and also found line 898: static int hw_settings_handler(void* user, const char* section,?
? ? ? ? ? ? const char* name, const char* value)
{
? char cmd[1000];
? char new_value[200];
?
?
if (!strcmp(name, "f_start"))
band_power[hw_init_index].f_start = atoi(value);
if (!strcmp(name, "f_stop"))
band_power[hw_init_index].f_stop = atoi(value);
if (!strcmp(name, "scale"))
band_power[hw_init_index++].scale = atof(value);
?
if (!strcmp(name, "bfo_freq"))
bfo_freq = atoi(value);
} I assumed that the value was the default and would be updated if the bfo_freq was found in the ini file.? However, the code may be orphaned and not being used. 73 Evan AC9TU |
Upon further investigation, the BFO value from the hw_settings.ini file is used.? Look in sbitx.c around line 903?
/*?
This is the one-time initialization code?
*/
void setup(){
?
read_hw_ini();
?
//setup the LPF and the gpio pins
pinMode(TX_LINE, OUTPUT);
pinMode(TX_POWER, OUTPUT);
pinMode(LPF_A, OUTPUT);
pinMode(LPF_B, OUTPUT);
pinMode(LPF_C, OUTPUT);
pinMode(LPF_D, OUTPUT);
? digitalWrite(LPF_A, LOW);
? digitalWrite(LPF_B, LOW);
? digitalWrite(LPF_C, LOW);
? digitalWrite(LPF_D, LOW);
digitalWrite(TX_LINE, LOW);
digitalWrite(TX_POWER, LOW);
?
fft_init();
vfo_init_phase_table();
? setup_oscillators(); read_hw_ini is performed before setup_oscillators.? The initial value would be overwritten. I believe that the BFO impacts the frequency used, so it could be used to calibrate.? The potential issue is misalignment with the 40MHz crystal filter.? Since the bandwidth is 25kHz, this should have minimal impact.? Again, I do not have access to my sbitx to validate. 73 Evan AC9TU |
JJ, We use a temperature compensated crystal oscillator as a frequency standard for the Si5351. This is why frequency calibration is not required for the sbitx. The change in bfo_frequency is will shift the frequency, however, the local oscillator and the bfo frequency interact such that lo_freq - bfo_freq = signal_freq. If you increase one the other will decreasee so that they subtract back to the signal freqeuncy. - f On Sat, Mar 30, 2024, 5:45 PM Evan Hand <elhandjr@...> wrote: Upon further investigation, the BFO value from the hw_settings.ini file is used.? Look in sbitx.c around line 903? |
On Sat, Mar 30, 2024 at 07:24 AM, Ashhar Farhan wrote:
JJ,Thank you for providing the explanation. -JJ |
to navigate to use esc to dismiss