It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 139.8K
- Programming Languages 104K
- Assembler Developer 6.2K
- Basic 1.8K
- C and C++ 39.7K
- C# 4.2K
- Delphi and Kylix 7.9K
- Haskell 3
- Java 9.5K
- Pascal 4.1K
- Perl 1.3K
- PHP 1.9K
- Python 501
- Ruby 47
- VB.NET 4.3K
- VBA 1.6K
- Visual Basic 20.8K
- Game programming 2.6K
- Console programming 308
- DirectX Game dev 87
- Minecraft 1
- Newbie Game Programmers 107
- Oculus Rift 2
- Applications 8.8K
- Computer Graphics 1.8K
- Computer Hardware 721
- Database & SQL 3.4K
- Electronics development 517
- Matlab 1.6K
- Sound & Music 625
- XML Development 253
- Classifieds 3.2K
- Co-operative Projects 184
- For sale 161
- FreeLance Software City 188
- Jobs Available 1.9K
- Jobs Wanted 597
- Wanted 192
- Microsoft .NET 2.8K
- ASP.NET 1.7K
- .NET General 1.1K
- Miscellaneous 2.8K
- Join the Team 2
- User Profiles 1
- Comments on this site 351
- Computer Emulators 54
- General programming 1.7K
- New programming languages 114
- Off topic board 591
- Mobile & Wireless 146
- Android 20
- Palm Pilot 124
- Multimedia 334
- Demo programming 151
- MP3 programming 183
- Bash scripts 0
- Cloud Computing 10
- FreeBSD 52
- LINUX programming 1.7K
- MS-DOS 361
- Shell scripting 0
- Windows CE & Pocket PC 317
- Windows programming 4.1K
- Software Development 870
- Algorithms 400
- Object Orientation 67
- Project Management 80
- Quality & Testing 87
- Security 230
- WEB-Development 7.3K
- Active Server Pages 1.8K
- AJAX 61
- Bootstrap Themes 1
- CGI Development 55
- ColdFusion 19
- Flash development 221
- HTML & WEB-Design 1.4K
- Internet Development 1.3K
- JavaScript 2.2K
- JQuery 33
- WEB Servers 275
- WEB-Services / SOAP 100

We have migrated to a new platform! Please note that you will need to reset your password to log in (your credentials are still in-tact though). Please contact lee@programmersheaven.com if you have questions.

Tweets by @pheaven
Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Shadovv
Posts: **31**Member

in Algorithms

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

thanks in advance.

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

thanks in advance.

About & Contact / Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2013 Programmersheaven.com - All rights reserved.

## Comments

748Member: 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

:

:

: thanks in advance.

:

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?

E.G. To take your problem:-

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

Adding gives:->

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. :-)

- Spam

0 · Vote Down Vote Up ·19Member1337 d00d

- Spam

0 · Vote Down Vote Up ·