ADSL encoder and decoder
The present invention is an ADSL encoder and decoder. Wherein, the ADSL encoder comprises a digital signal processor, a buffer, a bit extractor and a constellation point mapper. The digital signal processor delivers data bits to the buffer, and again the delivered data bits are transmitted to the bit extractor by buffer. Bit extractor shifts partial received data bits to an extracted data. The constellation point mapper processes constellation point mapping operation corresponding to the extracted data based on transmitted bits that a sub-carrier can transmit. The ADSL decoder comprises a constellation decoder, a bit packet component and a buffer. The constellation decoder combines a horizontal axis data and a vertical axis data to packed data depending on constellation decoding procedures. The bit packet component stores extracted data to digital data in sequence, and the digital data is stored by buffer in sequence as well, then transmitted to digital signal processor.
Latest Patents:
This is a divisional of co-pending Ser. No. 10/103,471, filed Mar. 21, 2002, now pending.
FIELD OF THE INVENTIONThe present invention is related to an ADSL network component, especially about an ADSL encoder and decoder.
BACKGROUND OF THE INVENTIONAs increasing of a large amount of data transmission, requirements of bandwidth on the network are gradually advanced. To reach the requirements on network bandwidth, there are many transmission tools produced, which as ISDN modem, cable modem, asymmetrical digital subscriber line (ADSL), etc, wherein ADSL is the most type to be used for a wideband transmission.
Each transmission type has its own encoder and decoder for its convenience and speed. Talking about ADSL, general affair is to individually install a memory device to an ADSL encoder and an ADSL decoder. The memory device stores a constellation diagram when encoding and decoding. While the ADSL encoder/decoder encoding/decoding data for transmitting/receiving, encode/decode parameters comparative to constellation diagrams in the memory devices shall be found according to at the time of encoding/decoding conditions. After the encoding/decoding parameters being found, data for transmitting/receiving just can be processed for continuing encode/decode process.
As a conclusion, the prior arts of encoder and decoder are to install storage devices having constellation diagrams firstly; the encode/decode process is then executed after the comparative encode/decode parameters being found.
Based on the aforesaid issues, the present inventor of the patent has being studied and referred to practical experiences and theory for designing and effectively improving the prior arts.
SUMMARY OF THE INVENTIONThe first objective of the present invention is to offer an ADSL encoder and decoder, which rapidly encodes data for transmitting and decodes data for receiving without constellation diagrams.
The second objective of the present invention is to offer an ADSL encoder to handle digital data. The digital data comprises at least one bit, and a sub-carrier for transmitting includes data together with transmitted bits. The ADSL encoder comprises a digital signal processor, a buffer, a bit extractor and a constellation point mapper. The digital signal processor transmits digital data to the buffer, and buffer receives the digital data from digital signal processor and stores bits in digital data in sequence. The bit extractor receives the digital data one byte by one byte from buffer and shifts the aforesaid data including transmitted bits to extracted data. The constellation point mapper starts constellation point mapping operation corresponding to extracted data based on transmitted bits.
The third objective of the present invention is to offer an ADSL decoder to process horizontal axis data and vertical axis data input from exterior. The ADSL decoder comprises a constellation point demapper, a bit packet component and a buffer. The constellation point demapper combines the horizontal axis data and the vertical axis data to a set of the extracted data based on constellation decoding procedure. The bit packet component stores the extracted data to become digital data with at least one bit in sequence. The buffer stores the digital data in sequence from bit packet components and transmits digital data to the digital signal processor.
The present invention adopts logic circuits to make ADSL encoder and decoder dealing with encoding and decoding procedures without searching constellation diagram, and further, the storage device in ADSL encoder and decoder is no longer existed.
The appended drawings will provide further illustration of the present invention, together with description; serve to explain the principles of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
Please refer to
Following will be further described for ADSL encoder manipulation. Please refer to
After data bits whose amount equal to transmitted bits being forwarded into extracted data 166, constellation point mapper 18 starts point-mapping operation based on the value of transmitted bits. Please refer to
In constellation point mapper 18, extracted data 166 is started constellation point mapping operation based on transmitted bits. The operation shall be engaged by logic circuits or cooperation of software and hardware, hence there is no corresponding circuits shown in figure, and instead of some formulas. Following is formulas of constellation corresponding to transmitted bits, and v17 represents the highest bit of extracted data 166; following are v16, v15, etc., and the last one is v0; assuming a value of the transmitted bits is b, then:
(1) When b is even, altering is not needed.
(2) When b is equal to 3, then,
Xc={overscore (v17)}·v16+v17·{overscore (v15)};
Yc={overscore (v17)}·v15+v17·v16;
shifting extracted data 166 one bit toward right;
v17=Xc; and
v16=Yc.
(3) When b is odd and greater than 3, then,
Xc=v16·({overscore (v17)}+{overscore (v15)}+v14)+v17·{overscore (v15)}·v14;
Yc=v15·({overscore (v17)}+v16)+v17·v13·(v15+v16);
Xc-1=v16·({overscore (v17)}+{overscore (v15)}+{overscore (v14)})+v17·{overscore (v15)}·{overscore (v14)};
Yc-1=v15·({overscore (v17)}+v16)+v17·{overscore (v13)}·(v15+v16);
shifting extracted data 166 one bit toward right;
v17=Xc;
v16=Yc;
v15=Xc-1; and
v14=Yc-1.
When above constellation point mapping operation is done, each bit in extracted data 166 is transmitted to the horizontal axis data 182 and the vertical axis data 184 (shown in
After above operation, horizontal axis data and vertical axis data shall be individually forwarded to a signal-receiving end via ADSL network and ADSL dispatching end. After the signal-receiving end receiving the data, decoder decodes the data to transfer correct digital information.
Please refer to
Please refer to
Hence, different constellation decoding procedures are processed, because aforesaid the value of receiving bits are different than the transmitted bits from the sub-carrier on ADSL. Therefore, assuming a value of RxBit from constellation point demapper 38 in
(1)When b is even:
shifting packed data 386 16-b bits toward right; and
shifting from the lowest bit in packed data 386 b bits toward right to bit
packet component 36.
(2) When b is equal to 3:
Xb=μ15⊕μ13+μ14⊕μ12;
shifting packed data 386 one bit toward left;
μ15=Xb;
shifting packed data 386 16-b bits toward right; and
shifting from the lowest bit in packed data 386 b bits toward right to bit
packet component 36.
(3) When b is odd and greater than 3:
Xb=μ15⊕μ13+μ14⊕μ12
Yb=μ15·μ13+(μ15⊕μ13)·μ14
Zb=μ14·μ12+(μ14⊕μ12)·{overscore (μ15)};
shifting packed data 386 16-b bits toward right;
μ15=Xb;
μ14=Yb;
μ13=Zb;
shifting packed data 386 16-b bits toward right; and
shifting from the lowest bit in packed data 386 b bits toward right to bit
packet component 36.
When above constellation decoding procedures are finished, data is then delivered to bit packet component 36. Although, packed data 386 is appeared both in
Please refer to
As a conclusion, advantages from the present invention are listed as following: encoding and decoding can be processed without searching constellation diagram. Therefore, a storage device for storing constellation diagram is no longer needed and some time for searching constellation diagram can be saved.
While the present invention has been shown and described with reference to preferred embodiments thereof, and in terms of the illustrative drawings, it should be not considered as limited thereby. Thus, the present invention is infinitely used. However, various possible modification, omission, and alterations could be conceived of by one skilled in the art to the form and the content of any particular embodiment, without departing from the scope and the sprit of the present invention.
The invention is disclosed and is intended to be limited only the scope of the appended claims and its equivalent area.
Claims
1. An ADSL encoder processing a digital data including at least one data bit and a sub-carrier for transmitting a data including transmitted bits, the ADSL encoder comprising:
- a digital signal processor outputting the digital data;
- a buffer storing plural data bits of digital data output from the digital signal processor in sequence.
- a bit extractor receiving the data bits from the buffer one byte by one byte, and shifting a data with plural transmitted bits in data bits to an extracted data; and
- a constellation point mapper starting constellation point mapping operation corresponding to the extracted data based on the transmitted bits.
2. The ADSL encoder as cited in claim 1, wherein the bit extractor further comprises a loading controller to control the data bits delivered from the buffer to bit extractor and shifted bits in the extracted data.
3. The ADSL encoder as cited in claim 2, wherein the loading controller controls a range of shifted bits in extracted data is between 2 to 15.
4. The ADSL encoder as cited in claim 1, wherein the extracted data is set a predetermined value before the constellation point mapping operation.
5. The ADSL encoder as cited in claim 1, wherein a value of the transmitted bits is even, the constellation point mapper starts the constellation point mapping operation is:
- from a lowest bit of extracted data, a method of filling out one byte of data with an interval of a bit is used to fill the lowest bit of vertical axis data out into vertical axis data in sequence, and other bits in vertical axis data are filled a second highest value of extracted data out; and
- from a second lowest bit of extracted data, the method of filling out one byte of data with an interval of a bit is used to fill a lowest bit of horizontal axis data out into horizontal axis data in sequence, and other bits in horizontal axis data are filled a highest value of extracted data out.
6. The ADSL encoder as cited in claim 1, wherein a value of the transmitted bits is 3, the constellation point mapper starts the constellation point mapping operation is:
- to process an AND operation of an inverse of a highest bit and a second highest bit in extracted data getting a first result, and to process an AND operation of the highest bit and an inverse of a third highest bit getting a second result, then to process an OR operation of the first result and the second result getting a value defined as a first temporary bit;
- to process the AND operation of the inverse of the highest bit and the third highest bit in extracted data getting a third result, and to process an AND operation of the highest bit and the second highest bit getting a fourth result, then to process an OR operation of the third result and the fourth result getting a value defined as a second temporary bit;
- shifting extracted data one bit toward right;
- setting the first temporary bit as the highest bit of extracted data, and setting the second temporary bit as the second highest bit of extracted data;
- from a lowest bit of extracted data, a method of filling out one byte of data with an interval of a bit is used to fill the lowest bit of vertical axis data out into vertical axis data in sequence, and other bits in vertical axis data are filled a second highest value of extracted data out; and
- from a second lowest bit of extracted data, the method of filling out one byte of data with an interval of a bit is used to fill a lowest bit of horizontal axis data out into horizontal axis data in sequence, and other bits in horizontal axis data are filled a highest value of extracted data out.
7. The ADSL encoder as cited in claim 1, wherein a value of the transmitted bits is odd and greater than 3, the constellation point mapper starts the constellation point mapping operation is:
- to process an OR operation of an inverse of a highest bit, an inverse of a third highest bit and a fourth highest bit in extracted data getting a first OR operation result, and to process an AND operation of the first OR operation result and a second highest bit getting a first result;
- to process an AND operation of the highest bit, an inverse of the third highest bit and the fourth bit getting a second result;
- to process the OR operation of the first result and the second result getting a value defined as a first temporary bit;
- to process the OR operation of the inverse of the highest bit and the second highest bit getting a second OR operation result, and to process an AND operation of the second OR operation result and the third highest bit getting a third result;
- to process the OR operation of the second highest bit and the third highest bit in extracted data getting a third OR operation result, and to process an AND operation of the highest bit and a fifth highest bit getting a fourth result;
- to process the OR operation of the third result and the fourth result getting a value defined as a second temporary bit;
- to process the OR operation of the inverse of the highest bit, the inverse of the third highest bit and an inverse of the fourth highest bit getting a third OR operation result, and to process an AND operation of the third OR operation result and the second highest bit getting a fifth result;
- to process the AND operation of the highest bit, the inverse of the third highest bit and the inverse of the fourth highest bit getting a sixth result;
- to process the OR operation of the fifth result and the sixth result getting a value defined as a third temporary bit;
- to process the OR operation of the inverse of the highest bit and the second highest bit getting a fourth OR operation result, and to process an AND operation of the fourth OR operation result and the third highest bit getting a seventh result;
- to process the OR operation of the second highest bit and the third highest bit getting a fifth OR operation result, and to process an AND operation of the highest bit and an inverse of the fifth highest bit getting an eighth result;
- to process the OR operation of the seventh result and the eighth result getting a value defined as a fourth temporary bit;
- shifting extracted data one bit toward right;
- setting up the first temporary bit as a defined highest bit of extracted data;
- setting up the second temporary bit as a defined second highest bit of extracted data;
- setting up the third temporary bit as a defined third highest bit of extracted data;
- setting up the fourth temporary bit as a defined fourth highest bit of extracted data;
- from a lowest bit of extracted data, a method of filling out one byte of data with an interval of a bit is used to fill the lowest bit of vertical axis data out into vertical axis data in sequence, and other bits in vertical axis data are filled a second highest value of extracted data out; and
- from a second lowest bit of extracted data, the method of filling out one byte of data with an interval of a bit is used to fill a lowest bit of horizontal axis data out into horizontal axis data in sequence, and other bits in horizontal axis data are filled a highest value of extracted data out.
8. An ADSL decoder processing an horizontal axis data and a vertical axis data inputting from exterior, the ADSL comprising:
- a constellation decoder combining the horizontal axis data and the vertical axis data to an packed data according to constellation decoding procedures;
- a bit packet component storing the packed data to a digital data with at least one bit in sequence; and
- a buffer storing the digital data from the bit packet component in sequence and outputting the digital data to a digital signal processor.
9. The ADSL decoder as cited in claim 8, wherein the bit packet component further comprises a storage controller, which controls a transmitting from packed data to the buffer.
10. The ADSL decoder as cited in claim 8, wherein a value of received data bits delivered by a sub-carrier on the constellation decoder is even, the constellation decoding procedures include:
- from a highest bit of packed data, a method of filling out one byte of data with an interval of a bit is used to fill highest eight bits of horizontal axis data out into packed data in sequence;
- from a second highest bit of packed data, the method of filling out one byte of data with an interval of a bit is used to fill the highest eight bits of vertical axis data out into packed data in sequence;
- a shifting number of packed data toward right is 16 that subtracts a number of received data bits; and
- shifted bits toward right are received data bits.
11.The ADSL decoder as cited in claim 8, wherein a value of received data bits delivered by a sub-carrier on the constellation decoder is 3, the constellation decoding procedures include:
- from a highest bit of packed data, a method of filling out one byte of data with an interval of a bit is used to fill highest eight bits of horizontal axis data out into packed data in sequence;
- from a second highest bit of packed data, the method of filling out one byte of data with an interval of a bit is used to fill the highest eight bits of vertical axis data out into packed data in sequence;
- to process an XOR operation of the highest bit and the third highest bit getting a first result, and to process the XOR operation of the second highest bit and a fourth highest bit getting a second result, further, to process an OR operation of the first result and the second result getting a value defined as a first temporary bit;
- shifting packed data one bit toward left;
- setting up the first temporary bit as a defined highest bit of packed data;
- a shifting number of packed data toward right is 16 that subtracts a bit number of received data bits; and
- shifted bits toward right are received data bits.
12. The ADSL decoder as cited in claim 8, wherein a value of received data bits delivered by a sub-carrier on the constellation decoder is greater than 3, the constellation decoding procedures include:
- from a highest bit of packed data, a method of filling out one byte of data with an interval of a bit is used to fill highest eight bits of horizontal axis data out into packed data in sequence;
- from a second highest bit of packed data, the method of filling out one byte of data with an interval of a bit is used to fill the highest eight bits of vertical axis data out into packed data in sequence;
- to process an XOR operation of the highest bit and the third highest bit getting a first result, and to process the XOR operation of the second highest bit and a fourth highest bit getting a second result, further, to process an OR operation of the first result and the second result getting a value defined as a first temporary bit;
- to process an AND operation of the highest bit and the third highest bit getting a third result, and to process the XOR operation of the highest bit and the third highest bit getting a first XOR operation result, further, to process the AND operation of the first XOR operation result and the second highest bit getting a fourth result, again, to process the OR operation of the third result and the fourth result getting a value defined as a second temporary bit;
- to process the AND operation of the second highest bit and the fourth highest bit getting a fifth result, and to process the XOR operation of the second highest bit and the fourth highest bit getting a second XOR operation result, further, to process the AND operation of the second XOR operation result and an inverse of the highest bit getting a sixth result, again, to process the OR operation of the fifth result and the sixth result getting a value defined as a third temporary bit;
Type: Application
Filed: Sep 9, 2005
Publication Date: Jan 26, 2006
Patent Grant number: 7149244
Applicant:
Inventors: Pei-Chieh Hsiao (Hsinchu), Hsin-Min Wang (Hsinchu), Huan-Tang Hsieh (Hsinchu)
Application Number: 11/222,593
International Classification: H04B 1/38 (20060101); H04L 23/02 (20060101);