JP6980407B2 - 乱数生成方法 - Google Patents

乱数生成方法 Download PDF

Info

Publication number
JP6980407B2
JP6980407B2 JP2017098068A JP2017098068A JP6980407B2 JP 6980407 B2 JP6980407 B2 JP 6980407B2 JP 2017098068 A JP2017098068 A JP 2017098068A JP 2017098068 A JP2017098068 A JP 2017098068A JP 6980407 B2 JP6980407 B2 JP 6980407B2
Authority
JP
Japan
Prior art keywords
signal
random number
pulse
output
multiplication
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.)
Active
Application number
JP2017098068A
Other languages
English (en)
Other versions
JP2017215955A (ja
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.)
Rohm Co Ltd
Original Assignee
Rohm Co Ltd
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 Rohm Co Ltd filed Critical Rohm Co Ltd
Publication of JP2017215955A publication Critical patent/JP2017215955A/ja
Application granted granted Critical
Publication of JP6980407B2 publication Critical patent/JP6980407B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本明細書中に開示されている発明は、乱数生成方法に関する。
特許文献1には、疑似乱数列生成器の一例として、nビットの線形帰還シフトレジスタを用いたM系列[maximum length sequence]生成器が開示されている。このM系列生成器では、周期2−1の疑似乱数列が生成される。
特開2011−134077号公報(図9など)
しかしながら、上記の従来技術は、あくまで疑似乱数列を生成するものであり、無限周期の乱数列を生成することはできなかった。また、疑似乱数列の周期を延ばすためには、線形帰還シフトレジスタのビット数nを増やす必要があり、回路規模の増大を鑑みると、十分な長さの周期を持つ疑似乱数列を生成することが難しかった。
本明細書中に開示されている発明は、本願の発明者らにより見出された上記の課題に鑑み、無限周期の乱数列ないしは十分な長さの周期を持つ疑似乱数列を生成することのできる乱数生成方法を提供することを目的とする。
本明細書中に開示されている乱数生成方法は、無理数rまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数sをn進数表記(ただしnは2以上の整数)で設定するステップと、前記無理数rまたは前記有理数sのp進数展開(ただしpは2以上の整数であって、p≠n、かつ、p>rまたはp>s)を行うステップと、前記p進数展開により取得された数列またはこれに演算処理を施したものを乱数信号として出力するステップとを有する構成(第1の構成)とされている。
なお、第1の構成から成る乱数生成方法では、前記数列の取得処理として、p進数展開された数の整数部を抽出するステップと、抽出された整数部を前記数列の一項として出力するステップと、前記p進数展開された数の小数部を抽出するステップと、抽出された小数部を1桁繰り上げて前記p進数展開された数を更新するステップと、が繰り返される構成(第2の構成)にするとよい。
また、第1または第2の構成から成る乱数生成方法は、前記数列から所定長の部分数列を切り出すステップと、前記部分数列を反復して疑似乱数列を生成するステップと、をさらに有する構成(第3の構成)にするとよい。
また、第1〜第3いずれかの構成から成る乱数生成方法において、pは5の倍数でない奇数である構成(第4の構成)にするとよい。
また、第1〜第4いずれかの構成から成る乱数生成方法は、前記数列をm桁ずつ(ただしmは2以上の整数)に区切ることにより有理数Aを順次生成するステップと、前記乱数信号の信号値Vを前記有理数Aに応じて順次切り替えるステップと、をさらに有する構成(第5の構成)にするとよい。
また、第5の構成から成る乱数生成方法において、前記有理数Aの最大値をAmaxとし、前記乱数信号の最大値及び最小値をVmax及びVminとしたとき、前記乱数信号の信号値Vは、V=Vmin+(Vmax−Vmin)×(A/Amax)で表される構成(第6の構成)にするとよい。
また、本明細書中に開示されているパルス発振器は、第1〜第6いずれかの構成から成る乱数生成方法を用いて乱数信号を生成する乱数信号生成部と、前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成部と、を有する構成(第7の構成)とされている。
なお、第7の構成から成るパルス発振器において、前記パルス信号生成部は、前記乱数信号と三角波信号を比較してクリア信号を生成する第1比較器と、クロック信号と前記クリア信号の入力を受けて矩形波信号を出力する順序回路と、第1参照電圧を基準として前記矩形波信号を積分することにより前記三角波信号を生成する積分回路と、前記三角波信号から高周波成分を除去するローパスフィルタと、前記三角波信号と第2参照電圧を比較して前記クロック信号を生成する第2比較器と、を含み、前記矩形波信号または前記三角波信号を前記パルス信号として出力する構成(第8の構成)にするとよい。
また、本明細書中に開示されているスイッチング回路は、矩形波信号を生成する第7または第8の構成から成るパルス発振器と、前記矩形波信号に応じて出力スイッチをオン/オフさせる駆動部と、を有する構成(第9の構成)とされている。
また、本明細書中に開示されているDC/DCコンバータは、三角波信号を生成する第7または第8の構成から成るパルス発振器と、出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン/オフさせる駆動部と、を有する構成(第10の構成)とされている。
また、本明細書中に開示されている乱数生成方法は、入力信号の初期値を設定するステップと、前記入力信号に所定の乗算処理を施して乗算信号を算出するステップと、前記乗算信号に所定の条件判定処理を施して前記入力信号を更新するステップとを有し、前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力する構成(第11の構成)とされている。
また、第11の構成から成る乱数生成方法は、前記乱数信号を0≦x≦1(ただしiは正の整数)を満たす実数の集合{x}として正規化し、実数の集合{x}から2次元空間における実数ベクトルの集合{(x,y)=(x,x),(x,x),…,(x,x)}を生成したとき、相関係数rxyが0≦rxy<0.5を満たす構成(第12の構成)にするとよい。
また、第11または第12の構成から成る乱数生成方法において、前記条件判定処理では、前記乗算信号の信号値と複数の閾値とがそれぞれ比較され、前記乗算信号の信号値、若しくは、前記乗算信号の信号値から前記複数の閾値のいずれかを差し引いた差分値が前記入力信号の更新値として設定される構成(第13の構成)にするとよい。
また、第11〜第13いずれかの構成から成る乱数生成方法において、前記乗算信号は2進数で表記されるデジタル信号であり、その任意のビットが前記乱数信号として出力される構成(第14の構成)にするとよい。
また、本明細書中に開示されている乱数信号生成回路は、入力信号の初期値を設定する初期値設定部と、前記入力信号に所定の乗算処理を施して乗算信号を算出する乗算部と、前記乗算信号に所定の条件判定処理を施して前記入力信号を更新する条件判定部を有し、前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力する構成(第15の構成)とされている。
また、本明細書中に開示されているパルス発振器は、第15の構成から成る乱数信号生成回路と、前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成回路と、を有する構成(第16の構成)とされている。
また、第16の構成から成るパルス発振器において、前記乗算信号は、2進数で表記されるデジタル信号であり、前記乗算部は、前記乗算信号の任意のビットを前記乱数信号として出力する構成(第17の構成)にするとよい。
また、第17の構成から成るパルス発振器において、前記パルス信号生成回路は、クロック信号のパルスカウント値を出力するカウンタと、前記パルスカウント値と前記乱数信号に応じた目標カウント値とを比較して前記パルス信号の発振周波数を決定する周波数決定部と、を含む構成(第18の構成)にするとよい。
また、第18の構成から成るパルス発振器において、前記周波数決定部は、前記パルスカウント値の初期化直後に順次入力される複数ビット分の前記乱数信号を用いて前記目標カウント値を更新する目標カウント値更新部を含む構成(第19の構成)にするとよい。
また、第19の構成から成るパルス発振器において、前記周波数決定部は、前記パルスカウント値が前記目標カウント値に達したときに前記パルスカウント値を初期化して前記パルス信号を第1論理レベルとし、前記パルスカウント値が前記目標カウント値の1/2に達したときに前記パルス信号を第2論理レベルとするデューティ設定部を含む構成(第20の構成)にするとよい。
また、本明細書中に開示されているスイッチング回路は、第16〜第20いずれかの構成から成るパルス発振器と、前記パルス信号に応じて出力スイッチをオン/オフさせる駆動部と、を有する構成(第21の構成)とされている。
また、本明細書中に開示されているDC/DCコンバータは、第16〜第20いずれかの構成から成るパルス発振器と、前記パルス信号を平滑して三角波信号を生成する平滑部と、出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン/オフさせる駆動部と、を有する構成(第22の構成)とされている。
また、本明細書中に開示されている計算システムは、第11〜第14いずれかの構成から成る乱数生成方法により生成された乱数信号、若しくは、第15の構成から成る乱数生成回路により生成された乱数信号を用いてモンテカルロシミュレーションを行う構成(第23の構成)とされている。
また、本明細書中に開示されている計算システムは、第11〜第14いずれかの構成から成る乱数生成方法により生成された乱数信号、若しくは、第15の構成から成る乱数生成回路により生成された乱数信号を用いて、暗号化処理を行う構成(第24の構成)とされている。
本明細書中に開示されている乱数生成方法によれば、無限周期の乱数列ないしは十分な長さの周期を持つ疑似乱数列を生成することが可能となる。
第1の乱数生成方法の一例を示すフローチャート ステップS20の一例を示すフローチャート ステップS30の一例を示すフローチャート 乱数信号VRSの波形図 疑似乱数列の周期が短くなる例を示す図 固定周波数方式の周波数スペクトル図 スイッチング回路の一構成例を示す回路図(第1実施形態) 乱数信号生成部の一構成例を示すブロック図 パルス信号生成部の一動作例を示すタイミングチャート 第1実施形態におけるVRSを示す波形図 第1実施形態におけるVRS、VRT、VQの相関関係を示す波形図 第1実施形態におけるVgs、Vds、Idsの相関関係を示す波形図 第1実施形態におけるVgsの周波数スペクトル図 第1実施形態におけるVdsの周波数スペクトル図 第1実施形態におけるIdsの周波数スペクトル図 DC/DCコンバータの一構成例を示す回路図(第2実施形態) 第2実施形態におけるVRSを示す波形図 第2実施形態におけるVRS、VRTの相関関係を示す波形図 第2実施形態におけるVgs、Vds、Idsの相関関係を示す波形図 第2実施形態におけるVoutの波形図 第2実施形態におけるVgsの周波数スペクトル図 第2実施形態におけるVdsの周波数スペクトル図 第2実施形態におけるIdsの周波数スペクトル図 第2の乱数生成方法の一例を示すフローチャート 集合{(x,y)}を2次元空間にプロットした図 スペクトラム拡散信号発生器の一構成例を示す図 初期値設定部の一構成例を示す図 初期値設定動作の一例を示すタイミングチャート 乗算動作の一例を示す図 乗算部の一構成例を示す図 ビットY18の経時変化を示す図 条件判定部の一構成例を示す図 カウンタの一構成例を示す図 カウント動作の一例を示すタイミングチャート 周波数決定部の一構成例を示す図 目標カウント値更新動作の一例を示すタイミングチャート デューティ設定動作の一例を示すタイミングチャート スペクトラム拡散信号の周波数スペクトル図 DC/DCコンバータの一構成例を示す回路図(第3実施形態) 第3実施形態におけるVgs、Vds、Idsの相関関係を示す波形図 第3実施形態におけるVout及びVRTの波形図 第3実施形態におけるVgsの周波数スペクトル図 第3実施形態におけるVdsの周波数スペクトル図 第3実施形態におけるIdsの周波数スペクトル図
<第1の乱数生成方法>
図1は、第1の乱数生成方法(=無理数rのp進数展開を利用した乱数生成方法)の一例を示すフローチャートである。本フローが開始されると、まず、ステップS10において、無理数rがn進数表記(ただしnは2以上の整数)で設定される。なお、無理数rに代えて、計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数sをn進数表記で設定してもよい。
次に、ステップS20では、無理数rまたは有理数sのp進数展開(ただしpは2以上の整数であって、p≠n、かつ、p>rまたはp>s)が行われる。例えば、10進数表記された無理数r(10)のp進数展開は、次の(1)式で表すことができる。なお、p>rである場合、p進数展開された無理数rの整数部は、一桁(aのみ)となる。
Figure 0006980407
ここで、rが無理数である場合には、p進数展開により取得された数列(a、a−1、a−2、…)を無限周期の乱数列として取り扱うことができる。そこで、続くステップS30では、上記の数列(a、a−1、a−2、…)、または、これに演算処理を施したもの(詳細は後述)が乱数信号として出力される。
図2は、ステップS20の一例を示すフローチャートである。先にも述べたように、ステップS20では、無理数rのp進数展開を利用して乱数列(a、a−1、a−2、…)が取得される。以下では、図2とともに、次の(2a)式〜(2c)式を適宜参照しながら、ステップS20での演算処理について詳述する。
Figure 0006980407
本フローが開始されると、まず、ステップS21において、無理数rのp進数展開が行われる。ここでのp進数展開は、上記の(2a)式で表すことができる。
次に、ステップS22では、p進数展開された無理数rの整数部aが抽出される。そして、ステップS23では、整数部aが乱数列の第1項として出力される。
次に、ステップS24では、p進数展開された無理数rの小数部(r−a)が抽出される。また、ステップS25では、小数部(r−a)にpを乗ずることにより、小数部(r−a)を1桁繰り上げた無理数(r−a)pが新たに生成される。なお、更新後の無理数(r−a)pは、上記の(2b)式で表すことができる。
その後、フローがステップS22に戻り、無理数(r−a)pの整数部a−1が抽出される。そして、ステップS23では、整数部a−1が乱数列の第2項として出力される。
次に、ステップS24では、無理数(r−a)pの小数部{(r−a)p−a−1}が抽出される。また、ステップS25では、小数部{(r−a)p−a−1}にpを乗ずることにより、小数部{(r−a)p−a−1}を1桁繰り上げた無理数{(r−a)p−a−1}pが新たに生成される。なお、更新後の無理数{(r−a)p−a−1}pは、上記の(2c)式で表すことができる。
その後、フローがステップS22に戻り、無理数{(r−a)p−a−1}pの整数部a−2が抽出される。そして、ステップS23では、整数部a−2が乱数列の第3項として出力される。
以降も上記一連の処理が繰り返されることにより、乱数列(a、a−1、a−2、…)の取得が継続される。
具体例として、√2の2進数展開を利用した乱数列(a、a−1、a−2、…)の取得処理は、次の(3a)式〜(3c)式で表すことができる。
Figure 0006980407
また、πの5進数展開を利用した乱数列(a、a−1、a−2、…)の取得処理は、次の(4a)式〜(4c)式で表すことができる。
Figure 0006980407
次に、p進数展開の技術的意義について説明する。理論的には、n進数表記された無理数rの各桁値をそのまま利用しても、乱数列を生成することは可能である。例えば、10進数表記された無理数(例えば√2=1.4142…)の各桁値をそのまま利用すれば、乱数列(例えば1、4、1、4、2、…)を生成することができる。
しかしながら、実機での乱数生成処理を考えた場合には、マイコンで取り扱うことのできる有効桁数が重要となる。例えば、√2から乱数列を生成するに際して、マイコンが小数点以下1桁しか取り扱うことのできない極端なケースを考える。
このケースでは、r(10)=1.4となるので、各桁値をそのまま利用した場合、a=1、a−1=4、a−2以降は全て0となり、乱数列を生成することができない。
一方、r(10)=1.4のp進数展開(例えばp=3)を利用すれば、次の(5a)式〜(5d)式で示したように、a=1、a−1=1、a−2=0、a−3=1、…となり、a−4以降も同様の演算で乱数列の生成を継続することができる。
Figure 0006980407
以上より、実機での乱数生成処理を考えた場合には、無理数rの各桁値をそのまま乱数として利用するのではなく、p進数展開を利用して乱数列を生成することが重要となる。
なお、上記の乱数列(a、a−1、a−2、…)をそのまま乱数信号として出力することもできるが、より階調数の大きい乱数信号を生成するためには、上記の乱数列(a、a−1、a−2、…)に適切な演算処理を施して乱数信号を生成することが望ましい。以下では、この点について、図3を参照しながら詳細に説明する。
図3は、ステップS30で実施される演算処理の一例を示すフローチャートである。本フローが開始されると、まず、ステップS31において、変数iの初期設定(i=0)が行われる。
次に、ステップS32では、乱数列(a、a−1、a−2、…)をm桁ずつ(ただしmは2以上の整数)に区切り、これを10進数表記することにより、有理数Aが生成される。なお、有理数Aは、次の(6a)式で表すことができる。例えば、m=3の場合、A=a+a−1p+a−2となり、A=a−3+a−4p+a−5となる。また、aの最大値は(p−1)であることから、有理数Aの最大値Amaxは、次の(6b)式で表すことができる。
Figure 0006980407
次に、ステップS33では、有理数Aに応じた乱数信号VRSの信号値Vが算出される。なお、乱数信号VRSの最大値及び最小値をVmax及びVminとしたとき、乱数信号VRSの信号値Vは、次の(7)式で表すことができる。
Figure 0006980407
その後、ステップS34では、変数iが一つインクリメントされて、フローがステップS32に戻される。以降も、ステップS32〜S34が繰り返されることにより、有理数Aが順次生成され、これに応じて乱数信号VRSの信号値Vが順次切り替えられる。
図4は、上記の演算処理により生成される乱数信号VRS(r=√2、p=3、m=10の場合)の波形図である。本図で示したように、乱数信号VRSは、時間の経過(=変数iのインクリメント)に伴い、最大値Vmaxと最小値Vmin(本図の例では、Vmax=4.62V、Vmin=4.18V)との間で不規則的に変動する。
なお、無理数rのp進数展開で得られる乱数列自体は、0〜(p−1)の値しか取り得ない。例えば、2進数展開で得られる乱数は0か1となり、5進数展開で得られる乱数は0〜4のいずれかとなる。従って、無理数rのp進数展開で得られる乱数列をそのまま乱数信号VRSとして出力する場合には、その階調数を高めることが難しい。
一方、上記の演算処理によって生成される乱数信号VRSは、(Amax+1)個の値を取り得るので、その階調数を大幅に高めることが可能となる。
次に、マイコンの数値計算時に桁落ち(=疑似乱数列の周期短縮)が生じる場合の擬似乱数生成方法について、図5を参照しながら説明する。
図5は、疑似乱数列の周期が短くなる例(r=√2、p=2の場合)を示す図である。なお、本図には、疑似乱数列の生成と共に順次繰り上げられていく小数部(=先出の(2b)式または(2c)式を参照)が10進数表記で順次記載されている。
マイコンを用いて数値計算を行う場合、その計算精度は有限の有効桁数L(例えば小数点以下18桁)によって決まる。すなわち、マイコンを用いた数値計算では、無理数rを用いることと、有効桁数L以上の桁数に亘って循環しない小数部を持つ有理数sを用いることとは等価である。なお、当然のことながら、疑似乱数列の周期は、有効桁数Lが大きいほど長くなる。
ところで、疑似乱数列の生成処理(=整数部の抽出処理)では、小数部にpを乗じて順次桁上げを繰り返す必要がある(図2のステップS25を参照)。しかしながら、小数部の末桁で偶数と5の倍数が掛け合わされると、新たな小数部の末桁に0が生じるので、疑似乱数列の周期が短くなっていく(図中の太枠内を参照)。
これを鑑みると、pは5の倍数でない奇数とすることが望ましい。このような設定を行うことにより、十分に長い周期の擬似乱数列を生成することが可能となる。
なお、疑似乱数列の出力に際しては、p進数展開により取得される数列から所定長の部分数列を切り出し、その部分数列を反復して疑似乱数列を生成するようにしてもよい。
<乱数利用例>
図6は、固定周波数方式の周波数スペクトル図である。本図の黒線は、第1矩形波信号(500kHz固定)について、周波数毎の信号強度を示した周波数スペクトルである。一方、本図のグレー線は、第2矩形波信号(10MHz固定)について、周波数毎の信号強度を示した周波数スペクトルである。
双方の周波数スペクトル(黒線、グレー線)を対比すれば分かるように、固定周波数方式で高周波駆動を行うと、高周波領域のピーク強度が大きくなるので、放射ノイズや伝導ノイズが増大する。
一方、駆動周波数に変調を掛けるスペクトラム拡散方式を採用すれば、固定周波数方式の基本的な周波数ノイズレベルに対して、一定の減衰量を得ることが可能となる。特に、駆動周波数の変調手段としては、これまでに説明してきた乱数信号VRSを好適に用いることが可能である。
以下では、乱数信号VRSを用いたスペクトラム拡散方式について、具体例を挙げながら詳細に説明する。
<第1実施形態>
図7は、スイッチング回路の一構成例を示す回路図(第1実施形態)である。本実施形態のスイッチング回路1は、矩形波信号VQを生成するパルス発振器10と、矩形波信号VQに応じて出力スイッチN1(本図ではNMOSFET)をオン/オフさせる駆動部20とを有し、入力電圧Vinの印加端と出力スイッチN1との間に接続された負荷抵抗RL1を駆動する。
パルス発振器10は、これまでに説明してきた乱数生成方法を用いて乱数信号VRSを生成する乱数信号生成部110と、乱数信号VRSに応じた発振周波数のパルス信号(ここでは矩形波信号VQ)を生成するパルス信号生成部120と、を含む。
パルス信号生成部120は、コンパレータ121と、Dフリップフロップ122と、積分回路123と、ローパスフィルタ124と、コンパレータ125と、を含む。
コンパレータ121は、非反転入力端(+)に入力される乱数信号VRSと反転入力端(−)に入力される三角波信号VRTとを比較してクリア信号CLRを生成する。クリア信号CLRは、乱数信号VRSが三角波信号VRTよりも高いときにハイレベルとなり、乱数信号VRSが三角波信号VRTよりも低いときにローレベルとなる。
Dフリップフロップ122は、クロック信号CLKとクリア信号CLRの入力を受けて矩形波信号VQを出力する順序回路である。例えば、Dフリップフロップ122は、クロック信号CLKの立上りエッジを受けて矩形波信号VQをハイレベル(=データ端(D)に印加されている電源電圧Vcc)とし、クリア信号CLRの立上りエッジを受けて矩形波信号VQをローレベル(=GND)とする。
積分回路123は、参照電圧Vref1を基準として矩形波信号VQを積分することにより三角波信号VRTを生成する手段であり、オペアンプAMP1と、抵抗R1と、キャパシタC1と、を含む。オペアンプAMP1の非反転入力端(+)には、参照電圧Vref1が印加されている。一方、オペアンプAMP1の反転入力端(−)には、抵抗R1を介して矩形波信号VQが印加されている。また、オペアンプAMP1の反転入力端(−)と出力端との間には、キャパシタC1が接続されている。
ローパスフィルタ124は、抵抗R2とキャパシタC2から成るRCフィルタであり、三角波信号VRTから高周波成分を除去する。
コンパレータ125は、非反転入力端(+)に入力される三角波信号VRTと反転入力端(−)に入力される参照電圧Vref2を比較してクロック信号CLKを生成する。クロック信号CLKは、三角波信号VRTが参照電圧Vref2よりも高いときにハイレベルとなり、三角波信号VRTが参照電圧Vref2よりも低いときにローレベルとなる。
なお、見方を変えると、本構成例のパルス発振器10は、基本周波数を有するキャリア波を生成するキャリア波生成手段と、周波数掃引信号を発生させる周波数掃引手段と、キャリア波に基づいてパルス信号を生成するパルス生成手段と、を備えており、キャリア波生成手段は、周波数掃引信号に応じてキャリア波の周波数を不規則的に変化させる構成であると言うこともできる。
図8は、乱数信号生成部110の一構成例を示すブロック図である。本構成例の乱数信号生成部110は、マイコン111と、マスタクロック源112と、メモリ113と、DAC114と、を含む。
マイコン111は、マスタクロックMCLKに同期して動作し、これまでに説明してきた乱数生成方法を用いて乱数信号VRSを生成するためのデジタル計算機である。
マスタクロック源112は、マイコン111を駆動するためのマスタクロックMCLKを生成する。
メモリ113は、マイコン111のプログラム格納領域及び作業領域として用いられる半導体記憶手段である。
DAC114は、マイコン111から入力されるデジタルの乱数信号をアナログの乱数信号VRSに変換して出力する。
このように、本構成例の乱数信号生成部110であれば、マイコン111でのデジタル演算処理によって所望の乱数信号VRS(=十分な長さの周期を持つ疑似乱数列)を生成することができるので、回路規模の増大とは無縁である。
図9は、パルス信号生成部120の一動作例を示すタイミングチャートであり、上から順に、矩形波信号VQ、三角波信号VRT、クロック信号CLK、及び、クリア信号CLRが描写されている。
時刻t1において、三角波信号VRTが乱数信号VRSよりも低くなると、クリア信号CLRがハイレベルに立ち上がる。その結果、矩形波信号VQがローレベル(=GND)に立ち下がるので、その後、三角波信号VRTが下降から上昇に転じる。
時刻t2において、三角波信号VRTが参照電圧Vref2よりも高くなると、クロック信号CLKがハイレベルに立ち上がる。その結果、矩形波信号VQがハイレベル(=Vcc)に立ち上がるので、その後、三角波信号VRTが上昇から下降に転じる。
時刻t2以降も、上記と同様の動作が繰り返されることにより、矩形波信号VQの生成が継続される。
なお、乱数信号生成部110で生成される乱数信号VRSは、これまでに説明してきた乱数生成方法により、その信号値が不規則に変動する。また、乱数信号VRSが不規則に変動すると、これに伴って矩形波信号VQの駆動周波数fも不規則に変動する。
このように、本構成例のパルス発振器10であれば、乱数信号VRSを用いて駆動周波数fに変調を掛けることができるので、スペクトラム拡散方式の作用効果により、固定周波数方式の基本的な周波数ノイズレベルに対して一定の減衰量を得ることが可能となる。
図10は、第1実施形態における乱数信号VRSの波形図である。図11は、第1実施形態における乱数信号VRS、三角波信号VRT、及び、矩形波信号VQの相関関係を示す波形図である。図12は、シミュレーションにより得られた第1実施形態における出力スイッチN1のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsの相関関係を示す波形図である。
なお、上記の各波形図は、r=√2、p=3、m=10、乱数信号VRSが4.41Vを中心値として±0.7%の変動幅を持つ場合(Vmax=4.441V、Vmin=4.379V)に得られたものである。
図13〜図15は、第1実施形態における出力スイッチN1のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数fを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数fに疑似乱数変調を掛けた場合の周波数スペクトルを示している。
各図を参照すれば分かるように、駆動周波数fに疑似乱数変調を掛けた場合には、駆動周波数fを固定した場合と比べて、出力スイッチN1のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、並びに、ドレイン・ソース間電流Idsの全てにおいて、最大で10dB程度のノイズ低減を達成することが可能となる。
<第2実施形態>
図16は、DC/DCコンバータの一構成例を示す回路図(第2実施形態)である。本実施形態のDC/DCコンバータ2は、先出のパルス発振器10と、スイッチ出力部30と、帰還電圧生成部40と、エラーアンプ50と、位相補償部60と、コンパレータ70と、駆動部80と、を有する。
パルス発振器10は、基本的に図7と同様の構成であるが、矩形波信号VQではなく、三角波信号VRTを出力する。
スイッチ出力部30は、入力電圧Vinを降圧して所望の出力電圧Voutを生成して負荷抵抗RL2に供給する出力段であり、出力スイッチN2(本図ではNMOSFET)と、ダイオードD1と、インダクタL1と、キャパシタC3と、を含む。出力スイッチN2のドレインは、入力電圧Vinの入力端に接続されている。出力スイッチN2のソースは、ダイオードD1のカソードとインダクタL1の第1端に接続されている。出力スイッチN2のゲートは、駆動部80の出力端に接続されている。インダクタL1の第2端とキャパシタC3の第1端は、出力電圧Voutの出力端に接続されている。ダイオードD1のアノードとキャパシタC3の第2端は、接地端に接続されている。
このように、本実施形態では、ダイオード整流方式による降圧型のスイッチ出力部30が用いられている。ただし、スイッチ出力部30の構成は何らこれに限定されるものではなく、例えば、ダイオードD1を同期整流トランジスタに置き換えても構わない。また、昇圧型、昇降圧型、ないしは、反転型のスイッチ出力部30を用いることも任意である。
帰還電圧生成部40は、出力電圧Voutの出力端と接地端との間に直列接続された抵抗R3及びR4を用いることにより、出力電圧Voutに応じた帰還電圧Vfb(=出力電圧Voutの分圧電圧)を生成する。なお、出力電圧Voutがエラーアンプ50の入力ダイナミックレンジに収まっている場合には、帰還電圧生成部40を割愛し、出力電圧Voutをエラーアンプ50に直接入力することも可能である。
エラーアンプ50は、オペアンプAMP2と、抵抗R5及びR6と、キャパシタC4とを含み、帰還電圧Vfbと所定の参照電圧Vrefとの差分に応じた誤差信号Verrを生成する。オペアンプAMP2の非反転入力端(+)は、参照電圧Vrefの印加端に接続されている。オペアンプAMP2の反転入力端(−)は、帰還電圧Vfbの印加端に接続されている。また、オペアンプAMP2の反転入力端(−)と出力端との間には、抵抗R6とキャパシタC4が並列接続されている。なお、誤差信号Verrは、帰還電圧Vfbが参照電圧Vrefよりも低いときに上昇し、帰還電圧Vfbが参照電圧Vrefよりも高いときに低下する。
位相補償部60は、抵抗R7とキャパシタC5から成るRCローパスフィルタであり、誤差信号Verrが発振しないように位相補償を行う。
コンパレータ70は、非反転入力端(+)に入力される誤差信号Verrと、反転入力端(−)に入力される三角波信号VRTとを比較して、パルス幅変調されたデューティ信号Sdを生成する。デューティ信号Sdは、誤差信号Verrが三角波信号VRTよりも高いときにハイレベルとなり、誤差信号Verrが三角波信号VRTよりも低いときにローレベルとなる。
駆動部80は、入力電圧Vinから所望の出力電圧Voutが生成されるように、デューティ信号Sdに応じて出力スイッチN2をオン/オフさせる。より具体的に述べると、駆動部80は、デューティ信号Sdがハイレベルであるときに出力スイッチN2をオンとし、デューティ信号Sdがローレベルであるときに出力スイッチN2をオフとするようにゲート制御を行う。
図17は、第2実施形態における乱数信号VRSの波形図である。図18は、第2実施形態における乱数信号VRSと三角波信号VRTの相関関係を示す波形図である。図19は、シミュレーションにより得られた第2実施形態における出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsの相関関係を示す波形図である。図20は、第2実施形態における出力電圧Voutを示す波形図である。
なお、上記の各波形図は、r=√2、p=3、m=10、乱数信号VRSが0.7Vを中心値として±2%の変動幅を持つ場合(Vmax=0.714V、Vmin=0.686V)に得られたものである。
図21〜図23は、第2実施形態における出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数fを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数fに疑似乱数変調を掛けた場合の周波数スペクトルを示している。
各図を参照すれば分かるように、駆動周波数fに疑似乱数変調を掛けた場合には、駆動周波数fを固定した場合と比べて、出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、並びに、ドレイン・ソース間電流Idsの全てにおいて、最大で10dB程度のノイズ低減を達成することが可能となる。
<第2の乱数生成方法>
図24は、第2の乱数生成方法の一例を示すフローチャートである。本フローが開始されると、まず、ステップS41において、変数kの初期設定(k=1)が行われる。
次に、ステップS42では、入力信号Pの初期値(=P)として、0以外の実数Sが設定される。なお、乱数の種となる実数Sとしては、例えば、無理数(または計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数)や素数が好適である。
次に、ステップS43では、入力信号Pに所定の乗算処理(=係数rの乗算処理)が施されて乗算信号rPが算出される。
次に、ステップS44では、乗算信号rPに所定の条件判定処理が施されて入力信号Pの更新値(=次回の入力信号Pk+1)が設定される。
その後、ステップS45では、変数kが一つインクリメントされて、フローがステップS43に戻される。以降も、ステップS43〜S45が繰り返されることにより、乗算信号rPが順次生成され、その一部または全部、若しくは、これに所定の演算処理を施したものが乱数信号として出力される。例えば、乗算信号rPが2進数で表記されるデジタル信号である場合には、その任意のビットを乱数信号として利用することができる。
<条件判定処理>
次に、ステップS44における条件判定処理のアルゴリズムについて説明する。上記の条件判定処理では、乗算信号rPの信号値とL個の閾値K〜K(ただし、Lは2以上の整数であり、K<K<…<K)とがそれぞれ比較され、次の(8)〜(8)式に照らし合わせて、入力信号Pの更新値(=次回の入力信号Pk+1)が設定される。
Figure 0006980407
なお、実数Sを2進数で表記されるNビット(例えばN=19)のデジタル信号S(2)としたときには、入力信号P及び乗算信号rPもデジタル信号となる。このとき、閾値K〜Kをそれぞれ2N−L+2〜2N+1に設定すると、先出の(8)〜(8)式は、次の(9)〜(9)式として書き改めることができる。
Figure 0006980407
このように、ステップS44における条件判定処理では、乗算信号rPの信号値と複数の閾値K〜Kとがそれぞれ比較され、乗算信号の信号値rP、若しくは、乗算信号rPの信号値から複数の閾値K〜Kのいずれかを差し引いた差分値が入力信号Pの更新値(=次回の入力信号Pk+1)として設定される。
<乱数性評価>
次に、上記一連のフローで生成される乱数信号の評価手法について説明する。乱数信号の評価に際しては、まず、乱数信号(=乗算信号rP)が0≦x≦1(ただしiは正の整数であり、ここではi=1,2,…,n)を満たす実数の集合{x}として正規化される。例えば、R=rPとして、集合{R}(ただしRmin≦R≦Rmax)を作成し、次の(10)式を用いて実数xを求めればよい。
Figure 0006980407
また、乗算信号rPがデジタル信号であり、その下位からm番目のビット(ここではrPkmと表わす)を乱数信号として利用する場合には、a1(2)=[rP1mrP2m…rP19m],a2(2)=[rP20mrP21m…rP38m],…,an(2)=[rP(19n−18)mrP(19n−17)m…rP19nm]というように、例えば、乱数列(rP1m,rP2m,…,rP19nm)を19桁ずつに区切り、次の(11)式を用いて実数xを求めればよい。
Figure 0006980407
次に、上記で求められた実数の集合{x}から2次元空間における実数ベクトルの集合{(x,y)=(x,x),(x,x),…,(x,x)}が生成される。これは、写像f:{x}→{(x,y)}として定義される。
そして、次の(12)式により、相関係数rxyが算出される。
Figure 0006980407
図25は、実数ベクトルの集合{(x,y)}を2次元空間にプロットした図である。まず、本図左側には、第1条件(S=√2−1,r=3,L=2,K=1,K=2,n=65535)で集合{x}を生成したときの結果が示されている。本図から明らかなように、第1条件において、実数ベクトル(x,y)は、2次元空間に一様に分散していることが分かる。なお、相関係数rxyは、−3.4×10−3であった。
また、本図中央には、第2条件(S=17,r=3,L=2,N=19,K=219,K=220,n=65535)で集合{x}を生成したときの結果が示されている。本図から明らかなように、第2条件でも、実数ベクトル(x,y)は、2次元空間に一様に分散していることが分かる。なお、相関係数rxyは、2.9×10−3であった。
一方、本図の右側には、線形帰還シフトレジスタ(LFSR[linear feedback shift register])を使用し、所定の条件(ビット数=16,n=65535)で集合{x}を生成したときの結果が示されている。本図から明らかなように、LFSRを用いる従来の乱数生成方法では、実数ベクトル(x,y)が2次元空間に一様に分散していないことが分かる。なお、相関係数rxyは0.5であった。
このように、第2の乱数生成方法を用いて生成された乱数信号を0≦x≦1(ただしiは正の整数)を満たす実数の集合{x}として正規化し、実数の集合{x}から実数ベクトルの集合{(x,y)=(x,x),(x,x),…,(x,x)}を生成したときには、相関係数rxyが0≦rxy<0.5を満たすものとなる。従って、従来の乱数生成方法と比べて、乱数性の高い乱数信号を生成することが可能となる。特に、LFSRを用いる従来の乱数生成方法では、相関係数Rxyが0.5なので、モンテカルロシミュレーションや暗号化処理を行う計算システムには用いることができないが、第2の乱数生成方法であれば、相関係数Rxyが十分に小さいので、上記の計算システムにも好適に用いることが可能である。
<スペクトラム拡散信号発生器>
図26は、スペクトラム拡散信号発生器の一構成例を示す図である。本構成例のスペクトラム拡散信号発生器200は、乱数信号生成回路200Aと、パルス信号生成回路200Bと、を有するパルス発振器の一種である。
乱数信号生成回路200Aは、先に説明した第2の乱数信号生成方法を用いて乱数信号(=乗算信号rP)を生成する回路ブロックであり、初期値設定部210と、乗算部220と、条件判定部230と、を含む。
パルス信号生成回路200Bは、乗算信号rPに応じた発振周波数のパルス信号を生成し、これをスペクトラム拡散信号VSSとして出力する回路ブロックであり、カウンタ240と、周波数決定部250と、を含む。
初期値設定部210は、入力信号Pの初期値(=P)として、0以外の実数Sを設定する。
乗算部220は、入力信号Pに所定の乗算処理(=係数rの乗算処理)を施して乗算信号rPを算出する。
条件判定部230は、乗算信号rPに所定の条件判定処理を施して入力信号Pの更新値(=次回の入力信号Pk+1)を設定する。
なお、乱数信号生成回路200Aでは、上記の乗算処理と条件判定処理が繰り返されることにより、乗算信号rPが順次生成され、その一部または全部、若しくは、これに所定の演算処理を施したものが乱数信号として出力される。例えば、乗算信号rPが2進数で表記されるデジタル信号である場合には、その任意のビットを乱数信号として利用することができる。この点については、先述の通りである。
カウンタ240は、クロック信号PWMのパルスカウント値M1を出力する。
周波数決定部250は、パルスカウント値M1と乱数信号rPに応じた目標カウント値M2(後述)とを比較して、スペクトラム拡散信号VSSの発振周波数を決定する。
以下では、S=17d(=000…10001b),r=3,L=2,N=19,K=219,K=220である場合を例に挙げて、上記各部の構成及び動作を説明する。ただし、これとは異なる条件を用いることも任意である。
また、以下では、入力信号P及び乗算信号rPに付されている添え字kを必要のない限り割愛し、それぞれ、入力信号P及び乗算信号rP(=3P)と略記する。
<初期値設定部>
図27は、初期値設定部210の一構成例を示す図である。今、入力信号Pの各ビットを下位ビットから順に、A1〜A21(ただしビットA20及びA21は演算用(後述)であり常に0)と定義する。この場合、入力信号Pを初期値S=17d(=000…10001b)に設定するためには、ビットA1及びA5を「1」とし、その他のビットを全て「0」とすればよいことが分かる。
なお、入力信号Pの初期値Sとこれに乗算される係数rが共に奇数なので、ビットA1については、常に「1」(=ハイレベル電位V1)に維持しておけばよい。従って、初期値設定部210では、実質的に、ビットA5の初期値設定のみを行えばよいことになる。本構成例の初期値設定部210は、これを実現するための手段として、RSフリップフロップ211と、抵抗212と、キャパシタ213と、ORゲート214と、を含む。
RSフリップフロップ211のセット端(S)と抵抗212の第1端は、信号Vsの入力端に接続されている。抵抗212の第2端とキャパシタ213の第1端(=信号Vrの出力端)は、RSフリップフロップ211のリセット端(R)に接続されている。キャパシタ213の第2端は、接地端に接続されている。RSフリップフロップ211の出力端(Q)(=信号Vqの出力端)は、ORゲート214の第1入力端に接続されている。ORゲート214の第2入力端は、信号AA5(後述)の入力端に接続されている。ORゲート214の出力端は、ビットA5の出力端に相当する。
上記構成から成る初期値設定部210において、抵抗212とキャパシタ213は、信号Vsを平滑して信号Vrを生成する。従って、信号Vrの波形は、信号Vsのエッジを鈍らせた波形となる。RSフリップフロップ211は、信号Vsが閾値Vthを上回ったときに信号Vqをハイレベルにセットし、信号Vrが閾値Vthを上回ったときに信号Vqをローレベルにリセットする。ORゲート214は、信号Vqと信号AA5の論理和信号をビットA5として出力する。従って、ビットA5は、信号Vqと信号AA5の少なくとも一方がハイレベルであるときにハイレベルとなり、信号Vqと信号AA5の双方がローレベルであるときにローレベルとなる。
図28は、初期値設定部210による初期値設定動作の一例を示すタイミングチャートであり、上から順に、信号Vs(実線)及び信号Vr(破線)、信号Vq、信号AA5、並びに、ビットA5が描写されている。
時刻t11において、信号Vsがハイレベルに立ち上げられると、信号Vrはこれに伴って緩やかに上昇を開始する。その結果、Vs>Vth、Vr<Vthとなるので、信号Vqがハイレベルにセットされる。従って、ビットA5は、信号AA5の論理レベルに依ることなく、ハイレベル(=初期値「1」に相当)に固定される。
その後、時刻t12において、Vr>Vthになると、信号Vqがローレベルにリセットされる。従って、時刻t12以降、ビットA5として信号AA5がスルー出力される。
なお、ビットA1〜A19についても、必要に応じて上記と同様の回路を用いることにより、それぞれの初期値を「1」に設定することができる。従って、19ビットの入力信号Pについて言えば、その初期値Sを「0000…0001b」(=1d)〜「1111…1111b」(=524287d)の範囲で任意に設定することが可能である。
また、ビットA1及びA5以外の初期値を「0」とする初期設定動作については、信号Vrを用いて実現することができる。この点については、条件判定部230の構成及び動作の説明と併せて後述する。
<乗算部>
N=19である場合、入力信号Pの数値範囲は、1d〜524287dとなり、これを3倍して得られる乗算信号3Pの数値範囲は、3d〜1572861dとなる。従って、乗算信号3Pを2進数で表記するためには、21ビットが必要となる。
ここで、10進数表記の乗算信号3P(10)は、次の(13)式で表すことができる。
Figure 0006980407
従って、入力信号Pを「A19A18A17…A3A2A1」というように2進数で表記し、乗算信号3Pを「Y21Y20Y19Y18…Y4Y3Y2Y1」というように2進数で表記した場合、乗算部220による乗算動作は、図29で示す演算処理となる。なお、本図中のC1〜C19は、それぞれ、繰上がりビットを示している。
図29の演算処理を論理式で表わすと、次の(14)〜(14)21式のようになる。ただし、この論理式はあくまでも一例であり、同様の演算結果が得られる論理式は、この限りではない。
Figure 0006980407
図30は、上記の演算処理を実施する乗算部220の一構成例を示す図である。本構成例の乗算部220は、XORゲートa1〜a58と、ANDゲートb1〜b37と、ORゲートc1〜c18と、を含む。
XORゲートa1は、ビットA1とビットA2との排他的論理和信号をビットY2として出力する。この論理演算処理は、(14)式に相当する。
ANDゲートb1は、ビットA1とビットA2との論理積信号(=繰上がりビットC1に相当)を出力する。XORゲートa2は、b1出力とビットA2との排他的論理和信号を出力する。XORゲートa3は、a2出力とビットA3との排他的論理和信号をビットY3として出力する。これらの論理演算処理は、(14)式に相当する。
ANDゲートb2は、ビットA2とビットA3との論理積信号を出力する。XORゲートa6は、ビットA2とビットA3との排他的論理和信号を出力する。ANDゲートb3は、b1出力とa6出力との論理積信号を出力する。ORゲートc1は、b2出力とb3出力との論理和信号(=繰上がりビットC2に相当)を出力する。XORゲートa4は、c1出力とビットA3との排他的論理和信号を出力する。XORゲートa5は、a4出力とビットA4との排他的論理和信号をビットY4として出力する。
ANDゲートb4は、ビットA3とビットA4との論理積信号を出力する。XORゲートa7は、ビットA3とビットA4との排他的論理和信号を出力する。ANDゲートb5は、c1出力とa7出力との論理積信号を出力する。ORゲートc2は、b4出力とb5出力との論理和信号(=繰上がりビットC3に相当)を出力する。XORゲートa8は、c2出力とビットA4との排他的論理和信号を出力する。XORゲートa9は、a8出力とビットA5との排他的論理和信号をビットY5として出力する。
ビットY6〜Y20の生成回路は、それぞれ、ビットY5の生成回路と基本的に同様であり、3つのXORゲート、2つのANDゲート、及び、1つのORゲートが繰り返して配置されている。そこで、ビットY6〜Y20の生成回路については、重複した説明を割愛し、ビットY21以降の生成回路について説明を続ける。
ANDゲートb36は、ビットA19とビットA20との論理積信号を出力する。XORゲートa55は、ビットA19とビットA20との排他的論理和信号を出力する。ANDゲートb37は、c17出力とa55出力との論理積信号を出力する。ORゲートc18は、b36出力とb37出力との論理和信号(=繰上がりビットC19に相当)を出力する。XORゲートa56は、c18出力とビットA20(=常に0)との排他的論理和信号(すなわち繰上がりビットC19そのもの)をビットY21として出力する。これらの論理演算処理は、(14)21式に相当する。
XORゲートa57は、ビットY20とビットY20との排他的論理和信号を生成し、これを条件判定処理用の信号YY20(=常に0)として条件判定部220に出力する。
XORゲートa58は、ビットY21とビットY21との排他的論理和信号を生成し、これを条件判定処理用の信号YY21(=常に0)として条件判定部220に出力する。
ただし、上記の論理回路はあくまでも一例であり、同様の演算結果が得られる論理回路は、この限りではない。
図31は、ビットY18の経時変化を示す図である。本図から分かるように、ビットY18は、ランダムに、「0」(=0V)と「1」(=5V)を取る。そこで、以下では、ビットY18を乱数信号として利用する例を挙げて説明を行う。ただし、乗算信号3Pの各ビットのうち、いずれを乱数信号と利用しても構わない。また、乗算信号3Pそのものを乱数信号として利用することも可能である。
<条件判定部>
図32は、条件判定部230の一構成例を示す図である。本構成例の条件判定部230は、ANDゲートd2〜d19と、Dフリップフロップe2〜e21と、を含む。
ANDゲートd2〜d19は、それぞれ、信号Vr(先出の図27を参照)とビットY2〜Y19との論理積信号を出力する。従って、信号Vrがローレベルに維持されている間、d2出力〜d19出力は、ビットY2〜Y19それぞれの論理レベルに依ることなくローレベルに固定される。一方、信号Vrがハイレベルに立ち上がると、それ以降、ビットY2〜Y19がd2出力〜d19出力としてスルー出力される。このような論理演算処理により、ビットA2〜A19(ただしビットA5を除く)の初期値を「0」に設定することができる。
Dフリップフロップe2〜e21は、それぞれ、クロック端に入力されるクロック信号PWMに同期して、データ端(D)への入力信号をラッチし、これを出力端(Q)から出力する。より具体的に述べると、Dフリップフロップe2〜e4及びe6〜e19は、それぞれ、d2出力〜d4出力及びd6出力〜d19出力をラッチし、これをビットA2〜A4及びA6〜A19として出力する。
Dフリップフロップe5は、d5出力をラッチし、これを信号AA5として出力する。なお、信号AA5は、初期値設定部210によるビットA5の初期値設定処理(=信号Vqとの論理和演算処理)に供される。
Dフリップフロップe20及びe21は、それぞれ、信号YY20及びYY21をラッチし、これをビットA20及びA21として出力する。
また、Dフリップフロップe2〜e21それぞれの出力論理レベルは、プリセット信号PREに応じてハイレベルにプリセットされ、クリア信号CLRに応じてローレベルにリセットされる。
本構成例の条件判定部230は、信号Vrがハイレベルに立ち上げられて以降、ビットY2〜Y19をそれぞれビットA2〜A19としてそのままラッチする一方、ビットA20及びA21として常に「0」を出力する。この信号処理は、乗算信号3Pと閾値219及び220とをそれぞれ比較し、次の(15)〜(15)式に照らし合わせて、入力信号Pの更新値(=次回の入力信号Pk+1)を設定していることに他ならない。
Figure 0006980407
<カウンタ>
図33は、カウンタ240の一構成例を示す図である。本構成例のカウンタ240は、Dフリップフロップf1〜f8を含み、それぞれの出力信号Q1〜Q8をパルスカウント値M1(=0d〜255d)の各ビットとして出力する。すなわち、パルスカウント値M1は、「Q8Q7Q6Q5Q4Q3Q2Q1」という8ビットの2進数で表記される。
Dフリップフロップf1は、クロック端に入力されるクロック信号PWMに同期して、データ端(D)への入力信号(=反転出力信号Q1B)をラッチし、これを出力信号Q1として出力端(Q)から出力する一方、その論理反転信号を反転出力信号Q1Bとして反転出力端(QB)から出力する。
Dフリップフロップf2〜f8は、それぞれ、クロック端に入力される反転出力信号Q1B〜Q7Bに同期してデータ端(D)への入力信号(=反転出力信号Q2B〜Q8B)をラッチし、これを出力信号Q2〜Q8として出力端(Q)から出力する一方、その論理反転信号を反転出力信号Q2B〜Q8Bとして反転出力端(QB)から出力する。
また、Dフリップフロップf1〜f8それぞれの出力論理レベルは、プリセット信号PREに応じてハイレベルにプリセットされ、クリア信号CLRに応じてローレベルにリセットされる。
図34は、カウンタ240によるパルスカウント動作の一例を示すタイミングチャートであり、上から順に、クロック信号PWMと出力信号Q1〜Q4(出力信号Q5〜Q8は省略)が描写されている。本図から分かるように、パルスカウント値M1は、クロック信号PWMのパルスが入力される毎に、「00000000b」→「00000001b」→「00000010b」→「00000011b」→…というように変化していく。
<周波数決定部>
図35は、周波数決定部250の一構成例を示す図である。本構成例の周波数決定部250は、目標カウント値更新部250Xと、デューティ設定部250Yと、出力部250Zと、を含む。
目標カウント値更新部250Xは、パルスカウント値M1の初期化直後(=クリア信号CLRのパルス生成直後)に順次入力される複数ビット分の乱数信号(ここでは、クロック信号PWMの第1パルス目〜第5パルス目にそれぞれ対応する5ビット分のビットY18)を用いて目標カウント値M2を更新する手段であり、ANDゲートX11〜X15とDフリップフロップX21〜X25を含む。
ANDゲートX11は、出力信号Q1と反転出力信号Q2B〜Q8Bとの論理積信号を出力する。従って、X11出力は、パルスカウント値M1が「1d(=00000001b)」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
ANDゲートX12は、出力信号Q2と反転出力信号Q1B及びQ3B〜Q8Bの論理積信号を出力する。従って、X12出力は、パルスカウント値M1が「2d(=00000010b)」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
ANDゲートX13は、出力信号Q1及びQ2と反転出力信号Q3B〜Q8Bの論理積信号を出力する。従って、X13出力は、パルスカウント値M1が「3d(=00000011b)」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
ANDゲートX14は、出力信号Q3と反転出力信号Q1B、Q2B、Q4B〜Q8Bの論理積信号を出力する。従って、X14出力は、パルスカウント値M1が「4d(=00000100b)」であるときハイレベルとなり、他の出力値ではローレベルとなる。
ANDゲートX15は、出力信号Q1及びQ3と、反転出力信号Q2B及びQ4B〜Q8Bとの論理積信号を出力する。従って、X15出力は、パルスカウント値M1が「5d(=00000101b)」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
DフリップフロップX21〜X25は、それぞれ、クロック端に入力されるX11出力〜X15出力に同期して、データ端(D)に入力されるビットY18をラッチし、これを出力信号QQ5〜QQ1として出力端(Q)から出力する。
また、DフリップフロップX21〜X25それぞれの出力論理レベルは、プリセット信号PREに応じてハイレベルにプリセットされ、クリア信号CLRに応じてローレベルにリセットされる。
図36は、目標カウント値更新部250Xによる目標カウント値更新動作の一例を示すタイミングチャートであり、上から順に、クリア信号CLR、クロック信号PWM、ビットY18、X11出力〜X15出力、及び、出力信号QQ5〜QQ1が描写されている。
時刻t20において、クリア信号CLRがハイレベルに立ち上げられると、出力信号QQ5〜QQ1がいずれもローレベルにリセットされる。
その後、時刻t21において、クロック信号PWMにパルスが生成され、パルスカウント値M1が「1d」になると、X11出力がハイレベルに立ち上がり、その時点におけるビットY18の値(本図の例では「1」)が出力信号QQ5としてラッチされる。
同様に、時刻t22〜t25において、クロック信号PWMにパルスが生成され、パルスカウント値M1がインクリメントされる度に、X12出力〜X15出力が順次ハイレベルに立ち上がり、各時点におけるビットY18の値(本図の例では、「0」「1」「0」「0」)が出力信号QQ4〜QQ1として順次ラッチされる。
なお、上記の出力信号QQ5〜QQ1は、目標カウント値M2の下位5ビットに相当する。すなわち、目標カウント値M2の下位5ビットは、「QQ5QQ4QQ3QQ2QQ1」という2進数で表記される乱数値となり、本図の例では、「10100b」となる。
従って、パルスカウント値M1が目標カウント値M2と一致したときに、スペクトラム拡散信号VSSをハイレベルとすることにより、その発振周波数をランダムに変化させることが可能となる。
ただし、出力信号QQ5〜QQ1をそのまま目標カウント値M2として用いると、その可変範囲が0d〜31dとなってしまうので、スペクトラム拡散信号VSSの発振周波数を設定する上で都合が悪い。そこで、出力信号QQ5〜QQ1の上位にビットを追加して目標カウント値M2を生成することが望ましい。
例えば、出力信号QQ5〜QQ1の上位に3ビットの固定値「111」を追加して、8ビットの目標カウント値M2(=111QQ5QQ4QQ3QQ2QQ1)を設定した場合には、その可変範囲が224d〜255dとなる。このとき、例えば、クロック信号PWMの周期が10nsであれば、224パルス→446kHz、240パルス→417kHz、255パルス→392kHzとなるので、スペクトラム拡散信号VSSの発振周波数を417kHz±6%でランダムに変化させることが可能となる。
なお、以下では、目標カウント値M2を8ビット(下位5ビット可変、上位3ビット固定)とした例を挙げて説明を行うが、そのビット数は任意である。
ただし、目標カウント値M2の可変範囲を下限値から上限値まで連続する一連の数値範囲に設定するためには、目標カウント値M2の下位ビットを可変値とし、上位ビットを固定値とすることが望ましい。
また、目標カウント値M2の更新期間中(図36の時刻t20〜t25を参照)にも、パルスカウント値M1はインクリメントされていくが、目標カウント値M2の上位ビットを固定して適切な下限値を設定しておけば、目標カウント値M2の更新期間中にパルスカウント値M1が目標カウント値M2に達することはない。
図35に戻り、周波数決定部250の構成要素について説明を続ける。
デューティ設定部250Yは、パルスカウント値M1が目標カウント値M2に達したときにパルスカウント値M1を初期化してスペクトラム拡散信号VSSをハイレベルとし、パルスカウント値M1が目標カウント値M2の1/2に達したときにスペクトラム拡散信号VSSをローレベルとするように、クリア信号CLR及びCLR2を生成する手段であり、NXORゲートY11〜Y19と、ANDゲートY21及びY22と、RSフリップフロップY31及びY32と、を含む。
NXORゲートY11は、出力信号QQ5と出力信号Q5との否定排他的論理和信号を出力する。従って、Y11出力は、QQ5=Q5であるときにハイレベルとなり、QQ5≠Q5であるときにローレベルとなる。
NXORゲートY12は、出力信号QQ4と出力信号Q4との否定排他的論理和信号を出力する。従って、Y12出力は、QQ4=Q4であるときにハイレベルとなり、QQ4≠Q4であるときにローレベルとなる。
NXORゲートY13は、出力信号QQ3と出力信号Q3との否定排他的論理和信号を出力する。従って、Y13出力は、QQ3=Q3であるときにハイレベルとなり、QQ3≠Q3であるときにローレベルとなる。
NXORゲートY14は、出力信号QQ2と出力信号Q2との否定排他的論理和信号を出力する。従って、Y14出力は、QQ2=Q2であるときにハイレベルとなり、QQ2≠Q2であるときにローレベルとなる。
NXORゲートY15は、出力信号QQ1と出力信号Q1との否定排他的論理和信号を出力する。従って、Y15出力は、QQ1=Q1であるときにハイレベルとなり、QQ1≠Q1であるときにローレベルとなる。
NXORゲートY16は、出力信号QQ5と出力信号Q4との否定排他的論理和信号を出力する。従って、Y16出力は、QQ5=Q4であるときにハイレベルとなり、QQ5≠Q4であるときにローレベルとなる。
NXORゲートY17は、出力信号QQ4と出力信号Q3との否定排他的論理和信号を出力する。従って、Y17出力は、QQ4=Q3であるときにハイレベルとなり、QQ4≠Q3であるときにローレベルとなる。
NXORゲートY18は、出力信号QQ3と出力信号Q2との否定排他的論理和信号を出力する。従って、Y18出力は、QQ3=Q2であるときにハイレベルとなり、QQ3≠Q2であるときにローレベルとなる。
NXORゲートY19は、出力信号QQ2と出力信号Q1との否定排他的論理和信号を出力する。従って、Y19出力は、QQ2=Q1であるときにハイレベルとなり、QQ2≠Q1であるときにローレベルとなる。
ANDゲートY21は、出力信号Q8〜Q6とY11出力〜Y15出力の論理積信号を出力する。従って、Y21出力は、「Q8Q7Q6Q5Q4Q3Q2Q1」)=「111QQ5QQ4QQ3QQ2QQ1」であるとき、すなわち、M1=M2であるときにハイレベルとなり、そうでないときにローレベルとなる。
ANDゲートY22は、反転出力信号Q8B、出力信号Q7〜Q5、及び、Y16出力〜Y19出力の論理積信号を出力する。従って、Y22出力は、「Q8Q7Q6Q5Q4Q3Q2Q1」=「0111QQ5QQ4QQ3QQ2」であるとき、すなわち、M1=M2×(1/2)であるときにハイレベルとなり、そうでないときにローレベルとなる。
RSフリップフロップY31は、セット端(S)に入力されるY21出力とリセット端(R)に入力されるクロック信号PWMの双方に応じて、出力端(Q)から出力するクリア信号CLRの論理レベルを決定する。より具体的に述べると、RSフリップフロップY31は、Y21出力がハイレベルに立ち上がったとき、すなわち、M1=M2となったときにクリア信号CLRをハイレベルにセットし、クロック信号PWMがハイレベルに立ち上がったときにクリア信号CLRをローレベルにリセットする。
RSフリップフロップY32は、セット端(S)に入力されるY22出力とリセット端(R)に入力されるクロック信号PWMの双方に応じて、出力端(Q)から出力するクリア信号CLR2の論理レベルを決定する。より具体的に述べると、RSフリップフロップY32は、Y22出力がハイレベルに立ち上がったとき、すなわち、M1=M2×(1/2)となったときにクリア信号CLR2をハイレベルにセットし、クロック信号PWMがハイレベルに立ち上がったときにクリア信号CLR2をローレベルにリセットする。
図37は、デューティ設定部250Yによるデューティ設定動作の一例を示すタイミングチャートであり、上から順番に、パルスカウント値M1、クリア信号CLR及びCLR2、並びに、スペクトラム拡散信号VSSが描写されている。
時刻t30において、クリア信号CLRがハイレベルに立ち上げられると、パルスカウント値M1がゼロ値にリセットされるとともに、スペクトラム拡散信号VSSがハイレベルに立ち上げられ、これに続いて目標カウント値M2の更新処理が行われる(先出の図36を参照)。なお、時刻t30(より正確には、時刻t30からクロック信号PWMのパルス幅の5倍に相当する時間が経過した時点)における目標カウント値M2の更新値を、M2(t30)=「111QQ5(t30)…QQ1(t30)」と表記する。
その後、パルスカウント値M1が目標カウント値M2(t30)の1/2、すなわち、M2(t30)/2=「0111QQ5(t30)…QQ2(t30)」に達すると、クリア信号CLR2がハイレベルに立ち上がるので、スペクトラム拡散信号VSSがローレベルに立ち下げられる。一方、クリア信号CLRは、ハイレベルに立ち上がることなくローレベルに維持されるので、パルスカウント値M1は、リセットされずに増加し続ける。
そして、時刻t31において、パルスカウント値M1が目標カウント値M2(t30)に達すると、クリア信号CLRがハイレベルに立ち上げられる。その結果、パルスカウント値M1が再びゼロ値にリセットされるとともに、スペクトラム拡散信号VSSがハイレベルに立ち上げられ、これに続いて目標カウント値M2の更新処理が行われる。なお、時刻t31(より正確には、時刻t31からクロック信号PWMのパルス幅の5倍に相当する時間が経過した時点)における目標カウント値M2の更新値を、M2(t31)=「111QQ5(t31)…QQ1(t31)」と表記する。
その後、パルスカウント値M1が目標カウント値M2(t31)の1/2、すなわち、M2(t31)/2=「0111QQ5(t31)…QQ2(t31)」に達すると、クリア信号CLR2がハイレベルに立ち上がるので、スペクトラム拡散信号VSSがローレベルに立ち下げられる。一方、クリア信号CLRは、ハイレベルに立ち上がることなくローレベルに維持されるので、パルスカウント値M1は、リセットされずに増加し続ける。
そして、時刻t32において、パルスカウント値M1が目標カウント値M2(t31)に達すると、クリア信号CLRがハイレベルに立ち上げられる。なお、時刻t32以降においても、上記と同様の動作が繰り返される。
このように、本構成例のデューティ設定部250Yによれば、目標カウント値M2の更新処理を行う度に、スペクトラム拡散信号VSSの発振周波数(延いては周期)がランダムに変化しても、そのオンデューティDon(=1周期に占めるオン期間Tonの割合)を0.5に維持することが可能となる。
本図に即して述べると、時刻t30〜t31では、スペクトラム拡散信号VSSの周期T1に対して、Ton=T1×(1/2)となるので、Don=0.5となる。また、時刻t31〜t32では、スペクトラム拡散信号VSSの周期T2に対して、Ton=T2×(1/2)となるので、やはりDon=0.5となる。
このように、スペクトラム拡散信号VSSのオンデューティDonを0.5に維持しておけば、スペクトラム拡散信号VSSを用いたアプリケーションの制御が容易となる。なお、オンデューティDonを0.5に設定しなくても、DC/DCコンバータなどのアプリケーションを動かすこと自体はできる。これを鑑みると、クリア信号CLR2をハイレベルに立ち上げるタイミングは、必ずしも、パルスカウント値M1が目標カウント値M2の1/2に達した時点に限定されるものではなく、任意に設定しても構わない。
図35に戻り、周波数決定部250の構成要素について説明を続ける。
出力部250Zは、クリア信号CLR及びCLR2に応じてスペクトラム拡散信号VSSを出力する手段であり、DフリップフロップZ11を含む。
DフリップフロップZ11は、クロック端に入力されるクリア信号CLRに同期して、スペクトラム拡散信号VSSをハイレベル(=データ端Dに入力されるハイレベル電位)にセットする。また、スペクトラム拡散信号VSSは、プリセット信号PREに応じてハイレベルにプリセットされ、クリア信号CLR2に応じてローレベルにリセットされる。
従って、スペクトラム拡散信号VSSは、クリア信号CLRに同期してハイレベルに立ち上げられる一方、クリア信号CLR2に同期してローレベルに立ち下げられる。
図38は、スペクトラム拡散信号VSSの周波数スペクトル図である。なお、本図の黒線は、発振周波数を固定値(417kHz)とした場合の周波数スペクトルであり、本図のグレー線は、発振周波数を可変値(417kHz±6%)とした場合の周波数スペクトルである。
本図から分かるように、発振周波数に疑似乱数変調を掛けた場合には、発振周波数を固定した場合と比べて、最大で20dB程度のノイズ低減を達成することが可能となる。
次に、スペクトラム拡散信号VSSの適用例について、DC/DCコンバータへの適用例を挙げながら説明する。
<第3実施形態>
図39は、DC/DCコンバータの一構成例を示す回路図(第3実施形態)である。本図に示すように、本構成例のDC/DCコンバータ3は、第2実施形態(図16)のDC/DCコンバータ2と基本的に同様の構成から成り、(1)パルス発振器10に代えてスペクトラム拡散信号200が用いられていること、並びに、(2)抵抗R8〜R10とキャパシタC6及びC7が追加されていることに特徴を有する。そこで、第2実施形態と同様の構成要素については、図16と同一の符号を付すことにより重複した説明を割愛し、以下では、本構成例の特徴部分について重点的に説明する。
抵抗R8は、コンパレータ70の非反転入力端(+)と位相補償部60との間に接続されている。抵抗R9は、コンパレータ70の非反転入力端(+)とコンパレータ70の出力端との間に接続されている。このように、抵抗R8及びR9を追加することにより、コンパレータ70にヒステリシス特性を付与することができるので、ノイズに対する耐性を高めてスイッチング制御の安定性を高めることが可能となる。
キャパシタC6は、オペアンプAMP2の反転入力端(−)と接地端との間に接続されている。このような接続により、オペアンプAMP2の発振を抑えることが可能となる。
抵抗R10の第1端は、スペクトラム拡散信号発生器200の出力端(=スペクトラム拡散信号VSSの出力端)に接続されている。抵抗R10の第2端とキャパシタC7の第1端は、いずれもコンパレータ70の反転入力端(−)に接続されている。キャパシタC7の第2端は、接地端に接続されている。このように接続された抵抗R10とキャパシタC7は、スペクトラム拡散信号VSSを平滑して三角波信号VRTを生成する平滑部90として機能する。
図40は、シミュレーションにより得られた第3実施形態における出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsの相関関係を示す波形図である。また、図41は、第3実施形態における出力電圧Vout及び三角波信号VRTを示す波形図である。
なお、上記の各波形図は、r=3、N=19、L=2、発振周波数417kHz±6%というシミュレーション条件下で得られたものである。これらのシミュレーション結果から明らかなように、スペクトラム拡散信号VSSを用いた場合であっても、DC/DCコンバータ3は、問題なく動作していることが分かる。
図42〜図44は、第3実施形態における出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、及び、ドレイン・ソース間電流Idsそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数fを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数fに疑似乱数変調(スペクトラム拡散処理)を掛けた場合の周波数スペクトルを示している。
各図を参照すれば分かるように、駆動周波数fに疑似乱数変調を掛けた場合には、駆動周波数fを固定した場合と比べて、出力スイッチN2のゲート・ソース間電圧Vgs、ドレイン・ソース間電圧Vds、並びに、ドレイン・ソース間電流Idsの全てにおいて、最大で20dB程度のノイズ低減を達成することが可能となる。
<スイッチング回路>
なお、スペクトラム拡散信号発生器200の適用対象は、DC/DCコンバータ3に限定されるものではなく、例えば、図7のパルス発振器10を代替することにより、スイッチング回路1にも適用することも可能である。
<計算システム>
また、これまでに説明してきた乱数信号は、これを用いてモンテカルロシミュレーションや暗号化処理を行う計算システムにも適用することが可能である。
<その他の変形例>
また、本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
本明細書中に開示されている乱数生成方法は、例えば、パルス発振器のスペクトラム拡散手段として利用することが可能である。また、本明細書中に開示されている乱数生成方法は、暗号の秘匿性や気象予報の精度を高めるための手段としても有用である。
1 スイッチング回路
2、3 DC/DCコンバータ
10 パルス発振器
20 駆動部
30 スイッチ出力部
40 帰還電圧生成部
50 エラーアンプ
60 位相補償部
70 コンパレータ
80 駆動部
90 平滑部
110 乱数信号生成部
111 マイコン
112 マスタクロック源
113 メモリ
114 DAC
120 パルス信号生成部
121 コンパレータ
122 Dフリップフロップ
123 積分回路
124 ローパスフィルタ
125 コンパレータ
200 スペクトラム拡散信号発生器(パルス発振器)
200A 乱数信号生成回路
200B パルス信号生成回路
210 初期値設定部
211 RSフリップフロップ
212 抵抗
213 キャパシタ
214 ORゲート
220 乗算部
230 条件判定部
240 カウンタ
250 周波数決定部
250X 目標カウント値更新部
250Y デューティ設定部
250Z 出力部
a1〜a58 XORゲート
b1〜b37 ANDゲート
c1〜c18 ORゲート
d2〜d19 ANDゲート
e2〜e21 Dフリップフロップ
f1〜f8 Dフリップフロップ
X11〜X15 ANDゲート
X21〜X25 Dフリップフロップ
Y11〜Y19 NXORゲート
Y21、Y22 ANDゲート
Y31、Y32 RSフリップフロップ
Z11 Dフリップフロップ
R1〜R10 抵抗
C1〜C7 キャパシタ
AMP1、AMP2 オペアンプ
N1、N2 出力スイッチ(NMOSFET)
RL1、RL2 負荷抵抗
D1 ダイオード
L1 インダクタ

Claims (17)

  1. 乱数信号を生成する乱数信号生成部と、
    前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成部と、
    を有するパルス発振器であって、
    前記乱数信号生成部は、
    無理数rまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数sをn進数表記(ただしnは2以上の整数)で設定
    前記無理数rまたは前記有理数sのp進数展開(ただしpは2以上の整数であって、5の倍数でない奇数であり、p≠n、かつ、p>rまたはp>s)を行
    前記p進数展開により取得された数列またはこれに演算処理を施したものを前記乱数信号として出力する、パルス発振器
  2. 前記乱数信号生成部は、
    前記数列の取得処理として、
    p進数展開された数の整数部を抽出するステップと、
    抽出された整数部を前記数列の一項として出力するステップと、
    前記p進数展開された数の小数部を抽出するステップと、
    抽出された小数部を1桁繰り上げて前記p進数展開された数を更新するステップと、
    繰り返、請求項1に記載のパルス発振器
  3. 前記乱数信号生成部は、さらに、
    前記数列から所定長の部分数列を切り出
    前記部分数列を反復して疑似乱数列を生成する
    請求項1または2に記載のパルス発振器
  4. 前記乱数信号生成部は、さらに、
    前記数列をm桁ずつ(ただしmは2以上の整数)に区切ることにより有理数Aを順次生成
    前記乱数信号の信号値Vを前記有理数Aに応じて順次切り替える
    請求項1〜3のいずれか一項に記載のパルス発振器
  5. 乱数信号を生成する乱数信号生成部と、
    前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成部と、
    を有するパルス発振器であって、
    前記乱数信号生成部は、
    無理数rまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数sをn進数表記(ただしnは2以上の整数)で設定
    前記無理数rまたは前記有理数sのp進数展開(ただしpは2以上の整数であって、p≠n、かつ、p>rまたはp>s)を行
    前記p進数展開により取得された数列またはこれに演算処理を施したものを前記乱数信号として出力するとともに
    前記数列をm桁ずつ(ただしmは2以上の整数)に区切ることにより有理数Aを順次生成
    前記乱数信号の信号値Vを前記有理数Aに応じて順次切り替える、パルス発振器
  6. 前記有理数Aの最大値をAmaxとし、前記乱数信号の最大値及び最小値をVmax及びVminとしたとき、前記乱数信号の信号値Vは、V=Vmin+(Vmax−Vmin)×(A/Amax)で表される請求項4または5に記載のパルス発振器
  7. 前記パルス信号生成部は、
    前記乱数信号と三角波信号を比較してクリア信号を生成する第1比較器と、
    クロック信号と前記クリア信号の入力を受けて矩形波信号を出力する順序回路と、
    第1参照電圧を基準として前記矩形波信号を積分することにより前記三角波信号を生成する積分回路と、
    前記三角波信号から高周波成分を除去するローパスフィルタと、
    前記三角波信号と第2参照電圧を比較して前記クロック信号を生成する第2比較器と、
    を含み、
    前記矩形波信号または前記三角波信号を前記パルス信号として出力する、請求項1〜6のいずれか一項に記載のパルス発振器。
  8. 前記パルス信号として矩形波信号を生成する請求項1−7のいずれか一項に記載のパルス発振器と、
    前記矩形波信号に応じて出力スイッチをオン/オフさせる駆動部と、
    を有する、スイッチング回路。
  9. 前記パルス信号として三角波信号を生成する請求項1−7のいずれか一項に記載のパルス発振器と、
    出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、
    前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、
    入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン/オフさせる駆動部と、
    を有する、DC/DCコンバータ。
  10. 入力信号の初期値を設定する初期値設定部と、
    前記入力信号に所定の乗算処理を施して乗算信号を算出する乗算部と、
    前記乗算信号に所定の条件判定処理を施して前記入力信号を更新する条件判定部と、
    を有し、
    前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力する乱数信号生成回路であって、
    前記条件判定処理では、前記乗算信号の信号値と複数の閾値とがそれぞれ比較され、前記乗算信号の信号値、若しくは、前記乗算信号の信号値から前記複数の閾値のいずれかを差し引いた差分値が前記入力信号の更新値として設定される、乱数信号生成回路。
  11. 請求項10に記載の乱数信号生成回路と、
    前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成回路と、
    を有する、パルス発振器。
  12. 前記乗算信号は、2進数で表記されるデジタル信号であり、前記乗算部は、前記乗算信号の任意のビットを前記乱数信号として出力する、請求項11に記載のパルス発振器。
  13. 前記パルス信号生成回路は、
    クロック信号のパルスカウント値を出力するカウンタと、
    前記パルスカウント値と前記乱数信号に応じた目標カウント値とを比較して前記パルス信号の発振周波数を決定する周波数決定部と、
    を含む、請求項12に記載のパルス発振器。
  14. 前記周波数決定部は、前記パルスカウント値の初期化直後に順次入力される複数ビット分の前記乱数信号を用いて前記目標カウント値を更新する目標カウント値更新部を含む、請求項13に記載のパルス発振器。
  15. 前記周波数決定部は、前記パルスカウント値が前記目標カウント値に達したときに前記パルスカウント値を初期化して前記パルス信号を第1論理レベルとし、前記パルスカウント値が前記目標カウント値の1/2に達したときに前記パルス信号を第2論理レベルとするデューティ設定部を含む、請求項14に記載のパルス発振器。
  16. 請求項1115のいずれか一項に記載のパルス発振器と、
    前記パルス信号に応じて出力スイッチをオン/オフさせる駆動部と、
    を有する、スイッチング回路。
  17. 請求項1115のいずれか一項に記載のパルス発振器と、
    前記パルス信号を平滑して三角波信号を生成する平滑部と、
    出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、
    前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、
    入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン/オフさせる駆動部と、
    を有する、DC/DCコンバータ。
JP2017098068A 2016-05-30 2017-05-17 乱数生成方法 Active JP6980407B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016107103 2016-05-30
JP2016107103 2016-05-30

Publications (2)

Publication Number Publication Date
JP2017215955A JP2017215955A (ja) 2017-12-07
JP6980407B2 true JP6980407B2 (ja) 2021-12-15

Family

ID=60577122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017098068A Active JP6980407B2 (ja) 2016-05-30 2017-05-17 乱数生成方法

Country Status (1)

Country Link
JP (1) JP6980407B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7122898B2 (ja) * 2018-07-24 2022-08-22 ローム株式会社 スイッチング電源回路

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818551A (ja) * 1994-06-29 1996-01-19 B U G:Kk データシステムにおける乱数および暗号データ発生方法
JPH08288802A (ja) * 1995-04-11 1996-11-01 Nec Corp 周波数逓倍回路
JP2001051831A (ja) * 1999-08-10 2001-02-23 Sony Corp 乱数発生装置及び乱数発生方法
JP3724399B2 (ja) * 2001-01-23 2005-12-07 株式会社日立製作所 疑似乱数生成装置またはそれを用いた暗号復号処理装置
JP2003324944A (ja) * 2002-05-08 2003-11-14 Fuji Electric Co Ltd 電源回路
KR100712498B1 (ko) * 2003-06-21 2007-04-27 삼성전자주식회사 하드디스크 드라이브의 난수 발생 방법
JP4118754B2 (ja) * 2003-06-27 2008-07-16 日本電信電話株式会社 乱数発生回路
US7552156B2 (en) * 2004-08-30 2009-06-23 Nunes Ryan J Random number generator
JP2006155168A (ja) * 2004-11-29 2006-06-15 Hitachi Ltd 乱数生成方法及びシステム
JP2006197308A (ja) * 2005-01-14 2006-07-27 Renesas Technology Corp クロック生成方法とクロック生成回路
JP2008301017A (ja) * 2007-05-30 2008-12-11 Tritec Corp デジタル方式パルス幅変調装置
JP4308293B2 (ja) * 2007-11-20 2009-08-05 際国 董 乱数生成装置及び方法
JP5700369B2 (ja) * 2010-12-28 2015-04-15 国立大学法人岩手大学 擬似乱数生成装置、擬似乱数生成方法及びそのプログラム
JP5831890B2 (ja) * 2013-10-09 2015-12-09 独立行政法人国立高等専門学校機構 擬似乱数の検定装置および選別装置

Also Published As

Publication number Publication date
JP2017215955A (ja) 2017-12-07

Similar Documents

Publication Publication Date Title
Bao et al. Third-order RLCM-four-elements-based chaotic circuit and its coexisting bubbles
CN102361396B (zh) 异形伪随机序列控制抖频振荡器
US20160191029A1 (en) Spread-spectrum clock generation circuit, integrated circuit and apparatus therefor
CN206211956U (zh) 扩频时钟发生器与开关模式电源
TWI403091B (zh) 洋蔥波形產生器與使用洋蔥波形產生器的展頻時脈產生器
JP6980407B2 (ja) 乱数生成方法
TWI532323B (zh) 數位脈波寬度產生器及其產生方法
Ge et al. Chaos in a generalized van der Pol system and in its fractional order system
JP2023090823A (ja) 可変かつ不確実小数値ビット寄与率の存在下における精密デジタル/アナログ変換
US20110231695A1 (en) Digital forced oscillation by direct digital synthesis
KR101159247B1 (ko) 변조 프로파일 생성기 및 이를 구비한 확산 스펙트럼 클럭 생성기
JP4141248B2 (ja) スペクトラム拡散クロック発生回路
Lu et al. Filter based non-invasive control of chaos in Buck converter
CN103368388A (zh) 利用时钟抖动进行均方根至直流转换的装置和方法
RU2656840C1 (ru) Генератор широкополосных сигналов
Pikulin Subharmonic oscillations and chaos in DC-DC switching converters
RU2549152C1 (ru) Генератор хаотических колебаний
Patangia et al. Design equations for selective harmonic elimination and microcontroller implementation
Milanovic et al. Reconfigurable digital controller for a buck converter based on FPGA
CN110855420A (zh) 一种基于忆阻的准周期信号产生电路
Sotiriadis et al. All-digital frequency synthesis based on single-bit Nyquist-rate sinewave quantization with IID random dithering
Sotiriadis Intrinsic jitter of flying-adder frequency synthesizers
TWI495269B (zh) 用於訊號處理的連續逼近式乘除法電路及其訊號處理方法
CN102403890A (zh) 频率抖动电路及其控制方法
Tam et al. A wavelet‐based piecewise approach for steady‐state analysis of power electronics circuits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210330

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211117

R150 Certificate of patent or registration of utility model

Ref document number: 6980407

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150