Computer: Data Organization
Temporal data encoding   (+2, -3)  [vote for, against]

Binary computer data is made of bits represented by 1s and 0s, with 1 generally indicated by 5 volts and 0 by less than 5 volts (say, 1 volt)

If we utilised the space between each bit transmission and timed the pause between each, we can greatly leverage the resulting information.

For example you have a bit transmitted (5 volts), then a pause of zero voltage for .0002 of a second. That .0002 pause could represent "multiply the previous bit by 100". Different length pauses could mean different multiplication factors. So in essence you could have a single bit representing a multibillion number.
-- simonj, Apr 15 2010

I like it. It's approximately as practical as... A_20staple_20form_20of_20memory
...this shameless piece of self promotion [normzone, Apr 15 2010]

White House tech chalenges http://www.whitehou...request-information
[simonj, Apr 15 2010]

Line Coding http://en.wikipedia.org/wiki/Line_code
[Jinbish, Apr 15 2010]

Heaviside step function http://en.wikipedia...iside_step_function
Useful, but abstract. [8th of 7, Apr 16 2010]

Planck time http://en.wikipedia.org/wiki/Planck_time
Not that useful [8th of 7, Apr 16 2010]

Pauli exclusion principle http://en.wikipedia...exclusion_principle
One at a time, please ... [8th of 7, Apr 16 2010]

Could this be the solution to the white House's problem... :)

An “exascale” supercomputer capable of a million trillion calculations per second – dramatically increasing our ability to understand the world around us through simulation and slashing the time needed to design complex products such as therapeutics, advanced materials, and highly-efficient autos and aircraft.
-- simonj, Apr 15 2010


Not to put too fine a point on it, but what in the world does your idea for low data-rate signalling have to do with your annotation ^ ?

-
-- csea, Apr 15 2010


I thought it might be useful in processing as well
-- simonj, Apr 15 2010


homework assignment: how modems work, and the word "slew" as applied to electronics.
-- FlyingToaster, Apr 15 2010


ack homework, and i'm not even at home!
-- xxobot, Apr 15 2010


0.0002 seconds is a long time in data transmission. In that amount of time you can send a lot of data. At 1Mbps you could squeeze in 200 bits of data (and you can fit a very large number in 200 bits of data).

This encoding method could be used as a simple but very inefficient way of digitizing an analog waveform.
-- xaviergisz, Apr 15 2010


I just pulled .0002 seconds out of my hat as an example. it could be .00000000002 seconds, or two cycles, or any other predetermined number.
-- simonj, Apr 15 2010


If your hardware can resolve the difference between a 0.00000000002 second pause and a 0.00000000003 second pause then you can just as easily send a bit in 0.00000000001 seconds. My point is, it is more efficient to send bits rather than waste that time with a pause.

With your method, to encode the message: [multiply the previous bit by 100] would require a single bit followed by a pause of 100 beats/clock cycles.

In a more efficient scheme would have a single bit followed by the bit string 1100100 (which is the binary representation of decimal 100). Note that this takes only 7 beats/clock cycles.
-- xaviergisz, Apr 15 2010


If you send a bit in that pause then you are just sending the next digit in the binary sequence (which = double the previous one) By untilizing the pause you can make it equal 10x rather than just 2x

And anyway you would not wait 100 cycles to multiply by 100, it would take only 2...

One cycle = x10 Two cycles = x100 Three cycles = x1000 Four cycles = x10000 etc
-- simonj, Apr 15 2010


It's called "pulse position modulation" and it's been around for a while ...
-- 8th of 7, Apr 15 2010


//Binary computer data is made of bits represented by 1s and 0s, with 1 generally indicated by 5 volts and 0 by less than 5 volts (say, 1 volt)//

Guess what, [simonj], there are a whole host of ways to represent data. Look up some basic line coding techniques. You have to take into account the required frequency & bandwidth of transmission, the susceptibility to noise, the transmission power, etc...

The issue with your suggestion, which is, as [8th] says, called PPM, is that it requires tight timing constraints and synchronization.
-- Jinbish, Apr 15 2010


So, basically the proposal is to move over to an analogue communication system?
-- MaxwellBuchanan, Apr 15 2010


// It's called "pulse position modulation"

Sweet I thpought up somethig that works! is there any way to implement it in today's broadband networks?
-- simonj, Apr 15 2010


So is the idea to be able to send some particular large numbers more effectively? Even if one assumes the communication wire has three states (bit "0", bit "1", and "pause") your encoding would be useful for some numbers (e.g. 1,000 could be sent as 1PPP rather than 1111101000) but it wouldn't do much for most others (e.g. 999 would still be 1111100111). If large numbers won't need as much precision as smaller ones, using floating-point would be better than using a three-states communications line in the manner you describe.

BTW, if one had a communications wire that could hold 3 states, one would be better off packing three bits into each pair of 'trits', or 19 bits into each 12 trits, than trying to represent numbers in weird complicated ways.
-- supercat, Apr 15 2010


[simonj]: Yes. Kind of. Only problem is that it has poor performance!

There are two things here:
i) Using position of a pulse to represent data
ii) coding data to save space (representing information as efficiently as possible)

Now, addressing them:
i) PPM is challenging to synchronize (i.e. sender and receiver have to have same clocks) and is very vulnerable to timing errors. It is used in some places but Pulse Coded Modulation (PCM) is generally better.
Look up Line Coding for more (like I suggested)
ii) Coding data to save space - which is what you're trying to do with the "multiply previous bit" idea is a very well researched idea - it's called Source Coding. (This type of coding includes the kind of algorithms used when you ZIP a file).
-- Jinbish, Apr 15 2010


//So, basically the proposal is to move over to an analogue communication system?//

With regard to pulse-position encoding, when a pulse is sent over any medium, the voltage and the time will vary unpredictably by bounded amounts. Better media will have smaller variations, but some variations are inevitable.

Simpler methods of sending data simply ensure that the variations in the media will be small enough not to cause any confusion at the receiving end. Better methods identify the characteristics of the line more precisely (either through measurement or specification), determine what amounts of "confusion" might arise, and deal with them.
-- supercat, Apr 16 2010


Sadly, the Heaviside step function only exists in theory, And the Planck time is the ultimate lower linit of clock resolution.

<links>
-- 8th of 7, Apr 16 2010


Good plan; in fact, why ever UnZip the data at all ? Huge computational savings could be obtained by just processing the zipped data directy ...
-- 8th of 7, Apr 16 2010


// looks smudged on reception //

Is it actually smudged, or does it just look smudged ?

// all electronics is analogue //

<sigh>

<points at diagram on blackboard showing crude but effective illustration of quantum nature of electron>

At a fundamental level, electronics ("stuff done with electrons") (q.v.) is unavoidably digital.

<points at diagram on blackboard showing crude but effective illustration of Pauli's Exclusion Principle>

<link>
-- 8th of 7, Apr 16 2010



random, halfbakery