telstar 12 dish pointing

  • WELCOME TO THE NEW SERVER!

    If you are seeing this you are on our new server WELCOME HOME!

    While the new server is online Scott is still working on the backend including the cachine. But the site is usable while the work is being completes!

    Thank you for your patience and again WELCOME HOME!

    CLICK THE X IN THE TOP RIGHT CORNER OF THE BOX TO DISMISS THIS MESSAGE
Status
Please reply by conversation.

fataf

SatelliteGuys Family
Original poster
Jan 7, 2005
38
0
I was looking at lyngsat.com and noticed this satellite has a beam for North America with DVB in the KU band
Telstar 12 at 15.0° W

However this is not in range 61W-160W covered in the satellite finder java program.

I was wondering what the algorithm was for finding your Azimuth, elevation , and Skew given your lat/long and the sat orbit position..

Thanks
 
Thanks for your response

Thanks for your link to new software. I will look into this.

I had found out at same time there was a technical note on the webage for satfinder which had the algorithms used.
http://www.arachnoid.com/satfinder/

I extended this code to make a simple command line program to get my answer
it is included below for curious

Code:
class mytest {

public static class Satfind {

    final double toDeg = 180.0/Math.PI;
    final double toRad = Math.PI/180.0;
    
    /*
     *
     * ComputePos(input: (earth) lat (deg), lng (deg),
     * (satellite) satlng (deg),
     *
     * output: Complex(x = az true (deg), y = el (deg))
     *
     * az format: North = 0, East = 90, South = 180, West = 270
     * el format: Horizontal 0, Vertical 90
     *
     */
    
    private Complex computePos(double lat, double lng, double satLng) {
        double dlngr = (lng-satLng) * toRad;
        
        double az = Math.atan2(Math.sin(lat * toRad),Math.tan(dlngr)) * toDeg;
        az = (270.0 - az) / 360.0;
        az = az - Math.floor(az);
        az *= 360.0;
        
        double r1=6.6107; // ratio synchronous orbit/earth radius
        double clng = Math.cos(dlngr);
        double clat = Math.cos(lat * toRad);
        double v1=r1*clat*clng-1.0;
        double v2=r1*Math.sqrt(1-clat*clat*clng*clng);
        double el = Math.atan2(v1,v2) * toDeg;
        return new Complex(az,el);
    }
    
    /*
     *
     * ComputeSkew(input: (earth) lat (deg), lng (deg),
     * (satellite) satlng (deg),
     *
     * output: double skew (deg)
     *
     */
    
    private double computeSkew(double lat, double lng, double satLng) {
        double dlngr = (satLng-lng) * toRad;
        return (Math.atan2(Math.tan(lat * toRad),Math.sin(dlngr)) * toDeg) - 90.0;
    }
  }
 
    // The rather simple "Complex" class:
    
         public static class Complex {
             private double x;
             private double y;
             
             public Complex(double x,double y) {
                 this.x = x;
                 this.y = y;
             }
             
             public double x() {
                 return x;
             }
             
             public double y() {
                 return y;
             }
         }


public static void main(String args[]) {
   
   double earthlat=0.0,earthlng=0.0,satlng=0.0;
   Satfind sf = new Satfind();
   Complex pos = null;
   double skew;
  
   if (args.length !=3)
     {
     System.out.println("Input Required: earthlat, earthlong, satlat"); 
     System.out.println("Remember that southern latitudes and western longitudes should be negative numbers");
     System.exit(1); }

     try {
     earthlat=Double.parseDouble(args[0]);
     earthlng=Double.parseDouble(args[1]);
     satlng=Double.parseDouble(args[2]);
     }
      catch (Exception e) {
        System.out.println("Error in input: "+e);

     }

    pos = sf.computePos(earthlat,earthlng,satlng);
    skew= sf.computeSkew(earthlat,earthlng,satlng);

    System.out.println("Az: "+pos.x+" El: "+pos.y+" Skew: "+skew);     
  }

}

install the java SDK software dev kit from Sun.
in a dos shell enter the code above as file mytest.java

(to Compile)
javac mytest.java

(to run)

for input values Remember that southern latitudes and western longitudes should be negative numbers

magnetic deviation is not taken into account for Azimuth here.

assume we are near clearwater florida for telstar 12 at 15.0W

java -classpath . mytest earthlatitude earthlongitutde satlongitude
or
java -classpath . mytest 27.59 -82.49 -15.0
 
Status
Please reply by conversation.

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Who Read This Thread (Total Members: 1)