JP3539164B2 - 波形発生器 - Google Patents
波形発生器 Download PDFInfo
- Publication number
- JP3539164B2 JP3539164B2 JP30945097A JP30945097A JP3539164B2 JP 3539164 B2 JP3539164 B2 JP 3539164B2 JP 30945097 A JP30945097 A JP 30945097A JP 30945097 A JP30945097 A JP 30945097A JP 3539164 B2 JP3539164 B2 JP 3539164B2
- Authority
- JP
- Japan
- Prior art keywords
- waveform
- output
- data
- band
- saw
- 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
- Electrophonic Musical Instruments (AREA)
Description
【発明の属する技術分野】
本発明は、鋸歯状波や矩形波あるいは三角波等のパルス波形データをデジタル処理により発生する波形発生器に関する。
【0002】
【従来の技術】
アナログシンセサイザにおいては、押圧された鍵盤に応じた電圧を発生させ、該電圧に基づいて積分器等により構成されたVCO(Voltage Controlled Oscillator)から鋸歯状波や矩形波等の単純な波形を発生させて、それをVCF(Voltage Controlled Filter)やVCA(Voltage Controlled Amplifier)を用いて音色や音量の調整を行うようにしていた。このようなアナログシンセサイザは、アナログ動作であるためにその動作が不安定となりやすく、現在では、ほとんどのシンセサイザがデジタルシ処理によるものに置き換わっている。
しかしながら、アナログシンセサイザは特有の音質を有しており、近年では、デジタル処理によりアナログシンセサイザの発生する楽音を発生させることが望まれている。
【0003】
【発明が解決しようとする課題】
デジタル処理によりVCO波形を発生する方法として、フィードバックFM方式や波形メモリ方式が知られている。
フィードバックFM方式では、得られる鋸歯状波(SAW:Saw-Tooth Wave)波形に歪みがあり、上下非対称となっておりDC成分が存在している。したがって、RING変調器や他のVCOの周波数変調にこのSAW波形を用いた場合には、前述したアナログ方式の動作とは異なる出力となってしまう。
また、波形メモリ方式を採用した場合には、帯域制限した複数の波形を周波数に応じて滑らかにつなぐことが困難であり、LFO(Low Frequency Oscillator)で過激に周波数を変更したりしたときなどに、波形の繋ぎ目の不連続がノイズとなって聞こえてしまうという問題点があった。
さらに、鋸歯状波や三角波等のVCO波形をデジタル処理により発生させる場合には、波形のエイリアジング(aliasing:重複歪)をいかにして抑えるかが重要な課題となる。すなわち、デジタル処理によりVCO波形を発生させる場合には、波形の不連続点において急峻に変化するサンプル値が出力され、高周波成分を非常に多く含んだ波形データとなり、ここで折り返し歪が発生することとなる。
【0004】
そこで本発明は、上述した問題点を解決し、エイリアジングもなく、アナログシンセサイザにおける波形との相似性もよく、波形の不連続も生じない波形発生器を提供することを目的としている。すなわち、往年のアナログシンセサイザ風の音色には欠かせない鋸歯状波、パルス波形等の波形をデジタルで合成するための新規なアルゴリズムを提供することを目的としている。
【0005】
【課題を解決するための手段】
上記目的を達成するために、本発明の波形発生器は、デジタル処理により所定のパルス波形データを発生するパルス波形発生手段と、前記パルス波形に対して所定の帯域制限を施した場合における前記パルス波形に対する修正データを発生する修正データ発生手段と、前記パルス波形における不連続点の近傍のサンプリング点についてのみ前記修正データ発生手段の出力に基づいて前記パルス波形発生手段の出力を修正する修正手段とを有するものである。
また、本発明の他の波形発生器は、デジタル処理により鋸歯状波波形データを発生するパルス波形発生手段と、帯域制限された鋸歯状波波形と帯域制限されていない鋸歯状波波形との比に対応する修正データを発生する修正データ発生手段と、前記発生される鋸歯状波波形における不連続点の近傍のサンプリング点についてのみ前記鋸歯状波波形データと前記修正データとを乗算する修正手段とを有するものである。
【0006】
さらに、本発明のさらに他の波形発生器は、デジタル処理により鋸歯状波波形データを発生するパルス波形発生手段と、ステップ波形と帯域制限されたステップ応答波形との差分に対応する修正データを発生する修正データ発生手段と、前記発生される鋸歯状波波形における不連続点の近傍のサンプリング点について前記鋸歯状波波形データから前記修正データを減算する修正手段とを有するものである。
さらにまた、本発明のさらに他の波形発生器は、デジタル処理により矩形波波形データを発生するパルス波形発生手段と、ステップ波形と帯域制限されたステップ応答波形との差分に対応する修正データを発生する修正データ発生手段と、前記発生される矩形波波形における不連続点の近傍のサンプリング点について前記矩形波波形データから前記修正データを減算する修正手段とを有するものである。
【0007】
【発明の実施の形態】
以下、本発明の波形発生器の各実施の形態について説明するが、本発明の波形発生器はハードウエアにより実現することができるだけではなく、DSP(Digital Signal Processor)等を用いてソフトウエアあるいはファームウエアにより実現することができるものである。
まず、図1を参照して本発明の波形発生器の一実施の形態である帯域制限された鋸歯状波を発生する鋸歯状波波形発生器の一構成例について説明する。図1において、(a)はこの鋸歯状波(SAW)波形発生器の一実施の形態の機能構成を示すブロック図、(b)および(c)はその要部における波形の一例を示す図である。ここで、(b)は周波数の低いSAW波形を発生する場合における前記図1(a)のA〜Eで示す各部の波形を示しており、(c)は同じく周波数の高いSAW波形を発生する場合の上記各部の波形を示している。なお、ここでは、出力される鋸歯状波の振幅が−1〜+1の範囲に正規化されているものとして説明する。
【0008】
図1の(a)において、1は発生する鋸歯状波の繰り返し周波数(ピッチ)を決定する周波数ナンバ(fナンバ)が入力される入力端子であり、この周波数ナンバfとして、0≦f≦1の値が入力される。ここで、この周波数ナンバfは、たとえば14ビットの2進数で指定され、これにより0.1セント単位で発生する鋸歯状波の繰り返し周波数を設定することができる。
また、2は前記入力端子1から入力される周波数ナンバfと遅延回路3の出力とを加算する加算器である。なお、本発明においては2種類の加算器が使用されている。第1の種類の加算器は、加算結果がその桁数をオーバーフローしてもそれを無視して加算を実行し、加算結果として最大値に対する剰余を出力する加算器(モジュロ加算器、図中moと記載)であり、第2は、加算結果がオーバーフローしたときにそれ以降の加算結果が最大値に固定されるオーバーフロー検出タイプの加算器(図中ovと記載)である。ここで、前記加算器2は前記モジュロ加算器とされている。また、3は該加算器2の出力信号を1サンプリング周期だけ遅延する遅延回路であり、前記加算器2およびこの遅延回路3によりデジタルの積分回路が構成される。この加算器2の出力Aはサンプリング周期毎にfずつ増加していき、該加算器がオーバーフローすると再びはじめから加算が開始される。これにより、該加算器2の出力Aは、周波数ナンバfにより決定される繰り返し周波数を有する鋸歯状波波形データとなる。
【0009】
ここで、前記加算器2から出力される鋸歯状波波形Aは帯域制限を受けておらず、図1の(b)および(c)中に示すように不連続点を有する波形データとなっており、エイリアジングを含むものとなっている。本発明のこの実施の形態においては、このエイリアジングを含む鋸歯状波波形データAを乗算器11に入力し、前記不連続点の前後において窓関数テーブル10から読み出される修正データDと乗算することにより、エイリアジングのない理想的な鋸歯状波波形データEを出力するようにしている。この修正データ(窓関数)の詳細については後述するが、この窓関数は、所定の通過帯域特性を有するSAW波形と帯域制限を受けていないSAW波形との商に対応するデータとされている。
【0010】
以下、このような修正データDを出力するための構成について説明する。
4は前記入力端子1からの周波数ナンバfを入力とし、その逆数に比例する数(R/f)を出力する逆数テーブル、5は前記加算器2の出力と定数「−1」とを加算するモジュロ加算器、6は前記加算器5の出力Bと前記逆数テーブル4の出力(R/f)とを乗算する乗算器、7は該乗算器6の出力に対し定数sを乗算するシフタ、8は該シフタ7の出力の振幅を−1〜+1に制限するリミッタ、9は前記リミッタ8の出力が入力されその絶対値を出力する絶対値回路である。
この絶対値回路9の出力Cは、前記窓関数テーブル10にアドレスとして入力され、該窓関数テーブル10から対応する修正データDが出力される。
【0011】
このような構成において、前記加算器5の出力Bは、図(b)および(c)に示すように前記加算器2の出力Aの位相を180°シフトした波形となり、前記加算器2から出力される帯域制限されていない鋸歯状波波形データAにおける不連続点の位置が加算器5の出力Bにおいてはゼロクロス点の位置に変換されている。なお、この鋸歯状波の傾きはサンプリング周期Fsごとに周波数ナンバfだけ増加するため、f/Fsである。
一方、前記逆数テーブル4からはR/fが出力され、前記乗算器6の出力は前記波形データBをR/f倍したものとなり、さらに、シフタ7において定数sが乗算されて、前記リミッタ8には前記波形データBをR・s/f倍した波形が入力される。
ここで、前記波形Bの傾きはf/Fsであるため、前記シフタ7の出力の傾きは(f/Fs)×(R・s/f)=R・s/Fsとなり、周波数ナンバfにかかわらず一定の値となる。そして、この出力はリミッタ8において±1でリミットされ、絶対値回路9を介して、その出力Cが前記窓関数テーブル10のアドレスとされている。したがって、出力Cの傾斜部分が前記乗算器11におけるSAW波形の不連続部に対する修正が行われる部分となる。
【0012】
この修正が行われる部分の幅は2Fs/(R・s)となり、この部分において前記窓関数テーブル10から読み出されるサンプル数Nは、N=2/(R・s)となる。ここで、係数Rは窓関数テーブルを等速で読み出すことの可能な最低周波数とされており、定数sの大きさにより窓関数の読み出しサンプル数Nを任意の値に設定することができる。
なお、サンプル数Nを多くとるほど、帯域制限のカットオフスロープを急峻なものとすることが可能となるが、逆に、高い周波数においては窓関数を途中までしか読むことができなくなる。したがって、窓関数を全部読むことが可能な周波数では、エイリアスをかなり少なく、あるいは、ほとんど0とすることができるが、ある周波数以上では急に増加することとなる。一方、Nを小さくした場合は、ある程度のエイリアスは生じるが、高い周波数になっても急に増加することはない。一般に、VCOの場合は、ナイキスト周波数の近くまでの周波数の信号を出力することが必要とされるため、N=4程度とNを小さくとる場合が多い。
【0013】
このようにしてSAW波形Aの不連続点の前後において、該窓関数テーブル10から対応する修正データDが読み出され、前記乗算器11において前記加算器2からのSAW波形と乗算されて、修正されたSAW波形Eが出力される。図の(b)および(c)に示すように、該出力Eは、傾斜部においては直線となり、不連続部においては通過周波数帯域が制限された理想的なSAW波形となっている。
【0014】
図2は、前記窓関数テーブル10に格納される窓関数(修正データ)を生成するための構成の一例を説明するための図である。
この図において、21は周波数帯域を設定するための周波数応答設定部である。この周波数応答設定部21に設定する周波数帯域特性としては、通過域が平坦な通常の低域通過周波数特性であってもよいし、あるいは、所定の音色特性を付加するために所定の通過域特性を有するものとしてもよい。
【0015】
22は前記周波数応答設定部21において設定された周波数特性を逆フーリエ変換して時間領域の信号に変換する逆FFT(Fast Fourier Transform)部、23は前記逆FFT部22の出力信号の時間応答を制限するための窓となるウインドウ部である。また、24は前記ウインドウ部23により制限された時間応答信号を再び周波数領域の信号に変換するFFT部である。
さらに、25は通常の帯域制限されていないSAW波形を出力するSAW波形出力部であり、26は該SAW波形出力部25から出力されるSAW波形を周波数領域の信号に変換するFFT部である。
【0016】
27は、前記FFT部24から出力される周波数応答特性と前記FFT部26から出力されるSAW波形の周波数領域の信号とを複素乗算する複素乗算器である。28は前記複素乗算器27の出力を時間領域に変換する逆FFT部であり、この逆FFT部28からSAW波形に前記周波数応答設定部21において設定された通過帯域特性が付加されたSAW波形が出力されることとなる。
29は、前記逆FFT部28から出力される所定の通過帯域特性が付加されたSAW波形(x)と、前記SAW波形出力部25からの帯域制限されていないSAW波形(y)とを除算し、商(x/y)を出力する除算器である。この除算器29の出力が、前記窓関数テーブル10に格納される。このとき、前記窓関数はオーバーシュートする波形となるため、前記窓関数テーブル10に格納するときには、最大値が「1」となるようにすることが必要である。
【0017】
上述のように窓関数は、帯域制限されたSAW波形(x)と帯域制限されていないSAW波形(y)との比(x/y)となっているため、前記図1の(a)における乗算器11において前記加算器2から出力される当該周波数のSAW波形とこの窓関数とを乗算することにより、不連続部において所望の通過帯域特性が付加されたSAW波形サンプルデータを出力することが可能となる。
【0018】
なお、前記窓関数を算出するときには、サンプリング周波数よりも高いサンプリング周波数を用いて算出するようにする。このようにオーバサンプリングするほど、読み出しの精度を向上させることができる。例として、N=16、窓関数のサイズ(FFTのサイズ)を4096(実際のサイズはその半分の2048)とすると、オーバサンプリング比Orは、Or=4096/16=256となるので、通過周波数帯域はその1/256以下に設定して窓関数を生成する。
また、N=4、サイズ4096のときは、Or=1024となるので、帯域は1/1024以下とする。このとき、R=1/512であるとすると、s=256となる。
【0019】
以上のように、この実施の形態のSAW波形発生器によれば、発生するSAW波形の周波数によらず不連続部において周波数帯域が制限された理想的なSAW波形を得ることができる。
【0020】
なお、前記図1の(a)に示した実施の形態においては、前記周波数ナンバfを0≦f≦1としたが、これに限らず、正負の周波数ナンバfを用いるようにすることもできる。すなわち、図3は、この実施の形態におけるSAW波形発生器の要部構成を示す図である。この場合には、周波数ナンバfが−1≦f≦1とされるため、前記逆数テーブル4の入力側に図示するように絶対値回路14を設ければよい。その他の構成は、前記図1の(a)の場合と同一の構成でよい。
また、前記逆数テーブル4のかわりに、係数Rを前記周波数ナンバで割り算する割算器を用いるようにしてもよい。
【0021】
さらに、前記窓関数(修正データ)は、前記図2に示した方法以外の方法によっても生成することができる。図4は、この窓関数を生成する方法の他の例を示す図である。この方法は、帯域制限されたステップ応答を求めて、これを窓関数として使用するものである。
図4において、31はSINC関数(SINC(x)=(sinπx)/πx)生成部であり、このSINC関数生成部31からは、一定周波数範囲のスペクトラム振幅関数が一定である場合のインパルス応答に対応する信号が出力される。32は、前記SINC関数生成部31の出力を必要十分な時間範囲に制限するウインドウ部であり、このウインドウ部32からは時間範囲を制限されたインパルス応答波形が出力される。33はステップ波形を生成するステップ波形生成部である。前記ウインドウ部32から出力される時間範囲を制限されたSINC関数と前記ステップ波形生成部33から出力されるステップ波形は畳込み演算部34において畳込み積分され、該畳込み積分演算結果のうちの所定の部分が切り出されて、窓関数テーブルに格納される。
このように、所定の周波数帯域に制限されたステップ波形から、前記窓関数を生成するようにしてもよい。
【0022】
次に、本発明の波形発生器の他の実施の形態のSAW波形発生器について説明する。前記図1の(a)に示した実施の形態がSAW波形に対して修正データを乗算することにより所望の帯域制限を受けたSAW波形を生成していたのに対し、この実施の形態は、SAW波形に対し所定の修正データを加算することにより所望の帯域制限を受けたSAW波形を生成するようにしたものである。
【0023】
この実施の形態のSAW波形発生器の構成について説明する前に、まず、この実施の形態の動作原理について図5を参照して説明する。
図5の(a)はSAW波形の成り立ちを説明する図であり、この図に示すように、SAW波形aは、ランプ波形とタイミングがずらされた複数のステップ波形の和で構成されているということもできる。
したがって、図5の(b)に示すように、帯域制限されたSAW波形xは、ランプ波形とタイミングがずらされた複数の帯域制限されたステップ応答波形の和から得ることができる。
以上のことから、図5の(c)に示すように、帯域制限されたSAW波形を得るためには、SAW波形aからステップ波形bと帯域制限されたステップ応答波形cとの差d(=b−c)を減算すればよい。
したがって、図5の(d)に示すように、aのすべての立ち下がりにつき、a−dの計算を行うことにより、帯域制限されたSAW波形xを得ることができる。
【0024】
図6はこのような原理に基づいて構成されたSAW波形発生器の一構成例を示すブロック図であり、図7はそのA〜Hで示す部分における波形の一例を示す波形図である。
図6において、51は発生すべきSAW波形の周波数を決定する周波数ナンバfが入力される入力端子であり、この入力端子51から例えば0≦f≦1の周波数ナンバfが入力される。この周波数ナンバfはモジュロ加算を行う加算器52の一方の入力に印加され、該加算器52の他方の入力には1サンプリング周期(Fs)だけ該加算器52の出力を遅延する遅延回路53の出力が入力されている。この加算器52と遅延回路53によりデジタル積分回路が構成されており、サンプリング周期ごとにfが累算され、前記加算器52がオーバーフローしたときに再び初期値に戻って該累算が繰り返される。これにより、前述した実施の形態の場合と同様にして帯域制限されていない鋸歯状波波形データAが出力される。
【0025】
前記加算器52から出力される帯域制限されていないSAW波形Aは、遅延回路54に入力される。この図に示した例においては、後述する差分テーブル66から4サンプルの修正データを読み出すものとしているため、前記遅延回路54は2サンプリング周期だけ前記SAW波形Aを遅延するものとされている。この遅延回路54を通過した帯域制限されていないSAW波形Aは乗算器73において定数「0.5」を乗算された後、波形の修正を実行する加算器74に入力され、該加算器74において差分テーブル66から読み出された修正データHと加算されて、所定の帯域制限されたSAW波形Iが出力端子75から出力されることとなる。この差分テーブル66には、前記図5に示したステップ波形と帯域制限されたステップ応答波形との差の波形d(=b−c)に対応するデータが格納されている。
【0026】
さて、前記加算器52から出力される帯域制限されていないSAW波形Aは、モジュロ加算を行う加算器56において定数「−1」と加算され、位相が180°シフトされて、図7にBで示す波形が該加算器56から出力される。この図7の波形Aと波形Bとを比較してわかるように、波形Aの不連続部が波形Bのゼロクロス点となっている。
また、前記入力端子51から入力される周波数ナンバfは、逆数テーブル55に入力され、該逆数テーブル55からは前記周波数ナンバfを引数としてその逆数に対応する数1/(f・s)が出力される。なお、この逆数テーブル55に代えて除算を実行する演算器を用いてもよい。
前記加算器56から出力される波形データBと前記逆数テーブル55の出力1/(f・s)は乗算器57において乗算され、さらにシフタ58において定数sと乗算される。該シフタ58の出力は、加算器59において定数「0.5」と乗算され、さらに加算器60において定数「−1」と加算される。この加算器60の出力は、切替スイッチ62のS端子に印加される。
【0027】
前記切替スイッチ62は、前記モジュロ加算器52におけるオーバーフローを検出するオーバーフロー検出部61の出力vにより制御され、該オーバーフローが検出されたときにS(セット)端子を選択し、その他のときはC(クリア)端子を選択するように制御される。このC端子には、前記切替スイッチ62の出力に対して定数「0.5」を加算するオーバーフロータイプの加算器63の出力を1サンプリング周期だけ遅延する遅延回路64の出力が接続されている。
また、前記切替スイッチ62の出力は絶対値回路65に入力され、該絶対値回路62の出力が差分テーブル66にアドレスとして入力されている。該差分テーブル66の出力は、バッファ増幅器67を介して前記加算器74に入力されている。このバッファ増幅器67は、制御信号に基づいて入力信号をそのままの極性あるいは極性を反転して出力するものとされている。
【0028】
また、前記オーバーフロー検出部61の出力vは第2の切替スイッチ68に切り替え制御信号として入力されており、該第2の切替スイッチ68のS端子には定数「0.75」が印加されており、C端子には該切替スイッチ68の出力に対して定数「0.5」を加算する加算器69の出力を1サンプリング周期だけ遅延する遅延回路70の出力が接続されている。この第2の切替スイッチ68の出力は、入力信号の振幅を−1〜+1に制限するリミッタ72に入力されており、該リミッタ72の出力が前記バッファ増幅器67に制御信号として印加されている。
【0029】
さてこのように構成されたSAW波形発生器において、図7のAに示すように、前記加算器52の出力はサンプリング周期(Fs)ごとにfずつ加算され、SAW波形は傾きf/Fsで上昇していく。そして、タイミング5において前記加算器52においてオーバーフローが発生したとする。このとき、発生されるSAW波形の不連続点は図中にアで示した位置にある。このオーバーフローが発生したタイミング5における前記加算器56の出力の値をPとすると、SAW波形の傾斜部の傾きはf/Fsであるので、SAW波形Aの不連続部は前記タイミング5よりも(P/f)・Fsだけ前の位置にあること、すなわち、不連続部の位相はP/f=T(0≦T<1)だけ前にずれていることがわかる。このように、オーバーフロー発生タイミングにおける前記加算器56の出力値Pから、当該SAW波形Aの不連続部の位相のずれを検出できる。
【0030】
このように加算器52においてオーバーフローが発生し前記オーバーフロー検出部61からオーバーフロー検出信号vが出力された時点においては、前記シフタ58の出力はP/f=Tとなり、前記加算器60から0.5T−1が前記切替スイッチ62のS端子に印加されている。前記切替スイッチ62によりS端子が選択され、この値0.5T−1が、当該不連続部に対応する修正データHを出力するための差分テーブル66の読み出しアドレスの初期値となる。
【0031】
図8を参照して、前記差分テーブル66からのデータの読み出しについて説明する。実際には、差分データは図9に示す様な形のデータとなるが、このデータは原点に対して点対称であるため、差分テーブル66には、その0〜+1のデータのみを格納してある。この実施の形態においては、この差分テーブル66からN=4サンプルのデータを読み出すようにしており、また、差分テーブル66の読み出し位相をサンプリング周期に対してTだけ進めることが必要となる。4サンプルで差分テーブルのアドレスを1から−1まで振るためには、1サンプルあたりの該アドレスの増加分は、(1−(−1))/4=0.5となる。したがって、差分テーブルを位相Tだけ進んで読むために、テーブルの読み出しアドレスの初期値を0.5T−1としている。
【0032】
さて、前記切替スイッチ62は、前記加算器52においてオーバーフローが発生したタイミング以外のタイミングでは、前記C端子を選択する。したがって、前記切替スイッチ62からは、図7のDに示すように、初期値を0.5T−1とし、以後サンプル周期ごとに0.5ずつ増加される出力が得られる。この切替スイッチ62の出力は絶対値回路65に入力され、該絶対値回路65の出力は差分テーブル66にアドレスとして入力され、該差分テーブル66から当該不連続点の前後2サンプル分の差分データが読み出されることとなる。
【0033】
なお、前述のように、前記差分テーブル66には前記差分データdの一部(0≦x≦1)のみを格納するようにしている。したがって、修正時に、前記差分テーブル66の出力を前記帯域制限されていないSAW波形から減算するか加算するかを決定することが必要となる。このために、前記切替スイッチ68,加算器69、遅延回路70からなるカウンタ、シフタ71およびリミッタ72が設けられており、オーバーフローした後2サンプルは引き算、それ以後は足し算となるように制御される。
【0034】
すなわち、前記切替スイッチ68のS端子には定数「−0.75」が印加されており、前記切替スイッチ68の出力は、−0.75,−0.25,0.25,0.75・・・とカウントされ、シフタ71において定数「4」を乗算され、リミッタ72において−1〜1の範囲の値に制限される。したがって、前記リミッタ72の出力は、−1,−1,1,1,・・・となる。この信号はバッファ増幅器67に印加され、該信号が−1のときは前記バッファ増幅器67の出力はその極性が反転されて、前記信号が1のときはそのままの極性で出力される。このバッファ増幅器67の出力は加算器74に一方の入力として印加され、他方の入力として印加される前記乗算器73の出力と加算される。
したがって、オーバーフローした後2サンプルは前記差分テーブル66の出力が前記帯域制限されないSAW波形に対して引き算され、それ以後のサンプルについては前記差分テーブル66の出力が足し算されることとなる。このようにして、帯域制限されないSAW波形に対する修正処理が行われる。
【0035】
なお、差分テーブル66に上述のような形で差分データを格納しているのは、次のような理由による。すなわち、該差分データを図9に示すように不連続な形で格納した場合には、初期値を求める際の誤差により0付近で正になるべき値が負になったり、あるいはその逆に負になるべき値が正になったりすることがあり、これはノイズの原因となる。したがって、本実施の形態においては、上述したように差分データを格納し、前述したようにカウンタを用いて正しい極性で修正演算を実行させている。
【0036】
さて、上記実施の形態においては、差分テーブル66から4サンプル読み出しているために、オーバーフローが4サンプルに一度以上発生する周波数、すなわちFs/4=FN/2以上の周波数においてはエイリアスが増加するという問題点がある。そこで、このような問題点を回避するようにした実施の形態について説明する。
図10はこの実施の形態の一構成例を示すブロック図である。この実施の形態は、前記図6の実施の形態における差分テーブルを読み出すための手段(図6中の破線で囲まれた部分)を複数個設けてそれらを順番に使用することにより、前述の問題を回避している。
一般に、差分テーブルからNサンプルを読み出す場合は、N/2個の差分テーブル読み出し手段が設けられているときにはFNまでの周波数を再生することが可能である。図10に示した実施の形態においては、差分テーブル読み出し手段を2個用い、差分テーブルの読み出しを交互に行っている。
【0037】
図10において、前記図6と同一の構成要素には同一の番号を付して説明の重複を避けることとする。この図において、100および101は差分テーブル読み出し手段であり、それぞれ、前記図6に破線で囲んだ差分テーブル読み出し手段と対応している。
また、81は前記オーバーフロー検出部61の出力vに応じて、入力端子SとCとを切り替えて出力する切替スイッチ、82は前記切替スイッチ81の出力を1サンプリング周期だけ遅延して前記入力端子Cおよびモジュロ加算器83に出力する遅延回路、83は前記遅延回路82の出力と定数「−1」とを加算して前記入力端子Sに出力するモジュロ加算器である。また、84は前記切替スイッチ81から出力されるの符号の正負を検出する符号検出部である。この符号検出部84の出力nは、差分テーブル読出し手段100および101にそれぞれ設けられている切替スイッチ85、86、90および97に切替制御信号として供給される。
【0038】
前記切替スイッチ81は、前記オーバーフロー検出部61からオーバーフロー検出信号vが出力されたときに入力端子Sを選択し、その他のタイミングでは入力端子Cを選択するようになされている。今、前記モジュロ加算器52がオーバーフローし、前記オーバーフロー検出部61からオーバーフロー信号vが出力されたとする。このとき、該オーバーフロー信号vにより前記切替スイッチ81がs入力端子側に接続される。前記モジュロ加算器83は−1から+1の間の値を出力する。ここで、オーバーフロー検出前に前記遅延回路82の出力が正(0から+1)のデータであるときには、前記加算器83の出力は負の値となり、前記入力端子Sを介して前記切替スイッチ81の出力は負の値となり、該負の出力は前記遅延回路82に入力され、次にオーバーフローが検出されるまで、該負の値が保持される。このとき、前記符号検出部84からは負を表す出力信号nが出力される。すなわち、オーバーフロー検出前の正を表す出力信号に代えて、負の出力信号が出力されることとなる。
【0039】
一方、前記オーバーフロー検出時点の前に前記遅延回路82の出力が負の値(−1から0間での値)であったときは、該負の値と「−1」とのモジュロ加算により、前記モジュロ加算器83はオーバーフローしてその出力は正の値となる。したがって、前記入力端子Sを介して正の信号が選択され、前記符号検出部84の出力は正を表す信号となり、この正の信号が前記遅延回路82を介して次のオーバーフローの検出まで保持されることとなる。
以上のように、前記切替スイッチ81、遅延回路82およびモジュロ加算器83による回路の出力は、前記モジュロ加算器52においてオーバーフローが発生するごとに正から負あるいは負から正へと切り替えられる。
【0040】
したがって、前記符号検出回路84の出力nは、オーバーフローが発生するごとに正負が切り替えられる。この出力nは、前述のように、前記差分テーブル読出手段100における切替スイッチ85および86、前記差分テーブル読出手段101における切替スイッチ90および97に制御信号として印加され、各切替スイッチは、前記出力nが正に対応する信号であるときには「+」側に接続され、負に対応する信号であるときには「−」側に接続される。
図10には、前記出力nが正であり、前記切替スイッチ85、86、90および97が「+」側に接続されている場合が示されている。この場合には、前記切替スイッチ85および86が「+」側に接続されているため、差分テーブル読出手段100は前記図6における差分テーブル読出手段と同一の接続となり、前記図6について説明したと同様に、当該オーバーフローの検出時点から4サンプルの差分データの読出が行われることとなる。
【0041】
一方、前記差分テーブル読出手段101においては、切替スイッチ87の出力が前記切替スイッチ90の「−」側に接続され、また、切替スイッチ94の出力が前記切替スイッチ97の「−」側に接続されている。したがって、図10に示したように、符号検出部84の出力が正に対応する信号であり、切替スイッチ90および97が「+」側に接続されている状態においては、前記オーバーフロー検出部61の出力vにより、切替スイッチ87および94がs側に接続されても、該切替スイッチ87および94の出力は、前記切替スイッチ90および97において選択されず、絶対値回路91の入力およびシフタ98の入力には、なんらの影響もない。
すなわち、前記符号検出部84の出力が正に対応する信号のときは、前記差分テーブル読出手段100が当該オーバーフロー検出信号に対応して動作することとなる。
【0042】
次に、再び前記モジュロ加算器52においてオーバーフローが発生し、前記オーバーフロー検出部61からオーバーフロー信号vが出力されたときは、前述のように前記切替スイッチ81の出力が負の信号となり、前記符号検出部84から負に対応する信号が出力される。これにより、前記切替スイッチ85、86、90および97は「−」側に切り替えらる。これにより、前記差分テーブル読出手段100においては、前記切替スイッチ62および68の出力が前記切替スイッチ85および86の出力に接続されず、一方、前記差分テーブル読出手段101においては前記切替スイッチ87および94の出力がそれぞれ前記切替スイッチ90および97に接続されることとなる。
これにより、このオーバーフローの検出に対応して差分テーブル92から差分データが読出され、バッファ増幅器93を介して前記加算器74において当該オーバーフローに対する修正処理が実行されることとなる。
【0043】
このように、複数の差分テーブル読出し手段100,101を設け、これらを前記モジュロ加算器52のオーバーフローごとに交互に切り替えて使用することにより、1回のオーバーフローに対応する差分テーブルの読出しサンプル数Nによるエイリアスに対する影響をなくすことが可能となる。したがって、Nを十分に大きくとり、それに見合った数の差分テーブル読出し手段を設けることにより、エイリアスを理想的にまで低減することが可能となる。
【0044】
さらに、この方法を矩形波の発生に適用することもできる。この方法を、矩形波の発生に適用する場合の概念図を図11に示す。図11に示すように、元波形である帯域制限されていない矩形波に対し、図示するような立ち上がり、立ち下がりに対応する差分データを順次用いて修正することにより、所望の帯域制限された矩形波を発生することができる。ただし、矩形波の場合には立ち上がりと立ち下がりの両方について修正を行うことが必要となるので、前述したSAW波形の場合の2倍の頻度でテーブル読出しをすることが必要となる。あるいは、同数のテーブル読み出しを行うものとした場合には、上限周波数がSAW波形の場合の1/2になる。
【0045】
さらにまた、前記図10に示したSAW波形発生器において、前記差分テーブル読出しの部分をステップ応答波形の読出しに変え、さらに、奇数個のテーブル読出し手段を用いるようにすることにより、デューティ可変な矩形波を発生させる矩形波発生器とすることも可能である。デューティ可変な矩形波を発生させる場合には、デューティを変化させたときにサンプリング周期よりも短いパルス幅となってしまうことがある。このような場合であっても、帯域制限された矩形波を発生させることが可能である。
【0046】
図12は、この実施の形態の概略を説明するための図である。この図において、(a)は発生する矩形波の一例を示しており、この図に示すような、サンプリング周期よりも幅の狭いパルスを発生するときには、図中のAで示すパルスについては出力が発生されないこととなってしまう。これを防ぐために、図の(b)に示すように、当該矩形波の立ち上がり位置に対応した不連続部を有するSAW波形Cとそれより当該パルス波形のパルス幅だけ遅れたSAW波形Dとを前述したように発生させ、それらの不連続部をオーバーフロー検出部111で検出する。そして、奇数個(図示する例においては3個)のステップ読み出し部112〜114を設け、これらのステップ読み出し部112〜114を用いて、前記オーバーフロー検出部111からのオーバーフロー検出信号に対応して、順次立ち下がりあるいは立ち上がりに対応する帯域制限されたステップ応答波形を読み出すようにし、これらからの出力を加算器115において加算して帯域制限された幅の狭いパルス波形を出力する。
【0047】
例えば、図12の(b)に示すSAW波形Cの不連続部(1)に対応するオーバーフロー検出部111の出力により、第1のステップ読み出し部112から立ち下がりのステップ波形を読み出し、SAW波形Dの不連続部(2)に対応して第2のステップ読み出し部113から立ち上がりに対応するステップ波形を読み出す。次に、SAW波形Cの不連続部(3)に対応して第3のステップ読み出し部114から立ち下がりに対応するステップ波形を読み出し、SAW波形Dの不連続部(4)に対応して前記第1のステップ読み出し部から立ち上がりに対応するステップ波形を読み出すようにする。すなわち、各ステップ読み出し部111〜113はそれぞれ立ち下がり、立ち上がり波形を交互に読み出すようになされている。
このように、奇数個のステップ読み出し部を設け、順次、立ち下がりおよび立ち上がりのステップ波形を読み出すことにより、1サンプル周期内において立ち上がりと立ち下がりが生じるような幅の狭いパルス波形についても、所定の帯域制限を受けた波形を生成することが可能となる。
【0048】
図13は、この実施の形態において実行される処理のフローチャートを示す図である。ここで、fは、次に読み出すステップ波形が立ち上がり波形であるのか立ち下がり波形であるのかを指示するためのフラグであり、f=0のときは次に読み出すのは立ち下がり波形であることを表わし、f=1のときは次に立ち上がり波形を読み出すことを表している。
【0049】
この処理が開始されると、まず、ステップS11において、前記フラグfが0であるか否かを判定する。この結果YESのときはステップS12に進み、前記SAW波形C(図12(b))のオーバーフローが発生したかどうか判定する。ここで、オーバーフローが発生したときは、ステップ読み出し部112〜114のいずれか(これらは、順番に起動される)に対し、前記フラグfにより指示されている立ち下がり波形の読出を起動し(S13)、前記フラグfを1にセットする(S14)。そして、ステップS18に進む。
一方、前記S12においてSAW波形のオーバーフローが検出されなかったときも、次のステップS18に進む。
また、前記ステップS11においてフラグfが0でない場合は、S15に進み、遅れたSAW波形Dのオーバフローが発生したかどうか判定する。ここで、オーバフローが発生したときは、ステップ読み出し部112〜114のいずれかに対し、フラグfで指示される立ち上がりの波形読み出しを起動し(S16)、フラグfを0にクリアする(S17)。
前記S15でオーバフローしなかった場合は、ステップS18に進む。
【0050】
ステップS18以下は、前記S11〜S17と全く同様の処理を行う。これは、1サンプル内に、立ち上がりと立ち下がり(または、その逆)が、同時に存在する可能性があるためである。
このようにして、奇数個設けられたステップ読み出し部に対して、順次、立ち下がりあるいは立ち上がりステップ波形の読出を行わせることにより、前述したパルス幅の狭いパルス波形を発生させることができる。
【0051】
次に、本発明のさらに他の実施の形態について説明する。この実施の形態は、帯域制限された三角波を発生させるものである。図14は、この実施の形態について説明するための図面であり、図14の(a)はその機能構成の概略を示すブロック図、(b)は(a)に示すブロック図の各部における出力波形を示す図である。この図において、121は周波数ナンバfを入力するための入力端子であり、−1〜+1の間の周波数ナンバfがこの端子121から入力される。122は前記周波数ナンバfと遅延回路123からの出力を加算するモジュロ加算器、123は前記モジュロ加算器122の出力を1サンプリング周期だけ遅延する遅延回路である。このモジュロ加算器122と遅延回路123によりデジタル積分回路が構成されており、その出力Aは帯域制限されていないSAW波形となる。
【0052】
124は前記モジュロ加算器122の出力Aをアドレスxとして、対応する正弦波出力y(y=−sinπx)を出力するサインテーブルである。このサインテーブル124からは、同図(b)に示すような正弦波出力Bが出力される。125は前記正弦波出力Bと定数「2/π」とを乗算する乗算器であり、このように2/πを乗算するのは、出力される三角波と正弦波の傾きの最大値を同じにするためである。なお、この乗算器125は必ずしも設けなくてもよい。
126は、前記モジュロ加算器122の出力Aと定数「−0.25」とをモジュロ加算する加算器であり、この加算器126の出力は前記出力Aを90°だけ位相シフトした出力Cとなる。
【0053】
127は、前記モジュロ加算器126の出力Cが入力され、その絶対値を出力する絶対値回路、128は該絶対値回路127からの絶対値出力に対し「−0.5」を加算する加算器、129は該加算器128の出力に対し定数「2」を乗算するシフト回路であり、このシフト回路129の出力Dは図の(b)に示すような出力Dとなる。前記絶対値回路127からは前記出力Cを0レベルで折り返した0〜+1の振幅を有する三角波が出力され、前記加算器128においてこの三角波を−0.5〜+0.5の振幅を有する三角波にレベルシフトし、さらに、前記シフト回路129において、定数2を乗算することにより、該三角波の振幅を−1〜+1に変換してDに示す三角波としている。
【0054】
130は、前記周波数ナンバfに対応して補間係数kを出力する補間係数発生部であり、例えば、k=a・f+b(a,bは定数)等の式に基づいて、補間係数kを出力する。この補間係数kは、後述するように、発生する三角波の頂点に対応する部分を正弦波により補間して帯域制限を加えるときの修正量を決定する係数であり、例えば、周波数ナンバfが小さく、発生すべき三角波の周波数が低いときは、補間係数kの値を小さくして補間量の少ない三角波を出力し、周波数ナンバfが大きく高い周波数の三角波を発生するときには大きな値の補間係数を発生して、サイン波による修正量を大きくするようになされている。
【0055】
131は前記シフト回路129からの帯域制限されていない三角波と前記補間係数発生部130から出力される補間係数kとを乗算する乗算器であり、132は前記乗算器125から出力される正弦波波形と前記補間係数発生器130からの補間係数kとを乗算する乗算器である。また、133は、前記乗算器132から出力される前記正弦波波形B×k、前記シフト回路129から出力される三角波D、および、前記乗算器131の出力D×kの極性の反転した波形を加算する加算器である。これにより、前記加算器133の出力は、k・B+D−k・D=k・B+(1−k)・Dとなる。これにより、前記補間係数kにより決定される混合比に従って、正弦波で補間された三角波波形出力Eが得られることとなる。
【0056】
このように、この実施の形態によれば、発生する周波数に応じて帯域制限された三角波を発生することが可能となり、エイリアジングを防止することが可能となる。
なお、前記補間係数発生部130としては、前述したような演算式を用いて周波数ナンバfに対応する補間係数kを演算出力するものに限られることはなく、例えば、テーブルを参照するタイプのものとすることもできる。
【0057】
【発明の効果】
以上説明したように、本発明の波形発生器によれば、波形レベルで帯域制限された鋸歯状波、矩形波、三角波等のパルス波形データを発生させることが可能となる。また、そのときに、発生する波形のピッチにかかわらず、不連続点の帯域を制限した理想的な波形を出力させることが可能となり、アナログシンセサイザ風の音色を発生させることができる。
【図面の簡単な説明】
【図1】本発明の波形発生器の一実施の形態である鋸歯状波発生器の一構成例を示すブロック図およびその各部の波形の例を示す図である。
【図2】図1に示した鋸歯状波発生器における窓関数を生成するための手段を説明するための図である。
【図3】図1に示した鋸歯状波発生器の変形例を示す図である。
【図4】図1に示した鋸歯状波発生器における窓関数を生成するための他の手段を説明するための図である。
【図5】本発明の波形発生器の他の実施の形態である鋸歯状波発生器の他の構成例の原理を説明するための図である。
【図6】図5に示した原理に基づいて構成された鋸歯状波発生器の構成例を示す図である。
【図7】図6に示した鋸歯状波発生器の各部の波形の一例を示す図である。
【図8】図6に示した鋸歯状波発生器における差分テーブルの読み出しを説明するための図である。
【図9】図6に示した鋸歯状波発生器における修正データについて説明するための図である。
【図10】高いピッチの鋸歯状波波形データを発生することができるようになされた鋸歯状波発生器の構成例を示すブロック図である。
【図11】本発明の波形発生器の他の実施の形態である矩形波発生器の原理を説明するための図である。
【図12】本発明の波形発生器のさらに他の実施の形態であるサンプリング周期よりも短いパルス幅を有する矩形波発生器の動作原理を説明するための図である。
【図13】図12に示した矩形波発生器の動作を説明するためのフローチャートである。
【図14】本発明の波形発生器のさらに他の実施の形態である三角波発生器の一構成例を示すブロック図と、その各部の波形の一例を示す図である。
【符号の説明】
1、51、121 入力端子、2、5、52、56、60、63、69、74、83、88、95、115、122、126、128、133 加算器、3、53、54、64、70、82、89、96、123 遅延回路、4、55 逆数テーブル、6、11、57、59、73、125、131、132 乗算器、7、58、71、98、129 シフタ、8、72、99 リミッタ、9、13、65、91、127 絶対値回路、10 窓関数テーブル、12、75、134 出力端子、21 周波数応答設定部、22、28 逆FFT部、23、32ウインドウ部、24、26 FFT部、25 SAW波形発生部、27 複素乗算部、29 除算部、31 SINC関数発生部、33 ステップ波形発生部、34 たたみこみ演算部、61、111 オーバーフロー検出部、62、68、81、85、86、87、90、94、97 切替スイッチ、66、92 差分テーブル、67、93 バッファ増幅器、84 符号検出部、112〜114ステップ読み出し部、124 サインテーブル、120 補間係数発生部
Claims (4)
- デジタル処理により所定のパルス波形データを発生するパルス波形発生手段と、
前記パルス波形に対して所定の帯域制限を施した場合における前記パルス波形に対する修正データを発生する修正データ発生手段と、
前記パルス波形における不連続点の近傍のサンプリング点についてのみ前記修正データ発生手段の出力に基づいて前記パルス波形発生手段の出力を修正する修正手段と
を有することを特徴とする波形発生器。 - デジタル処理により鋸歯状波波形データを発生するパルス波形発生手段と、
帯域制限された鋸歯状波波形と帯域制限されていない鋸歯状波波形との比に対応する修正データを発生する修正データ発生手段と、
前記発生される鋸歯状波波形における不連続点の近傍のサンプリング点についてのみ前記鋸歯状波波形データと前記修正データとを乗算する修正手段と
を有することを特徴とする波形発生器。 - デジタル処理により鋸歯状波波形データを発生するパルス波形発生手段と、
ステップ波形と帯域制限されたステップ応答波形との差分に対応する修正データを発生する修正データ発生手段と、
前記発生される鋸歯状波波形における不連続点の近傍のサンプリング点について前記鋸歯状波波形データから前記修正データを減算する修正手段と
を有することを特徴とする波形発生器。 - デジタル処理により矩形波波形データを発生するパルス波形発生手段と、
ステップ波形と帯域制限されたステップ応答波形との差分に対応する修正データを発生する修正データ発生手段と、
前記発生される矩形波波形における不連続点の近傍のサンプリング点について前記矩形波波形データから前記修正データを減算する修正手段と
を有することを特徴とする波形発生器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30945097A JP3539164B2 (ja) | 1997-10-27 | 1997-10-27 | 波形発生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30945097A JP3539164B2 (ja) | 1997-10-27 | 1997-10-27 | 波形発生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11133966A JPH11133966A (ja) | 1999-05-21 |
JP3539164B2 true JP3539164B2 (ja) | 2004-07-07 |
Family
ID=17993150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30945097A Expired - Fee Related JP3539164B2 (ja) | 1997-10-27 | 1997-10-27 | 波形発生器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3539164B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021039276A (ja) | 2019-09-04 | 2021-03-11 | ローランド株式会社 | 楽音発生方法、及び楽音発生装置 |
-
1997
- 1997-10-27 JP JP30945097A patent/JP3539164B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11133966A (ja) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2623942B2 (ja) | 楽音信号発生装置 | |
JP2001298368A (ja) | 圧縮方法及び装置、伸長方法及び装置、圧縮伸長システム、記録媒体 | |
JPH0792995A (ja) | リアル・タイム・ピッチ・シフティングを行う信号処理システムおよびその方法 | |
JP3760385B2 (ja) | 2次補間のための方法および装置 | |
JPWO2006131962A1 (ja) | アナログ/デジタル変換装置およびデジタル/アナログ変換装置 | |
JPH0823231A (ja) | Fm変調回路 | |
JPH1050001A (ja) | 再生装置および方法 | |
JP3539164B2 (ja) | 波形発生器 | |
JPH0431233B2 (ja) | ||
US5892692A (en) | Method for generating a lookup table for a digital oscillator | |
US5936438A (en) | Digital oscillator using lookup table with multiple cycles | |
US6894966B1 (en) | Interpolation circuit | |
JP3399272B2 (ja) | 楽音発生装置および楽音発生方法 | |
JP3206773B2 (ja) | ディジタル信号処理型直交変調器 | |
JP3566613B2 (ja) | トーンジェネレータ及びデジタルトーン生成方法 | |
JP3097379B2 (ja) | 効果付与装置 | |
JPH05276035A (ja) | デジタル/アナログ変換器 | |
JPH0792970A (ja) | 音程変動付加装置 | |
US6518801B1 (en) | Alias suppression method for 1-bit precision direct digital synthesizer | |
JPH0710411Y2 (ja) | 信号発生器 | |
JPH06289876A (ja) | 波形データ補間装置 | |
JP2671648B2 (ja) | ディジタルデータの補間装置 | |
JP2004309980A (ja) | 楽音信号処理装置 | |
JP3106530B2 (ja) | 電子楽器の楽音発生装置 | |
JPH0690637B2 (ja) | 補間方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031215 |
|
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: 20040302 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040315 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120402 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |