错误检测和纠错
使用以下方法应用错误检测和纠错:
循环冗余校验 (CRC) 编码方法。还包括针对 HDL 优化的 CRC 生成器和检测器。
分组编码方法,包括线性分组码、汉明码、博斯-乔赫里-霍克文黑姆 (BCH) 码、里德-所罗门 (RS) 码、低密度奇偶校验 (LDPC) 码和 Turbo 乘积码 (TPC)。还包括针对 HDL 优化的 RS 编码器和解码器。
卷积编码方法,包括卷积、Turbo、后验概率 (APP) 和维特比方法。还包括可在 GPU 上运行以提高处理速度的 Turbo 和维特比解码器。
伽罗华域,以实现有限域中偶数和奇数阶元素的操作。
要了解有关错误控制码的更多信息,请参阅Error Detection and Correction。
函数
crcConfig | Cyclic redundancy check (CRC) coding configuration (自 R2024a 起) |
crcGenerate | Generate CRC code bits and append them to input data (自 R2024a 起) |
crcDetect | Detect errors in input data using CRC parity bits (自 R2024a 起) |
线性分组码
cyclgen | Produce parity-check and generator matrices for cyclic code |
cyclpoly | Produce generator polynomials for binary cyclic code |
decode | Block decoder |
encode | Block encoder |
gfweight | Calculate minimum distance of linear block code |
gen2par | Convert between parity-check and generator matrices |
hammgen | Parity-check and generator matrices for Hamming code |
syndtable | Produce syndrome decoding table |
BCH 码
bchenc | BCH encoder |
bchdec | BCH decoder |
bchgenpoly | Produce generator polynomials for BCH code |
bchnumerr | Number of correctable errors for BCH code |
里德-所罗门码
rsenc | Reed-Solomon encoder |
rsdec | Reed-Solomon decoder |
rsgenpoly | Generator polynomial of Reed-Solomon code |
rsgenpolycoeffs | Generator polynomial coefficients of Reed-Solomon code |
LDPC 码
ldpcEncode | Encode binary LDPC code (自 R2021b 起) |
ldpcDecode | Decode binary LDPC code (自 R2021b 起) |
ldpcEncoderConfig | Create LDPC encoder configuration (自 R2021b 起) |
ldpcDecoderConfig | Create LDPC decoder configuration (自 R2021b 起) |
ldpcPCM | Generate parity-check matrix for LDPC coding (自 R2025a 起) |
ldpcQuasiCyclicMatrix | Parity-check matrix of quasi-cyclic LDPC code (自 R2021b 起) |
Turbo 乘积码
convenc | Convolutionally encode binary message |
vitdec | Convolutionally decode binary data by using Viterbi algorithm |
distspec | Compute distance spectrum of convolutional code |
getTurboIOIndices | Compute output indices for turbo coding (自 R2021a 起) |
iscatastrophic | True for trellis corresponding to catastrophic convolutional code |
istrellis | True for valid trellis structure |
oct2dec | Convert octal to decimal numbers |
poly2trellis | Convert convolutional code polynomials to trellis description |
伽罗华域计算 - 偶数阶有限域
convmtx | Convolution matrix of Galois field vector |
cosets | Produce cyclotomic cosets for Galois field |
dftmtx | Discrete Fourier transform matrix in Galois field |
fft | Fast Fourier transform of Galois field vector |
filter (gf) | 1-D digital filter over Galois field |
gf | Galois field array |
gftable | Generate file to accelerate Galois field computations |
ifft | Inverse fast Fourier transform of Galois field vector |
isprimitive | True for primitive polynomial for Galois field |
log | Logarithm in Galois field |
minpol | Find minimal polynomial of Galois field element |
mldivide | Solve systems of linear equations Ax = B for x when A is a Galois array |
primpoly | Find primitive polynomials for Galois field |
奇特性伽罗华域 - 奇数阶有限域
gfadd | Add polynomials over Galois field |
gfconv | Multiply polynomials over Galois field |
gfcosets | Produce cyclotomic cosets for Galois field |
gfdeconv | Divide polynomials over Galois field |
gfdiv | Divide elements of Galois field |
gffilter | Filter data using polynomials over prime Galois field |
gflineq | Find particular solution of Ax = b over
prime Galois field |
gfminpol | Find minimal polynomial of Galois field element |
gfmul | Multiply elements of Galois field |
gfpretty | Polynomial in traditional format |
gfprimck | Check whether polynomial over Galois field is primitive |
gfprimdf | Provide default primitive polynomials for Galois field |
gfprimfd | Find primitive polynomials for Galois field |
gfrank | Compute rank of matrix over Galois field |
gfrepcov | Convert one binary polynomial representation to another |
gfroots | Find roots of polynomial over prime Galois field |
gfsub | Subtract polynomials over Galois field |
gftrunc | Minimize length of polynomial representation |
gftuple | Simplify or convert Galois field element formatting |
对象
comm.CRCGenerator | Generate CRC code bits and append to input data |
comm.CRCDetector | Detect errors in input data using CRC |
comm.HDLCRCGenerator | Generate CRC code bits and append to input data |
comm.HDLCRCDetector | Detect errors in input data using CRC |
BCH 码
comm.BCHEncoder | Encode data using BCH encoder |
comm.BCHDecoder | Decode data using BCH decoder |
里德-所罗门码
comm.RSEncoder | Encode data using Reed-Solomon encoder |
comm.RSDecoder | Decode data using Reed-Solomon decoder |
comm.HDLRSEncoder | Encode message using Reed-Solomon encoder |
comm.HDLRSDecoder | Decode message using Reed-Solomon decoder |
comm.ConvolutionalEncoder | Convolutionally encode binary data |
comm.gpu.ConvolutionalEncoder | Convolutionally encode binary data with GPU |
comm.TurboEncoder | Encode input signal using turbo encoder parallel concatenated encoding scheme |
comm.APPDecoder | Decode convolutional code by using APP method |
comm.TurboDecoder | Decode input signal using turbo decoder parallel concatenated decoding scheme |
comm.gpu.TurboDecoder | Decode input signal using turbo decoding with GPU |
comm.ViterbiDecoder | Decode convolutionally encoded data using Viterbi algorithm |
comm.gpu.ViterbiDecoder | Decode convolutionally encoded data using Viterbi algorithm with GPU |
模块
General CRC Generator | Generate CRC code bits according to generator polynomial and append to input data frames |
General CRC Syndrome Detector | Detect errors in received codeword frames according to generator polynomial |
General CRC Generator HDL Optimized | Generate CRC code bits and append them to input data |
General CRC Syndrome Detector HDL Optimized | Detect errors in input data using CRC |
线性分组码
Binary Cyclic Encoder | Create systematic cyclic code from binary vector data |
Binary Cyclic Decoder | Decode systematic cyclic code to recover binary vector data |
Binary Linear Encoder | Create linear block code from binary vector data |
Binary Linear Decoder | Decode linear block code to recover binary vector data |
Hamming Encoder | Create Hamming code from binary vector data |
Hamming Decoder | Decode Hamming code to recover binary vector data |
BCH 码
BCH Encoder | Create BCH code from binary vector data |
BCH Decoder | Decode BCH code to recover binary vector data |
里德-所罗门码
Binary-Input RS Encoder | Create Reed-Solomon code from binary vector data |
Binary-Output RS Decoder | Decode Reed-Solomon code to recover binary vector data |
Integer-Input RS Encoder | Create Reed-Solomon code from integer vector data |
Integer-Output RS Decoder | Decode Reed-Solomon code to recover integer vector data |
Integer-Input RS Encoder HDL Optimized | Encode data using a Reed-Solomon (RS) encoder |
Integer-Output RS Decoder HDL Optimized | Decode data using Reed-Solomon (RS) decoder |
LDPC 码
LDPC Encoder | Encode binary low-density parity-check (LDPC) code |
LDPC Decoder | Decode binary low-density parity-check (LDPC) code |
Turbo 乘积码
TPC Encoder | Turbo product code (TPC) encoder |
TPC Decoder | Turbo product code (TPC) decoder |
Convolutional Encoder | Encode binary data using convolutional encoding scheme |
Turbo Encoder | Encode binary data using parallel concatenated encoding scheme |
APP Decoder | Decode convolutional code using a posteriori probability (APP) method |
Turbo Decoder | Decode input signal using parallel concatenated decoding scheme |
Viterbi Decoder | Decode convolutionally encoded data using Viterbi algorithm |
主题
- Error Detection and Correction
Detect errors using cyclic redundancy check (CRC) codes. Learn about various error-control channel coding techniques.
- Transmit and Receive Shortened Reed-Solomon Codes
Transmit and receive standard and shortened RS-encoded, 64-QAM-modulated data through an AWGN channel.
- Reed-Solomon Coding with Erasures, Punctures, and Shortening in Simulink
Configure Reed-Solomon (RS) codes to perform block coding with erasures, punctures, and shortening.
- Creation, Validation, and Testing of User Defined Trellis Structure
Use MATLAB® to create and validate a user defined trellis structure, then use a unit test bench built in Simulink® to test the implementation.
- Working with Galois Fields
This example shows how to work with Galois fields.
- Representation of Polynomials in Communications Toolbox
You can specify polynomials as a character vector or string scalar by using a variety of syntaxes.
精选示例
DVB-S.2 Link, Including LDPC Coding
Application of low density parity check (LDPC) codes in the second generation digital video broadcasting standard (DVB-S.2).
DVB-S.2 Link, Including LDPC Coding in Simulink
Model shows the channel coding scheme used in the second generation digital video broadcasting standard (DVB-S.2).
LDPC Link Simulation Using GPU Processing
Use the ldpcDecode function and gpuArray to increase the speed of a communications system simulation.
Parallel Concatenated Convolutional Coding: Turbo Codes
Characterize the performance of turbo codes over a noisy channel.
Tail-Biting Convolutional Coding
Use the Convolutional Encoder and Viterbi Decoder blocks to simulate a tail-biting convolutional code.
Rate 2/3 Convolutional Code in AWGN
Generate a bit error rate versus Eb/No curve for a link that uses 16-QAM modulation and a rate 2/3 convolutional code in AWGN.
Punctured Convolutional Coding
Use the convolutional encoder and Viterbi decoder System objects to simulate the bit error rate (BER) of a punctured coding system.
Estimate BER for Hard and Soft Decision Viterbi Decoding
Estimate bit error rate (BER) performance for hard-decision and soft-decision Viterbi decoders in AWGN. Compare the performance to that of an uncoded 64-QAM link.
Using GPUs to Accelerate Turbo Coding Bit Error Rate Simulations
Use GPUs to dramatically accelerate bit error rate simulations.
ElGamal Public Key Cryptosystem
Use the Galois field array function, gf
, to implement an ElGamal public key cryptosystem.
5G LDPC Block Error Rate Simulation Using the Cloud or a Cluster
Use the cloud or a cluster for block error rate (BLER) simulation of low-density parity-check (LDPC) coding for the 5G NR downlink shared transport channel (DL-SCH).
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)