signature=73d5db59e065ecc8a810e40a94af1faa,Communication channel employing an ECC decoder enhanced b...

该发明涉及一种通信通道,包括采样器、trellis序列检测器和错误校正码(ECC)解码器。trellis序列检测器检测估计数据序列并输出每个位的可靠性度量,ECC解码器利用检测到的错误事件进行错误检测和纠正。通过在ECC解码之前修正最可能的错误事件,提高了通信通道的性能和容量。
摘要由CSDN通过智能技术生成

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to communication systems. More particularly, the present invention relates to a communication channel employing an error correction code (ECC) decoder enhanced by likely error events of a trellis sequence detector.

2. Description of the Prior Art

Various techniques are typically employed to maximize the realized capacity of a communication channel in terms of the rate that information can be transmitted through the channel and accurately reproduced at the receiver. Two techniques in wide use today are partial response (PR) equalization with maximum likelihood (ML) trellis sequence detection, and error correction codes (ECC) such as the well-known Reed-Solomon code. PR equalization allows for a controlled amount of inter-symbol interference with respect to the analog pulses representing the digital data transmitted through the channel. A trellis sequence detector at the receiver comprises a state machine matched to the PR equalization and outputs an estimated data sequence by selecting the most likely sequence through a trellis with respect to the signal samples input into the detector. An ECC code is then used to detect and correct errors in the estimated data sequence output by the trellis sequence detector. An ECC encoder encodes the digital data before transmission through the channel in order to generate redundancy symbols appended to the data to form ECC codewords. The received ECC codewords (in the estimated data sequence output by the trellis sequence detector) are then decoded by an ECC decoder at the receiver. The redundancy symbols enable the ECC decoder to detect and correct a predetermined number of errors in a received ECC codeword.

In a paper by J. Hagenauer and P. Hoeher entitled “The Viterbi Algorithm with Soft-Decision Outputs and Its Applications,” Proceedings of the IEEE Globecom Conference, Dallas, Tex.,pp. 47.1.1-47.1.7, November 1989, a technique is disclosed wherein a trellis sequence detector outputs reliability metrics for each bit in the estimated data sequence. The reliability metrics are computed relative to the channel metrics generated at each decision point through the trellis. The ECC decoder converts the reliability metrics corresponding to each bit in the estimated data sequence into reliability metrics for each symbol in an ECC codeword. The most unreliable symbols are then “erased” so that the ECC decoder can perform “erasure” decoding. With erasure decoding, a codeword can be corrected as long as the number of errors t and the number of erasures e satisfy the inequality 2t+e≦dmin−1. For every error transformed into an erasure, the decoding capability is clearly extended.

However, there are several drawbacks associated with the aforementioned technique of erasure decoding an ECC codeword using reliability metrics generated by a trellis sequence detector. Since a reliability metric is generated for each bit in the estimated data sequence, a significant amount of memory is needed to store the reliability metrics, and the memory increases as the resolution of the reliability metrics increases. Further, the probability of miscorrecting an ECC codeword increases as the number erasure pointers increases.

Another technique for enhancing the performance of a communication channel is disclosed by Roger Wood in “Turbo-PRML: A Compromise EPRML Detector”, IEEE Transactions on Magnetics,Vol. 29, No. 6, November 1993. With Turbo-PRML, an error event detector is employed to detect likely error events of the trellis sequence detector. The most likely error events are then corrected prior to decoding the estimated data sequence by the ECC decoder. A problem with this technique, however, is that an error event may be falsely detected and miscorrected. Additional redundancy symbols can be added to the input stream to prevent miscorrections by the error event detector; however, the additional redundancy symbols decrease the code rate of the communication channel, and thus decrease the realized capacity of the communication channel.

There is, therefore, a need to enhance the performance of a communication channel in order to increase the channel's realized capacity.

SUMMARY OF THE INVENTION

The present invention may be regarded as a communication channel comprising a sampler for sampling an analog data signal to generate a sequence of signal samples, a trellis sequence detector for detecting an estimated data sequence from the signal samples, and an error correction code (ECC) decoder. The estimated data sequence comprises a received codeword, wherein the ECC decoder detects and corrects errors in the received codeword. The trellis sequence detector comprises a metrics calculator for computing trellis state metrics relative to the signal samples and expected samples of valid output sequences, a memory for storing survivor data sequences associated with paths of the trellis, wherein the survivor data sequences comprise the estimated data sequence. The trellis sequence detector further comprises a memory controller, responsive to the state metrics, for updating the memory, and an error event detector for detecting an error event associated with the trellis sequence detector. The ECC decoder is responsive to the detected error event, and performs the following steps:

i. determining whether the received codeword comprises errors;

ii. determining whether the received codeword is correctable;

iii. if the received codeword is uncorrectable, modifying the received codeword relative to the error event; and

iv. repeating steps (i) and (ii) at least once.

The present invention may also be regarded as a method of transmitting data through a communication channel. An analog data signal is sampled to generate a sequence of signal samples. An estimated data sequence is detected from the signal samples, wherein the estimated data sequence comprises a received codeword. An error event is detected in the estimated data sequence, and used to detect and correct errors in the received codeword by performing the following steps:

i determining whether the received codeword comprises errors;

ii determining whether the received codeword is correctable;

iii if the received codeword is uncorrectable, modifying the received codeword relative to the error event; and

iv repeating steps (i) and (ii) at least once.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a communication channel according to an embodiment of the present invention as comprising a trellis sequence detector comprising an error event detector for detecting likely error events of the trellis sequence detector, and an ECC decoder for decoding a received codeword using the detected error event.

FIG. 2 shows details of a communication system according to an embodiment of the present invention comprising an ECC encoder for encoding an input stream into ECC codewords transmitted through a transmission medium, and a trellis sequence detector and ECC decoder of FIG. 1 for detecting and decoding the received ECC codewords.

FIG. 3 shows details of the error event detector of FIG. 1, comprising a plurality of error event correlators matched to the likely error events of the trellis sequence detector, the error event correlators for correlating an error event sequence with a sample error sequence generated by subtracting a remodulated sample sequence with the signal sample sequence.

FIG. 4A shows an ECC decoder according to one aspect of the present invention, wherein syndromes are generated for a received codeword, and the syndromes are modified relative to the detected error event(s) if the original syndromes indicate that the received codeword is uncorrectable.

FIG. 4B shows an ECC decoder according to an alternative embodiment of the present invention, wherein the syndromes are modified relative to the detected error event(s) if the received codeword is miscorrected (as determined, for example, using a CRC check code).

FIG. 5 shows an embodiment of the present invention, wherein the communication channel comprises a recording channel of a disk storage system.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a communication channel 2 according to an embodiment of the present invention comprising a sampler 4 for sampling an analog data signal 6 to generate a sequence of signal samples 8, a trellis sequence detector 10 for detecting an estimated data sequence 12 from the signal samples 8, and an error correction code (ECC) decoder 14. The estimated data sequence 12 comprises a received codeword, wherein the ECC decoder 14 detects and corrects errors in the received codeword. The trellis sequence detector 10 comprises a metrics calculator 16 for computing trellis state metrics 17 relative to the signal samples 8 and expected samples of valid output sequences, a memory 18 for storing survivor data sequences associated with paths of the trellis, wherein the survivor data sequences comprise the estimated data sequence 12. The trellis sequence detector 10 further comprises a memory controller 20, responsive to the state metrics 17, for updating the memory 18, and an error event detector 22 for detecting an error event 24 associated with the trellis sequence detector 10. The ECC decoder 14 is responsive to the detected error event 24, and performs the following steps:

i. determining whether the received codeword comprises errors;

ii. determining whether the received codeword is correctable;

iii. if the received codeword is uncorrectable, modifying the received codeword relative to the error event; and

iv. repeating steps (i) and (ii) at least once.

In one embodiment, the metrics calculator 16 generates the trellis state metrics 17 by accumulating the square of the difference between the actual signal samples 8 and expected signal samples of valid output sequences. The memory controller 20 selects the minimum path metric computed for each state of a trellis to extend the survivor sequences to the next state in the trellis. The survivor sequences stored in the memory 18 and corresponding to the states not selected merge into the survivor sequences corresponding to the states that are selected. Eventually, all of the survivor sequences merge into a single survivor sequence (as long as the input sequence is appropriately constrained) which is the estimated data sequence 12 output by the memory 18. Further details of a suitable metrics calculator 16, memory controller 20 and memory 18 are disclosed by Roy D. Cideciyan, et al. in “A PRML System for Digital Magnetic Recording”, IEEE Journal on Selected Areas in Communications,Vol. 10, No. 1, January 1992, the disclosure of which is incorporated herein by reference. A PR-IV equalizer and trellis sequence detector is disclosed in the aforementioned paper; however, any suitable equalizer and trellis sequence detector may be employed, such as EPR-IV, EEPR-IV, Decision Feedback, Noise Predictive, etc.

FIG. 2 shows a communication system 13 according to an embodiment of the present invention comprising an ECC encoder 15 for encoding an input stream 19 into ECC codewords transmitted through a transmission medium 21, and a trellis sequence detector 10 and ECC decoder 14 of FIG. 1 for detecting and decoding the received ECC codewords. The ECC encoder 15 encodes the input stream 19 according to any suitable error correction code, such as the well-known Reed-Solomon error correction code. In one embodiment, the ECC encoder 15 comprises an N-way interleaver for encoding the input stream 19 into N interleaved codewords.

FIG. 3 shows details of a suitable error event detector 22 for use in the trellis sequence detector 10 of FIG. 1. A remodulator 26 remodulates the estimated data sequence 12 into a sequence of ideal sample values 28 which are subtracted 30 from the corresponding signal sample values 8 to generate a sequence of sample errors 32. A plurality of error event correlators 340-34Ncorrelate the sample errors 32 with error event samples corresponding to likely error events of the trellis sequence detector 10. Further details of a suitable remodulator 26 and error event correlators 340-34N are disclosed by Roger Wood in “Turbo-PRML: A Compromise EPRML Detector”, IEEE Transactions on Magnetics,Vol. 29, No. 6, November 1993, which is incorporated herein by reference.

The correlation values 360-36Nare processed by an error event validator 38 which evaluates the estimated data sequence 12 buffered in memory 40 to verify whether a particular error event could have occurred at the locations corresponding to the correlation values 360-36N. A most likely error event(s) processor 42 processes the valid correlation values 44 and saves the most likely error event(s) 45 within an error correction code (ECC) codeword. For example, the most likely error event(s) processor 42 may save the error event(s) corresponding to the maximum correlation value(s) 44 generated for an ECC codeword. In one embodiment, the most likely error event(s) processor 42 saves a plurality of error events corresponding to each error event correlator 340-34N, that is, a plurality of each error event are saved and processed by the ECC decoder 14.

In an alternative embodiment, the error event detector 22 of FIG. 1 is implemented within the memory controller 20 to detect the occurrence of the likely error events. This may be implemented, for example, by evaluating when a likely error event could occur relative to the paths selected through the trellis together with the metrics associated with the unselected paths.

FIG. 4A shows details of a suitable ECC decoder 14 for use in FIG. 1. A syndrome generator 46 processes the estimated data sequence 12 representing a received ECC codeword to generate a plurality of error syndromes 48. The error syndromes 48 are buffered in a syndrome memory 50 and processed 52 to determine whether the received codeword comprises errors, and if so, whether it is correctable. If the received codeword is correctable, then an error corrector 54 corrects the errors in the received codeword which is stored in memory 56. If the received codeword is uncorrectable, then the error syndromes are modified 58 relative to the error event(s) 45 detected by the error event detector 22 of FIG. 1. In one embodiment, the estimated data sequence 12 is processed in order to modify 58 the error syndromes. The modified error syndromes are then processed 52 to determine if the codeword is correctable. For example, a suspected error event may correspond to the error sequence “1,0,1” at a particular location within the received codeword. The error syndromes are modified 58 to effectively regenerate the error syndromes after XORing the error sequence “1,0,1” at the location of the suspected error event within the received codeword. This avoids the possibility of a miscorrection as with the prior art Turbo-PRML detector because an attempt to correct the received codeword using the ECC decoder is made before correcting the likely error event(s) detected by the error event correlators 340-34N. Further, no additional redundancy symbols are needed to protect against the possibility of a miscorrection using the detected error events.

In one embodiment, a plurality of error events are saved by the most likely error event(s) processor 42 of FIG. 3. For example, one or more error events may be saved for each error event correlator 340-34N. The error syndromes 48 are then modified in an iterative manner starting with the most likely error event, determining whether the codeword is correctable and, if not, modifying the error syndromes with the next most likely error event, determining whether the codeword is correctable, and so on. In another embodiment, the iterations may involve correcting multiple error events at a time in an attempt to correct the codeword. In yet another embodiment, all of the possible error event combinations may be exhausted in an attempt to recover the codeword.

FIG. 4B shows an ECC decoder 14 according to an alternative embodiment of the present invention. In this embodiment, the error corrector 54 corrects a received codeword using the unmodified error syndromes 48, and the corrected codeword 60 is processed 62 to determine if a miscorrection occurred. If a miscorrection occurred, then the error syndromes 48 are modified 58 relative to the error event(s) 45 detected by the error event detector 22. In one embodiment, a CRC check code is generated over each codeword which is used to detect miscorrections by the ECC decoder 14.

In yet another embodiment of the ECC decoder 14, rather than modify the error syndromes 48, the received codeword is modified relative to the detected error event(s) 45 and the error syndromes 48 are regenerated by the syndrome generator 46 over the modified codeword.

FIG. 5 shows a disk drive 47 according to an embodiment of the present invention wherein the transmission medium of the communication system is represented as a disk 64 for storing data and a head 66 for writing data to and reading data from the disk 64. Digital data 68 received from a host computer is RLL encoded 72 according to a run-length limit (RLL) constraint. The RLL encoded data 70 is then encoded by an ECC encoder 15, such as a Reed-Solomon encoder. In one embodiment, the disk 64 comprises a plurality of concentric track where each track comprises a plurality of sectors, and the ECC encoder 15 encodes each sector into three interleaved codewords. The ECC encoder 15 also encodes the redundancy symbols attached to each codeword according to a suitable RLL constraint. The ECC encoded data 74 is precoded by precoder 76 to compensate for the transfer function of the recording channel. The precoded data 78 modulates a write current in the head 66 in order to write a series of magnetic transitions on the surface of the disk 64 representing the recorded digital data. During read-back, the head 66 senses the magnetic transitions to generate an analog read signal 80. A sampler 4 samples the analog read signal 80 to generate signal samples 8A which are equalized into a desired partial response by an equalizer 82. The equalized signal samples 8B are processed by a timing recovery circuit 84 which adjusts the sampling rate of the sampler 4 in order to synchronize the signal samples 8B to the baud rate. The signal samples 8B are processed by the trellis sequence detector 10 to generate the estimated data sequence 12 and detected error event(s) 24. An ECC decoder 14 decodes the three interleaved codewords of a sector using the detected error events 24 as described above. When decoding a codeword, the ECC decoder 14 decodes the redundancy symbols attached to the codeword to reverse the RLL encoding by the ECC encoder 15. The decoded ECC codewords 86 are then decoded by an RLL decoder 88 to generate the read data 90 transmitted to the host computer.

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值