JPH0628205A - 多数決回路 - Google Patents
多数決回路Info
- Publication number
- JPH0628205A JPH0628205A JP4207069A JP20706992A JPH0628205A JP H0628205 A JPH0628205 A JP H0628205A JP 4207069 A JP4207069 A JP 4207069A JP 20706992 A JP20706992 A JP 20706992A JP H0628205 A JPH0628205 A JP H0628205A
- Authority
- JP
- Japan
- Prior art keywords
- value
- bit
- data
- data frame
- received
- 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.)
- Granted
Links
- 239000000872 buffer Substances 0.000 claims abstract description 104
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
Landscapes
- Hardware Redundancy (AREA)
- Logic Circuits (AREA)
Abstract
(57)【要約】
【目的】 同一内容の複数のデータフレームの対応する
ビット同士の多数決をとり、1つのデータフレームを生
成する多数決回路の回路規模を小さくする。 【構成】 論理演算回路32は第mデータフレームの第
jビットDmjが加えられると、その値と、主バッファ
21から出力されている第(m−1)データフレームま
での第jビットの多数決値A(m−1)jと、カウンタ
バッファ22−1〜22(N−1)から出力されている
第(m−1)データフレームまでの第jビットの“0”
と“1”との数の差の1/2の値C(m−1)jと、第
mデータフレームの順番とに基づいて、第mデータフレ
ーム受信時までの第jビットの多数決値Amj及び第m
データフレーム受信時までの第jビットの“0”と
“1”との差の1/2の値Cmjを求め、求めた多数決
値Amj,値Cmjを主バッファ21,カウンタバッフ
ァ22−1〜22−(N−1)に格納する。
ビット同士の多数決をとり、1つのデータフレームを生
成する多数決回路の回路規模を小さくする。 【構成】 論理演算回路32は第mデータフレームの第
jビットDmjが加えられると、その値と、主バッファ
21から出力されている第(m−1)データフレームま
での第jビットの多数決値A(m−1)jと、カウンタ
バッファ22−1〜22(N−1)から出力されている
第(m−1)データフレームまでの第jビットの“0”
と“1”との数の差の1/2の値C(m−1)jと、第
mデータフレームの順番とに基づいて、第mデータフレ
ーム受信時までの第jビットの多数決値Amj及び第m
データフレーム受信時までの第jビットの“0”と
“1”との差の1/2の値Cmjを求め、求めた多数決
値Amj,値Cmjを主バッファ21,カウンタバッフ
ァ22−1〜22−(N−1)に格納する。
Description
【0001】
【産業上の利用分野】本発明は多数決回路に関し、特
に、送信側から送出された複数の同一内容のデータを受
信し、受信した各データの対応するビット同士の多数決
をとることにより、受信データの各ビットの値を決定す
る多数決回路に関する。
に、送信側から送出された複数の同一内容のデータを受
信し、受信した各データの対応するビット同士の多数決
をとることにより、受信データの各ビットの値を決定す
る多数決回路に関する。
【0002】
【従来の技術】自動車電話に於いては、データの送受信
誤りを少なくするため、データの送信時、同一内容のデ
ータフレーム(データ及び制御データを含む)を5回ま
たは11回、その前後に制御フレームを付けて送信し、
データの受信時、5回または11回分のデータフレーム
に含まれるデータの対応するビット同士の多数決を行な
い、受信データを生成するということが行なわれてい
る。
誤りを少なくするため、データの送信時、同一内容のデ
ータフレーム(データ及び制御データを含む)を5回ま
たは11回、その前後に制御フレームを付けて送信し、
データの受信時、5回または11回分のデータフレーム
に含まれるデータの対応するビット同士の多数決を行な
い、受信データを生成するということが行なわれてい
る。
【0003】図9は上述したような場合に従来使用され
ていた多数決回路の一例を示したブロック図であり、デ
ータ入力端子11と、多数決出力端子12と、M個のバ
ッファ41−1〜41−Mと、制御回路51と、論理演
算回路52とから構成されている。尚、バッファ41−
1〜41−Mの個数は同一内容のデータフレームの繰り
返し数と同じ値である。
ていた多数決回路の一例を示したブロック図であり、デ
ータ入力端子11と、多数決出力端子12と、M個のバ
ッファ41−1〜41−Mと、制御回路51と、論理演
算回路52とから構成されている。尚、バッファ41−
1〜41−Mの個数は同一内容のデータフレームの繰り
返し数と同じ値である。
【0004】制御回路51はデータ入力端子11に第1
番目〜第M番目のデータフレームが加えられると、第1
番目〜第M番目のデータフレームに含まれているデータ
(制御データは除く)をそれぞれバッファ41−1〜4
1−Mに格納する。
番目〜第M番目のデータフレームが加えられると、第1
番目〜第M番目のデータフレームに含まれているデータ
(制御データは除く)をそれぞれバッファ41−1〜4
1−Mに格納する。
【0005】最後のデータフレーム、即ち第M番目のデ
ータフレーム中のデータをバッファ41−Mに格納する
と、制御回路51は各バッファ41−1〜41−Mに格
納されているデータの第1ビット目を論理演算回路52
に加える。
ータフレーム中のデータをバッファ41−Mに格納する
と、制御回路51は各バッファ41−1〜41−Mに格
納されているデータの第1ビット目を論理演算回路52
に加える。
【0006】論理演算回路52は加えられたM個の値の
多数決をとり、その結果を受信データの第1ビット目の
値として多数決出力端子12に出力する。
多数決をとり、その結果を受信データの第1ビット目の
値として多数決出力端子12に出力する。
【0007】その後、制御回路51はバッファ41−1
〜41−Mに格納されているデータの第2ビット目を論
理演算回路52に加える。これにより、論理演算回路5
2は前述したと同様にM個の値の多数決をとり、その結
果を受信データの第2ビット目の値として多数決出力端
子12に出力する。
〜41−Mに格納されているデータの第2ビット目を論
理演算回路52に加える。これにより、論理演算回路5
2は前述したと同様にM個の値の多数決をとり、その結
果を受信データの第2ビット目の値として多数決出力端
子12に出力する。
【0008】以下、前述したと同様の動作がデータの最
終ビットまで繰り返し行なわれ、受信データが生成され
る。尚、多数決出力端子12から出力された各ビットの
多数決値をCPUで処理させるため等に並列化すること
が必要になる場合は、多数決出力端子12に出力された
直列データを並列データとして取り出すことができるバ
ッファ(図示せず)を接続しておくことが必要になる。
終ビットまで繰り返し行なわれ、受信データが生成され
る。尚、多数決出力端子12から出力された各ビットの
多数決値をCPUで処理させるため等に並列化すること
が必要になる場合は、多数決出力端子12に出力された
直列データを並列データとして取り出すことができるバ
ッファ(図示せず)を接続しておくことが必要になる。
【0009】今、例えば、データ入力端子11に加えら
れるデータが図10に示すように、制御フレーム66,
67と、それらに挟まれた同一内容の5個のデータフレ
ーム61〜65であるとすると、必要になるバッファ4
1−1〜41−Mの個数Mは5個となる。また、各デー
タフレーム61〜65が80ビットのデータと、制御デ
ータとによって構成されているとすると、必要になる各
バッファ41−1〜41−5の容量は80ビットとな
る。
れるデータが図10に示すように、制御フレーム66,
67と、それらに挟まれた同一内容の5個のデータフレ
ーム61〜65であるとすると、必要になるバッファ4
1−1〜41−Mの個数Mは5個となる。また、各デー
タフレーム61〜65が80ビットのデータと、制御デ
ータとによって構成されているとすると、必要になる各
バッファ41−1〜41−5の容量は80ビットとな
る。
【0010】
【発明が解決しようとする課題】上述したように、従来
の多数決回路は同一内容のM個のデータフレームを全て
受信した後、多数決を行なっており、M個のデータフレ
ームを蓄えておくことが必要になるため、(データフレ
ーム中のデータのビット数)×(データフレーム数)分
のバッファ用フリップフロップが必要になる。図10の
例ではデータフレーム長が80ビット,データフレーム
数が5個であるので、必要になるバッファ用フリップフ
ロップの数は400個となる。一般にフリップフロップ
はそれを構成しているトランジスタの数が20〜30個
と多いため、従来の多数決回路をIC化しようとする
と、バッファだけで1万個前後のトランジスタが必要に
なり、回路規模が大きくなるという欠点がある。
の多数決回路は同一内容のM個のデータフレームを全て
受信した後、多数決を行なっており、M個のデータフレ
ームを蓄えておくことが必要になるため、(データフレ
ーム中のデータのビット数)×(データフレーム数)分
のバッファ用フリップフロップが必要になる。図10の
例ではデータフレーム長が80ビット,データフレーム
数が5個であるので、必要になるバッファ用フリップフ
ロップの数は400個となる。一般にフリップフロップ
はそれを構成しているトランジスタの数が20〜30個
と多いため、従来の多数決回路をIC化しようとする
と、バッファだけで1万個前後のトランジスタが必要に
なり、回路規模が大きくなるという欠点がある。
【0011】本発明の目的は、回路規模を小さなものに
することができる多数決回路を提供することにある。
することができる多数決回路を提供することにある。
【0012】
【課題を解決するための手段】本発明は上記目的を達成
するため、送信側から繰り返し送出された複数の同一内
容のデータフレームを受信し、受信した各データフレー
ムの対応するビット同士の多数決演算を行ない、各ビッ
トが多数決演算結果の値を持つ1つの結果データフレー
ムを生成する多数決回路に於いて、主バッファと、それ
ぞれの対応する位置のビットにより置数部を構成するカ
ウンタバッファと、前記主バッファに格納されている前
回のデータフレーム受信時までの多数決値と、前記カウ
ンタバッファの各置数部に格納されている前回のデータ
フレーム受信時までの各ビットの“0”と“1”との数
の差の1/2の値と、今回受信したデータフレームの内
容と、今回受信しているデータフレームの順番とに基づ
いて今回受信しているデータフレームまでの多数決値及
び今回受信しているデータフレームまでの各ビットの
“0”と“1”との数の差の1/2の値を求め、求めた
多数決値を前記主バッファに格納し、求めた各ビットの
“0”と“1”との数の差の1/2の値を前記カウンタ
バッファ中の対応する置数部に格納する論理演算回路と
を設けたものである。
するため、送信側から繰り返し送出された複数の同一内
容のデータフレームを受信し、受信した各データフレー
ムの対応するビット同士の多数決演算を行ない、各ビッ
トが多数決演算結果の値を持つ1つの結果データフレー
ムを生成する多数決回路に於いて、主バッファと、それ
ぞれの対応する位置のビットにより置数部を構成するカ
ウンタバッファと、前記主バッファに格納されている前
回のデータフレーム受信時までの多数決値と、前記カウ
ンタバッファの各置数部に格納されている前回のデータ
フレーム受信時までの各ビットの“0”と“1”との数
の差の1/2の値と、今回受信したデータフレームの内
容と、今回受信しているデータフレームの順番とに基づ
いて今回受信しているデータフレームまでの多数決値及
び今回受信しているデータフレームまでの各ビットの
“0”と“1”との数の差の1/2の値を求め、求めた
多数決値を前記主バッファに格納し、求めた各ビットの
“0”と“1”との数の差の1/2の値を前記カウンタ
バッファ中の対応する置数部に格納する論理演算回路と
を設けたものである。
【0013】
【作用】論理演算回路は新たなデータフレームの受信
時、主バッファに格納されている前回のデータフレーム
受信時までの多数決値と、カウンタバッファの各置数部
に格納されている前回のデータフレーム受信時までの各
ビットの“0”と“1”との数の差の1/2の値と、今
回受信しているデータフレームの内容と、今回受信して
いるデータフレームの順番とに基づいて今回受信してい
るデータフレームまでの多数決値及び今回受信している
データフレームまでの各ビットの“0”と“1”との数
の差の1/2の値を求める。
時、主バッファに格納されている前回のデータフレーム
受信時までの多数決値と、カウンタバッファの各置数部
に格納されている前回のデータフレーム受信時までの各
ビットの“0”と“1”との数の差の1/2の値と、今
回受信しているデータフレームの内容と、今回受信して
いるデータフレームの順番とに基づいて今回受信してい
るデータフレームまでの多数決値及び今回受信している
データフレームまでの各ビットの“0”と“1”との数
の差の1/2の値を求める。
【0014】そして、求めた多数決値を主バッファに格
納し、求めた各ビットの“0”と“1”との数の差の1
/2の値をカウンタバッファ中の対応する置数部に格納
する。従って、新たなデータフレームを受信する毎に、
主バッファには最新の多数決値が格納され、カウンタバ
ッファの各置数部には最新の各ビットの“0”と“1”
との数の差の1/2の値が格納される。
納し、求めた各ビットの“0”と“1”との数の差の1
/2の値をカウンタバッファ中の対応する置数部に格納
する。従って、新たなデータフレームを受信する毎に、
主バッファには最新の多数決値が格納され、カウンタバ
ッファの各置数部には最新の各ビットの“0”と“1”
との数の差の1/2の値が格納される。
【0015】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
詳細に説明する。
【0016】図1は本発明の一実施例のブロック図であ
り、データ入力端子11と、多数決出力端子12と、1
個の主バッファ21と、(N−1)個のカウンタバッフ
ァ22−1〜22−(N−1)と、制御回路31と、論
理演算回路32とから構成されている。
り、データ入力端子11と、多数決出力端子12と、1
個の主バッファ21と、(N−1)個のカウンタバッフ
ァ22−1〜22−(N−1)と、制御回路31と、論
理演算回路32とから構成されている。
【0017】データ入力端子11には送信側から繰り返
し送出された同一内容の第1番目〜第M番目のデータフ
レーム(データ及び制御データを含む)及びそれを挟む
制御フレームが入力される。尚、本実施例に於いては、
第1番目〜第M番目のデータフレーム中のデータD1〜
DMは、図2に示すようにビット数がJビットであると
する。また、本実施例では第m番目(1≦m≦M)のデ
ータフレーム中のデータDmの第jビット(1≦j≦
J)目をDmjで表すものとする。
し送出された同一内容の第1番目〜第M番目のデータフ
レーム(データ及び制御データを含む)及びそれを挟む
制御フレームが入力される。尚、本実施例に於いては、
第1番目〜第M番目のデータフレーム中のデータD1〜
DMは、図2に示すようにビット数がJビットであると
する。また、本実施例では第m番目(1≦m≦M)のデ
ータフレーム中のデータDmの第jビット(1≦j≦
J)目をDmjで表すものとする。
【0018】論理演算回路32はデータDmの第jビッ
トDmjがデータ入力端子11を介して加えられること
により、主バッファ21に対してこれまでに受信したデ
ータD1,D2,…,Dmの第jビットの多数決値Am
j(D1j,D2j,…,Dmjの多数決値)を出力す
る機能と、カウンタバッファ22−1〜22−(N−
1)に対してこれまでに入力したデータD1,D2,
…,Dmの第jビットの“1”と“0”との数の差の1
/2の値を示す(N−1)ビット構成のカウント値Cm
j(bit1〜bitN−1)を出力する機能とを有す
る。
トDmjがデータ入力端子11を介して加えられること
により、主バッファ21に対してこれまでに受信したデ
ータD1,D2,…,Dmの第jビットの多数決値Am
j(D1j,D2j,…,Dmjの多数決値)を出力す
る機能と、カウンタバッファ22−1〜22−(N−
1)に対してこれまでに入力したデータD1,D2,
…,Dmの第jビットの“1”と“0”との数の差の1
/2の値を示す(N−1)ビット構成のカウント値Cm
j(bit1〜bitN−1)を出力する機能とを有す
る。
【0019】主バッファ21は図3に示すように、Jビ
ット構成のシフトレジスタから構成され、論理演算回路
32から各ビットの多数決値が出力される毎に、制御回
路31の制御に従ってビットAJ〜A1の内容を右にシ
フトすると共に、論理演算回路32から出力された多数
決値を第JビットAJに取り込む。従って、論理演算回
路32がデータDmの第JビットDmJに対する処理を
完了し、多数決値AmJを出力した時点に於いては、主
バッファ21の各ビットA1〜AJの内容は図4に示す
ものとなる。尚、図4に於いて、AmjはデータD1,
D2,…,Dmの第jビットの多数決値を表している。
ット構成のシフトレジスタから構成され、論理演算回路
32から各ビットの多数決値が出力される毎に、制御回
路31の制御に従ってビットAJ〜A1の内容を右にシ
フトすると共に、論理演算回路32から出力された多数
決値を第JビットAJに取り込む。従って、論理演算回
路32がデータDmの第JビットDmJに対する処理を
完了し、多数決値AmJを出力した時点に於いては、主
バッファ21の各ビットA1〜AJの内容は図4に示す
ものとなる。尚、図4に於いて、AmjはデータD1,
D2,…,Dmの第jビットの多数決値を表している。
【0020】カウンタバッファ22−1〜22−(N−
1)はそれぞれ図5に示すようにJビット構成のシフト
レジスタから構成されており、各カウンタバッファ22
−1〜22−(N−1)の対応するビットB1j,B2
j,…,B(N−1)jは(N−1)ビット構成のカウ
ンタの置数部Cjを構成している。即ち、各カウンタバ
ッファ22−1〜22−(N−1)の対応するビットに
よって、J個の(N−1)ビット構成のカウンタの置数
部C1〜CJが構成される。
1)はそれぞれ図5に示すようにJビット構成のシフト
レジスタから構成されており、各カウンタバッファ22
−1〜22−(N−1)の対応するビットB1j,B2
j,…,B(N−1)jは(N−1)ビット構成のカウ
ンタの置数部Cjを構成している。即ち、各カウンタバ
ッファ22−1〜22−(N−1)の対応するビットに
よって、J個の(N−1)ビット構成のカウンタの置数
部C1〜CJが構成される。
【0021】そして、各カウンタバッファ22−1〜2
2−(N−1)は論理演算回路32から“0”と“1”
の数の差の1/2の値を示す(N−1)ビット構成のカ
ウント値が出力される毎に、制御回路31の制御に従っ
て第Jビット〜第1ビットの内容を右にシフトすると共
に、論理演算回路32から出力されたカウント値を第J
ビットに取り込む。従って、論理演算回路32がデータ
Dmの第JビットDmJに対する処理を完了し、(N−
1)ビット構成のカウント値CmJ(bit1〜bit
N−1)を出力した時点に於いては、カウンタバッファ
22−1〜22−(N−1)の内容は図6に示すものと
なる。即ち、論理演算回路32がデータDmの第Jビッ
トDmJに対する処理を完了し、カウント値CmJ(b
it1〜bitN−1)を出力した時点に於けるカウン
タバッファ22−1〜22−(N−1)の第jビットB
njの値はCmj(bit1)〜Cmj(bitN−
1)となる。
2−(N−1)は論理演算回路32から“0”と“1”
の数の差の1/2の値を示す(N−1)ビット構成のカ
ウント値が出力される毎に、制御回路31の制御に従っ
て第Jビット〜第1ビットの内容を右にシフトすると共
に、論理演算回路32から出力されたカウント値を第J
ビットに取り込む。従って、論理演算回路32がデータ
Dmの第JビットDmJに対する処理を完了し、(N−
1)ビット構成のカウント値CmJ(bit1〜bit
N−1)を出力した時点に於いては、カウンタバッファ
22−1〜22−(N−1)の内容は図6に示すものと
なる。即ち、論理演算回路32がデータDmの第Jビッ
トDmJに対する処理を完了し、カウント値CmJ(b
it1〜bitN−1)を出力した時点に於けるカウン
タバッファ22−1〜22−(N−1)の第jビットB
njの値はCmj(bit1)〜Cmj(bitN−
1)となる。
【0022】次に、本実施例の動作を説明する。
【0023】先ず、第1番目のデータフレーム中のデー
タD1がデータ入力端子11に加えられた場合の動作を
説明する。
タD1がデータ入力端子11に加えられた場合の動作を
説明する。
【0024】論理演算回路32はデータ入力端子11を
介してデータD1の各ビットD11,D12,…,D1
Jの値が加えられると、各ビットの多数決値A11,A
12,…,A1Jを順次出力する。この場合、第1番目
のデータフレームであり、各ビットD11,D12,
…,D1Jの値がそのまま多数決値A11,A12,
…,A1Jとなるので、論理演算回路32は各ビットD
11,D12,…,D1Jの値を多数決値A11,A1
2,…,A1Jとして出力する。
介してデータD1の各ビットD11,D12,…,D1
Jの値が加えられると、各ビットの多数決値A11,A
12,…,A1Jを順次出力する。この場合、第1番目
のデータフレームであり、各ビットD11,D12,
…,D1Jの値がそのまま多数決値A11,A12,
…,A1Jとなるので、論理演算回路32は各ビットD
11,D12,…,D1Jの値を多数決値A11,A1
2,…,A1Jとして出力する。
【0025】主バッファ21は論理演算回路32から出
力された多数決値A11,A12,…,A1Jを制御回
路31の制御に従って順次シフトする。図7は多数決値
A11,A12,…,A1Jが主バッファ21内でシフ
トされる様子を示した図であり、論理演算回路32がデ
ータD1Jを入力して多数決値A1Jを出力した時点に
於いては、主バッファ21の各ビットA1,A2,…,
AJの内容はそれぞれ多数決値A11,A12,…,A
1Jとなる。尚、図7に於いてXは不定値を示してい
る。
力された多数決値A11,A12,…,A1Jを制御回
路31の制御に従って順次シフトする。図7は多数決値
A11,A12,…,A1Jが主バッファ21内でシフ
トされる様子を示した図であり、論理演算回路32がデ
ータD1Jを入力して多数決値A1Jを出力した時点に
於いては、主バッファ21の各ビットA1,A2,…,
AJの内容はそれぞれ多数決値A11,A12,…,A
1Jとなる。尚、図7に於いてXは不定値を示してい
る。
【0026】また、論理演算回路32はデータ入力端子
11を介して第1番目のデータフレーム中のデータD1
が加えられると、カウンタバッファ22−1〜22−
(N−1)のカウント値をクリアし、置数部C1〜Cj
の値を全て0にする。即ち、第1番目のデータフレーム
中のデータD1の受信時には、対応するビットの“0”
と“1”との数の差は1であり、それを1/2した値
(1ビット右にシフトした値)は0となるからである。
11を介して第1番目のデータフレーム中のデータD1
が加えられると、カウンタバッファ22−1〜22−
(N−1)のカウント値をクリアし、置数部C1〜Cj
の値を全て0にする。即ち、第1番目のデータフレーム
中のデータD1の受信時には、対応するビットの“0”
と“1”との数の差は1であり、それを1/2した値
(1ビット右にシフトした値)は0となるからである。
【0027】次に、第2番目以降のデータフレーム中の
データがデータ入力端子11に加えられた場合の動作を
説明する。
データがデータ入力端子11に加えられた場合の動作を
説明する。
【0028】論理演算回路32はデータ入力端子11を
介して第m番目(m>1)のデータフレーム中のデータ
Dmが加えられると、各ビットDm1,Dm2,…,D
mj,…,DmJ毎に、主バッファ21,カウンタバッ
ファ22−1〜22−(N−1)に対して以下の処理を
行なう。
介して第m番目(m>1)のデータフレーム中のデータ
Dmが加えられると、各ビットDm1,Dm2,…,D
mj,…,DmJ毎に、主バッファ21,カウンタバッ
ファ22−1〜22−(N−1)に対して以下の処理を
行なう。
【0029】先ず、主バッファ21に対して行なう処理
を説明する。
を説明する。
【0030】データDmの第jビットDmjがデータ入
力端子11を介して加えられると、論理演算回路32は
カウンタバッファ22−1〜22−(N−1)から出力
されている(N−1)ビット構成のカウント値C(m−
1)j(bit1〜bitN−1)の値が0であるか否
かを、即ち、これまでに入力されたデータD1〜D(m
−1)の第jビットの“0”と“1”との数の差の1/
2の値が0であるか否かを判断する。
力端子11を介して加えられると、論理演算回路32は
カウンタバッファ22−1〜22−(N−1)から出力
されている(N−1)ビット構成のカウント値C(m−
1)j(bit1〜bitN−1)の値が0であるか否
かを、即ち、これまでに入力されたデータD1〜D(m
−1)の第jビットの“0”と“1”との数の差の1/
2の値が0であるか否かを判断する。
【0031】そして、カウント値C(m−1)j(bi
t1〜bitN−1)が0を示していると判断した場合
は、論理演算回路32は入力されたデータDmの第jビ
ットDmjの値を第jビットの多数決値Amjとして主
バッファ21に出力する。即ち、カウント値C(m−
1)j(bit1〜bitN−1)が0を示している場
合は、これまでに入力されたデータD1〜D(m−1)
の第jビットの“0”と“1”との数の差は0か1であ
り、第jビットDmjの値が多数決値となるか、或いは
“0”と“1”の数が同数になるからである。
t1〜bitN−1)が0を示していると判断した場合
は、論理演算回路32は入力されたデータDmの第jビ
ットDmjの値を第jビットの多数決値Amjとして主
バッファ21に出力する。即ち、カウント値C(m−
1)j(bit1〜bitN−1)が0を示している場
合は、これまでに入力されたデータD1〜D(m−1)
の第jビットの“0”と“1”との数の差は0か1であ
り、第jビットDmjの値が多数決値となるか、或いは
“0”と“1”の数が同数になるからである。
【0032】また、カウント値C(m−1)j(bit
1〜bitN−1)が0を示していないと判断した場合
は、論理演算回路32は主バッファ21から出力されて
いるこれまでの第jビットの多数決値A(m−1)jを
新たな多数決値Amjとして主バッファ21に出力す
る。即ち、カウント値C(m−1)j(bit1〜bi
tN−1)が0を示していない場合は、これまでに入力
されたデータD1〜D(m−1)の第jビットの“0”
と“1”との数の差は2以上であり、今回入力されたデ
ータDmの第jビットDmjの値によって多数決値が変
わることはないからである。
1〜bitN−1)が0を示していないと判断した場合
は、論理演算回路32は主バッファ21から出力されて
いるこれまでの第jビットの多数決値A(m−1)jを
新たな多数決値Amjとして主バッファ21に出力す
る。即ち、カウント値C(m−1)j(bit1〜bi
tN−1)が0を示していない場合は、これまでに入力
されたデータD1〜D(m−1)の第jビットの“0”
と“1”との数の差は2以上であり、今回入力されたデ
ータDmの第jビットDmjの値によって多数決値が変
わることはないからである。
【0033】論理演算回路32は他のビットが加えられ
た場合も同様の処理を行ない、そのビットについての多
数決値を主バッファ21に出力する。主バッファ21は
論理演算回路32から多数決値が出力されると、前述し
たと同様に、その内容を右に1ビットシフトすると共
に、多数決値を第JビットAJに取り込む。
た場合も同様の処理を行ない、そのビットについての多
数決値を主バッファ21に出力する。主バッファ21は
論理演算回路32から多数決値が出力されると、前述し
たと同様に、その内容を右に1ビットシフトすると共
に、多数決値を第JビットAJに取り込む。
【0034】次に、カウンタバッファ22−1〜22−
(N−1)に対して行なう処理を説明する。
(N−1)に対して行なう処理を説明する。
【0035】論理演算回路32は奇数番目のデータフレ
ームを受信中か、偶数番目のデータフレームを受信中か
を認識しており、奇数番目のデータフレームの受信中
と、偶数番目のデータフレームの受信中とで、カウンタ
バッファ22−1〜22−(N−1)に対して異なる処
理を行なう。
ームを受信中か、偶数番目のデータフレームを受信中か
を認識しており、奇数番目のデータフレームの受信中
と、偶数番目のデータフレームの受信中とで、カウンタ
バッファ22−1〜22−(N−1)に対して異なる処
理を行なう。
【0036】奇数番目のデータフレームを受信している
場合、論理演算回路32はデータDmの第jビットDm
jがデータ入力端子11を介して加えられると、Dmj
≠A(m−1)jであり、且つC(m−1)j≠0(置
数部C1〜CJのカウント値の最小値)であるか否かを
判断する。
場合、論理演算回路32はデータDmの第jビットDm
jがデータ入力端子11を介して加えられると、Dmj
≠A(m−1)jであり、且つC(m−1)j≠0(置
数部C1〜CJのカウント値の最小値)であるか否かを
判断する。
【0037】そして、Dmj≠A(m−1)jであり、
且つC(m−1)j≠0であると判断した場合、即ち今
回入力されたデータDmの第jビットDmjの値とこれ
までの第jビットの多数決値A(m−1)jとが等しく
なく、且つこれまでの第jビットの“0”と“1”との
数の差の1/2の値を示すカウント値C(m−1)jが
0とないと判断した場合は、論理演算回路32はカウン
タバッファ22−1〜22−(N−1)から出力されて
いるカウント値C(m−1)j(bit1〜bitN−
1)から1を減算した値を示すカウント値Cmj(bi
t1〜bitN−1)をカウンタバッファ22−1〜2
2−(N−1)に対して出力する。
且つC(m−1)j≠0であると判断した場合、即ち今
回入力されたデータDmの第jビットDmjの値とこれ
までの第jビットの多数決値A(m−1)jとが等しく
なく、且つこれまでの第jビットの“0”と“1”との
数の差の1/2の値を示すカウント値C(m−1)jが
0とないと判断した場合は、論理演算回路32はカウン
タバッファ22−1〜22−(N−1)から出力されて
いるカウント値C(m−1)j(bit1〜bitN−
1)から1を減算した値を示すカウント値Cmj(bi
t1〜bitN−1)をカウンタバッファ22−1〜2
2−(N−1)に対して出力する。
【0038】また、そうでないと判断した場合は、論理
演算回路32はカウンタバッファ22−1〜22−(N
−1)から出力されているカウント値C(m−1)j
(bit1〜bitN−1)と同じ値を示すカウント値
Cmj(bit1〜bitN−1)をカウンタバッファ
22−1〜22−(N−1)に対して出力する。
演算回路32はカウンタバッファ22−1〜22−(N
−1)から出力されているカウント値C(m−1)j
(bit1〜bitN−1)と同じ値を示すカウント値
Cmj(bit1〜bitN−1)をカウンタバッファ
22−1〜22−(N−1)に対して出力する。
【0039】また、偶数番目のデータフレームを受信し
ている場合は、論理演算回路32はデータDmのビット
Dmjがデータ入力端子11を介して加えられると、D
mj=A(m−1)jであり、且つC(m−1)≠2
N-1 −1(置数部C1〜CJのカウント値の最大値)で
あるか否かを判断する。
ている場合は、論理演算回路32はデータDmのビット
Dmjがデータ入力端子11を介して加えられると、D
mj=A(m−1)jであり、且つC(m−1)≠2
N-1 −1(置数部C1〜CJのカウント値の最大値)で
あるか否かを判断する。
【0040】そして、Dmj=A(m−1)jであり、
且つC(m−1)≠2N-1 −1であると判断した場合、
即ち今回入力されたデータDmの第jビットDmjの値
とこれまでの第jビットの多数決値A(m−1)jとが
等しく、且つこれまでの第jビットの“0”と“1”と
の数の差が2N-1 −1でないと判断した場合は、カウン
タバッファ22−1〜22−(N−1)から出力されて
いるカウント値C(m−1)j(bit1〜bitN−
1)が示す値に1を加算した値を示すカウント値Cmj
(bit1〜bitN−1)をカウンタバッファ22−
1〜22−(N−1)に対して出力する。
且つC(m−1)≠2N-1 −1であると判断した場合、
即ち今回入力されたデータDmの第jビットDmjの値
とこれまでの第jビットの多数決値A(m−1)jとが
等しく、且つこれまでの第jビットの“0”と“1”と
の数の差が2N-1 −1でないと判断した場合は、カウン
タバッファ22−1〜22−(N−1)から出力されて
いるカウント値C(m−1)j(bit1〜bitN−
1)が示す値に1を加算した値を示すカウント値Cmj
(bit1〜bitN−1)をカウンタバッファ22−
1〜22−(N−1)に対して出力する。
【0041】また、そうでないと判断した場合は論理演
算回路32はカウンタバッファ22−1〜22−(N−
1)から出力されているカウント値C(m−1)j(b
it1〜bitN−1)と同じ値を示すカウント値Cm
j(bit1〜bitN−1)をカウンタバッファ22
−1〜22−(N−1)に対して出力する。
算回路32はカウンタバッファ22−1〜22−(N−
1)から出力されているカウント値C(m−1)j(b
it1〜bitN−1)と同じ値を示すカウント値Cm
j(bit1〜bitN−1)をカウンタバッファ22
−1〜22−(N−1)に対して出力する。
【0042】ここで、Dmj≠A(m−1)jであれ
ば、偶数番目のデータフレームの受信時でも第jビット
の“0”と“1”との数の差は1小さくなるが、奇数番
目のデータフレームの受信時のみにカウント値Cmjを
カウント値C(m−1)jより1だけ小さくしているの
は、カウント値Cmjは“0”と“1”との数の差を1
/2した値であるからである。
ば、偶数番目のデータフレームの受信時でも第jビット
の“0”と“1”との数の差は1小さくなるが、奇数番
目のデータフレームの受信時のみにカウント値Cmjを
カウント値C(m−1)jより1だけ小さくしているの
は、カウント値Cmjは“0”と“1”との数の差を1
/2した値であるからである。
【0043】また、Dmj=A(m−1)jであれば、
奇数番目のデータフレームの受信時でも第jビットの
“1”と“0”との数の差は1大きくなるが、偶数番目
のデータフレームの受信時のみにカウント値Cmjをカ
ウント値C(m−1)jより1だけ大きくしているの
は、カウント値Cmjは“0”と“1”との差を1/2
した値であるからである。
奇数番目のデータフレームの受信時でも第jビットの
“1”と“0”との数の差は1大きくなるが、偶数番目
のデータフレームの受信時のみにカウント値Cmjをカ
ウント値C(m−1)jより1だけ大きくしているの
は、カウント値Cmjは“0”と“1”との差を1/2
した値であるからである。
【0044】論理演算回路32は他のビットについても
前述したと同様の処理を行ない、各ビットの“0”と
“1”との差の1/2の値を示すカウント値をカウンタ
バッファ22−1〜22−(N−1)に対して出力す
る。カウンタバッファ22−1〜22−(N−1)は論
理演算回路32から“0”と“1”との差の1/2の値
を示すカウント値が加えられると、その内容を右に1ビ
ットシフトすると共に、論理演算回路32から出力され
たカウント値を置数部CJを構成する第Jビットに取り
込む。
前述したと同様の処理を行ない、各ビットの“0”と
“1”との差の1/2の値を示すカウント値をカウンタ
バッファ22−1〜22−(N−1)に対して出力す
る。カウンタバッファ22−1〜22−(N−1)は論
理演算回路32から“0”と“1”との差の1/2の値
を示すカウント値が加えられると、その内容を右に1ビ
ットシフトすると共に、論理演算回路32から出力され
たカウント値を置数部CJを構成する第Jビットに取り
込む。
【0045】論理演算回路32は上述したと同様の処理
を最後の第M番目のデータフレーム中のデータDMまで
繰り返し行ない、データDMに対する処理が完了する
と、主バッファ21に格納されている多数決値AM1,
AM2,…,AMJを多数決出力端子12から順次出力
する。
を最後の第M番目のデータフレーム中のデータDMまで
繰り返し行ない、データDMに対する処理が完了する
と、主バッファ21に格納されている多数決値AM1,
AM2,…,AMJを多数決出力端子12から順次出力
する。
【0046】ところで、1個の主バッファ21と、(N
−1)個のカウンタバッファ22−1〜22−(N−
1)を有する本実施例の多数決回路に於いては、カウン
タの置数部C1〜CJに設定できるカウント値の最大値
は、カウンタバッファ22−1〜22−(N−1)の個
数が(N−1)個であるので、2N-1 −1となるが、置
数部C1〜CJには入力データの“0”と“1”の数の
差の1/2の値が書き込まれるので、置数部C1〜CJ
によって表現できる最大値は(2N-1 −1)×2+1=
2N −1となる。
−1)個のカウンタバッファ22−1〜22−(N−
1)を有する本実施例の多数決回路に於いては、カウン
タの置数部C1〜CJに設定できるカウント値の最大値
は、カウンタバッファ22−1〜22−(N−1)の個
数が(N−1)個であるので、2N-1 −1となるが、置
数部C1〜CJには入力データの“0”と“1”の数の
差の1/2の値が書き込まれるので、置数部C1〜CJ
によって表現できる最大値は(2N-1 −1)×2+1=
2N −1となる。
【0047】つまり、本実施例の多数決回路では正しい
多数決値を得るためには“0”と“1”との数の差が2
N −1を越える前に多数決値が確定していなければなら
ない。この条件を満たすデータフレーム数の最大値は
(2N −1)×2−1=2N+1−3となる。即ち、1個
の主バッファ21と、 (N−1)個のカウンタバッファ
22−1〜22−(N−1)との合計N個のバッファを
有する本実施例の多数決回路では、最大2N+1 −3デー
タフレームのデータの多数決をとることができる。つま
り、mが奇数で、且つm≦2N+1 −3の時、データDm
j受信後のAmjの値は常に多数決値を示すものにな
る。
多数決値を得るためには“0”と“1”との数の差が2
N −1を越える前に多数決値が確定していなければなら
ない。この条件を満たすデータフレーム数の最大値は
(2N −1)×2−1=2N+1−3となる。即ち、1個
の主バッファ21と、 (N−1)個のカウンタバッファ
22−1〜22−(N−1)との合計N個のバッファを
有する本実施例の多数決回路では、最大2N+1 −3デー
タフレームのデータの多数決をとることができる。つま
り、mが奇数で、且つm≦2N+1 −3の時、データDm
j受信後のAmjの値は常に多数決値を示すものにな
る。
【0048】今、例えば、データ入力端子11に加えら
れるデータが図10に示すように、制御フレーム66,
67と、それらに挟まれた同一内容の5個のデータフレ
ーム61〜65であり、各データフレーム61〜65中
のデータが80ビットであるとすると、データフレーム
数M=2N+1 −3=5から、必要なバッファの数Nは2
個(主バッファ,カウンタバッファそれぞれ1個ずつ)
となり、必要なバッファ用フリップフロップの数は80
個×2から160個となる。このように、本実施例によ
れば、従来技術では400個必要であったバッファ用フ
リップフロップの数を大幅に少なくすることができる。
れるデータが図10に示すように、制御フレーム66,
67と、それらに挟まれた同一内容の5個のデータフレ
ーム61〜65であり、各データフレーム61〜65中
のデータが80ビットであるとすると、データフレーム
数M=2N+1 −3=5から、必要なバッファの数Nは2
個(主バッファ,カウンタバッファそれぞれ1個ずつ)
となり、必要なバッファ用フリップフロップの数は80
個×2から160個となる。このように、本実施例によ
れば、従来技術では400個必要であったバッファ用フ
リップフロップの数を大幅に少なくすることができる。
【0049】また、図8に示すように、主バッファ21
を、その内容を並列的に読み出すことができるシフトレ
ジスタ等を用いて構成すれば、従来技術のように、多数
決出力端子12にバッファを接続しなくとも、CPU等
で処理可能な並列データを得ることができる。
を、その内容を並列的に読み出すことができるシフトレ
ジスタ等を用いて構成すれば、従来技術のように、多数
決出力端子12にバッファを接続しなくとも、CPU等
で処理可能な並列データを得ることができる。
【0050】
【発明の効果】以上説明したように、本発明は、最新の
データフレーム受信時までの多数決値が格納される主バ
ッファと、最新のデータフレーム受信時までの各ビット
の“0”と“1”との数の差の1/2の値が格納される
カウンタバッファと、主バッファ,カウンタバッファ及
び今回新たに受信したデータフレームの内容及び今回新
たに受信したデータフレームの順番とに基づいて、今回
のデータフレーム受信時までの多数決値,“0”と
“1”との数の差の1/2の値を主バッファ,カウンタ
バッファに格納する論理演算回路とを備えており、従来
技術のように、送信側から送られてくるデータフレーム
を全て蓄えておく必要がなくなるので、必要になるバッ
ファ数を少なくすることができる。従って、本発明によ
れば、多数決回路の回路規模を小さなものにすることが
できる効果がある。特に、バッファの個数はデータフレ
ームのフレーム数の対数値にほぼ従うので、フレーム数
が多いほど、その効果は大きくなる。
データフレーム受信時までの多数決値が格納される主バ
ッファと、最新のデータフレーム受信時までの各ビット
の“0”と“1”との数の差の1/2の値が格納される
カウンタバッファと、主バッファ,カウンタバッファ及
び今回新たに受信したデータフレームの内容及び今回新
たに受信したデータフレームの順番とに基づいて、今回
のデータフレーム受信時までの多数決値,“0”と
“1”との数の差の1/2の値を主バッファ,カウンタ
バッファに格納する論理演算回路とを備えており、従来
技術のように、送信側から送られてくるデータフレーム
を全て蓄えておく必要がなくなるので、必要になるバッ
ファ数を少なくすることができる。従って、本発明によ
れば、多数決回路の回路規模を小さなものにすることが
できる効果がある。特に、バッファの個数はデータフレ
ームのフレーム数の対数値にほぼ従うので、フレーム数
が多いほど、その効果は大きくなる。
【図1】本発明の一実施例のブロック図である。
【図2】多数決回路に入力されるデータの構成例を示す
図である。
図である。
【図3】主バッファ21の構成例を示す図である。
【図4】主バッファ21の内容例を示す図である。
【図5】カウンタバッファ22−1〜22−(N−1)
の構成例を示す図である。
の構成例を示す図である。
【図6】カウンタバッファ22−1〜22−(N−1)
の内容例を示す図である。
の内容例を示す図である。
【図7】主バッファ21が多数決値をシフトする様子を
示した図である。
示した図である。
【図8】本発明の他の実施例のブロック図である。
【図9】従来例のブロック図である。
【図10】受信データの一例を示す図である。
11…データ入力端子 12…多数決出力端子 21…主バッファ 22−1〜22−(N−1)…カウンタバッファ 31,51…制御回路 32,52…論理演算回路 41−1〜41−M…バッファ 61〜65…データフレーム 66,67…制御フレーム
Claims (2)
- 【請求項1】 送信側から繰り返し送出された複数の同
一内容のデータフレームを受信し、受信した各データフ
レームの対応するビット同士の多数決演算を行ない、各
ビットが多数決演算結果の値を持つ1つの結果データフ
レームを生成する多数決回路に於いて、 主バッファと、 それぞれの対応する位置のビットにより置数部を構成す
るカウンタバッファと、 前記主バッファに格納されている前回のデータフレーム
受信時までの多数決値と、前記カウンタバッファの各置
数部に格納されている前回のデータフレーム受信時まで
の各ビットの“0”と“1”との数の差の1/2の値
と、今回受信したデータフレームの内容と、今回受信し
ているデータフレームの順番とに基づいて今回受信して
いるデータフレームまでの多数決値及び今回受信してい
るデータフレームまでの各ビットの“0”と“1”との
数の差の1/2の値を求め、求めた多数決値を前記主バ
ッファに格納し、求めた各ビットの“0”と“1”との
数の差の1/2の値を前記カウンタバッファ中の対応す
る置数部に格納する論理演算回路とを備えたことを特徴
とする多数決回路。 - 【請求項2】 前記論理演算回路は、 第1番目のデータフレームの受信時、該第1番目のデー
タフレームの内容を前記主バッファに格納すると共に、
前記カウンタバッファをクリアし、 第2番目以降のデータフレームの受信時、前記主バッフ
ァの各ビットの内、対応する前記置数部の値が0のビッ
トの値を今回受信しているデータフレームの対応するビ
ットの値とし、 第2番目以降の奇数番目のデータフレームの受信時、前
記各置数部の内、対応する前記主バッファのビットの値
が今回受信しているデータフレームの対応するビットの
値と異なる置数部の値を1減算し、 第2番目以降の偶数番目のデータフレームの受信時、前
記各置数部の内、対応する前記主バッファのビットの値
が今回受信しているデータフレームの対応するビットの
値と同じ置数部の値を1加算することを特徴とする請求
項1記載の多数決回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4207069A JP2833363B2 (ja) | 1992-07-10 | 1992-07-10 | 多数決回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4207069A JP2833363B2 (ja) | 1992-07-10 | 1992-07-10 | 多数決回路 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0628205A true JPH0628205A (ja) | 1994-02-04 |
| JP2833363B2 JP2833363B2 (ja) | 1998-12-09 |
Family
ID=16533688
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4207069A Expired - Lifetime JP2833363B2 (ja) | 1992-07-10 | 1992-07-10 | 多数決回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2833363B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007040800A (ja) * | 2005-08-02 | 2007-02-15 | Sumitomo Heavy Ind Ltd | 放射線検出装置及び該放射線検出装置を用いた放射線検査装置 |
-
1992
- 1992-07-10 JP JP4207069A patent/JP2833363B2/ja not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007040800A (ja) * | 2005-08-02 | 2007-02-15 | Sumitomo Heavy Ind Ltd | 放射線検出装置及び該放射線検出装置を用いた放射線検査装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2833363B2 (ja) | 1998-12-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6049903A (en) | Digital data error detection and correction system | |
| US4593393A (en) | Quasi parallel cyclic redundancy checker | |
| EP0600380B1 (en) | Method and device for detection and correction of errors in ATM cell headers | |
| WO1992016888A1 (en) | Transmission gate series multiplexer | |
| EP0416869B1 (en) | Digital adder/accumulator | |
| US5408476A (en) | One bit error correction method having actual data reproduction function | |
| JPH03219725A (ja) | 誤り検査コード生成装置および伝送誤り検出装置 | |
| JPH0628205A (ja) | 多数決回路 | |
| US5262975A (en) | Serial input multiplier apparatus | |
| JPH08265173A (ja) | 誤り訂正符号の符号器及び復号器 | |
| JPH05160809A (ja) | Crcチェック方法 | |
| JP2803351B2 (ja) | 多数決回路 | |
| US5280484A (en) | Time-division multiplex communication system with a synchronizing circuit at the receiving end which responds to the coding of words inserted in the transmitted information | |
| WO2001091306A1 (fr) | Codeur pour transmission d'une image numerique | |
| JP2806252B2 (ja) | データ処理装置 | |
| HU208772B (en) | Circuit arrangement and method for establishilng time-sharing multiplex communication system | |
| CN113068046B (zh) | Mpeg-2同步字节解码器中伴随式的并行产生装置和方法 | |
| JP3882300B2 (ja) | シリアルデータ保持回路 | |
| JP3253381B2 (ja) | 誤り訂正回路 | |
| JPH0721124A (ja) | 同期式直列情報受信装置 | |
| JPH0993139A (ja) | 可変長符号の復号方法および装置 | |
| JPS59178037A (ja) | 位相整合回路 | |
| JPH10294720A (ja) | 信号伝送回路及び信号伝送方法 | |
| KR0155718B1 (ko) | 동기 데이타 발생장치 | |
| JP2848734B2 (ja) | 誤り検出・訂正装置 |