Does more bits-per-character but less characters-per-second make better use of bandwidth?

What do you mean by "better use"?

Reply to
_
Loading thread data ...

Hi:

Sorry for my persistence on this question but it really does interest me and I?ve not been able to find answers doing my own research. I apologize profusely if anyone is annoyed.

If you have more bits-per-character but less characters-per-second, would this be more efficient in terms of bandwidth usage?

I ask because I am aware that more bits-per-symbol but fewer symbols-per-second makes better use of bandwidth. So I am guessing that this is analogous.

Thanks for your understanding, cooperation, and assistance,

Radium

Reply to
Green Xenon [Radium]

On Sep 14, 7:18 am, _ wrote in

formatting link
:

As explained below, using more bits-per-symbol with fewer symbols-per-second makes better use of bandwidth than using more symbols-per-second with fewer bits-per-symbol.

formatting link

?Conveying more than one bit per symbol has advantages. It reduces the time required to send a given quantity of data, and allows modern modems, FDDI and 100/1000 Mbit/s Ethernet LANs, and others, to achieve high data rates. An optimal symbol set design takes into account channel bandwidth, desired information rate, noise characteristics of the channel and the receiver, and receiver and decoder complexity. A typical

2400-bit/s modem transmits at 600 baud (600 symbol/s), where each quadrature amplitude modulation symbol carries four bits of information. 1000 Mbit/s Ethernet LAN cables use many wire pairs and many bits per symbol to encode their data payloads. 1000BASE-T uses four wire pairs and two data bits per symbol to get a symbol rate of 125MBd.?
Reply to
Green Xenon [Radium]

Shannon's theorem says that the channel capacity (i.e. absolute maximum number of bits per second transmitted) in a noisy channel is

C = BW*log_2(1+SNR).

The low SNR limit of this is

C ~ BW*SNR/ln(2) (SNR > 1)

which basically says that by using N-level signalling, you can get log_2(N) times as much data if you have N times more SNR. If you have 1 nW of noise, you can fit 1024 levels in with the same error rate as if you have two levels and a 1.024 uW of noise. Unfortunately since that's only 10 bits' worth, you get only 10 times more data for 30 dB more transmitted power (assuming the noise is additive).

Cheers,

Phil Hobbs

Reply to
Phil Hobbs

formatting link

Reply to
Charles

On Sep 14, 7:38 am, Phil Hobbs wrote in

formatting link
:

On Sep 14, 3:28 pm, "Charles" wrote in

formatting link
:

formatting link
>

Thanks but I still don't understand, would ?more bits-per-character but less characters-per-second? use less bandwidth than ?less bits-per-character but more characters-per-second??

Reply to
Green Xenon [Radium]

[....]

(A) It really needs to be worked out in terms of how much information is really being sent per second.

(B) It really needs to be worked out in terms of how much information is really being sent per second.

(C) IItt rreeaallllyy nneeeeddss ttoo bbee wwoorrkkeedd oouutt iinn tteerrmmss oogf hhooww mmuucchh iinnffoorrmmaattiioonn iiss rreeaallllyy bbeeiinngg sseenntt ppeerr sseeccoonndd.

(A) carried information. (B) was a repeat of (A) so no information was carried. (C) took 16 bits per character.

When you add bits to a character, there is no added information in the data stream unless those bits mean something.

Reply to
MooseFET

formatting link
:

It seems that the baud rate differs from bit rate on devices like modems, which use combinations of frequencies and amplitudes to pack more bits into each symbol. But at the level of a USART, or RS-232, there is only one bit per symbol, consisting of a logic high/low, or mark/space. Asynchronous communication also requires at least a start bit, and one or two stop bits, with the actual data contained in a 5 to 8 bit code. So, for a given value of bits/sec, you can transfer more data per second with an 8 bit code than a 5 bit code. The sequence of bits is called a frame, which might be considered a symbol. 8 bits are needed to transmit 6 bits of information, and 10 bits for 8 bits of information. So, at 4800 bps, you can transmit

600 or 480 frames per second, corresponding to 600*6=3600 or 480*8=3840 bits/second of data.

There may also be more overhead if a parity bit is used, and even more with CRC error correction. But without error correction, there is a chance of bad data being received, which could be disastrous for critical binary data, but more tolerable for text, which has some built-in redundancy which makes it readable even if some characters are missing or incorrect.

I found a fairly simple explanation of the RS232 spec at:

I'm not a communications expert, but I have had to deal with transmitting data on a serial port. For my Ortmaster product, I need to transmit 10 or

12 bit A/D readings at 2400 per second. I use two 8 bit frames, with 1 start and 1 stop bit each, so I have two extra bits per frame. I use these for error detection, by incrementing a two bit counter for each reading. If the counters do not match, I know that a frame has been missed, so I resynchronize and set the erroneous sample to zero. I use 57600 bps for communication. The absolute minimum would be 48k.

Paul

Reply to
Paul E. Schoen

formatting link

formatting link

formatting link

How are you sending 'characters' if not as sequences of bits, then?

Cheers,

Phil Hobbs

Reply to
Phil Hobbs

If the signal is binary (has only two recognizable states), one can only send a sequence of (at most) one bit symbols. If the signal can take on values

-2, -1, 0,+1, +2, then there are five symbols, each having a little over two bits of information. Gigabit ethernet uses such a multi-level signal scheme.

The 'SNR' part of Shannon's theorem represents the limit of how many symbols can be represented, and acts as the number of bits per symbol (it's not the real number of bits, just a MAXIMUM value, a limit). For gigabit ethernet, there are more symbols, but less noise tolerance, than for 100baseT. But the two standards use the same bandwidth and baud rate.

Reply to
whit3rd

Bit means Binary Digit.

Shannon says the binary digit is the most efficient way of encoding information.

However Skybuck says it might not always be practical ;)

Your hands have ten fingers.

The way people count is:

. = finger down | = finger up

- = hand seperator

.....-..... = 0 |....-..... = 1 ||...-..... = 2 |||..-..... = 3 ||||.-..... = 4 |||||-..... = 5 |||||-|.... = 6 |||||-||... = 7 |||||-|||.. = 8 |||||-||||. = 9 |||||-||||| = 10

This numbering is called a decimal digit.

The way computers count is to flip/flop each finger (using as many combinations as possible):

The number 10 is a special number, which indicates a transfer has taken place in the positional numbering system.

The way computers count is:

.....-..... = 0 |....-..... = 1 .|...-..... = 2 ||...-..... = 3 ..|..-..... = 4 |.|..-..... = 5 .||..-..... = 6 |||..-..... = 7 ...|.-..... = 8 |..|.-..... = 9 .|.|.-..... = 10 ||.|.-..... = 11 ..||.-..... = 12 |.||.-..... = 13 .|||.-..... = 14 ||||.-..... = 15 ....|-..... = 16 |...|-..... = 17 .|..|-..... = 18 ||..|-..... = 19 ..|.|-..... = 20 |.|.|-..... = 21 .||.|-..... = 22 |||.|-..... = 23 ...||-..... = 24 |..||-..... = 25 .|.||-..... = 26 ||.||-..... = 27 ..|||-..... = 28 |.|||-..... = 29 .||||-..... = 30 |||||-..... = 31 .....-|.... = 32

With just one hand a computer can encode 32 different values (including zero).

For each extra finger the number of values doubles.

Let's see if it's possible to improve on the binary digital numbering system.

Suppose a finger can have 3 positions instead of two:

. = finger down

  • = finger half way | = finger up

.....-..... = 0

+....-..... = 1 |....-..... = 2 .+...-..... = 3 ++...-..... = 4 |+...-..... = 5 .|...-..... = 6 +|...-..... = 7 ||...-..... = 8 ..+..-..... = 9 +.+..-..... = 10 |.+..-..... = 11 .++..-..... = 12 +++..-..... = 13 |++..-..... = 14 .|+..-..... = 15 +|+..-..... = 16 ||+..-..... = 17 ..|..-..... = 18 +.|..-..... = 19 |.|..-..... = 20 .+|..-..... = 21 ++|..-..... = 22 |+|..-..... = 23 .||..-..... = 24 +||..-..... = 25 |||..-..... = 26 ...+.-..... = 27 +..+.-..... = 28 |..+.-..... = 29 .+.+.-..... = 30 ++.+.-..... = 31 |+.+.-..... = 32 .|.+.-..... = 33 +|.+.-..... = 34 ||.+.-..... = 35 ..++.-..... = 36 +.++.-..... = 37 |.++.-..... = 38 .+++.-..... = 39 ++++.-..... = 40 |+++.-..... = 41 .|++.-..... = 42 +|++.-..... = 43 ||++.-..... = 44 ..|+.-..... = 45 +.|+.-..... = 46 |.|+.-..... = 47 .+|+.-..... = 48 ++|+.-..... = 49 |+|+.-..... = 50 .||+.-..... = 51 +||+.-..... = 52 |||+.-..... = 53

Well at this point I am gonna stop since it looks like the tertiary numbering system is more efficient.

However shannon says no, the binary digit is the most efficient encoding so there must be a way to encode more efficient.

This would require "repacking" the system above.

You would have to cut off the top of your finger, and keep the bottom and middle together to be able to alternate.

. = bottom half

  • = middle half | = top cut off

Then they can be used as a binary system:

Suppose there were only 3 fingers:

The possibilities become:

... = 0

+.. = 1 .+. = 2 ++. = 3 ..+ = 4 +.+ = 5 .++ = 6 +++ = 7

...| = 8

+..| = 9 .+.| = 10 ++.| = 11 ..+| = 12 +.+| = 13 .++| = 14 +++| = 15

...|| = 16

+..|| = 17 .+.|| = 18 ++.|| = 19 ..+|| = 20 +.+|| = 21 .++|| = 22 +++|| = 23

...||| = 24

+..||| = 25 .+.||| = 26 ++.||| = 27 ..+||| = 28 +.+||| = 29 .++||| = 30 +++||| = 31

Let's compare:

The tertiary system had 26 + zero = 27 values for 3 fingers with 3 positions

The binary system had 31 + zero = 32 values for 3 fingers with 2 positions, and 3 seperated tops.

Now pretend it's possible to make a new finger from the 3 seperated tops.

This would give one new finger.

So there would be four fingers with one extra top.

Now suppose we had 4 fingers to start with, we would have had 4 tops and that would have given two perfect new fingers for a total of 6 fingers.

So then it's easy to see that with only 4 fingers it's possible to encode

2^6 = 64 different values.

Following this example:

If we cut each finger in three pieces and reattached the top two.

We still have 10 alternating fingers plus 20 spare parts.

If each spare part can be reconnected to the hand we have 30 alternating fingers.

So we can encode 2^30 = 4294967296 values with a binary system for our hands/finger bones.

The question now is:

How many times can you divide a finger ?

Or how many different positions can you make with your fingers ?

(I would call this: How many values can you encode per symbol ?)

For example you could bend them slightly...

But then it becomes increasingly difficult for other people to see which value you are expressing.

For example: it's to difficult to see the rotation in degrees.

For example: the finger has become too small... like a few micrometers.

This introduces errors in the "symbol" encoding.

Now once you have figured out a comfortable encoding per symbol.

A different question is:

How many hands can you transmit per second ?

Or in other words:

How quickly can you move all your fingers at once to make a new number and how fast can somebody else read this and determine the number, before you make the next number with your hands.

This is the ammount of "numbers" or "digits" per second.

So I will give you a formula which is maybe more clear to you, instead of the baud formula:

Skybuck's Formula for Bandwidth: Digits per second * Values per Digit.

I would find the word "symbol" confusing because a digit is visually represented by a symbol.

Thus for a digit or number to be visualized each value needs it's own symbol.

For our decimal system:

0 = symbol 0 1 = symbol 1 2 = symbol 2 3 = symbol 3 4 = symbol 4 5 = symbol 5 6 = symbol 6 7 = symbol 7 8 = symbol 8 9 = symbol 9

No more symbols.

Every other decimal number consists out of these digits or symbols ;)

For example:

345345345

So I hope this answers your question a little bit.

To increase bandwidth you can do two things:

Increase digits per second.

or

Increase values per digit.

But because increasing the number of values is kinda the same as increasing the number of digits per second if values are re-encoded to be binary it's more or less the same.

So if you decrease one and increase the other you are just shifting bits and possibly error rates, the total bandwidth stays more or less the same.

It depends how much you increase the one and decrease the other ;)

Bye, Skybuck.

Reply to
Skybuck Flying

Little mistake I made here because I tried to adept to somebody's confusing term of symbol.

Correction:

I like to think of a symbol as being one unique value.

So I ment:

(I would call this: How many different/unique values (or symbols) can you encode/make per digit ?)

Bye, Skybuck ;)

Reply to
Skybuck Flying

Shannon says no such thing.

Skybuck *never* has anything practical.

No, they have four.

How would you know what people do?

Exactly!

--
  Keith
Reply to
krw

Sure. That's why I didn't understand the OP's confusion. Multilevel signalling depends on high SNR, but you win logarithmically with transmitted power, rather than linearly with bandwidth or number of parallel channels.

Cheers,

Phil Hobbs

Reply to
Phil Hobbs

Misquoting idiot.

Reply to
Skybuck Flying

Yes, perhaps I did misquote idiot. Shannon would be happy though. No information was lost.

--
  Keith
Reply to
krw

Shannon would be sad, great information replaced with the lunacy of a lunatic.

Bye, Skybuck.

Reply to
Skybuck Flying

Yes, Shannon is turning in his grave at your mere mention of his name. Please go away and learn something (then don't come back).

--
  Keith
Reply to
krw

Not always.

Actually Shannon is no longer with us and he never said that. In Shannons and many other people's writings, the bit is the unit of information.

.. and a guy named James says "Help! Help! The aliens are sucking my brain out".

Only if you count your thumbs as fingers and you never worked in a saw mill.

You've never been to China and have flexible hands.

..!!!-..... = 3

No, it is called weird hand signals. A decimal digit would be only one finger.

Most computers do this in most cases. It isn't a hard and fast rule though. Some also have an extra bit for every several that is only true for one clock cycle.

Huh?

[...]

You need to define "improve"

We've known about base 3 for years and years.

[....]

No, it just looks like base 3. You have two transistors, design a circuit that remembers 3 states.

Stop claiming he said things he didn't.

[...]

No lets not. Lets take the case where the fingers can be in 1,000,023 positions, with only one finger you can do much better than you silly base and limited 3 method. For that matter, you have over looked the problem of irrational numbers. If the finger can have exp(sqrt(2) * pi), you can encode numbers that would normally need an infinite number of fingers using just two.

Reply to
MooseFET

Skybuck Flying (who I kill filed ages ago) is a good example of a person who is not smart enough to know he isn't smart.

Probably the product of a modern education where pupils must never be criticised or allowed to fail because it might damage their self esteem.

formatting link

Try putting some wrong answers in the above test. If you don't know what

1.1 + 2.4 is you will not be told you stupid or lazy or even wrong, you will be told "Hard luck. Try again!." The dim pupils of today don't know they are dim they must just think they are really unlucky.
Reply to
nospam

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.