• 締切済み

論理回路を用いた擬似乱数出力回路

ttp://laputa.cs.shinshu-u.ac.jp/~yizawa/logic2/chap8/ このサイトの「除算回路」を実現して乱数回路を作ったのですが、 M系列の式って「Xn = Xn-p xor Xn-q」ですよね? ttp://shika.aist-nara.ac.jp/member/takesh-n/cdma/mseq-gene.html ここの最初の回路で、出力を(5)とすると、 X(5-1) xor X(5-4)  で、(1)と(4)のXORと思うのですが、何故(4)と(2)なのでしょうか? それと、一番↑のアドレスの除算回路設計をM系列の式を用いて解説お願いします 実際、擬似乱数の出力結果にはなりましたが、なぜあのような回路になるのかがわかりません 変なところからXORが伸びているようにしか見えません

みんなの回答

  • Jirorian
  • ベストアンサー率58% (7/12)
回答No.2

M系列の式は「Xn = Xn-p xor Xn-q」というのはおかしいです。pとqはどうやって求めますか? 3ビット、4ビットのM系列ではうまくいくと思いますが、 その方法では8ビットのM系列は絶対に作成できないと思いますよ。 まずM系列を理解するにはガロア体を理解しないといけません。 >X(5-1) xor X(5-4)  で、(1)と(4)のXORと思うのですが、何故(4)と(2)なのでしょうか? あなたの言うようにXORを設置した場合、この回路の既約多項式はx^4+x^3+1=0となります。これはれっきとした既約多項式ですので乱数を発します。 しかし、このHPでは原始多項式x^4+x+1を用いています。普通は原始多項式を用います。 nビットのM系列の場合、GF(2^n)の要素をべき表現すると、0,1,a,a^2....a^(n-2)とできます。 これをn次の既約多項式で割った商はn-1次になります。 このベクトル表現の係数がM系列の出力の要素です。

参考URL:
http://www.ie.u-ryukyu.ac.jp/~wada/vhdl/GaloisField.html
noname#20666
noname#20666
回答No.1

X(5-1) xor X(5-4) となってるので (4)と(1)になってると思うのですが ・・・

関連するQ&A

  • 論理回路の問題についての質問です。

    論理回路の問題についての質問です。 入力をx,Dフリップフロップの出力の組を(y1,y2),出力をzとし、以下の論理式で表されるDフリップフロップを2つ用いた順序回路の機能を、DフリップフロップではなくTフリップフロップを2つ用いた順序回路として実現せよ。ただし、Dフリップフロップの時点t+1における出力は、時点tにおける入力Dと一致し、Tフリップフロップの時点t+1における出力は時点tにおける入力Tと時点tにおける出力との排他的論理和として与えられる。 D1=¬x・y1+x・¬y1 D2=y2・y1+¬y2・¬y1 z=y1・y2 論理式を簡単化すると、 D1=x(xor)y1 D2=¬{x(xor)y1} となるので、Tフリップフロップを用いた場合、計算すると図のような回路になりましたが、この回路で正しいでしょうか? また、基本的なTフリップフロップは、いつも問題の様に時点t+1における出力は時点tにおける入力Tと時点tにおける出力との排他的論理和となっているのでしょうか? 教科書には立ち上がりで反転する、と書いてありましたが、排他的論理和については触れていませんでした。 よろしくお願いします。

  • 2入力1出力の論理回路は全部で16通り存在する。これらを全てNAND回

    2入力1出力の論理回路は全部で16通り存在する。これらを全てNAND回 2入力1出力の論理回路は全部で16通り存在する。これらを全てNAND回路で構成せよ という問題文があります。 さっきも質問をあげて回答を頂いたのですが、その後やっぱり分からなくなってしまいましたので、再度質問させて下さい。 2入力1出力の論理回路で、その出力結果の4bit全ての組合せの回路をNAND回路のみで 作ろうとしているのですが、先に頂いた回答の中でhttp://laputa.cs.shinshu-u.ac.jp/~yizawa/logic/chap4/chap4.html のURLを教えてもらいましたので16通りの出力結果を見てみたところ、いきなり つまづきました。 URL内の「2入力論理関数の分類」という表中の「z0=0」とある部分、AとBのどの組み合わせでも必ず「0」の結果になりますが、そんな回路をNAND回路だけでどうしても作れません・・・。 答えは一体どんなものなのか、お分かりになる方いらっしゃいましたら 何卒ご教授のほどおねがいいたします。

  • 論理回路図の基本的な質問です。

    初めてこちらで質問させていただきます。 論理回路図に関してなのですが、簡単式がAという1文字の場合の論理回路図はどのように書いたらよろしいのでしょうか?? そのままAーX(Xは出力)というふうに棒線でつないだらよろしいのでしょうか?? 調べてもなかなか見つからず困っています。 よろしくお願い致します。

  • 論理回路問題

    デジタル値で8ビットの擬似正弦波を発する論理回路の設計をしたい。 1、Dフリップフロップを用い、nを入力し4n(8≦n≦64)をカウントする時に値を0にリセットする8ビット同期式のカウンタの回路図を書きたい 8ビットのインクリメント回路を使ってよい。 2、1の正しく動作する為の最大動作周波数を求めたい 3、8ビットのtと6ビットのnを入力してsinπt/2n(8≦n≦64)の近似値を出力する論理回路の回路図を書きたい。sin関数の近似にはtayler展開を使用する 8ビット加算回路、減算回路及び8ビット入力16出力の乗算回路を使ってよい 4、3の回路の入力tが変化したときの伝播遅延時間は? 5、1と3より目的の回路を書く。 6、5での回路が正しく動作する最大動作周波数は? NOT,NAND、NOR 各ゲートの伝播遅延時間 2ns XOR,XNOR  各ゲートの伝播遅延時間 3ns Dフリップフロップからのクロック入力の有効エッジからの伝播遅延時間 3ns Dフリップフロップのセットアップ時間 5ns Dフリップフロップのホールド時間 1ns インクリメント加算、減算回路の伝播遅延時間 5ns 乗算回路の最大伝播遅延時間 30ns どなたか上記の問いについてアドバイス頂けないでしょうか? 宜しければお願いします

  • シフトレジスタとXORを用いたM系列信号について

    タイトル通り、シフトレジスタとXORを用いてM系列信号を出力しようとしています。 構成は下のサイトを参考にしています。 M系列乱数について「http://denshikosaku.web.fc2.com/other/Mrand.html」 画像は参考にしたサイトにあるシフトレジスタとXORの構成図です。 私もこの通りにしています。 しかし、クロックを掛けると出力電圧が0Vです。 オシロスコープにより波形を見てもM系列信号はでてきません。 手順は以下の通りにいています。 (1)VccとCLRに対し5Vの直流電圧を掛ける (2)CKに対し振幅5V(0V~5V変化)、約1~10MHzの矩形波をかける (3)出力される波形をオシロスコープで確認する 何か悪い点があったら指摘ください。詳しい方よろしくお願いします。 また別の方法でM系列信号(10Mbps)を生成できるものがあればそういった情報もいただければ幸いです。

  • 真理値表→論理式

    3桁の2進数X = (x2, x1, x0)を入力し、2倍して1を足し出力する 論理回路があります。 ここで出力をY= (y3, y2, y1, y0)とし、x2,y3を最上位ビット x0, y0を最下位ビットとします。 これは、真理値表は x2 x1 x0  y3 y2 y1 y0 0  0  0   0  0  0  0 0  0  1   0  0  1  1 0  1  0   0  1  0  1 0  1  1   0  1  1  1 1  0  0   1  0  0  1 1  0  1   1  0  1  1 1  1  0   1  1  0  1 1  1  1   1  1  1  1 となると思うんです。ここから、論理式の作り方を教えていただけないでしょうか? 出来れば、最簡形であるとうれしいです。 よろしくお願いします。

  • 順序回路についての質問です。

    課題について困っています。どなたかご教授お願い致します。 入力符号系列から、(1,1,1)なる連続の符号をみつけ、出力に1を出す順序回路 (1)状態遷移表と状態遷移図を示せ。 (2)RS-FFを用いた時の真理値表を示せ。 (3)論理式を求めよ。 (4)回路を構成せよ。 (1)は添付ファイルであっているでしょうか? もし合っていたなら、(2)以降はどうすればいいでしょうか? 状態割り当てからわかりません・・・ よろしくお願い致します。 投稿日時 - 2012-02-15 12:48:18

  • 差動増幅回路に関して

    3軸加速度センサ(H48C)を用いた計測を行おうと考えています。 X軸出力(AOX)、Y軸出力(AOY)、Z軸出力(AOZ)はVref出力電圧を基準に調整してあるので差分をとって利用することがカタログで推奨されています。 そこで http://markun.cs.shinshu-u.ac.jp/learn/OPamp/diffop.html にあるような回路を作ってみました。 V2にAOX,AOY,AOZを、V1にVrefを3つに分岐させてそれぞれ繋ぎました。5倍に増幅するためにR1に2kΩ、R2に10kΩの金属皮膜抵抗を用いています。 オペアンプはLM358を用いており、V+に9V、V-に-9Vを供給するよう角型乾電池を繋いであります。 センサには3Vの電圧が加わるよう単三乾電池を2個直列に繋いだものを用いています。 以上の回路を作り測定してみましたが、X,Y,Zの出力は共に増幅されず、センサを揺らしてみてもほとんど値が変わりません・・・ 直接AOX,AOY,AOZの値を計測するときには揺らすと値が変わるのでセンサ自体に問題はなく、センサへのハンダ付けもされていると思います。 原因が解明できず困っています。僕の直感としてはVrefを3つに分岐したのがまずいのではないかとも思うのですが・・・ 単にハンダ付けが甘いのかもしれませんけど・・・ 皆さんの回答をお待ちしております。 宜しくお願い致します。

  • 一様乱数?疑似乱数?

    0.0以上~1.0未満の範囲のdouble型一様乱数rdmを1000個発生させて、ヒストグラムをつくりたいのですが、このような書き方で良いのか、ご教示願えませんでしょうか。 ヒストグラムと言っても、グラフではなく、区間0≤u<0.1、0.1≤u<0.2、…、0.9≤u<1.0の10区間とし、配列aaに格納しているだけです。 また、「Math.random」を用いるやり方は理解できるのですが、下記のような書き方はいまいち納得できません。 疑問点1つ目、前者は毎回発生する乱数が違うのに、後者は同じですよね?なぜでしょうか。後者は毎回決まった値が出るので、初期値(seed)から決まった計算をしているということでしょうか。 疑問点2つ目、//kokoの次の行に x = rdm.nextDouble(); のように発生させた乱数を一時的に入れておかなくてもよいのでしょうか。 import java.util.*; public class test { public static void main(String [] args) { int aa [] = new int [10]; long seed = 999L; Random rdm = new Random(); rdm.setSeed(seed); for(int i = 0; i < 1000; i++){ for(int j=1; j<=10; j++){//koko if(rdm.nextDouble() < ((j-1)*0.1) && rdm.nextDouble() >= (j*0.1)) aa[j-1] = aa[j-1] + 1; } } for(int i=0; i<10; i++){ System.out.println( aa[i] ); } } }

    • ベストアンサー
    • Java
  • 擬似乱数

    こんにちわ。 今日の擬似乱数の発展に寄与している偉大な数学者をあげるとしたら 誰が候補になるでしょうか? 古今東西関わらずありましたら名前をあげてくださればと思います。