Astronomy

How to calculate phase angle of a satellite?

How to calculate phase angle of a satellite?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

I'm making a program for predicting satellite passes. I'm trying to find out if the satellite is illuminated by the Sun and not in Earth's shadow. I need to know its phase angle: the angle between the observer on Earth, the satellite and the Sun.

Please explain it in simple terms if possible.

(Inserted by reviewer, extension to question, posted originally as answer)

I have TLE data for the satellite (contains right ascension). From that I got ECI position, azimuth, elevation, altitude. For observer I have latitude and longitude and for the sun: elevation and azimuth.


Draw the triangle Sun-Earth-Satellite, we will first find the angle Sun-Earth-Sat.

The angle between the Sun, the observer, and the satellite will be the angular separation between the Sun and the satellite on the observer's sphere. Here is how you could calculate that:

  1. You have horizontal coordinates for both bodies so the easiest way to go from there would be to look at the spherical triangle Zenith-Sun-Sat, the angle at zenith will be the difference between azimuths, and the Zenith-Sun and Zenith-Sat lengths will be $90^{circ}-h_{Sun}$ and $90^{circ}-h_{Sat}$, respectively.

  2. Now using the cosine formula for spherical triangles, one may obtain the following formula:

$$cos^{−1}(sin(h_{Sun})sin(h_{Sat})+cos(h_{Sun})cos(h_{Sat})cos(A_{Sun}−A_{Sat})).$$

  1. Now use the sine theorem to find the angle E-Sun-Sat (the sine of this angle divided by the sine of the one we calculated will be equal to the ratio of distances from the Earth to the satellite, and from the satellite to the Sun, respectively), and to find the third angle, subtract the two from $180^{circ}$.

Note: if you do not know the distance from the Sun to the satellite, I am certain you may use the distance from the Earth to the Sun as the error is probably negligible.


As long as you have the required ephemerides, which I assume you do given the problem at your hand, doesn't it just suffice to compute the dot product between the satellite-to-sun and satellite-to-observer vectors and thereby get the arccos of the phase angle ? In my point of view, this would be the most straight-forward way.


Question : 1. Calculate the theoretical and measured phase angle using the values in Table 1. 2. Calculate the percent error. If the percent error is more than 5% what might be the reason(s)? 3. Calculate the theoretical and measured phase angle using the values in Table 2. 4. Calculate the percent error. If the percent error is more than 5% what might be the

1. Calculate the theoretical and measured phase angle using the values in Table 1.

2. Calculate the percent error. If the percent error is more than 5% what might be the reason(s)?

3. Calculate the theoretical and measured phase angle using the values in Table 2.

4. Calculate the percent error. If the percent error is more than 5% what might be the reason(s)?

5. Compare the theoretical resonance frequency with the measured resonance frequency values for the first and second sets.

6. How can you determine angular frequency and impedance of the circuit? What else should be measured in the experiment and how?


It is just a matter of manipulating complex numbers.

Where $Re < cdot >$ is the real part and $ Im < cdot >$ is the imaginary part. (NOTE: this equality is not always strictly true depending on the signs of the real and imaginary parts of $H(omega)$. When finding the angle of an imaginary number the result may need to be adjusted depending on what quadrant the imaginary number is in.)

Instead of finding the real and imaginary parts of the whole expression, though you could do that, You can note that:

Using the arctangent addition,wikipedia, formula the expression can be simplified to

Basically you get a phase contribution term which is the arctangent of each pole location.


ALTERNATING CURRENTS

George B. Arfken , . Joseph Priest , in International Edition University Physics , 1984

Power in the RLC Circuit

A capacitor connected to an ac generator reversibly stores and releases electric energy. There is no net energy delivered by the generator ( Sections 37.3 ). Similarly, an inductor connected to an ac generator reversibly stores and releases magnetic energy ( Sections 37.4 ). There is no net energy delivered by the generator. However, an ac generator delivers a net amount of energy when connected to a resistor ( Sections 37.2 ). The energy is transformed into thermal energy in the resistor. When a resistor, an inductor, and a capacitor are connected in series with an ac generator, it is still only the resistor that causes a net energy transfer. We can confirm this by calculating the power delivered by the generator.

The instantaneous power is the product of the generator output and the current that results.

The phase angle ϕ and radian frequency ω play important roles in the power delivered. If the impedance Z is large at a particular radian frequency, then the power will be small for all values of the time. This is consistent with the idea that impedance-measures how the combination of elements impedes (or limits) ac current. Example 5 illustrates the effect of phase angle on the power delivered.

Effect of Phase Angle on the Power Delivered by the Generator in an RLC Circuit

Let us choose ω = 100 rad/s, L = 1 H, C = 200 μF, R = 50 Ω, and E = 100 V, and calculate from Eq. 37.64 the instantaneous power delivered by the generator. The inductive reactance, capacitive reactance, and impedance are

From the“useful”triangle in Figure 37.23 we determine the phase angle.

At this frequency the inductive reactance is larger than the capacitive reactance and the current lags the potential difference provided by the generator. The instantaneous power for the given choice of component values is

In Figure 37.24 the power P is plotted versus cot for constant ω. Positive values of the power means that electric energy delivered by the generator is being converted into thermal energy by the resistor. Negative values of the power means that energy is being delivered to the generator. It is energy derived from the electric field of the capacitor and magnetic field of the inductor. The average power is positive—the generator must deliver energy to the resistor.

Figure 37.24 . Time variation of the power delivered by an ac generator in an RLC circuit having R = 50 Ω, L = 1 H, C = 200 μF, ω = 100 rad/s, and E = 100 V.

The average power delivered by the generator is determined by calculating the average value of the instantaneous power.

To facilitate the calculation we make use of the trigonometric identity

The first integral equals π. The second integral equals zero. The result is

The cos ϕ in Eq. 37.65 is called the power factor. For given Z and E the power factor determines how much average power must be delivered by a generator to an RLC circuit. From the“useful”triangle ( Figure 37.23 ) for the RLC circuit it follows that

Hence the average power may be written

As anticipated, net power delivered by the generator is a result of resistance in the circuit. If there is no resistance, there is no net power delivered by the generator, regardless of the sizes of the capacitive and inductive reactances. The RLC circuit is now an LC circuit. Even though the average power delivered is zero, the rms current is not zero. This current produces thermal energy in the transmission lines provided by the power company. An energy penalty accrues even though no net power is delivered to the user. An exactly-zero-resistance situation never occurs, but if the power factor is small, a large rms current may develop, producing thermal energy losses in the transmission lines.

Power Factors and Power Companies

An electromagnet having an inductance of 1.5 H and a resistance of 100 Ω is used to operate a valve in a household washing machine. If the power source has an rms output of 115 V at a frequency of 60 Hz, let us determine the power delivered when the electromagnet is operating.

We will use Eq. 37.65 to determine the power delivered. Thus we need the inductive reactance XL, the impedance Z, and the power factor cos ϕ.

With these numbers the average power delivered is

This is the power that enters into calculation of the user's energy bill.

In order to deliver this power, the power company had to provide an rms current.

It is this current that figures into thermal power losses (I 2 rmsR) in wires carrying the current. Had the load been purely resistive, the 4.01 W could have been delivered by a current

A current of 0.200 A is required to deliver 4.01 W of power to this resistor-inductor combination. To deliver the 4.01 W of power to the resistor alone requires a current of 0.035 A. This significant difference is a consequence of the current and the generator output being in phase for the resistor alone but 80.0° out of phase for the resistor-inductor combination.

A commercial capacitor is observed to get warm when connected to an ac generator. What characteristic of the capacitor is responsible for the production of this energy?

Why can a manufacturer specify the resistance of a resistor but not the reactance of a capacitor nor of an inductor?

If frequency increases, determine whether the impedance of an RLC series combination increases or decreases.

What is“filtered”by RC and RL circuits?

How is it possible to have zero average power deliverd by a generator in a circuit containing a series combination of a resistor, a capacitor, an inductor, and an ac generator?


Measurement of a Phase Angle

Take a periodic wave. The angle of the process is measurable using these basic steps:

The point of reference is selected from even the projection of a moving vector to the actual Argand diagram axis.

The point value on the abscissa particular reference to the place on the wave shows the angle of the step of that point.

The wave can be plotted on every regular coordinate system. In a Cartesian lot, a complete process of the wave has a phase angle of 360°. In electronics, the angle of phase plays a crucial role, involving the voltage and different sinusoidal waves. In circuitry, a phase angle is also known as the sum of electrical degrees of lead or lag between the current and the voltage waveforms in such an ac circuit.


In the first example, it is clear that the reference for the phase calculation is the blue trace so that Δt is measured from the blue trace zero crossing to the black trace zero crossing which is positive. In the second example, Δt is not shown so the reference trace is not clear. I would assume, in this case, that the red trace is the reference and Δt id measured from the red zero crossing to the dotted trace zero crossing which is negative.

If the dashed violet sinusoid is $4 cdot sin(2picdot t/10)$ , then the orange sinusoid can be represented as

$4color cdot sin(2picdot t/10 color<-pi/2>)$

where $pi/2 leftrightarrow 90^$ .

The orange signals lags the violet signal by 90 deg.

In the case of triangle wave, if we try to represent the black triangle in terms of the blue triangle, the black triangle lags the blue triangle by 80 deg i.e. $phi = -80^$ .

However, if the blue triangle is represented in terms of the black, blue leads black by 80 deg.

Calculation of phase depends on which signal is used as the reference.

When dealing with phase measurement (especially in test procedures) it is always advisable to clearly state how you expect the phase to be measured

"positive going zero crossing of CH1 to the next positive going zero crossing of CH2" contains the three pieces of information

  1. what is the reference waveform - ie CH1
  2. Which zero crossing event (since there is two )
  3. where to measure the phase difference from

This will always give you a positive phase value as it is measuring left to right.

Looking at the two waveforms in question, none of this information is stated and thus assumptions must be made (reasonable assumptions but assumptions nonetheless)

assuming BLUE is the reference waveform: 1st positive going zero crossing is at t=0. The 2nd waveform positive going zero crossing, after the 1st, is at t=2 divisions

Based upon the statement that a negative value is measured, the reference waveform is ORANGE. 1st positive going zero crossing is at 2.5. The 2nd waveform positive going zero crossing is at 10 divisions


Phase Angle Calculation

The phase is a travelling sinusoidal wave. The phase is not for the music signal. Phases are called phase difference. If there is a phase shift( phase delay) of the phase angle degrees, the phase shift can be specified between the two channel signals left and right, between the input and output signal, between voltage and current, or between sound pressure and velocity of the air particles. The phase is the angle of the signal portion it is specified in angular degrees and provides a reference of the entire signal’s reference value.
Formula for Phase Angle Calculation :

For periodicsignals the total phase angle is 360 degrees and a period equal to the duration of the period. The angular displacement of one complete cycle is `2 pi` radians.

`B(t)= B^hat.sin(2pift + phi) = B^hat .sin(omega t + phi)`

phase angle(in rad)`=omega .Delta t=2pi.f.Delta t`

Euler’s formula for sine waves,

`B.cos(omegat + theta)= B/2.e^(i(omegat+theta)) + B/2.e^(-i(omegat +theta))`

The real part of the function is,

The folloeing examples are describes the phase angle calculation
Example 1 for Phase Angle Calculation:

Calculate the phase angle in degree the frequency f=100Hz and time delay= 1 ms.

The result is `36^@` (in degree) or `0.6283185307` (in radian)
Example 2 for Phase Angle Calculation:

Calculate the phase angle in degree the frequency f=200Hz and time delay= 5 ms.

The result is `36o^@` (in degree) or

The result is `360^@` (in degree) or `0.6283185307` (in radian)

Example 3 for Phase Angle Calculation:

Calculate the phase angle in degree the frequency f=500Hz and time delay= 0.5ms.


Modeling an Interplanetary Hohmann Transfer

When calculating Hohmann transfers, we must first assume that both orbits are circular. In the real world, the orbits of Earth and Mars are not circular. So to model an interplanetary Hohmann transfer, we will be using Spacecraft in heliocentric circular orbits with the same SMA as the planets they are representing. Because basic interplanetary Hohmann transfers only rely on the gravity of the central body, we do not need to model the departure and arrival planets' gravities in our problem.

Assume that Earth and Mars are in circular orbits around the Sun at 1 AU and 1.524 AU, respectively. How much Δv is required to perform a Hohmann transfer to Mars? How many days would this transfer take?

• Create a new Mission Plan and save it as "InterplanetaryHohmann.MissionPlan"

Adding in Spacecraft

• Create a Spacecraft with the following elements:

o Reference Frame: "Mean of J2000 Earth Ecliptic"

o A: 149,597,871 km (This is 1 AU)

NOTE: Remember that you need to change the Element Type to "Keplerian" to access these elements

• Rename the Spacecraft to "InterplanetarySC"

• Click on the "Force Model" on the left-hand side

• Click on "Propagator" on the left-hand side

• Change the step size to 1 day

• Click "Ok" to close the editor

• Rename the clone to "MarsSC" (this Spacecraft will represent Mars)

• Change A to 227,987,155 km (This is 1.524 AU)

• Click on "Visualization" on the left-hand side

• Change the tail color to green

• Click "Ok" to close the editor

Adding in the ViewWindow

• Create a ViewWindow through the Object Browser

• Double click on "ViewWindow1" to open the editor

• Check each Spacecraft in the "Available Objects"

• Click on "Spacecraft" in the "Available Objects" to select both Spacecraft, then check "Show Name"

• Change the history mode to "Unlimited" (for both Spacecraft)

Since we won't be needing to show the real Earth and the real Mars, let's hide them from the ViewWindow.

• Click on the "Solar System" section on the left-hand side

• Uncheck "Show Object" in "Object Options"

• Uncheck "Show Object" in "Object Options"

Solar System Properties in the ViewWindow Editor

Now we can continue with the rest of the settings for the ViewWindow.

• Click on "Viewpoints" on the left-hand side

• Change the reference frame to "Inertial"

• Click "Copy to Target/Tail Ref."

• In "Source Offsets", change the radius to 500,000,000 km

• Click "Ok" to close the editor

Adding an ImpulsiveBurn

• Create an ImpulsiveBurn object through the Object Browser

• Double-click on "ImpulsiveBurn1" to open the editor

• Change the attitude system to "VNB"

• Click "Ok" to close the editor

Building the Mission Sequence

To start, we'll propagate the entire solar system for a while so we can see each planet's orbit better.

• Drag and drop a while loop into the Mission Sequence

• Change the while loop argument to "(InterplanetarySC.ElapsedTime < TIMESPAN(500 days))"

• Drag and drop a FreeForm script editor inside that while loop

• Open the script editor and rename it to "Step and Update"

In this script, we will step both Spacecraft with an epoch sync, and update the ViewWindow. To do this, we write:

// Steps both spacecraft with an epoch sync

Step MarsSC to (MarsSC.Epoch == InterplanetarySC.Epoch)

Let's go back to the Mission Sequence.

• Drag and drop a FreeForm script editor after the while loop

• Open the script editor and rename it to "Calculate Hohmann Delta V"

In this FreeForm script editor, we will calculate the necessary Δv needed and assign it to the ImpulsiveBurn object we created. To do this, we write:

// SMAs of the departure and arrival planets

Variable startingOrbit = InterplanetarySC.A

Variable arrivalOrbit = MarsSC.A

// SMA of the Hohmann transfer

Variable transfSMA = (startingOrbit + arrivalOrbit)/2

// Velocity of the Hohmann transfer at Periapsis

Variable vTransfPeri = sqrt(Sun.Mu * ((2/startingOrbit) - (1/transfSMA)))

// Delta V for the Hohmann transfer

Variable dV1 = vTransfPeri - InterplanetarySC.VMag

Next, we need to calculate the phase angle. Let's add another FreeForm script editor to the Mission Sequence.

• Drag and drop a FreeForm script editor after the "Calculate Hohmann Delta V" FreeForm

• Open the script editor and rename it to "Calculate Phase Angle"

In this script, we need to calculate the necessary phase angle for the Hohmann transfer. To do this, we can use the formulas given in the Calculating an Interplanetary Hohmann Transfer section. We will need to write:

// Period of the Hohmann transfer

Variable THoh = 2 * Pi * sqrt(transfSMA^3/Sun.Mu)

// Angular Velocity of the Target Planet

Variable angVelTarget = (360/(2 * Pi)) * sqrt(Sun.Mu/(arrivalOrbit^3))

Variable phaseAngle = 180 - (1/2) * (THoh * angVelTarget)

Now that we've calculated the phase angle, we should try and calculate another very helpful thing: the next epoch at which this phase angle occurs. To do this, we will need to calculate two things: the current phase angle, and the phase angular velocity (the rate at which the phase angle changes).

The current phase angle is pretty easy to calculate. If we take the position vectors of each Spacecraft and use the "VertexAngle" method, we can calculate the angle between the two.

Variable currentPhaseAngle = InterplanetarySC.Position.VertexAngle(MarsSC.Position)

However, this method will not return a value greater than 180 degrees. If Earth is ahead of Mars, we need to add 180 degrees to the phase Angle. To do this, we can take the z component of the cross product of InterplanetarySC.Position and MarsSC.Position, and check to see if it's negative. If it is, that means we need to add 180 degrees. To do this, we write:

// If Earth is in front of Mars, add 180 degrees to the current phase angle

If (InterplanetarySC.Position.CrossProduct(MarsSC.Position)[2] < 0) then

Now, we need to calculate the phase angular velocity. In this scenario, this will simply be the difference between Earth's angular velocity and Mars's angular velocity. To calculate this, we write:

// Starting Planet Angular Velocity

Variable angVelStarting = (360/(2 * Pi)) * sqrt(Sun.Mu/(startingOrbit^3))

Variable angVelPhase = angVelStarting - angVelTarget

Now that we have the phase angular velocity, we can calculate how long it will take until we've reached our departure position. To calculate this, we take the difference of our current phase angle, and our departure phase angle. If we divide this difference by the phase angular velocity, we will have the amount of time (in seconds) until we've reached our departure position. Then, we can add that to our current epoch to calculate the departure epoch. To do this, we write:

Variable timeTilDep = (currentPhaseAngle - phaseAngle)/angVelPhase

TimeSpan departureEpoch = InterplanetarySC.Epoch + TimeSpan .FromSeconds(timeTilDep)

We have done all the necessary calculations for our first maneuver. Now, we need to step to the departure date, maneuver, then step to the arrival date. Let's go back to the Mission Sequence.

• Drag and drop a FreeForm script editor after the "Calculate Phase Angle" FreeForm

• Open the script editor and rename it to "Step to Departure, Maneuver, Step to Arrival"

In this script, we will step to the departure epoch, maneuver the Spacecraft, change the Spacecraft tail color for a better visualization, calculate the arrival epoch, and step to the arrival epoch. To do this, we write:

// Steps to the departure time

While (InterplanetarySC.Epoch < departureEpoch)

// Maneuvers the spacecraft for the Hohmann transfer

Maneuver InterplanetarySC using ImpulsiveBurn1

// Changes the tail color of the spacecraft

TimeSpan arrivalEpoch = InterplanetarySC.Epoch + TimeSpan .FromSeconds((1/2)*(THoh))

While (InterplanetarySC.Epoch < arrivalEpoch)

The last thing we need to do for this transfer is to match our speed with our target. Let's go back to the Mission Sequence.

• Drag and drop a FreeForm script editor after the "Step to Departure, Maneuver, Step to Arrival" FreeForm

• Open the script editor and rename it to "Orbit Matching Maneuver"

In this script, we will need to calculate speed of Mars's orbit, calculate the Δv required to match the orbit, maneuver the spacecraft, then propagate for 300 days to visualize this change. To do this, we write:

Variable vMarsOrbit = sqrt(Sun.Mu * ((2/arrivalOrbit) - (1/arrivalOrbit)))

// Delta V required for maneuver

Variable dV2 = vMarsOrbit - InterplanetarySC.VMag

Maneuver InterplanetarySC using ImpulsiveBurn1

// Propagates SC for 300 days

While (InterplanetarySC.ElapsedTime < TIMESPAN (300 days ))

Step MarsSC to (MarsSC.Epoch == InterplanetarySC.Epoch)

One more thing we need to add to the script - the thing we've been looking for all along! We need to report the Δv, and the time of flight in days. For the time of flight, we can simply take the difference of the arrival epoch and the departure epoch as these are measured in days. To report these values, we write:


3 Answers 3

EDIT: ANSWER Found my own answer to this question. By all means read the rest of the post for details. The quick summary is that I calculate the separation angle between the sun and the iss. With the two known distances (sun.earth_distance) and iss.range) I then solve the triangle to get the phase angle. This gets pumped in to the magnitude equation below. and VIOLA. The values returned by this seem to be close to what is on Heavens-above.com. That's all I wanted.

EDIT: See this post for the actual Python code I use to calculate the phase angle.

NOTE: I am really not sure how my edits are handled. I saw a prior note that my edits would be displayed after moderation - however I expected to still see my edits shown in the post. Now nothing is there. My edits are actually more of an answer to my own question in any case. MODERATOR: Please do NOT delete this answer. It contains an appropriate ANSWER to my own question that I have further researched and I think is relevant. THANK YOU!!

Many online services that supply satellite predictions do in fact provide magnitude predictions as well. Heavens-Above.com is one such site so there are definitely techniques out there to do this.

The predictions for the ISS that are available on Heavens-Above are generally pretty reliable and take in to account when it will pass in to the earths shadow. EDIT: In fact PyEphem does show if a satellite is eclipsed or not. body.eclipsed

Also while the ISS is known to occasionally flash brighter than predicted that is still a pretty rare occurrence and I'm not too interested in predicting that (and I would agree trying to do that seems rather pointless). Iridium fares are of course very variable in visual magnitude - but nevertheless are very predictable based upon the location the observer / satellite / angle of their highly polished antenna and the sun.

I'm really just looking some pointers to an approach to calculate this using the PyEphem library if possible.

Thanks again for any pointers to actually do this.

EDIT:I found a discussion about this very point here-> http://www.satobs.org/seesat/Apr-2001/0313.html

Standard.Mag I use for the ISS is -1.3 (intrinsic brightness at 1000km) - several online sources reference this. e.g. http://satobs.org/seesat/Aug-2005/0114.html and this one Quicksat intrinsic magnitudes file: qsmag.zip

I've got a sense that PyEphem has the capability to do this calculation given a starting magnitude (std.mag) number. There are "standard" magnitude numbers available on the internet (not sure how they are calculated. but they are available none-the-less).

So.. the bit I am not 100% certain on is how to get that angle B. I'll be looking at that next (note: worked this out - see top of the post)


Complex numbers in word problems:


    Find the modulus of the complex number 2 + 5i
    Let z1=x1+y1i and z2=x2+y2i Find: a = Im (z1z2) b = Re (z1/z2)
    Is -10i a positive number?
    Find the images of the following points under mappings: z=3-2j w=2zj+j-1
    Calculate the absolute value of complex number -15-29i.
    Find two imaginary numbers whose sum is a real number. How are the two imaginary numbers related? What is its sum?
    Find the cube roots of 125(cos 288° + i sin 288°).
    Are these numbers 2i, 4i, 2i + 1, 8i, 2i + 3, 4 + 7i, 8i, 8i + 4, 5i, 6i, 3i complex?
    A plane flew 50 km on a bearing 63°20' and the flew on a bearing 153°20' for 140km. Find the distance between the starting point and the ending point.
    Calculate value of expression log |3 +7i +5i 2 | .
    Find the mod z and argument z if z=i
    Which coordinates show the location of -2+3i
    Calculate reciprocal of z=0.8-1.8i:


Watch the video: Understanding Phase Angles (January 2023).