(58)【調査した分野】(Int.Cl.,DB名)
前記フラクショナル設定部は、前記異音判定部で周期異音が発生すると判定された場合に、前記フラクショナル設定値を1ずつ増加または減少させて、順次、前記異音判定部で周期異音が発生するか否かを判定し、周期異音が発生しないと判定した場合に、そのフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定する、請求項1に記載のフラクショナルN周波数シンセサイザ。
前記フラクショナル設定ステップでは、前記異音判定ステップで周期異音が発生すると判定された場合に、前記フラクショナル設定値を1ずつ増加または減少させて、順次、前記異音判定ステップで周期異音が発生するか否かを判定し、周期異音が発生しないと判定した場合に、そのフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定する、請求項3に記載のフラクショナルN周波数シンセサイザの設定方法。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、フラクショナルN周波数シンセサイザには以下の問題が生じる。ΔΣ変調器の繰り上がりを発生する積算値がフラクショナル設定値の整数倍でない場合、繰り上がりを発生したときの積分器の残余が繰り上がりを生じるごとに変化する。そのため、繰り上がりが生じる積分回数の間隔が変化する。その結果、マルチモジュラス分周器の分周数の周期に変化を生じる。
【0009】
マルチモジュラス分周器の分周数の周期変動がVCO制御電圧を変動させ、結果VCO出力周波数がその変動周期で揺れることとなる。この揺れがVCO出力周波数を変調させることとなり、VCO出力周波数を搬送波に用いる通信において、場合によっては受信側の再生音にこの変調成分が原因となる周期異音が現れる。
【0010】
本発明は上述の事情に鑑みてなされたもので、フラクショナルN周波数シンセサイザで、繰り上がりを発生する積算値とフラクショナル設定値の関係で発生する周期異音を回避することを目的とする。
【課題を解決するための手段】
【0011】
本発明の第1の観点に係るフラクショナルN周波数シンセサイザは、
基準周波数と入力信号の位相周波数を比較して差を出力する位相周波数比較器と、
前記位相周波数比較器の出力に応答してクロック信号を出力する電圧制御発振器と、
前記基準周波数の周期ごとにフラクショナル設定値を加算して、積算値が最大値を超えたときに繰り上がり信号を発生するΔΣ変調器と、
前記基準周波数の周期ごとに前記ΔΣ変調器の繰り上がり信号が発生したときと発生しないときとで異なる分周数で前記電圧制御発振器のクロック信号を分周し、分周した信号を前記位相周波数比較器の入力信号とする分周器と、
前記ΔΣ変調器の繰り上がりが発生する最小値を被除数、前記フラクショナル設定値を除数とする除算の剰余を算出し、剰余が0でない場合に前回の除算の除数を被除数、前回の除算で求められた剰余の値を除数とする除算の商と剰余を算出することを、剰余の値が0になるまで繰り返す演算部と、
前記ΔΣ変調器に設定されるフラクショナル設定値について前記演算部で剰余が0になるまで前記除算の商と剰余を算出し、算出した商に閾値を超える値がある場合は、そのフラクショナル設定値で周期異音が発生すると判定し、算出した商に閾値を超える値がない場合は、そのフラクショナル設定値で周期異音が発生しないと判定する、異音判定部と、
前記異音判定部で周期異音が発生すると判定された場合に、前記電圧制御発振器で最終的に得られるクロック信号の周波数が定められた値を超えない範囲で、前記フラクショナル設定値を変化させ、変化させたフラクショナル設定値について、前記異音判定部で周期異音が発生しないと判定した場合に、前記変化させたフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定するフラクショナル設定部と、
を備える。
【0012】
好ましくは、前記フラクショナル設定部は、前記異音判定部で周期異音が発生すると判定された場合に、前記フラクショナル設定値を1ずつ増加または減少させて、順次、前記異音判定部で周期異音が発生するか否かを判定し、周期異音が発生しないと判定した場合に、そのフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定する。
【0013】
本発明の第2の観点に係るフラクショナルN周波数シンセサイザの設定方法は、
基準周波数と入力信号の位相周波数を比較して差を出力する位相周波数比較器と、
前記位相周波数比較器の出力に応答してクロック信号を出力する電圧制御発振器と、
前記基準周波数の周期ごとにフラクショナル設定値を加算して、積算値が最大値を超えたときに繰り上がり信号を発生するΔΣ変調器と、
前記基準周波数の周期ごとに前記ΔΣ変調器の繰り上がり信号が発生したときと発生しないときとで異なる分周数で前記電圧制御発振器のクロック信号を分周し、分周した信号を前記位相周波数比較器の入力信号とする分周器と、
を備えるフラクショナルN周波数シンセサイザが行うフラクショナルN周波数シンセサイザの設定方法であって、
前記ΔΣ変調器の繰り上がりが発生する最小値を被除数、前記フラクショナル設定値を除数とする除算の剰余を算出し、剰余が0でない場合に前回の除算の除数を被除数、前回の除算で求められた剰余の値を除数とする除算の商と剰余を算出することを、剰余の値が0になるまで繰り返す演算ステップと、
前記ΔΣ変調器に設定されるフラクショナル設定値について前記演算ステップで剰余が0になるまで前記除算の商と剰余を算出し、算出した商に閾値を超える値がある場合は、そのフラクショナル設定値で周期異音が発生すると判定し、算出した商に閾値を超える値がない場合は、そのフラクショナル設定値で周期異音が発生しないと判定する、異音判定ステップと、
前記異音判定ステップで周期異音が発生すると判定された場合に、前記電圧制御発振器で最終的に得られるクロック信号の周波数が定められた値を超えない範囲で、前記フラクショナル設定値を変化させ、変化させたフラクショナル設定値について、前記異音判定ステップで周期異音が発生しないと判定した場合に、前記変化させたフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定するフラクショナル設定ステップと、
を備える。
【0014】
好ましくは、前記フラクショナル設定ステップでは、前記異音判定ステップで周期異音が発生すると判定された場合に、前記フラクショナル設定値を1ずつ増加または減少させて、順次、前記異音判定ステップで周期異音が発生するか否かを判定し、周期異音が発生しないと判定した場合に、そのフラクショナル設定値を前記ΔΣ変調器のフラクショナル設定値として設定する。
【発明の効果】
【0015】
本発明によれば、フラクショナルN周波数シンセサイザで、繰り上がりを発生する積算値とフラクショナル設定値の関係で発生する周期異音を回避することができる。
【発明を実施するための形態】
【0017】
図1は、本発明の実施の形態に係るフラクショナルN周波数シンセサイザの構成例を示すブロック図である。フラクショナルN周波数シンセサイザ(以下、ΔΣPLL(Phase Locked Loop)という)10は、基準周波数発振器9、基準周波数分周器8、位相周波数比較器(PFC:Phase Frequency Comparator)7、チャージポンプ(CP:Charge Pump)6、ループフィルタ5、電圧制御発振器(VCO:Voltage Controlled Oscillator)4、マルチモジュラス分周器3、およびΔΣ変調器2から構成される。ΔΣPLL10は、フラクショナル設定部1を備える。フラクショナル設定部1は、演算部11および異音判定部12を含む。
【0018】
基準周波数分周器8は、基準周波数発振器9の出力を基準の分周数で分周し、基準周波数のパルス信号を出力する。PFC7は、基準周波数のパルス信号(基準周波数分周器8出力)と、VCO4の出力周波数を分周して生成したパルス信号(マルチモジュラス分周器3出力と)を比較し、両パルスの周波数差に応じた制御信号(PFC7出力)を生成する。
【0019】
CP6は、前段のPFC7から出力される制御信号を、ループフィルタ5の入力として駆動可能となる電圧/電流レベルに変換する。CP6の出力は、基準電圧に対して、プラス側のパルス状信号とマイナス側のパルス状信号が、VCO4のずれに応じて発生する。ループフィルタ5は積分器の役割を有し、CP6から出力されるパルス状の信号を平滑化するものである。
【0020】
VCO4は、CP6が出力するパルス信号をループフィルタ5が平滑化し、そのループフィルタ5の出力となる制御電圧を入力する。この制御電圧によってVCO4の発振周波数が制御される。
【0021】
VCO4の出力周波数は、マルチモジュラス分周器3により分周される。マルチモジュラス分周器3は、ΔΣ変調器2により出力される分周設定に基づき、分周を行う。ΔΣ変調器2は、予め設定したフラクショナル設定値に基づき、分周設定を周期的に増減するものである。ΔΣ変調器2は、フラクショナル設定値を固定値として積分する1次積分器に加えて、1次積分器出力を積分する2次積分器、またさらにその積分器の出力を積分する高次積分器を有する。周期異音は、この1次積分器に起因するものであり、2次以降の高次積分器の出力は直接の原因にはならない。
【0022】
1次積分器は、フラクショナル設定値を、基準周波数ごとに継続的に積算する(積分する)。1次積分器のアキュムレータは有限の大きさであり、その有限の値を超えたときに、繰り上がり信号が出力される。この繰り上がり信号を元に、マルチモジュラス分周器3の分周設定を制御する。
【0023】
マルチモジュラス分周器3は、基準信号の周期ごとにΔΣ変調器2の繰り上がり信号が発生したときと発生しないときとで、異なる分周数でVCO4のクロック信号を分周する。例えば、マルチモジュラス分周器3の分周設定はNもしくはN+1であり、繰り上がりが発生した場合にはN+1、繰り上がりが生じない場合にはNになる。その場合、1次積分器の動作周期(繰り返し積分を実行するタイミング)は、マルチモジュラス分周器3により行われるN分周もしくはN+1分周が一巡する周期となる。因みに、高次積分器の繰り上がり信号は、N+M、N−Mが時間をずらして発生するため、相殺され、周期異音の要因にはならない。
【0024】
フラクショナル設定部1は、ΔΣPLL10が出力すべき周波数に応じて決められたフラクショナル設定値から、周期異音を回避するフラクショナル設定値を算出してΔΣ変調器2に設定する。以下、周期異音が発生する仕組みを説明する。
【0025】
図2Aないし
図2Dは、フラクショナル設定値と繰り上がり発生周期変動の例を示す図である。ここでは、周期異音の発生メカニズムをわかりやすくするために、ΔΣ変調器2の繰り上がりを生じる値を2
8=256としている。ΔΣ変調器2の1次積分器のアキュムレータは8ビットである。アキュムレータ(1次積分器)の取り得る値は、0〜2
8−1=255である。この場合、フラクショナル設定値にかかわらず、フラクショナル設定値の積分を256回実行すると、1次積分器の状態は1巡して元に戻る。
【0026】
図2Aは、フラクショナル設定値が50の場合である。ΔΣ変調器2の1次積分器は、基準周波数の周期ごとにフラクショナル設定値をアキュムレータに加算(積分)する。
図2Aは、アキュムレータの初期値を0として、積分実行ごとに、アキュムレータの数値がどのように推移するかを表している。例えば、最初の5回目までは50ずつ加算され、6回目の積分で、繰り上がりが発生して、残余が44になる。1次積分器の値の推移の極小値の点が、繰り上がりが発生する積分回数とアキュムレータの残余を示す。繰り上がりが発生する極小値の点を結ぶと、1次積分器の状態が1巡する周期(積分回数256回)の間に6回変動する短い周期の包絡線が得られる。
【0027】
さらに、短い周期の包絡線の極小値の点を結ぶと、1次積分器の状態が1巡する周期(積分回数256回)の間に2回変動する長い周期の包絡線が得られる。フラクショナル設定値が50の場合は、積分回数128回で1次積分器の状態は1巡して0に戻る。
【0028】
1次積分器の動作を詳しく見ると、短い包絡線の最初では、積分回数6回で繰り上がりが発生するのに対して、その他は積分回数5回で繰り上がりが発生する。その結果、マルチモジュラス分周器3で、繰り上がりが発生したときの分周数になる間隔が、積分回数6回で繰り上がりが発生するときだけ、長いことになる。この変動が、周期異音を発生する原因になる。
【0029】
さらに、短い周期で6回変動する包絡線をよく見ると、左から1つ目と2つ目の変動では、繰り上がりの発生回数が8であるのに対して、3つ目の変動では、繰り上がりの発生回数が9になっている。すなわち、積分回数6回で繰り上がりが発生する間隔が、1つ目と2つ目の変動では、8回なのに対して、3つ目の変動では、9回になっている。長い周期の包絡線は、この変動を示している。この変動も、周期異音の原因になる。
【0030】
図2Bは、フラクショナル設定値が51の場合である。
図2Bでは、1次積分器の状態が1巡する周期(積分回数256回)の間に1回変動する包絡線が現れる。この場合は、包絡線は1種類しか現れない。この場合も、包絡線の最初では、積分回数6回で繰り上がりが発生する。それ以外では、積分回数5回で繰り上がりが発生する。この変動が、周期異音を発生する原因になる。
【0031】
図2Cは、フラクショナル設定値が52の場合である。
図2Cでは、1次積分器の状態が1巡する周期(積分回数256回)の間に4回変動する短い周期の包絡線が現れる。フラクショナル設定値が52の場合は、積分回数64回で1次積分器の状態は1巡して0に戻る。
図2Cでは、長い周期の包絡線は現れない。
【0032】
図2Aの短い周期の包絡線と、
図2Bの包絡線では、包絡線の形は最初に大きく上がって、その後右下がりになっている。
図2Cでは、前の2つの場合と趣が異なって、包絡線の形が右上がりで最後に大きく下がる。すなわち、フラクショナル設定値が52の場合は、1つの包絡線の最後のところ(64回目、128回目、192回目および256回目)では、積分回数4回で繰り上がりが発生し、その他では積分回数5回で繰り上がりが発生する。その結果、マルチモジュラス分周器3で、繰り上がりが発生したときの分周数になる間隔が、積分回数4回で繰り上がりが発生するときだけ、短いことになる。この変動が、周期異音を発生する原因になる。
【0033】
図2Dは、フラクショナル設定値が53の場合である。
図2Dでは、1次積分器の状態が1巡する周期(積分回数256回)の間に9回変動する短い周期の包絡線が現れる。また、短い周期の包絡線の極小点を結ぶと、1次積分器の状態が1巡する周期(積分回数256回)の間に1回変動する長い周期の包絡線が得られる。
図2Dの包絡線は、短い周期と長い周期のいずれも右上がりで最後に大きく下がっている。すなわち、短い周期の包絡線の最後では、積分回数4回で繰り上がりが発生する。また、短い周期で9回変動する包絡線のうち、最後の変動では、繰り上がり回数は5回でその他の6回より少ない。これらの変動が、周期異音を発生する原因になる。
【0034】
以上が、周期異音が発生する仕組みである。しかし、フラクショナル設定値が繰り上がりを生じる値の約数でない場合は、必ず上述のような変動を生じる。変動を避けて約数だけにすれば、小数を含む倍率の周波数を設定することができない。そこで、変動によって生じる異音の大きさを評価して、異音が小さいフラクショナル設定値を選択することを考える。
【0035】
今、繰り上がりが発生する値(最小値=アキュムレータの最大値+1)を被除数、フラクショナル設定値を除数とする除算の剰余を算出する。剰余が0であれば、フラクショナル設定値は繰り上がりが発生する値の約数だから、変動は発生しない。ここで、剰余が0でない場合、前回の除算の除数(フラクショナル設定値)を被除数、前回の除算で求められた剰余の値を除数とする除算の商と剰余を算出する。この剰余が0でなければ、さらに前回の除算の除数を被除数、前回の除算で求められた剰余の値を除数とする除算の商と剰余を算出する。これを、剰余の値が0になるまで繰り返す。
【0036】
各除算の剰余は、1次積分器の値の推移における繰り上がりが発生する極小値の点の包絡線の変動回数を示す。本発明者は、上記の除算の商が、その除算の被除数である前回の除算の剰余(=包絡線の変動回数)に対する変動の大きさを表し、周期異音の大きさに相関することを見出した。上記の除算の商を、その除算の被除数である前回の除算の剰余(=包絡線の変動回数)の変動率と定義する。
【0037】
図3は、変動率の例を示す図である。
図3の(a)、(b)、(c)、(d)はそれぞれ、
図2A、
図2B、
図2C、
図2Dに対応する。
図3では、左上の被除数が繰り上がりが発生する最小値2
8=256である。表題の行を除いて一番上の行の除数が、フラクショナル設定値である。2行目の除算の被除数は最初の除数(フラクショナル設定値)であり、除数は最初の除算の剰余である。3行目以下も、被除数は、上の行(前回の除算)の除数であり、除数は、上の行の剰余である。それぞれの除算の商をその除算の行に記載している。この商は、その上の行の剰余が示す変動回数の変動率である。
【0038】
図3(a)は、フラクショナル設定値が50の場合である。最初の剰余6は、
図2Aの短い周期の包絡線の変動回数に対応している。また、2行目の除算の剰余2は、長い周期の包絡線の変動回数に対応している。2行目の除算の商8(=50/6)は、最初の除算の剰余6が示す包絡線の変動回数に対する変動率である。ここで、商を小数点以下まで算出してもよいが、周期異音は桁数(dB)でおおよそ評価できるので、実際には整数部分だけで十分である。
【0039】
図3(b)は、フラクショナル設定値が51の場合である。最初の剰余1は、
図2Bの包絡線が1つの変動になっていることに対応している。包絡線の変動回数(剰余)1に対応する変動率は51である。
【0040】
図3(c)は、フラクショナル設定値が52の場合である。ここでは、包絡線が右上がりであり、2行目の除算の剰余4が、
図2Cの包絡線の変動回数に対応している。包絡線の変動回数(=剰余)4に対応する変動率は12である。なお、最初の剰余48は、1次積分器の状態が1巡する間に、繰り上がりが発生したときの残余が前回より増加する回数を表している。
【0041】
図3(d)は、フラクショナル設定値が53の場合である。ここでも、包絡線が右上がりであり、2行目の除算の剰余9が、
図2Dの短い周期の包絡線の変動回数に対応し、4行目の除算の剰余1は、長い周期の包絡線の変動回数に対応する。短い周期の包絡線の変動回数(=剰余)9に対応する変動率は4であり、長い周期の包絡線の変動回数1に対応する変動率は8である。すなわち、長い周期の包絡線の中で繰り上がり回数が5回に少なくなることの変動の大きさ(商8)は、短い周期の包絡線の中で少ない積分回数4回で繰り上がりが発生することの変動の大きさ(商4)の2倍に評価される。
【0042】
剰余と包絡線の関係を一般化すると、次のように言える。最初の剰余は、1次積分器の状態が1巡する間に、繰り上がりが発生したときの残余が前回の繰り上がりの残余より増加する回数を表す。次の剰余は、繰り上がりが発生したときの残余が前回より増加する点のうち、前回より残余が減少する回数(点の数)を表す。以降、剰余は、増加と減少が交互に、増加または減少する対象の点のうち、前の点より残余が減少または増加する点の数を表す。剰余が1になるまで、増加と減少が交互に現れる。
【0043】
例えば、フラクショナル設定値=53の場合(
図2D、
図3(d))、最初の剰余44は、繰り上がりが発生したときの残余が前回の繰り上がりの残余より増加する回数である。2つ目の剰余9は、繰り上がりが発生したときの残余が前回より増加する44個の点のうち、前の点より残余が減少する点の数になっている。3つ目の剰余8は、その前の前回より残余が減少する9個の点のうち、前の点より残余が増加する点の数である。そして、4つ目の剰余1は、その前の前回より残余が増加する8個の点のうち、前の点より残余が減少する点の数である。
【0044】
フラクショナル設定値の変動率(商)のうち最大値で、そのフラクショナル設定値が周期異音を発生するか否かを判定することができる。例えば、得られた商のうち最大値が閾値以上なら、そのフラクショナル設定値では聴感上有意な周期異音が発生すると判定し、得られた商のうち最大値が閾値未満なら、そのフラクショナル設定値では聴感上有意な周期異音が発生しないと判定できる。
【0045】
図1の演算部11は、ΔΣ変調器2の繰り上がりが発生する最小値を被除数、フラクショナル設定値を除数とする除算の剰余を算出し、剰余が0でない場合に前回の除算の除数を被除数、前回の除算で求められた剰余の値を除数とする除算の商(変動率)と剰余を算出することを、剰余の値が0になるまで繰り返す。異音判定部12は、ΔΣPLL10が出力すべき周波数に応じて決められたフラクショナル設定値から算出した変動率の最大値を閾値と比較して、そのフラクショナル設定値で周期異音が発生するかどうか判定する。
【0046】
フラクショナル設定部1は、周期異音が発生すると判定された場合は、出力すべき周波数の許容範囲でフラクショナル設定値を増加または減少して、周期異音が発生しないと判定できるフラクショナル設定値を探索する。例えば、出力すべき周波数の許容範囲で、変動率の最大値が閾値未満のフラクショナル設定値のうち、出力すべき周波数に最も近い周波数を出力するフラクショナル設定値を選択する。
【0047】
図3の4つのフラクショナル設定値が許容範囲であった場合、例えば、変動率の閾値を10とすると、
図3のフラクショナル設定値のうち、51と52は、周期異音が発生すると判定され、50と53は、周期異音が発生しないと判定できる。そこで、例えば、出力すべき周波数のフラクショナル設定値が51の場合は、フラクショナル設定値50を選択する。出力すべき周波数のフラクショナル設定値が52の場合は、フラクショナル設定値53を選択する。
【0048】
変動率の最大値が閾値未満のフラクショナル設定値のうち、出力すべき周波数に最も近い周波数を出力するフラクショナル設定値は、以下のようにして決定できる。最初のフラクショナル設定値で周期異音が発生すると判定された場合、フラクショナル設定値に1を加えて、第1のフラクショナル設定値とする。第1のフラクショナル設定値で周期異音が発生すると判定された場合、今度は、最初のフラクショナル設定値から1を減じて、第2のフラクショナル設定値とする。第2のフラクショナル設定値を第1のフラクショナル設定値より先に試してもよい。以後、変動率の最大値が閾値未満のフラクショナル設定値が現れるまで、前々回1を加算したフラクショナル設定値に1を加えるのと、前々回1を減算したフラクショナル設定値から1を減じるのを交互に行って、変動率の最大値を計算する。最初に周期異音を発生しないと判定されたフラクショナル設定値を、ΔΣ変調器2に設定するフラクショナル設定値として決定する。
【0049】
図4は、実施の形態に係るフラクショナル設定の動作の一例を示すフローチャートである。フラクショナル設定部1は、ΔΣPLL10が出力すべき周波数に応じて決められたフラクショナル設定値を入力する。同時に、フラクショナル設定値の増加分δに+1を設定する(ステップS11)。演算部11は、繰り上がり値を被除数、フラクショナル設定値を除数として、除算を行い剰余を算出する(ステップS12)。剰余が0なら(ステップS13;Y)、周期異音は発生しないので、そのフラクショナル設定値をΔΣ変調器2に設定する(ステップS17)。
【0050】
剰余が0でなければ(ステップS13;N)、前回の除数を被除数、剰余を除数として除算を行い、商と剰余を算出する(ステップS14)。剰余が0でなければ(ステップS15;N)、ステップS14を繰り返し、剰余が0になるまで(ステップS15;Y)繰り返す。剰余が0になったら(ステップS15;Y)、それまで算出した商の最大値を閾値と比較する(ステップS16)。商の最大値が閾値未満の場合(ステップS16;Y)、そのフラクショナル設定値で周期異音は発生しないと判定し、ΔΣ変調器2にそのフラクショナル設定値を設定する(ステップS17)。
【0051】
商の最大値が閾値以上の場合(ステップS16;N)、初めてフラクショナル設定値を変化させるなら(ステップS18;Y)、フラクショナル設定値にδ(=1)を加算する(ステップS19)。2回目以降なら(ステップS18;N)、δの符号を反転して(ステップS20)、前々回のフラクショナル設定値にδを加算する(ステップS21)。そして、いずれの場合も新しいフラクショナル設定値で出力される周波数が許容範囲であるか調べる(ステップS22)。新たなフラクショナル設定値が許容範囲でなければ(ステップS22;N)、ΔΣ変調器2にフラクショナル設定値を設定することなく終了する。
【0052】
新たなフラクショナル設定値が許容範囲なら(ステップS22;Y)、繰り上がり数を被除数、フラクショナル設定値を除数として除算を行って剰余を算出するステップS12から処理を繰り返す。こうして、変動率の最大値が閾値未満のフラクショナル設定値のうち、出力すべき周波数に最も近い周波数を出力するフラクショナル設定値をΔΣ変調器2に設定することができる。
【0053】
フラクショナル設定部1は、コンピュータ、FPGA(Field Programmable Gate Array)もしくはCPLD(Complex Programmable Logic Device)などのPLD(Programmable Logic Device)、または、除算などの演算素子を含む論理演算素子を用いた論理回路、などで構成することができる。
【0054】
なお、ΔΣPLL10の出力すべき周波数とその許容範囲、および周期異音が発生すると判定する閾値によっては、許容範囲に周期異音判定の閾値を満たすフラクショナル設定値が見つからない場合もあり得る。そのような場合は、周波数の許容範囲のフラクショナル設定値のうち、変動率の最大値が最も小さいフラクショナル設定値を選択すれば、周期異音を最小にすることができる。
【0055】
(具体例)
図5は、異音が発生する状況の例を示す図である。この例では、ΔΣ変調器2の1次積分器(アキュムレータ)を18ビットとしている。繰り上がりを生じる値(最小値)は、2
18=262144である。1次積分器の取り得る値は、0〜2
18−1=262143である。
【0056】
図5の例で、フラクショナル設定値=61681および200463では、約400msec毎に異音が発生する。フラクショナル設定値=69631および157286では、約200msec毎に異音が発生する。フラクショナル設定値=157287および157288では、異音の周期が変わって、約130msec毎、約50msec毎に異音が発生する。また、フラクショナル設定値=100000および199949では、聴感上異音は発生しない。
【0057】
図6は、
図5のフラクショナル設定値における周期変動の発生数と変動率を示す図である。ここで、周期変動の発生数は、
図2Aないし
図2Dで説明した包絡線が、1次積分器の状態が1巡する周期(積分回数262144回)の間に変動する回数である。段1の発生数は、繰り上がりが発生する値をフラクショナル設定値で除した剰余である。段2の発生数は、フラクショナル設定値を最初の剰余で除算した剰余である。段3以下、前回の除算の除数を被除数、剰余を除数として除算した剰余が発生数として記載されている。変動率は、前述の除算の商であるが、
図6では除算の行ではなく、その変動率が対応する変動数(=剰余)の行に記載されている。
【0058】
図6で顕著な変動率として、例えば、フラクショナル設定値=61681の段2における発生数=1の変動率=15420が挙げられる。その他、フラクショナル設定値=69391では、発生数=2の変動率=3854、フラクショナル設定値=157286で、発生数=2の変動率=26214、フラクショナル設定値=157287で、発生数=3の変動率=17475、フラクショナル設定値=157288で、発生数=8の変動率=6553、フラクショナル設定値=200463で、発生数=1の変動率15420がある。
【0059】
この例では、1次積分器の状態が1巡する周期(積分回数262144回)は約400msecである。フラクショナル設定値=61681および200463では、約400msec毎に異音が発生するが、それは、発生数=1の変動率=15420に対応している。
【0060】
フラクショナル設定値=157286で発生する約200msec毎の異音は、発生数=2の変動率=26214に対応している。フラクショナル設定値=157287で発生する約130msec毎の異音は、発生数=3の変動率=17475に対応している。そして、フラクショナル設定値=157288で発生する約50msec毎の異音は、発生数=8の変動率=6553に対応している。
【0061】
図6の計算結果は、
図5の実態に合っていると言える。
図5と
図6を見比べて、例えば、閾値=1000以上の変動率で周期異音が発生すると判定できることが分かる。以下、周期異音を回避する例を挙げる。
【0062】
図7は、周期異音を回避するフラクショナル設定値の例を示す図である。
図7では、
図5および
図6のフラクショナル設定値のうち、フラクショナル設定値=69391を取り上げる。ΔΣPLL10の出力すべき周波数に対応するフラクショナル設定値が69391であることを想定する。この例では、周期異音が発生すると判定する閾値を1000とする。
【0063】
図7(a)は、フラクショナル設定値=69391について計算した変動率を示す。フラクショナル設定値=69391では、
図5に示すとおり、約200msec毎に異音が発生する。異音が発生することは、
図7(a)の表題を除いて上から5行の剰余2に対応する、6行の商(=変動率)3854によって判定できる。そこで、フラクショナル設定値を増減して、異音が発生しない値を探索する。
【0064】
図7(b)は、フラクショナル設定値を1増加した69392について計算した変動率を示す。フラクショナル設定値=69392では、剰余(=変動回数)32の変動率240が最大値である。この値は、閾値より小さいので、周期異音は発生しないと判定できる。
【0065】
図7(c)は、フラクショナル設定値を1減少した69390について計算した変動率を示す。フラクショナル設定値=69390では、剰余(=変動回数)36の変動率213が最大値である。この値は、閾値より小さいので、周期異音は発生しないと判定できる。
【0066】
ΔΣPLL10で出力すべき周波数の許容範囲を±0.005%とすると、フラクショナル設定値の許容範囲は約±3である。
図7(b)のフラクショナル設定値=69392および
図7(c)のフラクショナル設定値=69390はいずれも、許容範囲に入る。よって、どちらもΔΣ変調器2に設定することができる。
【0067】
以上説明したように、本実施の形態のΔΣPLL10によれば、フラクショナルN周波数シンセサイザで、繰り上がりを発生する積算値とフラクショナル設定値の関係で発生する周期異音を回避することができる。