亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? readme

?? Reed-Solomn code 編譯碼(含CCSDS鞋譯) 算法
??
字號(hào):
Reed-Solomon coding/decoding package

Phil Karn, KA9Q

Version 1.0 September 1996
Version 2.0 May 1999 -- CCSDS standard code support added, init_rs() deleted

This package implements general purpose Reed-Solomon encoding and
decoding for a wide range of code parameters. It is a rewrite of code
by Robert Morelos-Zaragoza (robert@spectra.eng.hawaii.edu) and Hari
Thirumoorthy (harit@spectra.eng.hawaii.edu), which was in turn based
on an earlier program by Simon Rockliff (simon@augean.ua.oz.au). This
package would not exist without the excellent work of these earlier
authors.

Version 2.0 adds support for the CCSDS standard (255,223) code.
Simply define CCSDS in rs.h and all the appropriate parameters will be
set. See http://ftp.ccsds.org/ccsds/documents/pdf/CCSDS-101.0-B-3.pdf
for details on this standard code. Note that aside from specifying a
particular set of code parameters, the CCSDS standard uses a "dual
basis" symbol representation. Defining CCSDS automatically includes
the necessary conversions.

That the CCSDS code has the same error correcting performance as a
non-CCSDS (255,223) RS code, but it executes a little more slowly
because of the dual-basis conversions.  Correcting 16 errors in a
block with the CCSDS code takes about 580 microseconds on a 400 MHz
Pentium II, while the non-CCSDS equivalent takes about 500
microseconds. Therefore, the CCSDS code is not recommended unless you
need to be compatible (or don't care about maximum speed).

This package includes the following files:

readme - this file

rs.h - include in user programs. Code params are defined here.

rs.c - the initialization, encoder and decoder routines

rstest.c - test program

makefile - makefile for the test program and encoder/decoder

Any good coding theory textbook will describe the error-correcting
properties of Reed-Solomon codes in far more detail than can be
included here. Here is a brief summary of the properties of the
standard (nonextended) Reed-Solomon codes implemented in this package:

MM - the code symbol size in bits
KK - the number of data symbols per block, KK < NN
NN - the block size in symbols, which is always (2**MM - 1)

The integer parameters MM and KK are specified by the user in rs.h
(except when CCSDS is defined).  The code currently supports values of
MM ranging from 2 to 16, which is almost certainly a wider range than
is really useful.

Note that Reed-Solomon codes are non-binary. Each RS "symbol" is
actually a group of MM bits. Just one bit error anywhere in a given
symbol spoils the whole symbol. That's why RS codes are often called
"burst-error-correcting" codes; if you're going to have bit errors,
you'd like to concentrate them into as few RS symbols as possible.

In the literature you will often see RS code parameters given in the
form "(255,223) over GF(2**8)". The first number inside the
parentheses is the block length NN, and the second number is KK.  The
number inside the GF() gives the size of each code symbol, written
either in exponential form e.g., GF(2**8), or as an integer that is a
power of 2, e.g., GF(256). Both indicate an 8-bit symbol.

Note that many RS codes in use are "shortened", i.e., the block size
is smaller than the symbol size would indicate.  Examples include the
(32,28) and (28,24) RS codes over GF(256) in the Compact Disc and the
(204,188) RS code used in digital video broadcasting.  This package
does not directly support shortened codes, but they can be implemented
by simply padding the data array with zeros before encoding, omitting
them for transmission and then reinserting them locally before
decoding. A future version of this code will probably support a more
efficient implementation of shortened RS codes.

The error-correcting ability of a Reed-Solomon code depends on NN-KK,
the number of parity symbols in the block. In the pure error-
correcting mode (no erasures indicated by the calling function), the
decoder can correct up to (NN-KK)/2 symbol errors per block and no
more.

The decoder can correct more than (NN-KK)/2 errors if the calling
program can say where at least some of the errors are. These known
error locations are called "erasures". (Note that knowing where the
errors are isn't enough by itself to correct them because the code is
non-binary -- we don't know *which* bits in the symbol are in error.)
If all the error locations are known in advance, the decoder can
correct as many as NN-KK errors, the number of parity symbols in the
code block. (Note that when this many erasures is specified, there is
no redundancy left to detect additional uncorrectable errors so the
decoder may yield uncorrected errors.)

In the most general case there are both errors and erasures.  Each
error counts as two erasures, i.e., the number of erasures plus twice
the number of non-erased errors cannot exceed NN-KK. For example, a
(255,223) RS code operating on 8-bit symbols can handle up to 16
errors OR 32 erasures OR various combinations such as 8 errors and 16
erasures.

This version no longer requires the user to call init_rs() before
encoding or decoding. That function is no longer exported.

The two user-callable functions in rs.c are as follows:

1. int encode_rs(dtype data[KK],dtype bb[NN-KK]);

Encodes a block in the Reed-Solomon code.  The first argument contains
the KK symbols of user data to be encoded, and the second argument
contains the array into which the encoder will place the NN-KK parity
symbols. The data argument is unchanged.  For user convenience, the
data and bb arrays may be part of a single contiguous array of NN
elements, e.g., for a (255,223) code:

	encode_rs(&data[0],&data[223]);

The encode_rs() function returns 0 on success, -1 on error. (The only
possible error is an illegal (i.e., too large) symbol in the user data
array.

Note that the typedef for the "dtype" type depends on the value of MM
specified in rs.h. For MM <= 8, dtype is equivalent to "unsigned
char"; for larger values, dtype is equivalent to "unsigned int".

2. int eras_dec_rs(dtype data[NN], int eras_pos[NN-KK], int no_eras);

Decodes a encoded block with errors and/or erasures. The first
argument contains the NN symbols of the received codeword, the first
KK of which are the user data and the latter NN-KK are the parity
symbols.

Caller-specified erasures, if any, are passed in the second argument
as an array of integers with the third argument giving the number of
entries. E.g., to specify that symbols 10 and 20 (counting from 0) are
to be treated as erasures the caller would say

	eras_pos[0] = 10;
	eras_pos[1] = 20;
	eras_dec_rs(data,eras_pos,2);
	
The return value from eras_dec_rs() will give the number of errors
(including erasures) corrected by the decoder. If the codeword could
not be corrected due to excessive errors, -1 will be returned. The
decoder will also return -1 if the data array contains an illegal
symbol, i.e., one exceeding the defined symbol size.

The test program in rstest.c is called as follows:

rstest [-e errors/block] [-E erasures/block ] [-n trials] [-v] [-t]

You should be able to specify values for -e and -E such that the
number of erasures plus twice the number of errors is equal to or less
than NN-KK (the number of parity symbols in the block) and the decoder
should succeed. If you exceed that number, the decoder will fail (try
it!) For incredible verbosity, specify -v.  For CPU timing tests,
specify the -t test; this will cause the same block of encoded data to
be repeatedly decoded instead of generating a new random block and
error pattern each time (so you can exclude the time spent in the
random number generator from your measurements).

Copyright 1999, Phil Karn, KA9Q
May be used under the terms of the GNU Public License

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品自产自拍| 亚洲成人综合视频| 国产精品一级黄| 国产亚洲一区二区三区四区| 国产成人免费在线| 中文字幕日韩欧美一区二区三区| 成人h动漫精品一区二区| 国产精品不卡在线| 在线看国产一区| 蜜桃av一区二区| 国产视频一区在线播放| 99国产精品国产精品毛片| 夜夜嗨av一区二区三区| 9191久久久久久久久久久| 久久99久国产精品黄毛片色诱| 久久亚洲综合av| 色综合网站在线| 男人的天堂亚洲一区| 国产免费成人在线视频| 91成人国产精品| 狠狠色丁香婷综合久久| 亚洲视频电影在线| 日韩亚洲欧美在线观看| 成人综合婷婷国产精品久久 | 美女视频黄久久| 国产欧美日韩另类一区| 91成人免费电影| 狠狠久久亚洲欧美| 亚洲少妇中出一区| 日韩精品专区在线| 日本乱人伦一区| 韩国成人在线视频| 亚洲一区二区三区在线| 精品国精品国产| 在线一区二区观看| 国产精品一品视频| 亚洲综合自拍偷拍| 久久久久久麻豆| 欧美日韩高清一区二区三区| 国产精品一区二区你懂的| 亚洲一区在线视频| 国产欧美日韩精品一区| 91.麻豆视频| 91蝌蚪porny| 国产美女精品一区二区三区| 亚洲国产一区二区三区| 国产精品乱码妇女bbbb| 欧美岛国在线观看| 欧美天堂亚洲电影院在线播放| 国产成人在线视频免费播放| 日本三级亚洲精品| 夜夜精品视频一区二区| 亚洲国产精品成人综合色在线婷婷| 欧美日本在线视频| www.爱久久.com| 国产精品一区二区黑丝| 免费看精品久久片| 亚洲一级二级在线| 亚洲男人的天堂av| 欧美经典三级视频一区二区三区| 欧美va亚洲va在线观看蝴蝶网| 91传媒视频在线播放| 99视频精品全部免费在线| 国产91丝袜在线观看| 韩国一区二区在线观看| 免费欧美高清视频| 男人的天堂久久精品| 丝袜诱惑制服诱惑色一区在线观看| ㊣最新国产の精品bt伙计久久| 国产日韩欧美a| 久久亚洲一级片| 久久亚洲一级片| 久久久久久夜精品精品免费| 精品国产乱码久久久久久久| 日韩女优av电影| 精品免费一区二区三区| 日韩女优视频免费观看| 精品国产乱码久久久久久浪潮| 日韩一区二区麻豆国产| 日韩免费观看高清完整版 | 1000精品久久久久久久久| 国产欧美一区二区精品忘忧草| 2023国产精品| www国产精品av| 久久婷婷久久一区二区三区| 久久久久国产精品麻豆ai换脸| 久久久久久久久岛国免费| 国产亚洲一二三区| 国产精品免费人成网站| 亚洲私人黄色宅男| 亚洲一区二区三区中文字幕| 肉丝袜脚交视频一区二区| 青青草97国产精品免费观看 | 久久久精品黄色| 中文字幕欧美日韩一区| 亚洲欧美韩国综合色| 亚欧色一区w666天堂| 日本亚洲一区二区| 国产精品亚洲综合一区在线观看| 福利视频网站一区二区三区| 99国产麻豆精品| 欧美日韩久久一区二区| 久久综合av免费| 中文字幕在线不卡视频| 亚洲成人777| 色综合网色综合| 欧美揉bbbbb揉bbbbb| 欧美一卡二卡三卡| 国产日韩视频一区二区三区| 国产三级精品三级| 亚洲男女毛片无遮挡| 亚洲电影一级黄| 精品一区免费av| 91美女片黄在线观看| 欧美天堂一区二区三区| 欧美一个色资源| 国产日韩欧美一区二区三区综合| 中文字幕在线不卡| 亚洲黄一区二区三区| 亚洲一区二区3| 日产国产欧美视频一区精品| 奇米一区二区三区| 国产盗摄精品一区二区三区在线| 不卡视频一二三| 91.com在线观看| 中文字幕亚洲区| 久久国产剧场电影| 国产不卡在线一区| 欧美图区在线视频| 欧美不卡视频一区| 国产欧美日韩亚州综合 | 午夜婷婷国产麻豆精品| 麻豆精品一区二区三区| 成人免费不卡视频| 欧美视频在线观看一区| 91精品国产综合久久婷婷香蕉 | 午夜精品视频在线观看| 日本欧美一区二区三区乱码| 国产一区二区福利视频| 欧美日韩午夜精品| 久久青草欧美一区二区三区| 1024成人网| 国产酒店精品激情| 在线观看www91| 久久久久久久性| 午夜精品福利一区二区三区蜜桃| 美女视频网站黄色亚洲| 91尤物视频在线观看| 精品免费一区二区三区| 午夜精品久久久久久不卡8050| 一本一道久久a久久精品 | 91精品国产色综合久久ai换脸| 亚洲日本电影在线| 从欧美一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 视频一区中文字幕| 欧美亚洲日本国产| 一区二区三区日韩欧美| 91视频观看免费| 国产精品久久久久一区| 国产成人免费在线视频| 久久久久久亚洲综合| 免费人成黄页网站在线一区二区| 91福利资源站| 国产精品私房写真福利视频| 国产精品亚洲一区二区三区在线| 欧美刺激午夜性久久久久久久| 日本aⅴ免费视频一区二区三区| 欧美性色aⅴ视频一区日韩精品| 一区精品在线播放| 99久久精品免费| 久久精品网站免费观看| 精品影院一区二区久久久| 欧美无砖专区一中文字| 亚洲欧洲av在线| av中文字幕在线不卡| 亚洲欧美在线高清| 国产91精品免费| 久久免费美女视频| 国产一区二区三区高清播放| 在线综合亚洲欧美在线视频| 图片区小说区区亚洲影院| 欧美天天综合网| 一区二区三区在线观看动漫| 欧洲人成人精品| 亚洲综合在线视频| 欧美日韩成人综合在线一区二区| 亚洲激情欧美激情| 欧美午夜在线一二页| 肉色丝袜一区二区| 久久久美女毛片| 国产黄色91视频| 国产精品欧美极品| 成人av网站大全| 亚洲青青青在线视频| 欧美高清一级片在线| 琪琪一区二区三区| 日韩免费观看2025年上映的电影| 久久9热精品视频| 久久精品一区蜜桃臀影院|