Automatic mode detection in digital audio receivers

Abstract: The broadcast mode of the different ones set by the international standards for digital audio broadcasting (DAB) according to a coded orthogonal frequency division multiplexing scheme (COEFDM) may be automatically detected in a receiver through a detection routine. Many of the calculation modules required by the automatic mode detection system of the invention are already present in a receiver and can be exploited for performing the digital signal processing that lead to an automatic recognition of the broadcast mode of the station on which the receiver is tuned.

Description: The present invention relates to receivers for Digital Audio Broadcasting Systems (DAB), operating in a Coded Orthogonal Frequency Division Multiplexing mode (COFDM), according to the international standards (ETS 300.401). More in particular, the present invention relates to an automatic mode detection system of transmission (AMD) among the different transmission modes specified by the standards. Digital audio broadcasting systems (DAB) envisage, according to the international standards ETS 300.401, four different broadcasting modes, each of which is characterized by different combination of values assigned to time/frequency parameters relative to the COFDM modulation (Coded Orthogonal Frequency Division Multiplexing). Of course, the broadcast medium may be different (cable, terrestrial ether, satellite, optical fiber), through the medium more widely used for this type of broadcasting is the optical fiber. The broadcasting mode is not strictly tied to the medium of broadcast even if this parameter is important for choosing the mode. Generally speaking, for a given medium of broadcasting and for certain frequency bands a broadcasting mode might be more adequate than another. One of the key components of DAB receivers being developed is an ASIC device that integrates the necessary circuit for the COFDM modemodulation. Among other fundamental functions, this integrated device calculates of the Fast Fourier Transform (FFT), the Inverse Fast Fourier Transform (IFFT) and performs a differential demodulation of the received signal. A first generation of these ASIC devices has already been produced an developed, however these devices cannot support an automatic detection of the broadcasting mode of the signal received and furthermore such a fundamental information relative to the broadcasting mode must be supplied to the device via hardware by manual input selection. Therefore, there exist a clear need and usefulness for an automatic broadcasting mode detection system that may be easily integrated into the ASIC device of COFDM modemodulation, so to eliminate the need to provide, from external sources, an indication of the broadcasting mode, in order to correctly set the COFDM modemodulation parameters. This objective is fulfilled by the system object of the present invention. The automatic broadcasting mode detection system of the invention is integrable in an ASIC device of COFDM modemodulation, already containing FFT and IFFT calculation cells. Fundamentally, the automatic mode detection (AMD) method of the invention implementable in a DAB receiver functioning according to a coded orthogonal frequency division multiplexing scheme (COFDM) consists in the following steps. 1) Calculating the Fast Fourier Transform (FFT) and thereafter the Inverse Fast Fourier Transform (IFFT) of the digital signal received as input, according to a time decimation algorithm, of the type commonly referred to as "butterfly". This calculation is carried out in parallel for different numbers of samples of the input signal, by performing a division amongst complex numbers in a Cartesian form, (I/Q), the dividend of which is represented by the signal in a Cartesian form, (I/Q), resulting from the calculation of the FFT while the divider is a preestablished variable complex number, pertaining to one of the different broadcasting modes, and having the form: kπ/2, where k=0 1, 2, 3, each value of k corresponding for example to one of four different broadcasting modes according to the ETS 300.401 standards. 2) Calculating the square of the moduli of the IFFT calculation results, relatively to the numerical sequences corresponding to said different numbers of samples. 3) Detecting the peaks of the different numerical sequences resulting from the preceding calculation of the square and accumulating the relative peak values in an N number of registers, for each of said sequences. 4) Discriminating and registering in a dedicated register the maximum value amongst the peak values accumulated in said N register for each of said sequences. 5) Calculating, by pairs of said numerical sequences, the square of the difference amongst the values of said N registers, normalized by dividing then by the respective maximum peak value, and storing the result in a dedicated register. 6) Selecting the minimum value among the results stored in said dedicated registers, as an information of the broadcasting mode according to a relative "truth table". The above indicated procedure stops upon the acquisition of the information that identifies univocally the broadcasting mode. The information so automatically generated within the COFDM chip is then utilized for setting a variable (a register) that represents the number of samples upon which it is necessary to perform a Fast Fourier Transform (FFT) for demodulating the subsequent COFDM symbols. Indeed, given that the time/frequency parameters relative to the modulation COFDM differ among each other, for the various broadcasting modes, only by a scale factor, it is sufficient to set a unique variable (register) pursuant the detection of the broadcasting mode. The various aspects of the functional architecture of the automatic broadcasting mode detection of the invention are illustrated in the following description of an embodiment according to the attached drawings, wherein: Figure 1 is a functional scheme of the system object of the present invention; Figure 2 shows a detailed architecture of the circuit blocks used for performing the division amongst complex numbers, contemplated in the functional scheme of Fig. 1; Figure 3 shows a detailed architecture of the blocks Sqr Mag that calculate the square of the module of the value resulting from the IFFT calculation; Figure 4 shows a detailed architecture of the Peak Detection & Accumulation blocks used for detecting the peaks of each of the numerical sequences produced by the calculation blocks of the square of the module of the results of the calculation of the IFFT, for accumulating the peak values in a number N of registers and for discriminating and storing of in a further register the maximum peak value; Figure 5 shows the architecture of the metric blocks used for calculating the square of the difference of the normalized values contained in the N registers relative to two different sum values; Figure 6 shows the architecture of the min block for the detection of the minimum value among four input values constituted by the values accumulated in the output registers of the metric blocks of Fig. 5. By referring to the functional scheme of Fig. 1, the FFT blocks and the IFFT blocks are modules that, for the example considered, execute the calculation of the Fast Fourier Transform and the Inverse Fast Fourier Transform, respectively, according to a time-base decimation algorithm, referred to as a "butterfly" type of decimation algorithm, on 128, 256, 512, 1024 and 2048 samples. This algorithm is well known and a detailed description thereof is reported in the volume: "Numerical Processing Signals", by Oppenhaim-Schaffer, pages 332, 334. Substantially, for calculating the Inverse Fast Fourier Transform on 2xN samples of the input signal s(n), it is possible to calculate only one Inverse Fast Fourier Transform on 2xN samples with a processing network structure having a number of stages equal to log(n)-1, that is eliminating a stage in respect to a normal network structure. The eliminated stage may be either the first or the last stage of the processing network, depending on the type of processing network utilized. These networks or processing modules already exist in a COFDM modemodulation device. Therefore, the FFT and IFFT blocks of the diagram of Fig. 1 are familiar to a person skilled in the art as these modules are widely used in innumerable digital signal processing applications and in particular in OFDM systems. A detailed description of these standard processing modules or networks is not considered necessary for a person with a normal knowledge of the specific technical field, to fully understand and practice the system object of this invention. According to a first aspect of the present invention, on the numerical values or sequences resulting from the calculation of the Fast Fourier Transform relative to the different number of samples of calculation, namely: 128, 256, 512, 1024, a division among complex numbers in a Cartesian form (I/Q) is carried out. The dividends used are the same numerical sequences, in a I/Q form as produced by the relative FFT modules of Fast Fourier Transform calculation. The divider is a variable complex number, as specified by the relative standard ETS 300.401. This divider is a value of the type: kπ/2, where k=0, 1, 2, 3. Therefore this mathematical division is relatively simple to perform. The value of k does not depend only on the broadcasting mode (m), but is a function of both m (with m=1, 2, 3, 4) and a progressive index n of the input sequence of the dividing circuit, for example n=1, 2, ... Lm, where L1=2048, L2=512, L3=256 and L4=1024, according to the sample implementation of Fig. 1. Therefore, the function k=f(n;m) can be defined as follows: f(n;m)= p (n;m) if n<P m /2 or n≥L m -P m /2 f(n;m)= 0 in all other cases where: P1=1536, P2=384, P3=192, PL4=768, and p(n;m) being provided in a table format by the standard ETS 300.401. In particular, in the considered example, by indicating with k the divider with the pair (I, Q) the dividend, and with the pair (a, b) the result, it can be easily verified that the following four cases may take place: k=0, a=I, b=Q; k=1, a=-Q, b=I; k=2, a=-I, b=-Q; k=3, a=-Q, b=-I. A sample block diagram of one of the four cplx_division (...) blocks of the scheme of Fig. 1 that carry out such a division among complex numbers in Cartesian form is shown in Fig. 2. It is observed that, depending on the value of k (2 bits per value according to the standard ETS 300.401), depends the selection of the two output values chosen among I, -I, Q and -Q. By storing in a dedicated register ROM, the values of k corresponding to the standard ETS 300.401, the division is realized using two multiplexers MUX(A) and MUX(B), whose inputs are respectively I, -Q, -I, Q and Q, ,I, -Q, -I, the selection commands of which (sel) are the value of k read from the ROM. By referring to the scheme of Fig. 1, the four blocks cplx_division_256, cplx_division_512, cplx_division_1024 , and cplx_division_2048 , represent the divider blocks, linked to the registers ROM of 256, 512, 1024, 2048 wordx2 bit (words of 2 bits each, respectively). The two multiplexers MUX(A) and MUX(B) of each cplx_division_(...) division block are engaged in different phases and with two different reading "frequencies" of the ROM, namely: 1:2 the first and 1:1 the second. In this particular context, by the expression "reading frequency" it is not intended the reading speed (that is the number of words read per unit of time), but which words are being read among those stored. The expression "reading frequency" in this particular context, being that of a simulation model according to which a sampler acquires samples from a source line, by periodically closing (that is with a certain frequency) a link with this source line. A 1:1 reading frequency of the ROM corresponds to the sequential reading of all the words stored in it, whereas a 1:2 reading frequency is equivalent to the reading of one word per each pair of consecutive words stored in the ROM. During a first phase, a division by a dividend represented by the numerical sequence output by the calculation block of the Fast Fourier Transform, calculated on a halved number of samples in respect to the dimension of the ROM register of the divider is carried out, while during a second phase, the calculation is performed with the numerical sequence output by the calculation block of the Fast Fourier Transform, calculated on a number of samples equal to the dimension of the ROM register of the divider. By virtue of the fact that the results of the calculation of the two processing blocks of the Fast Fourier Transform involved are available during nonoverlapping phases, respectively, there will not be "collisions" during the reading from the ROM of the respective divider values k. The scheme of Fig. 2 comprises an output multiplexer MUX(out), timed by the clock signal CLK. The output numerical sequences of the IFFT blocks that calculate the Inverse Fast Fourier Transform, are fed to the input of as many circuit blocks Sqr Mag , which calculate the square of the moduli of the results produced by the respective IFFT blocks. Fig. 3 shows a possible architecture of these circuit blocks Sqr Mag , the numerical sequence produced by the relative IFFT block being fed to the input latch. As indicated in Fig. 1, the input sequences to the various blocks Sqr Mag have lengths of 128, 128, 256, 256, 512, 512, 1024, 1024 complex samples, respectively. The indexes of the output samples of the IFFT blocks, which reach the input of the respective Sqr Mag block, thus attaining the indicated lengths, are shown in the scheme of Fig. 1. Given that the complex samples are in an interleaved format Re/Im, it is necessary to demultiplex the two components, in order to calculate Re 2 +Im 2 , as symbolically highlighted in the functional scheme of Fig. 3. A circuital block denominated Peak Detection & Accumulation , the architecture of which is detailed in Fig. 4, is in cascade of each Sqr Mag block. The numerical input sequence of each Peak Detection & Accumulation block is constituted by the sequence output by the block that calculates the square of the module of the results of the calculation of the Inverse Fast Fourier Transform. The lengths of the input sequences to the various Peak Detection & Accumulation blocks of the whole scheme of Fig. 1 are of 128, 128, 256, 256, 512, 512, 1024, 1024 values, respectively. In order to facilitate the reading of the scheme of Fig. 4, the Peak Detection & Accumulation block can be ideally subdivided in four subblocks, identified by dotted line perimeters, respectively, and called peak_gen, max_rec, sel_gen and accumulation . Essentially the input block, that is to say the input latch L1 of the subblock peak_gen is fed with the numerical sequence output by the corresponding Sqr Mag block. Therefore, at each clock pulse (clk), at the input of such an input latch L1, at the output of same latch L1 and at the output of the successive latch L2 there will be the values corresponding to three successive values of the input sequence, respectively. Therefore the output of the AND gate of the peak_gen block, will be at the logic value "1" when the intermediate value of the three successive samples is greater than the two adjacent samples. The structure of the max_rec block is immediately comprehensible to a technician versed in the art. The output (max) of the latch L3 corresponds to the maximum peak value detected. The block sel_gen generates a selection signal ( sel ) for the multiplexer MUX and for the demultiplexer DEMUX. The COUNTER is an Mbit counter, with N*N equal to the length of the input sequence (for example N=8). Therefore, every M clock pulses, the output is equal to zero and the selection signal sel is incremented by a unit. One of the N output registers (LATCH#1, LATCH#2, ..., LATCH#N) is incremented by a quantity corresponding to the value of the currently detected peak value ( add1 ). The selection of a particular register depends on the value of the selection signal sel . The multiplexer MUX selects for reading such a register, that is to bring on the add2 wire the current content of the register, while the demultiplexer DEMUX selects the register for writing, that is for updating the content of the register with the result provided by the sum block (+). The signal W undergoes a logic transition from 0 to 1 in coincidence with the first of such values of the numerical input sequence, providing to reset to zero the counter and the two latches associated therewith. The counter has a capacity of an M number of bits, with M*N being equal to the length of the input sequence of the block (for example N=8). Therefore, every M number of clock pulses, the output is equal to zero. The Tsum block represents a delay intervening between a transition 0-1 of the EN signal that enables the sum block (+) and the validation of the output result. The circuit of each Peak Detection & Accumulation block detects the peak value within the input numerical sequence and stores these peak values in an N number of registers (LATCH#1, LATCH#2, ..., LATCH#N). In practice, the k-th register, accumulates the peak values comprised in the k-th subsequence of length L/N, where L represents the length of the input sequence. Moreover, the circuit of the subblock max_rec , shown in Fig. 4, discriminates the maximum peak value (max), storing it in a dedicated output latch (L3). The four blocks metric of the scheme of Fig. 1, calculate the square of the difference of the sum of the values of the N registers of the Peak Detection & Accumulation blocks, relative to two different sequences (derived from the different input sequences for a different number of calculation points of the FFT and of the IFFT). Fig. 5 shows a possible architecture of each of the four metric blocks. The values of the N registers relative to two different input sequences are normalized by dividing them by the respective maximum peak value, indicated in the example with max1 and max2, according to the functional scheme of the subblock Equaliz . Therefore, the subblock Sqr Diff calculates the square of the difference between the normalized values, accumulating the result in an output register (LATCH). Finally, the block min of the complete scheme of Fig. 1, selects the minimum of the four input values: 0, 1, 2 and 3, constituted by the values present in the output registers of the four metric blocks, thus making available at its output the information of the broadcasting mode. A functional scheme of the block min is shown in Fig. 6, wherein the four input values are indicated as 0, 1, 2 and 3. The truth table of the DEMUX block of the scheme of Fig. 6 is as follows: sel(0) sel(1) sel(2) mode 1 1 X 0 0 X 1 1 0 X 0 2 1 0 X 3 where X may be any value. As already mentioned, because the time/frequency parameters are different for the different modes of broadcasting only by a scale factor, it is sufficient to simply set a variable (mode) that defines the number of points on which it is necessary to calculate the FFT for demodulating the subsequent COFDM symbols. By calling k such a variable and C the number of carriers present in the COFDM symbol (as specified by the standards), k will be the smallest power of 2 greater than C, that is to say: k=2 n >C and 2 n-1 <C. The above described method and the architecture of the invention have been verified by computer simulation in a MATLAB environment yielding satisfactory results on all the test runs carried out.

Claims: A method of automatic broadcasting mode detection (AMD) for a receiver of digital audio broadcasting (DAB) of coded orthogonal frequency division multiplexed signals, which (COFDM) comprises calculating the Fast Fourier Transform (FFT) and the Inverse Fast Fourier Transform (IFFT) of the received digital signal, according to a "butterfly" time decimation algorithm and parallely for different numbers of points or samples of the input signal, and executing a division among complex numbers in Cartesian form (I/Q), the dividend being represented by a complex number in Cartesian form (I/Q) resulting from the respective calculation of the FFT and the divider being a preestablished complex number; calculating the square of the moduli of the results of the IFFT calculation relatively to the numerical sequences corresponding to said different numbers of points or samples of calculation of the input signal; detecting the peaks of the different numerical sequences resulting from the preceding calculation of the square and accumulating the relative peak values in an N number of registers, relative to each of said sequences; discriminating and storing in a dedicated register the maximum value among the peak values accumulated in said N registers for each of said sequences; calculating the square of the difference between the sum values of said N registers, normalized by dividing them by the relative maximum peak value and storing the result in dedicated registers; discriminating the minimum value among the contents of said dedicated registers as an information that identified the broadcasting mode according to a relative "truth table". The method according to claim 1, characterized in that said broadcasting modes are four, said calculations of the FFT and of the IFFT are parallely performed for 128, 256, 512, 1024 and 2048 samples of the input signal. The method according to claim 2, characterized in that said divider is a complex number of the type kπ/2, where k=0, 1, 2, 3 depending from the broadcasting mode and from a progressive index of the input sequence. An automatic mode detection (AMD) system for a receiver of digital audio broadcasting (DAB) coded orthogonal frequency division multiplexed signals (COFDM), comprising first means (FFT) of calculation of the Fast Fourier Transform parallely for different number of samples of the input signal; second means capable of carrying out a division among complex numbers in Cartesian form (I/Q), the dividends being represented by the numerical sequence output by said first means of calculation (FFT), respectively, and the dividers being preestablished variable complex numbers pertaining to the different modes of broadcasting, respectively; third means (IFFT) of calculation of the Inverse Fast Fourier Transform of the numerical sequences produced by said second means, according to a "butterfly" type time decimation algorithm; fourth means (Sqr Mag) of calculation of the square of the moduli of the results of said third means (IFFT) relatively to the numerical sequences pertaining to said different numbers of samples of calculation; fifth means (Peak Detection & Accumulation) capable of detecting the peak values of the numerical sequences produced by said fourth means (Sqr Mag) and to store said peak values in a number N of output registers, relatively to each of said numerical sequences, and means capable of discriminating and storing in a dedicated register the maximum value among said peak values stored in said N output register for each of said numerical sequences; sixth means (metric) of calculation of the square of the difference among the normalized sum values of the values stored in said N output registers of said fifth means and of discrimination and storage in a dedicated register of the maximum peak value; seventh means (min) of discrimination of the minimum value among said maximum peak values stored in said dedicated registers of said sixth means (metric). The system according to claim 4, characterized in that said second means are a plurality of circuit blocks, each of which comprises at least a pair of multiplexers (MUX(A), MUX(B)) receiving the numerical sequences in a direct and inverted form, respectively, relative to the results of the calculation output in Cartesian form (Q, I, -Q, -I) by said first means (FFT); a ROM register containing preregistered values of the respective divider number capable of providing selection commands (sel) to said multiplexers (MUX(A), MUX(B)), in the form of divider values, each of two bits, read from said ROM register; a third output multiplexer (MUX(out)) having two inputs, coupled to the output of said first and second multiplexers (MUX(A), MUX(B)), respectively, and timed by a clock signal (CLK). The system according to claim 4, characterized in that each of said fourth means consists of an input latch timed by a clock signal (CLK) capable of receiving as input a numerical sequence of interleaved values, in Cartesian form, resulting from the calculation of the IFFT; a demultiplexer (DEMUX) timed at half the frequency of said clock signal (CLK) and capable of producing at two outputs numerical sequences that correspond to values of the real part and the imaginary part, respectively, of said interleaved input sequence; a pair of squaring blocks capable of producing numerical sequences corresponding to the square of said real parts and of said imaginary parts; a summing circuit capable of outputting a numerical sequence corresponding to the square of the module of the interleaved input sequence and an output latch timed by said clock signal (CLK). The system according to claim 4, characterized in that said fifth means comprise a first subblock (peak_gen) including an input latch (L1) fed with the numerical sequence output by said fourth means and producing as output a logic 1 when the intermediate value of three consecutive input values is greater than the preceding one and than the following one of said three consecutive values; a second subblocks (sel_gen) capable of generating a selection signal (sel) which is incremented by a unit at the lapsing of each input sequence; a third block (max_rec) capable of storing in an output latch (L3) the maximum peak value (max) detected for each input sequence; a fourth subblock (accumulation) including a number N of latches (#1, #2, ..., #N) where N is equal to the length of each input sequence, one of which is selected during a reading phase by a multiplexer (MUX) in function of said selection signal (sel), and during a writing phase by a demultiplexer (DEMUX) in function of said selection signal (sel) thus updating the content of said demultiplexer with the current result of a summing circuit (+). A digital audio broadcasting (DAB) receiver for coded orthogonal frequency division multiplexed (COFDM) signals, according to international standards (ETS 300.401), comprising an automatic broadcast mode detection (AMD) system, characterized in that said automatic broadcast mode detection (AMD) system is as defined in claim 4.

Inventors: CERVINI STEFANO, CERVINI, STEFANO
Applicants: ST MICROELECTRONICS SRL, STMICROELECTRONICS S.R.L.
Application year: 1996
Main classification: H04L5
IPC codes: H04L27, H04H40, H04H20