GB2328765A - Bit reversing using an offset - Google Patents

Bit reversing using an offset Download PDF

Info

Publication number
GB2328765A
GB2328765A GB9718417A GB9718417A GB2328765A GB 2328765 A GB2328765 A GB 2328765A GB 9718417 A GB9718417 A GB 9718417A GB 9718417 A GB9718417 A GB 9718417A GB 2328765 A GB2328765 A GB 2328765A
Authority
GB
United Kingdom
Prior art keywords
data samples
buffer
offset
bit
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9718417A
Other versions
GB9718417D0 (en
GB2328765B (en
Inventor
Rainer Makowitz
Michael Mayr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Solutions Germany GmbH
Original Assignee
Motorola GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola GmbH filed Critical Motorola GmbH
Priority to GB9718417A priority Critical patent/GB2328765B/en
Publication of GB9718417D0 publication Critical patent/GB9718417D0/en
Publication of GB2328765A publication Critical patent/GB2328765A/en
Application granted granted Critical
Publication of GB2328765B publication Critical patent/GB2328765B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/78Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
    • G06F7/785Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Television Systems (AREA)

Abstract

A memory addressing method for bit-reversing data samples using a buffer, uses alternate linear and bit-reversed addressing schemes for writing sets of data samples into the buffer, and reading sets of data samples from the buffer. An address offset is included in both addressing schemes and re-ordering of the read data samples of each set takes place, in dependence upon the value of the address offset, in order to produce sets of output data samples which are bit-reversed and offset.

Description

MEMORY ADDRESSING METHOD AND SYSTEM Field of the Invention This invention relates to memory addressing methods, and particularly but not exclusively to memory addressing methods for addressing fast fourier transform data samples.
Background of the Invention In many video applications, such as digital television broadcasting, Orthogonal Frequency Division Multiplexing (OFDM) is used. In order to demodulate an incoming digital signal according to OFDM, a Fast Fourier Transform (FFT) function must be performed on the signal. Typically the FFT comprises an algorithm for producing transform data samples, and a re-ordering step. The re-ordering step is necessary because the algorithm delivers the samples in abit-reversed" order. For example, the first data sample, which should be at address "001" (position 1) actually arrives from the algorithm at "100" (position 4), as the bit-reverse of"001" is "100".
A number of methods are known for performing the bit reversal of the samples. A first method involves the use of a memory buffer which is twice the size of the samples. In a first cycle, data is written into a first portion of the memory buffer, and at the same time read from a second portion of the memory buffer. In a second cycle, data is written into the second portion and read from the first portion. The writing step in each case is addressed in linear order, and the reading step is addressed in bit-reversed order.
A second, more memory efficient method involves the use of a memory buffer having the same size as the samples. In this method the memory read/write operation toggles between linear and bit-reversed addressing order, such that each set of samples are either written into the memory with bitreversed addressing and then read with linear addressing, or viceversa.
A problem with this second arrangement is that it may be desirable to introduce an address offset at the same time as the re-ordering step, in order to facilitate convenient post-transform processing of the samples.
This offset is easily achievable using the first method. However the second, memory efficient method is not compatible with such an offset.
This invention seeks to provide a memory addressing method and system which mitigate the above mentioned disadvantages.
Summarv of the Invention According to a first aspect of the present invention there is provided a memory addressing method for bit-reversing sets of data samples using a buffer, comprising the steps of: addressing the buffer using an alternate one of linear and bit-reversed addressing schemes, in order to write a set of data samples to the buffer and to read a set of data samples from the buffer; re-ordering the set of data samples read from the buffer in dependence upon the value of the address offset to produce a set of output data samples, such that the set of output data samples are bit-reversed and offset.
According to a second aspect of the present invention there is provided an addressing system for bit-reversing data, comprising: a buffer arranged to store sets of data samples; an address module, coupled to address the buffer using linear and bit-reversed addressing schemes; an address offset unit, coupled to provide an offset value to the address module; and, a re-ordering unit, coupled to re-order data samples read from the buffer in dependence upon the value of the address offset, for providing a set of output data samples, wherein the address module is arranged to address the buffer using the linear and bit-reversed addressing schemes alternately, such that the set of output data samples are bit-reversed and offset.
Preferably the system forms part of a set-top box for a television set. The address offset preferably has a predetermined value N/M, where N is the number of data samples per set, and wherein the re-orderingscheme is arranged to reverse the order of M data samples of each set.
Preferably the address offset has a value equal to half of the number of data samples in each set, and the re-ordering scheme is arranged to reverse the order of each pair of data samples of each set. The data samples are preferably fast fourier transform samples.
In this way bit-reversed, offset data samples are provided, without the need for a large memory buffer which is twice the size of a set of samples.
Brief Description of the Drawings An exemplary embodiment of the invention will now be described with reference to the drawings in which: FIG. 1 shows a diagram of a prior art set-top box for a television.
FIG. 2 shows a preferred embodiment of a memory addressing system in accordance with a first aspect of the invention.
FIG. 3 shows a preferred memory addressing method in accordance with a second aspect of the invention.
Detailed Description of a Preferred Embodiment Referring to FIG. 1, there is shown a set-top box 5 for a television set (not shown). The system 5 comprises a front-end terrestrial unit 6, a core 7, and an antenna 8.
The front end unit 6 has an OFDM demodulator 10 and a tuner 15. The OFDM demodulator 10 is coupled to receive a baseband signal from the tuner 7, which in turn, is coupled to receive an RF signal from the antenna 8.
The OFDM demodulator 10 has an inphase/quadrature separator module 20 coupled to receive the baseband signal from the tuner 15, for providing digital data signals. The output of the inphase/quadrature separator module 20 is coupled to a FFT module 30. The FFT module 30 has a butterfly computation unit 32 and a bit-reversal unit 35, to perform butterfly computations and bit-reversal of the incoming digital data signals respectively, to produce frequency domain data samples.
The frequency domain data samples are forwarded to a synchronisation and channel correction unit 40 of the OFDM 10, before being sent on to the core 7, where they are then further processed. The core typically includes a microprocessor 50 and an MPEG decoder 60.
Referring now also to FIG. 2, there is shown a bit-reversal unit 100, suitable for use with the set-top box 5 of FIG. 1, in place of the prior art bit-reversal unit 35.
The bit-reversal unit has a memory buffer 150 of N addresses, a data input terminal 105, coupled to receive data samples from the butterfly computation unit 32 of the OFDM 10, for storage in the memory buffer 150, and a data output terminal 195, for providing data samples received from the memory buffer 150.
A binary counter 110 of the bit-reversal unit 100 is arranged to generate linearly rising addresses, up to the highest address N. An offset unit 120 is coupled to receive these linearly rising addresses, for providing addresses with an address offset of N/2.
A reverse unit 130 is coupled to receive the offset addresses from the offset unit 120, for generating bit-reversed addresses in dependence upon the received offset addresses.
A control unit 140 is selectively coupled to the reverse unit 130 and to the offset unit 120, in order to receive one of the offset addresses and the bitreversed addresses. In a first cycle of addressing, cycle I, the control unit 140 is coupled to receive the offset addresses only, from the offset unit 120.
In a second cycle of addressing, cycle II, the control unit 140 is coupled to receive the bit-reversed and offset addresses, from the reverse unit 130.
In this way a two cycle addressing scheme is produced, as shown in table 1 below.
Binary Couner Oiibet N2) Cycle I Cycle II (bi+ (uptown) reversal) 000 100 100 001 001 101 101 101 010 110 110 011 on 111 111 111 100 000 000 000 101 001 001 100 110 010 010 010 111 011 011 110 Tabe 1: Cvcle I and Cvcle II Addre9sine schemes for ET-3 The control unit 140 is coupled to address the memory buffer 150 via two address units 160 and 170. In this way the memory buffer 150 is addressable using first and second cycles (addressing schemes). In both cases the addressing of a memory location involves both the writing of incoming data to the location (write), and the reading of stored data from the location (read).
The data samples read from the memory buffer 150 are provided to a reorder unit 180, which comprises two registers, an X-register 185 and a Y register 190. The X-register 185 is coupled to selectively receive the data samples from the memory buffer, and is arranged to store a data sample and to selectively provide the stored data sample to the Y-register 190. The Y-register 190 is coupled to selectively receive either the stored data sample from the X-register 185, or the data sample from the memory buffer 150, in dependence upon the least significant bit (LSB) of the read address. The Yregister 190 is further arranged to store the data sample and to provide the stored data sample to a data output terminal 195, which provides the stored data sample to the synchronisation channel correction unit 40 of the OFDM 10.
If the LSB of the address of the incoming data sample is 1, it is stored in the X-register 185. If the LSB of the address of the incoming data sample is 0, it is stored in the Y-register 190.
In operation, and referring now also to FIG. 3 and to table 2 below, there is shown a method of addressing the memory buffer 150.
Data Input Memory Output Part Final order (I) order (n) Result Result a(000) 100 b 001 f e e (100) 101 f 101 e f c(010) 110 d 011 h g g(110) 111 h 111 g h b(001) 000 a 000 b a f(101) 001 e 100 a b d (011) 010 c 010 d c h (111) 011 g 110 c d Table a:Data order and Addessitlg From the start block 200, data samples are received from the butterfly computation unit 32 via the data input terminal 105. These data samples, shown in the first column of table 2, are not in their required order, and the data bits (shown in brackets) must be reversed to arrive at the correct order.
A first set of incoming data samples are selected to be written into the memory buffer 150 according to address cycle I (the left path from block 220). In cycle I, they encounter the offset (block 230), derived in table 1 and shown in the second column of table 2. Thus the first set of data samples are stored in the memory buffer 150 in the order shown in column 3 of table 2.
Assuming that the memory buffer 150 contained no meaningful data before the first set of data samples were written, the output of the memory buffer 150 during the first occurrence of cycle I is not meaningful, and re-ordering block 250 of FIG. 3 can be ignored.
At block 260, assuming that more data samples are incoming, the method returns to block 220, where a second set of incoming data samples are written into the memory buffer according to address cycle II, derived in table 1 and shown in the fourth column of table 2 (block 240). At the same time, the first set of data samples are read from the memory buffer 150 also according to address cycle II (see fourth column of table 2), where they then have the order as shown in the fifth column of table 2.
The read data samples are then provided to the re-order unit 180, (block 250) where the X-register 185 and the Y-register 190 serve to reverse the order of each pair of data samples. For example, the X-register 185 receives the first data sample (f), and stores it, after which the Y-register 190 receives the second data sample (e). The X-register 185 then receives the third data sample (h), upon which 'f is sent to the Y-register 190, which simultaneously writes 'e' to the data output terminal 195. 'g is then received by the Y-register 190, which simultaneously writes Y to the data output terminal 195. Therefore the order of the data samples when received by the data output terminal 195 is 'e','f,'g','h' etc..
This process is repeated for each pair of data samples, such that the first sample of a pair is stored in the X-register 185, while the second sample of the pair is stored in the Y-register. In this way, the data samples are reordered and also offset by N/2 (see table 2, column 6).
The above method is repeated for every incoming set of data samples, toggling between cycle I and cycle II addressing, until no more data samples are received, at which point the end block 270 is reached.
The N/2 offset is useful because it greatly improves the efficiency and perlFrmance of the tuner 15 in conjunction with the synchronisation and channel correction unit 40. In the prior art, a discrete offset was typically provided. According to the above method, the bit-reversal and an offset of Niff2 are provided in one simple arrangement, which uses a memory buffer of size N, together with two registers.
It will be appreciated that alternative embodiments to the one described above are possible. For example, the re-order unit 180 could be replaced by a different arrangement which performs substantially the same function.
Furthermore, the number of data values N and the corresponding size of the memory buffer 150 may be different to those described above. In addition, the bit-reversal method described above could be applied to fields other than FFT.
Finally, the offset value may be different from the N/2 value described above.
If the offset value is N/M, where M is an integer, then the re-order unit 180 will be arranged to re-order each set of M data samples.

Claims (8)

Claims
1. A memory addressing method for bit-reversing sets of data samples using a buffer, comprising the steps of: addressing the buffer using an alternate one of linear and bit-reversed addressing schemes, in order to write a set of data samples to the buffer and to read a set of data samples from the buffer; re-ordering the set of data samples read from the buffer in dependence upon the value of the address offset to produce a set of output data samples, such that the set of output data samples are bit-reversed and offset
2. An addressing system for bit-reversing data, comprising: a buffer arranged to store sets of data samples; an address module, coupled to address the buffer using linear and bitreversed addressing schemes; an address offset unit, coupled to provide an offset value to the address module; and, a re-ordering unit, coupled to re-order data samples read from the buffer in dependence upon the value of the address offset, for providing a set of output data samples, wherein the address module is arranged to address the buffer using the linear and bit-reversed addressing schemes alternately, such that the set of output data samples are bit-reversed and offset.
3. The system of claim 2 wherein the system forms part of a set-top box for a television set.
4. The method of claim 1 or system of claims 2 or 3 wherein the address offset has a predetermined value N/M, where N is the number of data samples per set, and wherein the re-ordering scheme is arranged to reverse the order of M data samples of each set.
5. The method or system of any preceding claim wherein the address offset has a value equal to half of the number of data samples in each set, and the re-ordering scheme is arranged to reverse the order of each pair of data samples of each set.
6. The method or system of any preceding claim wherein the data samples are fast fourier transform samples.
7. A method substantially as hereinbefore described and with reference to FIG. 3 of the drawings.
8. A system substantially as hereinbefore described and with reference to FIGs. 2 and 3 of the drawings.
GB9718417A 1997-08-29 1997-08-29 Memory addressing method and system Expired - Fee Related GB2328765B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB9718417A GB2328765B (en) 1997-08-29 1997-08-29 Memory addressing method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9718417A GB2328765B (en) 1997-08-29 1997-08-29 Memory addressing method and system

Publications (3)

Publication Number Publication Date
GB9718417D0 GB9718417D0 (en) 1997-11-05
GB2328765A true GB2328765A (en) 1999-03-03
GB2328765B GB2328765B (en) 2003-03-26

Family

ID=10818279

Family Applications (1)

Application Number Title Priority Date Filing Date
GB9718417A Expired - Fee Related GB2328765B (en) 1997-08-29 1997-08-29 Memory addressing method and system

Country Status (1)

Country Link
GB (1) GB2328765B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1492240A1 (en) * 1998-12-10 2004-12-29 Samsung Electronics Co., Ltd. Interleaving/deinterleaving device and method for communication system
US7094710B2 (en) 2000-01-18 2006-08-22 Applied Materials Very low dielectric constant plasma-enhanced CVD films

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) * 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473556A (en) * 1992-04-30 1995-12-05 Sharp Microelectronics Technology, Inc. Digit reverse for mixed radix FFT

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Jeong et al; IEEE Transactions on Signal Processing; v.40, n.5, p.1091-5; May 1992 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1492240A1 (en) * 1998-12-10 2004-12-29 Samsung Electronics Co., Ltd. Interleaving/deinterleaving device and method for communication system
US7302620B2 (en) 1998-12-10 2007-11-27 Samsung Electronics Co., Ltd. Interleaving.deinterleaving device and method for communication system
US7094710B2 (en) 2000-01-18 2006-08-22 Applied Materials Very low dielectric constant plasma-enhanced CVD films

Also Published As

Publication number Publication date
GB9718417D0 (en) 1997-11-05
GB2328765B (en) 2003-03-26

Similar Documents

Publication Publication Date Title
US5890098A (en) Device and method for performing fast Fourier transform using a butterfly operation
US5768292A (en) Error handling process for MPEG decoder
AU676012B2 (en) Dual memory buffer scheme for providing multiple data streams from stored data
JPH1049518A (en) Arithmetic unit and its method
US5938763A (en) System for transposing data from column order to row order
US6430587B1 (en) Method and apparatus for FFT computation
EP2242265A1 (en) A wireless communication receiver, a wireless communication receiving method and a television receiver
US6263356B1 (en) Fast fourier transform calculating apparatus and fast fourier transform calculating method
GB2328765A (en) Bit reversing using an offset
EP1828884B1 (en) Programmable signal processing circuit and method of de-interleaving
WO1999059330A2 (en) Method and apparatus for decoding jpeg symbols
CN1334525A (en) General register file structure for alignment of single instruction-multiple data
US6233280B1 (en) Video decoder for high picture quality
EP1553711A2 (en) Deinterleaving device for digital broadcast receivers having a downsized deinterleaver memory and deinterleaving method thereof
JP2942236B1 (en) OFDM modulation circuit
JP3951066B2 (en) FFT operation device and FFT operation method
US20180234727A1 (en) Data processing circuit of digital television and method thereof
CN100527266C (en) Method for obtaining prescribed data value and equipment for using the method
US9313069B2 (en) OFDM processing system and method
KR100252984B1 (en) Apparatus and method of interleaving of digital broadcasting system
EP0828248A2 (en) Error correction method and error correction device
KR20050066142A (en) Apparatus and method of context-based adaptive variable length decoding
JPH08163074A (en) Digital signal processing unit, digital signal modulator using it and digital signal demodulator
US20030023779A1 (en) Symbol window correlative operation circuit and address generation circuit therefor
KR20050051746A (en) Ofdm symbol differential demodulation apparatus and method for digital audio broadcasting receiver

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20090829