N-State Switching

© 2005-2009 Peter Lablans

You may use the contents of this website for non-commercial purposes only.
Acknowledgement of copyright required.
Please note that marked patent protected Intellectual Property is contained within this document.

Introduction

In binary logic one may use a device with 2 inputs and one output.  Such a device may realize an AND function. A diagram of such a device having inputs A and B and output C is shown below.

The relationship between A, B and C may be provided in an expression (A AND B) = C. Another and more commonly used way is to provide a truth table of the AND function. This truth table is provided below.

The inputs A and B can each assume one of two states: 0 or 1. For each combination of A and B the AND function will generate a state for C.  The state of C is shown under the horizontal line and right to the vertical line in the truth table.  One can see for instance that for A=1 and B=1 that C=1.  For all other combinations of A and B the state of C is 0.   The values above the horizontal line and left of the vertical line only serve as a reference to the input states.

The term "state" is used.  One may also use the term "value".  The above circuit may be called a two-valued or a binary circuit, and its corresponding truth table a 2-valued truth table. The signals A and B may assume one of 2 states of values (0 or 1). Another term for 2-valued is binary.  The 2-valued or binary truth table is a 2 x 2 matrix.

In n-state logic or n-valued logic signals are used that may assume one of n values or n states with n>2.  An n-valued truth table has n input values on input A and n input values on input B.  This means that the truth table is an n x n matrix.

The following shows an example of a 4-valued logic function, being defined as ADDMOD4 or the modulo-4 adder.  The circuit is shown below.

The truth table of the function is shown below.

The truth table of this function is a 4 x 4 matrix.  A signal in a 4-valued or 4-state logic can assume one of 4 possible states or values.

This is really all the fundamental knowledge required for n-state switching.  Truth tables may show some particular or useful properties. Finding and applying these properies is one of the purposes of n-state switching.

Many people wonder if this expansion of states or values is allowed or possible.  The answer is : yes, it is allowed.  There is no fundamental reason why one should be limited to only two possible states for a signal.

Content of this site

An effort has been made to keep things simple. Some theory has to be applied, but readers probably are already familiar with most of the concepts.

  1.  Binary logic, truth tables, functions and signals
  2.  Problems with logic values, states and meaning
  3.  Multi-value logic 
  4.  Multi-value logic inverters  
  5. Binary and ternary ripple adders  
  6.  Multi-valued signal processing and multi-value logic
  7.  The gates, switches and physics
  8. The multi-valued latch
  9.  What can you do with it ?
  10.  The strangeness factor
  11. An analogy
  12. Patents and Patent Applications
  13. White Papers
  14. Sudoku Rules
  15. Addition and Multiplication Tables in GF(2^m)
  16. N-state Spread Spectrum Sequences
  17. Switching Algebra
  18. Contact

1. Binary logic, truth tables, functions and signals

Binary logic describes the switching behavior of a binary (electronic) switch. Such a switch has two input signals ('a' and 'b') and one output signal ('c'), as shown in the next figure. A property of the input and output signals is that they all can assume one of two values in general given as '0' and '1'.
 
The shown switch executes the binary 'exclusive or' or 'NOT EQUAL' function. This means that the output c is '1'  if  'a ≠ b'. Or if written for all possible combinations of 'a' and 'b':

- If 'a = 0' and 'b = 0' then 'c' is 0 (because 'a' and 'b' are equal).
- If 'a'= 0' and 'b = 1' then 'c' is 1 (because 'a' and 'b' are not equal).
- If 'a'= 1' and 'b = 0' then 'c' is 1 (because 'a' and 'b' are not equal).
- If 'a = 1' and 'b = 1' then 'c' is 0 (because 'a' and 'b' are equal).

These 4 combinations of 'a' and 'b' represent all possible combinations for 'a' and 'b' in binary logic. Usually the relation between possible input and output values are depicted in a matrix form called 'truth tables'. The following figure shows the truth table for the binary 'NOT EQUAL' function.



The possible values of the inputs 'a' and 'b' are the coordinates for the output 'c'. The input values of 'a' and 'b' are '0' or '1'. The possible values of the output 'c' are also '0' and '1'. There are 4 possible input combinations: (0,0), (0,1), (1,0) and (1,1). Each output can assume 2 different values. So there are 2 x 2 x 2 x 2= 16 possible different output combinations and consequently also 16 different binary 'truth tables'. These describe 16 different binary logic functions. The following figure shows all 16 possible binary truth tables.

For some functions (or truth tables) it does not matter if 'a' is 0 and 'b' is 1 or 'a' is 1 and 'b' is 0. Or the input state (0,1) is identical with (1,0). The truth tables are then symmetrical over their diagonal axis. These functions are called commutative. The addition of two numbers 'a' and 'b' is an example of a commutative function: a+b= b+a. If a function is not commutative it is called non-commutative. An example of a non-commutative function is a>b. If 'a' is greater than 'b' then 'b' cannot be greater than 'a'.

Commutativity in a logic function is more readily demonstrated in expressing it in an assignment expression. The 'exclusive or' or 'NOT EQUAL' function can be expressed as:
c → a ≠ b
which is equal to: 
c → b ≠ a .
The right arrow is used as an assignment character to distinguish from the equal character '=' which is a logic function.

The switching logic that is expressed in formulas is generally known as Boolean logic, and is named after George Boole. Claude Shannon realized that Boolean expressions represented the switching performance of electric relay circuits. He presented his ideas in his Master Thesis "A symbolic analysis of relay and switching circuits" at MIT in 1936. Shannon in this thesis provides several example circuits, such as a counter, and a ripple adder.

Binary signals

Binary signals are designated as being '0' or '1'. This does not mean that the corresponding signals are actually 0 Volt and 1 Volt. What it means is that the signal has two distinguishable and different levels and we just name them '0' and '1'.

The following figure shows a signal a=[0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1].

The shown signal consists of 16 individual binary elements or bits. Another binary signal is b=[1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0]. The following figure shows the signals 'a' and 'b' applied to the binary function 'NOT EQUAL' realizing the expression:
c → a ≠ b. It also shows the resulting signal 'c'.



2. Problems with logic states, values and meaning


Binary logic is the recognized foundation for computers and logic circuits. It is so well entrenched in our thinking and accepted as the fundament of logic that the binary concepts that were supposed to merely explain and clarify the application of binary logic now largely dictate our understanding of logic.

For instance 1 and 0 are 'known' to be equivalent to 'true' and 'false'. And the logic '1' is equivalent with the arithmetical '1', that is why computers can do calculations. This is not incorrect, but there are some qualifications to that statement:

1. electronic binary signal voltage levels are 'low' or 'high'
2. 'low' levels are called '0' and 'high' levels are called '1'
3. the truth table of the binary '≠' switch coincides with the modulo-2 addition function
4. the '≠' function is assumed to be identical with the modulo-2 addition
5. the logic '1' is assumed to be identical to the arithmetical '1' and the logical '0' is assumed to be identical to the arithmetical '0'.

There is no fundamental reason why we cannot make the '1' state equivalent to the arithmetical '2'. This seems far fetched. However in digital wireless communications the logic '0' is set as equivalent to the arithmetical '-1' to calculate correlation properties.

In general we consider '0' and '1' as fundamental properties of switching logic. By assigning these values to logic states we have given meaning or value to (what essentially are) meaningless logic states. This is a two-edged sword. It helps us work with binary logic, but it also limits our capability to look beyond binary logic. Mainly because concepts like 'true' and 'false' or 'on' and 'off' have no equivalent in multi-value logic.

Even more serious trouble arises around concepts like inversion of states or values. In binary logic the opposite of '1' is '0'. Or the opposite of 'true' is 'false'. It is reasonable to assume that if '0' is 'false' and '1' is true that '2'  as a third state has to mean something like 'perhaps'. But 'perhaps' as we understand it is no state. And we also do not have an inversion for it.

States in reality are meaningless. They are just what they are: names or labels for something that is different from something else. Also there are limited ways to get from one state to another one by applying logic. To say that states are meaningless does not mean that they are useless. It just means that they do not have any inherent value or meaning. To clarify the concept of a 'meaningless' state the following figure shows the truth table for the binary '≠' function. However the binary logic states are now 'green' and 'red'. Another example is to use '3' and '5' as designated states.



These truth tables have little significance beyond describing some switching mechanism. When we can look at binary logic as 2-state switching with arbitrarily named states it becomes much easier to accept 3-state switching as ternary logic without worrying what these states may signify.

3. Multi-value logic

Multi-value logic is defined as a non-binary logic and involves the switching between more than 2 states. We will assume that multi-value logic devices will be limited to 2 inputs/single output functions. A ternary or 3-value logic function is one that has two inputs which can assume three states (say 0, 1 and 2) and generates one output signal that can have one of these three states.

Symbolically a ternary device 'ter' looks the same as a binary one with two inputs and one output.



The truth table of a ternary device looks different from a binary one as there is one more state to deal with. The following figure shows the truth table of a ternary logic function.



This function is commutative (as it doesn't matter if we exchange the 'a' and 'b' inputs). It pretty much looks the same as binary logic, but there are some major differences. Binary logic has 16 different functions. Ternary logic has 3x3x3x3x3x3x3x3x3= 19,683 different functions of which 729 are commutative.

For illustrative purposes the following Visual Basic program may be used. It executes a non-commutative ternary logic function. The inputs can be changed and the program will generate the correct output states. The truth table will identify the correct state. To make the distinction between value and state the input and output signals are color coded.

The VB program can be downloaded in ZIP form by clicking here or on the screenshot.

Ternary signals

Ternary input and output signals can assume one of three levels. Consequently they have more 'information content' than binary signals. The following figure shows the ternary signal a= [2 1 0 1 1 0 2 0 2 2 1 2 0 1 0 2].



The following figure shows the ternary input signals 'a' and 'b' and the ternary output signal 'c' of a ternary logic device executing ternary logic function 'ter'.

This demonstrates how to apply non-binary logic. Keep in mind that the values 0, 1 and 2 are assigned by us and are not inherent to ternary logic. They can for instance be -1, 0 and +1, which is useful in balancing the DC component of the signals, without changing the essence of the logic functions.

The same approach can be applied to other non-binary logics, such as 4-value logic. The number of possible 4-value logic functions is around 4 billion.

4. Multi-value logic inverters

It may seem that multi-value logic is similar to binary logic just with more states and functions. While this is in part true it would ignore fundamentally different properties of multi-value logic compared to binary logic. It is not the purpose of this web page to provide an in-depth analysis of multi-value logic. However one aspect that must be pointed out is the use of state (or value) inversion in multi-value logic.

In binary logic each of the two states '0' and '1' has one inversion. The inversion of '0' is '1' and the inversion of '1' is '0'. Each state has the other as its inversion. This is of course not possible in non-binary logic.

An arithmetical approach to inverters in an m-valued logic in the literature is provided by the formula:
x = (m-1) - y
In this formula y is the 'original' value and x is the 'inverted' value of y.

Much of the literature uses this approach and you will see in many articles that x = [ 2 1 0] is used as the standard ternary inverter of y = [0 1 2]. There are several unsatisfactory aspects to this definition, here are three of them:
a. logic states are being defined on the basis of assigned values
b. not every ternary state can be 'inverted' into another ternary state
c. this inverter is of limited use

State based ternary inverters

In ternary logic there are three states, which we named '0', '1' and '2'. The inversion of state '0' can be '1' or '2'. The most useful inversion is one that can be reversed. For instance the inversion of '0' can be '2' and the inversion of '2' can be '0'. That leaves '1' to have itself as an inversion. The inversion of the signal a=[0 1 2] would then be a'=[2 1 0]. And the inversion of a' is a''=[0 1 2].

Another ternary inversion is where '0' is inverted to '1', '1' is inverted to '2' and '2' is inverted to '0'. The ternary signal a=[0 1 2] has then as its inversion a'=[1 2 0]. The inversion of a' is a''=[2 0 1] and the inversion of a'' is a'''=[0 1 2].

The term inversion in this context is a bit problematic. We are all familiar with inversion as a concept in arithmetic and number theory. In number theory inversion is directly connected with the zero or "null" element. Its existence is one of the axioms for a Field in an Abelian Group under addition. That means that an element 'x' has as inversion an element '-x' such that in addition: (x) + (-x) = 0 .

Because we apply logic to execute arithmetical operations such as addition there is ample opportunity to mix and confuse concepts in logic and arithmetic. However in logic we can define a reversible inversion as a state transformation, with such properties that a state transformed at least 2 consecutive times by an inversion will reach its original state.

Ternary logic has 6 reversible inverters (including the identity). This offers an opportunity for executing certain operations that cannot be done in binary logic, especially related to scrambling of signals and generating of non-binary sequences with some very specific properties. These and other applications are subjects of pending patents with the US Patent and Trademark Office.

5. Binary and ternary ripple adders

Arithmetic and especially addition is often used as an example to demonstrate how binary logic can be "usefully" applied (ignoring the significance of the "control" capabilities of binary logic). This is where we have to provide meaning to states. Applying binary logic to adding two numbers in a base-2 counting system (or radix-2 addition) means that logic state '0' represents the number 0 and the logic state '1' represents the number 1. Adding in radix-2 now looks very much like adding in base 10, as we will apply the same rules:
1. create two numbers in base-2 notation
2. add the numbers base-2 or modulo-2
3. determine if the added numbers create a base-2 carry
4. create two numbers: the modulo-2 addition and the carry results
5. start again at item number 2 of this list and continue until no carry digits are left

This means that two different binary functions are needed: the modulo-2 addition which is the same as the binary 'NOT EQUAL' function. And the 'determine if carry is 1' function, which is the binary 'AND' function.

The same process can be applied to a base-3 or ternary adder. The following figure shows a screen shot of a ternary full adder applying ternary logic functions. The program also executes in parallel a binary adder, so you can compare the number of cycles to complete an addition. It also allows to compare the ripple effect of the carry in ternary and binary addition.


The VB program executing the adder functions in ternary and binary form can be downloaded in zipped format by clicking here or on the figure. Please note that only input values up to 35 are correctly displayed.

6. Multi-value signals, signal processing and multi-value logic

In general multi-value logic or non-binary logic is positioned as a technology that can execute arithmetical functions faster and with less interconnect than binary logic. Further more non-binary data storage would require less physical space than binary data. This is especially important as we are starting to distinguish in the future the limitations of binary logic in silicon.

Even before we see the sunset of binary silicon technology we already are running into other capacity constraints, such as limitations of available bandwidth and spectrum in cable and wireless communications, data storage, processing of noisy signals, watermarking and other signal processing oriented requirements. The application of multi-value (non-binary) digital signals can provide considerable relief of capacity constraints. Applying multi-value logic to the processing of multi-value digital signals can also greatly improve the quality and the cost of multi-value digital signal processing.

Strangely enough multi-value digital signal processing can be done in binary logic, by processing the multi-value symbols as binary words. This principle, well documented but not generally known, is applied in for instance line coding for digital transmission. In the 1980s we saw the appearance of 4B3T codes. In this line-coding scheme a 4 bits binary word is translated into a 3 ternary elements ternary word. Even though the transmission takes place in ternary symbols, all processing such as scrambling and descrambling currently is done in binary logic. The great disadvantage of this approach is the requirement for word synchronization, coding overhead and maintaining a Running Digital Sum. Multi-value line-coding offers an immediate increased use of bandwidth and clearly is worth the cost of processing ternary symbols as binary words.

Currently, the capacity of channels is greatly enhanced by using multi-state modulated transmission signals. In these signals, a signal represents an n-state symbol. The transmission of digital HDTV signals may take place in multi-state modulated signals such as QAM-64 and QAM-256. In general one may create a QAM-n signal. QAM stands for Quadrature Amplitude Modulation. Herein, each of n states is assigned a location in a constellation that is determined by an amplitude and a phase. The following image shows a 16 point rectangular QAM-16 constellation. This image is taken from a Wikipedia site that provides further background on multi-state modulation. Other n-state modulation techniques also exist.

While signals are transmitted as n-state symbols, signal processing is completely binary.

7. The gates, switches and physics

It is not uncommon to hear people assert that the limitations of MVL are caused by the lack of physical multi-value switches. There appears to be some truth to that. But contrary to popular belief we do not need some new exotic physical switching mechanism to realize ternary or multi-valued logic functions. There are sufficient known electronic mechanisms to build any required multi-valued logic functions by applying a limited number of gates.

Recently new technology has been invented (such as SUS-LOC) that allows for direct implementation of multi-value inverters in standard CMOS silicon. SUS-LOC was invented and patented by Dan Olson as USPTO Patent 6,133,754 . Olivier Sentieys and his group at the University of Rennes have applied this technology in designing a basic ternary Digital Signal Processor.

A search on the Web as well in patent databases such as the USPTO 's will provide a whole range of possible physical realizations of MVL switches.

In general, an n-state switch is realized by applying a physical phenomenon wherein a level of the phenomenon determines a state. Such a magnitude based phenomenon is often an amplitude or intensity of a signal. Signal processing or switching technology for implementing an n-state switch involves some addition mechanism. For this reason, for instance two different states cannot exist at the same time at an input or output of an n-state switch.

In a novel approach, non-magnitude based switches are provided, wherein a representation of one state cannot be created by merely adding representations of two other states. The background of the invention of such switches is described in U.S. Patent 7,548,092, entitled "Implementing logic functions with non-magnitude based physical phenomena."

8. The multi-valued latch

Anyone who has designed a logic circuit knows that at certain times sequential circuitry is required. These usually come in the shape of flip-flops or latches. The interesting part about latches is that they work because of the applied switching functions (such as NANDS), not because of the selected switching technology.

This raises then the question how MVL switching functions have to be selected and configured to realize an MVL latch. It turns out that the MVL latch is an extension of the binary latch. But it is a somewhat unexpected extension. Luckily one can actually create MVL memory element using fewer switching elements. These configurations can be viewed in one of my patent applications. The current or classic latch configuration is selected as example because it is in the same class as the binary latches.

The following figure shows a configuration of a 4-state latch. It is comprised of 2 identical 4-valued switching devices 'latch4', configured in feed-back connection. The circuit has 2 inputs, In1 and In2. The output Out1 of the first device may be used as the output of the Latch.



A truth table of a 4-state latch is provided in US Patent 7,397,690.  This patent also provides the causal switching model that allows to determine the appropriate n-state switching functions to make a latch work.  This US Patent can be downloaded by clicking here.

One can easily recognize the standard binary latch in this, though its working is different.

9. What can you do with it ?

Interesting stuff this MVL, but can you do something useful with it? Yes...One can for instance create multi-valued scramblers, descramblers, sequence generators and sequence detectors with the tools here provided. It is beyond the scope of this page to explain the intricacies of LFSRs. However a self-running Powerpoint presentation can be downloaded, that contains embedded VB examples applying MVL. You can download it by clicking here. If you don't have Powerpoint you can download a free viewer from here. Unfortunately the viewer does not activate the VBA macros. In order to run the actual VBA programs you will have to 'enable macros'.

The following screenshot shows one of the actual programs. It shows a 4-valued Galois scrambler and the corresponding 4-valued self-synchronizing descrambler. It also shows how the LFSR is 'flushed'.



The presentation is zipped. Unzip the file, and enable macros for playing the program in Slide Show Mode. Please keep in mind that scramblers and descramblers that are marked are protected by U.S. Patents. You are allowed to use the presentation with the embedded programs "as is". The presentation is provided for educational purposes only. No license for implementing and/or using the protected scramblers and/or descramblers is provided or applied. Contact Ternarylogic LLC to obtain a license. You are not allowed, nor are you licensed to use, modify, copy, implement, sell or distribute any of the protected Intellectual Property disclosed herein.

10. The strangeness factor

There is a strangeness associated with MVL. It seems that binary logic is much more natural and intuitive. It is quite common to show '0's and '1's in TV commercials, or advertising related to Internet applications or computers. The following figure is taken from the Strickland Group site.



It appeals directly to our intuitive recognition of current and advanced technology. We predict that these types of images will become dated and look like early 1950 ads applying images of atoms and radio tubes to invoke a sense of high-technology.



Binary logic (or logic for that matter) is NOT a law of nature. The reason why binary logic seems more natural is because we have been more exposed to it. The feeling of strangeness in MVL disappears once you start working with it. There is no inherent conflict with binary logic once a familiarity with the concepts has been established.

There are much "stranger" and very intriguing (non-classical) logics out there. From that perspective MVL is more like an extension of binary logic and very conventional, though broader in possibilities.

In fact when MVL will be applied on a larger scale we predict that the MV will be dropped from the MVL and the subject will be known as Logic.

11. An analogy

To give an example of things that are possible in ternary logic but not in binary logic we will provide the following analogy:
We can compare binary logic with driving in Manhattan, and are only allowed to drive straight or turn right. Under those conditions there are Targets we will not be able to reach. We will be able to reach those Targets if we are also allowed to turn left. Check the correctness of this in the following figure.

MVL allows us to do things that are not possible in binary logic and we can achieve them in many more ways than in binary. MVL functions can be very useful in applications such as line-coding, data-scrambling, sequence generation for wireless applications, arithmetical engines, and for what probably would be called digital control and MVL combinational applications. The details of these applications are beyond the scope of this introductory web site. However these applications have been developed, simulated in software, tested and validated.

12. Patents and Patent Applications

Is this stuff useful, or is it merely an exercise for the brain? That is a question we often hear after explaining the concepts of MVL. But yes, it really works. How one can realize MVL circuits and what applications one may want to realize in MVL is the subject of a series of Patent Applications. These patent applications have already been published by the US Patent and Trademark Office and can be downloaded in PDF file by clicking on the title. The patent applications are of a set of over 30 inventions. Some of the inventions are pure multi-valued. Others, such as the one on convolutional codes, also deal with binary applications. Another interesting application is number 15 which explains the relation between Fibonacci and Galois LFSRs. Some relevant applications are:

1. Single and composite binary and multi-valued logic functions from gates and inverters;
2. Ternary and multi-value digital signal scramblers, descramblers and sequence generators;
3. Generation and detection of non-binary digital sequences;
4. Ternary and higher multi-value digital scramblers/descramblers;
5. Encipherment Of Digital Sequences By Reversible Transposition Methods;
6. Sequence detection by multi-valued coding;
7. Multi-valued digital information retaining elements and memory devices;
8. Multi-value digital calculating circuits, including multipliers;
9. Multi-valued scrambling and descrambling of digital data on optical disks and other storage media;
10. Sequence detection by multi-valued coding and creation of multi-valued sequences;
11. Binary digital latches not using only NAND or NOR circuits;
12. The Creation and Detection of Binary and Non-Binary Pseudo-Noise Sequences Not Using LFSR Circuits;
13. Methods And Apparatus In Finite Field Polynomial Implementations;
14. Error Correcting Decoding For Convolutional And Recursive Systematic Convolutional Encoded Sequences;
15. Binary And N-Valued LFSR And LFCSR Based Scramblers, Descramblers, Sequence Generators and Detectors In Galois Configuration.

13. White Papers

A series of white papers on aspects of MVL inventions have been created and can be downloaded. Visitors to this site should be cautioned that much of the disclosures in the articles are covered by Patent Applications. Publication of the articles is for educational purposes only. No license for application of the disclosures is granted by this publication.  Such a license can only be obtained in writing from Ternarylogic LLC. All rights to the Intellectual Property are reserved and owned by Ternarylogic LLC.

Basic n-valued approaches

1. N-valued switches.

2. N-valued inverters.

3. Realizing n-valued logic functions.

4. Reducing n-valued logic functions with inverters.

5. Reducing z = ax +by in n-valued logic.


A limited set of applications

1. A general LFSR based descrambler model.

2. A switching model for binary latches.

3. LFSR based sequence detectors.


4. PN generators, not using LFSRs.

5. Improved detection of binary sequences by multi-valued coding.

6. "DON'T CARE" functions in equivalent logic expressions.

7. Logic circuits with gates and inverters in 'chained' expressions.

8. What if one plus one is seven?

14. Sudoku rules

The 9x9 Sudoku matrix is a set of 9 orthogonal reversible 9-valued inverters. Such an inverter is also a sequence of 9 different symbols put in a pseudo-random fashion in the sequence. One can generate such a sequence from a maximum length sequence of 3-valued symbols generated by a word method using 9 overlapping words of 2 ternary symbols. Such a sequence cannot be generated by an LFSR. By replacing each word with its decimal equivalent one then obtains the sequence of 9 different symbols. This sequence can be interpreted as a transposition rule. By performing the transposition rule upon itself and upon the transposition results one can obtain 9 different orthogonal sequences. One can apply this method using a ternary m-sequence of 26 symbols, and thus generating a 26x26 Sudoku matrix of 26 orthogonal sequences of 26 different symbols.

15. Addition and Multiplication Tables in GF(2^m)

Addition and multiplication in binary extension fields can be created from a Galois Field generated from a primitive polynomial of degree m of n=2. How to do that is fairly well documented. Addition and multiplication in GF(2^m) can be reduced to binary operations. This is actually a substitute for performing the actual addition and multiplication in GF(2^m). That may be the reason why it is difficult to find actual truth tables of addition and multiplication over GF(2^m). As a service truth tables for addition and multiplication over GF(8), GF(16), GF(32), GF(64) and GF(256) are provided here. You may download the files by clicking here. The truth table for addition over GF(128) can be generated by creating a table using as inputs a first word of 7 bits and a second word of 7 bits and as output the XOR-ed two words as a third word of 7 bits. As a next step one has then to substitute the decimal value for a binary word. Depending on requirements or preferences one may work with origin 0 or origin 1, keeping in mind that all additions over GF(2^m) are self-reversing.

The truth tables are provided in a zipped Excel spread sheet format. The extension 0 in the file name means that indices and states in such a file are using origin 0. Extension 1 means that indices and states are using origin 1.

IMPORTANT: The truth tables have not been checked extensively. One will use the tables at his or her own risk. No liability for any mistakes is accepted. Please provide feedback if any errors are identified. Please keep in mind that the order of assigned 'values' or 'states' may not coincide with the values of GF(2^m). One may generate simple tables by substituting an n-state with its binary representation. The integer order of these states may not represent the order of states in GF(2^m). Remember: states in GF(2^m) are generated by an LFSR.

16. N-state Spread Spectrum Sequences

Spread-spectrum technology is at the heart of current wireless transmission. Herein in essence a logic symbol such as a '0' or a '1' is replaced by a sequence of '0's and '1's. If a sequence is not intended for a tuned receiver, such a receiver will consider a sequence as noise. By applying correlation means, a tuned receiver finds a sequence to which it is tuned. For such a receiver an intended sequence "sticks out" significantly above the noise of other sequences.

Sequences that apply n-state symbols instead of binary signals differentiate themselves much better from the background noise. For instance one may generate a binary Pseudo-Noise (PN) Maximum sequence of 1023 bits. The following graph displays the auto-correlation graph of such a sequence.



One may create a set of sequences from this sequence, in which each sequence is a shifted version of the original sequence. It is known that these sequences are orthogonal. For instance one may create a set of 24 of the above shifted sequences. All the sequences may be superpositioned and will create a noise signal. The cross-correlation of a sequence that is shifted, but that is not in the noise is in one calculation about -24. However, the correlation of such a sequence when it is also part of the noise is about 1000. This is a very good differentiation.

The following graph shows a auto-correlation graph of a 4-state PN sequence of 1023 symbols.

One can easily see that the peak of such a 4-state graph is higher than of the binary sequence. One may again create a set of 24 orthogonal sequences and superpose them into noise. In such a case a correlation factor of a sequence that is not in the noise (also called cross-correlation) is about -630. When the sequence is in the noise, the correlation is about 2180. This is a significantly better differentiation.

One may apply similar calculations to larger sets of sequences with up to 1023 sequences. The 4-state sequences will demonstrate superior differentiation.

The above approach requires of course strict synchronization. Somewhat less differentiating are Gold sequences. However, they also require less strict synchronization. Again, n-state sequences will demonstrate superior performance.

17. Switching Algebra

While Boole is famous for Boolean algebra, he was actually best known in his time for his methods of solving differential equations. Boole reduced logic expressions to algebraic expressions by working with concepts such as "true" and "false". The Boolean algebra as applied in switching expressions (or switching algebra) is an invention by Claude Shannon and presented in his MIT Master Thesis in 1936. Shannon provides in his thesis several example circuits such as a counter, a ripple adder and a factor and prime table generator including a control circuit.

Shannon mentions in his thesis developments in using more than 2 logic states.

Switching algebra and Boolean algebra appear to avoid using truth tables as a form of proof. There is no reason not to rely on truth tables. Switching functions and switching expressions can generate only a finite number of states. Sometimes the number of states is very large. Clearly, in such a situation is may be beneficial to provide algebraic proofs of expressions. Proof by truth table is as good as an algebraic proof.

18. Contact

©2009, Peter Lablans. All rights reserved.

You may use the content of this site for private use only. If you use any of this site's content you have to acknowledge it as: Source: "N-state switching " at "www.nstatelogic.com", author Peter Lablans. No further permission for private use only is required. Commercial use of all or any of the aspects of this site is strictly prohibited. For educational and commercial use please contact admin at ternarylogic dot com.

Further information on Ternarylogic LLC and its portfolio can be found at www.ternarylogic.com

[TOP]