JP2530410B2 - Decoding circuit - Google Patents

Decoding circuit

Info

Publication number
JP2530410B2
JP2530410B2 JP4172137A JP17213792A JP2530410B2 JP 2530410 B2 JP2530410 B2 JP 2530410B2 JP 4172137 A JP4172137 A JP 4172137A JP 17213792 A JP17213792 A JP 17213792A JP 2530410 B2 JP2530410 B2 JP 2530410B2
Authority
JP
Japan
Prior art keywords
packet
data
code
circuit
decoding
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
Application number
JP4172137A
Other languages
Japanese (ja)
Other versions
JPH0621921A (en
Inventor
政幸 高田
正典 斉藤
徹 黒田
繁樹 森山
知弘 斉藤
忠 磯部
宰 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP4172137A priority Critical patent/JP2530410B2/en
Publication of JPH0621921A publication Critical patent/JPH0621921A/en
Application granted granted Critical
Publication of JP2530410B2 publication Critical patent/JP2530410B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は誤り訂正方式として積符
号を用いているサービス、例えばFM放送にステレオ音
声と別のデジタルデータを多重化して放送するFM多重
放送システム等で使用される復号回路に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a service using a product code as an error correction method, for example, a decoding circuit used in an FM multiplex broadcasting system for multiplexing stereo audio and other digital data for FM broadcasting and broadcasting. Regarding

【0002】 [発明の概要]本発明は誤り訂正方式として積符号を使
っている場合の復号に関するものであり、特に横符号の
各パケットに誤り検出のためにCRC符号が付加されて
いる場合の復号において、横符号のCRC符号により誤
りが検出されたか否かの情報を使用して縦符号の復号を
行うことにより、誤訂正を減らす。
SUMMARY OF THE INVENTION The present invention relates to decoding when a product code is used as an error correction method, and particularly when a CRC code is added to each horizontal code packet for error detection. In the decoding, the error correction is reduced by performing the decoding of the vertical code by using the information on whether the error is detected by the CRC code of the horizontal code.

【0003】[0003]

【従来の技術】FM放送にステレオ音声と別のデジタル
データを多重化して放送するFM多重放送システム等の
ように誤り訂正方式として積符号を用いているシステム
では、積符号を復号するとき、復号回路によって横方向
(または、縦方向)に各パケットを順次復号した後、そ
れと直交する方向すなわち縦方向(または、横方向)の
各パケットを順次復号する方法をとることが多い。
2. Description of the Related Art In a system that uses a product code as an error correction method, such as an FM multiplex broadcasting system that multiplexes stereo sound and other digital data into an FM broadcast and broadcasts, when decoding the product code, In many cases, a circuit sequentially decodes each packet in the horizontal direction (or the vertical direction), and then sequentially decodes each packet in the direction orthogonal thereto, that is, in the vertical direction (or the horizontal direction).

【0004】また、積符号の訂正能力を最大限に引き出
すことができる方法として、レディ・ロビンソンの復号
法が知られている。
The Ready Robinson decoding method is known as a method capable of maximizing the correction capability of the product code.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、上述し
た従来の復号回路においては、通常の復号方法を使用す
ると、誤りが多いとき、誤訂正によって誤りが余計に増
加してしまったり、横符号により正しく復号できたデー
タが縦方向の復号による誤訂正で破壊されてしまったり
する虞があった。
However, in the above-described conventional decoding circuit, when a normal decoding method is used, when there are many errors, the error increases unnecessarily due to erroneous correction, and the error is corrected by the horizontal code. There is a risk that the decrypted data may be destroyed by erroneous correction due to vertical decoding.

【0006】また、積符号の訂正能力を最大限に引き出
すために、レディ・ロビンソンの復号法を使用すると、
計算量が増大して復号処理にかかる時間が増大してしま
うという問題があった。
Further, in order to maximize the correction ability of the product code, when the Ready Robinson decoding method is used,
There is a problem that the amount of calculation increases and the time required for the decoding process increases.

【0007】本発明は上記の事情に鑑み、各パケットに
付加されている誤り訂正符号(CRC符号)を利用して
縦符号の復号を行い、縦符号による誤訂正を防止するこ
とができるとともに、横符号で正しく得られたデータが
縦符号による復号で破壊されるのを防止することができ
る復号回路を提供することを目的としている。
In view of the above-mentioned circumstances, the present invention can decode a vertical code by using an error correction code (CRC code) added to each packet and prevent erroneous correction due to the vertical code. An object of the present invention is to provide a decoding circuit capable of preventing data obtained correctly by a horizontal code from being destroyed by decoding by a vertical code.

【0008】[0008]

【課題を解決するための手段】上記の目的を達成するた
めに請求項1記載の発明は、誤り訂正方式として積符号
を使用したパケットを復号する復号回路において、前記
各パケットに対して横符号の復号を行う際、CRCチェ
ックによる誤り検出を行って前記各パケットが正しく復
号されたかどうかを示すフラグを付与する横符号復号部
と、この横符号復号部によって処理された各パケットに
対して縦符号の復号を行う際、前記横符号復号部で付与
された各パケットのフラグの情報を使用して誤っている
データのみを訂正する縦符号復号部とを備えたことを特
徴としている。
In order to achieve the above object, the invention according to claim 1 is a decoding circuit for decoding a packet using a product code as an error correction method, wherein a horizontal code is applied to each packet. When performing decoding, the horizontal code decoding unit that performs error detection by CRC check and adds a flag indicating whether or not each packet is correctly decoded, and a vertical code for each packet processed by this horizontal code decoding unit. When decoding the code, a vertical code decoding unit for correcting only erroneous data by using the flag information of each packet provided by the horizontal code decoding unit is provided.

【0009】[0009]

【作用】上記構成において、各パケットに対して横符号
の復号を行う際、CRCチェックによる誤り検出を行っ
て前記各パケットが正しく復号されたかどうかを示すフ
ラグを付与する。また各パケットに対して縦符号の復号
を行う際、前記横符号で付与された各パケットのフラグ
の情報を使用して誤っているデータのみを訂正する。
In the above structure, when the horizontal code is decoded for each packet, an error is detected by CRC check and a flag is added to indicate whether each packet is correctly decoded. When decoding the vertical code for each packet, only the erroneous data is corrected by using the flag information of each packet added by the horizontal code.

【0010】[0010]

【実施例】図1は本発明による復号回路の一実施例を適
用して移動受信用FM多重放送を復調するときの復号回
路の一例を示すブロック図である。
1 is a block diagram showing an example of a decoding circuit when demodulating a mobile reception FM multiplex broadcast by applying an embodiment of the decoding circuit according to the present invention.

【0011】この図に示す復号回路は同期再生回路1
と、切替スイッチ2と、2つのフレームバッファ回路3
と、CPU5と、(272、190)符号復号回路6
と、CRCチェック回路7と、データバッファ回路8
と、データ表示回路9とを備えており、各フレームバッ
ファ回路3によって各パケット10(図2参照)を順次
取り込むとともに、横方向の復号動作によって横方向の
各パケット10が正しく訂正されたかどうかを判定し
て、各パケット10に前記判定結果を付与した後、前記
各パケット10の縦方向の符号に対して復号動作を行う
際、横方向の復号動作によって復号エラーがあったパケ
ット10のビットのみを訂正し、この後最初の横方向の
復号動作で復号エラーがあったパケット10に対して横
方向の復号を行って横方向の各パケット10が正しく訂
正されたかどうかを判定する。
The decoding circuit shown in this figure is a synchronous reproduction circuit 1.
, Changeover switch 2, and two frame buffer circuits 3
, CPU 5, and (272, 190) code decoding circuit 6
, CRC check circuit 7, and data buffer circuit 8
And a data display circuit 9 for sequentially fetching each packet 10 (see FIG. 2) by each frame buffer circuit 3 and checking whether each horizontal packet 10 has been correctly corrected by the horizontal decoding operation. After making the determination and adding the determination result to each packet 10, only the bits of the packet 10 that have a decoding error due to the decoding operation in the horizontal direction when performing the decoding operation for the vertical code of each packet 10 After that, the packet 10 having a decoding error in the first horizontal decoding operation is horizontally decoded to determine whether or not each horizontal packet 10 has been correctly corrected.

【0012】各パケット10は図2に示す如く横方向に
長い272個のパケット10で1フレームを構成してお
り、これら272個のパケット10のうち、上から19
0個のパケット10は最初の190ビットがデータ部と
CRC符号部とからなり、後の82ビットが各パケット
10に1対1に対応する横方向のパリティ部になってい
る。
As shown in FIG. 2, each packet 10 constitutes one frame with 272 packets 10 which are long in the lateral direction. Of these 272 packets 10, 19 packets are assigned from the top.
The first 190 bits of the 0 packet 10 is composed of a data part and a CRC code part, and the subsequent 82 bits are a horizontal parity part corresponding to each packet 10 on a one-to-one basis.

【0013】また、272個のパケット10のうち、上
から191個目から272個目までの各パケット10は
各々、上から190個のパケット10に対する縦方向の
パリティ部になっている。
Of the 272 packets 10, each of the 191st to 272nd packets 10 from the top is a vertical parity part for the 190 packets 10 from the top.

【0014】また、同期再生回路1は入力されるパケッ
ト10の流れに各フレームの区切りなどを示すフレーム
同期信号が含まれているかどうかを検出し、これを検出
する毎に、同期検出信号を生成してこれを切替スイッチ
2と、前記CPU5とに供給する。
Further, the synchronous reproduction circuit 1 detects whether or not the flow of the input packet 10 includes a frame synchronous signal indicating a delimiter of each frame, and generates a synchronous detection signal each time it detects this. Then, this is supplied to the changeover switch 2 and the CPU 5.

【0015】切替スイッチ2は前記同期再生回路1から
同期検出信号が出力される毎に、切り変わるスイッチで
あり、入力された各パケット10を取り込んでこれを現
在、選択している方のフレームバッファ回路3に供給す
る。
The change-over switch 2 is a switch that switches each time a sync detection signal is output from the sync reproduction circuit 1, and takes in each input packet 10 and selects it as the currently selected frame buffer. Supply to the circuit 3.

【0016】各フレームバッファ回路3は各々、前記切
替スイッチ2を介して供給される各パケット10を取り
込んで記憶するとともに、前記CPU5からの読出し指
令に応じて記憶している各パケット10を読出し、これ
を前記CPU5に供給し、またこのCPU5から書込み
指令が供給されたとき、この書込み指令と共に供給され
るパケット10を取り込んでこれを記憶する。
Each frame buffer circuit 3 fetches and stores each packet 10 supplied via the changeover switch 2, and also reads each stored packet 10 in response to a read command from the CPU 5, This is supplied to the CPU 5, and when a write command is supplied from this CPU 5, the packet 10 supplied together with this write command is fetched and stored.

【0017】また、(272、190)符号復号回路6
は前記CPU5からパケット10が供給される毎に、こ
れを取り込んでそのパリティ部の内容を復号して前記パ
ケットを構成するデータ部およびCRC符号部の内容に
誤りがあるかどうかをチェックし、誤りがある場合に
は、前記CPU5からの訂正条件の範囲で前記データ部
およびCRC符号部の内容を訂正してこの訂正済みのパ
ケット10または訂正できなかった場合は訂正前のパケ
ット10を前記CPU5に供給する。
Also, the (272, 190) code decoding circuit 6
Every time a packet 10 is supplied from the CPU 5, the packet is fetched, the contents of the parity part thereof are decoded, and it is checked whether or not there is an error in the contents of the data part and the CRC code part forming the packet. If there is, the contents of the data part and the CRC code part are corrected within the range of the correction condition from the CPU 5, and the packet 10 that has been corrected or the packet 10 before correction is sent to the CPU 5 when it cannot be corrected. Supply.

【0018】また、CRCチェック回路7は前記CPU
5からパケット10が供給される毎に、これを取り込ん
でそのCRC符号部の内容に基づいて前記パケット10
のデータ部の内容が正しいかどうかをチェックし、この
チェック結果を前記CPU5に供給する。
The CRC check circuit 7 is the CPU
Every time the packet 10 is supplied from the packet 5, the packet 10 is fetched and the packet 10 is read based on the contents of the CRC code part.
It is checked whether or not the contents of the data part is correct, and the check result is supplied to the CPU 5.

【0019】また、データバッファ回路8は前記CPU
5から1フレームのデータが供給されたとき、これを取
り込んで記憶するとともに、その内容をデータ表示回路
9に供給する。
The data buffer circuit 8 is the CPU
When 5 to 1 frame of data is supplied, this is taken in and stored, and the content is supplied to the data display circuit 9.

【0020】データ表示回路9は前記データバッファ回
路8からデータが供給される毎に、これを取り込んで表
示する。
Each time data is supplied from the data buffer circuit 8, the data display circuit 9 fetches and displays the data.

【0021】また、CPU5はプログラムされている処
理手順や回路各部から出力される各種のタイミング信
号、各種のチェック結果等に基づいて前記各フレームバ
ッファ回路3からのパケット読出し処理、パケット10
の転送処理、チェック結果の判定処理等の各種処理を行
う。
The CPU 5 reads the packet from the frame buffer circuit 3 and the packet 10 on the basis of the programmed processing procedure, various timing signals output from each circuit section, various check results, and the like.
Various processings such as the transfer processing of, the determination processing of the check result, and the like are performed.

【0022】次に、図3に示すフローチャートを参照し
ながらこの実施例の動作を説明する。
The operation of this embodiment will be described below with reference to the flow chart shown in FIG.

【0023】まず、各パケット10が入力される毎に、
同期再生回路1は1フレーム単位の同期信号の有無をチ
ェックし、この同期信号を検出する毎に、切替スイッチ
2を切り替えて前記各パケット10をフレーム単位で各
フレームバッファ回路3に交互に格納させる。
First, every time each packet 10 is input,
The synchronous reproduction circuit 1 checks the presence / absence of a synchronization signal in 1-frame units, and every time the synchronization signal is detected, the changeover switch 2 is switched so that the packets 10 are alternately stored in the frame buffer circuits 3 in frame units. .

【0024】また、この動作と並行して、前記同期再生
回路1から同期信号を検出したことを示す同期検出信号
が出力されれば、CPU5は前回のパケット取込み動作
によってメモリフルになっている方のフレームバッファ
回路3内に格納されている各パケット10に対し、フレ
ームの上から順次、横方向の各パケット10を取り出
し、これを(272、190)符号復号回路6に転送し
て復号させ、このパケット10のデータ部およびCRC
符号部の内容に誤りがあるかどうかをチェックさせる。
Further, in parallel with this operation, if a sync detection signal indicating that the sync signal is detected is output from the sync reproduction circuit 1, the CPU 5 is in a memory full state by the previous packet fetch operation. With respect to each packet 10 stored in the frame buffer circuit 3 of the above, each horizontal packet 10 is sequentially taken out from the top of the frame, transferred to the (272, 190) code decoding circuit 6, and decoded. Data part and CRC of this packet 10
Check if there is an error in the contents of the code part.

【0025】そして、前記パケット10のデータ部およ
びCRC符号部の内容に誤りがあれば、CPU5は前記
(272、190)符号復号回路6を制御してこのパケ
ット10のデータ部およびCRC符号部を訂正させた
後、そのシンドロームが零かどうかをチェックさせ、こ
れが零であれば、誤り訂正が成功したと判断する(ステ
ップST1)。
If there is an error in the contents of the data part and the CRC code part of the packet 10, the CPU 5 controls the (272, 190) code decoding circuit 6 to change the data part and the CRC code part of the packet 10. After the correction, whether or not the syndrome is zero is checked, and if it is zero, it is determined that the error correction is successful (step ST1).

【0026】この後、CPU5は前記(272、19
0)符号復号回路6から誤り訂正済みのパケット10を
取り出し、これをCRCチェック回路7に転送してCR
C符号によるデータチェックがOKかどうかチェックさ
せる(ステップST2)。
Thereafter, the CPU 5 causes the (272, 19)
0) The error-corrected packet 10 is taken out from the code decoding circuit 6 and transferred to the CRC check circuit 7 for CR.
It is checked whether or not the data check by the C code is OK (step ST2).

【0027】そして、(272、190)符号復号回路
6による誤り訂正が成功し、かつCRCチェック回路7
によるCRCチェックがOKであれば、CPU5はこの
パケット10のデータ部の内容が正しいと判定してこの
パケット10に対してデータOKのフラグを立てるとと
もに、このパケット10を訂正済みのパケット10とし
て前記フレームバッファ回路3に戻す(ステップST
4)。
Then, the error correction by the (272, 190) code decoding circuit 6 is successful, and the CRC check circuit 7
If the CRC check by OK is OK, the CPU 5 determines that the content of the data portion of the packet 10 is correct, sets a data OK flag for the packet 10, and sets the packet 10 as the corrected packet 10. Return to the frame buffer circuit 3 (step ST
4).

【0028】また、前記(272、190)符号復号回
路6による誤り訂正が失敗したり、CRCチェック回路
7によるCRCチェックでエラーが検出されれば、CP
U5はこのパケット10のデータ中に誤りがあると判定
してこのパケット10に対してデータFAULTのフラ
グを立てるとともに、元のパケット10(訂正前のパケ
ット10)をフレームバッファ回路3に戻す(ステップ
ST3、ST4)。
If error correction by the (272, 190) code decoding circuit 6 fails or an error is detected by the CRC check by the CRC check circuit 7, CP
U5 determines that there is an error in the data of this packet 10, sets a flag of data FAULT for this packet 10, and returns the original packet 10 (packet 10 before correction) to the frame buffer circuit 3 (step ST3, ST4).

【0029】以下、CPU5はフレームバッファ回路3
に格納されている残りの各パケット10に対して上述し
た横方向の誤り訂正を順次実行して、各パケット10に
対してデータOKのフラグまたはデータFAULTのフ
ラグのいずれか一方を立てる(ステップST1〜ST
5)。この一連の処理を272パケット全てに対して行
う。
Hereinafter, the CPU 5 uses the frame buffer circuit 3
The horizontal error correction described above is sequentially executed for each of the remaining packets 10 stored in the packet, and either the data OK flag or the data FAULT flag is set for each packet 10 (step ST1). ~ ST
5). This series of processing is performed for all 272 packets.

【0030】次いで、この処理が終了すれば、CPU5
はフレームバッファ回路3に格納されている各パケット
10に対し、例えばフレームの左横から順次、縦方向の
各パケット10を取り出し、これを(272、190)
符号復号回路6に転送して復号させ、誤りがあるかどう
かをチェックさせるとともに、誤りがあれば、データO
Kのフラグが立っているデータを除いたビット、すなわ
ちデータFAULTのフラグが立っているデータのビッ
トに対し訂正を行わせた後、そのシンドロームが零かど
うかをチェックさせ、これが零であれば、誤り訂正が成
功したと判定して訂正済みのパケット10をフレームバ
ッファ回路3に戻し(ステップST6)、また訂正動作
を行ってもシンドロームが零にならなければ、誤り訂正
が失敗したと判定して、元のパケット10(訂正前のパ
ケット10)をフレームバッファ回路3に戻す(ステッ
プST7)。
Next, when this process is completed, the CPU 5
For each packet 10 stored in the frame buffer circuit 3, for example, each packet 10 in the vertical direction is sequentially taken out from the left side of the frame, and this is taken out (272, 190)
The data is transferred to the code decoding circuit 6 to be decoded, and it is checked whether there is an error. If there is an error, the data O
After correcting the bits excluding the data in which the flag of K is set, that is, the bits of the data in which the flag of data FAULT is set, it is checked whether the syndrome is zero. If this is zero, It is determined that the error correction has succeeded, the corrected packet 10 is returned to the frame buffer circuit 3 (step ST6), and if the syndrome does not become zero even after the correction operation is performed, it is determined that the error correction has failed. The original packet 10 (packet 10 before correction) is returned to the frame buffer circuit 3 (step ST7).

【0031】以下、CPU5はフレームバッファ回路3
に格納されている残りの各パケット10に対して上述し
た縦方向の誤り訂正を順次実行して、データOKのフラ
グが立っているデータを除いたビット、すなわちデータ
FAULTのフラグが立っているデータのビットに対し
訂正を行う(ステップST6〜ST8)。この一連の処
理を272パケット全てに対して行う。
Hereinafter, the CPU 5 uses the frame buffer circuit 3
The error correction in the vertical direction described above is sequentially performed on the remaining packets 10 stored in each of the packets, and the bits except for the data flagged as data OK, that is, the data flagged as FAULT Correction is performed on the bits (steps ST6 to ST8). This series of processing is performed for all 272 packets.

【0032】次いで、この処理が終了すれば、CPU5
はフレームバッファ回路3に格納されている横方向の各
パケット10のうち、データFAULTのフラグが立っ
ているデータ用パケット10をフレームの上から順次取
り出して(ステップST9)、これを(272、19
0)符号復号回路6に転送して復号させ、誤りがあるか
どうかをチェックさせて、誤りがあれば、これを訂正さ
れた後、そのシンドロームが零かどうかをチェックさ
せ、これが零であれば、誤り訂正が成功したと判断す
る。
Next, when this process is completed, the CPU 5
Among the horizontal packets 10 stored in the frame buffer circuit 3, the data packets 10 for which the flag of data FAULT is set are sequentially taken out from the top of the frame (step ST9), and these are (272, 19).
0) The code is transferred to the code decoding circuit 6 to be decoded, and it is checked whether there is an error. If there is an error, it is corrected, and then it is checked whether the syndrome is zero. If this is zero, , It is determined that the error correction is successful.

【0033】この後、CPU5は前記(272、19
0)符号復号回路6から誤り訂正済みのパケット10を
取り出し、これをCRCチェック回路7に転送してCR
C符号によるデータチェックがOKかどうをチェックさ
せる。
Thereafter, the CPU 5 causes the (272, 19)
0) The error-corrected packet 10 is taken out from the code decoding circuit 6 and transferred to the CRC check circuit 7 for CR.
Check whether the data check by C code is OK.

【0034】そして、(272、190)符号復号回路
6による誤り訂正が成功し、かつCRCチェック回路7
によるCRCチェックがOKであれば、CPU5はこの
パケット10のデータが正しいと判定してこのパケット
10に対してデータOKのフラグを立てるとともに、こ
のパケット10を訂正済みのパケット10として前記フ
レームバッファ回路3に戻す。
Then, the error correction by the (272, 190) code decoding circuit 6 is successful, and the CRC check circuit 7
If the CRC check is OK, the CPU 5 determines that the data in the packet 10 is correct, sets a data OK flag in the packet 10, and sets the packet 10 as a corrected packet 10 in the frame buffer circuit. Return to 3.

【0035】また、前記(272、190)符号復号回
路6による誤り訂正が失敗したり、CRCチェック回路
7によるCRCチェックでエラーが検出されれば、CP
U5はこのパケット10のデータ中に誤りがあると判定
してこのパケット10に対してデータFAULTのフラ
グを立てるとともに、元のパケット10(訂正前のパケ
ット10)をフレームバッファ回路3に戻す(ステップ
ST10)。
If the error correction by the (272, 190) code decoding circuit 6 fails or an error is detected by the CRC check by the CRC check circuit 7, the CP
U5 determines that there is an error in the data of this packet 10, sets a flag of data FAULT for this packet 10, and returns the original packet 10 (packet 10 before correction) to the frame buffer circuit 3 (step ST10).

【0036】以下、CPU5はフレームバッファ回路3
中のデータFAULTのフラグが立っている残りの各パ
ケット10に対して上述した横方向の誤り訂正を順次実
行して、各パケットに対してデータOKのフラグまたは
データFAULTのフラグのいずれか一方を立てる(ス
テップST9〜ST11)。
Hereinafter, the CPU 5 uses the frame buffer circuit 3
The horizontal error correction described above is sequentially executed for each of the remaining packets 10 in which the data FAULT flag is set, and either the data OK flag or the data FAULT flag is set for each packet. Set up (steps ST9 to ST11).

【0037】そして、フレームバッファ回路3に格納さ
れている全てのパケット10に対して、上述した処理が
終了したとき、CPU5は前記フレームバッファ回路3
に格納されている各パケット10を読み出してデータバ
ッファ回路8に転送して正しいデータのみをデータ表示
回路9に表示させるとともに、前記フレームバッファ回
路3の内容をクリアする。
When the above-mentioned processing is completed for all the packets 10 stored in the frame buffer circuit 3, the CPU 5 causes the frame buffer circuit 3 to operate.
Each packet 10 stored in the frame buffer circuit 3 is read out and transferred to the data buffer circuit 8 so that only correct data is displayed on the data display circuit 9 and the contents of the frame buffer circuit 3 are cleared.

【0038】このようにこの実施例においては、横方向
の復号動作によって横方向の各パケット10が正しく訂
正されたかどうかを判定し、正しく訂正されたパケット
10に対しデータOKのフラグを立て、正しく訂正する
ことができなかったパケット10に対してデータFAU
LTのフラグ立てた後、縦方向の復号動作によって縦方
向の各パケット10が正しく訂正されたかどうかを判定
し、正しく訂正されなかったパケット10に対して横方
向の復号動作でデータFAULTのフラグが立っている
データのビットのみを訂正し、データOKのフラグが立
っているデータのビット訂正を行わないようにし、この
後最初の横方向の復号動作でデータFAULTのフラグ
が立っているパケット10に対して横方向の復号動作に
よって横方向の各パケット10が正しく訂正されたかど
うかを判定するようにしたので、計算量を低く抑えなが
ら、縦符号による誤訂正が防止することができるととも
に、横符号で正しく得られたデータが縦符号による復号
で破壊されるのを防止することができる。
As described above, in this embodiment, it is determined whether or not each horizontal packet 10 has been correctly corrected by the horizontal decoding operation, and the correctly corrected packet 10 is flagged as data OK. Data FAU for packet 10 that could not be corrected
After the LT flag is set, it is determined whether or not each vertical packet 10 has been correctly corrected by the vertical decoding operation, and the data FAULT flag is set in the horizontal decoding operation for the packet 10 that has not been correctly corrected. Only the bits of the standing data are corrected, and the bits of the data in which the data OK flag is set are not corrected, and then the packet 10 in which the data FAULT flag is set is set in the first horizontal decoding operation. On the other hand, since it is determined by the horizontal decoding operation whether or not each horizontal packet 10 has been correctly corrected, it is possible to prevent an erroneous correction due to the vertical code while suppressing the calculation amount to be low. Thus, it is possible to prevent the data obtained correctly in (4) from being destroyed by decoding by the vertical code.

【0039】また、上述した実施例においては、縦方向
の復号動作を行うとき、最初に行った横方向の復号動作
でデータFAULTのフラグが立っているデータのビッ
トのみを訂正し、データOKのフラグが立っているデー
タのビット訂正を行わないようにしているが、この部分
のアルゴリズムを図4のフローチャートに示すように変
更してもよい。
Further, in the above-described embodiment, when the vertical decoding operation is performed, only the bits of the data for which the data FAULT flag is set are corrected by the first horizontal decoding operation to make the data OK. Although the bit correction of the flagged data is not performed, the algorithm of this portion may be changed as shown in the flowchart of FIG.

【0040】この図に示す如くこのアルゴリズムでは、
まず各パケット10が入力される毎に、同期再生回路1
は1フレーム単位の同期信号の有無をチェックし、同期
信号を検出する毎に、切替スイッチ2を切り替えて前記
各パケット10をフレーム単位で各フレームバッファ回
路3に交互に格納させる。
As shown in this figure, in this algorithm,
First, every time each packet 10 is input, the synchronous reproduction circuit 1
Checks the presence or absence of a synchronization signal in 1-frame units, and switches the changeover switch 2 every time the synchronization signal is detected to store the packets 10 in the frame buffer circuits 3 alternately in frame units.

【0041】また、この動作と並行して、前記同期再生
回路1から同期信号を検出したことを示す同期検出信号
が出力されれば、CPU5は前回のパケット取込み動作
によってメモリフルになっている方のフレームバッファ
回路3に格納されている各パケット10に対し、フレー
ムの上から順次、横方向の各パケットを取り出して、こ
れを(272、190)符号復号回路6に転送して復号
させ、誤りがあるかどうかをチェックさせ、誤りがあれ
ば、これを訂正させた後、そのシンドロームが零かどう
かをチェックさせ、これが零であれば、誤り訂正が成功
したと判断する(ステップST15)。
Further, in parallel with this operation, if the sync detection signal indicating that the sync signal is detected is output from the sync reproduction circuit 1, the CPU 5 is the one whose memory is full due to the previous packet fetch operation. For each packet 10 stored in the frame buffer circuit 3 of FIG. 2, lateral packets are sequentially taken out from the top of the frame, transferred to the (272, 190) code decoding circuit 6 for decoding, and an error is generated. If there is an error, it is corrected, and then it is checked whether the syndrome is zero. If it is zero, it is determined that the error correction is successful (step ST15).

【0042】この後、CPU5は前記(272、19
0)符号復号回路6から誤り訂正済みのパケット10を
取り出し、これをCRCチェック回路7に転送してCR
C符号によるデータチェックがOKかどうかチェックさ
せる(ステップST16)。
After that, the CPU 5 causes the above (272, 19)
0) The error-corrected packet 10 is taken out from the code decoding circuit 6 and transferred to the CRC check circuit 7 for CR.
It is checked whether or not the data check by the C code is OK (step ST16).

【0043】そして、(272、190)符号復号回路
6による誤り訂正が成功し、かつCRCチェック回路7
によるCRCチェックがOKであれば、CPU5はこの
パケット10のデータが正しいと判定してこのパケット
10に対してデータOKのフラグを立てるとともに、こ
のパケット10を訂正済みのパケット10として前記フ
レームバッファ回路3に戻す(ステップST18)。
Then, the error correction by the (272, 190) code decoding circuit 6 is successful, and the CRC check circuit 7
If the CRC check is OK, the CPU 5 determines that the data in the packet 10 is correct, sets a data OK flag in the packet 10, and sets the packet 10 as a corrected packet 10 in the frame buffer circuit. It returns to 3 (step ST18).

【0044】また、前記(272、190)符号復号回
路6による誤り訂正が失敗したり、CRCチェック回路
7によるCRCチェックでエラーが検出されれば、CP
U5はこのパケット10のデータ中に誤りがあると判定
してこのパケット10に対してデータFAULTのフラ
グを立てるとともに、元のパケット10(訂正前のパケ
ット10)をフレームバッファ回路3に戻す(ステップ
ST17)。
If the error correction by the (272, 190) code decoding circuit 6 fails or an error is detected by the CRC check by the CRC check circuit 7, the CP
U5 determines that there is an error in the data of this packet 10, sets a flag of data FAULT for this packet 10, and returns the original packet 10 (packet 10 before correction) to the frame buffer circuit 3 (step ST17).

【0045】以下、CPU5はフレームバッファ回路3
に格納されている残りの各パケット10に対して上述し
た横方向の誤り訂正を順次実行して、各パケット10に
対してデータOKのフラグまたはデータFAULTのフ
ラグのいずれか一方を立てる(ステップST15〜ST
19)。この一連の処理を272パケット全てに対して
行う。
Hereinafter, the CPU 5 is the frame buffer circuit 3
The horizontal error correction described above is sequentially executed for each of the remaining packets 10 stored in the packet, and either the data OK flag or the data FAULT flag is set for each packet 10 (step ST15). ~ ST
19). This series of processing is performed for all 272 packets.

【0046】次いで、この処理が終了すれば、CPU5
はフレームバッファ回路3に格納されている各パケット
10に対し、フレームの横から順次、縦方向の各パケッ
ト10を取り出して、これを(272、190)符号復
号回路6に転送して復号させ、誤りがあるかどうかをチ
ェックさせ、誤りがあれば、訂正を行わせて(ステップ
ST20)、そのシンドロームが零かどうかをチェック
させ(ステップST21)、これが零であれば、訂正に
よって修正されたビットのパケット10に対する横方向
のフラグが全てデータFAULTであったかどうかをチ
ェックさせる。そして、修正されたビットのパケット1
0に対する横方向のフラグが全てデータFAULTであ
れば、CPU5は誤り訂正が成功したと判定して訂正済
みのパケットをフレームバッファ回路3に戻し(ステッ
プST22)、また訂正動作を行ってもシンドロームが
零にならなかったり、訂正動作によって修正されたビッ
トのパケット10に対する横方向のフラグが1つでもデ
ータOKであれば(ステップST21、ST22)、誤
り訂正が失敗したと判定して元のパケット10(訂正前
のパケット10)をフレームバッファ回路3に戻す(ス
テップST23)。
Next, when this process is completed, the CPU 5
For each packet 10 stored in the frame buffer circuit 3, sequentially extracts each packet 10 in the vertical direction from the horizontal direction of the frame, transfers it to the (272, 190) code decoding circuit 6, and decodes it. It is checked whether there is an error, and if there is an error, correction is performed (step ST20), and it is checked whether the syndrome is zero (step ST21). If this is zero, the bit corrected by correction is corrected. It is checked whether all the flags in the horizontal direction for the packet 10 are data FAULT. And the modified bit packet 1
If all the flags in the horizontal direction for 0 are data FAULT, the CPU 5 determines that the error correction is successful, returns the corrected packet to the frame buffer circuit 3 (step ST22), and the syndrome is generated even if the correction operation is performed. If the data does not become zero, or if even one horizontal flag for the packet 10 of the bit corrected by the correction operation is data OK (steps ST21 and ST22), it is determined that the error correction has failed and the original packet 10 is detected. The (uncorrected packet 10) is returned to the frame buffer circuit 3 (step ST23).

【0047】以下、CPU5はフレームバッファ回路3
に格納されている残りの各パケット10に対して上述し
た縦方向の誤り訂正を順次実行して、データOKのフラ
グが立っているデータを除いたビット、すなわちデータ
FAULTのフラグが立っているデータのビットに対し
訂正を行わせる(ステップST20〜ST24)。
Hereinafter, the CPU 5 uses the frame buffer circuit 3
The error correction in the vertical direction described above is sequentially performed on the remaining packets 10 stored in each of the packets, and the bits except for the data flagged as data OK, that is, the data flagged as FAULT Is corrected (steps ST20 to ST24).

【0048】次いで、この処理が終了すれば、CPU5
はフレームバッファ回路3に格納されている横方向の各
パケット10のうち、データFAULTのフラグが立っ
ているパケット10をフレームの上から順次取り出して
(ステップST25)、これを(272、190)符号
復号回路6に転送して復号させ、誤りがあるかどうかを
チェックさせ、誤りがあれば、これを訂正させた後、そ
のシンドロームが零かどうかをチェックさせ、これが零
であれば、誤り訂正が成功したと判断する。
Then, when this process is completed, the CPU 5
Of the packets 10 in the horizontal direction stored in the frame buffer circuit 3, the packets 10 with the flag of data FAULT set are sequentially taken out from the top of the frame (step ST25), and coded as (272, 190). The data is transferred to the decoding circuit 6 to be decoded, and it is checked whether there is an error. If there is an error, it is corrected, and then it is checked whether the syndrome is zero. If this is zero, error correction is performed. Judge as successful.

【0049】この後、CPU5は前記(272、19
0)符号復号回路6から誤り訂正済みのパケット10を
取り出してこれをCRCチェック回路7に転送してCR
C符号によるデータチェックがOKかどうかチェックさ
せる。
After that, the CPU 5 causes the above (272, 19)
0) An error-corrected packet 10 is taken out from the code decoding circuit 6 and transferred to the CRC check circuit 7 for CR.
Check if the data check by C code is OK.

【0050】そして、(272、190)符号復号回路
6による誤り訂正が成功し、かつCRCチェック回路7
によるCRCチェックがOKであれば、CPU5はこの
パケット10のデータが正しいと判定してこのパケット
10に対してデータOKのフラグを立てるとともに、こ
のパケット10を訂正済みのパケット10として前記フ
レームバッファ回路3に戻す。
Then, the error correction by the (272, 190) code decoding circuit 6 is successful, and the CRC check circuit 7
If the CRC check is OK, the CPU 5 determines that the data in the packet 10 is correct, sets a data OK flag in the packet 10, and sets the packet 10 as a corrected packet 10 in the frame buffer circuit. Return to 3.

【0051】また、前記(272、190)符号復号回
路6による誤り訂正が失敗したり、CRCチェック回路
7によるCRCチェックでエラーが検出されれば、CP
U5はこのパケット10のデータ中に誤りがあると判定
してこのパケット10に対してデータFAULTのフラ
グを立てるとともに、元のパケット10(訂正前のパケ
ット10)をフレームバッファ回路3に戻す(ステップ
ST26)。
If the error correction by the (272, 190) code decoding circuit 6 fails or an error is detected by the CRC check by the CRC check circuit 7, the CP
U5 determines that there is an error in the data of this packet 10, sets a flag of data FAULT for this packet 10, and returns the original packet 10 (packet 10 before correction) to the frame buffer circuit 3 (step ST26).

【0052】以下、CPU5はフレームバッファ回路3
中のデータFAULTのフラグが立っている残りの各パ
ケット10に対して上述した横方向の誤り訂正を順次実
行して、各パケット10に対してデータOKのフラグま
たはデータFAULTのフラグのいずれか一方を立てる
(ステップST25〜ST27)。
Hereinafter, the CPU 5 is the frame buffer circuit 3
The horizontal error correction described above is sequentially performed on each of the remaining packets 10 in which the data FAULT flag is set, and either the data OK flag or the data FAULT flag is applied to each packet 10. Is set up (steps ST25 to ST27).

【0053】そして、フレームバッファ回路3に格納さ
れている全てのパケット10に対して、上述した処理が
終了したとき、CPU5は前記フレームバッファ回路3
に格納されている各パケット10を読み出してデータバ
ッファ回路8に転送して正しいデータのみをデータ表示
回路9に表示させるとともに、前記フレームバッファ回
路3の内容をクリアする。
When all the packets 10 stored in the frame buffer circuit 3 are processed as described above, the CPU 5 causes the frame buffer circuit 3 to operate.
Each packet 10 stored in the frame buffer circuit 3 is read out and transferred to the data buffer circuit 8 so that only correct data is displayed on the data display circuit 9 and the contents of the frame buffer circuit 3 are cleared.

【0054】このようにしても、上述した実施例と同様
に、計算量を低く抑えながら、縦符号による誤訂正を防
止することができるとともに、横符号で正しく得られた
データが縦符号による復号で破壊されるのを防止するこ
とができる。
Even in this case, as in the above-described embodiment, it is possible to prevent the erroneous correction due to the vertical code while suppressing the calculation amount low, and to decode the data correctly obtained by the horizontal code by the vertical code. Can be prevented from being destroyed.

【0055】また、上述した各実施例においては、最初
に横符号の復号を行った後、縦符号の復号を行い、最後
にもう一度だけ横符号の復号を行うようにしているが、
これらの各復号動作を予め設定されている回数だけ繰り
返して行うようにして、さらに訂正能力を高めるように
しても良い。
In each of the above-described embodiments, the horizontal code is first decoded, then the vertical code is decoded, and finally the horizontal code is decoded only once again.
Each of these decoding operations may be repeated a preset number of times to further improve the correction capability.

【0056】[0056]

【発明の効果】以上説明したように、請求項1記載の発
明によれば、各パケットに付加されている誤り訂正符号
(CRC符号)を利用して縦符号の復号を行い、これに
よって計算量を低く抑えることができ、さらに縦符号に
よる誤った訂正を防止することができるとともに、横符
号で正しく得られたデータが縦符号による復号で破壊さ
れるのを防止することができる。
As described above, according to the first aspect of the invention, the vertical code is decoded by using the error correction code (CRC code) added to each packet, and the amount of calculation is thereby increased. Can be suppressed to a low level, erroneous correction due to the vertical code can be prevented, and data correctly obtained by the horizontal code can be prevented from being destroyed by decoding by the vertical code.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による復号回路の一実施例を適用して移
動受信用FM多重放送を復調するときの復号回路の一例
を示すブロック図である。
FIG. 1 is a block diagram showing an example of a decoding circuit when demodulating an FM multiplex broadcast for mobile reception by applying an embodiment of the decoding circuit according to the present invention.

【図2】図1に示す復号回路で復調される移動受信用F
M多重放送で使用されるパケットのフォーマット例を示
すマップ図である。
2 is a mobile reception F demodulated by the decoding circuit shown in FIG.
It is a map figure which shows the format example of the packet used by M multiplex broadcasting.

【図3】図1に示す復号回路の動作アルゴリズムの一例
を示すフローチャートである。
3 is a flowchart showing an example of an operation algorithm of the decoding circuit shown in FIG.

【図4】図1に示す復号回路の動作アルゴリズムの他の
一例を示すフローチャートである。
4 is a flowchart showing another example of the operation algorithm of the decoding circuit shown in FIG.

【符号の説明】[Explanation of symbols]

1 同期再生回路 2 切替スイッチ 3 フレームバッファ回路 5 CPU5 6 (272、190)符号復号回路 7 CRCチェック回路 8 データバッファ回路 9 データ表示回路 1 Synchronous reproduction circuit 2 Changeover switch 3 Frame buffer circuit 5 CPU5 6 (272, 190) code decoding circuit 7 CRC check circuit 8 Data buffer circuit 9 Data display circuit

フロントページの続き (72)発明者 森山 繁樹 東京都世田谷区砧一丁目10番11号 日本 放送協会放送技術研究所内 (72)発明者 斉藤 知弘 東京都世田谷区砧一丁目10番11号 日本 放送協会放送技術研究所内 (72)発明者 磯部 忠 東京都世田谷区砧一丁目10番11号 日本 放送協会放送技術研究所内 (72)発明者 山田 宰 東京都世田谷区砧一丁目10番11号 日本 放送協会放送技術研究所内 (56)参考文献 特開 昭62−183632(JP,A) 特開 昭62−24739(JP,A) 特開 昭62−271535(JP,A) 特開 昭62−245725(JP,A)Front page continuation (72) Inventor Shigeki Moriyama 1-10-11 Kinuta, Setagaya-ku, Tokyo Inside the broadcasting technology research institute of the Japan Broadcasting Corporation (72) Tomohiro Saito 1-10-11 Kinuta, Setagaya-ku, Tokyo Japan Broadcasting Corporation Broadcast Technology Laboratory (72) Inventor Tadashi Isobe 1-10-11 Kinuta, Setagaya-ku, Tokyo Japan Broadcasting Corporation Broadcast Technology Laboratory (72) Inventor Satoru Yamada 1-1-10 Kinuta, Setagaya-ku, Tokyo Japan Broadcasting Corporation (56) References JP 62-183632 (JP, A) JP 62-24739 (JP, A) JP 62-271535 (JP, A) JP 62-245725 (JP) , A)

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 誤り訂正方式として積符号を使用したパ
ケットを復号する復号回路において、 前記各パケットに対して横符号の復号を行う際、CRC
チェックによる誤り検出を行って前記各パケットが正し
く復号されたかどうかを示すフラグを付与する横符号復
号部と、 この横符号復号部によって処理された各パケットに対し
て縦符号の復号を行う際、前記横符号復号部で付与され
た各パケットのフラグの情報を使用して誤っているデー
タのみを訂正する縦符号復号部と、 を備えたことを特徴とする復号回路。
1. A decoding circuit for decoding a packet using a product code as an error correction method, wherein when a horizontal code is decoded for each packet, a CRC is used.
When performing horizontal code decoding on each packet processed by this horizontal code decoding unit, and a horizontal code decoding unit that adds a flag indicating whether or not each packet is correctly decoded by performing error detection by checking, A decoding circuit, comprising: a vertical code decoding unit that corrects only erroneous data using the flag information of each packet provided by the horizontal code decoding unit.
JP4172137A 1992-06-30 1992-06-30 Decoding circuit Expired - Lifetime JP2530410B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4172137A JP2530410B2 (en) 1992-06-30 1992-06-30 Decoding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4172137A JP2530410B2 (en) 1992-06-30 1992-06-30 Decoding circuit

Publications (2)

Publication Number Publication Date
JPH0621921A JPH0621921A (en) 1994-01-28
JP2530410B2 true JP2530410B2 (en) 1996-09-04

Family

ID=15936256

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4172137A Expired - Lifetime JP2530410B2 (en) 1992-06-30 1992-06-30 Decoding circuit

Country Status (1)

Country Link
JP (1) JP2530410B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2561791B2 (en) * 1993-05-18 1996-12-11 日本放送協会 FM multiplex broadcast receiver
JP3328093B2 (en) * 1994-07-12 2002-09-24 三菱電機株式会社 Error correction device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6224739A (en) * 1985-07-25 1987-02-02 Oki Electric Ind Co Ltd Error control coding system
JPH0758955B2 (en) * 1986-02-08 1995-06-21 日本電気株式会社 Wireless data communication system
JPS62271535A (en) * 1986-12-12 1987-11-25 Sony Corp Digital signal processing method

Also Published As

Publication number Publication date
JPH0621921A (en) 1994-01-28

Similar Documents

Publication Publication Date Title
US6381282B1 (en) Video signal decoding arrangement and method for improved error concealment
US6289485B1 (en) Method for adding and encoding error correcting codes and its device and method for transmitting data having error correcting codes added
US5432800A (en) Methods and apparatuses for transmission and reception of information signals
JP2001502142A (en) Apparatus and method for transmitting IP data over a satellite network
JP2000036761A (en) Bs digital broadcast receiver
JPH08204583A (en) Method and device for digital signal processing
US6597741B1 (en) Digital video decoding of compressed digital pictures by correcting corrupted header information with an estimated picture size
JP2530410B2 (en) Decoding circuit
JP3169832B2 (en) Data error correction method for frame-structured digital signal and apparatus used therefor
US20090228763A1 (en) Method and apparatus for encoding and decoding data with error correction
JPH10164522A (en) Data-processing method inside teletext page, and decoder
US5987639A (en) Data decoding logic in a mobile phone
JP2664303B2 (en) Data transmission equipment
US7856587B2 (en) Memory reduction in DVB-H applications
JP2725924B2 (en) Decoding method of FM multiplex broadcast signal and FM multiplex broadcast receiver
KR100189531B1 (en) Sector data decoding method and circuit in a cd-rom driver
CN1213540C (en) Error detecting/correcting circuit
JP2561791B2 (en) FM multiplex broadcast receiver
JPH07121999A (en) Signal encoder, signal decoder, signal encoding and decoding method
JP2000013240A (en) Code block processing device and method therefor
JPH04278741A (en) Data channel receiver
JPH0239627A (en) Error correcting circuit
JPH0451653A (en) Facsimile broadcasting reception device
JPH08288873A (en) Multiplex broadcasting reception equipment
JPH10209982A (en) Fm multiplex signal receiver

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090614

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100614

Year of fee payment: 14

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110614

Year of fee payment: 15

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120614

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120614

Year of fee payment: 16

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130614

Year of fee payment: 17

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130614

Year of fee payment: 17