(57)【要約】【課題】無限周期の乱数列ないしは十分な長さの周期を持つ疑似乱数列を生成する。【解決手段】本発明に係る乱数生成方法は、無理数ｒまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数ｓをｎ進数表記（ただしｎは２以上の整数）で設定するステップＳ１０と、無理数ｒまたは有理数ｓのｐ進数展開（ただしｐは２以上の整数であって、ｐ≠ｎ、かつ、ｐ＞ｒまたはｐ＞ｓ）を行うステップＳ２０と、ｐ進数展開により取得された数列またはこれに演算処理を施したものを乱数信号として出力するステップＳ３０と、を有する。【選択図】図１
2017215955.tif 000002
【特許請求の範囲】
【請求項１】
無理数ｒまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数ｓをｎ進数表記（ただしｎは２以上の整数）で設定するステップと、
前記無理数ｒまたは前記有理数ｓのｐ進数展開（ただしｐは２以上の整数であって、ｐ≠ｎ、かつ、ｐ＞ｒまたはｐ＞ｓ）を行うステップと、
前記ｐ進数展開により取得された数列またはこれに演算処理を施したものを乱数信号として出力するステップと、
を有することを特徴とする乱数生成方法。
【請求項２】
前記数列の取得処理として、
ｐ進数展開された数の整数部を抽出するステップと、
抽出された整数部を前記数列の一項として出力するステップと、
前記ｐ進数展開された数の小数部を抽出するステップと、
抽出された小数部を１桁繰り上げて前記ｐ進数展開された数を更新するステップと、
が繰り返されることを特徴とする請求項１に記載の乱数生成方法。
【請求項３】
前記数列から所定長の部分数列を切り出すステップと、
前記部分数列を反復して疑似乱数列を生成するステップと、
をさらに有することを特徴とする請求項１または２に記載の乱数生成方法。
【請求項４】
ｐは５の倍数でない奇数であることを特徴とする請求項１〜３のいずれか一項に記載の乱数生成方法。
【請求項５】
前記数列をｍ桁ずつ（ただしｍは２以上の整数）に区切ることにより有理数Ａｉを順次生成するステップと、
前記乱数信号の信号値Ｖを前記有理数Ａｉに応じて順次切り替えるステップと、
をさらに有することを特徴とする請求項１〜４のいずれか一項に記載の乱数生成方法。
【請求項６】
前記有理数Ａｉの最大値をＡｍａｘとし、前記乱数信号の最大値及び最小値をＶｍａｘ及びＶｍｉｎとしたとき、前記乱数信号の信号値Ｖは、Ｖ＝Ｖｍｉｎ＋（Ｖｍａｘ−Ｖｍｉｎ）×（Ａｉ／Ａｍａｘ）で表されることを特徴とする請求項５に記載の乱数生成方法。
【請求項７】
請求項１〜６のいずれか一項に記載の乱数生成方法を用いて乱数信号を生成する乱数信号生成部と、
前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成部と、
を有することを特徴とするパルス発振器。
【請求項８】
前記パルス信号生成部は、
前記乱数信号と三角波信号を比較してクリア信号を生成する第１比較器と、
クロック信号と前記クリア信号の入力を受けて矩形波信号を出力する順序回路と、
第１参照電圧を基準として前記矩形波信号を積分することにより前記三角波信号を生成する積分回路と、
前記三角波信号から高周波成分を除去するローパスフィルタと、
前記三角波信号と第２参照電圧を比較して前記クロック信号を生成する第２比較器と、
を含み、
前記矩形波信号または前記三角波信号を前記パルス信号として出力することを特徴とする請求項７に記載のパルス発振器。
【請求項９】
矩形波信号を生成する請求項７または８に記載のパルス発振器と、
前記矩形波信号に応じて出力スイッチをオン／オフさせる駆動部と、
を有することを特徴とするスイッチング回路。
【請求項１０】
三角波信号を生成する請求項７または８に記載のパルス発振器と、
出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、
前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、
入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン／オフさせる駆動部と、
を有することを特徴とするＤＣ／ＤＣコンバータ。
【請求項１１】
入力信号の初期値を設定するステップと、
前記入力信号に所定の乗算処理を施して乗算信号を算出するステップと、
前記乗算信号に所定の条件判定処理を施して前記入力信号を更新するステップと、
を有し、
前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力することを特徴とする乱数生成方法。
【請求項１２】
前記乱数信号を０≦ｘｉ≦１（ただしｉは正の整数）を満たす実数の集合｛ｘｉ｝として正規化し、実数の集合｛ｘｉ｝から実数ベクトルの集合｛（ｘ，ｙ）＝（ｘ１，ｘ２），（ｘ２，ｘ３），…，（ｘｎ，ｘ１）｝を生成したとき、相関係数ｒｘｙが０≦ｒｘｙ＜０．５を満たすことを特徴とする請求項１１に記載の乱数生成方法。
【請求項１３】
前記条件判定処理では、前記乗算信号の信号値と複数の閾値とがそれぞれ比較され、前記乗算信号の信号値、若しくは、前記乗算信号の信号値から前記複数の閾値のいずれかを差し引いた差分値が前記入力信号の更新値として設定されることを特徴とする請求項１１または１２に記載の乱数生成方法。
【請求項１４】
前記乗算信号は、２進数で表記されるデジタル信号であり、その任意のビットが前記乱数信号として出力されることを特徴とする請求項１１〜１３のいずれか一項に記載の乱数生成方法。
【請求項１５】
入力信号の初期値を設定する初期値設定部と、
前記入力信号に所定の乗算処理を施して乗算信号を算出する乗算部と、
前記乗算信号に所定の条件判定処理を施して前記入力信号を更新する条件判定部と、
を有し、
前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力することを特徴とする乱数信号生成回路。
【請求項１６】
請求項１５に記載の乱数信号生成回路と、
前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成回路と、
を有することを特徴とするパルス発振器。
【請求項１７】
前記乗算信号は、２進数で表記されるデジタル信号であり、前記乗算部は、前記乗算信号の任意のビットを前記乱数信号として出力することを特徴とする請求項１６に記載のパルス発振器。
【請求項１８】
前記パルス信号生成回路は、
クロック信号のパルスカウント値を出力するカウンタと、
前記パルスカウント値と前記乱数信号に応じた目標カウント値とを比較して前記パルス信号の発振周波数を決定する周波数決定部と、
を含むことを特徴とする請求項１７に記載のパルス発振器。
【請求項１９】
前記周波数決定部は、前記パルスカウント値の初期化直後に順次入力される複数ビット分の前記乱数信号を用いて前記目標カウント値を更新する目標カウント値更新部を含むことを特徴とする請求項１８に記載のパルス発振器。
【請求項２０】
前記周波数決定部は、前記パルスカウント値が前記目標カウント値に達したときに前記パルスカウント値を初期化して前記パルス信号を第１論理レベルとし、前記パルスカウント値が前記目標カウント値の１／２に達したときに前記パルス信号を第２論理レベルとするデューティ設定部を含むことを特徴とする請求項１９に記載のパルス発振器。
【請求項２１】
請求項１６〜２０のいずれか一項に記載のパルス発振器と、
前記パルス信号に応じて出力スイッチをオン／オフさせる駆動部と、
を有することを特徴とするスイッチング回路。
【請求項２２】
請求項１６〜２０のいずれか一項に記載のパルス発振器と、
前記パルス信号を平滑して三角波信号を生成する平滑部と、
出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、
前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、
入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン／オフさせる駆動部と、
を有することを特徴とするＤＣ／ＤＣコンバータ。
【請求項２３】
請求項１１〜１４のいずれか一項に記載の乱数生成方法により生成された乱数信号、若しくは、請求項１５に記載の乱数生成回路により生成された乱数信号を用いて、モンテカルロシミュレーションを行うことを特徴とする計算システム。
【請求項２４】
請求項１１〜１４のいずれか一項に記載の乱数生成方法により生成された乱数信号、若しくは、請求項１５に記載の乱数生成回路により生成された乱数信号を用いて、暗号化処理を行うことを特徴とする計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書中に開示されている発明は、乱数生成方法に関する。
【背景技術】
【０００２】
特許文献１には、疑似乱数列生成器の一例として、ｎビットの線形帰還シフトレジスタを用いたＭ系列［maximum length sequence］生成器が開示されている。このＭ系列生成器では、周期２ｎ−１の疑似乱数列が生成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１３４０７７号公報（図９など）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術は、あくまで疑似乱数列を生成するものであり、無限周期の乱数列を生成することはできなかった。また、疑似乱数列の周期を延ばすためには、線形帰還シフトレジスタのビット数ｎを増やす必要があり、回路規模の増大を鑑みると、十分な長さの周期を持つ疑似乱数列を生成することが難しかった。
【０００５】
本明細書中に開示されている発明は、本願の発明者らにより見出された上記の課題に鑑み、無限周期の乱数列ないしは十分な長さの周期を持つ疑似乱数列を生成することのできる乱数生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本明細書中に開示されている乱数生成方法は、無理数ｒまたは計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数ｓをｎ進数表記（ただしｎは２以上の整数）で設定するステップと、前記無理数ｒまたは前記有理数ｓのｐ進数展開（ただしｐは２以上の整数であって、ｐ≠ｎ、かつ、ｐ＞ｒまたはｐ＞ｓ）を行うステップと、前記ｐ進数展開により取得された数列またはこれに演算処理を施したものを乱数信号として出力するステップとを有する構成（第１の構成）とされている。
【０００７】
なお、第１の構成から成る乱数生成方法では、前記数列の取得処理として、ｐ進数展開された数の整数部を抽出するステップと、抽出された整数部を前記数列の一項として出力するステップと、前記ｐ進数展開された数の小数部を抽出するステップと、抽出された小数部を１桁繰り上げて前記ｐ進数展開された数を更新するステップと、が繰り返される構成（第２の構成）にするとよい。
【０００８】
また、第１または第２の構成から成る乱数生成方法は、前記数列から所定長の部分数列を切り出すステップと、前記部分数列を反復して疑似乱数列を生成するステップと、をさらに有する構成（第３の構成）にするとよい。
【０００９】
また、第１〜第３いずれかの構成から成る乱数生成方法において、ｐは５の倍数でない奇数である構成（第４の構成）にするとよい。
【００１０】
また、第１〜第４いずれかの構成から成る乱数生成方法は、前記数列をｍ桁ずつ（ただしｍは２以上の整数）に区切ることにより有理数Ａｉを順次生成するステップと、前記乱数信号の信号値Ｖを前記有理数Ａｉに応じて順次切り替えるステップと、をさらに有する構成（第５の構成）にするとよい。
【００１１】
また、第５の構成から成る乱数生成方法において、前記有理数Ａｉの最大値をＡｍａｘとし、前記乱数信号の最大値及び最小値をＶｍａｘ及びＶｍｉｎとしたとき、前記乱数信号の信号値Ｖは、Ｖ＝Ｖｍｉｎ＋（Ｖｍａｘ−Ｖｍｉｎ）×（Ａｉ／Ａｍａｘ）で表される構成（第６の構成）にするとよい。
【００１２】
また、本明細書中に開示されているパルス発振器は、第１〜第６いずれかの構成から成る乱数生成方法を用いて乱数信号を生成する乱数信号生成部と、前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成部と、を有する構成（第７の構成）とされている。
【００１３】
なお、第７の構成から成るパルス発振器において、前記パルス信号生成部は、前記乱数信号と三角波信号を比較してクリア信号を生成する第１比較器と、クロック信号と前記クリア信号の入力を受けて矩形波信号を出力する順序回路と、第１参照電圧を基準として前記矩形波信号を積分することにより前記三角波信号を生成する積分回路と、前記三角波信号から高周波成分を除去するローパスフィルタと、前記三角波信号と第２参照電圧を比較して前記クロック信号を生成する第２比較器と、を含み、前記矩形波信号または前記三角波信号を前記パルス信号として出力する構成（第８の構成）にするとよい。
【００１４】
また、本明細書中に開示されているスイッチング回路は、矩形波信号を生成する第７または第８の構成から成るパルス発振器と、前記矩形波信号に応じて出力スイッチをオン／オフさせる駆動部と、を有する構成（第９の構成）とされている。
【００１５】
また、本明細書中に開示されているＤＣ／ＤＣコンバータは、三角波信号を生成する第７または第８の構成から成るパルス発振器と、出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン／オフさせる駆動部と、を有する構成（第１０の構成）とされている。
【００１６】
また、本明細書中に開示されている乱数生成方法は、入力信号の初期値を設定するステップと、前記入力信号に所定の乗算処理を施して乗算信号を算出するステップと、前記乗算信号に所定の条件判定処理を施して前記入力信号を更新するステップとを有し、前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力する構成（第１１の構成）とされている。
【００１７】
また、第１１の構成から成る乱数生成方法は、前記乱数信号を０≦ｘｉ≦１（ただしｉは正の整数）を満たす実数の集合｛ｘｉ｝として正規化し、実数の集合｛ｘｉ｝から２次元空間における実数ベクトルの集合｛（ｘ，ｙ）＝（ｘ１，ｘ２），（ｘ２，ｘ３），…，（ｘｎ，ｘ１）｝を生成したとき、相関係数ｒｘｙが０≦ｒｘｙ＜０．５を満たす構成（第１２の構成）にするとよい。
【００１８】
また、第１１または第１２の構成から成る乱数生成方法において、前記条件判定処理では、前記乗算信号の信号値と複数の閾値とがそれぞれ比較され、前記乗算信号の信号値、若しくは、前記乗算信号の信号値から前記複数の閾値のいずれかを差し引いた差分値が前記入力信号の更新値として設定される構成（第１３の構成）にするとよい。
【００１９】
また、第１１〜第１３いずれかの構成から成る乱数生成方法において、前記乗算信号は２進数で表記されるデジタル信号であり、その任意のビットが前記乱数信号として出力される構成（第１４の構成）にするとよい。
【００２０】
また、本明細書中に開示されている乱数信号生成回路は、入力信号の初期値を設定する初期値設定部と、前記入力信号に所定の乗算処理を施して乗算信号を算出する乗算部と、前記乗算信号に所定の条件判定処理を施して前記入力信号を更新する条件判定部を有し、前記乗算処理と前記条件判定処理を繰り返すことにより順次算出される前記乗算信号、または、前記乗算信号の一部、若しくは、前記乗算信号に所定の演算処理を施したものを乱数信号として出力する構成（第１５の構成）とされている。
【００２１】
また、本明細書中に開示されているパルス発振器は、第１５の構成から成る乱数信号生成回路と、前記乱数信号に応じた発振周波数のパルス信号を生成するパルス信号生成回路と、を有する構成（第１６の構成）とされている。
【００２２】
また、第１６の構成から成るパルス発振器において、前記乗算信号は、２進数で表記されるデジタル信号であり、前記乗算部は、前記乗算信号の任意のビットを前記乱数信号として出力する構成（第１７の構成）にするとよい。
【００２３】
また、第１７の構成から成るパルス発振器において、前記パルス信号生成回路は、クロック信号のパルスカウント値を出力するカウンタと、前記パルスカウント値と前記乱数信号に応じた目標カウント値とを比較して前記パルス信号の発振周波数を決定する周波数決定部と、を含む構成（第１８の構成）にするとよい。
【００２４】
また、第１８の構成から成るパルス発振器において、前記周波数決定部は、前記パルスカウント値の初期化直後に順次入力される複数ビット分の前記乱数信号を用いて前記目標カウント値を更新する目標カウント値更新部を含む構成（第１９の構成）にするとよい。
【００２５】
また、第１９の構成から成るパルス発振器において、前記周波数決定部は、前記パルスカウント値が前記目標カウント値に達したときに前記パルスカウント値を初期化して前記パルス信号を第１論理レベルとし、前記パルスカウント値が前記目標カウント値の１／２に達したときに前記パルス信号を第２論理レベルとするデューティ設定部を含む構成（第２０の構成）にするとよい。
【００２６】
また、本明細書中に開示されているスイッチング回路は、第１６〜第２０いずれかの構成から成るパルス発振器と、前記パルス信号に応じて出力スイッチをオン／オフさせる駆動部と、を有する構成（第２１の構成）とされている。
【００２７】
また、本明細書中に開示されているＤＣ／ＤＣコンバータは、第１６〜第２０いずれかの構成から成るパルス発振器と、前記パルス信号を平滑して三角波信号を生成する平滑部と、出力電圧またはこれに応じた帰還電圧と所定の参照電圧との差分に応じた誤差信号を生成するエラーアンプと、前記誤差信号と前記三角波信号を比較してデューティ信号を生成するコンパレータと、入力電圧から所望の出力電圧が生成されるように前記デューティ信号に応じて出力スイッチをオン／オフさせる駆動部と、を有する構成（第２２の構成）とされている。
【００２８】
また、本明細書中に開示されている計算システムは、第１１〜第１４いずれかの構成から成る乱数生成方法により生成された乱数信号、若しくは、第１５の構成から成る乱数生成回路により生成された乱数信号を用いてモンテカルロシミュレーションを行う構成（第２３の構成）とされている。
【００２９】
また、本明細書中に開示されている計算システムは、第１１〜第１４いずれかの構成から成る乱数生成方法により生成された乱数信号、若しくは、第１５の構成から成る乱数生成回路により生成された乱数信号を用いて、暗号化処理を行う構成（第２４の構成）とされている。
【発明の効果】
【００３０】
本明細書中に開示されている乱数生成方法によれば、無限周期の乱数列ないしは十分な長さの周期を持つ疑似乱数列を生成することが可能となる。
【図面の簡単な説明】
【００３１】
【図１】第１の乱数生成方法の一例を示すフローチャート
【図２】ステップＳ２０の一例を示すフローチャート
【図３】ステップＳ３０の一例を示すフローチャート
【図４】乱数信号ＶＲＳの波形図
【図５】疑似乱数列の周期が短くなる例を示す図
【図６】固定周波数方式の周波数スペクトル図
【図７】スイッチング回路の一構成例を示す回路図（第１実施形態）
【図８】乱数信号生成部の一構成例を示すブロック図
【図９】パルス信号生成部の一動作例を示すタイミングチャート
【図１０】第１実施形態におけるＶＲＳを示す波形図
【図１１】第１実施形態におけるＶＲＳ、ＶＲＴ、ＶＱの相関関係を示す波形図
【図１２】第１実施形態におけるＶｇｓ、Ｖｄｓ、Ｉｄｓの相関関係を示す波形図
【図１３】第１実施形態におけるＶｇｓの周波数スペクトル図
【図１４】第１実施形態におけるＶｄｓの周波数スペクトル図
【図１５】第１実施形態におけるＩｄｓの周波数スペクトル図
【図１６】ＤＣ／ＤＣコンバータの一構成例を示す回路図（第２実施形態）
【図１７】第２実施形態におけるＶＲＳを示す波形図
【図１８】第２実施形態におけるＶＲＳ、ＶＲＴの相関関係を示す波形図
【図１９】第２実施形態におけるＶｇｓ、Ｖｄｓ、Ｉｄｓの相関関係を示す波形図
【図２０】第２実施形態におけるＶｏｕｔの波形図
【図２１】第２実施形態におけるＶｇｓの周波数スペクトル図
【図２２】第２実施形態におけるＶｄｓの周波数スペクトル図
【図２３】第２実施形態におけるＩｄｓの周波数スペクトル図
【図２４】第２の乱数生成方法の一例を示すフローチャート
【図２５】集合｛（ｘ，ｙ）｝を２次元空間にプロットした図
【図２６】スペクトラム拡散信号発生器の一構成例を示す図
【図２７】初期値設定部の一構成例を示す図
【図２８】初期値設定動作の一例を示すタイミングチャート
【図２９】乗算動作の一例を示す図
【図３０】乗算部の一構成例を示す図
【図３１】ビットＹ１８の経時変化を示す図
【図３２】条件判定部の一構成例を示す図
【図３３】カウンタの一構成例を示す図
【図３４】カウント動作の一例を示すタイミングチャート
【図３５】周波数決定部の一構成例を示す図
【図３６】目標カウント値更新動作の一例を示すタイミングチャート
【図３７】デューティ設定動作の一例を示すタイミングチャート
【図３８】スペクトラム拡散信号の周波数スペクトル図
【図３９】ＤＣ／ＤＣコンバータの一構成例を示す回路図（第３実施形態）
【図４０】第３実施形態におけるＶｇｓ、Ｖｄｓ、Ｉｄｓの相関関係を示す波形図
【図４１】第３実施形態におけるＶｏｕｔ及びＶＲＴの波形図
【図４２】第３実施形態におけるＶｇｓの周波数スペクトル図
【図４３】第３実施形態におけるＶｄｓの周波数スペクトル図
【図４４】第３実施形態におけるＩｄｓの周波数スペクトル図
【発明を実施するための形態】
【００３２】
＜第１の乱数生成方法＞
図１は、第１の乱数生成方法（＝無理数ｒのｐ進数展開を利用した乱数生成方法）の一例を示すフローチャートである。本フローが開始されると、まず、ステップＳ１０において、無理数ｒがｎ進数表記（ただしｎは２以上の整数）で設定される。なお、無理数ｒに代えて、計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数ｓをｎ進数表記で設定してもよい。
【００３３】
次に、ステップＳ２０では、無理数ｒまたは有理数ｓのｐ進数展開（ただしｐは２以上の整数であって、ｐ≠ｎ、かつ、ｐ＞ｒまたはｐ＞ｓ）が行われる。例えば、１０進数表記された無理数ｒ（１０）のｐ進数展開は、次の（１）式で表すことができる。なお、ｐ＞ｒである場合、ｐ進数展開された無理数ｒの整数部は、一桁（ａ０のみ）となる。
【００３４】
【数１】
2017215955.tif 000003
【００３５】
ここで、ｒが無理数である場合には、ｐ進数展開により取得された数列（ａ０、ａ−１、ａ−２、…）を無限周期の乱数列として取り扱うことができる。そこで、続くステップＳ３０では、上記の数列（ａ０、ａ−１、ａ−２、…）、または、これに演算処理を施したもの（詳細は後述）が乱数信号として出力される。
【００３６】
図２は、ステップＳ２０の一例を示すフローチャートである。先にも述べたように、ステップＳ２０では、無理数ｒのｐ進数展開を利用して乱数列（ａ０、ａ−１、ａ−２、…）が取得される。以下では、図２とともに、次の（２ａ）式〜（２ｃ）式を適宜参照しながら、ステップＳ２０での演算処理について詳述する。
【００３７】
【数２】
2017215955.tif 000004
【００３８】
本フローが開始されると、まず、ステップＳ２１において、無理数ｒのｐ進数展開が行われる。ここでのｐ進数展開は、上記の（２ａ）式で表すことができる。
【００３９】
次に、ステップＳ２２では、ｐ進数展開された無理数ｒの整数部ａ０が抽出される。そして、ステップＳ２３では、整数部ａ０が乱数列の第１項として出力される。
【００４０】
次に、ステップＳ２４では、ｐ進数展開された無理数ｒの小数部（ｒ−ａ０）が抽出される。また、ステップＳ２５では、小数部（ｒ−ａ０）にｐを乗ずることにより、小数部（ｒ−ａ０）を１桁繰り上げた無理数（ｒ−ａ０）ｐが新たに生成される。なお、更新後の無理数（ｒ−ａ０）ｐは、上記の（２ｂ）式で表すことができる。
【００４１】
その後、フローがステップＳ２２に戻り、無理数（ｒ−ａ０）ｐの整数部ａ−１が抽出される。そして、ステップＳ２３では、整数部ａ−１が乱数列の第２項として出力される。
【００４２】
次に、ステップＳ２４では、無理数（ｒ−ａ０）ｐの小数部｛（ｒ−ａ０）ｐ−ａ−１｝が抽出される。また、ステップＳ２５では、小数部｛（ｒ−ａ０）ｐ−ａ−１｝にｐを乗ずることにより、小数部｛（ｒ−ａ０）ｐ−ａ−１｝を１桁繰り上げた無理数｛（ｒ−ａ０）ｐ−ａ−１｝ｐが新たに生成される。なお、更新後の無理数｛（ｒ−ａ０）ｐ−ａ−１｝ｐは、上記の（２ｃ）式で表すことができる。
【００４３】
その後、フローがステップＳ２２に戻り、無理数｛（ｒ−ａ０）ｐ−ａ−１｝ｐの整数部ａ−２が抽出される。そして、ステップＳ２３では、整数部ａ−２が乱数列の第３項として出力される。
【００４４】
以降も上記一連の処理が繰り返されることにより、乱数列（ａ０、ａ−１、ａ−２、…）の取得が継続される。
【００４５】
具体例として、√２の２進数展開を利用した乱数列（ａ０、ａ−１、ａ−２、…）の取得処理は、次の（３ａ）式〜（３ｃ）式で表すことができる。
【００４６】
【数３】
2017215955.tif 000005
【００４７】
また、πの５進数展開を利用した乱数列（ａ０、ａ−１、ａ−２、…）の取得処理は、次の（４ａ）式〜（４ｃ）式で表すことができる。
【００４８】
【数４】
2017215955.tif 000006
【００４９】
次に、ｐ進数展開の技術的意義について説明する。理論的には、ｎ進数表記された無理数ｒの各桁値をそのまま利用しても、乱数列を生成することは可能である。例えば、１０進数表記された無理数（例えば√２＝１．４１４２…）の各桁値をそのまま利用すれば、乱数列（例えば１、４、１、４、２、…）を生成することができる。
【００５０】
しかしながら、実機での乱数生成処理を考えた場合には、マイコンで取り扱うことのできる有効桁数が重要となる。例えば、√２から乱数列を生成するに際して、マイコンが小数点以下１桁しか取り扱うことのできない極端なケースを考える。
【００５１】
このケースでは、ｒ（１０）＝１．４となるので、各桁値をそのまま利用した場合、ａ０＝１、ａ−１＝４、ａ−２以降は全て０となり、乱数列を生成することができない。
【００５２】
一方、ｒ（１０）＝１．４のｐ進数展開（例えばｐ＝３）を利用すれば、次の（５ａ）式〜（５ｄ）式で示したように、ａ０＝１、ａ−１＝１、ａ−２＝０、ａ−３＝１、…となり、ａ−４以降も同様の演算で乱数列の生成を継続することができる。
【００５３】
【数５】
2017215955.tif 000007
【００５４】
以上より、実機での乱数生成処理を考えた場合には、無理数ｒの各桁値をそのまま乱数として利用するのではなく、ｐ進数展開を利用して乱数列を生成することが重要となる。
【００５５】
なお、上記の乱数列（ａ０、ａ−１、ａ−２、…）をそのまま乱数信号として出力することもできるが、より階調数の大きい乱数信号を生成するためには、上記の乱数列（ａ０、ａ−１、ａ−２、…）に適切な演算処理を施して乱数信号を生成することが望ましい。以下では、この点について、図３を参照しながら詳細に説明する。
【００５６】
図３は、ステップＳ３０で実施される演算処理の一例を示すフローチャートである。本フローが開始されると、まず、ステップＳ３１において、変数ｉの初期設定（ｉ＝０）が行われる。
【００５７】
次に、ステップＳ３２では、乱数列（ａ０、ａ−１、ａ−２、…）をｍ桁ずつ（ただしｍは２以上の整数）に区切り、これを１０進数表記することにより、有理数Ａｉが生成される。なお、有理数Ａｉは、次の（６ａ）式で表すことができる。例えば、ｍ＝３の場合、Ａ０＝ａ０＋ａ−１ｐ＋ａ−２ｐ２となり、Ａ１＝ａ−３＋ａ−４ｐ＋ａ−５ｐ２となる。また、ａｋの最大値は（ｐ−１）であることから、有理数Ａｉの最大値Ａｍａｘは、次の（６ｂ）式で表すことができる。
【００５８】
【数６】
2017215955.tif 000008
【００５９】
次に、ステップＳ３３では、有理数Ａｉに応じた乱数信号ＶＲＳの信号値Ｖが算出される。なお、乱数信号ＶＲＳの最大値及び最小値をＶｍａｘ及びＶｍｉｎとしたとき、乱数信号ＶＲＳの信号値Ｖは、次の（７）式で表すことができる。
【００６０】
【数７】
2017215955.tif 000009
【００６１】
その後、ステップＳ３４では、変数ｉが一つインクリメントされて、フローがステップＳ３２に戻される。以降も、ステップＳ３２〜Ｓ３４が繰り返されることにより、有理数Ａｉが順次生成され、これに応じて乱数信号ＶＲＳの信号値Ｖが順次切り替えられる。
【００６２】
図４は、上記の演算処理により生成される乱数信号ＶＲＳ（ｒ＝√２、ｐ＝３、ｍ＝１０の場合）の波形図である。本図で示したように、乱数信号ＶＲＳは、時間の経過（＝変数ｉのインクリメント）に伴い、最大値Ｖｍａｘと最小値Ｖｍｉｎ（本図の例では、Ｖｍａｘ＝４．６２Ｖ、Ｖｍｉｎ＝４．１８Ｖ）との間で不規則的に変動する。
【００６３】
なお、無理数ｒのｐ進数展開で得られる乱数列自体は、０〜（ｐ−１）の値しか取り得ない。例えば、２進数展開で得られる乱数は０か１となり、５進数展開で得られる乱数は０〜４のいずれかとなる。従って、無理数ｒのｐ進数展開で得られる乱数列をそのまま乱数信号ＶＲＳとして出力する場合には、その階調数を高めることが難しい。
【００６４】
一方、上記の演算処理によって生成される乱数信号ＶＲＳは、（Ａｍａｘ＋１）個の値を取り得るので、その階調数を大幅に高めることが可能となる。
【００６５】
次に、マイコンの数値計算時に桁落ち（＝疑似乱数列の周期短縮）が生じる場合の擬似乱数生成方法について、図５を参照しながら説明する。
【００６６】
図５は、疑似乱数列の周期が短くなる例（ｒ＝√２、ｐ＝２の場合）を示す図である。なお、本図には、疑似乱数列の生成と共に順次繰り上げられていく小数部（＝先出の（２ｂ）式または（２ｃ）式を参照）が１０進数表記で順次記載されている。
【００６７】
マイコンを用いて数値計算を行う場合、その計算精度は有限の有効桁数Ｌ（例えば小数点以下１８桁）によって決まる。すなわち、マイコンを用いた数値計算では、無理数ｒを用いることと、有効桁数Ｌ以上の桁数に亘って循環しない小数部を持つ有理数ｓを用いることとは等価である。なお、当然のことながら、疑似乱数列の周期は、有効桁数Ｌが大きいほど長くなる。
【００６８】
ところで、疑似乱数列の生成処理（＝整数部の抽出処理）では、小数部にｐを乗じて順次桁上げを繰り返す必要がある（図２のステップＳ２５を参照）。しかしながら、小数部の末桁で偶数と５の倍数が掛け合わされると、新たな小数部の末桁に０が生じるので、疑似乱数列の周期が短くなっていく（図中の太枠内を参照）。
【００６９】
これを鑑みると、ｐは５の倍数でない奇数とすることが望ましい。このような設定を行うことにより、十分に長い周期の擬似乱数列を生成することが可能となる。
【００７０】
なお、疑似乱数列の出力に際しては、ｐ進数展開により取得される数列から所定長の部分数列を切り出し、その部分数列を反復して疑似乱数列を生成するようにしてもよい。
【００７１】
＜乱数利用例＞
図６は、固定周波数方式の周波数スペクトル図である。本図の黒線は、第１矩形波信号（５００ｋＨｚ固定）について、周波数毎の信号強度を示した周波数スペクトルである。一方、本図のグレー線は、第２矩形波信号（１０ＭＨｚ固定）について、周波数毎の信号強度を示した周波数スペクトルである。
【００７２】
双方の周波数スペクトル（黒線、グレー線）を対比すれば分かるように、固定周波数方式で高周波駆動を行うと、高周波領域のピーク強度が大きくなるので、放射ノイズや伝導ノイズが増大する。
【００７３】
一方、駆動周波数に変調を掛けるスペクトラム拡散方式を採用すれば、固定周波数方式の基本的な周波数ノイズレベルに対して、一定の減衰量を得ることが可能となる。特に、駆動周波数の変調手段としては、これまでに説明してきた乱数信号ＶＲＳを好適に用いることが可能である。
【００７４】
以下では、乱数信号ＶＲＳを用いたスペクトラム拡散方式について、具体例を挙げながら詳細に説明する。
【００７５】
＜第１実施形態＞
図７は、スイッチング回路の一構成例を示す回路図（第１実施形態）である。本実施形態のスイッチング回路１は、矩形波信号ＶＱを生成するパルス発振器１０と、矩形波信号ＶＱに応じて出力スイッチＮ１（本図ではＮＭＯＳＦＥＴ）をオン／オフさせる駆動部２０とを有し、入力電圧Ｖｉｎの印加端と出力スイッチＮ１との間に接続された負荷抵抗ＲＬ１を駆動する。
【００７６】
パルス発振器１０は、これまでに説明してきた乱数生成方法を用いて乱数信号ＶＲＳを生成する乱数信号生成部１１０と、乱数信号ＶＲＳに応じた発振周波数のパルス信号（ここでは矩形波信号ＶＱ）を生成するパルス信号生成部１２０と、を含む。
【００７７】
パルス信号生成部１２０は、コンパレータ１２１と、Ｄフリップフロップ１２２と、積分回路１２３と、ローパスフィルタ１２４と、コンパレータ１２５と、を含む。
【００７８】
コンパレータ１２１は、非反転入力端（＋）に入力される乱数信号ＶＲＳと反転入力端（−）に入力される三角波信号ＶＲＴとを比較してクリア信号ＣＬＲを生成する。クリア信号ＣＬＲは、乱数信号ＶＲＳが三角波信号ＶＲＴよりも高いときにハイレベルとなり、乱数信号ＶＲＳが三角波信号ＶＲＴよりも低いときにローレベルとなる。
【００７９】
Ｄフリップフロップ１２２は、クロック信号ＣＬＫとクリア信号ＣＬＲの入力を受けて矩形波信号ＶＱを出力する順序回路である。例えば、Ｄフリップフロップ１２２は、クロック信号ＣＬＫの立上りエッジを受けて矩形波信号ＶＱをハイレベル（＝データ端（Ｄ）に印加されている電源電圧Ｖｃｃ）とし、クリア信号ＣＬＲの立上りエッジを受けて矩形波信号ＶＱをローレベル（＝ＧＮＤ）とする。
【００８０】
積分回路１２３は、参照電圧Ｖｒｅｆ１を基準として矩形波信号ＶＱを積分することにより三角波信号ＶＲＴを生成する手段であり、オペアンプＡＭＰ１と、抵抗Ｒ１と、キャパシタＣ１と、を含む。オペアンプＡＭＰ１の非反転入力端（＋）には、参照電圧Ｖｒｅｆ１が印加されている。一方、オペアンプＡＭＰ１の反転入力端（−）には、抵抗Ｒ１を介して矩形波信号ＶＱが印加されている。また、オペアンプＡＭＰ１の反転入力端（−）と出力端との間には、キャパシタＣ１が接続されている。
【００８１】
ローパスフィルタ１２４は、抵抗Ｒ２とキャパシタＣ２から成るＲＣフィルタであり、三角波信号ＶＲＴから高周波成分を除去する。
【００８２】
コンパレータ１２５は、非反転入力端（＋）に入力される三角波信号ＶＲＴと反転入力端（−）に入力される参照電圧Ｖｒｅｆ２を比較してクロック信号ＣＬＫを生成する。クロック信号ＣＬＫは、三角波信号ＶＲＴが参照電圧Ｖｒｅｆ２よりも高いときにハイレベルとなり、三角波信号ＶＲＴが参照電圧Ｖｒｅｆ２よりも低いときにローレベルとなる。
【００８３】
なお、見方を変えると、本構成例のパルス発振器１０は、基本周波数を有するキャリア波を生成するキャリア波生成手段と、周波数掃引信号を発生させる周波数掃引手段と、キャリア波に基づいてパルス信号を生成するパルス生成手段と、を備えており、キャリア波生成手段は、周波数掃引信号に応じてキャリア波の周波数を不規則的に変化させる構成であると言うこともできる。
【００８４】
図８は、乱数信号生成部１１０の一構成例を示すブロック図である。本構成例の乱数信号生成部１１０は、マイコン１１１と、マスタクロック源１１２と、メモリ１１３と、ＤＡＣ１１４と、を含む。
【００８５】
マイコン１１１は、マスタクロックＭＣＬＫに同期して動作し、これまでに説明してきた乱数生成方法を用いて乱数信号ＶＲＳを生成するためのデジタル計算機である。
【００８６】
マスタクロック源１１２は、マイコン１１１を駆動するためのマスタクロックＭＣＬＫを生成する。
【００８７】
メモリ１１３は、マイコン１１１のプログラム格納領域及び作業領域として用いられる半導体記憶手段である。
【００８８】
ＤＡＣ１１４は、マイコン１１１から入力されるデジタルの乱数信号をアナログの乱数信号ＶＲＳに変換して出力する。
【００８９】
このように、本構成例の乱数信号生成部１１０であれば、マイコン１１１でのデジタル演算処理によって所望の乱数信号ＶＲＳ（＝十分な長さの周期を持つ疑似乱数列）を生成することができるので、回路規模の増大とは無縁である。
【００９０】
図９は、パルス信号生成部１２０の一動作例を示すタイミングチャートであり、上から順に、矩形波信号ＶＱ、三角波信号ＶＲＴ、クロック信号ＣＬＫ、及び、クリア信号ＣＬＲが描写されている。
【００９１】
時刻ｔ１において、三角波信号ＶＲＴが乱数信号ＶＲＳよりも低くなると、クリア信号ＣＬＲがハイレベルに立ち上がる。その結果、矩形波信号ＶＱがローレベル（＝ＧＮＤ）に立ち下がるので、その後、三角波信号ＶＲＴが下降から上昇に転じる。
【００９２】
時刻ｔ２において、三角波信号ＶＲＴが参照電圧Ｖｒｅｆ２よりも高くなると、クロック信号ＣＬＫがハイレベルに立ち上がる。その結果、矩形波信号ＶＱがハイレベル（＝Ｖｃｃ）に立ち上がるので、その後、三角波信号ＶＲＴが上昇から下降に転じる。
【００９３】
時刻ｔ２以降も、上記と同様の動作が繰り返されることにより、矩形波信号ＶＱの生成が継続される。
【００９４】
なお、乱数信号生成部１１０で生成される乱数信号ＶＲＳは、これまでに説明してきた乱数生成方法により、その信号値が不規則に変動する。また、乱数信号ＶＲＳが不規則に変動すると、これに伴って矩形波信号ＶＱの駆動周波数ｆも不規則に変動する。
【００９５】
このように、本構成例のパルス発振器１０であれば、乱数信号ＶＲＳを用いて駆動周波数ｆに変調を掛けることができるので、スペクトラム拡散方式の作用効果により、固定周波数方式の基本的な周波数ノイズレベルに対して一定の減衰量を得ることが可能となる。
【００９６】
図１０は、第１実施形態における乱数信号ＶＲＳの波形図である。図１１は、第１実施形態における乱数信号ＶＲＳ、三角波信号ＶＲＴ、及び、矩形波信号ＶＱの相関関係を示す波形図である。図１２は、シミュレーションにより得られた第１実施形態における出力スイッチＮ１のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓの相関関係を示す波形図である。
【００９７】
なお、上記の各波形図は、ｒ＝√２、ｐ＝３、ｍ＝１０、乱数信号ＶＲＳが４．４１Ｖを中心値として±０．７％の変動幅を持つ場合（Ｖｍａｘ＝４．４４１Ｖ、Ｖｍｉｎ＝４．３７９Ｖ）に得られたものである。
【００９８】
図１３〜図１５は、第１実施形態における出力スイッチＮ１のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数ｆを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数ｆに疑似乱数変調を掛けた場合の周波数スペクトルを示している。
【００９９】
各図を参照すれば分かるように、駆動周波数ｆに疑似乱数変調を掛けた場合には、駆動周波数ｆを固定した場合と比べて、出力スイッチＮ１のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、並びに、ドレイン・ソース間電流Ｉｄｓの全てにおいて、最大で１０ｄＢ程度のノイズ低減を達成することが可能となる。
【０１００】
＜第２実施形態＞
図１６は、ＤＣ／ＤＣコンバータの一構成例を示す回路図（第２実施形態）である。本実施形態のＤＣ／ＤＣコンバータ２は、先出のパルス発振器１０と、スイッチ出力部３０と、帰還電圧生成部４０と、エラーアンプ５０と、位相補償部６０と、コンパレータ７０と、駆動部８０と、を有する。
【０１０１】
パルス発振器１０は、基本的に図７と同様の構成であるが、矩形波信号ＶＱではなく、三角波信号ＶＲＴを出力する。
【０１０２】
スイッチ出力部３０は、入力電圧Ｖｉｎを降圧して所望の出力電圧Ｖｏｕｔを生成して負荷抵抗ＲＬ２に供給する出力段であり、出力スイッチＮ２（本図ではＮＭＯＳＦＥＴ）と、ダイオードＤ１と、インダクタＬ１と、キャパシタＣ３と、を含む。出力スイッチＮ２のドレインは、入力電圧Ｖｉｎの入力端に接続されている。出力スイッチＮ２のソースは、ダイオードＤ１のカソードとインダクタＬ１の第１端に接続されている。出力スイッチＮ２のゲートは、駆動部８０の出力端に接続されている。インダクタＬ１の第２端とキャパシタＣ３の第１端は、出力電圧Ｖｏｕｔの出力端に接続されている。ダイオードＤ１のアノードとキャパシタＣ３の第２端は、接地端に接続されている。
【０１０３】
このように、本実施形態では、ダイオード整流方式による降圧型のスイッチ出力部３０が用いられている。ただし、スイッチ出力部３０の構成は何らこれに限定されるものではなく、例えば、ダイオードＤ１を同期整流トランジスタに置き換えても構わない。また、昇圧型、昇降圧型、ないしは、反転型のスイッチ出力部３０を用いることも任意である。
【０１０４】
帰還電圧生成部４０は、出力電圧Ｖｏｕｔの出力端と接地端との間に直列接続された抵抗Ｒ３及びＲ４を用いることにより、出力電圧Ｖｏｕｔに応じた帰還電圧Ｖｆｂ（＝出力電圧Ｖｏｕｔの分圧電圧）を生成する。なお、出力電圧Ｖｏｕｔがエラーアンプ５０の入力ダイナミックレンジに収まっている場合には、帰還電圧生成部４０を割愛し、出力電圧Ｖｏｕｔをエラーアンプ５０に直接入力することも可能である。
【０１０５】
エラーアンプ５０は、オペアンプＡＭＰ２と、抵抗Ｒ５及びＲ６と、キャパシタＣ４とを含み、帰還電圧Ｖｆｂと所定の参照電圧Ｖｒｅｆとの差分に応じた誤差信号Ｖｅｒｒを生成する。オペアンプＡＭＰ２の非反転入力端（＋）は、参照電圧Ｖｒｅｆの印加端に接続されている。オペアンプＡＭＰ２の反転入力端（−）は、帰還電圧Ｖｆｂの印加端に接続されている。また、オペアンプＡＭＰ２の反転入力端（−）と出力端との間には、抵抗Ｒ６とキャパシタＣ４が並列接続されている。なお、誤差信号Ｖｅｒｒは、帰還電圧Ｖｆｂが参照電圧Ｖｒｅｆよりも低いときに上昇し、帰還電圧Ｖｆｂが参照電圧Ｖｒｅｆよりも高いときに低下する。
【０１０６】
位相補償部６０は、抵抗Ｒ７とキャパシタＣ５から成るＲＣローパスフィルタであり、誤差信号Ｖｅｒｒが発振しないように位相補償を行う。
【０１０７】
コンパレータ７０は、非反転入力端（＋）に入力される誤差信号Ｖｅｒｒと、反転入力端（−）に入力される三角波信号ＶＲＴとを比較して、パルス幅変調されたデューティ信号Ｓｄを生成する。デューティ信号Ｓｄは、誤差信号Ｖｅｒｒが三角波信号ＶＲＴよりも高いときにハイレベルとなり、誤差信号Ｖｅｒｒが三角波信号ＶＲＴよりも低いときにローレベルとなる。
【０１０８】
駆動部８０は、入力電圧Ｖｉｎから所望の出力電圧Ｖｏｕｔが生成されるように、デューティ信号Ｓｄに応じて出力スイッチＮ２をオン／オフさせる。より具体的に述べると、駆動部８０は、デューティ信号Ｓｄがハイレベルであるときに出力スイッチＮ２をオンとし、デューティ信号Ｓｄがローレベルであるときに出力スイッチＮ２をオフとするようにゲート制御を行う。
【０１０９】
図１７は、第２実施形態における乱数信号ＶＲＳの波形図である。図１８は、第２実施形態における乱数信号ＶＲＳと三角波信号ＶＲＴの相関関係を示す波形図である。図１９は、シミュレーションにより得られた第２実施形態における出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓの相関関係を示す波形図である。図２０は、第２実施形態における出力電圧Ｖｏｕｔを示す波形図である。
【０１１０】
なお、上記の各波形図は、ｒ＝√２、ｐ＝３、ｍ＝１０、乱数信号ＶＲＳが０．７Ｖを中心値として±２％の変動幅を持つ場合（Ｖｍａｘ＝０．７１４Ｖ、Ｖｍｉｎ＝０．６８６Ｖ）に得られたものである。
【０１１１】
図２１〜図２３は、第２実施形態における出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数ｆを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数ｆに疑似乱数変調を掛けた場合の周波数スペクトルを示している。
【０１１２】
各図を参照すれば分かるように、駆動周波数ｆに疑似乱数変調を掛けた場合には、駆動周波数ｆを固定した場合と比べて、出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、並びに、ドレイン・ソース間電流Ｉｄｓの全てにおいて、最大で１０ｄＢ程度のノイズ低減を達成することが可能となる。
【０１１３】
＜第２の乱数生成方法＞
図２４は、第２の乱数生成方法の一例を示すフローチャートである。本フローが開始されると、まず、ステップＳ４１において、変数ｋの初期設定（ｋ＝１）が行われる。
【０１１４】
次に、ステップＳ４２では、入力信号Ｐｋの初期値（＝Ｐ１）として、０以外の実数Ｓが設定される。なお、乱数の種となる実数Ｓとしては、例えば、無理数（または計算機の有効桁数以上の桁数に亘って循環しない小数部を持つ有理数）や素数が好適である。
【０１１５】
次に、ステップＳ４３では、入力信号Ｐｋに所定の乗算処理（＝係数ｒの乗算処理）が施されて乗算信号ｒＰｋが算出される。
【０１１６】
次に、ステップＳ４４では、乗算信号ｒＰｋに所定の条件判定処理が施されて入力信号Ｐｋの更新値（＝次回の入力信号Ｐｋ＋１）が設定される。
【０１１７】
その後、ステップＳ４５では、変数ｋが一つインクリメントされて、フローがステップＳ４３に戻される。以降も、ステップＳ４３〜Ｓ４５が繰り返されることにより、乗算信号ｒＰｋが順次生成され、その一部または全部、若しくは、これに所定の演算処理を施したものが乱数信号として出力される。例えば、乗算信号ｒＰｋが２進数で表記されるデジタル信号である場合には、その任意のビットを乱数信号として利用することができる。
【０１１８】
＜条件判定処理＞
次に、ステップＳ４４における条件判定処理のアルゴリズムについて説明する。上記の条件判定処理では、乗算信号ｒＰｋの信号値とＬ個の閾値Ｋ１〜ＫＬ（ただし、Ｌは２以上の整数であり、Ｋ１＜Ｋ２＜…＜ＫＬ）とがそれぞれ比較され、次の（８）０〜（８）Ｌ式に照らし合わせて、入力信号Ｐｋの更新値（＝次回の入力信号Ｐｋ＋１）が設定される。
【０１１９】
【数８】
2017215955.tif 000010
【０１２０】
なお、実数Ｓを２進数で表記されるＮビット（例えばＮ＝１９）のデジタル信号Ｓ（２）としたときには、入力信号Ｐｋ及び乗算信号ｒＰｋもデジタル信号となる。このとき、閾値Ｋ１〜ＫＬをそれぞれ２Ｎ−Ｌ＋２〜２Ｎ＋１に設定すると、先出の（８）０〜（８）Ｌ式は、次の（９）０〜（９）Ｌ式として書き改めることができる。
【０１２１】
【数９】
2017215955.tif 000011
【０１２２】
このように、ステップＳ４４における条件判定処理では、乗算信号ｒＰｋの信号値と複数の閾値Ｋ１〜ＫＬとがそれぞれ比較され、乗算信号の信号値ｒＰｋ、若しくは、乗算信号ｒＰｋの信号値から複数の閾値Ｋ１〜ＫＬのいずれかを差し引いた差分値が入力信号Ｐｋの更新値（＝次回の入力信号Ｐｋ＋１）として設定される。
【０１２３】
＜乱数性評価＞
次に、上記一連のフローで生成される乱数信号の評価手法について説明する。乱数信号の評価に際しては、まず、乱数信号（＝乗算信号ｒＰｋ）が０≦ｘｉ≦１（ただしｉは正の整数であり、ここではｉ＝１，２，…，ｎ）を満たす実数の集合｛ｘｉ｝として正規化される。例えば、Ｒｉ＝ｒＰｉとして、集合｛Ｒｉ｝（ただしＲｍｉｎ≦Ｒｉ≦Ｒｍａｘ）を作成し、次の（１０）式を用いて実数ｘｉを求めればよい。
【０１２４】
【数１０】
2017215955.tif 000012
【０１２５】
また、乗算信号ｒＰｋがデジタル信号であり、その下位からｍ番目のビット（ここではｒＰｋｍと表わす）を乱数信号として利用する場合には、ａ１（２）＝［ｒＰ１ｍｒＰ２ｍ…ｒＰ１９ｍ］，ａ２（２）＝［ｒＰ２０ｍｒＰ２１ｍ…ｒＰ３８ｍ］，…，ａｎ（２）＝［ｒＰ（１９ｎ−１８）ｍｒＰ（１９ｎ−１７）ｍ…ｒＰ１９ｎｍ］というように、例えば、乱数列（ｒＰ１ｍ，ｒＰ２ｍ，…，ｒＰ１９ｎｍ）を１９桁ずつに区切り、次の（１１）式を用いて実数ｘｉを求めればよい。
【０１２６】
【数１１】
2017215955.tif 000013
【０１２７】
次に、上記で求められた実数の集合｛ｘｉ｝から２次元空間における実数ベクトルの集合｛（ｘ，ｙ）＝（ｘ１，ｘ２），（ｘ２，ｘ３），…，（ｘｎ，ｘ１）｝が生成される。これは、写像ｆ：｛ｘｉ｝→｛（ｘ，ｙ）｝として定義される。
【０１２８】
そして、次の（１２）式により、相関係数ｒｘｙが算出される。
【０１２９】
【数１２】
2017215955.tif 000014
【０１３０】
図２５は、実数ベクトルの集合｛（ｘ，ｙ）｝を２次元空間にプロットした図である。まず、本図左側には、第１条件（Ｓ＝√２−１，ｒ＝３，Ｌ＝２，Ｋ１＝１，Ｋ２＝２，ｎ＝６５５３５）で集合｛ｘｉ｝を生成したときの結果が示されている。本図から明らかなように、第１条件において、実数ベクトル（ｘ，ｙ）は、２次元空間に一様に分散していることが分かる。なお、相関係数ｒｘｙは、−３．４×１０−３であった。
【０１３１】
また、本図中央には、第２条件（Ｓ＝１７，ｒ＝３，Ｌ＝２，Ｎ＝１９，Ｋ１＝２１９，Ｋ２＝２２０，ｎ＝６５５３５）で集合｛ｘｉ｝を生成したときの結果が示されている。本図から明らかなように、第２条件でも、実数ベクトル（ｘ，ｙ）は、２次元空間に一様に分散していることが分かる。なお、相関係数ｒｘｙは、２．９×１０−３であった。
【０１３２】
一方、本図の右側には、線形帰還シフトレジスタ（ＬＦＳＲ［linear feedback shift register］）を使用し、所定の条件（ビット数＝１６，ｎ＝６５５３５）で集合｛ｘｉ｝を生成したときの結果が示されている。本図から明らかなように、ＬＦＳＲを用いる従来の乱数生成方法では、実数ベクトル（ｘ，ｙ）が２次元空間に一様に分散していないことが分かる。なお、相関係数ｒｘｙは０．５であった。
【０１３３】
このように、第２の乱数生成方法を用いて生成された乱数信号を０≦ｘｉ≦１（ただしｉは正の整数）を満たす実数の集合｛ｘｉ｝として正規化し、実数の集合｛ｘｉ｝から実数ベクトルの集合｛（ｘ，ｙ）＝（ｘ１，ｘ２），（ｘ２，ｘ３），…，（ｘｎ，ｘ１）｝を生成したときには、相関係数ｒｘｙが０≦ｒｘｙ＜０．５を満たすものとなる。従って、従来の乱数生成方法と比べて、乱数性の高い乱数信号を生成することが可能となる。特に、ＬＦＳＲを用いる従来の乱数生成方法では、相関係数Ｒｘｙが０．５なので、モンテカルロシミュレーションや暗号化処理を行う計算システムには用いることができないが、第２の乱数生成方法であれば、相関係数Ｒｘｙが十分に小さいので、上記の計算システムにも好適に用いることが可能である。
【０１３４】
＜スペクトラム拡散信号発生器＞
図２６は、スペクトラム拡散信号発生器の一構成例を示す図である。本構成例のスペクトラム拡散信号発生器２００は、乱数信号生成回路２００Ａと、パルス信号生成回路２００Ｂと、を有するパルス発振器の一種である。
【０１３５】
乱数信号生成回路２００Ａは、先に説明した第２の乱数信号生成方法を用いて乱数信号（＝乗算信号ｒＰｋ）を生成する回路ブロックであり、初期値設定部２１０と、乗算部２２０と、条件判定部２３０と、を含む。
【０１３６】
パルス信号生成回路２００Ｂは、乗算信号ｒＰｋに応じた発振周波数のパルス信号を生成し、これをスペクトラム拡散信号ＶＳＳとして出力する回路ブロックであり、カウンタ２４０と、周波数決定部２５０と、を含む。
【０１３７】
初期値設定部２１０は、入力信号Ｐｋの初期値（＝Ｐ１）として、０以外の実数Ｓを設定する。
【０１３８】
乗算部２２０は、入力信号Ｐｋに所定の乗算処理（＝係数ｒの乗算処理）を施して乗算信号ｒＰｋを算出する。
【０１３９】
条件判定部２３０は、乗算信号ｒＰｋに所定の条件判定処理を施して入力信号Ｐｋの更新値（＝次回の入力信号Ｐｋ＋１）を設定する。
【０１４０】
なお、乱数信号生成回路２００Ａでは、上記の乗算処理と条件判定処理が繰り返されることにより、乗算信号ｒＰｋが順次生成され、その一部または全部、若しくは、これに所定の演算処理を施したものが乱数信号として出力される。例えば、乗算信号ｒＰｋが２進数で表記されるデジタル信号である場合には、その任意のビットを乱数信号として利用することができる。この点については、先述の通りである。
【０１４１】
カウンタ２４０は、クロック信号ＰＷＭのパルスカウント値Ｍ１を出力する。
【０１４２】
周波数決定部２５０は、パルスカウント値Ｍ１と乱数信号ｒＰｋに応じた目標カウント値Ｍ２（後述）とを比較して、スペクトラム拡散信号ＶＳＳの発振周波数を決定する。
【０１４３】
以下では、Ｓ＝１７ｄ（＝０００…１０００１ｂ），ｒ＝３，Ｌ＝２，Ｎ＝１９，Ｋ１＝２１９，Ｋ２＝２２０である場合を例に挙げて、上記各部の構成及び動作を説明する。ただし、これとは異なる条件を用いることも任意である。
【０１４４】
また、以下では、入力信号Ｐｋ及び乗算信号ｒＰｋに付されている添え字ｋを必要のない限り割愛し、それぞれ、入力信号Ｐ及び乗算信号ｒＰ（＝３Ｐ）と略記する。
【０１４５】
＜初期値設定部＞
図２７は、初期値設定部２１０の一構成例を示す図である。今、入力信号Ｐの各ビットを下位ビットから順に、Ａ１〜Ａ２１（ただしビットＡ２０及びＡ２１は演算用（後述）であり常に０）と定義する。この場合、入力信号Ｐを初期値Ｓ＝１７ｄ（＝０００…１０００１ｂ）に設定するためには、ビットＡ１及びＡ５を「１」とし、その他のビットを全て「０」とすればよいことが分かる。
【０１４６】
なお、入力信号Ｐの初期値Ｓとこれに乗算される係数ｒが共に奇数なので、ビットＡ１については、常に「１」（＝ハイレベル電位Ｖ１）に維持しておけばよい。従って、初期値設定部２１０では、実質的に、ビットＡ５の初期値設定のみを行えばよいことになる。本構成例の初期値設定部２１０は、これを実現するための手段として、ＲＳフリップフロップ２１１と、抵抗２１２と、キャパシタ２１３と、ＯＲゲート２１４と、を含む。
【０１４７】
ＲＳフリップフロップ２１１のセット端（Ｓ）と抵抗２１２の第１端は、信号Ｖｓの入力端に接続されている。抵抗２１２の第２端とキャパシタ２１３の第１端（＝信号Ｖｒの出力端）は、ＲＳフリップフロップ２１１のリセット端（Ｒ）に接続されている。キャパシタ２１３の第２端は、接地端に接続されている。ＲＳフリップフロップ２１１の出力端（Ｑ）（＝信号Ｖｑの出力端）は、ＯＲゲート２１４の第１入力端に接続されている。ＯＲゲート２１４の第２入力端は、信号ＡＡ５（後述）の入力端に接続されている。ＯＲゲート２１４の出力端は、ビットＡ５の出力端に相当する。
【０１４８】
上記構成から成る初期値設定部２１０において、抵抗２１２とキャパシタ２１３は、信号Ｖｓを平滑して信号Ｖｒを生成する。従って、信号Ｖｒの波形は、信号Ｖｓのエッジを鈍らせた波形となる。ＲＳフリップフロップ２１１は、信号Ｖｓが閾値Ｖｔｈを上回ったときに信号Ｖｑをハイレベルにセットし、信号Ｖｒが閾値Ｖｔｈを上回ったときに信号Ｖｑをローレベルにリセットする。ＯＲゲート２１４は、信号Ｖｑと信号ＡＡ５の論理和信号をビットＡ５として出力する。従って、ビットＡ５は、信号Ｖｑと信号ＡＡ５の少なくとも一方がハイレベルであるときにハイレベルとなり、信号Ｖｑと信号ＡＡ５の双方がローレベルであるときにローレベルとなる。
【０１４９】
図２８は、初期値設定部２１０による初期値設定動作の一例を示すタイミングチャートであり、上から順に、信号Ｖｓ（実線）及び信号Ｖｒ（破線）、信号Ｖｑ、信号ＡＡ５、並びに、ビットＡ５が描写されている。
【０１５０】
時刻ｔ１１において、信号Ｖｓがハイレベルに立ち上げられると、信号Ｖｒはこれに伴って緩やかに上昇を開始する。その結果、Ｖｓ＞Ｖｔｈ、Ｖｒ＜Ｖｔｈとなるので、信号Ｖｑがハイレベルにセットされる。従って、ビットＡ５は、信号ＡＡ５の論理レベルに依ることなく、ハイレベル（＝初期値「１」に相当）に固定される。
【０１５１】
その後、時刻ｔ１２において、Ｖｒ＞Ｖｔｈになると、信号Ｖｑがローレベルにリセットされる。従って、時刻ｔ１２以降、ビットＡ５として信号ＡＡ５がスルー出力される。
【０１５２】
なお、ビットＡ１〜Ａ１９についても、必要に応じて上記と同様の回路を用いることにより、それぞれの初期値を「１」に設定することができる。従って、１９ビットの入力信号Ｐについて言えば、その初期値Ｓを「００００…０００１ｂ」（＝１ｄ）〜「１１１１…１１１１ｂ」（＝５２４２８７ｄ）の範囲で任意に設定することが可能である。
【０１５３】
また、ビットＡ１及びＡ５以外の初期値を「０」とする初期設定動作については、信号Ｖｒを用いて実現することができる。この点については、条件判定部２３０の構成及び動作の説明と併せて後述する。
【０１５４】
＜乗算部＞
Ｎ＝１９である場合、入力信号Ｐの数値範囲は、１ｄ〜５２４２８７ｄとなり、これを３倍して得られる乗算信号３Ｐの数値範囲は、３ｄ〜１５７２８６１ｄとなる。従って、乗算信号３Ｐを２進数で表記するためには、２１ビットが必要となる。
【０１５５】
ここで、１０進数表記の乗算信号３Ｐ（１０）は、次の（１３）式で表すことができる。
【０１５６】
【数１３】
2017215955.tif 000015
【０１５７】
従って、入力信号Ｐを「Ａ１９Ａ１８Ａ１７…Ａ３Ａ２Ａ１」というように２進数で表記し、乗算信号３Ｐを「Ｙ２１Ｙ２０Ｙ１９Ｙ１８…Ｙ４Ｙ３Ｙ２Ｙ１」というように２進数で表記した場合、乗算部２２０による乗算動作は、図２９で示す演算処理となる。なお、本図中のＣ１〜Ｃ１９は、それぞれ、繰上がりビットを示している。
【０１５８】
図２９の演算処理を論理式で表わすと、次の（１４）１〜（１４）２１式のようになる。ただし、この論理式はあくまでも一例であり、同様の演算結果が得られる論理式は、この限りではない。
【０１５９】
【数１４】
2017215955.tif 000016
【０１６０】
図３０は、上記の演算処理を実施する乗算部２２０の一構成例を示す図である。本構成例の乗算部２２０は、ＸＯＲゲートａ１〜ａ５８と、ＡＮＤゲートｂ１〜ｂ３７と、ＯＲゲートｃ１〜ｃ１８と、を含む。
【０１６１】
ＸＯＲゲートａ１は、ビットＡ１とビットＡ２との排他的論理和信号をビットＹ２として出力する。この論理演算処理は、（１４）２式に相当する。
【０１６２】
ＡＮＤゲートｂ１は、ビットＡ１とビットＡ２との論理積信号（＝繰上がりビットＣ１に相当）を出力する。ＸＯＲゲートａ２は、ｂ１出力とビットＡ２との排他的論理和信号を出力する。ＸＯＲゲートａ３は、ａ２出力とビットＡ３との排他的論理和信号をビットＹ３として出力する。これらの論理演算処理は、（１４）３式に相当する。
【０１６３】
ＡＮＤゲートｂ２は、ビットＡ２とビットＡ３との論理積信号を出力する。ＸＯＲゲートａ６は、ビットＡ２とビットＡ３との排他的論理和信号を出力する。ＡＮＤゲートｂ３は、ｂ１出力とａ６出力との論理積信号を出力する。ＯＲゲートｃ１は、ｂ２出力とｂ３出力との論理和信号（＝繰上がりビットＣ２に相当）を出力する。ＸＯＲゲートａ４は、ｃ１出力とビットＡ３との排他的論理和信号を出力する。ＸＯＲゲートａ５は、ａ４出力とビットＡ４との排他的論理和信号をビットＹ４として出力する。
【０１６４】
ＡＮＤゲートｂ４は、ビットＡ３とビットＡ４との論理積信号を出力する。ＸＯＲゲートａ７は、ビットＡ３とビットＡ４との排他的論理和信号を出力する。ＡＮＤゲートｂ５は、ｃ１出力とａ７出力との論理積信号を出力する。ＯＲゲートｃ２は、ｂ４出力とｂ５出力との論理和信号（＝繰上がりビットＣ３に相当）を出力する。ＸＯＲゲートａ８は、ｃ２出力とビットＡ４との排他的論理和信号を出力する。ＸＯＲゲートａ９は、ａ８出力とビットＡ５との排他的論理和信号をビットＹ５として出力する。
【０１６５】
ビットＹ６〜Ｙ２０の生成回路は、それぞれ、ビットＹ５の生成回路と基本的に同様であり、３つのＸＯＲゲート、２つのＡＮＤゲート、及び、１つのＯＲゲートが繰り返して配置されている。そこで、ビットＹ６〜Ｙ２０の生成回路については、重複した説明を割愛し、ビットＹ２１以降の生成回路について説明を続ける。
【０１６６】
ＡＮＤゲートｂ３６は、ビットＡ１９とビットＡ２０との論理積信号を出力する。ＸＯＲゲートａ５５は、ビットＡ１９とビットＡ２０との排他的論理和信号を出力する。ＡＮＤゲートｂ３７は、ｃ１７出力とａ５５出力との論理積信号を出力する。ＯＲゲートｃ１８は、ｂ３６出力とｂ３７出力との論理和信号（＝繰上がりビットＣ１９に相当）を出力する。ＸＯＲゲートａ５６は、ｃ１８出力とビットＡ２０（＝常に０）との排他的論理和信号（すなわち繰上がりビットＣ１９そのもの）をビットＹ２１として出力する。これらの論理演算処理は、（１４）２１式に相当する。
【０１６７】
ＸＯＲゲートａ５７は、ビットＹ２０とビットＹ２０との排他的論理和信号を生成し、これを条件判定処理用の信号ＹＹ２０（＝常に０）として条件判定部２２０に出力する。
【０１６８】
ＸＯＲゲートａ５８は、ビットＹ２１とビットＹ２１との排他的論理和信号を生成し、これを条件判定処理用の信号ＹＹ２１（＝常に０）として条件判定部２２０に出力する。
【０１６９】
ただし、上記の論理回路はあくまでも一例であり、同様の演算結果が得られる論理回路は、この限りではない。
【０１７０】
図３１は、ビットＹ１８の経時変化を示す図である。本図から分かるように、ビットＹ１８は、ランダムに、「０」（＝０Ｖ）と「１」（＝５Ｖ）を取る。そこで、以下では、ビットＹ１８を乱数信号として利用する例を挙げて説明を行う。ただし、乗算信号３Ｐの各ビットのうち、いずれを乱数信号と利用しても構わない。また、乗算信号３Ｐそのものを乱数信号として利用することも可能である。
【０１７１】
＜条件判定部＞
図３２は、条件判定部２３０の一構成例を示す図である。本構成例の条件判定部２３０は、ＡＮＤゲートｄ２〜ｄ１９と、Ｄフリップフロップｅ２〜ｅ２１と、を含む。
【０１７２】
ＡＮＤゲートｄ２〜ｄ１９は、それぞれ、信号Ｖｒ（先出の図２７を参照）とビットＹ２〜Ｙ１９との論理積信号を出力する。従って、信号Ｖｒがローレベルに維持されている間、ｄ２出力〜ｄ１９出力は、ビットＹ２〜Ｙ１９それぞれの論理レベルに依ることなくローレベルに固定される。一方、信号Ｖｒがハイレベルに立ち上がると、それ以降、ビットＹ２〜Ｙ１９がｄ２出力〜ｄ１９出力としてスルー出力される。このような論理演算処理により、ビットＡ２〜Ａ１９（ただしビットＡ５を除く）の初期値を「０」に設定することができる。
【０１７３】
Ｄフリップフロップｅ２〜ｅ２１は、それぞれ、クロック端に入力されるクロック信号ＰＷＭに同期して、データ端（Ｄ）への入力信号をラッチし、これを出力端（Ｑ）から出力する。より具体的に述べると、Ｄフリップフロップｅ２〜ｅ４及びｅ６〜ｅ１９は、それぞれ、ｄ２出力〜ｄ４出力及びｄ６出力〜ｄ１９出力をラッチし、これをビットＡ２〜Ａ４及びＡ６〜Ａ１９として出力する。
【０１７４】
Ｄフリップフロップｅ５は、ｄ５出力をラッチし、これを信号ＡＡ５として出力する。なお、信号ＡＡ５は、初期値設定部２１０によるビットＡ５の初期値設定処理（＝信号Ｖｑとの論理和演算処理）に供される。
【０１７５】
Ｄフリップフロップｅ２０及びｅ２１は、それぞれ、信号ＹＹ２０及びＹＹ２１をラッチし、これをビットＡ２０及びＡ２１として出力する。
【０１７６】
また、Ｄフリップフロップｅ２〜ｅ２１それぞれの出力論理レベルは、プリセット信号ＰＲＥに応じてハイレベルにプリセットされ、クリア信号ＣＬＲに応じてローレベルにリセットされる。
【０１７７】
本構成例の条件判定部２３０は、信号Ｖｒがハイレベルに立ち上げられて以降、ビットＹ２〜Ｙ１９をそれぞれビットＡ２〜Ａ１９としてそのままラッチする一方、ビットＡ２０及びＡ２１として常に「０」を出力する。この信号処理は、乗算信号３Ｐｋと閾値２１９及び２２０とをそれぞれ比較し、次の（１５）０〜（１５）２式に照らし合わせて、入力信号Ｐｋの更新値（＝次回の入力信号Ｐｋ＋１）を設定していることに他ならない。
【０１７８】
【数１５】
2017215955.tif 000017
【０１７９】
＜カウンタ＞
図３３は、カウンタ２４０の一構成例を示す図である。本構成例のカウンタ２４０は、Ｄフリップフロップｆ１〜ｆ８を含み、それぞれの出力信号Ｑ１〜Ｑ８をパルスカウント値Ｍ１（＝０ｄ〜２５５ｄ）の各ビットとして出力する。すなわち、パルスカウント値Ｍ１は、「Ｑ８Ｑ７Ｑ６Ｑ５Ｑ４Ｑ３Ｑ２Ｑ１」という８ビットの２進数で表記される。
【０１８０】
Ｄフリップフロップｆ１は、クロック端に入力されるクロック信号ＰＷＭに同期して、データ端（Ｄ）への入力信号（＝反転出力信号Ｑ１Ｂ）をラッチし、これを出力信号Ｑ１として出力端（Ｑ）から出力する一方、その論理反転信号を反転出力信号Ｑ１Ｂとして反転出力端（ＱＢ）から出力する。
【０１８１】
Ｄフリップフロップｆ２〜ｆ８は、それぞれ、クロック端に入力される反転出力信号Ｑ１Ｂ〜Ｑ７Ｂに同期してデータ端（Ｄ）への入力信号（＝反転出力信号Ｑ２Ｂ〜Ｑ８Ｂ）をラッチし、これを出力信号Ｑ２〜Ｑ８として出力端（Ｑ）から出力する一方、その論理反転信号を反転出力信号Ｑ２Ｂ〜Ｑ８Ｂとして反転出力端（ＱＢ）から出力する。
【０１８２】
また、Ｄフリップフロップｆ１〜ｆ８それぞれの出力論理レベルは、プリセット信号ＰＲＥに応じてハイレベルにプリセットされ、クリア信号ＣＬＲに応じてローレベルにリセットされる。
【０１８３】
図３４は、カウンタ２４０によるパルスカウント動作の一例を示すタイミングチャートであり、上から順に、クロック信号ＰＷＭと出力信号Ｑ１〜Ｑ４（出力信号Ｑ５〜Ｑ８は省略）が描写されている。本図から分かるように、パルスカウント値Ｍ１は、クロック信号ＰＷＭのパルスが入力される毎に、「００００００００ｂ」→「０００００００１ｂ」→「００００００１０ｂ」→「００００００１１ｂ」→…というように変化していく。
【０１８４】
＜周波数決定部＞
図３５は、周波数決定部２５０の一構成例を示す図である。本構成例の周波数決定部２５０は、目標カウント値更新部２５０Ｘと、デューティ設定部２５０Ｙと、出力部２５０Ｚと、を含む。
【０１８５】
目標カウント値更新部２５０Ｘは、パルスカウント値Ｍ１の初期化直後（＝クリア信号ＣＬＲのパルス生成直後）に順次入力される複数ビット分の乱数信号（ここでは、クロック信号ＰＷＭの第１パルス目〜第５パルス目にそれぞれ対応する５ビット分のビットＹ１８）を用いて目標カウント値Ｍ２を更新する手段であり、ＡＮＤゲートＸ１１〜Ｘ１５とＤフリップフロップＸ２１〜Ｘ２５を含む。
【０１８６】
ＡＮＤゲートＸ１１は、出力信号Ｑ１と反転出力信号Ｑ２Ｂ〜Ｑ８Ｂとの論理積信号を出力する。従って、Ｘ１１出力は、パルスカウント値Ｍ１が「１ｄ（＝０００００００１ｂ）」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
【０１８７】
ＡＮＤゲートＸ１２は、出力信号Ｑ２と反転出力信号Ｑ１Ｂ及びＱ３Ｂ〜Ｑ８Ｂの論理積信号を出力する。従って、Ｘ１２出力は、パルスカウント値Ｍ１が「２ｄ（＝００００００１０ｂ）」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
【０１８８】
ＡＮＤゲートＸ１３は、出力信号Ｑ１及びＱ２と反転出力信号Ｑ３Ｂ〜Ｑ８Ｂの論理積信号を出力する。従って、Ｘ１３出力は、パルスカウント値Ｍ１が「３ｄ（＝００００００１１ｂ）」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
【０１８９】
ＡＮＤゲートＸ１４は、出力信号Ｑ３と反転出力信号Ｑ１Ｂ、Ｑ２Ｂ、Ｑ４Ｂ〜Ｑ８Ｂの論理積信号を出力する。従って、Ｘ１４出力は、パルスカウント値Ｍ１が「４ｄ（＝０００００１００ｂ）」であるときハイレベルとなり、他の出力値ではローレベルとなる。
【０１９０】
ＡＮＤゲートＸ１５は、出力信号Ｑ１及びＱ３と、反転出力信号Ｑ２Ｂ及びＱ４Ｂ〜Ｑ８Ｂとの論理積信号を出力する。従って、Ｘ１５出力は、パルスカウント値Ｍ１が「５ｄ（＝０００００１０１ｂ）」であるときにハイレベルとなり、他の出力値ではローレベルとなる。
【０１９１】
ＤフリップフロップＸ２１〜Ｘ２５は、それぞれ、クロック端に入力されるＸ１１出力〜Ｘ１５出力に同期して、データ端（Ｄ）に入力されるビットＹ１８をラッチし、これを出力信号ＱＱ５〜ＱＱ１として出力端（Ｑ）から出力する。
【０１９２】
また、ＤフリップフロップＸ２１〜Ｘ２５それぞれの出力論理レベルは、プリセット信号ＰＲＥに応じてハイレベルにプリセットされ、クリア信号ＣＬＲに応じてローレベルにリセットされる。
【０１９３】
図３６は、目標カウント値更新部２５０Ｘによる目標カウント値更新動作の一例を示すタイミングチャートであり、上から順に、クリア信号ＣＬＲ、クロック信号ＰＷＭ、ビットＹ１８、Ｘ１１出力〜Ｘ１５出力、及び、出力信号ＱＱ５〜ＱＱ１が描写されている。
【０１９４】
時刻ｔ２０において、クリア信号ＣＬＲがハイレベルに立ち上げられると、出力信号ＱＱ５〜ＱＱ１がいずれもローレベルにリセットされる。
【０１９５】
その後、時刻ｔ２１において、クロック信号ＰＷＭにパルスが生成され、パルスカウント値Ｍ１が「１ｄ」になると、Ｘ１１出力がハイレベルに立ち上がり、その時点におけるビットＹ１８の値（本図の例では「１」）が出力信号ＱＱ５としてラッチされる。
【０１９６】
同様に、時刻ｔ２２〜ｔ２５において、クロック信号ＰＷＭにパルスが生成され、パルスカウント値Ｍ１がインクリメントされる度に、Ｘ１２出力〜Ｘ１５出力が順次ハイレベルに立ち上がり、各時点におけるビットＹ１８の値（本図の例では、「０」「１」「０」「０」）が出力信号ＱＱ４〜ＱＱ１として順次ラッチされる。
【０１９７】
なお、上記の出力信号ＱＱ５〜ＱＱ１は、目標カウント値Ｍ２の下位５ビットに相当する。すなわち、目標カウント値Ｍ２の下位５ビットは、「ＱＱ５ＱＱ４ＱＱ３ＱＱ２ＱＱ１」という２進数で表記される乱数値となり、本図の例では、「１０１００ｂ」となる。
【０１９８】
従って、パルスカウント値Ｍ１が目標カウント値Ｍ２と一致したときに、スペクトラム拡散信号ＶＳＳをハイレベルとすることにより、その発振周波数をランダムに変化させることが可能となる。
【０１９９】
ただし、出力信号ＱＱ５〜ＱＱ１をそのまま目標カウント値Ｍ２として用いると、その可変範囲が０ｄ〜３１ｄとなってしまうので、スペクトラム拡散信号ＶＳＳの発振周波数を設定する上で都合が悪い。そこで、出力信号ＱＱ５〜ＱＱ１の上位にビットを追加して目標カウント値Ｍ２を生成することが望ましい。
【０２００】
例えば、出力信号ＱＱ５〜ＱＱ１の上位に３ビットの固定値「１１１」を追加して、８ビットの目標カウント値Ｍ２（＝１１１ＱＱ５ＱＱ４ＱＱ３ＱＱ２ＱＱ１）を設定した場合には、その可変範囲が２２４ｄ〜２５５ｄとなる。このとき、例えば、クロック信号ＰＷＭの周期が１０ｎｓであれば、２２４パルス→４４６ｋＨｚ、２４０パルス→４１７ｋＨｚ、２５５パルス→３９２ｋＨｚとなるので、スペクトラム拡散信号ＶＳＳの発振周波数を４１７ｋＨｚ±６％でランダムに変化させることが可能となる。
【０２０１】
なお、以下では、目標カウント値Ｍ２を８ビット（下位５ビット可変、上位３ビット固定）とした例を挙げて説明を行うが、そのビット数は任意である。
【０２０２】
ただし、目標カウント値Ｍ２の可変範囲を下限値から上限値まで連続する一連の数値範囲に設定するためには、目標カウント値Ｍ２の下位ビットを可変値とし、上位ビットを固定値とすることが望ましい。
【０２０３】
また、目標カウント値Ｍ２の更新期間中（図３６の時刻ｔ２０〜ｔ２５を参照）にも、パルスカウント値Ｍ１はインクリメントされていくが、目標カウント値Ｍ２の上位ビットを固定して適切な下限値を設定しておけば、目標カウント値Ｍ２の更新期間中にパルスカウント値Ｍ１が目標カウント値Ｍ２に達することはない。
【０２０４】
図３５に戻り、周波数決定部２５０の構成要素について説明を続ける。
【０２０５】
デューティ設定部２５０Ｙは、パルスカウント値Ｍ１が目標カウント値Ｍ２に達したときにパルスカウント値Ｍ１を初期化してスペクトラム拡散信号ＶＳＳをハイレベルとし、パルスカウント値Ｍ１が目標カウント値Ｍ２の１／２に達したときにスペクトラム拡散信号ＶＳＳをローレベルとするように、クリア信号ＣＬＲ及びＣＬＲ２を生成する手段であり、ＮＸＯＲゲートＹ１１〜Ｙ１９と、ＡＮＤゲートＹ２１及びＹ２２と、ＲＳフリップフロップＹ３１及びＹ３２と、を含む。
【０２０６】
ＮＸＯＲゲートＹ１１は、出力信号ＱＱ５と出力信号Ｑ５との否定排他的論理和信号を出力する。従って、Ｙ１１出力は、ＱＱ５＝Ｑ５であるときにハイレベルとなり、ＱＱ５≠Ｑ５であるときにローレベルとなる。
【０２０７】
ＮＸＯＲゲートＹ１２は、出力信号ＱＱ４と出力信号Ｑ４との否定排他的論理和信号を出力する。従って、Ｙ１２出力は、ＱＱ４＝Ｑ４であるときにハイレベルとなり、ＱＱ４≠Ｑ４であるときにローレベルとなる。
【０２０８】
ＮＸＯＲゲートＹ１３は、出力信号ＱＱ３と出力信号Ｑ３との否定排他的論理和信号を出力する。従って、Ｙ１３出力は、ＱＱ３＝Ｑ３であるときにハイレベルとなり、ＱＱ３≠Ｑ３であるときにローレベルとなる。
【０２０９】
ＮＸＯＲゲートＹ１４は、出力信号ＱＱ２と出力信号Ｑ２との否定排他的論理和信号を出力する。従って、Ｙ１４出力は、ＱＱ２＝Ｑ２であるときにハイレベルとなり、ＱＱ２≠Ｑ２であるときにローレベルとなる。
【０２１０】
ＮＸＯＲゲートＹ１５は、出力信号ＱＱ１と出力信号Ｑ１との否定排他的論理和信号を出力する。従って、Ｙ１５出力は、ＱＱ１＝Ｑ１であるときにハイレベルとなり、ＱＱ１≠Ｑ１であるときにローレベルとなる。
【０２１１】
ＮＸＯＲゲートＹ１６は、出力信号ＱＱ５と出力信号Ｑ４との否定排他的論理和信号を出力する。従って、Ｙ１６出力は、ＱＱ５＝Ｑ４であるときにハイレベルとなり、ＱＱ５≠Ｑ４であるときにローレベルとなる。
【０２１２】
ＮＸＯＲゲートＹ１７は、出力信号ＱＱ４と出力信号Ｑ３との否定排他的論理和信号を出力する。従って、Ｙ１７出力は、ＱＱ４＝Ｑ３であるときにハイレベルとなり、ＱＱ４≠Ｑ３であるときにローレベルとなる。
【０２１３】
ＮＸＯＲゲートＹ１８は、出力信号ＱＱ３と出力信号Ｑ２との否定排他的論理和信号を出力する。従って、Ｙ１８出力は、ＱＱ３＝Ｑ２であるときにハイレベルとなり、ＱＱ３≠Ｑ２であるときにローレベルとなる。
【０２１４】
ＮＸＯＲゲートＹ１９は、出力信号ＱＱ２と出力信号Ｑ１との否定排他的論理和信号を出力する。従って、Ｙ１９出力は、ＱＱ２＝Ｑ１であるときにハイレベルとなり、ＱＱ２≠Ｑ１であるときにローレベルとなる。
【０２１５】
ＡＮＤゲートＹ２１は、出力信号Ｑ８〜Ｑ６とＹ１１出力〜Ｙ１５出力の論理積信号を出力する。従って、Ｙ２１出力は、「Ｑ８Ｑ７Ｑ６Ｑ５Ｑ４Ｑ３Ｑ２Ｑ１」）＝「１１１ＱＱ５ＱＱ４ＱＱ３ＱＱ２ＱＱ１」であるとき、すなわち、Ｍ１＝Ｍ２であるときにハイレベルとなり、そうでないときにローレベルとなる。
【０２１６】
ＡＮＤゲートＹ２２は、反転出力信号Ｑ８Ｂ、出力信号Ｑ７〜Ｑ５、及び、Ｙ１６出力〜Ｙ１９出力の論理積信号を出力する。従って、Ｙ２２出力は、「Ｑ８Ｑ７Ｑ６Ｑ５Ｑ４Ｑ３Ｑ２Ｑ１」＝「０１１１ＱＱ５ＱＱ４ＱＱ３ＱＱ２」であるとき、すなわち、Ｍ１＝Ｍ２×（１／２）であるときにハイレベルとなり、そうでないときにローレベルとなる。
【０２１７】
ＲＳフリップフロップＹ３１は、セット端（Ｓ）に入力されるＹ２１出力とリセット端（Ｒ）に入力されるクロック信号ＰＷＭの双方に応じて、出力端（Ｑ）から出力するクリア信号ＣＬＲの論理レベルを決定する。より具体的に述べると、ＲＳフリップフロップＹ３１は、Ｙ２１出力がハイレベルに立ち上がったとき、すなわち、Ｍ１＝Ｍ２となったときにクリア信号ＣＬＲをハイレベルにセットし、クロック信号ＰＷＭがハイレベルに立ち上がったときにクリア信号ＣＬＲをローレベルにリセットする。
【０２１８】
ＲＳフリップフロップＹ３２は、セット端（Ｓ）に入力されるＹ２２出力とリセット端（Ｒ）に入力されるクロック信号ＰＷＭの双方に応じて、出力端（Ｑ）から出力するクリア信号ＣＬＲ２の論理レベルを決定する。より具体的に述べると、ＲＳフリップフロップＹ３２は、Ｙ２２出力がハイレベルに立ち上がったとき、すなわち、Ｍ１＝Ｍ２×（１／２）となったときにクリア信号ＣＬＲ２をハイレベルにセットし、クロック信号ＰＷＭがハイレベルに立ち上がったときにクリア信号ＣＬＲ２をローレベルにリセットする。
【０２１９】
図３７は、デューティ設定部２５０Ｙによるデューティ設定動作の一例を示すタイミングチャートであり、上から順番に、パルスカウント値Ｍ１、クリア信号ＣＬＲ及びＣＬＲ２、並びに、スペクトラム拡散信号ＶＳＳが描写されている。
【０２２０】
時刻ｔ３０において、クリア信号ＣＬＲがハイレベルに立ち上げられると、パルスカウント値Ｍ１がゼロ値にリセットされるとともに、スペクトラム拡散信号ＶＳＳがハイレベルに立ち上げられ、これに続いて目標カウント値Ｍ２の更新処理が行われる（先出の図３６を参照）。なお、時刻ｔ３０（より正確には、時刻ｔ３０からクロック信号ＰＷＭのパルス幅の５倍に相当する時間が経過した時点）における目標カウント値Ｍ２の更新値を、Ｍ２（ｔ３０）＝「１１１ＱＱ５（ｔ３０）…ＱＱ１（ｔ３０）」と表記する。
【０２２１】
その後、パルスカウント値Ｍ１が目標カウント値Ｍ２（ｔ３０）の１／２、すなわち、Ｍ２（ｔ３０）／２＝「０１１１ＱＱ５（ｔ３０）…ＱＱ２（ｔ３０）」に達すると、クリア信号ＣＬＲ２がハイレベルに立ち上がるので、スペクトラム拡散信号ＶＳＳがローレベルに立ち下げられる。一方、クリア信号ＣＬＲは、ハイレベルに立ち上がることなくローレベルに維持されるので、パルスカウント値Ｍ１は、リセットされずに増加し続ける。
【０２２２】
そして、時刻ｔ３１において、パルスカウント値Ｍ１が目標カウント値Ｍ２（ｔ３０）に達すると、クリア信号ＣＬＲがハイレベルに立ち上げられる。その結果、パルスカウント値Ｍ１が再びゼロ値にリセットされるとともに、スペクトラム拡散信号ＶＳＳがハイレベルに立ち上げられ、これに続いて目標カウント値Ｍ２の更新処理が行われる。なお、時刻ｔ３１（より正確には、時刻ｔ３１からクロック信号ＰＷＭのパルス幅の５倍に相当する時間が経過した時点）における目標カウント値Ｍ２の更新値を、Ｍ２（ｔ３１）＝「１１１ＱＱ５（ｔ３１）…ＱＱ１（ｔ３１）」と表記する。
【０２２３】
その後、パルスカウント値Ｍ１が目標カウント値Ｍ２（ｔ３１）の１／２、すなわち、Ｍ２（ｔ３１）／２＝「０１１１ＱＱ５（ｔ３１）…ＱＱ２（ｔ３１）」に達すると、クリア信号ＣＬＲ２がハイレベルに立ち上がるので、スペクトラム拡散信号ＶＳＳがローレベルに立ち下げられる。一方、クリア信号ＣＬＲは、ハイレベルに立ち上がることなくローレベルに維持されるので、パルスカウント値Ｍ１は、リセットされずに増加し続ける。
【０２２４】
そして、時刻ｔ３２において、パルスカウント値Ｍ１が目標カウント値Ｍ２（ｔ３１）に達すると、クリア信号ＣＬＲがハイレベルに立ち上げられる。なお、時刻ｔ３２以降においても、上記と同様の動作が繰り返される。
【０２２５】
このように、本構成例のデューティ設定部２５０Ｙによれば、目標カウント値Ｍ２の更新処理を行う度に、スペクトラム拡散信号ＶＳＳの発振周波数（延いては周期）がランダムに変化しても、そのオンデューティＤｏｎ（＝１周期に占めるオン期間Ｔｏｎの割合）を０．５に維持することが可能となる。
【０２２６】
本図に即して述べると、時刻ｔ３０〜ｔ３１では、スペクトラム拡散信号ＶＳＳの周期Ｔ１に対して、Ｔｏｎ＝Ｔ１×（１／２）となるので、Ｄｏｎ＝０．５となる。また、時刻ｔ３１〜ｔ３２では、スペクトラム拡散信号ＶＳＳの周期Ｔ２に対して、Ｔｏｎ＝Ｔ２×（１／２）となるので、やはりＤｏｎ＝０．５となる。
【０２２７】
このように、スペクトラム拡散信号ＶＳＳのオンデューティＤｏｎを０．５に維持しておけば、スペクトラム拡散信号ＶＳＳを用いたアプリケーションの制御が容易となる。なお、オンデューティＤｏｎを０．５に設定しなくても、ＤＣ／ＤＣコンバータなどのアプリケーションを動かすこと自体はできる。これを鑑みると、クリア信号ＣＬＲ２をハイレベルに立ち上げるタイミングは、必ずしも、パルスカウント値Ｍ１が目標カウント値Ｍ２の１／２に達した時点に限定されるものではなく、任意に設定しても構わない。
【０２２８】
図３５に戻り、周波数決定部２５０の構成要素について説明を続ける。
【０２２９】
出力部２５０Ｚは、クリア信号ＣＬＲ及びＣＬＲ２に応じてスペクトラム拡散信号ＶＳＳを出力する手段であり、ＤフリップフロップＺ１１を含む。
【０２３０】
ＤフリップフロップＺ１１は、クロック端に入力されるクリア信号ＣＬＲに同期して、スペクトラム拡散信号ＶＳＳをハイレベル（＝データ端Ｄに入力されるハイレベル電位）にセットする。また、スペクトラム拡散信号ＶＳＳは、プリセット信号ＰＲＥに応じてハイレベルにプリセットされ、クリア信号ＣＬＲ２に応じてローレベルにリセットされる。
【０２３１】
従って、スペクトラム拡散信号ＶＳＳは、クリア信号ＣＬＲに同期してハイレベルに立ち上げられる一方、クリア信号ＣＬＲ２に同期してローレベルに立ち下げられる。
【０２３２】
図３８は、スペクトラム拡散信号ＶＳＳの周波数スペクトル図である。なお、本図の黒線は、発振周波数を固定値（４１７ｋＨｚ）とした場合の周波数スペクトルであり、本図のグレー線は、発振周波数を可変値（４１７ｋＨｚ±６％）とした場合の周波数スペクトルである。
【０２３３】
本図から分かるように、発振周波数に疑似乱数変調を掛けた場合には、発振周波数を固定した場合と比べて、最大で２０ｄＢ程度のノイズ低減を達成することが可能となる。
【０２３４】
次に、スペクトラム拡散信号ＶＳＳの適用例について、ＤＣ／ＤＣコンバータへの適用例を挙げながら説明する。
【０２３５】
＜第３実施形態＞
図３９は、ＤＣ／ＤＣコンバータの一構成例を示す回路図（第３実施形態）である。本図に示すように、本構成例のＤＣ／ＤＣコンバータ３は、第２実施形態（図１６）のＤＣ／ＤＣコンバータ２と基本的に同様の構成から成り、（１）パルス発振器１０に代えてスペクトラム拡散信号２００が用いられていること、並びに、（２）抵抗Ｒ８〜Ｒ１０とキャパシタＣ６及びＣ７が追加されていることに特徴を有する。そこで、第２実施形態と同様の構成要素については、図１６と同一の符号を付すことにより重複した説明を割愛し、以下では、本構成例の特徴部分について重点的に説明する。
【０２３６】
抵抗Ｒ８は、コンパレータ７０の非反転入力端（＋）と位相補償部６０との間に接続されている。抵抗Ｒ９は、コンパレータ７０の非反転入力端（＋）とコンパレータ７０の出力端との間に接続されている。このように、抵抗Ｒ８及びＲ９を追加することにより、コンパレータ７０にヒステリシス特性を付与することができるので、ノイズに対する耐性を高めてスイッチング制御の安定性を高めることが可能となる。
【０２３７】
キャパシタＣ６は、オペアンプＡＭＰ２の反転入力端（−）と接地端との間に接続されている。このような接続により、オペアンプＡＭＰ２の発振を抑えることが可能となる。
【０２３８】
抵抗Ｒ１０の第１端は、スペクトラム拡散信号発生器２００の出力端（＝スペクトラム拡散信号ＶＳＳの出力端）に接続されている。抵抗Ｒ１０の第２端とキャパシタＣ７の第１端は、いずれもコンパレータ７０の反転入力端（−）に接続されている。キャパシタＣ７の第２端は、接地端に接続されている。このように接続された抵抗Ｒ１０とキャパシタＣ７は、スペクトラム拡散信号ＶＳＳを平滑して三角波信号ＶＲＴを生成する平滑部９０として機能する。
【０２３９】
図４０は、シミュレーションにより得られた第３実施形態における出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓの相関関係を示す波形図である。また、図４１は、第３実施形態における出力電圧Ｖｏｕｔ及び三角波信号ＶＲＴを示す波形図である。
【０２４０】
なお、上記の各波形図は、ｒ＝３、Ｎ＝１９、Ｌ＝２、発振周波数４１７ｋＨｚ±６％というシミュレーション条件下で得られたものである。これらのシミュレーション結果から明らかなように、スペクトラム拡散信号ＶＳＳを用いた場合であっても、ＤＣ／ＤＣコンバータ３は、問題なく動作していることが分かる。
【０２４１】
図４２〜図４４は、第３実施形態における出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、及び、ドレイン・ソース間電流Ｉｄｓそれぞれの周波数スペクトル図である。なお、各図の黒線は、駆動周波数ｆを固定した場合の周波数スペクトルを示している。一方、各図のグレー線は、駆動周波数ｆに疑似乱数変調（スペクトラム拡散処理）を掛けた場合の周波数スペクトルを示している。
【０２４２】
各図を参照すれば分かるように、駆動周波数ｆに疑似乱数変調を掛けた場合には、駆動周波数ｆを固定した場合と比べて、出力スイッチＮ２のゲート・ソース間電圧Ｖｇｓ、ドレイン・ソース間電圧Ｖｄｓ、並びに、ドレイン・ソース間電流Ｉｄｓの全てにおいて、最大で２０ｄＢ程度のノイズ低減を達成することが可能となる。
【０２４３】
＜スイッチング回路＞
なお、スペクトラム拡散信号発生器２００の適用対象は、ＤＣ／ＤＣコンバータ３に限定されるものではなく、例えば、図７のパルス発振器１０を代替することにより、スイッチング回路１にも適用することも可能である。
【０２４４】
＜計算システム＞
また、これまでに説明してきた乱数信号は、これを用いてモンテカルロシミュレーションや暗号化処理を行う計算システムにも適用することが可能である。
【０２４５】
＜その他の変形例＞
また、本明細書中に開示されている種々の技術的特徴は、上記実施形態のほか、その技術的創作の主旨を逸脱しない範囲で種々の変更を加えることが可能である。すなわち、上記実施形態は、全ての点で例示であって制限的なものではないと考えられるべきであり、本発明の技術的範囲は、上記実施形態の説明ではなく、特許請求の範囲によって示されるものであり、特許請求の範囲と均等の意味及び範囲内に属する全ての変更が含まれると理解されるべきである。
【産業上の利用可能性】
【０２４６】
本明細書中に開示されている乱数生成方法は、例えば、パルス発振器のスペクトラム拡散手段として利用することが可能である。また、本明細書中に開示されている乱数生成方法は、暗号の秘匿性や気象予報の精度を高めるための手段としても有用である。
【符号の説明】
【０２４７】
１    スイッチング回路
２、３    ＤＣ／ＤＣコンバータ
１０    パルス発振器
２０    駆動部
３０    スイッチ出力部
４０    帰還電圧生成部
５０    エラーアンプ
６０    位相補償部
７０    コンパレータ
８０    駆動部
９０    平滑部
１１０    乱数信号生成部
１１１    マイコン
１１２    マスタクロック源
１１３    メモリ
１１４    ＤＡＣ
１２０    パルス信号生成部
１２１    コンパレータ
１２２    Ｄフリップフロップ
１２３    積分回路
１２４    ローパスフィルタ
１２５    コンパレータ
２００    スペクトラム拡散信号発生器（パルス発振器）
２００Ａ    乱数信号生成回路
２００Ｂ    パルス信号生成回路
２１０    初期値設定部
２１１    ＲＳフリップフロップ
２１２    抵抗
２１３    キャパシタ
２１４    ＯＲゲート
２２０    乗算部
２３０    条件判定部
２４０    カウンタ
２５０    周波数決定部
２５０Ｘ    目標カウント値更新部
２５０Ｙ    デューティ設定部
２５０Ｚ    出力部
ａ１〜ａ５８    ＸＯＲゲート
ｂ１〜ｂ３７    ＡＮＤゲート
ｃ１〜ｃ１８    ＯＲゲート
ｄ２〜ｄ１９    ＡＮＤゲート
ｅ２〜ｅ２１    Ｄフリップフロップ
ｆ１〜ｆ８    Ｄフリップフロップ
Ｘ１１〜Ｘ１５    ＡＮＤゲート
Ｘ２１〜Ｘ２５    Ｄフリップフロップ
Ｙ１１〜Ｙ１９    ＮＸＯＲゲート
Ｙ２１、Ｙ２２    ＡＮＤゲート
Ｙ３１、Ｙ３２    ＲＳフリップフロップ
Ｚ１１    Ｄフリップフロップ
Ｒ１〜Ｒ１０    抵抗
Ｃ１〜Ｃ７    キャパシタ
ＡＭＰ１、ＡＭＰ２  オペアンプ
Ｎ１、Ｎ２    出力スイッチ（ＮＭＯＳＦＥＴ）
ＲＬ１、ＲＬ２    負荷抵抗
Ｄ１    ダイオード
Ｌ１    インダクタ
【図１】
2017215955.tif 000018
【図２】
2017215955.tif 000019
【図３】
2017215955.tif 000020
【図４】
2017215955.tif 000021
【図５】
2017215955.tif 000022
【図６】
2017215955.tif 000023
【図７】
2017215955.tif 000024
【図８】
2017215955.tif 000025
【図９】
2017215955.tif 000026
【図１０】
2017215955.tif 000027
【図１１】
2017215955.tif 000028
【図１２】
2017215955.tif 000029
【図１３】
2017215955.tif 000030
【図１４】
2017215955.tif 000031
【図１５】
2017215955.tif 000032
【図１６】
2017215955.tif 000033
【図１７】
2017215955.tif 000034
【図１８】
2017215955.tif 000035
【図１９】
2017215955.tif 000036
【図２０】
2017215955.tif 000037
【図２１】
2017215955.tif 000038
【図２２】
2017215955.tif 000039
【図２３】
2017215955.tif 000040
【図２４】
2017215955.tif 000041
【図２５】
2017215955.tif 000042
【図２６】
2017215955.tif 000043
【図２７】
2017215955.tif 000044
【図２８】
2017215955.tif 000045
【図２９】
2017215955.tif 000046
【図３０】
2017215955.tif 000047
【図３１】
2017215955.tif 000048
【図３２】
2017215955.tif 000049
【図３３】
2017215955.tif 000050
【図３４】
2017215955.tif 000051
【図３５】
2017215955.tif 000052
【図３６】
2017215955.tif 000053
【図３７】
2017215955.tif 000054
【図３８】
2017215955.tif 000055
【図３９】
2017215955.tif 000056
【図４０】
2017215955.tif 000057
【図４１】
2017215955.tif 000058
【図４２】
2017215955.tif 000059
【図４３】
2017215955.tif 000060
【図４４】
2017215955.tif 000061