function showcredit() { var credit credit="Script programmed by Jens T.Saetre 05112000" credit+="\n08122002 Changed layout" credit+="\n26052003 Changed G/T calculation" credit+="\n26052003 LNB VSWR probably not contribute in G/T , use 1:1" credit+="\n26082003 Changed G/T calculation- shold give correct value now" credit+="\nUpdated 26082003" window.alert(credit); //var theResponse = window.prompt("Welcome?","Enter your name here."); } function Loss_dB() { return(-10*log10(1-(Loss_Percent()/100))); } function Loss_Percent() { var vswr,loss vswr=1*document.Antenna.VSWR.value; loss=100* Math.pow( ( (vswr-1)/(vswr+1) ),2 ); return(loss); } function main() { var GTsys,GainFeed_dB,SystemNoiseFiguredB,AntennaNoiseFigureKelvin,AntennaNoiseFiguredB SystemNoiseFiguredB= 10*log10(1+(Tsys()/290)) ; AntennaNoiseFigureKelvin=1*document.Antenna.NoiseTemperature.value; AntennaNoiseFiguredB=10*log10(1+(AntennaNoiseFigureKelvin/290)) ; document.Antenna.dBAntennaNoiseFigure.value=formatvalue(AntennaNoiseFiguredB, 5); document.Antenna.SystemNoiseFigure.value=formatvalue(SystemNoiseFiguredB,5); GainFeed_dB=1*document.Antenna.FeedLoss.value; document.Antenna.Gain.value=formatvalue(AntennaGain(), 5); document.Antenna.SystemNoiseTemperature.value=formatvalue(Tsys(), 5); GTsys= AntennaGain() - 10*log10(Tsys()); // // ***OLD formula - probably wrong when G/T is referred to the antenna feed //GTsys= AntennaGain() -Loss_dB() -GainFeed_dB - 10*log10(Tsys()); // document.Antenna.Log10SystemNoiseFigure.value=formatvalue(10*log10(Tsys()),5); document.Antenna.GTsys.value=formatvalue(GTsys, 5); //var theResponse = window.prompt("Welcome?",Loss_dB()); } function log10(X) { return( Math.log(X)/Math.log(10) ); // works OK ! } function AntennaGain() { var AntennaEfficiency,RxFrequency,Gain,AntennaDiameter RxFrequency=1*document.Antenna.Frequency.value; AntennaEfficiency=document.Antenna.Efficiency.value; AntennaDiameter=document.Antenna.Diameter.value ; Gain=10*log10(AntennaEfficiency/100) +20*log10(RxFrequency/1000) +20*log10(AntennaDiameter)+20.4 ; //window.prompt(Gain,"Test verdi"); return(Gain); } function Tsys() { var LNBNoiseFigure,LNBNoiseTemperature,GainFeed,FeedLoss_dB,FeedLoss,AntennaNoiseTemperature,T_sys GainFeed_dB=1*document.Antenna.FeedLoss.value; LNBNoiseFigure=1*document.Antenna.LNBNoiseFigure.value; LNBNoiseTemperature= 290*( Math.pow( 10,(LNBNoiseFigure/10) ) -1) ; AntennaNoiseTemperature=1*document.Antenna.NoiseTemperature.value; GainFeed=Math.pow(10,(-FeedLoss_dB/10)); //T_sys= AntennaNoiseTemperature + (LNBNoiseTemperature/GainFeed) ; ikke riktig !!!! T_sys=AntennaNoiseTemperature + 290*( Math.pow( 10,((GainFeed_dB+Loss_dB())/10) ) -1) + 290*( Math.pow( 10,((LNBNoiseFigure)/10) ) -1) *(Math.pow( 10,((GainFeed_dB+Loss_dB())/10))); //window.prompt(FeedLoss,"Test verdi"); return(T_sys) } function toNoiseTemperature() { var NoiseFigure,NoiseTemperature NoiseFigure=1*document.Antenna.LNBNoiseFigure.value; //NF=10log(1+Teq/290) NoiseTemperature= 290*( Math.pow( 10,(NoiseFigure/10) ) -1) ; document.Antenna.LNBNoiseTemperature.value=formatvalue(NoiseTemperature, 5); } function toNoiseFigure() { var NoiseFigure,NoiseTemperature NoiseTemperature=1*document.Antenna.LNBNoiseTemperature.value; NoiseFigure= 10*log10(1+NoiseTemperature/290) ; document.Antenna.LNBNoiseFigure.value=formatvalue(NoiseFigure, 5); } function formatvalue(input, rsize) // Desimal avrunding { var invalid = "**************************"; var nines = "999999999999999999999999"; var strin = "" + input; var fltin = parseFloat(strin); if (strin.length <= rsize) return strin; if (strin.indexOf("e") != -1 || fltin > parseFloat(nines.substring(0,rsize)+".4")) return invalid.substring(0, rsize); var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, rsize)))); return rounded.substring(0, rsize); }