// GMRT Receiver Tuning for GWB // // snk Jan2023 // var line; var rf_band; var b1,b2; var gab_bw; var gab_lo; var gwb_bw; var ddc_lo; // init onload/reset function init(){ "use strict"; document.getElementById("line").value=1420.1234; document.getElementById("rf_band").value="50"; document.getElementById("ddc_lo").value=0; get_default("gab_bw"); get_default("gab_lo"); get_default("band_range"); plot(); } // plot on server and get the image function plot() { "use strict"; // read input parameters if(document.getElementById("line").value == "") { line="NA"; } else { line=parseFloat(document.getElementById("line").value); } rf_band=document.getElementById("rf_band").value; gab_bw=document.getElementById("gab_bw").value; gab_lo=document.getElementById("gab_lo").value; gwb_bw=document.getElementById("gwb_bw").value; ddc_lo=document.getElementById("ddc_lo").value; //image display document.getElementById("image").src="./tune.php?para="+line+" "+rf_band+" "+b1+" "+b2+" "+gab_bw+" "+gab_lo+" "+gwb_bw+" "+ddc_lo; } // cheak all input para function check(arg) { "use strict"; if(arg == "line") { plot(); } if(arg == "rf_band") { get_default("gab_bw"); get_default("gab_lo"); get_default("band_range"); plot(); } if(arg == "gab_bw") { plot(); } if(arg == "gab_bw_def") { get_default("gab_bw"); plot(); } if(arg == "gab_lo") { plot(); } if(arg == "gab_lo_m") { document.getElementById('gab_lo').value--; plot(); } if(arg == "gab_lo_p") { document.getElementById('gab_lo').value++; plot(); } if(arg == "gab_lo_def") { get_default("gab_lo"); plot(); } if(arg == "ddc_lo") { plot(); } if(arg == "ddc_lo_m") { ddc_lo=document.getElementById('ddc_lo').value; ddc_lo=ddc_lo-1;if(ddc_lo < 0 ) { ddc_lo=0; } document.getElementById('ddc_lo').value=ddc_lo; plot(); } if(arg == "ddc_lo_p") { ddc_lo=parseFloat(document.getElementById('ddc_lo').value); ddc_lo=ddc_lo+1.0;if(ddc_lo > gab_bw-gwb_bw) { ddc_lo=gab_bw-gwb_bw; } document.getElementById('ddc_lo').value=ddc_lo; plot(); } if(arg == "ddc_lo_def") { document.getElementById("ddc_lo").value=0; plot(); } if(arg == "cal") { auto_cal(); plot(); } } function auto_cal() { "use strict"; // read inputs line=parseFloat(document.getElementById("line").value); gab_bw=parseInt(document.getElementById("gab_bw").value); gab_lo=parseInt(document.getElementById("gab_lo").value); gwb_bw=parseFloat(document.getElementById("gwb_bw").value); if(isNaN(line)) { alert("Warning: Line frequency value is not correct"); } if(line < b1 || line > b2 ) { alert("Warning: Line frequency is out of the selected band range"); } if(gwb_bw > gab_bw) { alert("Warning: GAB(final) band width should not greter than the GAB band width"); } // calculate net sign var net; if(gab_lo < (b1+b2)/2 ) { net=1; } else { net=-1; } var f1=line-(gwb_bw/2)*net; var f3=line+(gwb_bw/2)*net; var ff1=gab_lo; var ff3=gab_lo+gwb_bw*net; if(net == -1) { ddc_lo = ff1-f1; } if(net == 1 ) { ddc_lo = f1-ff1; } if(ddc_lo < 0) { alert("Warning: Not possible to tune the line at the center of the GWB band. You may slide the GAB LO"); ddc_lo=0; ddc_lo=ddc_lo.toFixed(4); document.getElementById("ddc_lo").value=ddc_lo; return; } if((ddc_lo+gwb_bw) > gab_bw ) { alert("Warning: Not possible to tune the line at the center of the GWB band. You may slide the GAB LO"); ddc_lo=gab_bw-gwb_bw; ddc_lo=ddc_lo.toFixed(4); document.getElementById("ddc_lo").value=ddc_lo; return; } ddc_lo=ddc_lo.toFixed(4); document.getElementById("ddc_lo").value=ddc_lo; return; } function get_default(arg) { "use strict"; // default band width values if(arg == "gab_bw") { document.getElementById('gab_bw').value=100; if(document.getElementById('rf_band').value == "20") { document.getElementById('gab_bw').value=200; } if(document.getElementById('rf_band').value == "30") { document.getElementById('gab_bw').value=200; } if(document.getElementById('rf_band').value == "40") { document.getElementById('gab_bw').value=200; } if(document.getElementById('rf_band').value == "50") { document.getElementById('gab_bw').value=400; } } // default gab_lo values if(arg == "gab_lo") { if(document.getElementById('rf_band').value == "20") { document.getElementById('gab_lo').value=300; } if(document.getElementById('rf_band').value == "30") { document.getElementById('gab_lo').value=500; } if(document.getElementById('rf_band').value == "31") { document.getElementById('gab_lo').value=340; } if(document.getElementById('rf_band').value == "32") { document.getElementById('gab_lo').value=410; } if(document.getElementById('rf_band').value == "33") { document.getElementById('gab_lo').value=460; } if(document.getElementById('rf_band').value == "34") { document.getElementById('gab_lo').value=520; } if(document.getElementById('rf_band').value == "40") { document.getElementById('gab_lo').value=550; } if(document.getElementById('rf_band').value == "41") { document.getElementById('gab_lo').value=550; } if(document.getElementById('rf_band').value == "42") { document.getElementById('gab_lo').value=635; } if(document.getElementById('rf_band').value == "43") { document.getElementById('gab_lo').value=820; } if(document.getElementById('rf_band').value == "44") { document.getElementById('gab_lo').value=900; } if(document.getElementById('rf_band').value == "50") { document.getElementById('gab_lo').value=1460;} if(document.getElementById('rf_band').value == "51") { document.getElementById('gab_lo').value=1120;} if(document.getElementById('rf_band').value == "52") { document.getElementById('gab_lo').value=1230;} if(document.getElementById('rf_band').value == "53") { document.getElementById('gab_lo').value=1340;} if(document.getElementById('rf_band').value == "54") { document.getElementById('gab_lo').value=1450;} } // default band start_stop values if(arg == "band_range") { if(document.getElementById('rf_band').value == "20") { b1=100; b2=300; } if(document.getElementById('rf_band').value == "30") { b1=220; b2=500; } if(document.getElementById('rf_band').value == "31") { b1=240; b2=340; } if(document.getElementById('rf_band').value == "32") { b1=300; b2=410; } if(document.getElementById('rf_band').value == "33") { b1=360; b2=460; } if(document.getElementById('rf_band').value == "34") { b1=420; b2=520; } if(document.getElementById('rf_band').value == "40") { b1=550; b2=950; } if(document.getElementById('rf_band').value == "41") { b1=550; b2=650; } if(document.getElementById('rf_band').value == "42") { b1=635; b2=735; } if(document.getElementById('rf_band').value == "43") { b1=720; b2=820; } if(document.getElementById('rf_band').value == "44") { b1=800; b2=900; } if(document.getElementById('rf_band').value == "50") { b1=950; b2=1460; } if(document.getElementById('rf_band').value == "51") { b1=1000; b2=1120; } if(document.getElementById('rf_band').value == "52") { b1=1110; b2=1230; } if(document.getElementById('rf_band').value == "53") { b1=1220; b2=1340; } if(document.getElementById('rf_band').value == "54") { b1=1330; b2=1450; } } }