JP4010709B2 - Msk復調装置 - Google Patents
Msk復調装置 Download PDFInfo
- Publication number
- JP4010709B2 JP4010709B2 JP17507599A JP17507599A JP4010709B2 JP 4010709 B2 JP4010709 B2 JP 4010709B2 JP 17507599 A JP17507599 A JP 17507599A JP 17507599 A JP17507599 A JP 17507599A JP 4010709 B2 JP4010709 B2 JP 4010709B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- frequency
- phase
- msk
- carrier signal
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Description
【発明の属する技術分野】
本発明は、MSK(Minimum Shift Keying)信号を復調するためのMSK復調装置に関する。
【0002】
【従来の技術】
MSK変調は、無線通信におけるデジタル変調方式の1つである。デジタル変調において、送信データの1、0を表すのに正弦波の周波数を変調する方式がFSK(Frequency Shift Keying)変調であるが、MSK変調はこのFSK変調の一形態をなす。また、MSKは符号の変化点で位相の連続性が保持されることから、連続位相FSK(Continuous Phase Frequency Shift Keying)の一種であるとされる。MSKの特徴は、1、0の符号に対応する2つの信号周波数の差を最小にしながら、信号区間の最後において最大の位相差(±90°)が得られることにあり、この特性を利用して復調処理を行う。
【0003】
MSK復調の原理を、図11および図12を参照して説明する。図11はMSK変調された信号(以下、MSK信号という)の波形図を示している。図において、▲1▼、▲4▼、▲5▼は送信データのビットが0の符号区間、▲2▼、▲3▼、▲6▼は送信データのビットが1の符号区間である。ここで、ビットレートがたとえば200bpsの場合には、キャリア(搬送波)の周波数を1KHzとして、ビット0の符号区間▲1▼、▲4▼、▲5▼ではMSK信号の周波数は950Hz、ビット1の符号区間▲2▼、▲3▼、▲6▼ではMSK信号の周波数は1050Hzに選定されている。すなわち、キャリア周波数に対して信号周波数を±50Hzだけ偏移させている。
【0004】
上記のようなMSK信号は、符号区間の最後における位相が、符号区間の最初の位相に比べて90°(π/2)変化する。そして、この変化の方向(+方向、−方向)は、ビットの符号が0の区間では−方向、ビットの符号が1の区間では+方向となる。たとえば、符号区間▲1▼はビットが0であるから、位相は−方向へ0°から−90°まで変化する。一方、符号区間▲2▼はビットは1であるから、位相は+方向へ−90°から0°まで変化する。
【0005】
また、ある符号区間から次の符号区間にかけてビットが反転する場合は、次の符号区間での位相の変化方向は、前の符号区間での位相の変化方向と逆方向となり、ある符号区間から次の符号区間にかけて同じビットが連続する場合は、次の符号区間での位相の変化方向は、前の符号区間での位相の変化方向と同方向となる。たとえば、符号区間▲1▼から符号区間▲2▼に移る場合は、ビットの符号が0から1へ反転するが、符号区間▲1▼では位相が−方向へ変化しているため、符号区間▲2▼では位相は+方向へ変化し、−90°から0°へ+90°変化する。一方、符号区間▲2▼から符号区間▲3▼に移る場合は、ビットの符号は1のままで変化しないので、符号区間▲3▼では符号区間▲2▼と同様に位相は+方向へ変化し、0°から+90°へ+90°変化する。しかし、符号区間▲3▼から符号区間▲4▼に移る場合は、再びビットの符号が1から0へ反転するため、符号区間▲4▼では位相は−方向へ変化し、+90°から0°へ−90°変化する。同様にして、符号区間▲5▼では位相が0°から−90°へ−90°変化し、符号区間▲6▼では位相が−90°から0°へ+90°変化する。
【0006】
以上のような各符号区間における位相の変化を表したのが図12である。実線はビットが0である符号区間▲1▼、▲4▼、▲5▼の位相変化を表し、変化の方向(矢印方向)が−方向となっている。点線はビットが1である符号区間▲2▼、▲3▼、▲6▼の位相変化を表し、変化の方向が+方向となっている。また、ビットが反転する▲1▼→▲2▼、▲3▼→▲4▼、▲5▼→▲6▼では変化の方向が反転しており、同じビットが連続する▲2▼→▲3▼、▲4▼→▲5▼では変化の方向は同じになっていることがわかる。
【0007】
このようなMSK信号の特性を用いると、変調前の送信データを復調して取り出すことができる。すなわち、各符号区間について、位相が+と−のいずれの方向に90°変化したかを検出し、+の方向に90°変化した区間については符号「1」を、−の方向に90°変化した区間については符号「0」をそれぞれ割当てればよい。
【0008】
以上のような原理に従ってMSK信号を復調するに際しては、変調側で用いたキャリアと周波数および位相が同じキャリアを復調側でも生成する必要がある。この方法として、変調波(MSK信号)に基づいて復調側でキャリアを生成する方法があるが、これによると、周波数の同期をとる必要がない反面、変調波に重畳しているノイズの影響を直接受けるため、S/Nが悪くなって信頼性が低下するという問題がある。そこでこの対策として、復調側のキャリアを変調波から生成するのではなく、VCO(電圧制御発振器)を用いて内部的にキャリアを生成する方法が考えられる。
【0009】
図13は、このようなVCOを用いたMSK復調装置の基本的な構成を示すブロック図である。図において、21はMSK信号が入力される入力端子、22および23は後述するキャリア信号とMSK信号とを掛け合わせて直交同期検波を行なう乗算器、24および25は同期検波された信号から高周波成分を除去するローパスフィルタ、26は符号区間での位相を検出する位相検出器、27はキャリア信号を発生するデジタルVCO、28はVCO27からのキャリア信号を90°移相する90°移相器である。
【0010】
次に、図13の復調装置の動作を説明する。入力端子21にはA/D変換されたMSK信号が入力される。一方、VCO27からの出力信号は、同相成分のキャリア信号として乗算器22に与えられるとともに、90°移相器28によって位相が90°遅れた直交成分のキャリア信号として乗算器23に与えられる。乗算器22は端子21に入力されたMSK信号と、VCO27からの同相成分のキャリア信号とを掛け合わせ、符号区間における位相検出に必要な同相成分のI(in-phase)信号を生成する。また、乗算器23は端子21に入力されたMSK信号と、90°移相器28からの直交成分のキャリア信号とを掛け合わせ、符号区間における位相検出に必要なQ(quadrature)信号を生成する。
【0011】
これらの2系統の信号は、それぞれローパスフィルタ24および25によって高周波成分が除かれ、位相検出器26に与えられる。位相検出器26ではI信号とQ信号とに基づいて各符号区間ごとに位相を検出し、前述した原理にしたがって位相の変化方向から元のデータを再生して、復調出力として送出する。
【0012】
また、位相検出器26の出力はVCO27へ与えられ、位相検出の結果に応じてVCO27の発振周波数を制御する。すなわち、MSK信号の周波数が変動してVCO27の発振周波数からずれると、正しい位相検出ができなくなるので、MSK信号の周波数のずれを位相のずれから検出し、VCO27の発振周波数をMSK信号の周波数変動に追従するように補正する。この場合、PLL(Phase Locked Loop)の動作によってVCO27の発振周波数がMSK信号の周波数に近づいてゆき、2つの周波数が一致するといわゆるロック状態となる。
【0013】
【発明が解決しようとする課題】
上述したMSK復調装置においては、VCO27によりキャリアを生成するようにしているので、従来のように変調波からキャリアを生成する場合に比べて、ノイズの影響を受けにくくなってS/Nが改善される。しかし、その一方で、VCO27のキャリア周波数と変調波のキャリア周波数とがずれてくると、変調波を正確に復調することができなくなり、ビット誤りが増える。このため両キャリアの周波数を細かく同期させる必要がある。
【0014】
しかるに、位相検出器26の出力によるVCO27の発振周波数の制御をたとえば1Hz単位で行なうと、MSK信号のキャリア周波数がたとえば0.3Hz程度ずれただけでは、VCO27のキャリア周波数は補正されず、この状態をそのままにしておくと、ビットの周期がだんだんとずれてきて誤り率が増え、データを正確に再生できなくなってしまう。
【0015】
本発明は上記のような問題を解決するものであって、MSK信号の微細な周波数変動に対しても、周波数を細かく制御して正確にデータを再生できるMSK復調装置を提供することを課題としている。
【0016】
【課題を解決するための手段】
上記課題を解決するために本発明は、復調側で生成するキャリア信号の周波数を、粗調レベルの補正値と微調レベルの補正値とに基づいて補正するようにしたものである。ここで、粗調レベルとはたとえば1Hz単位で補正を行うことをいい、微調レベルとはたとえば0.1Hz単位で補正を行うことをいう。
【0017】
このような2つのレベルの補正値を用いることで、キャリア周波数を細かく補正することが可能となり、周波数を精度よく調整できるので、変調波の周波数が細かく変動しても、容易に同期をとることができて誤り率が減少する。
【0018】
また、本発明は、上記課題を解決するために、正弦波の1周期におけるnポイントのサンプリング点のそれぞれに対応して振幅値が記憶されたテーブルを設け、このテーブルから所定間隔でmポイントを抽出して各ポイントに対応する振幅値を読み出すことにより信号を生成するとともに、正弦波の1周期の最後におけるサンプリング点のポイントを増減することにより、信号の周波数を補正するようにしたものである。
【0019】
このようにすれば、テーブルのポイントを参照してソフトウエア処理によって、粗調レベルの補正と微調レベルの補正とを容易に実現することができる。たとえば、ポイントの増減をキャリア信号の毎周期単位で行なうことにより粗調レベルの補正を行ない、ポイントの増減をキャリア信号の所定周期単位で行なうことにより微調レベルの補正を行なうことができる。そして、粗調レベルの補正時に、微調レベルの補正値を順次償却して、微調レベルの補正をあわせて行なうようにすれば、位相を滑らかに変化させることが可能となる。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態につき、図を参照しながら説明する。図1は、本発明の実施形態に係るMSK復調装置のブロック図である。図1の各ブロックの機能は、ソフトウエアで実現されるものであり、実際には図1はDSP(Digital Signal Processor)として構成されるが、ここでは便宜上ハードウエア回路で表している。
【0021】
図1において、1はMSK信号が入力される入力端子、2は入力されたMSK信号をサンプリング処理によってデジタル信号に変換するA/Dコンバータ、3はデジタル変換されたMSK信号の帯域を制限する帯域フィルタ、4および5は後述するキャリア信号とMSK信号とを掛け合わせて、直交同期検波を行なう乗算器、6および7は同期検波された信号から高周波成分を除去するローパスフィルタ、8および9は位相検出に必要なサンプルデータを生成するサンプリング回路、10は符号区間での位相を検出して、元の信号を取り出す位相検出器である。
【0022】
11は位相検出器10の位相検出結果に基づきビットの変化点を検出して、サンプリング周期の同期をとるビット同期回路、12は位相検出器10の位相検出結果に基づき周波数の補正値を算出して、キャリア信号の周波数を制御する周波数制御回路、13はデジタルVCO(電圧制御発振器)から構成され、キャリア信号を生成する信号生成回路、14は信号生成回路13からのキャリア信号を90°移相する90°移相器、15はキャリア信号の生成に必要なデータを記憶した信号テーブル、16は周波数制御回路12、信号生成回路13および信号テーブル15により構成される信号周波数制御装置である。
【0023】
次に、図1のMSK復調装置の動作を説明する。入力端子1には図2のaに示すようなMSK信号が入力される。このMSK信号は図11で示したものと同じであり、1KHzのキャリア周波数を、符号0の区間では950Hz、符号1の区間では1050Hzとなるように変調している。入力されたMSK信号は、A/Dコンバータ2においてサンプリング処理され、図2のbに示すようなデジタル信号に変換される。ここでは、サンプリング周波数を10KHzとしている。デジタル信号に変換されたMSK信号は、帯域フィルタ3において800〜1200Hzに帯域を制限された後、乗算器4、5に与えられる。
【0024】
一方、信号生成回路13は、MSK信号のキャリアと同じ周波数(1KHz)をもつキャリア信号を生成する。図3はキャリア信号の波形図を示している。1KHzの正弦波を1MHzでサンプリングすると、1サイクルにおけるサンプリング点は1000ポイントとなる。この1000ポイントのそれぞれの振幅値を、図4に示す信号テーブル15にあらかじめ記憶させておく。信号テーブル15は、たとえばROMに設定される。
【0025】
図4において、PNTはポイント位置であり、1〜1000のそれぞれに対して、正弦波の振幅値A1、A2、A3、…A1000が記憶されている。したがって、サンプリングごとにポイントを100ずつ進めてゆくことにより、10KHzでサンプリングした1KHzのキャリア信号を生成することができる。なお、このキャリア信号の生成にあたっては、周波数を粗調レベルと微調レベルの2段階に分けて調整するが、その詳細については後述する。
【0026】
このようにして生成されたキャリア信号は、乗算器4に同相成分のキャリア信号として与えられるとともに、90°移相器14によって位相が90°遅れた直交成分のキャリア信号として乗算器5に与えられる。図4のテーブルの読込み位置PNTを用いて、同相成分のキャリア信号を
carrierI=car[PNT] (1)
と表すと、直交成分のキャリア信号はこれより位相が90°、つまり4分の1周期遅れており、この遅れは1000×1/4=250ポイントに相当するから、
carrierQ=car[PNT+250] (2)
で表される。
【0027】
乗算器4はMSK信号と、信号生成回路13からの同相成分のキャリア信号とを掛け合わせ、符号区間における位相検出に必要な同相成分のI(in-phase)信号を生成する。また、乗算器5はMSK信号と、90°移相器14からの直交成分のキャリア信号とを掛け合わせ、符号区間における位相検出に必要なQ(quadrature)信号を生成する。これらのI信号およびQ信号は、それぞれ、低周波のベースバンド信号の同相成分および直交成分である。
【0028】
こうして生成されたI信号およびQ信号は、それぞれローパスフィルタ6および7によって2KHzの高周波成分が除かれ、サンプリング回路8、9に与えられる。サンプリング回路8、9では、I信号とQ信号のそれぞれに対し、1周期において10個のサンプリング点でサンプリングを行なう。すなわち、サンプリング回路8、9に入力されるI信号とQ信号は、10KHzでサンプリングされた200bpsの信号であるため、サンプリング点は50個存在するが、サンプリング回路8、9ではサンプリング周波数を2KHzとして、50個のサンプリング点を10個に間引いている。こうしてサンプリングされたI信号、Q信号は、それぞれ図2のc、dのような信号となる。この2系統の信号は、位相検出器10に与えられる。
【0029】
位相検出器10では、I信号とQ信号のサンプルデータに基づいて、各符号区間ごとにMSK信号の位相を検出する。図5は位相検出の原理を示している。図2のc、dにおいて任意のサンプリング点jをとり、このサンプリング点jにおけるI信号の振幅をIj、Q信号の振幅をQjとすると、このサンプリング点jにおける位相θjは図5より、
θj=tan−1 (Ij/Qj)×(360/2π) (3)
で表される。このθjの値は、Ij=0〜63、Qj=0〜63のそれぞれにつき、2次元配列のテーブル(図示省略)にあらかじめ記憶されている。
【0030】
したがって、各符号区間につき、10個のサンプリング点ごとにテーブルから位相を求め、今回の位相値θjと前回の位相値θj− 1との差を求めれば、この位相差が位相の変化値となる。そして、この位相差を符号区間にわたって10回累積すれば、この累積値から位相が+−どちらの方向へ何度変化しているかが判別できる。この判別の結果、位相が+方向へ90°変化しておれば、図11および図12において説明したように、その区間の符号は「1」であり、位相が−方向へ90°変化しておれば、その区間の符号は「0」となる。このようにして、位相検出器10は、符号区間の位相変化を判別して元のデータの再生を行ない、復調出力として送出する。
【0031】
一方、位相検出器10で検出された位相データは、ビット同期回路11へ与えられる。キャリア周波数の変動やノイズの影響などによって、変調波のサンプリング点は常に変化するが、サンプリング点がずれるとビット誤りが増える。これを図6で説明すると、同図(a)は正規状態におけるビット波形である。t0、t1、t2は位相の変化点であり、これらはサンプリング点と一致している。いま、変調波のキャリア周波数が増加すると、同図(b)のように位相の変化点が符号周期(t0〜t1)の終了時点t1よりも早く出現するため、ビットの符号周期がΔtaだけ短くなり、ビット反転のタイミングが左方向にずれてくる。また、キャリア周波数が減少すると、同図(c)のように位相の変化点が符号周期の終了時点t1よりも遅く出現するため、ビットの符号周期がΔtbだけ長くなり、ビット反転のタイミングが右方向にずれてくる。このように、ビットの変化点(位相の変化点)がずれてくると、サンプリング点と変化点とが一致しなくなり、データを正しく再生できなくなるので、ビット同期回路11によりサンプリング点の同期をとるようにしている。
【0032】
ビット同期回路11では、まず最初に、符号周期の開始位置を求める。このために、位相検出器10で検出された今回の位相θjが前回の位相θj− 1より進んでいる場合には「+」を、遅れている場合には「−」を、同じ場合には「0」を、それぞれサンプリング点ごとにメモリへ記憶する。そして、「+」「+」「−」「−」、「−」「−」「+」「+」、あるいは「0」「0」「+/−」という変化のパターンを検索する。なお、「+」や「−」等を2つ連続させたのは、ノイズによる変化と区別するためであり、原理的には1つでもよい。上記3つのパターンのいずれかに該当する場合は、位相方向が反転する場合であるから、この変化点を符号周期開始位置とする。
【0033】
続いてビット同期回路11は、上記のようなパターン検索を継続してビットの変化点を監視し、図6(b)のように変化点が符号周期の終了時点t1よりも早く出現した場合には「−1」を累積し、図6(c)のように符号周期の終了時点t1よりも遅く出現した場合には「+1」を累積する。ここで、ΔtaやΔtbはたとえば符号周期の20%以内に設定される。また、図6(a)のように、変化点が符号周期の終了時点t1と一致している場合は累積を行なわず、上記パターンが存在しない場合も累積は行なわない。そして累積をたとえば256回行ない、その結果が「−」であれば、位相の変化点は図6で左方向にずれていることになるので、これに合わせるためにサンプル周期をたとえば10%短くするようサンプリング回路8、9に指令を与える。また、累積結果が「+」であれば、位相の変化点は図6で右方向にずれているので、これに合わせるためにサンプル周期をたとえば10%伸ばすようサンプリング回路8、9に指令を与える。
【0034】
このようにして、基準となるサンプリング点と実際の位相の変化点とを比較し、位相変化点の検出タイミングに基づいてサンプル周期を伸縮させることによって、位相の変化点とサンプリング点とを一致させ、ビット同期をとることができる。
【0035】
ところで、位相検出器10で検出された位相データは、信号周波数制御装置16へも与えられる。信号周波数制御装置16は、正弦波信号の生成に必要なデータを記憶した信号テーブル15と、この信号テーブル15のデータに基づいて正弦波信号を生成する信号生成回路13と、制御入力に基づいて信号生成回路13の信号周波数を制御する周波数制御回路12とからなる。周波数制御回路12は位相検出器10からの位相データを制御入力として周波数の補正値A、Bを演算し、これを制御信号として信号生成回路13へ与え、信号生成回路13で生成される信号の周波数を制御する。
【0036】
図1の装置では、位相差に基づいてデータを復調しているため、変調波(MSK信号)のキャリア周波数と信号生成回路13のキャリア周波数とがずれてくると、ビット誤りが増える。そこで、信号周波数制御装置16によりキャリア信号の周波数を制御して、MSK信号の周波数変動に対して信号生成回路13のキャリア周波数が追従するようにしている。この周波数制御の詳細については後述する。
【0037】
また、位相検出器10においては、各符号区間における位相差(変化値)の絶対値を求め、これが50°〜90°の範囲にある場合には「+1」を累積する。これをたとえば64回行ない、「+1」の累積が25%(すなわち16回)以上あれば、ノイズが多くてもデータ検出が可能なレベルとみなして、ロック状態とする。ロック状態に至ると、前述したように位相検出器10は、符号区間での位相変化を判別してデータ検出を行ない、復調出力として送出する。
【0038】
一方、「+1」の累積が25%以下の場合は、データ検出が可能なレベルに至っていないとみなして、ビットレートを変化させる。ビットレートとは1秒間に伝送できるビット数のことをいい、ここでは200bps、100bps、50bpsの3段階のビットレートが設定されている。そして、200→100→50bpsの順番で自動的にビットレートを変化させ、それぞれのレートにつき上述した累積を行なってロック状態になるまでこれを繰り返す。なお、200bpsの場合はサンプリング周波数が2KHz、100bpsの場合はサンプリング周波数が1KHz、50bpsの場合はサンプリング周波数が0.5KHzとなっていて、どのビットレートに対しても、1周期区間で常に10点のサンプリング点が得られるようになっている。
【0039】
図7は、以上説明した一連の動作を表すフローチャートである。端子1に入力されたMSK信号をA/Dコンバータ2でサンプリングしてデジタル信号に変換し(S1)、帯域フィルタ3を通してフィルタリングする(S2)。そして、信号生成回路13において生成(S3)したキャリア信号とMSK信号とを乗算器4、5において掛け合わせて直交同期検波を行ない、ベースバンド信号の同相成分をなすI信号と直交成分をなすQ信号とを生成して、ローパスフィルタ6、7を通した後、サンプリング回路8、9でサンプリング処理する(S4)。
【0040】
ついで、復調周期が経過したかどうかをみる(S5)。復調周期とは、10回のサンプリングにおけるサンプリング間隔のことで、200bpsの場合は、前述のように2KHzでサンプリングするので、復調周期は0.5msとなる。復調周期が経過してなければ終了し、経過すればサンプリングしたI信号とQ信号に基づいて、位相差を位相検出器10で検出する(S6)。続いて、この位相差から位相の変化点を検出し(S7)、この検出結果に基づいてビット同期回路11によりビット同期を行なう(S8)。
【0041】
続いて、符号周期が経過したかどうかをみる(S9)。符号周期とは1つの符号区間の時間であり、換言すればI信号、Q信号の10回目のサンプリングが終了するまでの時間である。符号周期が経過してなければ何もせずに終了し、経過すれば周波数制御回路12により周波数同期を行なう(S10)。そして位相検出器10でロック状態の検出およびビットレートの変更を行ない(S11)、ロック状態になればデータを検出して出力する(S12)。以上で1符号区間の動作は終了し、その後は次の符号区間につき、S1〜S12のステップを順次繰り返す。
【0042】
図8は、図7におけるS3(キャリア信号生成)の詳細を示すフローチャートであって、信号生成回路13の動作を表したものである。以下、これについて説明する。図4で説明したように、キャリアの振幅値は1000ポイント分が信号テーブル15に設定されている。キャリアの読込み位置をPNTとして、まずPNTが1000を越えていないかを判断する(S21)。1000を越えていれば(S21NO)、PNT値から1000を引いた値をPNTとする(S34)。したがって、PNT値が1001であれば、PNT=1となってテーブルの最初に戻ることになる。1000を越えていなければ(S21YES)、図4のテーブルからそのPNTに対応する振幅値を読込む(S22)。これは前述した(1)式からわかるように、同相成分キャリア信号の振幅となる。
【0043】
続いて、PNTを250進めてこの値をpとし(S23)、pが1000を越えていないかを判断する(S24)。1000を越えていれば(S24NO)、pから1000を引いた値をpとする(S35)。1000を越えていなければ(S24YES)、図4のテーブルからそのpに対応する振幅値を読込む(S25)。これは前述した(2)式からわかるように、直交成分キャリア信号の振幅となる。
【0044】
次に、PNTを100進めてその値をPNTとし(S26)、また粗調レベルカウンタCNT1に1を加算して(S27)、CNT1が10になったか否かを判断する(S28)。PNTを100進めるのは、前述のように1000個のデータの中からサンプル値を10個抽出するためである。CNT1が10になっていなければ(S28NO)、何もせずに終了し、図7のS4へ移行する。CNT1が10になれば(S28YES)、サンプリングが10回行なわれて1周期の最後まで来たことになるので、その時点でキャリア周波数の粗調レベルの補正を行なう。すなわち、周波数制御回路12において算出された補正値Aを用いて、PNTにAを加えた値をPNTとし、同時にCNT1を0にリセットする(S29)。ここで、Aは−10〜+10の値をとり、A<0の場合はPNTがAだけ減少してキャリア周波数が減少し、0<Aの場合はPNTがAだけ増加してキャリア周波数が増加する。この補正値Aの算出方法については後述する。
【0045】
上記の場合において、Aの値とキャリア周波数の変化との関係を、図10を参照して説明する。図10(a)は、周波数が1KHzのキャリア信号波形であり、図3に示したものと同じ正弦波信号である。この場合、前述のようにサンプリング点を100ポイントおきに10個とっているので、1周期の最後のポイントはPNT=1000となっている。また、周波数が1KHzであるから、1周期はT=1msとなり、1ポイント分の周期は1ms/1000=1μsとなる。
【0046】
次に、同図(b)のように、1周期の最後においてサンプリング点のポイントを1000から1だけ進めてPNT=1001(実際にはPNT=1)にすると、1サイクルの周期T+1は
T+1=1ms−1μs=999μs=0.000999(s)
となる。このときキャリア信号の周波数fc+1は、
fc+1=1/T+1=1÷0.000999=1001.001001
≒1001(Hz)
となり、約1Hzだけ周波数が増加したことになる。
【0047】
一方、同図(c)のように、1周期の最後においてサンプリング点のポイントを1000から1だけ遅らせてPNT=999にすると、1サイクルの周期T−1は
T−1=1ms+1μs=1.001ms=0.001001(s)
となる。このときキャリア信号の周波数fc−1は、
fc−1=1/T−1=1÷0.001001=999.000999
≒999(Hz)
となり、約1Hzだけ周波数が減少したことになる。
【0048】
すなわち、PNTを1増減するとキャリア周波数はそれに応じて約1Hz増減することになる。従って、PNTをA増減した場合のキャリア周波数fcは
fc≒1000±A(Hz)
となる。なお、PNTの±1の変化によりキャリア信号の周波数が正確に±1Hz変化するわけではないが、信号処理の間にはキャリア周波数は常に増減しているので、正確な周波数変化値は必要とされない。
【0049】
以上のようにして、キャリア信号の1周期の最後(10個目のサンプリング時点)においてポイントを1000から増減することにより、補正値Aによる1Hz単位での粗調レベルの補正を行なう。この粗調レベルの補正は、毎周期ごとに行われる。たとえばA=1の場合は、10回のサンプリングごとにポイントを101進め、その他のサンプリング点では100ポイントずつ進める。
【0050】
再び図8へ戻って、上記の粗調レベルの補正(S29)を実行した後、微調レベルlevelが0より大きいか否かを判断する(S30)。微調レベルlevelは、キャリア周波数を0.1Hz単位で補正する場合に用いられる補正値であって、たとえばキャリア周波数を999.5Hzに調整する場合は、粗調レベルの補正値はA=−1、微調レベルの補正値はlevel=+5となる。このlevelの値は、周波数制御回路12において算出されるが、その算出方法については後述する。
【0051】
粗調レベルの補正が1周期単位で行われる補正であるのに対し、微調レベルの補正は、所定周期、たとえば10周期単位で行われる補正であって、levelの値は、10周期にわたってポイントを何点補正するかを表している。たとえば、level=1であれば、キャリア信号の10周期にわたって1ポイント(1Hz)が補正されることになり、これはA=1(1Hz)の粗調レベルの補正に比べて1/10(0.1Hz)単位の補正に相当する。
【0052】
さて、S30でlevelが0より大きい場合は(S30YES)、微調レベルの補正が必要な場合であり、levelから1を減算してPNTを1加算する(S36)。その後、微調レベルカウンタCNT2を1進める(S31)。一方、S30でlevelが0以下の場合は(S30NO)、微調レベルの補正が必要でない場合であり、S31へ移行してCNT2を1進める。
【0053】
なお、微調レベルの補正は10周期単位で行なう補正であるから、原理的には、図10(b)、(c)で述べたようなポイントの増減を、10周期目の最後で行なえばよいが、こうすると補正時に急激な位相の変化が生じるという問題がある。たとえば、微調レベルがlevel=5の場合には、最初の9周期はキャリア信号は1000Hzの波形となるが、最後の1周期だけ5Hzずれた波形となる。このため、最後にまとめて補正をするのではなく、S36において、粗調レベルの補正(S29)とあわせて、微調レベルの補正を前倒しで行なうことで、位相ができるだけ滑らかに変化するようにしている。
【0054】
すなわち、S36においては、levelの値から1を引いて、代わりにPNTに1を加算することで、微調レベルの補正のうちの1ポイント分がこの段階で前倒し補正される。この1ポイント分の補正は、実質的には粗調レベルの補正と同じである。そして、S36での補正は毎周期ごとに行われるから、微調レベルの補正値は、level=0になるまで、1周期ごとに1ずつ償却されてゆく。
【0055】
次に、CNT2が10になったか否かを判断する(S32)。CNT2が10になっていなければ(S32NO)、何もせずに終了し、図7のS4へ移行する。CNT2が10になれば(S32YES)、10周期の最後(100個目のサンプリング点)まで来たことになるので、次の10周期における微調レベルの補正値の設定を行なう。すなわち、周波数制御回路12において算出された補正値Bを用いて、これを新たな微調レベルの補正値levelとして設定し、同時にCNT2を0にリセットする(S33)。ここで、Bは0〜+9の値をとる。この補正値Bの算出方法については後述する。
【0056】
図9は、図7におけるS10(周波数同期)の詳細を示すフローチャートであって、周波数制御回路12の動作を表したものである。以下、これについて説明する。位相検出器10で検出された符号区間における位相差をDとし、Dの正負を判定する(S41)。Dが正であれば(S41NO)、Dから90を引いた値をDとし(S55)、Dが負であれば(S41YES)、Dに90を足した値をDとする(S42)。正常状態(周波数同期がとれている状態)ではDは±90°であるから、S42とS55のいずれにおいてもD=0となるが、周波数がずれてくるとDは±にシフトする。
【0057】
たとえば、正常状態で−90°となるべきところ、−100°の位相差が検出された場合は、S42で
D=−100+90=−10
となり、Dは−方向にシフトしている。また、正常状態で+90°となるべきところ、+100°の位相差が検出された場合は、S55で
D=+100−90=+10
となり、Dは+方向にシフトしている。このDの値を累積して位相ずれの累積値SUMを求める(S43)。また、同時に累積カウンタCNTを1加算する(S44)。
【0058】
続いて累積カウンタCNTの値が64になったか否かを判定する(S45)。この64という値は一例であって、この数値自体に特に意味はない。カウンタ値が64になっていなければ(S45NO)、何もせずに終了し、図7のS11へ移行する。カウンタ値が64になれば(S45YES)、カウンタCNTを0にリセットして(S46)、位相ずれの累積値SUMが0より大きいか否かを判定する(S47)。
【0059】
S47において、0<SUMの場合は、位相は+方向にシフトしていることになり、これは図6(b)に対応する状態であって、周波数に着目すると周波数が増加している状態であるから、キャリア周波数をそれに合わせて増加させるよう補正を行なう。
【0060】
すなわち、まずBを1加算する(S48)。Bは最初0からスタートし、64回SUMを累計するたびに、1つずつプラスしてゆく。Bの値が10になれば(S49YES)、Aに1を加算してBを0にクリアした後(S50)、SUMを0にクリアする(S51)。Bの値が10未満であれば(S49NO)、そのままSUMを0にクリアする(S51)。この結果、S49でBが10のときは、次の10周期におけるBの値(図8のS33参照)は0となり、S49でBが10未満のときは、そのときのBの値が次の10周期におけるBの値となる。また、Aについては、最初0からスタートし、S50で算出された値が、各周期の終り(10回目のサンプリング)の時点での補正値(図8のS29参照)となる。
【0061】
一方、S47においてSUM<0の場合は、位相は−方向にシフトしていることになり、これは図6(c)に対応する状態であって、周波数に着目すると周波数が減少している状態であるから、キャリア周波数をそれに合わせて減少させるよう補正を行なう。
【0062】
すなわち、まずBを1減算する(S52)。この場合もBは最初0からスタートし、64回SUMを累計するたびに、1つずつマイナスしてゆく。Bの値が0未満になれば(S53YES)、Aから1を減算してBを9にセットした後(S54)、SUMを0にクリアする(S51)。Bの値が0以上であれば(S53NO)、そのままSUMを0にクリアする(S51)。この結果、S53でBが0未満のときは、次の10周期におけるBの値は9となり、S53でBが0以上のときは、そのときのBの値が次の10周期におけるBの値となる。また、Aについては、上記の場合と同様に最初0からスタートし、S54で算出された値が各周期の終りの時点での補正値となる。
【0063】
また、S47においてSUM=0の場合は、何もせずに終了する。この場合は位相のシフトがない正常な状態であり、補正の必要がないからである。
【0064】
以上述べた図8および図9の動作を、キャリアの周波数をたとえば1KHzから999.5Hzに補正する場合にあてはめてみると、次のようになる。この場合は位相が−方向にずれている場合の補正であって、図9のS47での判定がSUM<0の場合に該当する。
【0065】
最初は、S52での結果はB=0−1=−1となる。したがって、S53での判定はYESとなり、A=0−1=−1、B=9となる。すなわち、キャリア周波数は999.9Hzとなる。次の周期での位相変化をみてSUM<0であれば、S52での結果はB=9−1=8となるので、S53での判定はNOとなり、Aの値は変わらずA=−1であり、Bの値はB=8となる。すなわち、キャリア周波数は999.8Hzとなる。さらに次の周期での位相変化をみてSUM<0であれば、S52での結果はB=8−1=7となるので、S53での判定はNOとなり、Aの値は変わらずA=−1であり、Bの値はB=7となる。すなわち、キャリア周波数は999.7Hzとなる。このようにして、1周期ごとに周波数を0.1Hzずつずらしてキャリアの周波数を補正する。そして、A=−1、B=5になったときが周波数を999.5Hzに補正する場合である。
【0066】
信号生成回路13では、上記補正値A、Bを参照してキャリア周波数の補正を行なう。すなわち、図8のS29において、A=−1であるからPNT=PNT−1となる。しかし、S30での判定はYES(level=5)であるから、S36においてPNT=PNT+1となり、PNTの値はもとに戻る。つまり、結果的に補正は行なわれない。また、S36でlevelの値をマイナス1する。最初から5周期目までの間は、S30の判定がYESとなるので、上記動作が繰り返され、levelの値が5ポイント分償却される。
【0067】
6周期目になると、S30の判定がNO(level=0)となるため、S36の処理は行なわれなくなる。一方、S29での処理はそのまま継続される。したがって、6周期目から10周期目までは、S29においてA=−1による補正が行なわれ、毎周期ごとに−1ポイントずつ補正が行なわれる。その結果、6〜10周期の間で合計−5ポイントの補正が行なわれることになる。この−5ポイントは、10周期にわたって補正すべきポイントの数であるから、10周期で周波数が5Hz減少することを意味する。したがって、1周期についてみると、周波数は0.5Hz減少することになり、結果的に、周波数は1KHzから999.5Hzに補正されたことになる。
【0068】
ここで、A=−1の補正を毎周期毎に10回行ない、B=5の補正を10周期の最後で1回だけ行なっても、トータルの補正ポイントは−10+5=―5となって、上記の場合と同じ結果となる。しかし、一度に5ポイントを補正するよりも、5回に分けて1ポイントずつ補正したほうが、前述したように位相の急激な変化を回避できる。位相が急激に変動すると、位相シフトした部分にたまたまノイズが入った場合に、そのノイズの影響が助長されるおそれがあるが、位相を徐々に変化させればそのような影響も少なく、S/N改善の点からみて有利である。
【0069】
以上のようにして、上記実施形態においては、信号テーブル15からサンプリング点を抽出して正弦波信号を生成するとともに、1周期の最後におけるサンプリング点のポイントを増減することにより信号周波数を制御する信号周波数制御装置16を設け、ポイントの増減を毎周期および10周期単位で行なうことで、キャリア周波数を粗調レベルと微調レベルの2段階で補正している。したがって、周波数を0.1Hz単位で補正することができるため、MSK信号のキャリア周波数が1Hz未満の範囲で微細に増減した場合でも、復調側のキャリア周波数をそれに追従させて補正することが可能となり、容易に周波数同期をとることができる。その結果、ビット誤りが減少してデータを正確に復調することができる。
【0070】
また、上記実施形態においては、周波数同期のほかにビット同期の処理をあわせて行なっているため、ビットの誤り率がより一層減少し、信頼性の高い装置となっている。
【0071】
なお、本発明は以上述べた実施形態のみに限定されるものではなく、他にも種々の形態を採用することが可能である。たとえば、図1のMSK復調装置としてはDSPにより構成されるものに限らず、図1の各ブロックの機能を備えたハードウエアの回路で構成してもよい。
【0072】
また、上記実施形態では、微調レベルの補正を10周期単位のみで行なったが、微調レベルの補正をさらに2段階に分け、たとえば10周期単位で行なう補正と100周期単位で行なう補正とを併用すれば、0.01Hz単位での一層きめ細かい周波数制御を行なうことが可能となる。
【0073】
また、上記実施形態では、信号テーブル15に1000ポイントのデータを記憶させたが、これは一例であって、ポイント数nは任意に設定することができる。また、上記実施形態では、信号生成にあたって信号テーブル15から10個のポイントを抽出したが、このポイント数mも任意に設定することができる。
【0074】
また、信号周波数制御装置16は、周波数の細かい制御をソフトウエア処理によって簡単に実現できるため、MSK復調以外の用途にも利用することができる。
【0075】
【発明の効果】
本発明によれば、キャリア信号の周波数の補正において、粗調レベルの補正値と微調レベルの補正値とを用いたことにより、キャリア信号の周波数を精度よく調整することができるので、MSK信号の細かな周波数変動に対しても容易に同期をとることができ、誤り率の低い高性能な装置が実現できる。
【0076】
また、正弦波のサンプリング点に対応して振幅値が記憶されたテーブルを設け、サンプリング点のポイントの増減により周波数を補正することにより、粗調レベルの補正と微調レベルの補正とを、ソフトウエア処理を用いて容易に実現することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るMSK復調装置のブロック図である。
【図2】図1の各部の波形図である。
【図3】キャリア信号の波形図である。
【図4】キャリア信号の振幅値を記憶したテーブルの図である。
【図5】位相検出の原理を示すベクトル図である。
【図6】ビットの符号周期のずれを説明する図である。
【図7】復調装置の一連の動作を表すフローチャートである。
【図8】キャリア信号生成の詳細を示すフローチャートである。
【図9】周波数同期の詳細を示すフローチャートである。
【図10】周波数の補正を説明するための波形図である。
【図11】MSK信号の波形図である。
【図12】符号区間における位相の変化を表した図である。
【図13】従来のMSK復調装置の基本的構成を示すブロック図である。
【符号の説明】
1 入力端子
2 A/Dコンバータ
3 帯域フィルタ
4 乗算器
5 乗算器
6 ローパスフィルタ
7 ローパスフィルタ
8 サンプリング回路
9 サンプリング回路
10 位相検出器
11 ビット同期回路
12 周波数同期回路
13 信号生成回路
14 90°移相器
15 信号テーブル
16 信号周波数制御装置
A 周波数補正値(粗調レベル)
B 周波数補正値(微調レベル)
Claims (4)
- MSK信号に同相成分のキャリア信号と直交成分のキャリア信号を掛け合わせて直交同期検波を行ない、その結果得られる同相成分のベースバンド信号(I信号)および直交成分のベースバンド信号(Q信号)から符号区間における位相差を検出し、この位相差に基づいてMSK信号を復調するとともに、前記位相差に基づいて前記キャリア信号の周波数を補正するMSK復調装置において、
正弦波の1周期におけるnポイントのサンプリング点のそれぞれに対応して振幅値が記憶されたテーブルを備え、このテーブルから所定間隔でmポイントを抽出して各ポイントに対応する振幅値を読み出すことにより前記キャリア信号を生成するとともに、粗調レベルの補正値と微調レベルの補正値に応じて前記正弦波の1周期の最後におけるサンプリング点のポイントを増減することにより、前記キャリア信号の周波数を補正することを特徴とするMSK復調装置。 - ポイントの増減をキャリア信号の毎周期単位で行なうことにより粗調レベルの補正を行ない、ポイントの増減をキャリア信号の所定周期単位で行なうことにより微調レベルの補正を行なう請求項1に記載のMSK復調装置。
- 粗調レベルの補正時に、微調レベルの補正値を順次償却して微調レベルの補正をあわせて行なう請求項2に記載のMSK復調装置。
- MSK信号に同相成分のキャリア信号と直交成分のキャリア信号を掛け合わせて直交同期検波を行ない、その結果得られる同相成分のベースバンド信号(I信号)および直交成分のベースバンド信号(Q信号)から符号区間における位相差を検出し、この位相差に基づいてMSK信号を復調するとともに、前記位相差に基づいて前記キャリア信号の周波数を補正するMSK復調装置において、
正弦波の1周期におけるnポイントのサンプリング点のそれぞれに対応して振幅値が記憶されたテーブルを備え、このテーブルから所定間隔でmポイントを抽出して各ポイントに対応する振幅値を読み出すことにより前記キャリア信号を生成するとともに、前記正弦波の1周期の最後におけるサンプリング点のポイントを増減することにより、当該キャリア信号の周波数を補正することを特徴とするMSK復調装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17507599A JP4010709B2 (ja) | 1999-06-22 | 1999-06-22 | Msk復調装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17507599A JP4010709B2 (ja) | 1999-06-22 | 1999-06-22 | Msk復調装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001007874A JP2001007874A (ja) | 2001-01-12 |
JP4010709B2 true JP4010709B2 (ja) | 2007-11-21 |
Family
ID=15989805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17507599A Expired - Fee Related JP4010709B2 (ja) | 1999-06-22 | 1999-06-22 | Msk復調装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4010709B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170414B (zh) * | 2011-05-17 | 2013-03-27 | 浙江瑞讯微电子有限公司 | 一种gfsk解调及定时同步联合方法 |
CN112583240B (zh) * | 2020-12-04 | 2024-04-26 | 武汉海德博创科技有限公司 | 一种适用于数字控制的变频查表算法 |
-
1999
- 1999-06-22 JP JP17507599A patent/JP4010709B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001007874A (ja) | 2001-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3390272B2 (ja) | 同期検波回路 | |
EP0940957A1 (en) | AFC circuit, carrier reproducing circuit, and receiver | |
US6191649B1 (en) | Quadrature demodulator and method for quadrature demodulation | |
JP3348660B2 (ja) | シンボル同期装置および周波数ホッピング受信装置 | |
JPH09168004A (ja) | デジタルpll装置 | |
JPH01196946A (ja) | 周波数制御装置 | |
JP4010709B2 (ja) | Msk復調装置 | |
KR102034343B1 (ko) | 고감도 및 동기 복조 신호들을 위한 통신 프로세스 및 시스템 | |
US6751270B1 (en) | Carrier frequency recovery apparatus capable of simultaneously reducing frequency offset and phase error and method of the same | |
US6597725B1 (en) | Carrier phase follower and frequency hopping receiver | |
JPH08265384A (ja) | 復調装置 | |
JP3080601B2 (ja) | 搬送波再生回路 | |
JP2001177586A (ja) | キャリア再生装置およびその方法 | |
JP2689579B2 (ja) | コスタスループ型復調器の疑似ロック検出回路 | |
JPH06216769A (ja) | Pll回路およびpll回路を有するデジタル復調回路 | |
KR970011691B1 (ko) | 변, 복조 시스템의 클럭복구장치 | |
JPS6330049A (ja) | Msk復調回路 | |
JP3074752B2 (ja) | 最小偏位変調波復調回路 | |
JP2912246B2 (ja) | 復調システム | |
JP3404326B2 (ja) | 搬送波再生回路、搬送波再生方法及び直交検波回路、直交検波方法 | |
JP3396047B2 (ja) | 受信装置 | |
JP2000101554A (ja) | サンプリングクロック再生回路 | |
KR100459158B1 (ko) | 아날로그/디지탈 통신 시스템에서의 반송파 복원장치 | |
JPH0758794A (ja) | 位相比較回路 | |
JPH11112590A (ja) | π/4シフトDQPSKデジタル復調器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050812 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070516 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070525 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070719 |
|
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: 20070904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070904 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130914 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140914 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |