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