An Integrated Error Correction and Detection System
for Digital Audio Broadcasting
Brian Chen and Carl-Erik W. Sundberg
Abstract—Hybrid in-band on-channel digital audio broad-casting systems deliver digital audio signals in such a way that is backward compatible with existing analog FM transmission. We present a channel error correction and detection system that is well-suited for use with audio source coders, such as the so-called perceptual audio coder (PAC), that have error concealment/mit-igation capabilities. Such error mitconcealment/mit-igation is quite beneficial for high quality audio signals. The proposed system involves an outer cyclic redundancy check (CRC) code that is concatenated with an inner convolutional code. The outer CRC code is used for error detection, providing flags to trigger the error mitigation routines of the audio decoder. The inner convolutional code consists of so-called complementary punctured-pair convolutional codes, which are specifically tailored to combat the unique adjacent channel interference characteristics of the FM band. We introduce a novel decoding method based on the so-called list Viterbi algorithm (LVA). This LVA-based decoding method, which may be viewed as a type of joint or integrated error correction and detection, exploits the concatenated structure of the channel code to provide enhanced decoding performance relative to decoding methods based on the conventional Viterbi algorithm (VA). We also present results of informal listening tests and other simula-tions on the Gaussian channel. These results include the preferred length of the outer CRC code for 96-kb/s audio coding and demonstrate that LVA-based decoding can significantly reduce the error flag rate relative to conventional VA-based decoding, resulting in dramatically improved decoded audio quality. Finally, we propose a number of methods for screening undetected errors in the audio domain.
Index Terms—DAB, IBOC, hybrid IBOC, digital audio coding, PAC, channel coding, list Viterbi algorithm, error concealment.
I. INTRODUCTION
S
YSTEMS for digital audio broadcasting (DAB) of CD-quality stereo audio are being proposed and evaluated for the FM band [1]–[10],[26]. The strategy is to first introduce hybrid in-band on-channel, (HIBOC), systems, where the digital broadcast co-exists with the analog FM broadcast. This phase is a transition to a fully digital system with no remaining analog FM in the current FM band. In this paper we discuss one particular aspect of such systems, namely forward error correction matched to an audio compression algorithm using error concealment. In particular, we use a convolutional code concatenated with an error detecting block code. When such a concatenation structure exists, one can obtain improved decoding performance for DAB using list decoding algorithms rather than conventional Viterbi algorithms.Manuscript received August 26, 1999; revised March 8, 2000.
The authors are with the Multimedia Communications Research Laboratory, Bell Labs, Lucent Technologies, 600 Mountain Avenue, Murray Hill, NJ 07974.
Publisher Item Identifier S 0018-9316(00)04404-8.
In [1], a number of convolutional codes with Viterbi decoding [11], [12] are proposed and evaluated for new generation DAB systems with both equal error protection and unequal error pro-tection [9], [13]–[16]. An outer cyclic redundancy check (CRC) block code detects or “flags” errors to allow error concealment and mitigation by the audio source decoder. The inner convo-lutional code allows efficient soft decision decoding and soft combining of two sidebands, which could not be done with some previously proposed DAB systems using Reed-Solomon codes [3], [4], [9], [11]. Although undetected errors may still cause significant distortion in the decoded audio, these unde-tected error events are quite rare with a properly designed CRC. On the other hand, detectable error events, which typically lead to only small and insignificant error-mitigation distortion, are more common. Thus, at the edge of coverage regions, the prob-ability of error-mitigation events, i.e., the error-flag rate, deter-mines the overall system performance.
As we discuss in this paper, the list Viterbi algorithm (LVA) allows considerable improvement in this error-flag rate over the conventional Viterbi algorithm (VA), especially for flag rates consistent with high quality audio. Although with the appropriate choice of path metric (usually correlation or squared Euclidean distance), the conventional VA, which finds the sequence through a trellis with the best path metric [11], is the maximum likelihood (ML) sequence detector for (unconcatenated) convolutional codes, it is not the ML decoder for convolutional codes that have been concatenated with an outer CRC code due to the interdependence of bits in the CRC codewords. As we show in [17], the LVA [18], [19], which finds the ordered list of the sequences through the trellis with the best path metrics, can be used to implement the ML decoder for these concatenated codes. (A similar concatenation structure also arises in digital cellular TDMA systems like GSM and IS-136, although the CRC is applied only to certain speech bits. The LVA can also decode turbo codes [20], [21], which may be viewed as a concatenation of two convolutional codes.) The case is, of course, the conventional VA. The length of these sequences may be set equal to, for example, one CRC block, and the CRC decoder is used to select a path from the list that corresponds to a valid CRC codeword. One can combine error correction with the error detection required for the error mitigation described above by using a short list length and generating an error flag if no paths on the list correspond to CRC codewords.
Several algorithms exist for producing the best sequences through terminated trellises, which arise in block-by-block transmission. (See [18], [19] and references therein.) These algorithms require known starting and ending states. However,
the termination requires a tail [11], [12], thus leading to an overhead. A new family of LVA’s for continuous transmission, i.e., transmission without termination tails, has also been developed [17] and eliminates this overhead.
In this paper we evaluate the suitability of the CRC and the LVA for digital audio broadcasting and describe results of informal listening tests using a 96-kb/s audio coding PAC algorithm [8]. We empirically characterize trade-offs among the CRC code rate, error-flag rate, double flag rate (error flags in two consecutive audio frames), and undetected block error rate, which all affect decoded audio quality. We also report results of proof-of-concept demonstrations of the LVA for additive white Gaussian noise channels. (These simulation results can also be used to predict relative performance for fully-interleaved Rayleigh fading and Ricean channels.) Our simulations demon-strate that the difference in decoded audio quality resulting from the LVA and conventional VA can be quite dramatic, reducing the error-flag rate in some cases by a factor of 25 (The reduction in double flag rate is even higher.), thus changing system performance from a case of point-of-failure with the conventional VA to an almost error-free case with the LVA.
In Section II we give a brief description of the error detec-tion and correcdetec-tion codes for the hybrid in-band on-channel FM systems considered in this paper. In Section III we describe how the LVA can be used for enhanced error detection and correction decoding. These decoding algorithms apply to both terminated and unterminated convolutional codes, the latter case requiring no terminating tail for each CRC block (continuous transmis-sion). Section IV describes the results of simulations for evalu-ating the CRC and comparing LVA-based decoding to conven-tional VA-based decoding. In Section V we introduce methods for screening undetected errors. The paper ends with a discus-sion and concludiscus-sion section.
II. CODES FORHYBRIDIN-BANDON-CHANNELFM DAB SYSTEMS
As one can see from the system block diagram in Fig. 1, the channel code of the proposed DAB system consists of the con-catenation of an outer CRC code and an inner convolutional code. The outer CRC code provides a mechanism for flagging or detecting errors so that the error mitigation capabilities of the PAC audio decoder may be exploited. The inner convo-lutional code provides soft-decision error correction capabil-ities. As discussed below, this inner convolutional code con-sists of two so-called complementary codes, which are specially designed to combat the unique adjacent channel interference characteristics that are inherent to FM DAB. Finally, the LVA module shown in Fig. 1 exploits the concatenated coding struc-ture to provide enhanced joint error correction and error detec-tion capabilities. The outer CRC and inner convoludetec-tional codes are described in more detail in the rest of this section. The LVA is the topic of Section III.
A. CRC Error Detecting Codes
Cyclic redundancy check (CRC) codes are a class of well-known linear block codes that can be used for both error correc-tion and error deteccorrec-tion [11]. Such codes are defined by their
Fig. 1. FM DAB system block diagram. The channel coder consists of an outer CRC code for error detection and an inner convolutional code for error correction. The CRC exploits the error mitigation capabilities of the PAC audio decoder, and the LVA exploits the concatenated structure of the channel code.
generator polynomials, and the generator polynomials corre-sponding to several CRC codes of various block sizes are shown in Table I.
The columns in Table I marked and are both in-dicators of the error detection capability of the corresponding CRC code. The minimum distance of these codes is so each CRC code is guaranteed to detect any error pattern with or less errors. However, most error patterns with more than errors are also detectable. In fact, the only undetectable error patterns are those that are CRC codewords. The fraction of error patterns that are undetectable is therefore approximately The overhead is expressed as a percentage of The CRC codes in the top part of Table I have roughly 6% overhead, while those in the bottom part have roughly 3–4% overhead. One can see that as a general rule CRC’s with longer block sizes have better error detection capability for a given percent overhead. However, from an audio decoding perspective, one prefers shorter CRC block lengths since shorter CRC blocks reduce the number of audio frames for which error mitigation is required, as discussed in Section IV. Thus, a trade-off is involved in selecting the CRC block length, and in Section IV we report simulation results for choosing this block length.
B. Complementary Punctured-Pair Convolutional Codes Traditional channel coding methods that have been de-veloped for either white noise channels or channels with a known, fixed interference power spectrum are not well-suited for the interference environment in the normally crowded FM band. Fig. 2 shows a configuration where the digital audio information is transmitted on two sidebands, one on each side of the analog host by means of a multicar-rier modem (orthogonal frequency division multiplexing, OFDM). In the interference environment of the FM band, the so-called adjacent channel interference facing some receivers may completely wipe out (erase) one sideband, while other receivers may lose the other sideband. Thus, one would like to be able to recover all the digital audio information even
TABLE I
CRC CODES OFVARIOUSBLOCK SIZES.
THENUMBER OFCODEBITS INEACHBLOCK ISn;ANDkIS THENUMBER OF INFORMATIONBITS. OVERHEAD ISEXPRESSED AS APERCENTAGE OFk
when either sideband is erased. On the other hand, if neither sideband is erased, one would like to exploit this advantage by, for example, being able to receive the digital audio signal farther away from the transmitter, thus extending coverage area. Furthermore, even when sidebands are not completely lost, carriers within a sideband are exposed to differing levels of interference. For example, the carriers in areas B of the HIBOC OFDM power spectrum in Fig. 2 are deemed to be more robust to interference. Areas A are always used, but are deemed to be more sensitive to adjacent channel interference. Areas C could optionally be used in a so-called extended bandwidth mode, yielding a potential increase in channel coding capability. Potentially, the transmission in areas C can take place with precancellation techniques [22], [23], where the self-interference from the analog host FM signal is cancelled. The bandwidth of areas A + B is for example about 70 kHz.
One class of channel codes for dealing with these interference characteristics is the class of so-called complementary punc-tured-pair convolutional (CPPC) codes [1]. Two convolutional codes, called half-bandwidth codes, are designed by puncturing [11]–[13] a mother code. One code is transmitted on one side-band, and the other code, called its complementary code, is transmitted on the other sideband. The two codes are comple-mentary in the sense that they combine to form a single code, called the full-bandwidth code whose rate is half the rate of the half-bandwidth codes.
This process of puncturing is a well-known technique [11]–[13] for generating good high rate convolutional codes from low rate codes, as illustrated in Fig. 3, where a rate-2/5 code is generated from a rate-1/3 code. The resulting high rate code can be decoded using the same basic Viterbi algorithm that is used to decode the mother code. In the example of Fig. 3, two out of every twelve code bits from the rate-1/3 code are selectively dropped (punctured), thus creating a code of rate 2/5. (For every four information bits, there are ten code bits.) The puncturing pattern shown in Fig. 3 contains a “1” for each bit that is kept and a “0” for each bit that is punctured. In conventional punctured code design, the puncturing pattern is optimized to create only one best high rate code. Kroeger et al.proposed constructing complementary pairs of codes by puncturing a particular convolutional “mother” code [10],[26]. A low rate mother code is first punctured to the full rate (full bandwidth) code used for both sidebands. This code is then punctured to twice its original rate, forming the first code of
Fig. 2. Power spectra of FM HIBOC systems. The digital audio signal is transmitted on each side of the analog host using a multicarrier modem. The regions A, B, and C have different interference susceptibility. Region A is more sensitive to interference than B. Region C is used optionally.
Fig. 3. Convolutional code puncturing. A rate-1/3, memoryM = 6 mother code is punctured with a puncturing period of 4, indicating that the same puncturing pattern is repeated every 4 input bits. The output code rate is 2/5. In this paper we have applied the list Viterbi algorithm to a hybrid IBOC system such as the one described in this section. However, the LVA is also applicable to other arrangements such as different channel coding, modem and audio coder choices.
the complementary pair. The punctured bits form the second code of the pair. The class of codes constructed in this way are called complementary punctured-pair convolutional codes.
In their work, however, Kroeger et al. do not search for good codes within this class, i.e., they do not optimize the puncturing pattern. They also put unnecessary constraints on the class by only using a particular mother code. In [1] we give good CPPC codes for a variety of scenarios that arise in HIBOC DAB using a widest possible search space. These scenarios include equal error protection, unequal error protection, extended bandwidth mode, and transmission with variety of compatibility constraints. We easily arrive at better schemes than classic code combining [11], and we do not need to require conditions for so-called equiva-lent codes [24], which are a special subclass of complementary codes. We also demonstrate that codes that are both CPPC codes and rate-compatible (described below) punctured convolutional (RCPC) codes [13]–[15] can be used for unequal error protec-tion in this setting. These RCPC codes can be time-multiplexed and decoded by the same decoder without intermediate termi-nation bits (tails) [13]–[15]. The use of unequal error protection codes [9] further improves the capability of the channel codes, yielding extended coverage areas. Finally, we also show in [1] how puncturing can be used to intelligently assign channel code bits to carriers to handle the nonuniform interference within side-bands, leading to further code optimizations [1].
III. LISTVITERBIALGORITHM FORERRORDETECTION AND
CORRECTION
When developing a decoder for the concatenated encoder de-scribed in Section II, it is natural to consider the following two-stage decoding strategy:
1. First, decode the inner convolutional code using a con-ventional Viterbi algorithm (VA) [11], which finds a se-quence through a trellis with the best path metric. With the appropriate choice of path metric, usually correlation or squared Euclidean distance, the VA is the maximum like-lihood (ML) decoder for (unconcatenated) convolutional codes.
2. Use conventional CRC error detection [11] to detect er-rors in each CRC block of the decoded VA output se-quence. If no error is present in a CRC block, send the block to the audio decoder. Otherwise, send an error flag to trigger error mitigation.
However, this strategy does not fully exploit the concatenated structure of the encoder. In particular, the only possible input se-quences to the convolutional encoder are valid CRC codewords, and due to the interdependency among CRC codeword bits, the VA is not the ML decoder in the concatenated case. It is shown in [17] that the ML decoder in this case can be implemented using the so-called list Viterbi algorithm (LVA) [18] with a sufficiently long list size. The LVA finds the ordered list of the sequences through the trellis with the best path metrics, the case being the conventional Viterbi algorithm. Both parallel and se-rial implementations of the LVA are described in [18]. The par-allel LVA finds all sequences simultaneously, while the serial LVA determines the sequences sequentially. The serial LVA is more computationally efficient since the algorithm can be termi-nated before determining all sequences, i.e., it has an adaptive list size. Alternative algorithms are described in [19] and refer-ences in [18] and [19].
With short list lengths one can use the following decoding strategy on each CRC block for enhanced error correction and detection:
1.
2. Use the LVA to determine the sequence with the th best path metric.
3. Use conventional CRC error detection [11] to detect er-rors in the th LVA output sequence. If no error is present, send the CRC block to the audio decoder and return to Step 1 to decode the next CRC block. If an error is present, increment If return to Step 2. Otherwise, send an error flag for this CRC block and return to Step 1 to decode the next CRC block.
With the parallel LVA, all sequences are determined at once in Step 2 before any CRC error detection is performed. With the serial LVA, only the th sequence is determined. Thus, if this sequence is an error-free CRC codeword, then no computation will be wasted in determining subsequent sequences on the list. As long as the list length is long enough so that at least one of the sequences on the list is a valid CRC codeword, this al-gorithm produces the ML sequence as the decoded CRC block [17]. Otherwise, an error flag is produced.
We see that in contrast to the VA-based decoding method, where an error correction decoding stage is followed by an error detection stage, in this LVA-based decoding strategy the CRC error detector is employed in conjunction with the LVA for de-coding of the inner convolutional code. Thus, error correction and detection are performed jointly. Not only does this inte-grated decoding strategy have a theoretical basis [17], but also the simulation results of Section IV demonstrate empirically a resulting decoding performance enhancement as well.
The LVA’s in [18], [19], and references therein are for block-by-block transmission, i.e., these algorithms make use of a known starting and ending state, and thus, each CRC block must be terminated with a tail, as shown in Fig. 4. Although the encoder is in a known state at the start and end of each block, this tail leads to an overhead compared to continuous transmission, where no tail bits are required. Luckily, however, LVA’s for continuous transmission, which may arise in many broadcasting scenarios, have also been developed recently [17]. These continuous LVA’s work by first estimating the starting and ending states for each block before running the previously developed block-by-block LVA’s. Simulation results in [17] indicate that the obtainable performance of the continuous LVA is almost as good as that obtainable with terminated blocks.
For short convolutionally coded messages without the overhead of a terminating tail, so-called tailbiting convolutional codes are an alternative, [25]. In [17] we also extended the LVA to tailbiting convolutional codes.
IV. SIMULATIONRESULTS WITHDIGITALAUDIOSIGNALS
To evaluate the CRC outer code and the LVA’s we ran a number of software simulations and informal listening tests using actual audio signals and a 96-kb/s perceptual audio coder (PAC), which has a variable frame size [8], [9]. When the CRC outer code detects an error, a flag is passed to the audio decoder for error mitigation for the VA case, as described in Section III. As is also described in Section III, in the case of LVA-based error correction and detection, the flag is instead sent to the LVA, up to list size If no alternative is found that satisfies the CRC, a flag is passed to the error mitigation algorithm. For simplicity we assume a Gaussian channel. Other system simulation details are described in the tables.
A. Performance Measures and Other Parameters
Performance was measured using the following parameters: • PAC flag rate: Fraction of PAC frames that are flagged as
being at least partially in error, invoking the error mitiga-tion routine.
• Pair flag rate: Fraction of consecutive pairs of PAC frames that are flagged as being at least partially in error. • PAC frame erasure rate: Fraction of PAC frames that are
flagged as being completely in error (erased). No partial information from these frames is used by the error mitiga-tion routine.
• Pair erasure rate: Fraction of consecutive pairs of PAC frames that are erased.
Fig. 4. Terminated CRC block. The block consists of the information bits, the parity-check (CRC) bits, and a terminating tail. For a memory-6 code, a tail length of 6 bits is needed. For a block length of 500, this is an overhead of 1.2%.
• Undetected CRC errors: Number of CRC blocks that are declared error free, but in fact contain errors.
• CRC block erasure rate: Fraction of CRC blocks that are declared as containing errors.
• Decoded BER: Decoded bit error rate at output of VA or LVA.
To illustrate the above definitions and how the variable PAC frames (in bits) relate to the fixed length CRC frame we give an example in Fig. 5. In this case 11 CRC frames correspond to 10 PAC frames. The CRC frames numbered 2, 5, 6 and 9 are flagged as containing errors. Thus, the CRC block erasure rate is 4/11. The PAC flag rate is 0.6 (PAC frames 2, 3, 5, 6, 7 and 8). The PAC pair flag rate is being contributed to by pairs (2,3), (5,6), (6,7) and (7,8). Erased PAC frames are 5 and 6. The pair erasure rate gets a contribution from (5,6).
The additive white Gaussian noise channel is characterized by its the ratio between energy per dimension and noise power spectral density. This figure is related to more conven-tional measures by
where is the rate of the code in information bits per dimension (e.g., convolutional code rate for BPSK or QPSK signaling) and is the number of dimensions per symbol (e.g., 1 for BPSK, 2 for QPSK).
B. Codes and Audio Signals
The CRC codes used in our simulations are shown in Table I. Table II describes the full-bandwidth and half-bandwidth con-volutional codes that were used. These codes are among many that have been proposed for digital audio broadcasting [1].
Details about the audio signals are shown in Table III, in-cluding their lengths in terms of PAC frames and CRC blocks. Although the frame length of the 96-kb/s perceptual audio coder varies, the average frame length is about 2230 bits, the minimum is about 70 bits, and the maximum is about 6690 bits.
C. Effect of CRC Block Length on Performance
Table IV shows the effect of CRC block length. In general, longer CRC blocks lead to higher PAC frame erasure rates. In-deed, in informal listening tests more error-mitigation induced artifacts can be heard when the (1 016 976)-CRC is used than when the (248 240)-CRC or (506 488)-CRC is used.
D. CPPC Code Performance
Tables V and VI show the results of simulations where the full-bandwidth (rate-2/5) and half-bandwidth (rate-4/5) convo-lutional codes of Table II are pushed to the nominal point of
TABLE II
FULL-BANDWIDTH(RATE2/5)ANDHALF-BANDWIDTH(RATE4/5) CONVOLUTIONALCODES. THESECODES AREAMONGMANYTHATHAVEBEEN
PROPOSED FORDIGITALAUDIOBROADCASTING
failure (PAC Flag Rate i.e., the is chosen so that error-mitigation induced artifacts are clearly audible. E. LVA vs. VA Performance
Table VII compares the performance of the terminated list Viterbi algorithm with the performance of the conventional non-terminated Viterbi algorithm. The was chosen to push either the VA or the LVA to the point of failure. We see that the LVA with a list size of 4 is better than the VA by about 0.8 dB in terms of point of failure. Also, at the point of failure of the VA, the LVA reduces the PAC flag rate by more than an order of magnitude. Listening to these signals shows that LVA has a huge impact.
Because simulation results in [17] indicate that continuous LVA’s perform almost as well as terminated LVA’s, we expect similar results for continuous LVA’s. Similarly, Table VIII shows that there is a negligible difference in performance of the conventional Viterbi algorithm between the case when CRC blocks are not terminated and the case when the CRC blocks are terminated.
The simulations above should be interpreted with some cau-tion. We do not have statistical significance for the probability of undetected errors. The number of undetected CRC errors needs further work. However, it is clear from the informal listening tests that the LVA with even a small list size like gives considerable improvement.
V. PROPOSEDAUDIO-DOMAINERRORSCREENINGMETHODS
One can view the LVA-based algorithm of Section III as a joint error correction and detection algorithm that exploits the concatenated structure of the error correction (inner convo-lutional) and error detection (outer CRC) codes. In particular, the LVA exploits the knowledge at the receiver that all inputs to the convolutional encoder are valid CRC codewords to provide enhanced error correction capability over the VA (See Table VII.).
The concatenated structure of the audio coder and channel coder in Fig. 1 suggests that additional gains may be obtain-able by exploiting the fact that all inputs to the CRC encoder are source coded audio signals. Because the PAC audio coder is nonideal, its output bits do not form a sequence of independent, identically distributed bits that are equally likely to be 0’s or 1’s. Indeed, it is this residual redundancy that is exploited by the PAC decoder during error mitigation, which may be viewed as a sort of audio-domain error correction. In this section we propose some methods for using this residual redundancy for audio-do-main error detection, i.e., for detecting errors that were not de-tected by the CRC or some other error detection method. We at
TABLE III AUDIOSIGNALS
TABLE IV
EFFECT OFCRC BLOCKLENGTH. THECONVOLUTIONALCODERATE IS2/5.E =N = 01:0 dB. DECODER ISCONVENTIONALVITERBIALGORITHM
TABLE V
FULL-BANDWIDTHRATE2/5,M = 6 CODE(1111, 1111, 1010) NEARPOINT OFFAILURE(PAC FLAGRATE 10 ): E =N = 01:0 dB. DECODER IS CONVENTIONALVITERBIALGORITHM
TABLE VI
HALF-BANDWIDTHRATE4/5,M = 6 CODE(0110, 1001, 0010) NEARPOINT OFFAILURE(PAC FLAGRATE 10 ): E =N = 3:4 dB. DECODER IS CONVENTIONALVITERBIALGORITHM
times refer to such audio-domain error detection of undetected errors as error “screening” to distinguish it from CRC-based or other “channel-domain” error detection. The algorithms
pre-sented in this section are intended mainly to illustrate the con-cepts involved, and evaluation of these algorithms is left for fu-ture work.
Fig. 5. Illustration of the relationship between variable length PAC frames (in bits) and fixed length CRC frames.
Fig. 6. Screening unit for LVA CRC undetected errors.
A. Screening of Undetected CRC Errors
List Viterbi algorithms can significantly reduce the flag rate for digital audio broadcasting applications. The “price” is in-creased complexity and possibly an inin-creased rate of undetected errors. The peak complexity increase with the LVA over the VA is of the order of L for a list size of L. With the serial algorithm, the average increase in the number of paths that need to be ex-plored beyond is very tiny, due to the fact that only a fraction of CRC blocks need the LVA to begin with. The issue of complexity needs further work. The results in this paper should be viewed as proof of concept rather than final algorithm to use in a practical system. The potential increase in the rate of unde-tected errors can be alleviated by increasing the number of CRC parity-check bits. However, these extra parity-check bits, which increase the redundancy in the system, lead to a decreased data rate given that the channel bandwidth is fixed.
An alternative to introducing more CRC parity-check bits is to exploit the already existing residual redundancy of the audio coder. Fig. 6 illustrates one such method for screening unde-tected errors. Suppose the LVA decodes a frame in which the CRC does not detect any errors. (One could also, in principle, have used the conventional Viterbi algorithm instead of the LVA for decoding this frame without changing the operation of the error screening unit that we are now describing.) The de-coded audio signal corresponding to this frame is denoted and this signal is compared to the error mitigation signal that would have been produced by the audio decoder had none of the sequences decoded by the LVA satisfied the CRC check. The energy of the difference between these two signals is one test statistic that can be used for error screening, i.e., an error is declared and is used in place of if
(1) or
(2) where the test thresholds and can be applied either in the time or frequency domain and the integration interval is one
audio coder frame. Also, this threshold test can be applied se-lectively, for example, to reduce computational load or to reduce the incidence of “false alarms,” i.e., false use of One cri-terion for deciding when to apply the threshold test is to do so only when the LVA is deemed likely to have introduced unde-tected errors, e.g., when corresponds to a LVA-decoded sequence that was not the highest on the list.
One can also reduce the probability of false alarms, perhaps at the expense of also reducing the probability of error detection, by adjusting the threshold levels to sufficiently “high” levels, which can be established by means of experiment. One could also adapt these thresholds to short term signal statistics, for example,
(3) where the overbar refers to short term time averaging of the error signals over a number of consecutive audio frames, say 100. Again, the value of can be established by means of experiment. Thus, is a normalized threshold with a fixed numerical value (again, chosen based on experiment), and the threshold in (3) is signal-adaptive. Another signal-adaptive threshold that is simpler to implement than (3) is
(4) which represents a short term energy normalization.
As an alternative to (1) and (2), one might desire that the test statistics reflect perceptual properties of the human aural system. For example, one can change (2) to include a frequency weighting function that emphasizes certain frequencies over others:
(5) Similarly, one can use a time-domain weighting function to modify (1). Finally, one may desire signal-adaptive weighting functions, as well as signal-adaptive thresholds, to account for pauses in music, for example, during which clicks may be most annoying. Again, experiments used to establish such weighting functions and corresponding thresholds are left for future work. B. Other Channel-Domain Error Detection Methods
The audio-domain error screening methods of the previous section can be used in conjunction with other channel-domain error detection methods, for example, when no CRC is used for error detection. A few such channel-domain error detection methods are proposed in this section. Again, we leave evaluation of these algorithms for future work.
1) Path metric difference based detection: The first error de-tection method, illustrated in Fig. 7, is based on path metric differences. The LVA produces the two sequences with the two best path metrics. For example, if the path metric is Euclidean
TABLE VII
LVA vs. VA. AUDIOSIGNAL ISsymph5. THEVA RESULTSHERE ARE FORCONTINUOUSDECODING
TABLE VIII
TERMINATED(L = 1) vs. NON-TERMINATEDVA. (248 240)-CRC, RATE-2/5 CONVOLUTIONALCODE,E =N = 01:0 dB. AUDIOSIGNAL ISsymph5
distance, then these two sequences are the closest two convolu-tional code sequences to the received signal. Since we assume that no outer CRC code exists, the highest sequence on the list, the one with the best path metric, is the decoded estimate of the convolutional code sequence. Since the path metric indicates the likelihood that the corresponding code sequence was the true transmitted sequence, if the path metric of the second highest sequence on the list is close to that of the highest sequence, then the two sequences are nearly equally likely to have been the transmitted sequence, and thus, an error is more likely to have occurred then if the path metrics were farther apart.
Thus, one can detect errors by comparing the difference of the two path metrics ( PM) to a threshold (normalized and possibly adjusted for transmission conditions). When PM
an error is declared and the error mitigation signal is used as the decoded audio output. (This condition is similar to the one when an outer CRC detects an error.) If PM the audio decoder decodes the audio signal from the highest sequence on the LVA list, unless the optional screening unit is triggered. This unit compares and as in Section V-A and selects instead of if an undetected error is deemed to be present (using for example the techniques above in (1)–(5). If not, is selected as the output.
2) Path metric based error detection: An alternative, path metric based error detection method is shown in Fig. 8. In this case, a conventional Viterbi algorithm (VA) produces one de-coded sequence with the best path metric. This path metric, which again indicates the likelihood that the decoded sequence is the correct one, is compared to a threshold If PM an error is declared and error mitigation is triggered. (We as-sume here without loss of generality that higher path metrics are better.) If the path metric is Euclidean distance or correla-tion (with signal energy normalizacorrela-tion), then this test is
equiv-Fig. 7. Error detection method based on path metric differences. An LVA with
L = 2 produces two sequences. The differences between their path metrics is
used as a test statistic for error detection. Audio-domain screening of undetected errors follows.
Fig. 8. Path metric based error detection with audio-domain screening. The path metric of the conventional Viterbi algorithm output is compared to a threshold for error detection. For Euclidean distance or correlation path metrics, this error detection is equivalent to a bounded distance decoding test.
alent to a so-called bounded Euclidean distance (BDD) test. In this case, errors are declared when
Fig. 9. Audio-domain error detection and screening. Closeness to the error mitigation signals (t) is used as the criterion for selecting a path from the LVA list. Audio-domain error screening follows.
where and correspond to the received signal and the VA estimate of the transmitted signal, respectively, is the minimum Euclidean distance, and is a small correction term that controls the trade-off between the probability of false alarm and the probability of detection. Increasing leads to greater probabilities of both false alarms and error detections. Finally, audio-domain error screening follows by comparing and
as described in Section V-A.
3) Error mitigation based detection: One final error detec-tion method is shown in Fig. 9, where both error detecdetec-tion and screening occur in the audio domain. In this case the LVA pro-duces a list of the sequences with the best path metrics as in Section V-A. However, since no outer CRC code is present, the error mitigation signal rather than a CRC check, is used to select a path from this list. Thus, the signal that mini-mizes
(7)
is selected as the output where is the decoded audio signal corresponding to the th sequence on the list. Also, one could use the distances from the two best signals in (7) to in an error detection step that is analogous to the path metric dif-ference method described above, i.e., if both signals are nearly the same distance to then an error mitigation flag is pro-duced and is chosen as the decoded audio signal. Finally, the audio-domain screening unit of Section V-A determines if the minimizing is “too far” from If so, then is also chosen as the decoded audio signal.
This audio-domain error detection method does not use path metrics and thus, in contrast to the path metric based methods discussed earlier, the connection between error detection and the relative likelihood that the decoded sequence is correct is less direct. However, one might use this ad-hoc method, for example, in scenarios where the path metric is not matched to the channel probability law, such as would be the case if the channel model is uncertain.
C. Extensions
In the schemes of Figs. 7–9, we assume that there is no CRC code for detecting errors or selecting a sequence from a list.
However, even if there is an outer CRC code, one could still treat the concatenated outer CRC code and inner convolutional code as one overall channel code and employ error detection using the methods of this section, rather than resorting to CRC-based error detection. In this case, the LVA box in Figs. 7 and 9 and the VA box in Fig. 8 are replaced with the ML list decoder for the concatenated CRC and convolutional code described in [17]. The output is a list, where each path on the list satisfies the CRC. In the case of Fig. 8, the output list is of length 1. The “VA” for the concatenated codes is realized with an LVA for the convolutional code (with a “long enough” list size) and a CRC. The “safest” method to keep the probability of undetected er-rors low is probably the use of a CRC outer code as illustrated in some of the methods in this section. However, even when a CRC is not present, an LVA as well as a screening unit can be employed as shown above. An error mitigation flag can be generated by other means than with a CRC, which is also illus-trated above. The preferred scheme is dependent on the partic-ular source signals, source coders, channel codes and channels as well as the level of complexity. A mixture of the techniques above may even be applied. In some systems, (like the GSM system for cellular mobile radio) only a fraction of the source bits are protected by a CRC code, for example.
VI. DISCUSSION ANDCONCLUSIONS
We have demonstrated that the list Viterbi algorithm can sig-nificantly improve the quality of received digital audio by con-siderably reducing the probability of error mitigation flags com-pared to a conventional Viterbi algorithm. The LVA is an option that can be added to the receiver without changing the trans-mitter. Thus, the LVA is backward compatible with systems in-troduced with the conventional VA. The improved flag rate is obtained at the cost of a potential increase in undetected errors as discussed above and at a cost of an increase in algorithm com-plexity.
LVA’s for both terminated and unterminated convolutional codes exist, the latter case involving a so-called continuous decoding LVA (CLVA). In practice there may be hybrid cases where both are needed. Fig. 10 shows such a case, where trans-mission occurs in superframes consisting of CRC codewords followed by a terminating tail. Thus, over the superframe the starting state for block 1 and ending state for block are known. For blocks 1 and a hybrid between terminated LVA and CLVA can be used. For the remaining blocks, CLVA is used.
The above results were obtained for the Gaussian channel. Further detailed experiments are required for other channels. The LVA is expected to yield considerable improvements also for interleaved fading channels [18].
Although we have considered use of a CRC code in many cases, the concept of the LVA is unrelated to CRC codes. For ex-ample, if there exists a source-based selection mechanism, the LVA can be operated without a CRC, as indicated in Section V. Sometimes the CRC code can be combined with source coder based error detection for improved performance. Some other-wise undetected errors will be flagged by, e.g., detecting irreg-ularities in the decoder of a Huffman code.
Fig. 10. Superframe ofN CRC blocks with terminating tail.
Although our discussions have centered around digital audio applications, the ideas and principles in this paper can also be successfully adopted for image, video, speech coding and other coded communication systems. Also, much of what has been de-scribed can in principle be generalized to include concatenated coding systems with other types of outer block codes such as Reed Solomon codes and other inner codes like trellis coded modulation schemes.
ACKNOWLEDGMENT
Thanks are due to Deepen Sinha and Hui-Ling Lou for software and stimulating technical discussions and to Gerry Monteleone for asking penetrating questions which led to new screening algorithms.
REFERENCES
[1] B. Chen and C.-E. W. Sundberg, “Complementary punctured-pair con-volutional codes for digital audio broadcasting,” IEEE Transactions on Communications, to be published.
[2] N. S. Jayant and E. Y. Chen, “Audio compression: Technology and appli-cations,” AT&T Technical Journal, vol. 74, pp. 23–34, Mar./Apr. 1995. [3] J. A. C. Bingham, “In-band digital audio radio: An update on AT&T
Amati PAC/DMT solution,” in Proc. International Symposium on
Dig-ital Audio Broadcasting, Toronto, Canada, Mar. 1994, pp. 270–277.
[4] N. S. Jayant, E. Y. Chen, J. D. Johnston, S. R. Quackenbush, S. M. Dorward, K. Thompson, R. L. Cupo, J.-D. Wang, C.-E. W. Sundberg, and N. Seshadri, “The AT&T in-band adjacent channel system for dig-ital audio broadcasting,” in Proc. International Symposium on Digdig-ital
Audio Broadcasting, Toronto, Canada, Mar. 1994, Conference Record,
pp. 254–267.
[5] Second International Symposium on Digital Audio Broadcasting, The
Sound of 2000, vol. 1–2, Toronto, Canada, Mar. 1994, Conference
Record.
[6] C.-E. W. Sundberg, “Digital audio broadcasting in the FM band,” in
ISIE ’97, Guimaraes, Portugal, July 1997, Conference Record, pp.
SS37–SS41.
[7] B. W. Kroeger and A. J. Vigil, “Improved IBOC DAB technology for AM and FM broadcasting,” in NAB Show, Las Vegas, Nevada, Oct. 1996, Conference Record, pp. 1–10.
[8] J. D. Johnston, D. Sinha, S. Dorward, and S. R. Quackenbush, “AT&T perceptual audio coding (PAC),” in Audio Engineering Society (AES)
Collected Papers on Digital Audio Bit Rate Reduction, N. Gilchrist and
C. Grewin, Eds, NY: AES, 1996, pp. 73–82.
[9] D. Sinha and C.-E. W. Sundberg, “Unequal error protection (UEP) for perceptual audio coders,” in ICASSP ’99, Phoenix, AZ, Mar. 1999, Con-ference Record.
[10] B. Kroeger and D. Cammarata, “Complementary punctured convolu-tional codes with application to IBOC DAB,”, Private communication, June 1997.
[11] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and
Applications: Prentice-Hall, Inc., 1983.
[12] G. C. Clark, Jr. and J. B. Cain, Error-Correction Coding for Digital
Communications: Plenum Press, 1981.
[13] J. Hagenauer, “Rate-compatible punctured convolutional codes (RCPC codes) and their applications,” IEEE Transactions on Communications, vol. 36, pp. 389–400, Apr. 1988.
[14] R. V. Cox, J. Hagenauer, N. Seshadri, and C.-E. W. Sundberg, “Subband speech coding and matched convolutional channel coding for mobile radio channels,” IEEE Transactions on Signal Processing, vol. 39, pp. 1717–1731, Aug. 1991.
[15] J. Hagenauer, N. Seshadri, and C.-E. W. Sundberg, “The performance of rate-compatible punctured convolutional codes for digital mobile radio,” IEEE Transactions on Communications, vol. 38, pp. 966–980, July 1990.
[16] Y. Yasuda, K. Kashiki, and Y. Hirata, “High-rate punctured convolu-tional codes for soft decision viterbi decoding,” IEEE Transactions on
Communications, vol. 32, Mar. 1984.
[17] B. Chen and C.-E. W. Sundberg, “List Viterbi algorithms for continuous transmission,” IEEE Transactions on Communications, to be published. [18] N. Seshadri and C.-E. W. Sundberg, “List Viterbi decoding algorithms with applications,” IEEE Transactions on Communications, vol. 42, pp. 311–323, Feb./Mar./Apr. 1994.
[19] C. Nill and C.-E. W. Sundberg, “List and soft symbol output Viterbi algorithms: Extensions and comparisons,” IEEE Transactions on
Com-munications, vol. 43, Feb./Mar./Apr. 1995.
[20] K. R. Narayanan and G. L. Stüber, “Turbo decoding for packet data sys-tems,” in IEEE Global Telecommunications Conference, GLOBECOM
’97, Phoenix, AZ, Nov. 1997, Conference Record, pp. 44–48.
[21] J. S. Sadowsky, “A maximum likelihood decoding algorithm for turbo codes,” in IEEE Global Telecommunications Conference, GLOBECOM
’97, Phoenix, AZ, Nov. 1997, Conference Record, pp. 929–933.
[22] B. Chen and C.-E. W. Sundberg, “In band on channel digital audio broad-casting by means of contagious band insertion and precancelling tech-niques,” IEEE Transactions on Communications, to be published. [23] H. C. Papadopoulos and C.-E. W. Sundberg, “Simultaneous
broad-casting of analog FM and digital data by means of variable rate digital signaling and precanceling strategies,” IEEE Transactions on
Communications, vol. 46, pp. 1233–1242, Sept. 1998.
[24] S. Kallel, “Complementary punctured convolutional (CPC) codes and their applications,” IEEE Transactions on Communications, vol. 43, June 1995.
[25] R. V. Cox and C.-E. W. Sundberg, “An efficient adaptive circular Viterbi algorithm for decoding generalized tailbiting convolutional codes,”
IEEE Transactions on Vehicular Technology, vol. 43, pp. 57–68, Feb.
1994.
[26] B. Kroeger and D. Cammarata, “Robust modem and coding techniques for FM hybrid IBOC DAB,”, presented at the NAB Radio Show, New Orleans, September 1997 and IEEE 47th Annual Broadcast Symposium, Washington, DC, September 1997. IEEE Transactions on Broadcasting, vol. 43, no. 4, pp. 412 – 420, Dec. 1997.
Brian Chen was born in Warren, MI, and received
the B.S.E. degree from the University of Michigan, Ann Arbor, in 1994, and the S.M. degree from the Massachusetts Institute of Technology (MIT), Cam-bridge, in 1996, both in electrical engineering. He has submitted his doctoral thesis and will formally receive the Ph.D. degree in electrical engineering and computer science from MIT, Cambridge, in June 2000.
Since 1994 he has been with the Department of Electrical Engineering and Computer Science, MIT, Cambridge, where he has held a National Defense Science and Engineering Graduate Fellowship and has served as both a Teaching Assistant and a Research Assistant. During 1996 and 1997, he was also with Lucent Technologies, Bell Laboratories, Murray Hill, NJ, both as a Member of Technical Staff–Level 1 and as a Consultant, developing signal design and channel coding technologies for digital audio broadcasting. His current research interests lie in the broad areas of communications and signal processing, with particular emphasis on informa-tion embedding, digital watermarking, and other multimedia communicainforma-tions topics. He has eleven patents pending.
He is a member of Eta Kappa Nu, Tau Beta Pi, and IEEE. He has received the University of Michigan Regents-Alumni Scholarship, the William J. Branstrom Freshman Prize, and the Henry Ford II Prize from the University of Michigan.
Carl-Erik W. Sundberg (S‘69–M‘75–SM‘81–F‘90)
was born in Karlskrona, Sweden on July 7, 1943. He received the M.S.E.E. and Dr.Techn. degrees from the Lund Institute of Technology, University of Lund, Lund, Sweden, in 1966 and 1975, respectively.
Currently he is a Distinguished Member of the Technical Staff at Bell Laboratories, Lucent Technologies, Murray Hill, NJ. Before 1976 he held various teaching and research positions at the University of Lund. During 1976, he was with the European Space Research and Technology Centre (ESTEC), Noordwijk, The Netherlands, as an ESA Research Fellow. From 1977 to 1984 he was a Research Professor (Docent) in the Department of Telecommunication Theory, University of Lund, Lund, Sweden. He has held positions as Consulting Scientist at LM Ericsson, SAAB-SCANIA, Sweden, and at Bell Laboratories, Holmdel. His consulting company, SUNCOM, has been involved in studies of error control methods and modulation techniques for the Swedish Defense, a number of private companies and international organizations. His research interests include source coding, channel coding, digital modulation methods, fault-tolerant systems, digital mobile radio systems, spread-spectrum systems, digital satellite communications systems, digital audio broadcasting, and optical communications. He has published over 85 journal papers and contributed over 115 conference papers. He holds over 25 US, Swedish and international patents. Several additional patents are pending. He is coauthor of Digital Phase Modulation, (New York: Plenum, 1986), Topics in Coding Theory, (New York: Springer-Verlag 1989) and Source-Matched Digital Communications (New York: IEEE Press, 1996).
Dr. Sundberg has been a member of the IEEE European-African-Middle East Committee (EAMEC) of COMSOC from 1977 to 1984. He is a member of COMSOC Communication Theory Committee. He has also been a member of the Technical Program Committees for the International Symposium on Information Theory, St. Jovite, Canada, October 1983, and for the International Conference on Communications, ICC’84, Amsterdam, The Netherlands, May 1984, for the 5th Tirrenia International Workshop on Digital Communications, Tirrenia, Italy, September 1991 and for the International Telecommunications Symposium, ITS’94, Rio de Janeiro, Brazil, August 1994. He has organized and chaired sessions at a number of international meetings. He has been a member of the International Advisory Committee for ICCS’88, ICCS’90, ICCS’92, ICCS’94, ICCS’96 and ICCS’98 (Singapore). He served as Guest Editor for the IEEE Journal on Selected Areas in Communications in 1988–1989. He is a member of SER (Svenska Elektroingenörers Riksförening) and the Swedish URSI Committee (Svenska Nationalkommittén för Radiovetenskap). In 1986 he and his coauthor received the IEEE Vehicular Technology Society’s Paper of the Year Award and in 1989 he and his coauthors were awarded the Marconi Premium Proc. IEE Best Paper Award. He is a fellow of the IEEE since 1990. He is listed in Marquis Who’s Who in America.