(57)【要約】【課題】小さなＲＯＭ容量で正弦波をデジタル的に発生することができるようにする。【解決手段】所望周波数およびサンプリング周波数に応じた角振動数を表した係数であって、一の所望周波数に対して２種類の係数を格納した係数ＲＯＭ１と、累積加算値が閾値を超えない間は一方の係数を使用し、累積加算値が閾値を超えたときには他方の係数を使用して、係数ＲＯＭ１に格納された係数値をサンプリング周波数毎に順次加算していくことにより、サンプルポイント毎の角振動数を求める累積加算演算部２と、累積加算演算部２により求められたサンプルポイント毎の角振動数に対応する正弦波の振幅を計算することにより、所望周波数の正弦波信号を発生するＣＯＲＤＩＣ３を備え、２種類の係数だけからデジタル演算により所望周波数の正弦波信号を発生することができるようにする。【選択図】        図１
2008148013.tif 000002
【特許請求の範囲】
【請求項１】
所望周波数の正弦波信号をデジタル的に発生する正弦波発生回路であって、
上記所望周波数およびサンプリング周波数に応じた角振動数を表した係数であって、一の所望周波数に対して２種類の係数を格納した係数メモリと、
上記２種類の係数のうち、累積加算値が閾値を超えない間は一方の係数を使用し、累積加算値が上記閾値を超えたときには他方の係数を使用して、上記係数メモリに格納された係数値を上記サンプリング周波数毎に順次加算していくことにより、サンプルポイント毎の角振動数を求める累積加算演算部と、
上記累積加算演算部により求められたサンプルポイント毎の角振動数に対応する正弦波の振幅を計算することにより、上記所望周波数の正弦波信号を発生する三角関数演算部とを備えたことを特徴とする正弦波発生回路。
【請求項２】
上記三角関数演算部は、上記累積加算演算部により求められたサンプルポイント毎の角振動数に対応する正弦波および余弦波の振幅を計算することにより、上記所望周波数の正弦波信号および余弦波信号を発生するように成され、
上記三角関数演算部より出力された正弦波信号と余弦波信号とを利用して、三角関数のｎ倍角の公式から上記所望周波数のｎ倍周波数の正弦波信号を発生する演算部を備えたことを特徴とする請求項１に記載の正弦波発生回路。
【請求項３】
上記所望周波数をｆ、上記サンプリング周波数をｆs（ｆs＞２ｆ）として、上記一方の係数は２ｆπ／ｆs、上記他方の係数は（２ｆ−ｆs）π／ｆsで表されることを特徴とする請求項１または２に記載の正弦波発生回路。
【請求項４】
上記閾値は（ｆs−４ｆ）π／２ｆs  （ただし、ｆs＞４ｆ）で表されることを特徴とする請求項３に記載の正弦波発生回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は正弦波発生回路に関し、特に、メモリに格納された係数を使ってデジタル的に正弦波を発生する回路に用いて好適なものである。
【背景技術】
【０００２】
一般に、無線通信装置を始めとする様々な電子機器では、信号処理の際に正弦波を利用することが多い。例えば、ＦＭ放送に用いられるＦＭステレオ方式の周波数変調では、左右の差信号で３８ｋＨｚの副搬送波を平衡変調し、１９ｋＨｚを超える周波数帯域へ変換する。そして、その変調された信号と１９ｋＨｚのパイロット信号とを右・左の和信号に多重して周波数変調する。ここで利用している３８ｋＨｚの副搬送波信号も１９ｋＨｚのパイロット信号も正弦波の信号である。
【０００３】
多くの場合、これらの副搬送波信号およびパイロット信号は、基準周波数の信号を分周して発生する（例えば、特許文献１参照）。この特許文献１では、水晶振動子によって発生した７６ｋＨｚの基準信号を分周器で１／２に分周することにより、３８ｋＨｚの副搬送波信号を発生する。さらに、この副搬送波信号を１／２に分周することにより、１９ｋＨｚのパイロット信号を発生している。
【特許文献１】特開平９−３２１７２０号公報
【０００４】
また、ＲＯＭに格納されている正弦波のルックアップテーブルを使ってデジタル的に正弦波を発生する（正弦波デジタルデータを発生する）技術も存在する（例えば、特許文献２〜４参照）。
【特許文献２】特開平５−２８３９３７号公報
【特許文献３】特開平９−１８６５８８号公報
【特許文献４】特開平１１−８８０５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記特許文献１のように分周によって正弦波を発生する場合、基準となる水晶振動子の周波数によって、発生可能な周波数が制限される。これに対して、上記特許文献２〜４のように正弦波をデジタル的に発生する場合、ＲＯＭに格納するテーブル値を適宜設定することによって、理論的にはどのような周波数の正弦波も発生することが可能である。
【０００６】
しかしながら、ルックアップテーブルを用いた従来の技術では、ＲＯＭに格納すべきデータ量が多くなり、ハードウェア的規模が大きくなってしまうという問題があった。例えば、サンプリング周波数を２４０ｋＨｚとして１９ｋＨｚのパイロット信号を単純に発生させようとする場合、ルックアップテーブルとしては、２４０×１９＝４５６０個のテーブル値が必要になり、用意すべきＲＯＭの容量が非常に大きくなってしまう。
【０００７】
なお、正弦波の０°〜９０°に対応するテーブル値のみを用意しておき、９０°〜１８０°の範囲ではＹ軸で対称に折り返し、１８０°〜２７０°の範囲ではＸ軸とＹ軸で対称に折り返し、２７０°〜３６０°の範囲ではＸ軸で対称に折り返すことで、１／４のデータ量で３６０°分の正弦波を生成することも可能である。しかし、この場合でも１１４０個ものテーブル値が必要であり、用意すべきＲＯＭの容量は大きくなってしまう。
【０００８】
本発明は、このような問題を解決するために成されたものであり、小さなＲＯＭ容量で正弦波をデジタル的に発生することができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、所望周波数およびサンプリング周波数に応じた角振動数を表した係数であって、一の所望周波数に対して２種類の係数を格納した係数メモリと、累積加算値が閾値を超えない間は一方の係数を使用し、累積加算値が閾値を超えたときには他方の係数を使用して、係数メモリに格納された係数値をサンプリング周波数毎に順次加算していくことにより、サンプルポイント毎の角振動数を求める累積加算演算部と、累積加算演算部により求められたサンプルポイント毎の角振動数に対応する正弦波の振幅を計算することにより、所望周波数の正弦波信号を発生する三角関数演算部とを備えている。
【００１０】
本発明の他の態様では、三角関数演算部は、累積加算演算部により求められたサンプルポイント毎の角振動数に対応する正弦波および余弦波の振幅を計算することにより、所望周波数の正弦波信号および余弦波信号を発生するように成され、三角関数演算部より出力された正弦波信号と余弦波信号とを利用して、三角関数のｎ倍角の公式から所望周波数のｎ倍周波数の正弦波信号を発生する演算部を備えている。
【発明の効果】
【００１１】
上記のように構成した本発明によれば、２種類の係数だけからデジタル演算により所望周波数の正弦波信号を発生することができる。これにより、所望周波数の正弦波信号をルックアップテーブルで発生する場合に比べて、係数ＲＯＭの容量を格段に少なくすることができ、ハードウェア的規模を小さくすることができる。
【００１２】
また、本発明の他の特徴によれば、所望周波数のｎ倍周波数の正弦波信号は、２種類の係数だけからデジタル演算により求めた所望周波数の正弦波信号を用いて、三角関数のｎ倍角の演算を行うだけで簡単に求めることができる。これにより、ｎ倍周波数の正弦波信号をルックアップテーブルで発生する場合に比べて、係数ＲＯＭの容量を格段に少なくすることができ、ハードウェア的規模を小さくすることができる。
【発明を実施するための最良の形態】
【００１３】
（第１の実施形態）
以下、本発明の一実施形態を図面に基づいて説明する。図１は、第１の実施形態による正弦波発生回路の構成例を示す図である。図１に示すように、第１の実施形態による正弦波発生回路は、係数ＲＯＭ１、累積加算演算部２およびＣＯＲＤＩＣ（Coordinate Rotation Digital Computer）３を備えている。累積加算演算部２が有する積分器１２およびＣＯＲＤＩＣ３に対するスタートパルスは、サンプリング周波数ｆsの間隔で入力される。
【００１４】
係数ＲＯＭ１は、本発明の係数メモリに相当するものであり、所望周波数ｆ（求める正弦波信号の周波数）およびサンプリング周波数ｆs（ｆs＞２ｆであり、ｆs＞＞２ｆであることが好ましい）に応じた角振動数を表した係数であって、一の所望周波数ｆに対して２種類の係数を格納したものである。２種類の係数のうち、一方の係数は２ｆπ／ｆs、他方の係数は（２ｆ−ｆs）π／ｆsで表される。本実施形態において、求める正弦波信号はパイロット信号であり、その周波数ｆは１９ｋＨｚ、サンプリング周波数ｆsは２４０ｋＨｚとする。
【００１５】
累積加算演算部２は、係数ＲＯＭ１に格納された係数値をサンプリング周波数ｆs毎に順次加算していき、角振動数の累積加算値を求めるものである。この累積加算演算部２は、係数ＲＯＭ１に格納された２種類の係数のうち、累積加算値が閾値を超えない間は一方の係数｛２ｆπ／ｆs｝を使用し、累積加算値が閾値を超えたときには他方の係数｛（２ｆ−ｆs）π／ｆs｝を使用して、係数ＲＯＭ１に格納された係数値をサンプリング周波数ｆs毎に順次加算していくことにより、サンプルポイント毎の角振動数を求める。
【００１６】
この累積加算演算部２は、セレクタ１１、積分器１２および比較器１３を備えて構成されている。セレクタ１１は、係数ＲＯＭ１に格納された２種類の係数の何れかを選択して積分器１２に出力する。積分器１２は、セレクタ１１より供給される係数を順次加算していくことにより、角振動数の累積加算値を求める。求めた累積加算値は、ＣＯＲＤＩＣ３および比較器１３に出力する。
【００１７】
比較器１３は、積分器１２より供給される角振動数の累積加算値と所定の閾値とを大小比較し、その比較結果に応じた信号をセレクタ１１の制御端子に出力する。ここで、所定の閾値は、（ｆs−４ｆ）π／２ｆs  （ただし、ｆs＞４ｆ）とする。セレクタ１１は、積分器１２より供給される角振動数の累積加算値が上述の閾値以下であることを示す比較信号が比較器１３より供給されたときは、一方の係数｛２ｆπ／ｆs｝を選択する。また、累積加算値が閾値より大きいことを示す比較信号が比較器１３より供給されたときは、他方の係数｛（２ｆ−ｆs）π／ｆs｝を選択する。
【００１８】
図２は、以上のように構成した累積加算演算部２の動作例を示す図である。なお、図２（ａ）は参照のために図示した１９ｋＨｚのアナログのパイロット信号であり、図２（ｂ）が累積加算演算部２の動作例を示している。図２（ａ）において、黒丸は各サンプルポイントを示している。１９ｋＨｚの場合、アナログパイロット信号におけるサンプルポイントの振幅値は、１９個の波形を１サイクル（１サイクルは１ｍ秒）として同じ値に戻る。
【００１９】
累積加算演算部２は、サンプリング周波数ｆs毎に一方の係数｛２ｆπ／ｆs｝を順次加算していくので、図２（ｂ）のように角振動数の累積加算値は一定の割合で徐々に大きくなっていく。そして、その累積加算値が所定の閾値｛（ｆs−４ｆ）π／２ｆs｝を超えると、セレクタ１１によって、加算する値が他方の係数｛（２ｆ−ｆs）π／ｆs｝に切り替えられる。
【００２０】
いま、ｆ＝１９ｋＨｚ、ｆs＝２４０ｋＨｚで、サンプリング周波数ｆsは所望周波数ｆに比べて充分に大きい（２ｆ＜＜ｆs）。よって、他方の係数は負の値で、その絶対値も上述の閾値に比べて充分に大きいものとなる。そのため、この他方の係数｛（２ｆ−ｆs）π／ｆs｝を加算することによって、図２（ｂ）に示すように、累積加算値が一気に小さい値に落とされる。その後は、再び一方の係数｛２ｆπ／ｆs｝が順次加算されていくので、累積加算値が再び上昇していく。このような動作を１９回繰り返すと、１９個前のサンプルポイントでの累積加算値と同じ値に戻る。
【００２１】
ＣＯＲＤＩＣ３は、本発明の三角関数演算部に相当するものであり、累積加算演算部２により求められたサンプルポイント毎の角振動数に対応する正弦波の振幅を計算することにより、所望周波数の正弦波信号（１９ｋＨｚのパイロット信号）を発生する。これは、図２（ｂ）のような波形のデータから、図２（ａ）のような波形の正弦波信号を生成することに相当する。
【００２２】
ＣＯＲＤＩＣ３は、三角関数、乗算、除算などの初等関数演算によって２次元ベクトルの平面回転を実現するアルゴリズムで、シフト、加減算、テーブルからの定数読み出しによる演算を繰り返し行うことで三角関数の値を得ることができる。例えば、ｘ軸上の点Ｐ0(1,0)を基準点として、あるサンプルポイントの角振動数だけ回転させた点Ｐ(x,y)の座標を求めれば、そのｙ座標を当該角振動数に対応するsin関数の値、つまり求める正弦波信号の振幅として得ることができる。この演算を各サンプルポイントについて行えば、図２（ａ）のような波形の正弦波信号を生成することができる。
【００２３】
以上詳しく説明したように、第１の実施形態によれば、係数ＲＯＭ１に格納した２種類の係数だけからデジタル演算により１９ｋＨｚの正弦波によるパイロット信号を発生することができる。これにより、従来のように所望周波数の正弦波信号をルックアップテーブルで発生する場合に比べて、係数ＲＯＭ１の容量を格段に少なくすることができ、ハードウェア規模を小さくすることができる。
【００２４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。図３は、第２の実施形態による正弦波発生回路の構成例を示す図である。この図３において、図１に示した符号と同一の符号を付したものは同一の機能を有するものであるので、ここでは重複する説明を省略する。図３に示すように、第２の実施形態による正弦波発生回路は、係数ＲＯＭ１、累積加算演算部２、ＣＯＲＤＩＣ４、乗算器５およびＤ型フリップフロップ６を備えている。
【００２５】
ＣＯＲＤＩＣ４は、累積加算演算部２により求められたサンプルポイント毎の角振動数に対応する正弦波および余弦波の振幅を計算することにより、１９ｋＨｚの正弦波信号（sinｆ）および余弦波信号（cosｆ）を発生する。乗算器５は、本発明の演算部に相当するものであり、ＣＯＲＤＩＣ４より出力された正弦波信号と余弦波信号とを利用して、三角関数のｎ倍角（ｎは２以上の整数）の公式から１９ｋＨｚのｎ倍周波数の正弦波信号を発生する。
【００２６】
ここでは、２倍周波数の正弦波信号（sin2ｆ）および３倍周波数の正弦波信号（sin3ｆ）を発生している。３８ｋＨｚの正弦波信号は、例えばＦＭステレオ変調の副搬送波信号として使用する。例えば、再生された音声信号をＦＭステレオ変調して無線送信するトランスミッタ機能を備えた電子機器の場合、１９ｋＨｚのパイロット信号と３８ｋＨｚの副搬送波信号とを使用する。
【００２７】
また、５７ｋＨｚの正弦波信号は、例えばＲＤＳ（Radio Data System）の副搬送波信号として使用する。ＲＤＳは、ＦＭラジオ放送の信号にデータを載せて配信することにより、これを受信した電子機器において、聞いている曲の名前やアーティスト名、ラジオ局の情報などをディスプレイに表示することを可能にしたものである。近年の電子機器は多機能化が進み、ＲＤＳ、ＦＭステレオ変調などの各機能を１つの電子機器（例えば、携帯電話機）に実装することも考えられる。その場合には、１９ｋＨｚのパイロット信号、３８ｋＨｚの副搬送波信号および５７ｋＨｚの副搬送波信号を全て使用する。
【００２８】
Ｄ型フリップフロップ６は、１９ｋＨｚのパイロット信号（sinｆ）、３８ｋＨｚの副搬送波信号（sin2ｆ）および５７ｋＨｚの副搬送波信号（sin3ｆ）のタイミングを揃えて出力する。
【００２９】
以上詳しく説明したように、第２の実施形態によれば、係数ＲＯＭ１に格納した２種類の係数だけからデジタル演算により１９ｋＨｚのパイロット信号、３８ｋＨｚのステレオ副搬送波信号および５７ｋＨｚのＲＤＳ副搬送波信号を発生することができる。ここで、ｎ倍周波数の正弦波信号は、２種類の係数だけからデジタル演算により求めた所望周波数の正弦波信号を用いて、三角関数のｎ倍角の演算を行うだけで簡単に求めることができる。これにより、所望周波数およびそのｎ倍周波数の正弦波信号をルックアップテーブルで発生する場合に比べて、係数ＲＯＭ１の容量を格段に少なくすることができ、ハードウェア規模を小さくすることができる。
【００３０】
なお、上記第１および第２の実施形態では、ｆ＝１９ｋＨｚ、ｆs＝２４０ｋＨｚとする例について説明したが、これは単なる一例に過ぎない。ｆ，ｆsの値を変えることにより、任意の周波数の正弦波信号をデジタル演算によって簡単に求めることができる。
【００３１】
また、１つの所望周波数の正弦波信号は２つの係数から求めることができるので、ｍ個（ｍは２以上の整数）の所望周波数の正弦波信号は２ｍ個の係数から求めることができる。例えば、ある所望周波数ｆ1の正弦波信号を求めるために｛２ｆ1π／ｆs｝，｛（２ｆ1−ｆs）π／ｆs｝の２種類の係数を用意し、別の所望周波数ｆ2の正弦波信号を求めるために｛２ｆ2π／ｆs｝，｛（２ｆ2−ｆs）π／ｆs｝の２種類の係数を用意すれば、これら４種類の係数から２つの所望周波数ｆ1，ｆ2の正弦波信号を発生することができる。
【００３２】
また、上記第１および第２の実施形態では、係数ＲＯＭ１の係数を使って正弦波信号を発生する例について説明したが、同様の処理で余弦波信号を発生することができることは言うまでもない。
【００３３】
その他、上記第１および第２の実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【産業上の利用可能性】
【００３４】
本発明の正弦波発生回路は、正弦波信号を用いて処理を行う回路や機器に広く有用である。発振器、周波数シンセサイザ、ラジオ受信機、ＦＭトランスミッタ、電子楽器などがその一例である。
【図面の簡単な説明】
【００３５】
【図１】第１の実施形態による正弦波発生回路の構成例を示す図である。
【図２】第１、第２の実施形態による累積加算演算部の動作例を示す図である。
【図３】第２の実施形態による正弦波発生回路の構成例を示す図である。
【符号の説明】
【００３６】
１  係数ＲＯＭ
２  累積加算演算部
３，４  ＣＯＲＤＩＣ
５  乗算器
６  Ｄ型フリップフロップ
【図１】
2008148013.tif 000003
【図２】
2008148013.tif 000004
【図３】
2008148013.tif 000005