Method of data modulation and demodulation in SoC
A method of modulating data, which is represented by two data types of ‘high’ and ‘low’, and demodulating the modulated data, is disclosed. In a method of data modulation and demodulation for a communication system which has a transmitting end modulating a data and a receiving end demodulating the transmitted data from the transmitting end, the data is represented by two types including ‘high’ and ‘low’, and the receiving end receives at least one data which consists of at least one code-word spread by a unique orthogonal code. The receiving end adds up the received data in the unit of code-word, and subtracts the length of the orthogonal code from a value which is obtained by doubling the sum of the code-word, when the code-word of the orthogonal code is ‘0’. The receiving end then averages the result after the subtraction in the unit of orthogonal code length and e-tracts the result, and therefore obtains the data from the transmitting end.
Latest Samsung Electronics Patents:
This application claims the benefit of Korean Patent Application No. 2004-99281, filed on Nov. 30, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to a method of modulating transmission data and demodulating received data. More particularly, the present invention relates to a method of modulating and demodulating data represented in two types, that is, high and low.
2. Description of the Related Art
Generally, a transmitting end of a communication system, which sends out signal to a receiving end, carries out certain predetermined processes to reduce error of signal transmission. Therefore, the transmitting end carries out modulation with respect to the transmission data, and the receiving end carriers out demodulating processes with respect to the received data to recover to the initial data.
In
The transmitting node A generates data (a) to transmit to the receiving node C. The transmitting node B generates data (b) to transmit to a node other than the receiving node C.
When the data to transmit is ‘1’, the data is expressed as ‘-1’, and when the data for transmission is ‘0’, it is expressed as ‘1’. As illustrated in
The transmitting node carries out modulation with respect to the data for transmission. Accordingly, the transmitting node spreads data for transmission by using orthogonal codes. By the orthogonal code expansion, error rate of the data in the transmission channel can be reduced, The transmitting node spreads the transmission data by using the orthogonal code as allocated to the receiving node. The orthogonal code may include Walsh code.
Accordingly, the transmitting node A spreads transmission data by using the orthogonal code which is allocated to the receiving node C. In
The transmitting node B spreads transmission data by using the orthogonal code which is allocated to the receiving node. With reference to
The receiving node C receives the spread data from the transmitting node A and from the transmitting node B. Accordingly, the receiving node C needs to extract data which is transmitted from the transmitting node A. The process by the receiving node C of extracting the data of the transmitting node A, will now be described below.
The receiving node C reverse-spreads the received data with the orthogonal code it is allocated. More specifically, the receiving node has allocated with the orthogonal code of ‘0101’, which is converted to ‘1-1 1-1’ for use in the modulation and demodulation process. Therefore, the receiving node reverse-spreads the received data ‘-2 0 0 2 0-2 2 0 0 2-2 0’ by using ‘1-1 1-1’.
With reference to
The receiving node C segments the obtained data in the unit of orthogonal code length, and averages the segmented data. More specifically, the receiving code C obtains an average ‘-1’ with respect to ‘-2 0 0-2’, obtains an average ‘1’ with respect to ‘0 2 2 0’, and obtains an average ‘-1’ with respect to ‘0-2-2 0’. As the receiving node C obtains ‘-1 1-1’, the transmitting node A can obtains transmission data ‘101’.
However, because the transmission data is expressed in three types, that is, ‘-1’, ‘0 (no data)’, ‘1’, the data range for reception at the receiving nodes increases as the number of transmitting nodes increases. In other words, when there are five transmitting nodes, the receiving node needs to receive data of ‘-5’ to ‘5’. Accordingly, bits increase to receive the data, and subsequently load also increases to process the increased data.
Furthermore, the above-explained method is not suitable for a communication system which transmits data in two types, that is, high and low. Accordingly, a method of data modulation and demodulation, which can be used in a communication system that expresses data in high and low type, is required.
SUMMARY OF THE INVENTIONAccordingly, it is an aspect of the present invention to provide a data modulation and demodulation method which can be used in a communication system transmitting data in two types, that is, ‘high’ and ‘low’ data types.
Another aspect of the present invention is to provide a method for reducing required load for reception data demodulation, by providing a communication system which transmits data in two data types, that is, ‘high’ and ‘low’ types.
The foregoing and/or other aspects of the present invention are achieved by providing a method of data modulation and demodulation for a communication system which has a transmitting end modulating a data and a receiving end demodulating the transmitted data from the transmitting end, the data being represented by two types including ‘high’ and ‘low’, and the method of data modulation and demodulation including receiving at least one data which comprises at least one code-word spread by a unique orthogonal code, and adding up the received data in the unit of code-word, subtracting the length of the orthogonal code from a value which is obtained by doubling the sum of the code-word, when the code-word of the orthogonal code is ‘0’, and averaging the result after the subtraction in the unit of orthogonal code length and extracting the result.
Additionally, the value, which is obtained by doubling the sum of the code-word, is subtracted from the length of the orthogonal code, when the code-word of the orthogonal code is ‘1’. The communication system may be a system-on-chip (SoC).
Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention.
BRIEF DESCRIPTION OF THE DRAWINGSThese and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:
Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures.
First, a SoC using modulation and demodulation according to the present invention will be described.
Digital information devices such as mobile phones, personal digital assistants (PDA), digital TVs, smart phones, require various semiconductor chips such as microprocessor, network chip and memory, in order to achieve efficient Internet access or computing. As the information devices get more complex and varied, incorporation of different information devices is expected to accelerate, and more chips will be subsequently needed in a single information device.
System on a chip, or SoC, is a technology suggested to incorporate not only semiconductor chips, but also all the separate components in a single chip by integrating various components in one chip. The SoC usually includes computational element, I/O, logic, and memory. Being compact and highly integrated, SoC of high performance and low power consumption is expected to be applied to a wide range of information communication devices. An intellectual property (IP) is used for efficient design of semiconductor chips. IPs refer to design blocks which are developed for application in corresponding chips.
Many studies are seeking for the techniques to realize the SoC, and especially, an efficient way of connecting several IPs of the chip, is one of the most important matters. Currently, using a bus structure and a network structure are available as a way to connect IPs. Using the bus structure almost reached a limit due to the increase of data volume transmitted between IPs, because a bus cannot be used by other IPs if any one of IPs is using the bus. In other words, one IP exclusively uses the bus.
Furthermore, the bus structure does not sufficiently support for the expansion characteristic. Due to the fixed characteristic of the bus structure, expansion of IPs in the chip is not supported. Using the network structure has been suggested in an attempt to overcome the shortcoming of the way of using bus structure. The network structure has a less power consumption than the bus structure.
It is assumed that data is generated for IP(0) to send to IP(3), and another data is generated for IP(6) to send to IP(7). The IP(0) spreads generated data by using the orthogonal code allocated to IP(3). The IP(0) transmits the spread data to the switch. The IP(6) spreads the generated data by using the orthogonal code allocated to the IP(7). The IP(6) transmits the spread data to the switch. The switch adds up the received data and broadcast to the neighboring connected IPs. In other words, the switch transmits the sum of received data to IP(0) through IP(7).
The IP(0) through IP(7) de-spreads the received data by using the allocated orthogonal code. By the de-spreading, the IP(3) receives the data from the IP(0), and the IP(7) receives the data from the IP(6).
The process of the transmitting IP transmitting data will now be described with reference to
At operation 400, the transmitting IP stores an orthogonal code in length L, which is allocated to the IPs of a SoC. When it is assumed that seven IPs constitute the SoC, the following table 1 lists orthogonal codes which are 8 in length, respectively, and allocated to the respective IPs of the SoC:
In this embodiment, ‘w0’ is not allocated to the IPs, but used when there is no data.
At operation 402, the transmitting IP generates data, and spreads the generated data at operation 404, by using the orthogonal code which is allocated to the destination IP. The transmitting IP transmits the spread data to the switch at operation 406.
At operation 500, the receiving IP stores orthogonal codes in length ‘L’ to the respective IPs. The orthogonal code stored at the receiving IP at operation 500 is identical to the orthogonal code stored at the transmitting IP at operation 400.
At operation 502, the receiving IP receives at least one data. In other words, when there are two transmitting IPs, the receiving IP receives two data. At operation 504, the receiving IP adds up the received data to code-word unit (word-wise unit) and obtains S[i]. The code-word unit will be explained below.
At operation 506, the receiving IP determines whether the code-word of the orthogonal code is ‘0’ or not. If the code-word of the orthogonal code is ‘0’, the operation continues to operation 508, while if it is ‘1’ the operation moves to operation 510.
At operation 508, the receiving IP doubles the sum of operation 504 and subtracts the length of the orthogonal code (2S[i]−L). At operation S510, the receiving IP subtracts the doubled value of the summed result of operation 504 from the length of the orthogonal code (L−2S[i]).
At operation 512, the receiving IP averages the data of operation 508 or operation 510, and subsequently obtains the data from the transmitting IR The operation of the receiving IP, which is illustrated in
The characteristics and aspects of the present invention will be described mainly with reference to one exemplary embodiment of the present invention.
It is assumed that the IP(1) intends to send data ‘10’ to the IP(2). It is also assumed that the IP(3) intends to send the data ‘11’ to the IP(4). In order to transmit the data ‘10’, the IP(1) spreads the data ‘10’ by using the orthogonal code allocated to the IP(2). The orthogonal code allocated to the IP(2) is ‘0110 1001’. Accordingly, the IP(1) generates spread data of ‘1001 01100110 10001’. In order to transmits the data ‘11’, the IP(3) spreads the data ‘11’ by using the orthogonal code allocated to the IP(4). The IP(4) is allocated with the orthogonal code of ‘0101 1010’. Therefore, the IP(3) generates spread data of ‘1010 0101 1010 0101’. The IP(1) and the IP(3) transmit the generated data to the switch. The above operations can be carried out at the input port of the switch, instead of the IP(1) and IP(3).
The IP(2) and the IP(4) respectively add up the data from the IP(1) and the IP(3) in the unit of code-word, and receive the data. In other words, the IP(2) and the IP(4) receive data S[i] of ‘2011 0211 1120 1102’ (i=code word). The IP(2) and the IP(4) double the received S[i] to, ‘4022 0422 2240 2204’.
The IP(2) and the IP(4) perform operation 508 when the code-word of the allocated orthogonal code is ‘0’, and perform operation 510 when the code-word of the allocated orthogonal code is ‘1’.
The following table 2 lists the operations of the IP(2), and the following table 3 lists the operations of IP(4).
The IP(2) adds up the D[i] of Table 2 in the unit of orthogonal code length and averages the result. In other words, the IP(2) obtains an average ‘1’ of ‘-4 8 6-6 8-4-6 6’, and obtains an average ‘-1’ of ‘-6 6 4-8-6 6-8 4’. Based on the assumption that the transmission data is ‘1’ when the average is ‘1’, and the transmission data is ‘0’ when the average is ‘-1’, the IP(2) can obtain ‘10’ transmitted from the IP(1).
The IP(4) adds up the D[i] of Table 3 in the unit of orthogonal code length and averages the result. In other words, the IP(4) obtains an average ‘1’ of ‘-4 8-6 6 8-4 6-6’, and obtains an average ‘-1’ of ‘-6 6-4 8-6 6 8-4’. Based on the assumption that the transmission data is ‘1’ when the average is ‘1’, and the transmission data is ‘0’ when the average is ‘-1’, the IP(4) can obtain ‘11’ transmitted from the IP(3).
The above examples shows transmission of only two IPs. However, the present invention is equally applicable to a case where all of the IPs of the SoC transmit data. Of course, the length of the allocated orthogonal codes increases as the number of IPs of the SoC increases.
Although FIGS. 3 to 5 shows the operations at IPs and the switch of SoC, it should not be construed as limiting. In other words, any system that can transmit and receive data in ‘high’ and ‘low’ data types may equally utilize the technical idea of the present invention in transmitting and receiving data.
As described above in a few exemplary embodiments of the present invention, a system transmits and receives data in two data types, that is, ‘high’ and ‘low’, in modulating and demodulating the data. Compared to a conventional system, which modulates and demodulates data in three data representation types, a smaller range of reception is provided to a receiving end and therefore, load to the receiving end reduces. More specifically, in a system which has five transmitting nodes, and modulates and demodulates data in three representation types, a receiving node needs to express ‘-5’ to ‘5’. On the contrary, in the system employing the present invention, a receiving node is only required to express ‘0’ to ‘5’.
Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.
Claims
1. A method of data modulation and demodulation for a communication system which has a transmitting end modulating a data and a receiving end demodulating the transmitted data from the transmitting end, the data being represented by two types including ‘high’ and ‘low’, and the method of data modulation and demodulation comprising:
- receiving at least one data comprising at least one unit of code-word spread by a unique orthogonal code, and adding up the received data in the unit of code-word;
- subtracting the length of the orthogonal code from a value which is obtained by doubling the sum of the code-word, when the code-word of the orthogonal code is ‘0’; and
- averaging a result obtained after the subtraction in a unit of the orthogonal code length and extracting the result.
2. The method of data modulation and demodulation of claim 1, further comprising subtracting the value, which is obtained by doubling the sum of the code-word, from the length of the orthogonal code, when the code-word of the orthogonal code is ‘1’.
3. The method of data modulation and demodulation of claim 2, wherein the transmitting end modulates the data by using an orthogonal code allocated to the receiving end.
4. The method of data modulation and demodulation of claim 3, wherein the receiving end is allocated with one of Walsh codes except the Walsh code 0.
5. The method of data modulation and demodulation of claim 1, wherein the communication system comprises a system-on-chip (SoC) which includes at least two intelligent elements and a switch.
6. The method of data modulation and demodulation of claim 5, wherein the intelligent elements are each allocated with one of the Walsh codes except Walsh code 0, with each intelligent element being allocated with different Walsh codes.
7. The method of data modulation and demodulation of claim 6, wherein the data modulation is carried out by an intelligent element which transmits the data.
8. The method of data modulation and demodulation of claim 6, wherein the data modulation is carried out at an input port of the switch which is connected with the data transmitting intelligent element.
9. The method of data modulation and demodulation of claim 6, wherein the data demodulation is carried out by an intelligent element which receives the data.
10. The method of data modulation and demodulation of claim 6, wherein the data demodulation is carried out at an output port of the switch which is connected with the data receiving intelligent element.
11. The method of data modulation and demodulation of claim 1, wherein the ‘high’ data type is represented by ‘1’ and the ‘low’ data type is represented by ‘0’.
12. A method, comprising:
- storing a plurality of orthogonal codes, each of the plurality of orthogonal codes allocated respectively to an Intellectual Property (IP) of a system-on-chip (SoC);
- generating data via at least one of the IPs;
- spreading the generated data using the stored orthogonal code allocated to a destination IP; and
- transmitting the spread data via a transmitting IP to a switch.
13. A method, comprising:
- storing a plurality of orthogonal codes, each of the plurality of orthogonal codes being stored respectively in a corresponding number of Intellectual Properties (IPs);
- receiving data from each of the corresponding number of IPs via a receiving IP;
- adding up the received data to a code-word unit to obtain a S[i] value;
- determining whether the code-word of the orthogonal code is ‘0’ or not, and if the code-word of the orthogonal code is ‘0’, the receiving IP doubles the sum of the S[i] value and subtracts the length (L) of the orthogonal code (2S[i]−L), and if the code-word of the orthogonal code is ‘1’, the receiving IP subtracts the doubled S[i] value from the length (L) of the orthogonal code (L−2S[i]); and
- averaging a result obtained from either (2S[i]−L) or (L−2S[i]) based on the determination of the code-word of the orthogonal code.
Type: Application
Filed: Nov 30, 2005
Publication Date: May 24, 2007
Applicants: SAMSUNG ELECTRONICS CO., LTD. (Suwon-si), REGENTS OF THE UNIVERSITY OF MINNESOTA (Minneapolis, MN)
Inventors: Gerald Sobelman (Minneapolis, MN), Dae-wook Kim (Seoul), Man-ho Kim (Seoul), Beam-hak Lee (Seoul), Eui-seok Kim (Suwon-si), Sang-woo Rhim (Seoul)
Application Number: 11/289,544
International Classification: H04J 11/00 (20060101);