(57)【特許請求の範囲】
【請求項１】
横軸及び縦軸を有する画面上で波形表示したときに連続する複数ポイントとして表示される元波形データを編集し、編集済波形データとしてメモリに記憶する波形編集方法であって、
上記元波形データの選択された連続ポイントの部分元波形データの夫々が所定量ずつ上記横軸又は上記縦軸に関してシフトした編集済部分波形データを上記メモリに記憶し、
上記元波形データ上の上記部分元波形データの一端から外側に連続する第１所定範囲が設定され、
上記元波形データ上の上記部分元波形データの他端から外側に連続する第２所定範囲が設定され、
上記第１所定範囲の第１スムージング元波形データの各ポイントのシフト量を、ポイント位置の所定の関数に基づいて計算し、この計算結果を上記編集済部分波形データの一端から外側に連続する第１スムージング編集済波形データとして上記メモリに記憶し、
上記第２所定範囲の第２スムージング元波形データの各ポイントのシフト量を、ポイント位置の所定の関数に基づいて計算し、この計算結果を上記編集済部分波形データの他端から外側に連続する第２スムージング編集済波形データとして上記メモリに記憶し、
上記第１及び第２スムージング編集済波形データと上記編集済部分波形データとが滑らかな編集済波形データとして生成されることを特徴とする波形編集方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリに記憶された元波形データを編集して編集済波形データを生成する波形編集方法に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
任意波形発生器は、波形メモリに波形データを記憶しておき、この波形メモリから読み出した波形データをデジタル・アナログ変換することによりアナログ波形信号を出力する。メモリに記憶する波形データの内容を任意に調整することにより任意の出力波形信号を発生することができる。この場合、操作者は、波形メモリに記憶された波形データをＣＲＴ（陰極線管）等の表示スクリーン上に表示し、この表示波形の形状を操作パネルを操作して任意に編集することにより所望の波形を生成することができる。
【０００３】
波形編集を実行する場合、表示波形の一部分を特定し、その特定の部分波形を横軸方向又は縦軸方向にシフトさせたり、拡大又は縮小表示させたりする操作が頻繁に行われる。その場合、シフトさせたり、拡大又は縮小させたりした特定の部分波形と元の波形とが重なったり離れたりすることにより、波形の不連続や空白部分が生じることがある。図６は、元の波形の一部分（点Ａから点Ｂまでの部分）を時間軸に沿って右方向にΔＴだけシフトさせたことにより、表示波形の空白部分と重複部分とが生じている。即ち、点ａから点Ａまでが空白部分であり、点ｂから点Ｂまでが重複部分である。このような波形の空白部分及び重複部分を任意に処理することより波形の編集を行うのであるが、例えば、図７に示すように、単純に直線で波形を連結した場合には、出力波形信号の変化が滑らかではなくなってしまう。出力波形信号の変化を滑らかに連続的に変化するようにしたければ、波形の空白部分及び重複部分を別々に編集し、滑らかな曲線で連結しなければならない。しかし、このような波形編集作業は相当に煩雑で、実際に滑らかな所望の波形を生成するのは時間のかかる面倒な作業であった。
【０００４】
したがって、本発明の目的は、元波形の一部分を編集する際に、連続的で滑らかな編集済波形が自動的に簡単に生成可能な波形編集方法を提供することである。
【０００５】
【課題を解決する為の手段】
本発明は、横軸及び縦軸を有する画面上で波形表示したときに連続する複数ポイントとして表示される元波形データを編集し、編集済波形データとしてメモリに記憶する波形編集方法である。この方法によれば、元波形データの選択された連続ポイントの部分元波形データの夫々が所定量ずつ横軸又は縦軸に関してシフトした編集済部分波形データをメモリに記憶し、元波形データ上の部分元波形データの一端から外側に連続する第１所定範囲が設定され、元波形データ上の部分元波形データの他端から外側に連続する第２所定範囲が設定され、第１所定範囲の第１スムージング元波形データの各ポイントのシフト量を、ポイント位置の所定の関数に基づいて計算し、この計算結果を編集済部分波形データの一端から外側に連続する第１スムージング編集済波形データとしてメモリに記憶し、第２所定範囲の第２スムージング元波形データの各ポイントのシフト量を、ポイント位置の所定の関数に基づいて計算し、この計算結果を編集済部分波形データの他端から外側に連続する第２スムージング編集済波形データとしてメモリに記憶する。この結果、第１及び第２スムージング編集済波形データと編集済部分波形データとが滑らかな編集済波形データとして生成される。なお、第１及び第２所定範囲は、任意に設定できる。
【０００６】
【発明の実施の形態】
図５は、本発明を適用するのに好適な任意波形発生器の構成の一例を示すブロック図である。この装置は、マイクロ・プロセッサ(μＰ）１０によりメイン・バス１２を介して制御され、ＲＯＭ及びＲＡＭを含んだシステム・メモリ１４に種々のパターンの波形データ及び制御ソフトウェア等が記憶されている。操作者は、操作パネル１６を介して種々の操作を実行する。出力波形メモリ１８は、操作者により作成された任意の波形データを記憶する。表示装置２０は当業者には周知のものであり、ＣＲＴ(陰極線管）又は液晶表示装置の如き表示スクリーン上に出力波形メモリ１８の内容及び操作者により設定された種々の条件、動作モード等の状態を表示する。出力回路２２は、出力波形メモリ１８から読み出された波形データをアナログ波形信号に変換して出力端子２４を介して出力する。本発明によれば、出力波形メモリ１８に記憶した波形データを読出し、表示装置２０のスクリーン上に波形を表示しつつ、操作者が波形の編集を実行する。したがって、編集中の波形のデータも出力波形メモリ１８の中の所定の記憶領域に記憶させ、元波形データを用いることにより、編集済波形データを生成する。元波形データをどのように用いるかについては、詳細に後述する。なお、出力波形メモリ１８とは別のハードウエアとして編集用波形メモリを設けて、編集中の波形データ及び編集済波形データを記憶させるようにしても良い。
【０００７】
図１は、本発明の波形編集方法の一例を説明するための波形図である。横軸が時間軸（各時間値はメモリの各アドレス値に対応）であり、縦軸は、各ポイントの電圧値を表す電圧軸である。時間軸上の１つのアドレスが１ポイントのデータに対応しており、１つの波形データは、例えば５１２ポイントとか１０２４ポイント等のデータ群で構成されている。図１の波形編集の様子は、図６の従来例の波形編集の様子に対応させ、説明の便宜を図っていることに留意されたい。すなわち、元波形の点ａ（アドレス値：ｍ）から点ｂ（アドレス値：ｎ）までの波形を時間軸に沿って右方向にΔＴだけシフトさせた場合を示している。この元波形の点ａから点ｂまでの部分を部分元波形（ａ〜ｂ）と表記し、ΔＴだけ右方向にシフトした後の点Ａ（アドレス値：ｍ＋ΔＴ）から点Ｂ（アドレス値：ｎ＋ΔＴ）までの部分波形を編集済部分波形（Ａ〜Ｂ）と表記する。部分元波形（ａ〜ｂ）の全てのポイントをΔＴずつシフトしたのが編集済部分波形（Ａ〜Ｂ）であり、両者の波形部分は同一の形状の波形で表されるので、図１では、部分元波形（ａ〜ｂ）の波形を便宜上表示していないことに留意されたい。
【０００８】
このように、部分元波形（ａ〜ｂ）を編集済部分波形（Ａ〜Ｂ）に移動させると、点ａと点Ａとの間が時間軸上で離間し、点ｂと点Ｂとの間が時間軸上で重複することになる。よって、本発明によれば、元波形と編集済部分波形（Ａ＋Ｂ）との間を滑らかに接続するために、元波形の点ａから点ｃまでの波形データを用いて、点Ａから点ｃまでを滑らかに接続する波形データを自動的に計算する。同様に、元波形の点ｂから点ｄまでの波形データを用いて点Ｂから点ｄまでを滑らかに接続する波形データも自動的に計算する。この結果、図１に太線で示すような、滑らかな曲線部分（ｃ〜Ａ）及び（Ｂ〜ｄ）が自動的に得られるので、操作者は、元波形の任意の部分を選択して、時間軸方向にずらすだけで、ずらした波形部分の両端と元波形とが自動的に滑らかに接続されるので、波形編集を極めて容易かつ迅速に行うことができる。
【０００９】
図１において、点ｃ（アドレス値：ｍ−ｓｍ）から点Ａ（アドレス値：ｍ＋ΔＴ）までの時間軸領域を第１スムージング領域という。また、点Ｂ（アドレス値：ｎ＋ΔＴ）から点ｄ（ｎ＋ΔＴ＋ｓｍ）までの時間軸領域を第２スムージング領域という。これら第１及び第２スムージング領域の範囲は、ｓｍの値を選択することにより、任意に設定できる。図１で太線で示した第１及び第２スムージング領域の部分波形（ｃ〜Ａ）及び（Ｂ〜ｄ）は、それぞれ元波形の（ｃ〜ａ）及び（ｂ〜ｄ）の部分波形データから自動的に計算されて得られもので、それぞれ第１スムージング編集済波形及び第２スムージング編集済波形と呼ぶ。例示として、元波形の部分波形（ｃ〜ａ）上の任意の点ｅのデータを所定関数で計算することにより、第１スムージング編集済波形（ｃ〜Ａ）上の点ｆのデータが求められる。すなわち、点ｅ及び点ｆの縦軸座標値は同じであり、点ｅ及び点ｆ間の横軸座標値（アドレス値）の差を変数ｙで表すと、この変数ｙは、点ｅの横軸座標（アドレス値）ｘの所定の３次関数とする。
【００１０】
図２は、図１の場合に対応して第１及び第２スムージング編集済波形部分を計算する方法を説明するための図である。横軸は、時間軸に対応する元波形データのアドレス値（変数ｘ）を表し、縦軸は、元波形データから編集済波形データまでのアドレスシフト量（変数ｙ）を表している。すなわち、元波形の点ａ（アドレス値：ｍ）から点ｂ（アドレス値：ｎ）までの部分の全ポイントは、ΔＴだけシフトされ、点Ａから点Ｂまでの編集済部分波形（Ａ〜Ｂ）に対応する線分で表している。本発明では、点ｃから点Ａまでを滑らかに接続する曲線を得る必要があるので、求める曲線は、点ｃにおいてｘ軸に接し、点Ａでは線分ＡＢに滑らかにつながるように、傾きが線分ＡＢと同じになる必要がある。図２では、線分ＡＢは水平な線分であるが、元波形の一部分を拡大したり縮小したりすると、部分波形の連続ポイントにおけるアドレスシフト量を拡大率又は縮小率に応じて変化させることになるので、線分ＡＢが傾く場合や曲線ＡＢとなる場合も生じ得る。したがって、点ｃと点Ａとを滑らかに接続する曲線の関数は、点ｃではｘ軸に接すること及び点Ａでは線分（又は曲線）ＡＢの点Ａにおける傾きに一致した傾きになることを条件とする。この条件を満たす簡単な関数は、３次式で一義的に求めることができる。すなわち、ｘ座標軸のｘ0の点でｘ軸に接し、かつ、点（ｘ1，ｙ1）を傾きＫで通る３次式は、以下の数式１で表される。
【数１】
ｙ＝ｐ*(ｘ−ｘ0)*(ｘ−ｘ0)*(ｘ−ｑ)
ただし、
ｐ＝｛Ｋ*(ｘ1−ｘ0)−２*ｙ1｝／(ｘ1−ｘ0)**３
ｑ＝ｘ1−ｙ1*(ｘ1−ｘ0)／｛Ｋ*(ｘ1−ｘ0)−２*ｙ1｝
ここで、「*」は乗算、「**」は累乗、「／」は除算を表す。
【００１１】
もちろん、図２のように線分ＡＢが水平な直線の場合には、点Ａにおける傾きＫ＝０となる。上記数式１を図２の場合に適用するには、次の数式２のように置換するだけで容易に適用できる。
【数２】
ｘ0＝（ｍ−ｓｍ）
ｘ1＝ｍ
ｙ1＝ΔＴ
これと同様に、図２の点Ｂから点ｄまでの第２スムージング波形の各ポイントのデータも３次式の計算から容易に求めることができる。なお、図２のように、点Ａにおける傾きがゼロの場合には、上述の３次関数を必ずしも採用する必要はなく、例えば、余弦波（コサイン）関数や正弦波（サイン）関数等を採用しても良い。
【００１１】
図３は、本発明による他の実施の形態の例を示す図である。図３では、元波形の部分波形（ａ〜ｂ）を縦軸（電圧軸）方向にΔＶだけ平行移動させた場合に、その平行移動後の編集済部分波形（Ａ〜Ｂ）の両端の点Ａ及び点Ｂと元波形上の点ｃ及び点ｄとを夫々滑らかに接続する場合を示している。ここで、元波形上の部分波形（ａ〜ｂ）は図示していないが、この部分波形の平行移動後の編集済部分波形（Ａ〜Ｂ）と同一の形状であることに留意されたい。また、縦軸方向に元波形上の部分波形（ａ〜ｂ）を平行移動させているので、元部分波形（ａ〜ｂ）上の各ポイントと編集済部分波形（Ａ〜Ｂ）上の各ポイントとは、夫々が同一のアドレス値に対応している。ここで、点ａ（アドレス値：ｍ）から点ｃ（アドレス値：ｍ−ｓｍ）までの範囲を第１スムージング領域とし、点ｂ（アドレス値：ｎ）から点ｄ（アドレス値：ｎ＋ｓｍ）までの範囲を第２スムージング領域とする。これら第１及び第２スムージング領域は、「ｓｍ」のアドレス範囲を調整することにより、任意にアドレス範囲を設定できる。編集済部分波形（Ａ〜Ｂ）一端の点Ａから元波形上の点ｃまでの太線で示した曲線部分が第１スムージング編集済波形（Ａ〜ｃ）である。同様に、点Ｂから点ｄまでの太線で示した曲線部分が第２スムージング編集済波形である。
【００１２】
図３において、元部分波形（ａ〜ｃ）上の点ｅから第１スムージング編集済波形（Ａ〜ｃ）上の対応点ｆまでの電圧シフト量をＺとすると、この電圧シフト量Ｚは、横軸のアドレス値Ｘの所定の関数で計算することにより与えられる。この結果、第１スムージング編集済波形（Ａ〜ｃ）は、点Ａから点ｃまでを滑らかな曲線で接続する。同様に、点Ｂから点ｄまでの第２スムージング編集済波形（Ｂ〜ｄ）も、点ｂから点ｄまでの元波形部分（ｂ〜ｄ）上の各ポイントのアドレス値Ｘから所定の関数に従って自動的に計算され、点Ｂから点ｄまでが太線で示した滑らかな曲線により自動的に接続される。ここで、これら第１及び第２スムージング編集済波形を計算するための関数は、種々のものが考えられる。例えば、図１及び図２の場合に採用した３次関数を用いても良いし、正弦波関数や余弦波関数等を用いても良い。
【００１３】
図４は、図３における第１及び第２スムージング編集済波形の電圧シフト量Ｚとアドレス値Ｘとの関係を示す図である。編集済部分波形（Ａ〜Ｂ）の部分の全てのポイントは、元波形部分（ａ〜ｂ）の対応ポイントから一律にΔＶだけ平行移動させているので、図４では、水平な線分ＡＢとして表される。一方、太線の曲線で示した第１スムージング編集済波形（Ａ〜ｃ）は、点Ａ〜点ｃ間を滑らかな曲線で接続するように、電圧シフト量Ｚが変化する所定の関数で自動的に計算される。同様に、第２スムージング編集済波形（Ｂ〜ｄ）は、点Ｂ〜点ｄ間を滑らかに接続するように、所定の関数に従って自動的に計算される。この図４の例では、所定の関数として余弦（コサイン）関数を採用している。もちろん、上述のような３次関数でも良いし、正弦関数その他の適当な関数を用いても良い。
【００１４】
図４において、点ｃのＸ座標をＸ1とし、点ＡのＸ座標をＸ2とすると、第１スムージング編集済波形（Ａ〜ｃ）上における電圧シフト量Ｚは、以下の数式３で表される。
【数３】
Ｚ＝ΔＶ*｛cos[(Ｘ-Ｘ2)*π／(Ｘ2-Ｘ1)]＋１｝／２
この数式３を図３及び図４に適用するには、以下数式４のように置換すればよい。
【数４】
Ｘ1＝ｍ−ｓｍ
Ｘ2＝ｍ
【００１５】
同様にして、図４の第２スムージング編集済波形（Ｂ〜ｄ）についても以下の数式５に従って計算できる。ここで、点ＢのＸ座標をＸ3、点ｄのＸ座標をＸ4とする。
【数５】
Ｚ＝ΔＶ*｛cos[(Ｘ-Ｘ3)*π／(Ｘ4-Ｘ3)]＋１｝／２
同様に、以下の数式６のように置換する。
【数６】
Ｘ3＝ｎ
Ｘ4＝ｎ＋ｓｍ
【００１６】
上述のように、本発明によれば、元波形の一部分を横軸方向に移動させた場合、または縦軸方向に移動させたりした場合、元波形と移動済の波形との間を自動的に滑らかに接続する曲線の波形データを計算することができるので、容易かつ迅速に滑らかな波形を編集生成することが可能となり、極めて操作性の優れた波形編集方法を提供している。
【００１７】
以上、本発明の好適実施例を説明したが、本発明は、上述の実施例のみに限定されるものではなく、本発明の要旨から逸脱することなく、種々の変形及び修正を加え得ることは当業者には明らかである。特に、上述の３次関数や余弦関数等は、単なる例示であり、本発明はこれらの関数に限定されるものではないことに留意すべきである。
【図面の簡単な説明】
【図１】本発明の波形編集方法を例示するための波形図である。
【図２】図１の場合に対応して第１及び第２スムージング編集済波形部分を計算する方法を説明するための図である。
【図３】本発明の波形編集方法の他の例を示すための波形図である。
【図４】図３の場合に対応して第１及び第２スムージング編集済波形部分を計算する方法を説明するための図である。
【図５】本発明を用いるのに好適な任意波形発生器の構成の一例を示すブロック図である。
【図６】従来の波形編集方法において元波形の一部分を横軸方向に移動させた場合の一例を示す波形図である。
【図７】図６の場合に元波形と移動済波形部分とを直線で接続した場合の例を示す波形図である。
【符号の説明】
（Ａ〜ｃ）  第１スムージング編集済波形
（Ａ〜Ｂ）  編集済部分波形
（Ｂ〜ｄ）  第２スムージング編集済波形
【図１】
0004012949.tif 000002
【図２】
0004012949.tif 000003
【図３】
0004012949.tif 000004
【図４】
0004012949.tif 000005
【図５】
0004012949.tif 000006
【図６】
0004012949.tif 000007
【図７】
0004012949.tif 000008