JPH0376612B2 - - Google Patents
Info
- Publication number
- JPH0376612B2 JPH0376612B2 JP58006579A JP657983A JPH0376612B2 JP H0376612 B2 JPH0376612 B2 JP H0376612B2 JP 58006579 A JP58006579 A JP 58006579A JP 657983 A JP657983 A JP 657983A JP H0376612 B2 JPH0376612 B2 JP H0376612B2
- Authority
- JP
- Japan
- Prior art keywords
- bits
- signal
- bit
- data
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000012937 correction Methods 0.000 claims description 117
- 208000011580 syndromic disease Diseases 0.000 claims description 58
- 238000000034 method Methods 0.000 claims description 22
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 13
- 238000009432 framing Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000008054 signal transmission Effects 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/43—Majority logic or threshold decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Television Systems (AREA)
Description
本発明は、TV信号の垂直帰線期間に、デイジ
タル信号としてコード化した文字・図形情報を多
重伝送するコード方式文字放送に好適な、符号の
誤り制御に関するものであり、特に伝送路で生じ
たビツト誤りを訂正することによつて最大限回復
させようとする誤り訂正復号方式に関するもので
ある。
従来、TV伝送路を使用したこの種のサービス
では、欧米のテレキストにおける番組番号など重
要符号のハミング符号化による誤り訂正機能と、
文字符号のパリテイビツトによる誤り検出機能に
限られていた。また、すでに発表されているいく
つかの日本の文字コード放送実験システムでは、
1ブロツク(8ビツトまたは16ビツト)中の1ビ
ツトの誤りを訂正する2つの拡大ハミング符号H
(8,4)H(16,11)が多く使用されている。そ
のようなシステムでは、誤りビツトの少ない伝送
特性の優れた回線には適しているが、インパルス
ノイズが多く1ブロツク中ビツト誤りが数ビツト
にわたるような誤り、あるいは伝送路特性が悪く
ビツト誤り率が10-2程度しかとれないものなどに
対しては、十分な誤り訂正機能を果たすことがで
きない欠点があつた。
そこで、本発明の目的は、上述の欠点を除去
し、十分な誤り訂正機能を発揮することのできる
誤り訂正復号方式を提供することにある。
本発明の他の目的は、上述の欠点を除去し、
TV信号の垂直帰線期間に、デイジタル信号とし
てコード化した文字・図形情報を多重伝送するコ
ード方式文字放送の誤り制御に好適な誤り訂正符
号として、(273,191)多数決符号を選択し、こ
の多数決符号を適切に復号することで複数ビツト
の誤り訂正を行うことのできる誤り訂正復号方式
を提供することにある。
かかる目的を達成するために、本発明は、多数
決差集合巡回符号のうちから、データビツト27
3、情報ビツト191およびパリテイビツト82ビ
ツトの信号を用い、この信号から1ビツト減少さ
せて、1パケツトを272ビツトで構成し、データ
ビツト272、情報ビツト190およびパリテイ
ビツト82ビツトのデータ信号を形成して伝送し、
伝送されてきたデータ信号に、所定列がすべて1
の行列を乗算することにより、誤り訂正確率を増
大させて情報を復号できるようにする。
以下に図面を参照して本発明を詳細に説明す
る。
まず、TV伝送路における誤りビツトの性質に
ついて述べる。第1図は野外実験によつて実際に
データ信号を伝送し、受信したときの比較的イン
パルスノイズの多い地点での誤りバイト(8ビツ
ト)中の誤りビツト数の分布の平均値を示す。1
ビツト誤りは82%であり、8ビツト中1ビツト誤
りの訂正2ビツト誤りの検出が可能なH(8,4)
拡大ハミング符号では、訂正効果が1桁まで達し
ないことが分かる。また、第2図は送信信号をイ
ンターリーブ配列とし受信信号をデインターリー
ブ配列とした場合の同じ分布であり、1ビツト誤
りは約97.1%である。この場合には、訂正効果は
2桁まで達しない。しかも、標準配列およびイン
ターリーブ配列のいずれにおいても効率は低く、
50%にしかならない欠点がある。当然、16ビツト
中1ビツトの誤り訂正2ビツトの誤り検出可能な
H(16,11)拡大ハミング符号については、効率
は68.7%とH(8,4)に比べて改善されるが、
ブロツク誤り率が改善されることはない。
つぎに、1パケツト中の誤りビツト数の分布に
ついて見てみると、第3図に示すように、インパ
ルス地域では1〜8ビツトまでの誤りが99.1%を
占め、第4図に示す波形歪地域ではすべてが1〜
8ビツト誤りとなつている。また、1パケツト中
の誤りバースト長(誤りが始まつてから終るまで
のビツト長を意味し、中間ビツトの正誤は問わな
い)の分布をインパルス地域および波形歪地域に
ついて、それぞれ、第5図および第6図に示す。
68ビツトバースト誤りの訂正が可能な符号を使
用したとしても、インパルス地域では、約92%で
1桁の改善(第5図)であり、波形歪地域では約
75%で1桁の改善まで達しない(第6図)。
したがつて、短縮巡回符号のインターリーブ化
などのただ単なるバースト誤り訂正符号では多く
の効果が期待できない。
第7図および第8図は、それぞれ、典型的なイ
ンパルス地域および波形歪地域におけるb/n
(n:1ブロツクの長さ、b:1ブロツク中の誤
りビツト数)に対する誤りブロツクの頻度割合の
累積分布を示したものである。両図からブロツク
長を長くして訂正した方がより有利であることが
分かる。すなわち、第7図では、ブロツク長をn
=8とすると、すべての誤りブロツクを訂正する
ためには、b/n=0.7、すなわち8ビツト中6
ビツトまでの誤りを訂正しなければならない。あ
る程度の効率を保ちながら、これを実現すること
はとうてい不可能である。しかし、ブロツク長n
=272(文字コード放送の1パケツト長)とする
と、b/n=0.04程度ですべての誤りが訂正可能
となる。第8図から波形歪地域でも同様にn=
272でb/n=0.03程度ですべての誤りを訂正す
ることができることがわかる。
以上により、ブロツク長をできるだけ長くして
1パケツトを1ブロツクとして訂正した方が訂正
能力の点から有利であり、実現性もあることがわ
かる。
今まで述べたTV伝送路のビツト誤りの性質を
考慮した訂正能力、効率、アルゴリズムの容易
性、誤り訂正と検出の同時機能、パケツト信号へ
の適合性等を評価した典型的な誤り訂正符号の4
種類についての比較を次の第1表に示す。
The present invention relates to code error control suitable for coded teletext broadcasting in which character and graphic information coded as digital signals are multiplexed transmitted during the vertical retrace period of a TV signal, and in particular to code error control that occurs in a transmission path. This relates to an error correction decoding system that attempts to recover as much as possible by correcting bit errors. Conventionally, this type of service using TV transmission channels has an error correction function using Hamming encoding of important codes such as program numbers in European and American teletexts,
The error detection function was limited to the parity bit of the character code. In addition, some Japanese character code broadcasting experimental systems that have already been announced,
Two extended Hamming codes H that correct 1-bit error in 1 block (8 bits or 16 bits)
(8,4)H(16,11) is often used. Such a system is suitable for a line with excellent transmission characteristics with few bit errors, but it is suitable for lines with a lot of impulse noise and bit errors of several bits in one block, or with poor transmission path characteristics and a high bit error rate. For those with only about 10 -2 , there was a drawback that they could not perform a sufficient error correction function. SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an error correction decoding system that can eliminate the above-mentioned drawbacks and exhibit a sufficient error correction function. Another object of the invention is to eliminate the above-mentioned drawbacks and
The (273, 191) majority vote code was selected as an error correction code suitable for error control in coded teletext broadcasting, in which character and graphic information encoded as digital signals are multiplexed and transmitted during the vertical retrace period of a TV signal. The object of the present invention is to provide an error correction decoding system capable of correcting errors of multiple bits by appropriately decoding a majority code. In order to achieve this object, the present invention extracts 27 data bits from the majority difference set cyclic code.
3. Using a signal with 191 information bits and 82 parity bits, subtract 1 bit from this signal so that one packet consists of 272 bits to form a data signal with 272 data bits, 190 information bits, and 82 parity bits. transmit,
All predetermined columns are 1 in the transmitted data signal.
By multiplying by the matrix of , the error correction probability is increased and the information can be decoded. The present invention will be described in detail below with reference to the drawings. First, we will discuss the nature of error bits in the TV transmission path. FIG. 1 shows the average value of the distribution of the number of error bits in error bytes (8 bits) at a point where there is a relatively large amount of impulse noise when a data signal is actually transmitted and received in a field experiment. 1
The bit error is 82%, and H(8,4) is capable of correcting 1 bit error out of 8 bits and detecting 2 bit errors.
It can be seen that with the extended Hamming code, the correction effect does not reach up to one digit. Furthermore, FIG. 2 shows the same distribution when the transmitted signal is in an interleaved arrangement and the received signal is in a deinterleaved arrangement, and the 1-bit error is about 97.1%. In this case, the correction effect does not reach two digits. Moreover, the efficiency is low in both the standard arrangement and the interleaved arrangement.
There is a drawback that it only accounts for 50%. Of course, for the H(16,11) extended Hamming code, which can correct one bit out of 16 bits and detect two errors, the efficiency is 68.7%, which is improved compared to H(8,4).
There is no improvement in block error rate. Next, when we look at the distribution of the number of error bits in one packet, as shown in Figure 3, in the impulse region, errors of 1 to 8 bits account for 99.1%, and in the waveform distortion region shown in Figure 4, errors of 1 to 8 bits account for 99.1%. Then everything is 1~
There is an 8-bit error. In addition, the distribution of the error burst length (meaning the bit length from the start to the end of an error, regardless of whether the intermediate bits are correct or incorrect) in one packet is shown in Figures 5 and 5 for the impulse region and waveform distortion region, respectively. It is shown in FIG. Even if a code capable of correcting 68-bit burst errors is used, in the impulse region, the improvement is about 92% by one order of magnitude (Figure 5), and in the waveform distortion region, the improvement is about 92% (Figure 5).
75% of cases do not reach a single-digit improvement (Figure 6). Therefore, many effects cannot be expected from simple burst error correction codes such as interleaving of shortened cyclic codes. Figures 7 and 8 show b/n in typical impulse region and waveform distortion region, respectively.
This figure shows the cumulative distribution of the frequency ratio of error blocks with respect to (n: length of 1 block, b: number of error bits in 1 block). It can be seen from both figures that it is more advantageous to make the correction by increasing the block length. That is, in FIG. 7, the block length is n
= 8, in order to correct all error blocks, b/n = 0.7, or 6 out of 8 bits.
Errors up to the bit must be corrected. It is simply impossible to achieve this while maintaining a certain degree of efficiency. However, block length n
=272 (the length of one packet of character code broadcasting), all errors can be corrected with b/n = approximately 0.04. From Figure 8, n=
272, all errors can be corrected with b/n=0.03. From the above, it can be seen that correcting one packet as one block by making the block length as long as possible is advantageous in terms of correction ability, and is also practical. Typical error correction codes were evaluated for their correction ability, efficiency, ease of algorithm, simultaneous error correction and detection function, suitability for packet signals, etc., taking into account the characteristics of bit errors in TV transmission channels as described above. 4
A comparison of types is shown in Table 1 below.
【表】
○:良 △:普通 ×:不可
第1表から分かるように、多数決符号がすべて
にわたつて欠点の少ない平均的な得点を得てお
り、文字コード放送の誤り制御に最も適してい
る。
今までに多くの多数決符号が発見されている
が、パターン方式文字放送との両立性を考える
と、(1パケツト=272ビツト)差集合巡回符号で
ある(273,191)符号を1ビツト短縮化した
(272,190)ビツトが日本の文字コード放送には
最適である。この符号は、
効率R=190/270=0.70,
誤り訂正能力については、1パケツト中8ビツ
トのランダム誤りを訂正することができ、第3図
と第4図から、インパルス地域では、99.1%、波
形歪地域では100%の誤り訂正効果を期待でき、
そこで本発明ではかかる符号を用いる。
この符号の原理について述べる。最初に多数決
符号について説明する。最も簡単な例として、符
号長7、情報点数3のM系列符号について考え
る。この符号のパリテイ検査行列Hは、
〔1011000
1110100
H= 1100010
0110001〕
で与えられる。雑音を表わすベクロルeを
e=(e0,e1…e6)
とし、シンドロームSを
S=(S0,S1,S2,S3)
とすれば、
S=Het
で与えられる。ここで、tは転置を表わす。
S1,S2およびS1 +S3で構成される複合パリテ
イ検査A1,A2,A3を求めると、
A1=S0=e0+e2+e3
A2=S3=e0+e1+e5
A3=S1+S2=e0+e4+e6
が得られる。ここで、e0はA1,A2,A3のすべて
に含まれ、その他のe1〜e6は、A1,A2,A3にた
だ1つ含まれている。このとき、A1,A2,A3は
e0に関して直交しているという。e0〜e6のうち、
e0に誤りがあつた場合、A1=A2=A3=1となる。
その他のe0〜e6に誤りがあつた場合はA1,A2,
A3のうちいずれか1つが1である。したがつて、
A1,A2,A3のうちしきい値2にしておけば、多
数決回路の出力は誤りビツトe0を訂正することが
できる。M系列符は巡回符号なので、上記の動作
を7回繰り返し行えば、7ビツトのうちの1ビツ
ト誤りは必ず訂正することができる。
第9図は上例の誤り訂正を行う誤り訂正回路の
実際のハードウエア構成を示す。ここで、100
は7ビツトの入力信号である。シンドロームレジ
スタ101の初期値はすべて“0”にセツトして
おく。102は入力データ100を一時蓄えてお
くためのバツフアレジスタである。入力信号10
0がすべてバツフアレジスタ102に完全に入る
まで、同じデータ100がシンドロームレジスタ
101にもロードされる。このときまで多数決回
路109は動作していない。103〜107は2
を法とする加算器である。7ビツトの全データが
レジスタ101および102に完全に入つた時点
で、誤り訂正動作に入る。即ち、多数決回路10
9が動作を開始する。多数決回路109への3つ
の入力111,112,および113のうち2つ
または32が“1”のとき、はじめて多数決出力1
14が“1”となり、加算器107において、誤
りビツトを訂正する。それと同時にその誤りビツ
トによるシンドロームへの影響を除去するため
に、シンドロームレジスタ101の修正を多数決
出力114によつて行う。この動作によつて誤り
訂正が完全に正しく行われたか否かを判定するこ
ととなる。すなわち、全ビツトの訂正動作終了時
に正しく誤り訂正が行われていれば、シンドロー
ムレジスタ101はすべて“0”になつているは
ずである。このとき、シンドロームレジスタ10
1のすべてのビツトが“0”でないときは、正し
い誤り訂正が行われなかつたと判定すればよい。
この例の生成多項式は、
G(x)=x4+x2+x+1
であり、バアツフアレジスタ102の先頭ビツト
に誤りがあつて訂正動作を行つた時点では、x7の
ビツトに相当する。したがつて、x7によるシンド
ロームレジスタ101への影響は、
{x7/G(x)}=1
となり、多数決出力114によるシンドローム修
正ビツトが必要となる。ただし、上式{ }は剰
余類を表わす。
つぎに実際にデータを送信した場合の例につい
て述べる。生成マトリツクスは、
〔1001011
G= 0101110
0010111〕
なので、3ビツトの情報001に対して、符号cは、
c=(001)G
=0010111
となる。この符号が誤りなしで伝送された場合、
受信側でのシンドロームは、当燃0000となる。シ
ンドロームレジスタ101内のビツト変化を追つ
てみると、
0100 先頭から4ビツトまでロード
1010 先頭から5ビツトまでロード
1101 先頭から6ビツトまでロード
0000 先頭から7ビツトまでロード
のようにシンドロームレジスタ101は0000とな
り、すべての情報は誤りなしの状態で、出力端子
110から出力される。
つぎに、2ビツト目に誤りがあつた場合につい
て調べてみる。この場合、受信データは0110111
となる。したがつて、シンドロームS(x)は、
S(x)={x5+x4+x2+x+1/G(x)}
=x3+x2+x
となる。シンドロームレジスタ101の内容は、
0111
となる。訂正動作について検討してみると、[Table] ○: Good △: Average ×: Bad As can be seen from Table 1, the majority voting code obtained an average score with few defects across all codes, and is most suitable for error control in character code broadcasting. . Many majority voting codes have been discovered so far, but considering compatibility with pattern-based teletext broadcasting, (1 packet = 272 bits) the (273, 191) code, which is a difference set cyclic code, has been shortened by 1 bit. (272, 190) bits is optimal for Japanese character code broadcasting. The efficiency of this code is R = 190/270 = 0.70, and the error correction ability can correct 8 bits of random errors in one packet, and from Figures 3 and 4, in the impulse area, it is 99.1%, 100% error correction effect can be expected in waveform distortion areas.
Therefore, in the present invention, such symbols are used. The principle of this code will be explained below. First, the majority code will be explained. As the simplest example, consider an M-sequence code with a code length of 7 and a number of information points of 3. The parity check matrix H of this code is given by [1011000 1110100 H=1100010 0110001]. If the vector e representing noise is e=(e 0 , e 1 . . . e 6 ) and the syndrome S is S=(S 0 , S 1 , S 2 , S 3 ), then S=He t . Here, t represents transposition. Determining the composite parity check A 1 , A 2 , A 3 consisting of S 1 , S 2 and S 1 +S 3, A 1 = S 0 = e 0 + e 2 + e 3 A 2 = S 3 = e 0 + e 1 + e 5 A 3 = S 1 + S 2 = e 0 + e 4 + e 6 are obtained. Here, e 0 is included in all of A 1 , A 2 , and A 3 , and only one of the other e 1 to e 6 is included in A 1 , A 2 , and A 3 . At this time, A 1 , A 2 , A 3 are
They are said to be orthogonal with respect to e 0 . Among e 0 to e 6 ,
If there is an error in e 0 , A 1 =A 2 =A 3 =1.
If there is an error in other e 0 to e 6 , A 1 , A 2 ,
Any one of A 3 is 1. Therefore,
By setting the threshold value to 2 among A 1 , A 2 , and A 3 , the output of the majority circuit can correct the error bit e 0 . Since the M-sequence code is a cyclic code, if the above operation is repeated seven times, it is possible to correct a one-bit error out of seven bits. FIG. 9 shows an actual hardware configuration of an error correction circuit that performs error correction in the above example. Here, 100
is a 7-bit input signal. All initial values of the syndrome register 101 are set to "0". 102 is a buffer register for temporarily storing input data 100. input signal 10
The same data 100 is also loaded into the syndrome register 101 until all zeros are completely in the buffer register 102. Until this time, the majority circuit 109 is not operating. 103-107 is 2
It is an adder modulo . When all 7 bits of data have completely entered registers 101 and 102, error correction operation begins. That is, the majority circuit 10
9 starts operating. When two or 32 of the three inputs 111, 112, and 113 to the majority circuit 109 are "1", the majority output is 1.
14 becomes "1", and the adder 107 corrects the error bit. At the same time, in order to eliminate the influence of the error bit on the syndrome, the syndrome register 101 is modified by the majority output 114. This operation determines whether error correction has been performed completely correctly. That is, if error correction has been performed correctly at the end of the correction operation for all bits, all of the syndrome registers 101 should have become "0". At this time, syndrome register 10
If all bits of 1 are not "0", it may be determined that correct error correction has not been performed.
The generating polynomial in this example is G(x)=x 4 +x 2 +x+1, which corresponds to bit x 7 at the time when an error occurs in the first bit of buffer register 102 and a correction operation is performed. Therefore, the influence of x 7 on the syndrome register 101 is {x 7 /G(x)}=1, and a syndrome correction bit based on the majority output 114 is required. However, the above formula { } represents the coset. Next, an example of actually transmitting data will be described. Since the generation matrix is [1001011 G=0101110 0010111], the code c for 3-bit information 001 is c=(001)G=0010111. If this code is transmitted without error,
The syndrome on the receiving side will be 0000. If we follow the changes in the bits in the syndrome register 101, the syndrome register 101 becomes 0000: 0100 Load 4 bits from the beginning 1010 Load 5 bits from the beginning 1101 Load 6 bits from the beginning 0000 Load 7 bits from the beginning , all information is output from the output terminal 110 without errors. Next, let's examine the case where there is an error in the second bit. In this case, the received data is 0110111
becomes. Therefore, the syndrome S(x) is as follows: S(x)={x 5 +x 4 +x 2 +x+1/G(x)} =x 3 +x 2 +x. The contents of the syndrome register 101 are 0111. When we consider the corrective action,
【表】
となり、2ビツト目の誤りを訂正できる。
つぎに、本発明で(273,191)多数決符号を選
んだ根拠について述べる。今までに知られている
多数決符号は最大長系列符号、ハミング符号、ユ
ークリツド幾何学符号、有限射影幾何学符号、差
集合巡回符号などがある。これらのうち最大長系
列符号、ハミング符号、ユークリツド幾何学符号
は、すべて符号長nが2m−1の形になつており、
1パケツトを1ブロツクとするには、m=9,n
=511とし、この符号をn=272になるまで、239
ビツト分短縮化しなければならない。ところが短
縮化によつて伝送効率は極端に低下する。また、
有限射影幾何学符号は、n=(2ms−1)/(2s−
1)に取れるが、符号を短縮化して1パケツト中
8ビツトまでの誤りを訂正でき、効率が190/272
以上得られるものはない。
(273,191)多数決符号は、差集合巡回符号か
ら得られるもので、0,18,24,46,50,64,
103,112,115,126,128,159,166,167,186,
196,201のすべての整数の相互の差が互に異な
り、かつn=273を法として1〜272までの数すべ
てに1回だけ表われることを利用している。この
符号の生成多項式は、
G(x)=x82+x77+x76+x71+x67+x66+x56+
x52+x48+x40
+x36+x34+x24+x22+x18+x10+x4+1
…(1)
で表わされる。また、多数決回路への入力A1〜
A17は、
A1=S10+S5
A2=S64
A3=S76+S58
A4=S60+S54+S36
A5=S78+S56+S50+S32
A6=S65+S61+S39+S33+S15
A7=S46+S29+S25+S3
A8=S73+S37+S20+S16
A9=S79+S70+S34+S17+S13
A10=S71+S68+S59+S23+S6+S2
A11=S80+S69+S66+S57+S21+S4+S0
A12=S51+S49+S38+S35+S26
A13=S75+S44+S42+S31+S28+S19
A14=S81+S74+S43+S41+S30+S27+S18
A15=S63+S62+S55+S24+S22+S11+S8
A16=S72+S53+S52+S45+S14+S12+S1
A17=S77+S67+S48+S47+S40+S9+S7
となる。
次に、本発明を実施するにあたつて、送出側の
信号送出回路を第10図に示す。ここで200は
190ビツトを表わす。すなわち、この情報ビツト
200は、もとの符号から1ビツトだけ短縮化し
て情報部が190ビツトとなつたものである。パリ
テイレジスタ201の82ビツトすべての初期値は
“0”とする。スイツチ202,203および2
04は最初実線側の位置にあるものとする。情報
ビツト200はスイツチ204を通して、そのま
ま送出パケツト信号205となる。それと同時
に、この情報ビツト200はスイツチ203およ
び202を通つて、更に加算器206を経て、パ
リテイビツトを生成する。その生成方法は、(1)式
のG(x)によつている。すべての情報ビツト2
00が送り出された後のパリテイレジスタ201
の内容がさきの情報に付加すべきパリテイビツト
となる。したがつて、その時点からスイツチ20
2,203および204を破線側の位置に切り換
え、パリテイレジスタ201内の信号を送出パケ
ツト信号205として出力する。このようにし
て、1パケツト分の信号272,190が、情報
ビツト、パリテイビツトの順で出力される。
次に、このようにして送出された信号について
の、本発明による復号回路の一例を第11図に示
す。ここで、300は誤り訂正すべき入力信号で
あり、受信信号であるが、データの先頭に“0”
を付加し送出側で短縮化した1ビツトをつけ加え
てある。したがつて、全体で273ビツトとなつて
いる。その他は第9図で説明した例と原理的に同
じ構成となつている。301は訂正すべきデータ
を格納するデータレジスタであり、273ビツト分
確保されている。302はシンドロームレジスタ
で、82ビツトのシフトレジスタからなつている。
また、303〜323は2を法とする加算器であ
り、多数決回路341への入力信号を生成する。
加算器307〜323への入力の数字はシンドロ
ームレジスタ302のレジスタナンバーの出力を
表わす。例えば、加算器307の入力5,10
は、シンドロームレジスタ302のレジスタ段
S5,S10の出力を表わす。2を法とする加算器3
07〜323の各出力324〜340を多数決回
路341に供給し、その多数決出力、すなわち訂
正信号342とレジスタ301の出力とを、2を
法とする加算器343に供給する。
シンドロームレジスタ302の初期値はすべて
S0=0,…,S81=0とする。信号300のすべ
てのビツトがデータレジスタ301に書き込まれ
るまで、多数決回路341は動作しない。データ
レジスタ301に全データが入つた段階で最初の
シンにロームがレジスタ段S0〜S81によつて設定
され、多数決回路341がしきい値9で動作し、
先頭ビツトの誤り訂正に入る。シンドローム計算
を1ビツト進めるごとに誤り訂正とデータレジス
タ301の1ビツト歩進を行い、加算器343で
はレジスタ301の出力を訂正信号342で訂正
し、以つて、誤り訂正後のデータ344を出力す
る。
以上に述べた復号回路は、復号の手順を示した
概略の構成であるが、実際の文字コード放送用受
信機で使用する場合の具体的な回路構成例を第1
2図に示す。ここで、400はCPUバスライン、
401はCPU(図示せず)からの16ビツト出力ポ
ート、402はCPUからの16ビツト入力ポート、
403はフイードバツク機能をもつ82ビツトのシ
ンドロームレジスタ、404はデータレジスタ、
405は17個の多数決入力回路を含む多数決回
路、406は出力用16ビツト並列−直列変換回
路、407は入力用16ビツト直列−並列変換回
路、408は16ビツトパルス発生回路、409は
ロード・コレクトゲート発生回路、410はゲー
ト回路、411はレデイー信号発生回路、412
はエラーステータスレジスタ、413は16ビツト
パラレル入力データ、414は16ビツトパラレル
出力データ、415はスタート信号、416はロ
ード信号、417はコレクト信号、418はロー
ド・エンド信号、419はクロツク信号、420
は入力シリアルデータ、421は出力シリアルデ
ータ、422は16ビツトクロツク信号、423は
82ビツトシンドロームデータ、424は誤り訂正
信号、425はエラーステータス信号、426は
レデイー信号、427は16ビツトキヤリー信号等
を表わす。
まず、CPUは、スタート信号415を送り、
シンドロームレジスタ403をすべてクリアし、
ロード・コレクトゲート発生回路409を制御し
ロードゲート信号428を発生させる。この信号
によりシンドロームレジスタ403への入力信号
420は順次にシンドロームレジスタ403へロ
ードされることとなる。つぎにCPUは、出力ポ
ート401内のデータレジスタへ16ビツトデータ
を書込み、ロード信号416を出力する。ロード
信号416は16ビツトパルス発生回路408から
歩進用16ビツトのクロツク信号を出力し、並列−
直列変換回路406内のデータを読み出し、シン
ドロームレジスタ403およびデータレジスタ4
04へデータをロードする。16ビツトクロツク信
号のもとになるのはクロツク信号419であり、
5MHz以上の信号であれば、数H以下の処理時間
で1パケツトの誤り訂正が可能である。また、こ
のロード信号によつてレデイー信号発生回路41
1をリセツトし、ビイジーとする。16ビツトの歩
進用クロツクの送出が完了すると、16ビツトキヤ
リー信号427が発生して、レデイー信号発生回
路411をレデイー状態にする。そのレデイー信
号426によつてCPUに次の指令の催促を行う。
1パケツト272ビツトについて以上の操作を繰
り返し行う。したがつて、272/16=17回データ
セツトとロード命令の出力を行うこととなる。
すべてのデータを並列−直列変換回路406に
セツトし、ロード命令を出し終えた時点でCPU
はロードエンド信号418を出力し、シンドロー
ムレジスタ403を1ビツトだけ歩進させる。こ
れは、1ビツト短縮分であり、その後は先頭ビツ
トからの訂正に入ることができる。誤り訂正は16
ビツトづつ行い、その都度、誤り訂正後の16ビツ
トデータをCPUが読み取る。コレクト信号41
7はCPUからの誤り訂正命令であり、この1命
令によつてデータレジスタ404の先頭にある16
ビツトデータの誤りが訂正される。コレクト信号
417によつてロード信号416によるロード命
令のときと同様に、16ビツトパスル発生回路40
8から16ビツトクロツク信号が出力され、レジス
タ403および404を、それぞれ16ビツトづつ
シフトする。データレジスタ404の先頭は、誤
り訂正信号424によつて誤りがあると判定され
た場合には、そのビツトを反転して直列−並列変
換回路407へ順次ロードする。
誤り訂正信号424は多数決回路405の出力
であり、コレクト信号417によつて制御される
ロード・コレクトゲート発生回路409の出力信
号によつて制御される。データロード時と同様
に、16ビツトの誤り訂正が終了した時点で、レデ
イー信号426によつてCPUに16ビツト分の誤
り訂正が終了し、直列−並列変換回路としてのレ
ジスタ407にデータがロードされていることを
知らせる。この動作を17回繰り返すと、パリテイ
ーを含めた誤り訂正後の272ビツトデータを復元
することができる。
412は、シンドロームレジスタ403の82ビ
ツトの各ビツト423を入力とするANDゲート
からなるエラーステータスレジスタであり、シン
ドロームレジスタ403の内容がすべて“0”に
なつているか否かをチエツクする。この状態は、
エラーステータス信号425をCPUが読めば、
正しく訂正が行われたか否かを判定することがで
きる。すなわち、シンドロームレジスタがすべて
“0”のときのみ、誤り訂正が正しく行われたと
判定する。
以上は、16ビツトごとにデータロードを行い、
また16ビツトごとに誤り訂正後のデータをCPU
が読み取る方式であつたが、当然8ビツトごと、
34ビツトごと、68ビツトごと、136ビツトごと等
についても原理的には同じである。現在考えられ
るハードウエアの規模からは、16ビツト程度が適
当であろう。1命令当りのビツト数を多くする
と、部分401,402,406,407などの
回路構成が大となる。
多数決符号は、多数決素子数が多くなると実際
に使用する論理回路が指数関数的に増加する。し
たがつて、本発明のように多数決入力が17となる
ような符号は、実際には用いられない。そのため
の論理回路を実現するための論理式のOR入力の
数は、
MOR=17
〓i=9 17
Ci
となり、OR入力素子数は104オーダとなり、実際
の家庭用受信機の誤り訂正方式としては不適当な
ものとなつてしまう。また、17ビツト入力の
ROMで実現しようとすると、217ビツトのROM
となり、特殊な大規模ROMが必要となつて、こ
れまた家庭用受信機の誤り訂正方式としては不適
当なものになつてしまう。
そこで、本発明では、例えば第13図に示す回
路によつて、慣例の最も簡単な論理素子によつ
て、17入力の多数決入力論理を実現することがで
きる。
第13図において、500および501はそれ
ぞれ8つの多数決入力を表わしている。502
は、残余の1つの多数決入力を表わしている。5
03および504は、4×256ビツトのROMで
あり、505および506は、それぞれ、ROM
503および504からの4ビツト出力を表わし
ている。507は通常の加算器であり、508は
その加算出力を表わしている。509は比較器で
あり、510は比較器509のB側入力、511
は比較器509のA>B出力を表わしている。
まず、8ビツト入力500はROM503によ
つてその1の数を4ビツト表示の出力505とし
て出力する。例えば、M0=1,M1=M2=M3=
M4=M5=M6=M7=0のときには、出力505
は“1000”のように1を表示する。同様に、もう
一方の8ビツト入力501についてもROM50
4によつて、その1の数として出力506が出力
される。加算器507では出力505および50
6の2進数と、キヤリーとしての17番目の多数決
入力M16とを加算し、出力508を出力する。
比較器509では、B側入力510を8に固定し
ておき、A側入力508が、入力510より大き
い場合のみ、A>B出力511へ“1”を出力す
る。このような回路構成によつて、17個の入力の
うち9個以上が1の場合の多数決の検出が可能と
なる。
以上、本発明による文字コード放送の誤り訂正
に適した(272,190)多数決符号の原理と、実際
の受信ロジツク回路構成法について説明したが、
実際の信号伝送時には、パリテイー信号の82ビツ
トのみ、あるいは情報信号190ビツトのみを反
転させて伝送し、受信側で元にもどすような方式
にすべきである。これは、パケツト内の信号がす
べて“0”であつた時に符号語とならないように
するためである。
なお、上例では、一度パケツト信号をCPUの
RAM内に取り込んだデータを誤り制御用I/O
に出力し、誤り訂正後のデータを再度読み取る方
式であつたが、当然CPUのRAMに取り込む前に
誤り訂正処理する方法も考えられる。その場合
は、誤り訂正処理時間に、シフトレジスタへのロ
ード時間と同じ時間を要するので上述したのとほ
ぼ同じ構成の誤り訂正回路が2個以上必要とな
る。
以上に、TV信号VBL伝送路のビツト誤り特性
に適した誤り訂正方式について述べてきたが、こ
の方式によれば、強力な誤り訂正効果を発揮させ
ることができる。また、272ビツトを一括誤り訂
正処理するいかなる他の誤り訂正方式よりも簡単
な復号回路によつて実現が可能なので、安価なハ
ードウエア構成が要求される家庭用受信機端末の
誤り訂正回路に適している。さらに、誤り訂正動
作と同時に誤り検出機能をも持つているので、誤
字表示の許されない放送用の誤り訂正方式に適し
ている。
この方式は、すでにパターン方式文字放送とし
て電波技術審議会から答申がなされた方式と同じ
TV信号の1走査線当り、272ビツトのデイジタ
ル信号を伝送する方式なので、将来は文字コード
放送以外にフアクシミリ用のデイジタルフアク
ス、コンピユータソフトウエアを伝送するソフト
ウエア放送、目の不自由な人達のための点字放送
等その他のコード放送を実施するときにも、ビツ
トレートが同じであれば、すべて同じ方式で誤り
訂正が可能である。
このように、(272,190)多数決符号は、1パ
ケツト中の任意の位置に生じた8ビツト以下の誤
りをすべて訂正することができるが、9ビツト以
上の誤りに対しては、訂正可能な誤りパターンが
ほんの少しあるものの、大抵の誤りパターンは訂
正不可能である。
そこで、以下では、9,10,11,12ビツト程度
の誤りの場合にもかなりの割合で訂正することの
できる本発明の他の例について説明する。
なお、以下の例では、9ビツトについては、す
べての誤りを訂正することができ、以てページ誤
り率を大幅に改善させることができる。
まず、本例の原理について述べる。上述したよ
うに、(273,191)の生成多項式G(x)は、
G(x)=x82+x77+x76+x71+x67+x66+x56+
x52+x48+
x40+x36+x34+x24+x22+x18+x10+x4+1
であり、マトリツクス表示では
ただし、Iは191×191の単位マトリツクス、P
は82×191のマトリツクスを表わす。
また、チエツクマトリツクスHは、
となつている。マトリツクスHの82行のベクトル
の線形結合によつて各々の先頭ビツト上で直交す
るような復号チエツクマトリツクスを構成するこ
とができる。この17個の復号チエツク式の先頭部
分だけを抜き書きしてみると、次式のようにな
る。
受信ベクトルrは、
r=c+e
と表わせる。ただし、cはコード信号、eは誤り
信号である。したがつて、復号チエツクをかけた
式は、
r・H1〓=(c+e)・H1〓=eH1〓
となるので、誤りだけ考えればよい。以下の説明
ではeH1を考える。
ここで、H1はチエツクマトリツクスHより線
形変換により求めた複合マトリツクスである。[Table], and the error in the second bit can be corrected. Next, the basis for selecting the (273, 191) majority code in the present invention will be described. Majority codes known so far include maximum length sequence codes, Hamming codes, Euclidean geometry codes, finite projective geometry codes, and difference set cyclic codes. Among these, maximum length sequence codes, Hamming codes, and Euclidean geometric codes all have a code length n of 2 m −1,
To make one packet one block, m=9, n
= 511, and this code is 239 until n = 272.
It must be shortened by one bit. However, due to the shortening, the transmission efficiency is extremely reduced. Also,
The finite projective geometry code is n=(2 ms −1)/(2 s −
1), but by shortening the code, it is possible to correct errors of up to 8 bits in one packet, and the efficiency is 190/272.
There is nothing more to be gained. (273, 191) The majority code is obtained from the difference set cyclic code, and is 0, 18, 24, 46, 50, 64,
103, 112, 115, 126, 128, 159, 166, 167, 186,
It takes advantage of the fact that the differences between all the integers 196 and 201 are different from each other, and that they appear only once in all numbers 1 to 272, modulo n=273. The generating polynomial of this code is G(x)=x 82 +x 77 +x 76 +x 71 +x 67 +x 66 +x 56 +
x 52 +x 48 +x 40 +x 36 +x 34 +x 24 +x 22 +x 18 +x 10 +x 4 +1
...(1) Also, the input A 1 to the majority circuit
A 17 is A 1 = S 10 + S 5 A 2 = S 64 A 3 = S 76 + S 58 A 4 = S 60 + S 54 + S 36 A 5 = S 78 + S 56 + S 50 + S 32 A 6 = S 65 + S 61 +S 39 +S 33 +S 15 A 7 =S 46 +S 29 +S 25 +S 3 A 8 =S 73 +S 37 +S 20 +S 16 A 9 =S 79 +S 70 +S 34 +S 17 +S 13 A 10 =S 71 +S 68 +S 59 +S 23 +S 6 +S 2 A 11 =S 80 +S 69 +S 66 +S 57 +S 21 +S 4 +S 0 A 12 =S 51 +S 49 +S 38 +S 35 +S 26 A 13 =S 75 +S 44 +S 42 +S 31 + S 28 +S 19 A 14 =S 81 +S 74 +S 43 +S 41 +S 30 +S 27 +S 18 A 15 =S 63 +S 62 +S 55 +S 24 +S 22 +S 11 +S 8 A 16 =S 72 +S 53 +S 52 +S 45 + S 14 + S 12 +S 1 A 17 = S 77 + S 67 + S 48 + S 47 + S 40 + S 9 + S 7 . Next, in carrying out the present invention, a signal sending circuit on the sending side is shown in FIG. Here 200 is
Represents 190 bits. That is, this information bit 200 is shortened by one bit from the original code, so that the information part becomes 190 bits. The initial value of all 82 bits of parity register 201 is "0". Switches 202, 203 and 2
04 is initially at the position on the solid line side. The information bit 200 passes through the switch 204 and becomes the outgoing packet signal 205 as it is. At the same time, this information bit 200 passes through switches 203 and 202 and further through adder 206 to generate a parity bit. The generation method is based on G(x) in equation (1). All information bit 2
Parity register 201 after 00 is sent out
The content of is the parity bit to be added to the previous information. Therefore, from that point on, switch 20
2, 203, and 204 are switched to the positions on the broken line side, and the signal in the parity register 201 is output as the sending packet signal 205. In this way, one packet of signals 272, 190 is output in the order of information bits and parity bits. Next, FIG. 11 shows an example of a decoding circuit according to the present invention for signals sent out in this manner. Here, 300 is the input signal to be error corrected, which is the received signal, but there is "0" at the beginning of the data.
1 bit is added and shortened on the sending side. Therefore, the total is 273 bits. The rest of the configuration is basically the same as the example explained in FIG. 9. A data register 301 stores data to be corrected, and 273 bits are reserved. 302 is a syndrome register consisting of an 82-bit shift register.
Further, 303 to 323 are adders modulo 2, which generate input signals to the majority circuit 341.
The numbers input to adders 307-323 represent the output of the register number of syndrome register 302. For example, inputs 5, 10 of adder 307
is the register stage of the syndrome register 302
Represents the output of S 5 and S 10 . Adder 3 modulo 2
The outputs 324 to 340 of 07 to 323 are supplied to a majority circuit 341, and the majority outputs, that is, the correction signal 342 and the output of the register 301, are supplied to a modulo-2 adder 343. The initial values of the syndrome register 302 are all
Let S 0 =0,..., S 81 =0. Majority circuit 341 does not operate until all bits of signal 300 have been written to data register 301. When all the data has entered the data register 301, the first row is set by the register stages S0 to S81 , and the majority circuit 341 operates at a threshold value of 9.
Starts error correction of the first bit. Each time the syndrome calculation advances by 1 bit, error correction is performed and the data register 301 is incremented by 1 bit, and the adder 343 corrects the output of the register 301 with a correction signal 342, and outputs error-corrected data 344. . The decoding circuit described above has a general configuration showing the decoding procedure, but the first example shows a specific circuit configuration when used in an actual character code broadcasting receiver.
Shown in Figure 2. Here, 400 is the CPU bus line,
401 is a 16-bit output port from the CPU (not shown), 402 is a 16-bit input port from the CPU,
403 is an 82-bit syndrome register with a feedback function, 404 is a data register,
405 is a majority decision circuit including 17 majority decision input circuits, 406 is a 16-bit parallel-serial conversion circuit for output, 407 is a 16-bit serial-parallel conversion circuit for input, 408 is a 16-bit pulse generation circuit, and 409 is a load/collect gate. A generation circuit, 410 a gate circuit, 411 a ready signal generation circuit, 412
is an error status register, 413 is 16-bit parallel input data, 414 is 16-bit parallel output data, 415 is a start signal, 416 is a load signal, 417 is a collect signal, 418 is a load/end signal, 419 is a clock signal, 420
is input serial data, 421 is output serial data, 422 is 16-bit clock signal, 423 is
82-bit syndrome data, 424 an error correction signal, 425 an error status signal, 426 a ready signal, 427 a 16-bit carry signal, etc. First, the CPU sends a start signal 415,
Clear all syndrome registers 403,
The load/collect gate generation circuit 409 is controlled to generate a load gate signal 428. Due to this signal, the input signal 420 to the syndrome register 403 is sequentially loaded into the syndrome register 403. Next, the CPU writes 16-bit data to the data register in the output port 401 and outputs a load signal 416. The load signal 416 outputs a 16-bit clock signal for stepping from the 16-bit pulse generation circuit 408, and
The data in the serial conversion circuit 406 is read, and the data in the syndrome register 403 and the data register 4 are read out.
Load data to 04. The source of the 16-bit clock signal is the clock signal 419,
If the signal is 5 MHz or higher, one packet error can be corrected in a processing time of several H or less. Further, the ready signal generation circuit 41 is activated by this load signal.
1 and make it busy. When the sending of the 16-bit increment clock is completed, a 16-bit carry signal 427 is generated to put the ready signal generation circuit 411 into a ready state. The ready signal 426 prompts the CPU to issue the next command.
The above operation is repeated for each packet of 272 bits. Therefore, data set and load commands are output 272/16=17 times. When all the data is set in the parallel-to-serial conversion circuit 406 and the load instruction is finished, the CPU
outputs the load end signal 418 and increments the syndrome register 403 by one bit. This is a one-bit reduction, and after that, correction can begin from the first bit. Error correction is 16
This is done bit by bit, and the CPU reads the 16-bit data after error correction each time. Collect signal 41
7 is an error correction instruction from the CPU, and this one instruction causes the 16 at the beginning of the data register 404 to
Errors in bit data are corrected. The 16-bit pulse generation circuit 40 is activated by the collect signal 417 in the same way as the load command by the load signal 416.
An 8 to 16 bit clock signal is output and shifts registers 403 and 404 by 16 bits each. If it is determined that there is an error based on the error correction signal 424, the bits at the beginning of the data register 404 are inverted and sequentially loaded into the serial-parallel conversion circuit 407. The error correction signal 424 is the output of the majority circuit 405 and is controlled by the output signal of the load/collect gate generation circuit 409 which is controlled by the collect signal 417. As with data loading, when the 16-bit error correction is completed, the ready signal 426 sends the CPU the 16-bit error correction, and the data is loaded into the register 407 as a serial-parallel conversion circuit. let them know that you are By repeating this operation 17 times, 272-bit data including parity can be restored after error correction. Reference numeral 412 denotes an error status register consisting of an AND gate that receives each bit 423 of the 82 bits of the syndrome register 403, and checks whether the contents of the syndrome register 403 are all "0". This state is
If the CPU reads the error status signal 425,
It is possible to determine whether or not the correction has been made correctly. That is, it is determined that error correction has been correctly performed only when all syndrome registers are "0". Above, data is loaded every 16 bits,
In addition, the data after error correction is sent to the CPU every 16 bits.
was the method to read it, but of course every 8 bits,
The principle is the same for every 34 bits, every 68 bits, every 136 bits, etc. Considering the scale of hardware currently being considered, around 16 bits would be appropriate. If the number of bits per instruction is increased, the circuit configurations of portions 401, 402, 406, 407, etc. will become larger. In majority voting codes, the number of logic circuits actually used increases exponentially as the number of majority voting elements increases. Therefore, a code in which the majority input is 17 as in the present invention is not actually used. The number of OR inputs in the logic formula to realize the logic circuit is MOR = 17 〓 i=9 17 Ci, and the number of OR input elements is on the order of 10 4 , which makes it difficult to use as an error correction method for actual home receivers. becomes inappropriate. Also, 17-bit input
If you try to realize it with ROM, 2 17 -bit ROM
Therefore, a special large-scale ROM is required, making it inappropriate as an error correction system for home receivers. Accordingly, in the present invention, a 17-input majority input logic can be realized using the simplest conventional logic elements, for example, by using the circuit shown in FIG. In FIG. 13, 500 and 501 each represent eight majority inputs. 502
represents one remaining majority input. 5
03 and 504 are 4×256-bit ROMs, and 505 and 506 are ROMs, respectively.
The four bit outputs from 503 and 504 are represented. 507 is a normal adder, and 508 represents its addition output. 509 is a comparator, 510 is the B side input of the comparator 509, 511
represents the A>B output of the comparator 509. First, the 8-bit input 500 outputs the number 1 as a 4-bit output 505 by the ROM 503. For example, M0=1, M1=M2=M3=
When M4=M5=M6=M7=0, output 505
displays 1, such as “1000”. Similarly, for the other 8-bit input 501, the ROM 50
4 outputs an output 506 as the number of 1s. Adder 507 outputs 505 and 50
The binary number 6 and the 17th majority input M16 as a carry are added, and an output 508 is output.
In the comparator 509, the B-side input 510 is fixed at 8, and only when the A-side input 508 is larger than the input 510, "1" is output to the A>B output 511. Such a circuit configuration makes it possible to detect a majority vote when nine or more of the 17 inputs are 1. The principle of the (272, 190) majority code suitable for error correction in character code broadcasting according to the present invention and the actual reception logic circuit configuration method have been explained above.
During actual signal transmission, a system should be used in which only 82 bits of the parity signal or only 190 bits of the information signal are inverted and transmitted, and restored to their original state on the receiving side. This is to prevent the signal from becoming a code word when all the signals in the packet are "0". In addition, in the above example, once the packet signal is
I/O for error control of data imported into RAM
The conventional method was to output the error-corrected data to the CPU and re-read the error-corrected data, but it is also possible to perform error-correction processing before loading the data into the CPU's RAM. In that case, since the error correction processing time requires the same time as the loading time to the shift register, two or more error correction circuits having substantially the same configuration as described above are required. The error correction method suitable for the bit error characteristics of the TV signal VBL transmission path has been described above, and according to this method, a strong error correction effect can be exhibited. In addition, since it can be implemented using a simpler decoding circuit than any other error correction method that processes 272 bits at once, it is suitable for error correction circuits in home receiver terminals that require inexpensive hardware configurations. ing. Furthermore, since it has an error detection function as well as an error correction operation, it is suitable for an error correction system for broadcasting where typographical errors are not allowed. This method is the same as the method already reported by the Radio Technology Council as pattern-based teletext broadcasting.
Since it is a method that transmits a 272-bit digital signal per scanning line of a TV signal, in the future, in addition to character code broadcasting, it will also be possible to use digital facsimile for facsimile, software broadcasting for transmitting computer software, and for visually impaired people. Even when implementing other code broadcasts such as Braille broadcasts for broadcasting, if the bit rate is the same, error correction can be performed using the same method. In this way, the (272, 190) majority code can correct all errors of 8 bits or less that occur at any position in one packet, but errors of 9 bits or more cannot be corrected. Although there are only a few error patterns, most error patterns are uncorrectable. Therefore, in the following, another example of the present invention will be described which is capable of correcting errors of about 9, 10, 11, and 12 bits at a considerable rate. In the example below, all errors in 9 bits can be corrected, and the page error rate can be greatly improved. First, the principle of this example will be described. As mentioned above, the generator polynomial G(x) of (273, 191) is: G(x)=x 82 +x 77 +x 76 +x 71 +x 67 +x 66 +x 56 +
x 52 + x 48 + x 40 + x 36 + x 34 + x 24 + x 22 + x 18 + x 10 + x 4 + 1, and in matrix display However, I is a 191×191 unit matrix, P
represents an 82×191 matrix. In addition, Check Matrix H is It is becoming. By linear combination of vectors in 82 rows of matrix H, it is possible to construct a decoding check matrix that is orthogonal on each leading bit. If we extract only the first part of these 17 decryption check formulas, we get the following formula. The reception vector r can be expressed as r=c+e. However, c is a code signal and e is an error signal. Therefore, the equation after applying the decoding check is r.H 1 〓=(c+e).H 1 〓=eH 1 〓, so it is only necessary to consider the error. In the following explanation, eH 1 will be considered. Here, H1 is a composite matrix obtained from the check matrix H by linear transformation.
【表】
〓1
…… 〓
ここで、9ビツト以上誤りがあつた場合のこと
を考えてみる。なお、8ビツト以下の誤りについ
ては、符号の原理から当然すべて訂正可能であ
る。
(1) 先頭の9ビツトすべてが誤りのときエラーベ
クトルeは、
e=(1,1,1,1,1,1,1,1,1,
0,0,0,……,0)
となり、よつて、
eH1=(1,0,1,0,1,1,1,0,
0,1,0,1,1,0,1,0,1,0,
1)
となり、1の個数は11なので、しきい値9を越
え、1ビツト目を訂正する。残りの8ビツトは当
然すべて訂正可能なので、結局この9ビツトの誤
りは訂正可能である。
従つて、9ビツト誤りの場合は、誤つて訂正動
作を行う前に先頭の誤りを発見し、そのビツトを
訂正してしまえば、残り8ビツトの誤り訂正が可
能なので、すべての9ビツト誤りが訂正可能とな
る。このことから1度誤り訂正を行い、訂正不可
能だつたときは、データ自身を1ビツトまたは、
複数ビツトだけ巡回シフトさせて再度誤り訂正を
行えば、いつかは、先頭の誤りビツトにぶつか
り、9ビツト全部のデータの誤りを訂正できるよ
うになる。
(2) 次のような10ビツトの誤りの場合を考えてみ
よう。
e=(1,1,1,1,1,1,1,1,1,
1,0,0,0,0,…,0)
eH1〓=(1,0,1,0,1,1,0,0,
1,0,1,1,0,1,1,0,1)
となり、1の個数は10個なので、先頭ビツトを訂
正する。残りの9個の誤りは(1)項において述べた
ようにすべて訂正できるので、このような形の10
個の誤りは訂正できる。
(3) 次に先頭の11ビツトがすべて誤りの場合に
は、
e=(1,1,1,1,1,1,1,1,1,
1,1,0,0,0,……,0)
eH1〓=(1,0,1,0,1,1,0,0,
1,0,1,1,0,1,0,0,1)
となり、1の個数は9なので、先頭ビツトは訂正
できる。残りの10個の誤りは、(2)項で述べたよう
にすべて訂正可能である。したがつて、上記のよ
うな誤りパターーンについては、すべての誤りビ
ツトを訂正することができる。
(4) 同様に先頭の12ビツトがすべて誤りの場合に
は、
e=(1,1,1,1,1,1,1,1,1,
1,1,1,0,……,0)
eH1〓=(1,0,1,0,1,1,0,0,
0,0,1,1,0,1,0,0,1)
となり、1の個数は8なので、先頭ビツトに誤り
があつたにもかかわらず誤り訂正は行わない。正
しい訂正は不可能である。
(5) つぎに、同じ11ビツトが連続して誤りであつ
ても、そのうちの2ビツト目から誤りがつづく
場合を考えてみる。
e=(0,1,1,1,1,1,1,1,1,
1,1,1,0,0,……,0)
eH1〓=(0,1,0,1,0,0,1,1,
1,1,0,0,1,0,1,1,0)
1が9個立つているので、先頭ビツトが正しい
にもかかわずこの先頭ビツトを訂正してしまう。
したがつて、最後のビツトまで誤り訂正しても、
正しく訂正されない。正しく訂正されないこと
は、シンドロームレジスタの内容がすべて“0”
の状態にならないことから判断できる。
この時は、データを1ビツト分だけ巡回的にシ
フトさせる。それによつて誤りデータは、(3)項で
説明したものと同じ形になるので、今度は訂正可
能である。
ここでは、273ビツトの先頭の1ビツト目で直
交するように、複合マトリツクスH1を構成した
が、差集合の原理から2ビツト目で直交するマト
リツクスを構成することもできる。この場合には
前の実際の回路例で説明したロードエンド命令
(短縮ビツト分の1ビツトシフト)は必要なく、
2ビツトの先頭から誤り訂正動作に入つて行くこ
とができる。したがつて回路構成が簡単になる利
点が生じる。
このように、1群の誤りビツトのうち、なるべ
く早い時期に先頭ビツトを訂正してしまえば、残
つた誤りビツトを高い確率で訂正することができ
る。
従つて、(1)項においても述べたとおり、1度訂
正動作を行い、誤り訂正が完全にできなかつたこ
とがわかつた時点で、巡回符号の巡回性を利用し
て、受信データを1ビツトづつシフトして訂正す
れば、9ビツト以上の誤りに対して誤り訂正を行
うことのできる可能性が増加する。
誤り訂正動作のフローは第14図のようにな
る。
第15図に本例を実施するための実際のハード
ウエアの構成例を示す。ここで、600はCPU
(図示せず)のバスライン、601はCPU出力ポ
ート、602はCPU入力ポート、603は並列
−直列変換回路、604は直列−並列変換回路、
605および606はゲート回路、607および
637は2を法とする加算器、608はデータレ
ジスタ、609はシンドロームレジスタ、610
はタイミングジユネレータ、611はエラーステ
ータスレジスタ、612は多数決回路である。6
13はスタート命令信号、614はクリア信号、
615はロード命令信号、616はロードゲート
信号、617はロードクロツク信号、618はコ
レクトゲート信号、619はコレクトクロツク信
号、620はエラーステータス信号、621は82
ビツトシンドローム信号、622は誤り訂正信
号、623は訂正終了信号、624はフエツチ命
令信号、625はフエツチレデイー信号、626
はフエツチクロツク信号、627はロードデー
タ、628はフエツチデータ、629はロードシ
リアルデータ、630は巡回したロードデータ、
631はシンドロームを求めるための、あるい
は、デ−タ再配列のためのロードデータ、632
は元データ値をシフトした形で保持しておくため
のデータレジスタ、633は誤り訂正後のデー
タ、634は1ビツトずらせて再配列したデー
タ、635はデータシフトクロツク信号、636
はパラレルロード信号を表わす。
次に本例の回路動作について述べる。回路動作
の説明は、(1)CPUから初期データをロードする
ロードモード、(2)誤り訂正をかけるコレクトモー
ド、(3)CPUが誤り訂正後のデータを読み取るフ
エツチモードの3モードに分けて行う。
(1) ロードモード
CPUは272ビツトの11パケツト分の信号を取り
込むと、スタート命令613を発生し、リセツト
信号614によつて、82段シンドロームレジスタ
609のすべてのレジスタ段を“0”とする。つ
ぎに、CPUは出力ポートへロードすべきデータ
をセツトし、ロード命令信号615を発生させ
る。パラレルデータ627はレジスタ603にロ
ードされる。ロード制御信号616によつて、ゲ
ート回路605および606が制御を受け、入力
信号629が、シンドロームレジスタ609とデ
ータレジスタ632へ順次にロードされる。1パ
ケツト分の信号は272ビツトであるが、短縮した
1ビツト目は“0”データとしてセツトする。並
列−直列変換器603へのパラレルデータは、
8,16ビツト単位等で供給する。したがつて、こ
のロード操作は、35,18回等行うことになる。シ
ンドロームレジスタ609およびロードデータレ
ジスタ632へロードし終ると、パラレルロード
信号636のタイミングでレジスタ632のデー
タをすべて、データレジスタ608へコピーす
る。当然この段階ではコレクトゲート信号618
によつて、誤り訂正信号622はまだ出力されな
い。
(2) コレクトモード
CPUからのロード操作が終了すると、誤り訂
正モードに入る。コレクトクロツク信号619は
273ビツト連続して出力される。ただし、先頭の
1ビツト分は短縮しているので、コレクトゲート
信号618は、先頭の1ビツトを除いた272ビツ
ト期間となる。多数決回路612より誤り訂正信
号622を出力する場合は、第4図で説明したの
と同じ動作によつてデータレジスタ608のデー
タとシンドロームレジスタ609のシンドローム
を誤り訂正信号622によつて修正する。このよ
うにして、パケツト信号を受信したビツト順に誤
り訂正を終了する。
エラーステータスレジスタ611によつてシン
ドロームレジスタ609の82ビツトすべてが
“0”の状態であることが検知されていない限り、
回路は次の段階へ進む。これはエラーステータス
レジスタ信号620によつて開始するものであ
る。まず、元データ列632を1ビツト分だけ巡
回シフトさせる。シフトクロツク信号635は、
1ビツト分のシフトと、シンドロームを求めるた
めのシフトの合計で274ビツトとなる。この出力
信号は、ゲート回路605および606からシン
ドロームレジスタ609へ順次ロードされてシン
ドロームを生成する。そのときのクロツク信号6
19は、ビツト位置変換のための1ビツトを除い
た273ビツトである。このようにして、データレ
ジスタ632内で274ビツトにわたつてシフトを
終了してシンドロームを生成し終ると、パラレル
ロード信号636によつてロードデータレジスタ
632内の273ビツトがデータレジスタ608へ
ロードされる。それ以後は、前回の誤り訂正動作
とすべて同じである。ただし、1番最後になつた
1ビツト短縮分には訂正をかけない。
(3) フエツチモード
エラーステータス信号620がノーエラーを表
示しない限り、自動的にこの一連の動作を繰り返
す。1ビツトづつスリツプして、誤り訂正をかけ
る操作が、273回行われた後は、1番最初の動作
とすべて同じになるので、訂正終了信号623を
発生してCPUに知らせる。CPUはエラーステー
タス信号620を読み取り、誤りがすべて正しく
訂正されていない場合には、訂正できなかつたと
判断し、誤り検出となる。
正しく訂正されている場合には、CPUはフエ
ツチ命令信号624を発生し、データレジスタ6
08の信号を使用する。当然、先頭ビツトは必要
としないので、273ビツトのうち後半の272ビツト
だけをフエツチしてもよい。データは、データレ
ジスタ608から直列−並列変換回路604に順
次ロードされる。CPUはフエツチレデイー信号
625を見て、直列−並列変換回路604の信号
を取り込み、次のフエツチ命令624を発生す
る。この繰り返しによつて、1パケツト分の信号
をCPU内に復元する。
以上に述べた例は、最終ビツトが先頭に来る最
後の段階での操作例であるが、訂正可能な誤りは
ほとんどの場合に、その巡回の途中で、エラース
テータス信号620により、シンドロームレジス
タ609の内容がすべて“0”であることを知ら
せる。
エラーステータス信号620により誤り訂正が
すべてなされたことを知つた後、コレクトクロツ
ク信号619は別の動作となる。すなわち、デー
タレジスタ608内のデータを元のビツト配列に
直さなければならない。エラーステータス信号6
20中のビツトが立つた時点のシフト数をn、先
頭ビツトを巡回的に1ビツトづつ再配列させた回
数をN(すなわち、先頭からNビツト目が先頭ビ
ツトとしてシンドロームレジスタ609に入つて
いるモード)とすると、273−n+273−N回のシ
フトをデータレジスタ608内で行うことによつ
て、初めて、元の先頭ビツトが、先頭ビツト位置
に配列される。この時点で訂正終了信号623を
セツトしてCPUへ知らせる。このデータを先に
説明したフエツチ命令によつてCPUが読み込め
ば、元のビツト配置の正しいデータを得ることが
できる。
以上の操作はハードウエアで行う実施例である
が、当然ソフトウエアと第12図の回路でデータ
レジスタ404を273ビツトとしてそのまま用い
ても実現は可能である。すなわち、データのシフ
トをCPU内で行い、このデータを第12図の回
路へロードすればよい。ただし、この場合には処
理時間が少々長くなる欠点がある。なお、短縮し
た1ビツト分について、これまでの説明では、す
べて誤り訂正動作を停止させるようにしてきた
が、回路を単純化させるために、他のビツトと同
様に扱い、すべてのビツトに訂正をかけることも
できる。そのときの、短縮ビツトによる誤りの影
響度は、1/273である。
なお、上例では、1回の誤り訂正が不可能だつ
たときにデータを1ビツト分だけ巡回的にシフト
させたが、回路を簡単化あるいは処理を高速化す
るために、複数ビツトシフトすることも考えられ
る。例えば、シフトするビツト数を2ビツトとす
れば、処理時間は半分ですむ利点が生じる。
上述の(272,190)多数決符号を用いたとき
に、1パケツト中に9ビツト以上のバースト状の
誤り、あるいは、フレーム同期をとるためのフレ
ーミング信号部に生じた訂正不可能な2ビツト以
上の誤りなどが生起する場合は、1パケツト分の
信号を失つてしまう欠点があつた。なお、フレー
ミング信号は、8ビツトからなり、8ビツト中の
1ビツトの誤りが訂正できるようになつている。
第16図は、文字コード放送のパケツト信号を
示す。ここで、700は水平同期信号、701は
カラーバースト、702はクロツク同期をとるた
めのクロツクランイン、703はフレーム同期を
とるためのフレーミング信号、704は34バイト
パケツト信号を表わす。
第17図は、本発明により送出するパケツト信
号を表わす。通常配列で送出する1パケツト分の
信号は、図中に×で示すように8ビツトづつに分
解して各パケツトに分散させて、34パケツトによ
り×印の1パケツト分の信号を送出する。受信側
では、第17図に示すものと同様な規模のバツフ
アを持ち、復号時には、順次に×印の8ビツトを
取り込み、標準配列信号になおしてからパケツト
ごとに誤り訂正を行う。このように、8ビツトご
とのパケツト間(フイールド間)でインターリー
ブを行うことによつてバースト状にパケツトに混
入したノイズによる誤りも訂正可能となる。即
ち、1パケツト信号の全部が誤り(このようなこ
とは実際にはほとんどない。パケツト全体に誤り
が混入しても平均的には272/2=136ビツトであ
る)だつた場合であつても、その誤りは8ビツト
づつに分けられ、34パケツトに平均的に分配され
るので、1パケツト(272ビツト)中でランダム
に発生したいかなる8ビツトの誤りも訂正可能な
(272,190)誤り訂正符号によつて、すべて訂正
可能である。
このことは、フレーミングエラーがあつて1パ
ケツト分の全データを失つた場合においても信号
が到着したことさえ判れば、受信信号を一定値と
仮定しただけで十分誤り訂正が可能であることを
示している。また、このように受信信号を一定値
と仮定したときの平均誤りビツト数は272/2=
136ビツトであり、8ビツト当り4ビツトなので、
平均的には、2個のフレーミングエラーがあつた
場合でも訂正が可能である。このようなビツト配
列によつてパケツト信号を伝送すれば、バースト
的に発生する自動車等の都市雑音、家電機器等か
らのインパルス雑音などに十分対処することがで
きる。当然ランダムに発生する雑音については、
標準配列となんら変りはない。
つぎに、受信側のロジツクについて説明する。
受信側では、第17図に示すような34×34=1158
バイトのバツフアをRAM上に用意する。先頭番
地をA0とすると、受信した最初のパケツト信号
は、A0〜A0+33番地までに収容する。次の受信
パケツトは、A0+34〜A0+67番地までに収容す
る。すなわち、n番地目の最新パケツトは、A0
+34(n−1)〜A0+34(n−1)+33番地までに
収容する。nが初めて、34になつた段階で1156バ
イトのバツフアはいつぱいとなり、パケツト信号
の誤り訂正動作に入る。誤り訂正回路へ入れるデ
ータは、第17図の×印のデータであり、番地は
A0,A0+35,A0+70,A0+105,…,A0+
1155である。n=35番目のパケツト信号は、再び
A0〜A0+33番地までに収容する。従つてn番目
に到着したパケツト信号を収容する番地の一般式
は、
A0+34×({n/34}−1)〜A0+34{n/34}−1
ただし{ }は余りを表わす。
となる。n=35のときにデコードするパケツトは
第17図の〇印に相当する。すなわち、A0+34,
A0+69,A0+104,…,A0+33となる。一般式
は、
A0+34×{n/34}〜A0+33×34{n/34}
A0+33−({n/34}−1)〜A0+33+34
×({n/34}−1)
となる。同様に、n=36のときは、Δ、n=37で
は●印を順次取り出して、デコード回路へロード
し、1パケツトの誤りを訂正する。
第17図の実施例では受信パケツト信号を
CPUのRAM中へ順次書込み、誤り訂正のデコー
ダを通す時点で、飛び飛びのアドレスから34バイ
ト分のデータを集めて1パケツトをデコードする
方式だつたが、第18図では、これとは反対に、
パケツトバツフアへのデータ書込み時に、所定の
定められた番地に順次書込み、データ読み出し時
には、連続番地から34バイト読み出すことによつ
て1パケツト分のデータを直接得る。図中の番号
は、転送パケツト番号を表わす。書込み時の一般
式は、
A0+34(n−1),A0+34(n−1)−33,…A0
+34(n−1)−33(n−1)
および
A0+34×33+{n/34},
A0+34×33+{n/34}−33…
A0+34×33+{n/34}〜33 (33−{n/34})
となる。ただし、A0は先頭番地、nはn番目の
パケツト、{ }は余りを表わす。上式の番地に
従つて8ビツトづつデータ書込みを行えば、34バ
イト連続データ読み出しによつて1パケツト分の
データを取り出すことができる。そのときの先頭
番地は、
A0+34(n−1)
となる。
以上の第17図と第18図を用いた説明では、
34パケツト中に1バイトデータを1パケツト遅れ
で順次送信し、34パケツト後に初めて1パケツト
分のデータを復元する方式だつた。しかし、各バ
イト(8ビツト)をランダムに配列することも原
理的には可能であり、一種のスクランブル伝送と
してペイTV的な使用ができる。第19図はパケ
ツト間の各バイトをスクランブル伝送する原理を
説明するために、第17図の伝送方法の2バイト
目と3バイト目のみを入れ換えたものである。受
信機側では、第19図に示すようなパケツトバツ
フアを用意しておき、第34パケツト目を受信し終
つた時点で、×印で示すバイトを読み出し、1パ
ケツト分のデータを構成し、デコードする。同様
に35パケツト受信終了時には〇印によつて、36パ
ケツト受信終了時には△印によつて、37パケツト
受信終了時には●印によつて、それぞれ順次にパ
ケツト信号を復元する。当然、35パケツト、36パ
ケツト、37パケツト等はそれぞれA0,A0+34,
A0+68番地から書き始める。なお、A0はパケツ
トバツフアの先頭番地を示す。各パケツトの先頭
バイトは転送順に転送すると仮定すると、とり得
るパターンの個数は
33!≒8.68×1035
通りとなる。
一方、TV信号の垂直帰線期間の1Hを使用し
て伝送できる1日の全パケツト数は
60×60×60×24=5.18×106
となる。したがつて、本発明によるスクランブル
の原理がわかつているがスクランブルの伝送パタ
ーンがわからない場合に、受信機側でランダムに
発生させたパターンによつて探したとしても
1029日
必要となり、解読はとうてい不可能である。
さらに、本例に対して33バイトの各バイトの信
号を反転させる情報をも加えれば、
253個
のパターンがあり、全体として、
233×1029日
となり、天文学的な数字となる。
第20図は、以上説明したスクランブルを解く
ためのROM情報を示す。ROMのビツト数は
34×(5+1)ビツト=204ビツト
となる。第20図において、アドレスは、第1パ
ケツトを復元するために必要なバイト番号に対応
するパケツト番号を示す。0〜33を示せればよい
ので、5ビツトあれば十分である。また、反転情
報は、復元した1パケツトの各バイトの情報が反
転されて伝送されているか否かを示す。従つて、
そのためには1ビツトあればよい。
放送局側で、スクランブルアドレスと反転情報
を換えるごとに受信者に第20図で示すような
ROMを交付すれば、盗聴(視)される心配はな
い。
もちろん、上例で説明したスクランブル方法の
うち、どちらか一方を使用しても十分機能を発揮
させることができる。また、反転情報およびスク
ランブルアドレスは、それぞれ、16,34,68など
複数ビツトごとの指定であつてもさしつかえない
こと勿論である。
以上のように、文字コード放送の1パケツトを
構成する各バイトを別個のパケツトによつて伝送
する実施例にあつては、バースト状に発生したビ
ツト誤りに対して誤り訂正能力が強化される。本
発明におけるは(272,190)による8ビツト誤り
訂正方式にあつては、1パケツト分の情報を失つ
ても、すべて復元できる。すなわち、フレーミン
グエラーがあつたとしても他の33パケツトに誤り
がなければ、すべて誤り訂正可能である。
第17図示の実施例では、受信側に34×34バイ
トのパケツトバツフアをもち、到着したパケツト
信号を巡回的にパケツトバツフアに書込むので、
各バイトを斜めに読み出し1パケツト分の信号を
構成することができる。
第18図示の実施例では、逆に到着したパケツ
ト信号を斜めに一定の規則にしたがつて書込むの
で、読出し時には、連続的に34バイト分だけ読出
せば1パケツト分の信号を得ることができる。
第19図示の実施例では、信号伝送時に各バイ
トの転送パケツトをランダムに配置するので、誤
り訂正能力を上述した実施例と同じに保つたま
ま、秘話通信にも使用できる。放送局側としては
ペイTV的な使用も十分考えられる。
第20図示の実施例では、第19図示の実施例
に加えて、各バイト情報の反転情報も加えたの
で、受信側での盗視聴がなお一層むづかしくなる
利点がある。
以上述べたように、本発明では、誤り訂正がで
きなかつたときには、ビツト位置をシフトして訂
正をかけることによつて、本来誤り訂正が不可能
な9ビツト以上の誤りについても訂正能力が増大
し、しかも誤り検出能力も低下させない利点があ
り、本発明は文字コード放送での誤り訂正に有効
であり、文字コード放送の大幅なサービスエリア
の拡大をはかる上で極めて有効である。
なお、情報をコード化したデイジタル信号を、
上例ではTV信号の垂直帰線期間に挿入したが、
かかるデイジタル信号は他の種々の形態で、伝送
系において他の信号に挿入したり、あるいは単独
で用いることができること勿論である。
また、上述の説明では、閾値を9としてきた
が、多数決論理回路で復号可能な符号の原理から
閾値は10であつても、同様に8ビツト以下の誤り
訂正能力を持つこと云うまでもない。[Table] 〓1
…… 〓
Now, let us consider the case where there is an error of 9 bits or more. Note that all errors of 8 bits or less can of course be corrected from the principle of codes. (1) When all the first 9 bits are errors, the error vector e is e=(1, 1, 1, 1, 1, 1, 1, 1, 1,
0,0,0,...,0), so eH 1 = (1,0,1,0,1,1,1,0,
0,1,0,1,1,0,1,0,1,0,
1), and the number of 1's is 11, so the threshold value of 9 is exceeded and the 1st bit is corrected. Since all of the remaining 8 bits can of course be corrected, this 9-bit error can be corrected after all. Therefore, in the case of a 9-bit error, if the first error is found and corrected before a correction operation is performed by mistake, it is possible to correct the remaining 8 bits, so all 9-bit errors can be corrected. Correction becomes possible. From this, error correction is performed once, and if the error cannot be corrected, the data itself is corrected by 1 bit or
By cyclically shifting a plurality of bits and performing error correction again, the first error bit will eventually be hit and all nine bits of data will be able to be corrected. (2) Consider the following 10-bit error case. e=(1, 1, 1, 1, 1, 1, 1, 1, 1,
1,0,0,0,0,…,0) eH 1 〓=(1,0,1,0,1,1,0,0,
1, 0, 1, 1, 0, 1, 1, 0, 1), and the number of 1's is 10, so the first bit is corrected. The remaining nine errors can all be corrected as described in section (1), so the 10
Individual errors can be corrected. (3) Next, if the first 11 bits are all errors, e = (1, 1, 1, 1, 1, 1, 1, 1, 1,
1,1,0,0,0,...,0) eH 1 〓=(1,0,1,0,1,1,0,0,
1, 0, 1, 1, 0, 1, 0, 0, 1), and the number of 1's is 9, so the leading bit can be corrected. The remaining 10 errors can all be corrected as described in section (2). Therefore, all error bits can be corrected for the error pattern described above. (4) Similarly, if the first 12 bits are all errors, e = (1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 0, ..., 0) eH 1 = (1, 0, 1, 0, 1, 1, 0, 0,
0, 0, 1, 1, 0, 1, 0, 0, 1), and the number of 1's is 8, so no error correction is performed even though there is an error in the first bit. Correct correction is impossible. (5) Next, let us consider the case where even if the same 11 bits are consecutively erroneous, the errors continue from the second bit onwards. e=(0,1,1,1,1,1,1,1,1,
1, 1, 1, 0, 0, ..., 0) eH 1 = (0, 1, 0, 1, 0, 0, 1, 1,
1, 1, 0, 0, 1, 0, 1, 1, 0) Since there are nine 1's, the first bit is corrected even though it is correct.
Therefore, even if the error is corrected to the last bit,
Not corrected correctly. If it is not corrected correctly, the contents of the syndrome register will be all “0”.
This can be determined from the fact that the condition does not occur. At this time, the data is cyclically shifted by one bit. As a result, the erroneous data has the same form as described in section (3), so it can now be corrected. Here, the composite matrix H1 is constructed so that the first bit of the 273 bits is orthogonal, but it is also possible to construct a matrix that is orthogonal at the second bit based on the principle of difference set. In this case, the load end instruction (1-bit shift corresponding to the shortened bit) explained in the previous actual circuit example is not necessary.
Error correction operation can be started from the beginning of 2 bits. Therefore, there is an advantage that the circuit configuration becomes simple. In this way, if the first bit of a group of error bits is corrected as early as possible, the remaining error bits can be corrected with a high probability. Therefore, as mentioned in section (1), once a correction operation is performed and it is found that error correction cannot be completed, the received data is converted into one bit by using the cyclic nature of the cyclic code. By shifting and correcting the bits, the possibility of correcting errors of 9 bits or more increases. The flow of the error correction operation is as shown in FIG. FIG. 15 shows an example of an actual hardware configuration for implementing this example. Here, 600 is the CPU
bus line (not shown), 601 is a CPU output port, 602 is a CPU input port, 603 is a parallel-serial conversion circuit, 604 is a serial-parallel conversion circuit,
605 and 606 are gate circuits, 607 and 637 are modulo-2 adders, 608 is a data register, 609 is a syndrome register, 610
611 is a timing generator, 611 is an error status register, and 612 is a majority circuit. 6
13 is a start command signal, 614 is a clear signal,
615 is a load command signal, 616 is a load gate signal, 617 is a load clock signal, 618 is a collect gate signal, 619 is a collect clock signal, 620 is an error status signal, 621 is 82
Bit syndrome signal, 622 error correction signal, 623 correction end signal, 624 fetch command signal, 625 fetch ready signal, 626
is a fetch clock signal, 627 is load data, 628 is fetch data, 629 is load serial data, 630 is circulated load data,
631 is load data for finding syndromes or data rearrangement, 632
is a data register for holding the original data value in a shifted form, 633 is data after error correction, 634 is data rearranged by shifting one bit, 635 is a data shift clock signal, 636
represents a parallel load signal. Next, the circuit operation of this example will be described. The circuit operation will be explained in three modes: (1) Load mode in which initial data is loaded from the CPU, (2) Collect mode in which error correction is applied, and (3) Fetch mode in which the CPU reads data after error correction. (1) Load mode When the CPU takes in 11 packets of 272-bit signals, it generates a start command 613 and sets all register stages of the 82-stage syndrome register 609 to "0" by a reset signal 614. Next, the CPU sets the data to be loaded into the output port and generates a load command signal 615. Parallel data 627 is loaded into register 603. Load control signal 616 controls gate circuits 605 and 606, and input signal 629 is sequentially loaded into syndrome register 609 and data register 632. The signal for one packet is 272 bits, but the shortened first bit is set as "0" data. The parallel data to the parallel-serial converter 603 is
Supplied in units of 8, 16 bits, etc. Therefore, this load operation will be performed 35, 18 times, etc. After loading the syndrome register 609 and load data register 632, all data in the register 632 is copied to the data register 608 at the timing of the parallel load signal 636. Naturally, at this stage, the collect gate signal 618
Therefore, the error correction signal 622 is not yet output. (2) Collect mode When the load operation from the CPU is completed, the error correction mode is entered. The collect clock signal 619 is
273 bits are output continuously. However, since the first bit is shortened, the collect gate signal 618 has a period of 272 bits excluding the first bit. When the error correction signal 622 is output from the majority circuit 612, the data in the data register 608 and the syndrome in the syndrome register 609 are corrected by the error correction signal 622 by the same operation as explained in FIG. In this way, error correction is completed in the bit order in which the packet signal is received. Unless the error status register 611 detects that all 82 bits of the syndrome register 609 are “0”,
The circuit advances to the next stage. This is initiated by the error status register signal 620. First, the original data string 632 is cyclically shifted by one bit. The shift clock signal 635 is
The total of the 1-bit shift and the shift for finding the syndrome is 274 bits. This output signal is sequentially loaded from gate circuits 605 and 606 into syndrome register 609 to generate a syndrome. Clock signal 6 at that time
19 is 273 bits excluding 1 bit for bit position conversion. In this way, after completing the shift over 274 bits in data register 632 to generate the syndrome, the 273 bits in load data register 632 are loaded into data register 608 by parallel load signal 636. . After that, everything is the same as the previous error correction operation. However, the last 1-bit reduction is not corrected. (3) Fetch mode This series of operations is automatically repeated unless the error status signal 620 indicates no error. After the operation of slipping one bit at a time and applying error correction is performed 273 times, the operation is the same as the first one, so a correction end signal 623 is generated to notify the CPU. The CPU reads the error status signal 620, and if all errors have not been correctly corrected, it determines that the error could not be corrected, and an error is detected. If the correction is correct, the CPU generates a fetch command signal 624 and registers the data register 6.
08 signal is used. Of course, since the first bit is not required, only the latter 272 bits of the 273 bits may be fetched. Data is sequentially loaded from data register 608 to serial-to-parallel converter circuit 604 . The CPU sees the fetch ready signal 625, takes in the signal from the serial-to-parallel conversion circuit 604, and generates the next fetch command 624. By repeating this process, one packet worth of signals is restored in the CPU. The example described above is an example of the operation at the final stage when the last bit comes first, but in most cases, correctable errors are caused by the error status signal 620 in the syndrome register 609 during the cycle. Informs that the contents are all “0”. After the error status signal 620 indicates that all error corrections have been made, the collect clock signal 619 takes another action. That is, the data in data register 608 must be restored to its original bit arrangement. Error status signal 6
The number of shifts at the time when the bit in 20 is set is n, and the number of times the leading bit is cyclically rearranged bit by bit is N (that is, the mode in which the Nth bit from the beginning is stored in the syndrome register 609 as the leading bit). ), then by performing 273-n+273-N shifts in the data register 608, the original leading bit is arranged at the leading bit position. At this point, a correction end signal 623 is set to notify the CPU. If the CPU reads this data using the fetch instruction described above, the correct data with the original bit arrangement can be obtained. Although the above-mentioned operation is an embodiment performed by hardware, it is of course possible to implement the operation by using software and the circuit shown in FIG. 12, with the data register 404 having 273 bits. That is, data may be shifted within the CPU and this data may be loaded into the circuit shown in FIG. 12. However, this case has the disadvantage that the processing time is slightly longer. In the explanation so far, all error correction operations have been stopped for the shortened one bit, but in order to simplify the circuit, it is treated like other bits and all bits are corrected. You can also apply it. At that time, the influence of errors due to shortened bits is 1/273. Note that in the above example, data was cyclically shifted by one bit when one-time error correction was impossible, but multiple bits may also be shifted to simplify the circuit or speed up processing. Conceivable. For example, if the number of bits to be shifted is 2 bits, there is an advantage that the processing time can be halved. When using the above-mentioned (272, 190) majority code, burst-like errors of 9 or more bits in one packet, or uncorrectable 2 or more bits that occur in the framing signal section for frame synchronization. If an error occurs, one packet worth of signal is lost. Incidentally, the framing signal consists of 8 bits, and an error in 1 bit among the 8 bits can be corrected. FIG. 16 shows a packet signal of character code broadcasting. Here, 700 represents a horizontal synchronization signal, 701 a color burst, 702 a clock line in for clock synchronization, 703 a framing signal for frame synchronization, and 704 a 34-byte packet signal. FIG. 17 represents a packet signal sent out according to the present invention. The signal for one packet sent out in the normal arrangement is decomposed into 8 bits each and distributed into each packet as shown by the x in the figure, and the signal for one packet marked by the x is sent out using 34 packets. The receiving side has a buffer similar in size to that shown in FIG. 17, and upon decoding, it sequentially takes in the 8 bits marked with an x, converts them into a standard arrangement signal, and then performs error correction for each packet. In this way, by performing interleaving between packets of every 8 bits (between fields), it is possible to correct errors caused by noise mixed into packets in bursts. In other words, even if all of one packet signal is an error (in reality, this rarely happens; even if there are errors in the entire packet, the average error is 272/2 = 136 bits). , the error is divided into 8 bits and distributed evenly over 34 packets, so any 8-bit error randomly occurring in one packet (272 bits) can be corrected using (272, 190) error correction. All can be corrected by the code. This shows that even if a framing error occurs and all data for one packet is lost, as long as it is known that the signal has arrived, it is sufficient to correct the error by assuming that the received signal is a constant value. ing. Also, assuming that the received signal is a constant value, the average number of error bits is 272/2=
It is 136 bits, 4 bits per 8 bits, so
On average, even two framing errors can be corrected. By transmitting a packet signal using such a bit arrangement, it is possible to sufficiently cope with urban noise generated in bursts from automobiles and the like, impulse noise from home appliances, and the like. Regarding noise that naturally occurs randomly,
There is no difference from the standard array. Next, the logic on the receiving side will be explained.
On the receiving side, 34×34=1158 as shown in Figure 17
Prepare a byte buffer on RAM. Assuming that the first address is A0, the first packet signal received is accommodated in addresses A0 to A0+33. The next received packet is accommodated in addresses A0+34 to A0+67. In other words, the latest packet at address n is A0
+34(n-1) to A0+34(n-1)+33. When n reaches 34 for the first time, the 1156-byte buffer becomes full and the packet signal error correction operation begins. The data input to the error correction circuit is the data marked with an x in Figure 17, and the address is
A0, A0+35, A0+70, A0+105,..., A0+
It is 1155. The n=35th packet signal is again
Accommodate within addresses A0 to A0+33. Therefore, the general formula for the address accommodating the nth arriving packet signal is A0+34×({n/34}-1) to A0+34{n/34}-1, where { } represents the remainder. becomes. The packets to be decoded when n=35 correspond to the circles in FIG. That is, A0+34,
A0+69, A0+104, ..., A0+33. The general formula is A0+34×{n/34}~A0+33×34{n/34} A0+33-({n/34}-1)~A0+33+34×({n/34}-1). Similarly, when n=36, Δ is taken out, and when n=37, the ● marks are taken out in sequence and loaded into the decoding circuit to correct one packet error. In the embodiment of FIG. 17, the received packet signal is
The method used was to collect 34 bytes of data from discrete addresses and decode one packet by sequentially writing it into the CPU's RAM and passing it through the error correction decoder, but in contrast to this in Figure 18,
When writing data to the packet buffer, data is written sequentially to predetermined addresses, and when reading data, 34 bytes are read from consecutive addresses to directly obtain data for one packet. The numbers in the figure represent transfer packet numbers. The general formula for writing is A0+34(n-1), A0+34(n-1)-33,...A0
+34(n-1)-33(n-1) and A0+34×33+{n/34}, A0+34×33+{n/34}-33... A0+34×33+{n/34}~33 (33-{n/ 34}). However, A0 is the starting address, n is the nth packet, and { } is the remainder. If data is written 8 bits at a time according to the address in the above formula, one packet of data can be extracted by reading 34 bytes of data continuously. The starting address at that time will be A0+34(n-1). In the above explanation using FIGS. 17 and 18,
It was a method in which 1 byte data was sent sequentially with a delay of 1 packet during 34 packets, and the data for 1 packet was restored only after 34 packets. However, it is theoretically possible to randomly arrange each byte (8 bits), and it can be used as a kind of scrambled transmission for Pay TV. In order to explain the principle of scramble transmission of each byte between packets, FIG. 19 is a diagram in which only the second and third bytes of the transmission method of FIG. 17 are replaced. On the receiver side, prepare a packet buffer as shown in Figure 19, and when the 34th packet is received, read the bytes indicated by the x mark, compose one packet of data, and decode it. . Similarly, the packet signals are sequentially restored by marking ◯ when receiving 35 packets, marking △ when receiving receiving 36 packets, and marking ● when receiving receiving 37 packets. Of course, 35 packets, 36 packets, 37 packets, etc. are A0, A0 + 34, respectively.
Start writing from address A0+68. Note that A0 indicates the starting address of the packet buffer. Assuming that the first byte of each packet is transferred in the order of transfer, the number of possible patterns is 33! ≒8.68×10 35 ways. On the other hand, the total number of packets per day that can be transmitted using 1H of the vertical blanking period of the TV signal is 60 x 60 x 60 x 24 = 5.18 x 106 . Therefore, if the scrambling principle according to the present invention is known but the scramble transmission pattern is not known, even if the receiver side searches for a randomly generated pattern, it will take 10 to 29 days to decipher. It's impossible. Furthermore, if we add information for inverting the signal of each of the 33 bytes to this example, there are 253 patterns, resulting in a total of 233 × 1029 days, which is an astronomical number. FIG. 20 shows ROM information for solving the scramble explained above. The number of bits in the ROM is 34 x (5 + 1) bits = 204 bits. In FIG. 20, the address indicates the packet number corresponding to the byte number required to restore the first packet. Since it is sufficient to indicate 0 to 33, 5 bits is sufficient. Further, the inversion information indicates whether the information of each byte of one restored packet is inverted and transmitted. Therefore,
One bit is sufficient for this purpose. On the broadcasting station side, each time the scramble address and inversion information are changed, the receiver is notified as shown in Figure 20.
If you issue the ROM, there is no need to worry about it being eavesdropped on. Of course, either one of the scrambling methods described in the above example can be used to achieve sufficient functionality. Furthermore, it goes without saying that the inversion information and the scramble address may be specified in units of multiple bits, such as 16, 34, and 68, respectively. As described above, in the embodiment in which each byte constituting one packet of character code broadcasting is transmitted in a separate packet, the error correction capability for bit errors occurring in bursts is enhanced. In the 8-bit error correction method using (272, 190) in the present invention, even if one packet's worth of information is lost, all of it can be restored. That is, even if there is a framing error, if there are no errors in the other 33 packets, all errors can be corrected. In the embodiment shown in Figure 17, the receiving side has a 34 x 34 byte packet buffer, and arriving packet signals are cyclically written to the packet buffer.
By reading each byte diagonally, it is possible to construct a signal for one packet. In the embodiment shown in Fig. 18, on the other hand, the arriving packet signal is written diagonally according to a certain rule, so when reading, it is possible to obtain a signal for one packet by reading only 34 bytes continuously. can. In the embodiment shown in FIG. 19, since the transfer packets of each byte are randomly arranged during signal transmission, it can also be used for confidential communication while maintaining the same error correction ability as the embodiment described above. On the broadcasting station side, it is quite conceivable that it could be used in a pay TV style. In the embodiment shown in FIG. 20, in addition to the embodiment shown in FIG. 19, inversion information of each byte information is also added, which has the advantage of making it even more difficult for the receiver to view and listen to the data in secret. As described above, in the present invention, when errors cannot be corrected, by shifting the bit position and applying correction, the correction ability can be increased even for errors of 9 bits or more, which cannot be corrected in the first place. However, it has the advantage of not reducing error detection ability, and the present invention is effective in correcting errors in character code broadcasting, and is extremely effective in significantly expanding the service area of character code broadcasting. Furthermore, digital signals that encode information are
In the above example, it was inserted in the vertical retrace period of the TV signal, but
Of course, such a digital signal can be used in various other forms, inserted into other signals in a transmission system, or used alone. Further, in the above explanation, the threshold value has been set to 9, but it goes without saying that even if the threshold value is 10, it will still have error correction ability of 8 bits or less based on the principle of codes that can be decoded by majority logic circuits.
第1図は野外実験における受信データの誤りビ
ツト数の分布の平均値の例を示す線図、第2図は
野外実験において送受信信号をインターリーブ配
列した場合の受信データの誤りビツト数の分布の
平均値の例を示す線図、第3図は1パケツト中の
誤りビツト数の分布を示す線図、第4図は波形歪
地域における1パケツト中の誤りビツト数の分布
を示す線図、第5図および第6図はインパルス地
域および波形歪地域におけるそれぞれの1パケツ
ト中の誤りバースト長の分布を示す線図、第7図
および第8図は典型的なインパルス地域および波
形歪地域におけるそれぞれのb/n(%)に対す
る誤りブロツクの頻度割合の累積分布を示す線
図、第9図は誤り訂正復号回路の構成の一例を示
すブロツク線図、第10図は本発明を実施するに
あたつての信号送出回路の一例を示すブロツク線
図、第11図は本発明における誤り訂正復号回路
の他の例を示すブロツク線図、第12図は本発明
を実際の文字コード放送用受信機に適用する例の
具体的な構成を示すブロツク線図、第13図は本
発明における多数決回路の構成例を示すブロツク
線図、第14図は本発明における誤り訂正動作の
流れを示す流れ図、第15図は本発明を実施する
ための回路の更に他の構成例を示すブロツク線
図、第16図は文字コード放送に使用するパケツ
ト信号の一例を示す線図、第17図は本発明にお
けるパケツト信号の第1例を示す線図、第18図
は本発明におけるパケツト信号の第2例を示す線
図、第19図は本発明におけるパケツト信号の第
3例を示す線図、第20図は第19図の信号に各
バイト情報の反転情報を加えたパケツト信号の第
4例におけるスクランブル解読用ROMの一例を
示す線図である。
100……7ビツトの入力信号、101……シ
ンドロームレジスタ、102……バツフアレジス
タ、103〜107……加算器、109……多数
決回路、111〜113……多数決回路入力、1
14……多数決回路出力、200……情報ビツ
ト、201……パリテイレジスタ、202〜20
4……スイツチ回路、205……送出パケツト信
号、206……加算器、300……入力信号、3
01……データレジスタ、302……シンドロー
ムレジスタ、303〜323……加算器、324
〜340……多数決回路入力、341……多数決
回路、342……訂正信号、343……加算器、
344……訂正後のデータ出力、400……バス
ライン、401……出力ポート、402……入力
ポート、403……シンドロームレジスタ、40
4……データレジスタ、405……多数決回路、
406……並列−直列変換回路、407……直列
−並列変換回路、408……16ビツトパルス発生
回路、409……ロード・コレクトゲート発生回
路、410……ゲート回路、411……レデイー
信号発生回路、412……エラーステータスレジ
スタ、413……16ビツトパラレル入力データ、
414……16ビツトパラレル出力データ、415
……スタート信号、416……ロード信号、41
7…コレクト信号、418……ロードエンド信
号、419……クロツク信号、420……入力シ
リアルデータ、421……出力シリアルデータ、
422……16ビツトクロツク信号、423……82
ビツトシンドロームデータ、424……誤り訂正
信号、425……エラーステータス信号、426
……レデイー信号、427……16ビツトキヤリー
信号、428……ロードゲート信号、501〜5
02……多数決入力、503,504……
ROM、505,506……ROM出力、507
……加算器、508……加算器出力、509……
比較器、510……比較器入力、511……多数
決出力、600……バスライン、601……出力
ポート、602……入力ポート、603……並列
−直列変換回路、604……直列−並列変換回
路、605〜606……ゲート回路、607,6
37……加算器、608……データレジスタ、6
09……シンドロームレジスタ、610……タイ
ミングジエネレータ、611……エラーステータ
スレジスタ、612……多数決回路、613……
スタート命令信号、614……クリア信号、61
5……ロード命令信号、616……ロードゲート
信号、617……ロードクロツク信号、618…
…コレクトゲート信号、619……コレクトクロ
ツク信号、620……エラーステータス信号、6
21……32ビツトシンドローム信号、622……
誤り訂正信号、623……訂正終了信号、624
……フエツチ命令信号、625……フエツチレデ
イー信号、626……フエツチクロツク信号、6
27……ロードデータ、628……フエツチデー
タ、629〜631……ロードデータ、632…
…ロードデータレジスタ、633……誤り訂正後
のデータ、634……並列データ、635……デ
ータシフトクロツク信号、636……並列ロード
信号。
Figure 1 is a diagram showing an example of the average value of the distribution of the number of error bits of received data in a field experiment, and Figure 2 is a diagram showing the average distribution of the number of error bits of received data when transmitting and receiving signals are interleaved in a field experiment. Figure 3 is a diagram showing the distribution of the number of error bits in one packet. Figure 4 is a diagram showing the distribution of the number of error bits in one packet in the waveform distortion area. Figure 5 is a diagram showing the distribution of the number of error bits in one packet. 6 and 6 are diagrams showing the distribution of error burst lengths in one packet in the impulse region and the waveform distortion region, respectively. FIG. 9 is a block diagram showing an example of the configuration of an error correction decoding circuit. FIG. 11 is a block diagram showing another example of the error correction decoding circuit according to the present invention, and FIG. 12 is a block diagram showing another example of the error correction decoding circuit according to the present invention. FIG. 12 is a block diagram showing an example of the present invention applied to an actual character code broadcasting receiver FIG. 13 is a block diagram showing an example of the configuration of the majority circuit according to the present invention. FIG. 14 is a flowchart showing the flow of error correction operation according to the present invention. 16 is a block diagram showing yet another configuration example of a circuit for implementing the present invention, FIG. 16 is a diagram showing an example of a packet signal used in character code broadcasting, and FIG. 17 is a diagram showing an example of a packet signal used in character code broadcasting. FIG. 18 is a line diagram showing the first example of the packet signal, FIG. 19 is a line diagram showing the third example of the packet signal in the present invention, and FIG. FIG. 7 is a diagram showing an example of a scramble decoding ROM in a fourth example of a packet signal obtained by adding inverted information of each byte to the signal shown in the figure; 100...7-bit input signal, 101...Syndrome register, 102...Buffer register, 103-107...Adder, 109...Majority circuit, 111-113...Majority circuit input, 1
14...Majority circuit output, 200...Information bit, 201...Parity register, 202-20
4... Switch circuit, 205... Sending packet signal, 206... Adder, 300... Input signal, 3
01...Data register, 302...Syndrome register, 303-323...Adder, 324
~340...majority circuit input, 341...majority circuit, 342...correction signal, 343...adder,
344... Data output after correction, 400... Bus line, 401... Output port, 402... Input port, 403... Syndrome register, 40
4...Data register, 405...Majority circuit,
406...Parallel-serial conversion circuit, 407...Series-parallel conversion circuit, 408...16-bit pulse generation circuit, 409...Load/collect gate generation circuit, 410...Gate circuit, 411...Ready signal generation circuit, 412...Error status register, 413...16-bit parallel input data,
414...16-bit parallel output data, 415
...Start signal, 416...Load signal, 41
7...Collect signal, 418...Load end signal, 419...Clock signal, 420...Input serial data, 421...Output serial data,
422...16 bit clock signal, 423...82
Bit syndrome data, 424...Error correction signal, 425...Error status signal, 426
... Ready signal, 427 ... 16-bit carry signal, 428 ... Load gate signal, 501 to 5
02...Majority input, 503,504...
ROM, 505, 506...ROM output, 507
... Adder, 508 ... Adder output, 509 ...
Comparator, 510...Comparator input, 511...Majority output, 600...Bus line, 601...Output port, 602...Input port, 603...Parallel-serial conversion circuit, 604...Serial-parallel conversion Circuit, 605-606... Gate circuit, 607, 6
37...Adder, 608...Data register, 6
09...Syndrome register, 610...Timing generator, 611...Error status register, 612...Majority circuit, 613...
Start command signal, 614... Clear signal, 61
5...Load command signal, 616...Load gate signal, 617...Load clock signal, 618...
...Collect gate signal, 619...Collect clock signal, 620...Error status signal, 6
21...32 bit syndrome signal, 622...
Error correction signal, 623...Correction end signal, 624
...Fetch command signal, 625...Fetch ready signal, 626...Fetch clock signal, 6
27...Load data, 628...Fetch data, 629-631...Load data, 632...
...Load data register, 633...Data after error correction, 634...Parallel data, 635...Data shift clock signal, 636...Parallel load signal.
Claims (1)
ツト273、情報ビツト191およびパリテイビ
ツト82ビツトの信号を用い、この信号から1ビツ
ト減少させて、1パケツトを272ビツトで構成し、
データビツト272、情報ビツト190およびパ
リテイビツト82ビツトのデータ信号を形成して伝
送し、伝送されてきた前記データ信号のシンドロ
ームレジスタの出力状態に応じて訂正を行い、訂
正終了時に前記シンドロームレジスタが全て零に
なつていない場合に限り、先頭ビツトをシフトし
て再度誤り訂正を行うことにより、1パケツト当
り9ビツト以上の誤りを訂正する確率を増大する
ことを特徴とする誤り訂正復号方式。 2 特許請求の範囲第1項に記載の誤り訂正復号
方式において、前記情報ビツトを入力されるシン
ドロームレジスタと、前記情報ビツトを入力され
るデータレジスタと、前記シンドロームレジスタ
の出力の多数決をとる多数決回路と、該多数決回
路の多数決出力を前記シンドロームレジスタに供
給してシンドロームを修正するシンドローム修正
手段と、前記多数決出力を前記データレジスタか
らの出力に加算する加算手段とを有し、該加算手
段から復号化情報を取り出すことを特徴とする誤
り訂正復号方式。 3 特許請求の範囲第1項に記載の誤り訂正復号
方式において、1パケツト分の情報を複数ビツト
ずつに分けて、それぞれ別個のパケツトで伝送す
ることを特徴とする誤り訂正復号方式。 4 特許請求の範囲第3項記載の誤り訂正復号方
式において、34パケツト分のメモリを有し、該メ
モリにパケツト信号書込み時あるいは読出し時に
一定のアルゴリズムによつてアクセスして標準配
列のパケツト信号を得るようにしたことを特徴と
する誤り訂正復号方式。[Claims] 1. Using a signal of 273 data bits, 191 information bits, and 82 parity bits from the majority difference set cyclic code, one bit is decreased from this signal to configure one packet with 272 bits,
A data signal of 272 data bits, 190 information bits, and 82 parity bits is formed and transmitted, correction is performed according to the output state of the syndrome register of the transmitted data signal, and when the correction is completed, the syndrome register is all zero. An error correction decoding system characterized in that the probability of correcting errors of 9 bits or more per packet is increased by shifting the leading bit and performing error correction again only when the error is not corrected. 2. In the error correction decoding system according to claim 1, a syndrome register to which the information bits are input, a data register to which the information bits are input, and a majority circuit that takes a majority vote among the outputs of the syndrome registers. syndrome correction means for supplying the majority decision output of the majority decision circuit to the syndrome register to correct the syndrome; and addition means for adding the majority decision output to the output from the data register, and decoding from the addition means. An error correction decoding method characterized by extracting encoded information. 3. An error correction decoding system according to claim 1, characterized in that information for one packet is divided into multiple bits and each bit is transmitted as a separate packet. 4. The error correction decoding system according to claim 3 has a memory for 34 packets, and accesses the memory according to a certain algorithm when writing or reading packet signals to read packet signals in a standard arrangement. An error correction decoding method characterized in that it obtains the following error correction decoding method.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58006579A JPS59133751A (en) | 1983-01-20 | 1983-01-20 | Error correcting and decoding system |
US06/571,573 US4630271A (en) | 1983-01-20 | 1984-01-17 | Error correction method and apparatus for data broadcasting system |
CA000445657A CA1216059A (en) | 1983-01-20 | 1984-01-19 | Error correction method and apparatus |
KR1019840000228A KR910000156B1 (en) | 1983-01-20 | 1984-01-19 | Error correction method and apparatus for data broadcasting system |
CA000513552A CA1222558A (en) | 1983-01-20 | 1986-07-10 | Error correction method and apparatus |
US06/895,033 US4819231A (en) | 1983-01-20 | 1986-08-08 | Framing timing detection circuit for a character code broadcasting system |
KR1019900011866A KR910000178B1 (en) | 1983-01-20 | 1990-08-02 | Framing timing extraction circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58006579A JPS59133751A (en) | 1983-01-20 | 1983-01-20 | Error correcting and decoding system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS59133751A JPS59133751A (en) | 1984-08-01 |
JPH0376612B2 true JPH0376612B2 (en) | 1991-12-06 |
Family
ID=11642232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58006579A Granted JPS59133751A (en) | 1983-01-20 | 1983-01-20 | Error correcting and decoding system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59133751A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6165680A (en) * | 1984-09-07 | 1986-04-04 | Hitachi Ltd | Error correction circuit |
-
1983
- 1983-01-20 JP JP58006579A patent/JPS59133751A/en active Granted
Non-Patent Citations (1)
Title |
---|
THE BELL SYSTEM TECHNICAL JOURNAL=1966 * |
Also Published As
Publication number | Publication date |
---|---|
JPS59133751A (en) | 1984-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR910000178B1 (en) | Framing timing extraction circuit | |
US4718067A (en) | Device for correcting and concealing errors in a data stream, and video and/or audio reproduction apparatus comprising such a device | |
KR960003094B1 (en) | Error correction code generator | |
US4312070A (en) | Digital encoder-decoder | |
US4956709A (en) | Forward error correction of data transmitted via television signals | |
JP2824474B2 (en) | Error correction system and decoder using this error correction system | |
JPH06216882A (en) | Error correction transmitter and receiver | |
JPH0376613B2 (en) | ||
US4032886A (en) | Concatenation technique for burst-error correction and synchronization | |
JPS6035833A (en) | Device for correcting error of binary data | |
US4217660A (en) | Method and apparatus for the coding and decoding of digital data | |
US4819231A (en) | Framing timing detection circuit for a character code broadcasting system | |
US6138263A (en) | Error correcting method and apparatus for information data having error correcting product code block | |
US4471485A (en) | Method of protection against errors in transmission of radiotelegraph messages and a device for the application of said method | |
US6329935B1 (en) | Temporally separating and re-organizing data using two-stage interleaving and de-interleaving | |
JPH0376612B2 (en) | ||
JPS636173B2 (en) | ||
KR20010080700A (en) | Interleave address generating device and interleave address generating method | |
JPH07297817A (en) | Data transmission system | |
JPH0546131B2 (en) | ||
KR960702131A (en) | Error correctable data transmission method and device based on semi-cyclic codes | |
WO2019064369A1 (en) | Encoder device, transmitter, decoder device, and receiver | |
JP2863726B2 (en) | Coded transmission method | |
CA1222558A (en) | Error correction method and apparatus | |
KR100212842B1 (en) | The block interleaver for channel encoder |