Algorithms

Moderators: None (Apply to moderate this forum)
Number of posts: 762

This Forum Only

is this possible ? Posted by Shadovv on 21 Dec 2004 at 7:52 PM
Does anybody know if this is possible.

Equation as follows.

aSin(20degrees) + bSin(40degrees) + cSin(60degrees) = answer

If the anwser was given in decimal form, is it possible to derive what 'a', 'b', and 'c' are ?, since we already know what the phases are for each.
I recall something about frequency division multiplexing using fast fourier transforms or something like that. But can't quite wrap my head around it.
If there was one signal say 'aSin(20degrees)', then it's simply,
- multiplying the signal with a reference signal that's in phase with signal 'a' with unity amplitude, in this case Sin(20degrees).
- take the average of each resulting product
- double the average, and you have the answer to 'a'.

But what about if it's more then one signal ?
like the one mentioned above,
aSin(20degrees) + bSrin(40degrees) + .....etc

Re: is this possible ? Posted by DrMarten on 7 Apr 2005 at 8:16 PM
This message was edited by DrMarten at 2005-4-7 20:20:47

: Does anybody know if this is possible.
:
: Equation as follows.
:
: aSin(20degrees) + bSin(40degrees) + cSin(60degrees) = answer
:
: If the anwser was given in decimal form, is it possible to derive what 'a', 'b', and 'c' are ?, since we already know what the phases are for each.
: I recall something about frequency division multiplexing using fast fourier transforms or something like that. But can't quite wrap my head around it.
: If there was one signal say 'aSin(20degrees)', then it's simply,
: - multiplying the signal with a reference signal that's in phase with signal 'a' with unity amplitude, in this case Sin(20degrees).
: - take the average of each resulting product
: - double the average, and you have the answer to 'a'.
:
: But what about if it's more then one signal ?
: like the one mentioned above,
: aSin(20degrees) + bSrin(40degrees) + .....etc
:
:
:

From a maths point of view you could end up with more than one solution as even if a,b and c here are WHOLE numbers then it is like saying:->

(2*40) + (3*50) + (4*60)= 80+150+240=470

From the 470 here you could derive a few numbers like:->

4+6+460 and again with

400+50+20 etc

giving lots of results.

You could eliminate some results using
SIMULTANEOUS EQUATIONS methods maybe in a loop?

Like the following

1) a+b=12
2) a+b+c=12
3) a+b+c+d=12
4) a+b+c+d+e=12

Find one term by adding up the rest and solving via addition+subtraction.

I.E.

In 1) above If a=5 then b=12-5=7

In 2) above add the b+c to get a) if you know the answer.

In 3) above add the b,c&d to get a) if you know the answer

In 4) add b,c,d,e to get a) if you know the answer.

If you can create a simultaneous pair of equations from your results then you can produce what a,b,c etc are?

aSin(20degrees) + bSin(40degrees) + cSin(60degrees) = answer

If a=2 b=3 c=4 then answer=6.076504731

If a became 3 the 2nd and 3rd term would total a higher value

But if the answer remains the same then b or/and c are reduced.

Like saying:->

1) 2a+3b+4c=d
2) 3a+b+c=d

Muliply 1) through by -1 giving:-> -2a+ -3b+ -4c = -d

-2a+ -3b+ -4c = -d
+3a+ b +c = d

a -2b - 3c = 0 so a=2b+3c

You could use the simultaneous equtions idea maybe to get the other results or graphing analysis to see where straight line equations intersect?

Like
2a+3b=12 where a=3,b=2 or a=2,b=8/3 Plot a againt b
3x+2y=12 Plot x againt y

Where ever the lines cross solves a simultaneous equation.
If this works for straight lines it would work for SIN or COS wave diagrams I guess. Would help you to eliminate some of the values maybe?

Just an idea though if it is of any use?

You would need a clever routine to deal with an ever increasing number of terms or "waveforms" though.

Plus simple or complex wavforms when overlapped cross at multiple points so there is more than one solution to your problem I guess.

Hope this helps.

Re: is this possible ? Posted by jerubaal on 17 May 2005 at 8:35 AM
In order for the "Simultaneous equation method" to work, you need a number of equations equal to your results. For example, if you have 3 variables, you need 3 equations. Look for an online math resource, and read up on systems of equations, and also look at systems of equations using matrices.
1337 d00d

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic