JPH11133966A - Waveform generator - Google Patents

Waveform generator

Info

Publication number
JPH11133966A
JPH11133966A JP9309450A JP30945097A JPH11133966A JP H11133966 A JPH11133966 A JP H11133966A JP 9309450 A JP9309450 A JP 9309450A JP 30945097 A JP30945097 A JP 30945097A JP H11133966 A JPH11133966 A JP H11133966A
Authority
JP
Japan
Prior art keywords
waveform
data
output
generating
band
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.)
Granted
Application number
JP9309450A
Other languages
Japanese (ja)
Other versions
JP3539164B2 (en
Inventor
Kazufumi Takeuchi
千史 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP30945097A priority Critical patent/JP3539164B2/en
Publication of JPH11133966A publication Critical patent/JPH11133966A/en
Application granted granted Critical
Publication of JP3539164B2 publication Critical patent/JP3539164B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PROBLEM TO BE SOLVED: To generate waeform data limiting the band area, by a digital processing. SOLUTION: By integrating a frequency number f to specify the pitch of a generating waveform by a digital integrator which consists of an adder 2 and a delay circuit 3, a serrate waveform data A is produced. This waveform data A is multiplied with a correcting data output from a window function table 10, in a multiplier 11, so as to output a serrate waveform data E receiving a specific band area limitation. The window function table 10 stores a data corresponding to the error between the serrate waveform and the serrate waveform having the band area limitation, and by reading the window function table 10 through an adder 5 to shift the phase 180 deg. in order to make the discontinuous point of the serrate waveform data A to a cross point; a multiplier to multiply the output of the adder 5 with the output of an inverse table 4; a shifter 7; a limiter 8; and an absolute valve circuit 9; a specific number of sample values before and after the discontinuous point of the serrate waeform can be read out.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、鋸歯状波や矩形波
あるいは三角波等のパルス波形データをデジタル処理に
より発生する波形発生器に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a waveform generator for generating pulse waveform data such as a sawtooth wave, a rectangular wave or a triangular wave by digital processing.

【0002】[0002]

【従来の技術】アナログシンセサイザにおいては、押圧
された鍵盤に応じた電圧を発生させ、該電圧に基づいて
積分器等により構成されたVCO(Voltage Controlled
Oscillator)から鋸歯状波や矩形波等の単純な波形を
発生させて、それをVCF(Voltage Controlled Filte
r)やVCA(Voltage Controlled Amplifier)を用い
て音色や音量の調整を行うようにしていた。このような
アナログシンセサイザは、アナログ動作であるためにそ
の動作が不安定となりやすく、現在では、ほとんどのシ
ンセサイザがデジタルシ処理によるものに置き換わって
いる。しかしながら、アナログシンセサイザは特有の音
質を有しており、近年では、デジタル処理によりアナロ
グシンセサイザの発生する楽音を発生させることが望ま
れている。
2. Description of the Related Art In an analog synthesizer, a voltage corresponding to a pressed keyboard is generated, and a VCO (Voltage Controlled) constituted by an integrator or the like is generated based on the voltage.
Oscillator) generates a simple waveform such as a sawtooth wave or a square wave and converts it into a VCF (Voltage Controlled Filte).
r) and a VCA (Voltage Controlled Amplifier) to adjust the tone and volume. The operation of such an analog synthesizer is likely to be unstable because it is an analog operation, and at present, most of the synthesizers have been replaced with digital synthesizers. However, an analog synthesizer has a unique sound quality, and in recent years, it has been desired to generate a musical tone generated by the analog synthesizer by digital processing.

【0003】[0003]

【発明が解決しようとする課題】デジタル処理によりV
CO波形を発生する方法として、フィードバックFM方
式や波形メモリ方式が知られている。フィードバックF
M方式では、得られる鋸歯状波(SAW:Saw-Tooth Wa
ve)波形に歪みがあり、上下非対称となっておりDC成
分が存在している。したがって、RING変調器や他の
VCOの周波数変調にこのSAW波形を用いた場合に
は、前述したアナログ方式の動作とは異なる出力となっ
てしまう。また、波形メモリ方式を採用した場合には、
帯域制限した複数の波形を周波数に応じて滑らかにつな
ぐことが困難であり、LFO(Low Frequency Oscillat
or)で過激に周波数を変更したりしたときなどに、波形
の繋ぎ目の不連続がノイズとなって聞こえてしまうとい
う問題点があった。さらに、鋸歯状波や三角波等のVC
O波形をデジタル処理により発生させる場合には、波形
のエイリアジング(aliasing:重複歪)をいかにして抑
えるかが重要な課題となる。すなわち、デジタル処理に
よりVCO波形を発生させる場合には、波形の不連続点
において急峻に変化するサンプル値が出力され、高周波
成分を非常に多く含んだ波形データとなり、ここで折り
返し歪が発生することとなる。
SUMMARY OF THE INVENTION By digital processing, V
As a method of generating a CO waveform, a feedback FM system and a waveform memory system are known. Feedback F
In the M method, the obtained sawtooth wave (SAW: Saw-Tooth Wa
ve) The waveform is distorted, is vertically asymmetric, and has a DC component. Therefore, when this SAW waveform is used for frequency modulation of a RING modulator or another VCO, an output different from that of the above-described analog operation is obtained. When the waveform memory method is used,
It is difficult to smoothly connect a plurality of band-limited waveforms according to the frequency, and LFO (Low Frequency Oscillat
When the frequency is changed drastically in (or), there is a problem that the discontinuity of the joint of the waveform is heard as noise. Furthermore, VC such as sawtooth wave and triangle wave
When generating an O waveform by digital processing, it is an important issue how to suppress aliasing (aliasing) of the waveform. That is, when a VCO waveform is generated by digital processing, a sample value that changes sharply at a discontinuous point of the waveform is output, resulting in waveform data containing a very large amount of high frequency components, and aliasing distortion occurs here. Becomes

【0004】そこで本発明は、上述した問題点を解決
し、エイリアジングもなく、アナログシンセサイザにお
ける波形との相似性もよく、波形の不連続も生じない波
形発生器を提供することを目的としている。すなわち、
往年のアナログシンセサイザ風の音色には欠かせない鋸
歯状波、パルス波形等の波形をデジタルで合成するため
の新規なアルゴリズムを提供することを目的としてい
る。
SUMMARY OF THE INVENTION It is an object of the present invention to provide a waveform generator which solves the above-mentioned problems, has no aliasing, has good similarity to a waveform in an analog synthesizer, and does not cause waveform discontinuity. . That is,
It is an object of the present invention to provide a novel algorithm for digitally synthesizing waveforms such as sawtooth waves and pulse waveforms, which are indispensable for the tone of a classic analog synthesizer.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、本発明の波形発生器は、デジタル処理により所定の
パルス波形データを発生するパルス波形発生手段と、前
記パルス波形に対して所定の帯域制限を施した場合にお
ける前記パルス波形に対する修正データを発生する修正
データ発生手段と、前記パルス波形における不連続点の
近傍のサンプリング点において、前記修正データ発生手
段の出力に基づいて前記パルス波形発生手段の出力を修
正する修正手段とを有するものである。また、前記所定
のパルス波形データは鋸歯状波波形データであり、前記
修正データ発生手段は帯域制限された窓関数データを発
生する窓関数テーブルであり、前記修正手段は前記パル
ス波形と前記窓関数テーブルの出力データとを乗算する
乗算器とされているものである。さらに、前記所定のパ
ルス波形データは鋸歯状波波形データであり、前記修正
データ発生手段はステップ波形と帯域制限されたステッ
プ応答との差分に対応する修正データを発生するもので
あり、前記修正手段は前記鋸歯状波波形データから前記
修正データを減算する減算器とされているものである。
In order to achieve the above object, a waveform generator according to the present invention comprises: a pulse waveform generating means for generating predetermined pulse waveform data by digital processing; Correction data generating means for generating correction data for the pulse waveform when the band is limited; and generating the pulse waveform based on the output of the correction data generation means at a sampling point near a discontinuous point in the pulse waveform. Correction means for correcting the output of the means. Further, the predetermined pulse waveform data is sawtooth waveform data, the correction data generating means is a window function table for generating band-limited window function data, and the correction means includes the pulse waveform and the window function. This is a multiplier that multiplies the output data of the table. Further, the predetermined pulse waveform data is sawtooth waveform data, and the correction data generating means generates correction data corresponding to a difference between a step waveform and a band-limited step response. Is a subtractor for subtracting the correction data from the sawtooth waveform data.

【0006】さらにまた、前記所定のパルス波形データ
は矩形波波形データであり、前記修正データ発生手段は
ステップ波形と帯域制限されたステップ応答との差分に
対応する修正データを発生するものであり、前記修正手
段は前記矩形波波形データから前記修正データを減算す
る減算器とされているものである。さらにまた、本発明
のさらに他の波形発生器は、帯域制限されたステップ応
答に対応するデータを発生する手段を奇数個有し、それ
らを順に起動することにより帯域制限された矩形波を発
生するようになされているものである。さらにまた、本
発明のさらに他の波形発生器は、デジタル演算により三
角波波形データを発生する手段と、正弦波波形データを
発生する手段と、発生する波形の周波数に対応した補間
係数を発生する手段と、前記補間係数により決定される
混合比率に応じて前記三角波波形データと前記正弦波波
形データとを合成する手段とを有する帯域制限された三
角波を発生する波形発生器である。
Further, the predetermined pulse waveform data is rectangular waveform data, and the correction data generating means generates correction data corresponding to a difference between a step waveform and a band-limited step response. The correction means is a subtractor for subtracting the correction data from the rectangular waveform data. Still further, still another waveform generator of the present invention has an odd number of means for generating data corresponding to a band-limited step response, and generates a band-limited rectangular wave by sequentially activating them. It is something that has been done. Still further, another waveform generator of the present invention is a means for generating triangular waveform data by digital operation, a means for generating sine waveform data, and a means for generating an interpolation coefficient corresponding to a frequency of a generated waveform. And a means for synthesizing the triangular wave waveform data and the sine wave waveform data in accordance with a mixing ratio determined by the interpolation coefficient.

【0007】[0007]

【発明の実施の形態】以下、本発明の波形発生器の各実
施の形態について説明するが、本発明の波形発生器はハ
ードウエアにより実現することができるだけではなく、
DSP(Digital Signal Processor)等を用いてソフト
ウエアあるいはファームウエアにより実現することがで
きるものである。まず、図1を参照して本発明の波形発
生器の一実施の形態である帯域制限された鋸歯状波を発
生する鋸歯状波波形発生器の一構成例について説明す
る。図1において、(a)はこの鋸歯状波(SAW)波
形発生器の一実施の形態の機能構成を示すブロック図、
(b)および(c)はその要部における波形の一例を示
す図である。ここで、(b)は周波数の低いSAW波形
を発生する場合における前記図1(a)のA〜Eで示す
各部の波形を示しており、(c)は同じく周波数の高い
SAW波形を発生する場合の上記各部の波形を示してい
る。なお、ここでは、出力される鋸歯状波の振幅が−1
〜+1の範囲に正規化されているものとして説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the waveform generator of the present invention will be described. However, the waveform generator of the present invention can be realized not only by hardware but also by
It can be realized by software or firmware using a DSP (Digital Signal Processor) or the like. First, a configuration example of a saw-tooth waveform generator for generating a band-limited saw-tooth waveform according to an embodiment of the waveform generator of the present invention will be described with reference to FIG. In FIG. 1, (a) is a block diagram showing a functional configuration of an embodiment of the saw-tooth wave (SAW) waveform generator,
(B) and (c) are diagrams showing an example of a waveform in a main part thereof. Here, (b) shows the waveforms of the respective parts indicated by A to E in FIG. 1A when a low-frequency SAW waveform is generated, and (c) generates the same high-frequency SAW waveform. The waveform of each part in the case is shown. Here, the amplitude of the output sawtooth wave is -1.
The description will be made assuming that the range is normalized to the range of +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により決定
される繰り返し周波数を有する鋸歯状波波形データとな
る。
In FIG. 1A, reference numeral 1 denotes an input terminal to which a frequency number (f number) for determining a repetition frequency (pitch) of a generated sawtooth wave is input. A value of f ≦ 1 is input. Here, the frequency number f is specified by, for example, a 14-bit binary number, whereby the repetition frequency of the sawtooth wave generated in 0.1-cent units can be set. 2 is a frequency number f input from the input terminal 1.
And an output of the delay circuit 3. In addition,
In the present invention, two types of adders are used. The first type of adder ignores even if the addition result overflows the number of digits, executes the addition, and outputs the remainder to the maximum value as the addition result (modulo adder, mo in the figure). The second is an overflow-detection type adder (ov in the figure) in which, when the addition result overflows, the subsequent addition result is fixed to the maximum value.
Described). Here, the adder 2 is the modulo adder. Reference numeral 3 denotes a delay circuit for delaying the output signal of the adder 2 by one sampling period. The adder 2 and the delay circuit 3 constitute a digital integration circuit. The output A of the adder 2 increases by f every sampling period, and when the adder overflows, the addition is started again from the beginning. Thus, the output A of the adder 2 becomes sawtooth waveform data having a repetition frequency determined by the frequency number f.

【0009】ここで、前記加算器2から出力される鋸歯
状波波形Aは帯域制限を受けておらず、図1の(b)お
よび(c)中に示すように不連続点を有する波形データ
となっており、エイリアジングを含むものとなってい
る。本発明のこの実施の形態においては、このエイリア
ジングを含む鋸歯状波波形データAを乗算器11に入力
し、前記不連続点の前後において窓関数テーブル10か
ら読み出される修正データDと乗算することにより、エ
イリアジングのない理想的な鋸歯状波波形データEを出
力するようにしている。この修正データ(窓関数)の詳
細については後述するが、この窓関数は、所定の通過帯
域特性を有するSAW波形と帯域制限を受けていないS
AW波形との商に対応するデータとされている。
Here, the saw-tooth waveform A output from the adder 2 is not subjected to band limitation, and has waveform data having discontinuous points as shown in FIGS. 1B and 1C. And includes aliasing. In this embodiment of the present invention, the sawtooth waveform data A including the aliasing is input to a multiplier 11 and is multiplied by correction data D read from a window function table 10 before and after the discontinuity point. Thus, the ideal saw-tooth waveform data E without aliasing is output. The details of this modified data (window function) will be described later, but this window function has a SAW waveform having a predetermined passband characteristic and a S
It is data corresponding to the quotient with the AW waveform.

【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が出力される。
Hereinafter, a configuration for outputting such correction data D will be described. Reference numeral 4 denotes a reciprocal table for receiving a frequency number f from the input terminal 1 and outputting a number (R / f) proportional to the reciprocal thereof.
Modulo adder for adding the output of and a constant “−1”, 6
Is a multiplier for multiplying the output B of the adder 5 by the output (R / f) of the reciprocal table 4, 7 is a shifter for multiplying the output of the multiplier 6 by a constant s, and 8 is a shifter for the shifter 7. A limiter 9 for limiting the amplitude of the output to -1 to +1 is an absolute value circuit to which the output of the limiter 8 is input and which outputs the absolute value. The output C of the absolute value circuit 9 is input to the window function table 10 as an address, and the corresponding correction data D is output from the window function table 10.

【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波形の不
連続部に対する修正が行われる部分となる。
In such a configuration, the output B of the adder 5 has a waveform obtained by shifting the phase of the output A of the adder 2 by 180 ° as shown in FIGS.
The position of the discontinuous point in the sawtooth waveform data A output from the adder 2 without band limitation is converted into the position of the zero cross point in the output B of the adder 5. Note that the slope of the sawtooth wave is the sampling period Fs
F / Fs because the frequency number f increases by each time. On the other hand, R / f is output from the reciprocal table 4, the output of the multiplier 6 is obtained by multiplying the waveform data B by R / f, and is further multiplied by a constant s in the shifter 7, thereby obtaining the limiter 8 The waveform data B
A waveform multiplied by s / f is input. Here, since the slope of the waveform B is f / Fs, the slope of the output of the shifter 7 is (f / Fs) × (R · s / f) = R · s / Fs, and is independent of the frequency number f. Constant value. This output is limited by ± 1 in the limiter 8, and the output C is used as the address of the window function table 10 via the absolute value circuit 9. Therefore, the slope portion of the output C is a portion where the discontinuous portion of the SAW waveform in the multiplier 11 is corrected.

【0012】この修正が行われる部分の幅は2Fs/
(R・s)となり、この部分において前記窓関数テーブ
ル10から読み出されるサンプル数Nは、N=2/(R
・s)となる。ここで、係数Rは窓関数テーブルを等速
で読み出すことの可能な最低周波数とされており、定数
sの大きさにより窓関数の読み出しサンプル数Nを任意
の値に設定することができる。なお、サンプル数Nを多
くとるほど、帯域制限のカットオフスロープを急峻なも
のとすることが可能となるが、逆に、高い周波数におい
ては窓関数を途中までしか読むことができなくなる。し
たがって、窓関数を全部読むことが可能な周波数では、
エイリアスをかなり少なく、あるいは、ほとんど0とす
ることができるが、ある周波数以上では急に増加するこ
ととなる。一方、Nを小さくした場合は、ある程度のエ
イリアスは生じるが、高い周波数になっても急に増加す
ることはない。一般に、VCOの場合は、ナイキスト周
波数の近くまでの周波数の信号を出力することが必要と
されるため、N=4程度とNを小さくとる場合が多い。
The width of the portion where this correction is performed is 2Fs /
(R · s), and the number of samples N read from the window function table 10 in this portion is N = 2 / (R
S). Here, the coefficient R is the lowest frequency at which the window function table can be read at a constant speed, and the number N of read samples of the window function can be set to an arbitrary value depending on the magnitude of the constant s. It should be noted that as the number N of samples increases, the cutoff slope for band limitation can be made steeper, but conversely, at high frequencies, the window function can only be read halfway. Therefore, at frequencies where the entire window function can be read,
The number of aliases can be considerably small or almost zero, but increases sharply above a certain frequency. On the other hand, when N is reduced, some alias occurs, but does not increase suddenly even at higher frequencies. In general, in the case of a VCO, it is necessary to output a signal having a frequency up to near the Nyquist frequency.

【0013】このようにしてSAW波形Aの不連続点の
前後において、該窓関数テーブル10から対応する修正
データDが読み出され、前記乗算器11において前記加
算器2からのSAW波形と乗算されて、修正されたSA
W波形Eが出力される。図の(b)および(c)に示す
ように、該出力Eは、傾斜部においては直線となり、不
連続部においては通過周波数帯域が制限された理想的な
SAW波形となっている。
In this manner, before and after the discontinuity point of the SAW waveform A, the corresponding correction data D is read from the window function table 10, and is multiplied by the multiplier 11 with the SAW waveform from the adder 2. And modified SA
The W waveform E is output. As shown in (b) and (c) of the figure, the output E is a straight line in the slope portion, and has an ideal SAW waveform with a limited pass frequency band in the discontinuous portion.

【0014】図2は、前記窓関数テーブル10に格納さ
れる窓関数(修正データ)を生成するための構成の一例
を説明するための図である。この図において、21は周
波数帯域を設定するための周波数応答設定部である。こ
の周波数応答設定部21に設定する周波数帯域特性とし
ては、通過域が平坦な通常の低域通過周波数特性であっ
てもよいし、あるいは、所定の音色特性を付加するため
に所定の通過域特性を有するものとしてもよい。
FIG. 2 is a diagram for explaining an example of a configuration for generating a window function (correction data) stored in the window function table 10. As shown in FIG. In this figure, reference numeral 21 denotes a frequency response setting unit for setting a frequency band. The frequency band characteristic set in the frequency response setting unit 21 may be a normal low-pass frequency characteristic having a flat pass band, or a predetermined pass band characteristic for adding a predetermined tone color characteristic. May be provided.

【0015】22は前記周波数応答設定部21において
設定された周波数特性を逆フーリエ変換して時間領域の
信号に変換する逆FFT(Fast Fourier Transform)
部、23は前記逆FFT部22の出力信号の時間応答を
制限するための窓となるウインドウ部である。また、2
4は前記ウインドウ部23により制限された時間応答信
号を再び周波数領域の信号に変換するFFT部である。
さらに、25は通常の帯域制限されていないSAW波形
を出力するSAW波形出力部であり、26は該SAW波
形出力部25から出力されるSAW波形を周波数領域の
信号に変換するFFT部である。
Reference numeral 22 denotes an inverse FFT (Fast Fourier Transform) for performing an inverse Fourier transform on the frequency characteristic set by the frequency response setting unit 21 to convert the frequency characteristic into a time-domain signal.
Reference numeral 23 denotes a window serving as a window for limiting the time response of the output signal of the inverse FFT unit 22. Also, 2
Reference numeral 4 denotes an FFT unit that converts the time response signal limited by the window unit 23 into a signal in the frequency domain again.
Reference numeral 25 denotes a SAW waveform output unit that outputs a normal SAW waveform that is not band-limited, and reference numeral 26 denotes an FFT unit that converts the SAW waveform output from the SAW waveform output unit 25 into a signal in the frequency domain.

【0016】27は、前記FFT部24から出力される
周波数応答特性と前記FFT部26から出力されるSA
W波形の周波数領域の信号とを複素乗算する複素乗算器
である。28は前記複素乗算器27の出力を時間領域に
変換する逆FFT部であり、この逆FFT部28からS
AW波形に前記周波数応答設定部21において設定され
た通過帯域特性が付加されたSAW波形が出力されるこ
ととなる。29は、前記逆FFT部28から出力される
所定の通過帯域特性が付加されたSAW波形(x)と、
前記SAW波形出力部25からの帯域制限されていない
SAW波形(y)とを除算し、商(x/y)を出力する
除算器である。この除算器29の出力が、前記窓関数テ
ーブル10に格納される。このとき、前記窓関数はオー
バーシュートする波形となるため、前記窓関数テーブル
10に格納するときには、最大値が「1」となるように
することが必要である。
Reference numeral 27 denotes a frequency response characteristic output from the FFT unit 24 and an SA output from the FFT unit 26.
This is a complex multiplier that performs complex multiplication with a signal in the frequency domain of the W waveform. Reference numeral 28 denotes an inverse FFT unit for converting the output of the complex multiplier 27 into the time domain.
A SAW waveform in which the passband characteristic set by the frequency response setting unit 21 is added to the AW waveform is output. 29 is a SAW waveform (x) to which a predetermined pass band characteristic output from the inverse FFT unit 28 is added,
A divider that divides the SAW waveform (y) from the SAW waveform output unit 25 that has not been band-limited and outputs a quotient (x / y). The output of the divider 29 is stored in the window function table 10. At this time, since the window function has a waveform that overshoots, when storing the window function in the window function table 10, it is necessary to set the maximum value to "1".

【0017】上述のように窓関数は、帯域制限されたS
AW波形(x)と帯域制限されていないSAW波形
(y)との比(x/y)となっているため、前記図1の
(a)における乗算器11において前記加算器2から出
力される当該周波数のSAW波形とこの窓関数とを乗算
することにより、不連続部において所望の通過帯域特性
が付加されたSAW波形サンプルデータを出力すること
が可能となる。
As described above, the window function is a band-limited S
Since the ratio (x / y) between the AW waveform (x) and the SAW waveform (y) that is not band-limited is output from the adder 2 in the multiplier 11 in FIG. By multiplying the SAW waveform of the frequency by this window function, it becomes possible to output SAW waveform sample data to which a desired pass band characteristic is added at a discontinuous portion.

【0018】なお、前記窓関数を算出するときには、サ
ンプリング周波数よりも高いサンプリング周波数を用い
て算出するようにする。このようにオーバサンプリング
するほど、読み出しの精度を向上させることができる。
例として、N=16、窓関数のサイズ(FFTのサイ
ズ)を4096(実際のサイズはその半分の2048)
とすると、オーバサンプリング比Orは、Or=409
6/16=256となるので、通過周波数帯域はその1
/256以下に設定して窓関数を生成する。また、N=
4、サイズ4096のときは、Or=1024となるの
で、帯域は1/1024以下とする。このとき、R=1
/512であるとすると、s=256となる。
When calculating the window function, the window function is calculated using a sampling frequency higher than the sampling frequency. As the oversampling is performed in this manner, the readout accuracy can be improved.
As an example, N = 16, the size of the window function (the size of the FFT) is 4096 (the actual size is half that of 2048)
Then, the oversampling ratio Or becomes Or = 409.
6/16 = 256, so the pass frequency band is 1
/ 256 or less to generate a window function. Also, N =
4. When the size is 4096, Or = 1024, so the band is set to 1/1024 or less. At this time, R = 1
If / 512, then s = 256.

【0019】以上のように、この実施の形態のSAW波
形発生器によれば、発生するSAW波形の周波数によら
ず不連続部において周波数帯域が制限された理想的なS
AW波形を得ることができる。
As described above, according to the SAW waveform generator of this embodiment, the ideal SW in which the frequency band is limited at the discontinuous portion regardless of the frequency of the generated SAW waveform.
An AW waveform can be obtained.

【0020】なお、前記図1の(a)に示した実施の形
態においては、前記周波数ナンバfを0≦f≦1とした
が、これに限らず、正負の周波数ナンバfを用いるよう
にすることもできる。すなわち、図3は、この実施の形
態におけるSAW波形発生器の要部構成を示す図であ
る。この場合には、周波数ナンバfが−1≦f≦1とさ
れるため、前記逆数テーブル4の入力側に図示するよう
に絶対値回路14を設ければよい。その他の構成は、前
記図1の(a)の場合と同一の構成でよい。また、前記
逆数テーブル4のかわりに、係数Rを前記周波数ナンバ
で割り算する割算器を用いるようにしてもよい。
In the embodiment shown in FIG. 1A, the frequency number f is set to 0 ≦ f ≦ 1, but the present invention is not limited to this, and positive and negative frequency numbers f are used. You can also. That is, FIG. 3 is a diagram showing a main configuration of the SAW waveform generator according to the present embodiment. In this case, since the frequency number f is set to −1 ≦ f ≦ 1, an absolute value circuit 14 may be provided on the input side of the reciprocal table 4 as illustrated. Other configurations may be the same as those in the case of FIG. Further, instead of the reciprocal table 4, a divider for dividing the coefficient R by the frequency number may be used.

【0021】さらに、前記窓関数(修正データ)は、前
記図2に示した方法以外の方法によっても生成すること
ができる。図4は、この窓関数を生成する方法の他の例
を示す図である。この方法は、帯域制限されたステップ
応答を求めて、これを窓関数として使用するものであ
る。図4において、31はSINC関数(SINC
(x)=(sinπx)/πx)生成部であり、このS
INC関数生成部31からは、一定周波数範囲のスペク
トラム振幅関数が一定である場合のインパルス応答に対
応する信号が出力される。32は、前記SINC関数生
成部31の出力を必要十分な時間範囲に制限するウイン
ドウ部であり、このウインドウ部32からは時間範囲を
制限されたインパルス応答波形が出力される。33はス
テップ波形を生成するステップ波形生成部である。前記
ウインドウ部32から出力される時間範囲を制限された
SINC関数と前記ステップ波形生成部33から出力さ
れるステップ波形は畳込み演算部34において畳込み積
分され、該畳込み積分演算結果のうちの所定の部分が切
り出されて、窓関数テーブルに格納される。このよう
に、所定の周波数帯域に制限されたステップ波形から、
前記窓関数を生成するようにしてもよい。
Further, the window function (correction data) can be generated by a method other than the method shown in FIG. FIG. 4 is a diagram illustrating another example of a method for generating the window function. This method obtains a band-limited step response and uses it as a window function. In FIG. 4, reference numeral 31 denotes a SINC function (SINC
(X) = (sin πx) / πx) generation unit,
The INC function generator 31 outputs a signal corresponding to an impulse response when the spectrum amplitude function in a certain frequency range is constant. Reference numeral 32 denotes a window unit for limiting the output of the SINC function generation unit 31 to a necessary and sufficient time range. The window unit 32 outputs an impulse response waveform whose time range is limited. 33 is a step waveform generator for generating a step waveform. The time-limited SINC function output from the window unit 32 and the step waveform output from the step waveform generation unit 33 are convolution-integrated in a convolution operation unit 34, and the convolution integration operation results A predetermined part is cut out and stored in the window function table. Thus, from the step waveform limited to the predetermined frequency band,
The window function may be generated.

【0022】次に、本発明の波形発生器の他の実施の形
態のSAW波形発生器について説明する。前記図1の
(a)に示した実施の形態がSAW波形に対して修正デ
ータを乗算することにより所望の帯域制限を受けたSA
W波形を生成していたのに対し、この実施の形態は、S
AW波形に対し所定の修正データを加算することにより
所望の帯域制限を受けたSAW波形を生成するようにし
たものである。
Next, a SAW waveform generator according to another embodiment of the waveform generator of the present invention will be described. In the embodiment shown in FIG. 1A, the SAW waveform is multiplied by the correction data, and the SA is subjected to a desired band limitation.
While this embodiment generates a W waveform,
By adding predetermined correction data to the AW waveform, a SAW waveform subjected to a desired band limitation is generated.

【0023】この実施の形態のSAW波形発生器の構成
について説明する前に、まず、この実施の形態の動作原
理について図5を参照して説明する。図5の(a)はS
AW波形の成り立ちを説明する図であり、この図に示す
ように、SAW波形aは、ランプ波形とタイミングがず
らされた複数のステップ波形の和で構成されているとい
うこともできる。したがって、図5の(b)に示すよう
に、帯域制限されたSAW波形xは、ランプ波形とタイ
ミングがずらされた複数の帯域制限されたステップ応答
波形の和から得ることができる。以上のことから、図5
の(c)に示すように、帯域制限されたSAW波形を得
るためには、SAW波形aからステップ波形bと帯域制
限されたステップ応答波形cとの差d(=b−c)を減
算すればよい。したがって、図5の(d)に示すよう
に、aのすべての立ち下がりにつき、a−dの計算を行
うことにより、帯域制限されたSAW波形xを得ること
ができる。
Before describing the configuration of the SAW waveform generator according to this embodiment, first, the operation principle of this embodiment will be described with reference to FIG. (A) of FIG.
FIG. 4 is a diagram for explaining the formation of the AW waveform. As shown in this diagram, it can be said that the SAW waveform a is composed of a ramp waveform and a plurality of step waveforms whose timings are shifted. Therefore, as shown in FIG. 5B, the band-limited SAW waveform x can be obtained from the sum of the ramp waveform and a plurality of band-limited step response waveforms whose timings are shifted. From the above, FIG.
As shown in (c), in order to obtain a band-limited SAW waveform, the difference d (= bc) between the step waveform b and the band-limited step response waveform c is subtracted from the SAW waveform a. I just need. Therefore, as shown in FIG. 5D, the SAW waveform x whose band is limited can be obtained by calculating a-d for all the falling edges of a.

【0024】図6はこのような原理に基づいて構成され
たSAW波形発生器の一構成例を示すブロック図であ
り、図7はそのA〜Hで示す部分における波形の一例を
示す波形図である。図6において、51は発生すべきS
AW波形の周波数を決定する周波数ナンバfが入力され
る入力端子であり、この入力端子51から例えば0≦f
≦1の周波数ナンバfが入力される。この周波数ナンバ
fはモジュロ加算を行う加算器52の一方の入力に印加
され、該加算器52の他方の入力には1サンプリング周
期(Fs)だけ該加算器52の出力を遅延する遅延回路
53の出力が入力されている。この加算器52と遅延回
路53によりデジタル積分回路が構成されており、サン
プリング周期ごとにfが累算され、前記加算器52がオ
ーバーフローしたときに再び初期値に戻って該累算が繰
り返される。これにより、前述した実施の形態の場合と
同様にして帯域制限されていない鋸歯状波波形データA
が出力される。
FIG. 6 is a block diagram showing an example of the configuration of a SAW waveform generator constructed based on such a principle, and FIG. 7 is a waveform diagram showing an example of waveforms at portions indicated by A to H. is there. In FIG. 6, 51 is the S to be generated.
An input terminal to which a frequency number f for determining the frequency of the AW waveform is input.
A frequency number f ≦ 1 is input. This frequency number f is applied to one input of an adder 52 that performs modulo addition, and the other input of the adder 52 is a delay circuit 53 that delays the output of the adder 52 by one sampling period (Fs). Output is input. The adder 52 and the delay circuit 53 constitute a digital integration circuit, and f is accumulated for each sampling period, and when the adder 52 overflows, returns to the initial value and the accumulation is repeated. As a result, as in the case of the above-described embodiment, the band-limited sawtooth waveform data A
Is output.

【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)に対応するデータが格納されている。
The SAW waveform A that is not band-limited and output from the adder 52 is input to a delay circuit 54. In the example shown in this figure, since the correction data of four samples is read from the difference table 66 described later, the delay circuit 54 delays the SAW waveform A by two sampling periods. The SAW waveform A, which is not band-limited and passed through the delay circuit 54, is multiplied by a constant “0.5” in a multiplier 73, and is then input to an adder 74 for correcting the waveform. A predetermined band-limited SAW is added to the correction data H read from the difference table 66 and
The waveform I is output from the output terminal 75. In the difference table 66, a waveform d (= difference) between the step waveform shown in FIG.
Data corresponding to bc) is stored.

【0026】さて、前記加算器52から出力される帯域
制限されていないSAW波形Aは、モジュロ加算を行う
加算器56において定数「−1」と加算され、位相が1
80°シフトされて、図7にBで示す波形が該加算器5
6から出力される。この図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端子に
印加される。
The unlimited-band SAW waveform A output from the adder 52 is added to a constant "-1" in an adder 56 for performing modulo addition, so that the phase becomes 1.
The waveform is shifted by 80 ° and the waveform indicated by B in FIG.
6 is output. As can be seen by comparing waveform A and waveform B in FIG. 7, the discontinuous portion of waveform A is the zero cross point of waveform B. The frequency number f input from the input terminal 51 is input to a reciprocal table 55, and a number 1 / (fs) corresponding to the reciprocal is output from the reciprocal table 55 using the frequency number f as an argument. Is done. Note that an arithmetic unit that performs division may be used instead of the reciprocal table 55. The waveform data B output from the adder 56 and the output 1 /
(F · s) is multiplied by a multiplier 57 and further multiplied by a constant s by a shifter 58. The output of the shifter 58 is multiplied by a constant “0.5” in an adder 59,
Further, a constant “−1” is added in the adder 60.
The output of the adder 60 is applied to the S terminal of the changeover switch 62.

【0027】前記切替スイッチ62は、前記モジュロ加
算器52におけるオーバーフローを検出するオーバーフ
ロー検出部61の出力vにより制御され、該オーバーフ
ローが検出されたときにS(セット)端子を選択し、そ
の他のときはC(クリア)端子を選択するように制御さ
れる。このC端子には、前記切替スイッチ62の出力に
対して定数「0.5」を加算するオーバーフロータイプ
の加算器63の出力を1サンプリング周期だけ遅延する
遅延回路64の出力が接続されている。また、前記切替
スイッチ62の出力は絶対値回路65に入力され、該絶
対値回路62の出力が差分テーブル66にアドレスとし
て入力されている。該差分テーブル66の出力は、バッ
ファ増幅器67を介して前記加算器74に入力されてい
る。このバッファ増幅器67は、制御信号に基づいて入
力信号をそのままの極性あるいは極性を反転して出力す
るものとされている。
The changeover switch 62 is controlled by an output v of an overflow detector 61 for detecting an overflow in the modulo adder 52. When an overflow is detected, the S (set) terminal is selected. Is controlled to select the C (clear) terminal. The C terminal is connected to the output of a delay circuit 64 that delays the output of an overflow type adder 63 that adds a constant “0.5” to the output of the changeover switch 62 by one sampling period. The output of the changeover switch 62 is input to an absolute value circuit 65, and the output of the absolute value circuit 62 is input to a difference table 66 as an address. The output of the difference table 66 is input to the adder 74 via a buffer amplifier 67. The buffer amplifier 67 outputs the input signal with the same polarity or inverted polarity based on the control signal.

【0028】また、前記オーバーフロー検出部61の出
力vは第2の切替スイッチ68に切り替え制御信号とし
て入力されており、該第2の切替スイッチ68のS端子
には定数「0.75」が印加されており、C端子には該
切替スイッチ68の出力に対して定数「0.5」を加算
する加算器69の出力を1サンプリング周期だけ遅延す
る遅延回路70の出力が接続されている。この第2の切
替スイッチ68の出力は、入力信号の振幅を−1〜+1
に制限するリミッタ72に入力されており、該リミッタ
72の出力が前記バッファ増幅器67に制御信号として
印加されている。
The output v of the overflow detector 61 is input to a second switch 68 as a switching control signal, and a constant “0.75” is applied to the S terminal of the second switch 68. The output of a delay circuit 70 that delays the output of an adder 69 that adds a constant “0.5” to the output of the changeover switch 68 by one sampling period is connected to the C terminal. The output of the second changeover switch 68 changes the amplitude of the input signal from -1 to +1.
The output of the limiter 72 is applied to the buffer amplifier 67 as a control signal.

【0029】さてこのように構成されたSAW波形発生
器において、図7のAに示すように、前記加算器52の
出力はサンプリング周期(Fs)ごとにfずつ加算さ
れ、SAW波形は傾きf/Fsで上昇していく。そし
て、タイミング5において前記加算器52においてオー
バーフローが発生したとする。このとき、発生されるS
AW波形の不連続点は図中にアで示した位置にある。こ
のオーバーフローが発生したタイミング5における前記
加算器56の出力の値をPとすると、SAW波形の傾斜
部の傾きはf/Fsであるので、SAW波形Aの不連続
部は前記タイミング5よりも(P/f)・Fsだけ前の
位置にあること、すなわち、不連続部の位相はP/f=
T(0≦T<1)だけ前にずれていることがわかる。こ
のように、オーバーフロー発生タイミングにおける前記
加算器56の出力値Pから、当該SAW波形Aの不連続
部の位相のずれを検出できる。
In the SAW waveform generator thus constructed, as shown in FIG. 7A, the output of the adder 52 is added by f every sampling period (Fs), and the SAW waveform has a slope f / It rises at Fs. Then, it is assumed that an overflow has occurred in the adder 52 at the timing 5. At this time, the generated S
The discontinuous point of the AW waveform is at the position indicated by a in the figure. Assuming that the value of the output of the adder 56 at the timing 5 at which the overflow occurs is P, the slope of the slope portion of the SAW waveform is f / Fs. P / f) · Fs, that is, the phase of the discontinuous portion is P / f =
It can be seen that it is shifted forward by T (0 ≦ T <1). In this manner, the phase shift of the discontinuous portion of the SAW waveform A can be detected from the output value P of the adder 56 at the overflow occurrence timing.

【0030】このように加算器52においてオーバーフ
ローが発生し前記オーバーフロー検出部61からオーバ
ーフロー検出信号vが出力された時点においては、前記
シフタ58の出力はP/f=Tとなり、前記加算器60
から0.5T−1が前記切替スイッチ62のS端子に印
加されている。前記切替スイッチ62によりS端子が選
択され、この値0.5T−1が、当該不連続部に対応す
る修正データHを出力するための差分テーブル66の読
み出しアドレスの初期値となる。
As described above, when the overflow occurs in the adder 52 and the overflow detection signal v is output from the overflow detector 61, the output of the shifter 58 becomes P / f = T, and the adder 60
To 0.5T-1 are applied to the S terminal of the changeover switch 62. The S terminal is selected by the changeover switch 62, and this value 0.5T-1 becomes the initial value of the read address of the difference table 66 for outputting the correction data H corresponding to the discontinuous portion.

【0031】図8を参照して、前記差分テーブル66か
らのデータの読み出しについて説明する。実際には、差
分データは図9に示す様な形のデータとなるが、このデ
ータは原点に対して点対称であるため、差分テーブル6
6には、その0〜+1のデータのみを格納してある。こ
の実施の形態においては、この差分テーブル66からN
=4サンプルのデータを読み出すようにしており、ま
た、差分テーブル66の読み出し位相をサンプリング周
期に対してTだけ進めることが必要となる。4サンプル
で差分テーブルのアドレスを1から−1まで振るために
は、1サンプルあたりの該アドレスの増加分は、(1−
(−1))/4=0.5となる。したがって、差分テー
ブルを位相Tだけ進んで読むために、テーブルの読み出
しアドレスの初期値を0.5T−1としている。
Referring to FIG. 8, reading of data from the difference table 66 will be described. Actually, the difference data has the form shown in FIG. 9, but since this data is point-symmetric with respect to the origin, the difference table 6
No. 6 stores only the data of 0 to +1. In this embodiment, the difference table 66
= 4 samples of data are read, and it is necessary to advance the reading phase of the difference table 66 by T with respect to the sampling period. In order to change the address of the difference table from 1 to −1 in four samples, the increment of the address per sample is (1−1).
(-1)) / 4 = 0.5. Therefore, in order to read the difference table by the phase T, the initial value of the read address of the table is set to 0.5T-1.

【0032】さて、前記切替スイッチ62は、前記加算
器52においてオーバーフローが発生したタイミング以
外のタイミングでは、前記C端子を選択する。したがっ
て、前記切替スイッチ62からは、図7のDに示すよう
に、初期値を0.5T−1とし、以後サンプル周期ごと
に0.5ずつ増加される出力が得られる。この切替スイ
ッチ62の出力は絶対値回路65に入力され、該絶対値
回路65の出力は差分テーブル66にアドレスとして入
力され、該差分テーブル66から当該不連続点の前後2
サンプル分の差分データが読み出されることとなる。
The switch 62 selects the terminal C at a timing other than the timing at which the overflow occurs in the adder 52. Therefore, as shown in FIG. 7D, an output whose initial value is 0.5T-1 and which is increased by 0.5 every sample period is obtained from the changeover switch 62. The output of the changeover switch 62 is input to an absolute value circuit 65, and the output of the absolute value circuit 65 is input to a difference table 66 as an address.
The difference data for the sample is read.

【0033】なお、前述のように、前記差分テーブル6
6には前記差分データdの一部(0≦x≦1)のみを格
納するようにしている。したがって、修正時に、前記差
分テーブル66の出力を前記帯域制限されていないSA
W波形から減算するか加算するかを決定することが必要
となる。このために、前記切替スイッチ68,加算器6
9、遅延回路70からなるカウンタ、シフタ71および
リミッタ72が設けられており、オーバーフローした後
2サンプルは引き算、それ以後は足し算となるように制
御される。
As described above, the difference table 6
6 stores only a part (0 ≦ x ≦ 1) of the difference data d. Therefore, at the time of correction, the output of the difference table 66 is changed to the non-band-limited SA.
It is necessary to determine whether to subtract or add from the W waveform. For this purpose, the changeover switch 68 and the adder 6
9. A counter comprising a delay circuit 70, a shifter 71 and a limiter 72 are provided. After overflow, two samples are subtracted, and thereafter control is performed so as to be added.

【0034】すなわち、前記切替スイッチ68のS端子
には定数「−0.75」が印加されており、前記切替ス
イッチ68の出力は、−0.75,−0.25,0.2
5,0.75・・・とカウントされ、シフタ71におい
て定数「4」を乗算され、リミッタ72において−1〜
1の範囲の値に制限される。したがって、前記リミッタ
72の出力は、−1,−1,1,1,・・・となる。こ
の信号はバッファ増幅器67に印加され、該信号が−1
のときは前記バッファ増幅器67の出力はその極性が反
転されて、前記信号が1のときはそのままの極性で出力
される。このバッファ増幅器67の出力は加算器74に
一方の入力として印加され、他方の入力として印加され
る前記乗算器73の出力と加算される。したがって、オ
ーバーフローした後2サンプルは前記差分テーブル66
の出力が前記帯域制限されないSAW波形に対して引き
算され、それ以後のサンプルについては前記差分テーブ
ル66の出力が足し算されることとなる。このようにし
て、帯域制限されないSAW波形に対する修正処理が行
われる。
That is, a constant "-0.75" is applied to the S terminal of the changeover switch 68, and the output of the changeover switch 68 is -0.75, -0.25, 0.2
Are counted as 5, 0.75..., Multiplied by a constant “4” in the shifter 71, and −1 to 1 in the limiter 72.
Limited to values in the range of 1. Therefore, the output of the limiter 72 is -1, -1,1,1,. This signal is applied to the buffer amplifier 67 and the signal is -1
In this case, the polarity of the output of the buffer amplifier 67 is inverted, and when the signal is 1, the output is output with the same polarity. The output of the buffer amplifier 67 is applied to an adder 74 as one input, and is added to the output of the multiplier 73 applied as the other input. Therefore, after overflow, the two samples are stored in the difference table 66.
Is subtracted with respect to the SAW waveform that is not band-limited, and the output of the difference table 66 is added to the subsequent samples. In this way, the correction process for the SAW waveform that is not band-limited is performed.

【0035】なお、差分テーブル66に上述のような形
で差分データを格納しているのは、次のような理由によ
る。すなわち、該差分データを図9に示すように不連続
な形で格納した場合には、初期値を求める際の誤差によ
り0付近で正になるべき値が負になったり、あるいはそ
の逆に負になるべき値が正になったりすることがあり、
これはノイズの原因となる。したがって、本実施の形態
においては、上述したように差分データを格納し、前述
したようにカウンタを用いて正しい極性で修正演算を実
行させている。
The reason why the difference data is stored in the difference table 66 in the above-described manner is as follows. That is, when the difference data is stored in a discontinuous form as shown in FIG. 9, the value that should become positive near 0 becomes negative due to an error in obtaining the initial value, or vice versa. May be positive,
This causes noise. Therefore, in the present embodiment, the difference data is stored as described above, and the correction operation is executed with the correct polarity using the counter as described above.

【0036】さて、上記実施の形態においては、差分テ
ーブル66から4サンプル読み出しているために、オー
バーフローが4サンプルに一度以上発生する周波数、す
なわちFs/4=FN/2以上の周波数においてはエイ
リアスが増加するという問題点がある。そこで、このよ
うな問題点を回避するようにした実施の形態について説
明する。図10はこの実施の形態の一構成例を示すブロ
ック図である。この実施の形態は、前記図6の実施の形
態における差分テーブルを読み出すための手段(図6中
の破線で囲まれた部分)を複数個設けてそれらを順番に
使用することにより、前述の問題を回避している。一般
に、差分テーブルからNサンプルを読み出す場合は、N
/2個の差分テーブル読み出し手段が設けられていると
きにはFNまでの周波数を再生することが可能である。
図10に示した実施の形態においては、差分テーブル読
み出し手段を2個用い、差分テーブルの読み出しを交互
に行っている。
In the above embodiment, since four samples are read from the difference table 66, aliasing is performed at a frequency at which an overflow occurs at least once in four samples, that is, at a frequency of Fs / 4 = F N / 2 or more. There is a problem that increases. Therefore, an embodiment that avoids such a problem will be described. FIG. 10 is a block diagram showing a configuration example of this embodiment. This embodiment provides the above-described problem by providing a plurality of means (portions surrounded by broken lines in FIG. 6) for reading the difference table in the embodiment of FIG. 6 and sequentially using them. Have been around. Generally, when reading N samples from the difference table, N
/ When the two difference table reading means is provided which can reproduce frequencies up to F N.
In the embodiment shown in FIG. 10, two difference table reading means are used, and reading of the difference table is performed alternately.

【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に切替
制御信号として供給される。
In FIG. 10, the same components as those in FIG. 6 are denoted by the same reference numerals to avoid duplication of description. In this figure, reference numerals 100 and 101 denote difference table reading means, which correspond to the difference table reading means enclosed by broken lines in FIG. Also,
Reference numeral 81 denotes a changeover switch that switches between the input terminals S and C according to the output v of the overflow detection unit 61 and outputs the result. A delay circuit that outputs to the adder 83 is a modulo adder that adds the output of the delay circuit 82 and a constant “−1” and outputs the result to the input terminal S. Reference numeral 84 denotes a sign detection unit that detects the sign of the sign output from the changeover switch 81. The output n of the code detection unit 84 is supplied to the changeover switches 85, 86, 90, and 97 provided in the difference table reading means 100 and 101, respectively, as a changeover control signal.

【0038】前記切替スイッチ81は、前記オーバーフ
ロー検出部61からオーバーフロー検出信号vが出力さ
れたときに入力端子Sを選択し、その他のタイミングで
は入力端子Cを選択するようになされている。今、前記
モジュロ加算器52がオーバーフローし、前記オーバー
フロー検出部61からオーバーフロー信号vが出力され
たとする。このとき、該オーバーフロー信号vにより前
記切替スイッチ81がs入力端子側に接続される。前記
モジュロ加算器83は−1から+1の間の値を出力す
る。ここで、オーバーフロー検出前に前記遅延回路82
の出力が正(0から+1)のデータであるときには、前
記加算器83の出力は負の値となり、前記入力端子Sを
介して前記切替スイッチ81の出力は負の値となり、該
負の出力は前記遅延回路82に入力され、次にオーバー
フローが検出されるまで、該負の値が保持される。この
とき、前記符号検出部84からは負を表す出力信号nが
出力される。すなわち、オーバーフロー検出前の正を表
す出力信号に代えて、負の出力信号が出力されることと
なる。
The changeover switch 81 selects the input terminal S when the overflow detection signal v is output from the overflow detection section 61, and selects the input terminal C at other timings. Now, it is assumed that the modulo adder 52 overflows and the overflow detection unit 61 outputs an overflow signal v. At this time, the changeover switch 81 is connected to the s input terminal by the overflow signal v. The modulo adder 83 outputs a value between -1 and +1. Here, before the overflow is detected, the delay circuit 82
Is positive (0 to +1), the output of the adder 83 has a negative value, the output of the changeover switch 81 has a negative value via the input terminal S, and the negative output Is input to the delay circuit 82, and the negative value is held until the next overflow is detected. At this time, the sign detection unit 84 outputs an output signal n indicating negative. That is, a negative output signal is output instead of the output signal indicating positive before the overflow is detected.

【0039】一方、前記オーバーフロー検出時点の前に
前記遅延回路82の出力が負の値(−1から0間での
値)であったときは、該負の値と「−1」とのモジュロ
加算により、前記モジュロ加算器83はオーバーフロー
してその出力は正の値となる。したがって、前記入力端
子Sを介して正の信号が選択され、前記符号検出部84
の出力は正を表す信号となり、この正の信号が前記遅延
回路82を介して次のオーバーフローの検出まで保持さ
れることとなる。以上のように、前記切替スイッチ8
1、遅延回路82およびモジュロ加算器83による回路
の出力は、前記モジュロ加算器52においてオーバーフ
ローが発生するごとに正から負あるいは負から正へと切
り替えられる。
On the other hand, if the output of the delay circuit 82 is a negative value (a value between -1 and 0) before the overflow is detected, the modulo of the negative value and "-1" is calculated. Due to the addition, the modulo adder 83 overflows, and its output becomes a positive value. Therefore, a positive signal is selected via the input terminal S, and the code detection unit 84
Is a signal indicating positive, and this positive signal is held through the delay circuit 82 until the next overflow is detected. As described above, the changeover switch 8
1. The output of the circuit by the delay circuit 82 and the modulo adder 83 is switched from positive to negative or from negative to positive every time the overflow occurs in the modulo adder 52.

【0040】したがって、前記符号検出回路84の出力
nは、オーバーフローが発生するごとに正負が切り替え
られる。この出力nは、前述のように、前記差分テーブ
ル読出手段100における切替スイッチ85および8
6、前記差分テーブル読出手段101における切替スイ
ッチ90および97に制御信号として印加され、各切替
スイッチは、前記出力nが正に対応する信号であるとき
には「+」側に接続され、負に対応する信号であるとき
には「−」側に接続される。図10には、前記出力nが
正であり、前記切替スイッチ85、86、90および9
7が「+」側に接続されている場合が示されている。こ
の場合には、前記切替スイッチ85および86が「+」
側に接続されているため、差分テーブル読出手段100
は前記図6における差分テーブル読出手段と同一の接続
となり、前記図6について説明したと同様に、当該オー
バーフローの検出時点から4サンプルの差分データの読
出が行われることとなる。
Therefore, the output n of the code detection circuit 84 is switched between positive and negative each time an overflow occurs. As described above, this output n is supplied to the changeover switches 85 and 8 in the difference table reading means 100.
6. Applied as a control signal to the changeover switches 90 and 97 in the difference table reading means 101, each changeover switch is connected to the "+" side when the output n is a signal corresponding to a positive value, and corresponds to a negative value. If it is a signal, it is connected to the "-" side. FIG. 10 shows that the output n is positive and the changeover switches 85, 86, 90 and 9
7 is connected to the “+” side. In this case, the changeover switches 85 and 86 are set to “+”
Table, the difference table reading means 100
Has the same connection as the difference table reading means in FIG. 6, and, as described with reference to FIG. 6, reading of four samples of difference data is performed from the time of detection of the overflow.

【0041】一方、前記差分テーブル読出手段101に
おいては、切替スイッチ87の出力が前記切替スイッチ
90の「−」側に接続され、また、切替スイッチ94の
出力が前記切替スイッチ97の「−」側に接続されてい
る。したがって、図10に示したように、符号検出部8
4の出力が正に対応する信号であり、切替スイッチ90
および97が「+」側に接続されている状態において
は、前記オーバーフロー検出部61の出力vにより、切
替スイッチ87および94がs側に接続されても、該切
替スイッチ87および94の出力は、前記切替スイッチ
90および97において選択されず、絶対値回路91の
入力およびシフタ98の入力には、なんらの影響もな
い。すなわち、前記符号検出部84の出力が正に対応す
る信号のときは、前記差分テーブル読出手段100が当
該オーバーフロー検出信号に対応して動作することとな
る。
On the other hand, in the difference table reading means 101, the output of the changeover switch 87 is connected to the “−” side of the changeover switch 90, and the output of the changeover switch 94 is connected to the “−” side of the changeover switch 97. It is connected to the. Therefore, as shown in FIG.
4 is the signal corresponding to the positive, and the changeover switch 90
And 97 are connected to the “+” side, the output v of the overflow detection unit 61 allows the outputs of the changeover switches 87 and 94 to be output even if the changeover switches 87 and 94 are connected to the s side. The input is not selected by the changeover switches 90 and 97 and the input of the absolute value circuit 91 and the input of the shifter 98 have no influence. That is, when the output of the code detection unit 84 is a signal corresponding to a positive value, the difference table reading means 100 operates in response to the overflow detection signal.

【0042】次に、再び前記モジュロ加算器52におい
てオーバーフローが発生し、前記オーバーフロー検出部
61からオーバーフロー信号vが出力されたときは、前
述のように前記切替スイッチ81の出力が負の信号とな
り、前記符号検出部84から負に対応する信号が出力さ
れる。これにより、前記切替スイッチ85、86、90
および97は「−」側に切り替えらる。これにより、前
記差分テーブル読出手段100においては、前記切替ス
イッチ62および68の出力が前記切替スイッチ85お
よび86の出力に接続されず、一方、前記差分テーブル
読出手段101においては前記切替スイッチ87および
94の出力がそれぞれ前記切替スイッチ90および97
に接続されることとなる。これにより、このオーバーフ
ローの検出に対応して差分テーブル92から差分データ
が読出され、バッファ増幅器93を介して前記加算器7
4において当該オーバーフローに対する修正処理が実行
されることとなる。
Next, when an overflow occurs again in the modulo adder 52 and the overflow signal v is output from the overflow detector 61, the output of the changeover switch 81 becomes a negative signal as described above, The sign detector 84 outputs a signal corresponding to a negative value. Thereby, the changeover switches 85, 86, 90
And 97 are switched to the "-" side. Thereby, in the difference table reading means 100, the outputs of the changeover switches 62 and 68 are not connected to the outputs of the changeover switches 85 and 86, while in the difference table reading means 101, the changeover switches 87 and 94 Are output from the changeover switches 90 and 97, respectively.
Will be connected. As a result, the difference data is read from the difference table 92 in response to the detection of the overflow, and the adder 7
In step 4, a correction process for the overflow is executed.

【0043】このように、複数の差分テーブル読出し手
段100,101を設け、これらを前記モジュロ加算器
52のオーバーフローごとに交互に切り替えて使用する
ことにより、1回のオーバーフローに対応する差分テー
ブルの読出しサンプル数Nによるエイリアスに対する影
響をなくすことが可能となる。したがって、Nを十分に
大きくとり、それに見合った数の差分テーブル読出し手
段を設けることにより、エイリアスを理想的にまで低減
することが可能となる。
As described above, a plurality of difference table reading means 100 and 101 are provided, and these are alternately switched and used for each overflow of the modulo adder 52, thereby reading the difference table corresponding to one overflow. It is possible to eliminate the influence of the sample number N on the alias. Therefore, by setting N to be sufficiently large and providing the corresponding number of difference table reading means, aliases can be reduced to the ideal.

【0044】さらに、この方法を矩形波の発生に適用す
ることもできる。この方法を、矩形波の発生に適用する
場合の概念図を図11に示す。図11に示すように、元
波形である帯域制限されていない矩形波に対し、図示す
るような立ち上がり、立ち下がりに対応する差分データ
を順次用いて修正することにより、所望の帯域制限され
た矩形波を発生することができる。ただし、矩形波の場
合には立ち上がりと立ち下がりの両方について修正を行
うことが必要となるので、前述したSAW波形の場合の
2倍の頻度でテーブル読出しをすることが必要となる。
あるいは、同数のテーブル読み出しを行うものとした場
合には、上限周波数がSAW波形の場合の1/2にな
る。
Further, this method can be applied to the generation of a rectangular wave. FIG. 11 is a conceptual diagram when this method is applied to generation of a rectangular wave. As shown in FIG. 11, a desired band-limited rectangular wave is corrected by sequentially using difference data corresponding to the rising and falling edges as shown in the drawing to the original non-band-limited rectangular wave. Can generate waves. However, in the case of a rectangular wave, it is necessary to correct both the rising and the falling, so it is necessary to read the table twice as frequently as in the case of the SAW waveform described above.
Alternatively, when the same number of tables are to be read, the upper limit frequency is 1 / that of the SAW waveform.

【0045】さらにまた、前記図10に示したSAW波
形発生器において、前記差分テーブル読出しの部分をス
テップ応答波形の読出しに変え、さらに、奇数個のテー
ブル読出し手段を用いるようにすることにより、デュー
ティ可変な矩形波を発生させる矩形波発生器とすること
も可能である。デューティ可変な矩形波を発生させる場
合には、デューティを変化させたときにサンプリング周
期よりも短いパルス幅となってしまうことがある。この
ような場合であっても、帯域制限された矩形波を発生さ
せることが可能である。
Further, in the SAW waveform generator shown in FIG. 10, the difference table reading part is changed to the step response waveform reading, and the odd number table reading means is used. It is also possible to use a rectangular wave generator that generates a variable rectangular wave. When generating a rectangular wave with a variable duty, when the duty is changed, the pulse width may be shorter than the sampling period. Even in such a case, it is possible to generate a rectangular wave whose band is limited.

【0046】図12は、この実施の形態の概略を説明す
るための図である。この図において、(a)は発生する
矩形波の一例を示しており、この図に示すような、サン
プリング周期よりも幅の狭いパルスを発生するときに
は、図中のAで示すパルスについては出力が発生されな
いこととなってしまう。これを防ぐために、図の(b)
に示すように、当該矩形波の立ち上がり位置に対応した
不連続部を有するSAW波形Cとそれより当該パルス波
形のパルス幅だけ遅れたSAW波形Dとを前述したよう
に発生させ、それらの不連続部をオーバーフロー検出部
111で検出する。そして、奇数個(図示する例におい
ては3個)のステップ読み出し部112〜114を設
け、これらのステップ読み出し部112〜114を用い
て、前記オーバーフロー検出部111からのオーバーフ
ロー検出信号に対応して、順次立ち下がりあるいは立ち
上がりに対応する帯域制限されたステップ応答波形を読
み出すようにし、これらからの出力を加算器115にお
いて加算して帯域制限された幅の狭いパルス波形を出力
する。
FIG. 12 is a diagram for explaining the outline of this embodiment. In this figure, (a) shows an example of a generated rectangular wave. When a pulse narrower than the sampling period is generated as shown in this figure, the output of the pulse indicated by A in the figure is output. It will not be generated. In order to prevent this, (b) of the figure
As described above, the SAW waveform C having a discontinuous portion corresponding to the rising position of the rectangular wave and the SAW waveform D delayed from the pulse waveform by the pulse width of the pulse waveform are generated as described above, and the discontinuous Is detected by the overflow detection unit 111. An odd number (three in the illustrated example) of step readout units 112 to 114 are provided, and by using these step readout units 112 to 114, in response to an overflow detection signal from the overflow detection unit 111, The band-limited step response waveforms corresponding to the falling or the rising are sequentially read, and the outputs from these are added by the adder 115 to output a band-limited narrow pulse waveform.

【0047】例えば、図12の(b)に示すSAW波形
Cの不連続部(1)に対応するオーバーフロー検出部1
11の出力により、第1のステップ読み出し部112か
ら立ち下がりのステップ波形を読み出し、SAW波形D
の不連続部(2)に対応して第2のステップ読み出し部
113から立ち上がりに対応するステップ波形を読み出
す。次に、SAW波形Cの不連続部(3)に対応して第
3のステップ読み出し部114から立ち下がりに対応す
るステップ波形を読み出し、SAW波形Dの不連続部
(4)に対応して前記第1のステップ読み出し部から立
ち上がりに対応するステップ波形を読み出すようにす
る。すなわち、各ステップ読み出し部111〜113は
それぞれ立ち下がり、立ち上がり波形を交互に読み出す
ようになされている。このように、奇数個のステップ読
み出し部を設け、順次、立ち下がりおよび立ち上がりの
ステップ波形を読み出すことにより、1サンプル周期内
において立ち上がりと立ち下がりが生じるような幅の狭
いパルス波形についても、所定の帯域制限を受けた波形
を生成することが可能となる。
For example, the overflow detector 1 corresponding to the discontinuous portion (1) of the SAW waveform C shown in FIG.
11, the falling step waveform is read from the first step reading unit 112, and the SAW waveform D
The step waveform corresponding to the rising edge is read from the second step reading unit 113 in correspondence with the discontinuous portion (2). Next, a step waveform corresponding to the falling edge is read from the third step reading unit 114 corresponding to the discontinuous portion (3) of the SAW waveform C, and the step waveform corresponding to the discontinuous portion (4) of the SAW waveform D is read out. A step waveform corresponding to the rising edge is read from the first step reading unit. That is, each of the step readout units 111 to 113 alternately reads the falling and rising waveforms. In this manner, by providing an odd number of step reading units and sequentially reading the falling and rising step waveforms, a predetermined pulse waveform having a narrow width in which rising and falling occur within one sample period can be obtained. It is possible to generate a band-limited waveform.

【0048】図13は、この実施の形態において実行さ
れる処理のフローチャートを示す図である。ここで、f
は、次に読み出すステップ波形が立ち上がり波形である
のか立ち下がり波形であるのかを指示するためのフラグ
であり、f=0のときは次に読み出すのは立ち下がり波
形であることを表わし、f=1のときは次に立ち上がり
波形を読み出すことを表している。
FIG. 13 is a diagram showing a flowchart of the processing executed in this embodiment. Where f
Is a flag for indicating whether the next step waveform to be read is a rising waveform or a falling waveform. When f = 0, it indicates that the next waveform to be read next is a falling waveform. A value of 1 indicates that a rising waveform is read next.

【0049】この処理が開始されると、まず、ステップ
S11において、前記フラグfが0であるか否かを判定
する。この結果YESのときはステップS12に進み、
前記SAW波形C(図12(b))のオーバーフローが
発生したかどうか判定する。ここで、オーバーフローが
発生したときは、ステップ読み出し部112〜114の
いずれか(これらは、順番に起動される)に対し、前記
フラグfにより指示されている立ち下がり波形の読出を
起動し(S13)、前記フラグfを1にセットする(S
14)。そして、ステップS18に進む。一方、前記S
12においてSAW波形のオーバーフローが検出されな
かったときも、次のステップS18に進む。また、前記
ステップS11においてフラグfが0でない場合は、S
15に進み、遅れたSAW波形Dのオーバフローが発生
したかどうか判定する。ここで、オーバフローが発生し
たときは、ステップ読み出し部112〜114のいずれ
かに対し、フラグfで指示される立ち上がりの波形読み
出しを起動し(S16)、フラグfを0にクリアする
(S17)。前記S15でオーバフローしなかった場合
は、ステップS18に進む。
When this process is started, first, in step S11, it is determined whether or not the flag f is 0. If the result is YES, proceed to step S12,
It is determined whether or not an overflow of the SAW waveform C (FIG. 12B) has occurred. Here, when an overflow occurs, the reading of the falling waveform designated by the flag f is started for one of the step reading units 112 to 114 (these are sequentially started) (S13). ), And sets the flag f to 1 (S
14). Then, the process proceeds to step S18. On the other hand, the S
When the overflow of the SAW waveform is not detected in step 12, the process proceeds to the next step S18. If the flag f is not 0 in step S11,
Proceeding to 15, it is determined whether an overflow of the delayed SAW waveform D has occurred. Here, when an overflow occurs, one of the step reading units 112 to 114 starts reading the rising waveform indicated by the flag f (S16), and clears the flag f to 0 (S17). If the overflow has not occurred in step S15, the process proceeds to step S18.

【0050】ステップS18以下は、前記S11〜S1
7と全く同様の処理を行う。これは、1サンプル内に、
立ち上がりと立ち下がり(または、その逆)が、同時に
存在する可能性があるためである。このようにして、奇
数個設けられたステップ読み出し部に対して、順次、立
ち下がりあるいは立ち上がりステップ波形の読出を行わ
せることにより、前述したパルス幅の狭いパルス波形を
発生させることができる。
Step S18 and subsequent steps are performed in steps S11 to S1.
The same processing as in step 7 is performed. This is within one sample
This is because rising and falling (or vice versa) may be present simultaneously. In this manner, by sequentially reading the falling or rising step waveform from the odd number of step reading sections, the pulse waveform having the narrow pulse width can be generated.

【0051】次に、本発明のさらに他の実施の形態につ
いて説明する。この実施の形態は、帯域制限された三角
波を発生させるものである。図14は、この実施の形態
について説明するための図面であり、図14の(a)は
その機能構成の概略を示すブロック図、(b)は(a)
に示すブロック図の各部における出力波形を示す図であ
る。この図において、121は周波数ナンバfを入力す
るための入力端子であり、−1〜+1の間の周波数ナン
バfがこの端子121から入力される。122は前記周
波数ナンバfと遅延回路123からの出力を加算するモ
ジュロ加算器、123は前記モジュロ加算器122の出
力を1サンプリング周期だけ遅延する遅延回路である。
このモジュロ加算器122と遅延回路123によりデジ
タル積分回路が構成されており、その出力Aは帯域制限
されていないSAW波形となる。
Next, still another embodiment of the present invention will be described. In this embodiment, a band-limited triangular wave is generated. FIGS. 14A and 14B are diagrams for explaining this embodiment. FIG. 14A is a block diagram schematically showing the functional configuration, and FIG. 14B is a block diagram.
FIG. 6 is a diagram showing output waveforms at various parts in the block diagram shown in FIG. In this figure, reference numeral 121 denotes an input terminal for inputting a frequency number f, and a frequency number f between -1 and +1 is input from this terminal 121. Reference numeral 122 denotes a modulo adder for adding the frequency number f and the output from the delay circuit 123, and reference numeral 123 denotes a delay circuit for delaying the output of the modulo adder 122 by one sampling period.
A digital integration circuit is constituted by the modulo adder 122 and the delay circuit 123, and the output A thereof has a SAW waveform that is not band-limited.

【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とな
る。
Reference numeral 124 denotes a sine wave output y (y = −) corresponding to the output A of the modulo adder 122 as an address x.
(sin πx). The sine table 124 outputs a sine wave output B as shown in FIG. A multiplier 125 multiplies the sine wave output B by a constant “2 / π”. Such multiplication by 2 / π makes the maximum value of the slope of the output triangular wave and that of the sine wave the same. To do that. Note that the multiplier 125 does not necessarily have to be provided. An adder 126 modulo-adds the output A of the modulo adder 122 and a constant "-0.25". The output of the adder 126 is an output C obtained by phase-shifting the output A by 90 [deg.]. .

【0053】127は、前記モジュロ加算器126の出
力Cが入力され、その絶対値を出力する絶対値回路、1
28は該絶対値回路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に示す三角波としている。
Reference numeral 127 denotes an absolute value circuit which receives the output C of the modulo adder 126 and outputs its absolute value.
28 indicates “−” with respect to the absolute value output from the absolute value circuit 127.
An adder 129 for adding 0.5 ”is a shift circuit for multiplying the output of the adder 128 by a constant“ 2 ”. The output D of the shift circuit 129 is an output as shown in FIG. D. From the absolute value circuit 127, the output C
Is returned at the 0 level, and a triangular wave having an amplitude of 0 to +1 is output.
The level is shifted to a triangular wave having an amplitude of 0.5 to +0.5, and is further multiplied by a constant 2 in the shift circuit 129 to convert the amplitude of the triangular wave to -1 to +1 to obtain a triangular wave indicated by D. And

【0054】130は、前記周波数ナンバfに対応して
補間係数kを出力する補間係数発生部であり、例えば、
k=a・f+b(a,bは定数)等の式に基づいて、補
間係数kを出力する。この補間係数kは、後述するよう
に、発生する三角波の頂点に対応する部分を正弦波によ
り補間して帯域制限を加えるときの修正量を決定する係
数であり、例えば、周波数ナンバfが小さく、発生すべ
き三角波の周波数が低いときは、補間係数kの値を小さ
くして補間量の少ない三角波を出力し、周波数ナンバf
が大きく高い周波数の三角波を発生するときには大きな
値の補間係数を発生して、サイン波による修正量を大き
くするようになされている。
An interpolation coefficient generator 130 outputs an interpolation coefficient k corresponding to the frequency number f.
An interpolation coefficient k is output based on an expression such as k = a · f + b (a and b are constants). As will be described later, the interpolation coefficient k is a coefficient for determining a correction amount when a band corresponding to a vertex of a generated triangular wave is interpolated by a sine wave to apply a band limitation. For example, the frequency number f is small, When the frequency of the triangular wave to be generated is low, the value of the interpolation coefficient k is reduced to output a triangular wave with a small amount of interpolation, and the frequency number f
When a large triangular wave of high frequency is generated, a large interpolation coefficient is generated to increase the correction amount by the sine wave.

【0055】131は前記シフト回路129からの帯域
制限されていない三角波と前記補間係数発生部130か
ら出力される補間係数kとを乗算する乗算器であり、1
32は前記乗算器125から出力される正弦波波形と前
記補間係数発生器130からの補間係数kとを乗算する
乗算器である。また、133は、前記乗算器132から
出力される前記正弦波波形B×k、前記シフト回路12
9から出力される三角波D、および、前記乗算器131
の出力D×kの極性の反転した波形を加算する加算器で
ある。これにより、前記加算器133の出力は、k・B
+D−k・D=k・B+(1−k)・Dとなる。これに
より、前記補間係数kにより決定される混合比に従っ
て、正弦波で補間された三角波波形出力Eが得られるこ
ととなる。
A multiplier 131 multiplies the triangular wave whose band is not limited by the shift circuit 129 and the interpolation coefficient k output from the interpolation coefficient generator 130.
32 is a multiplier for multiplying the sine wave output from the multiplier 125 by the interpolation coefficient k from the interpolation coefficient generator 130. 133 denotes the sinusoidal waveform B × k output from the multiplier 132, and the shift circuit 12
9 and the multiplier 131
Is an adder for adding the inverted waveform of the output D × k. Thus, the output of the adder 133 is k · B
+ D−k · D = k · B + (1−k) · D. As a result, a triangular waveform output E interpolated with a sine wave is obtained according to the mixture ratio determined by the interpolation coefficient k.

【0056】このように、この実施の形態によれば、発
生する周波数に応じて帯域制限された三角波を発生する
ことが可能となり、エイリアジングを防止することが可
能となる。なお、前記補間係数発生部130としては、
前述したような演算式を用いて周波数ナンバfに対応す
る補間係数kを演算出力するものに限られることはな
く、例えば、テーブルを参照するタイプのものとするこ
ともできる。
As described above, according to the present embodiment, it is possible to generate a triangular wave whose band is limited according to the frequency to be generated, and to prevent aliasing. In addition, as the interpolation coefficient generating unit 130,
The present invention is not limited to the one that calculates and outputs the interpolation coefficient k corresponding to the frequency number f using the above-described arithmetic expression. For example, a type that refers to a table may be used.

【0057】[0057]

【発明の効果】以上説明したように、本発明の波形発生
器によれば、波形レベルで帯域制限された鋸歯状波、矩
形波、三角波等のパルス波形データを発生させることが
可能となる。また、そのときに、発生する波形のピッチ
にかかわらず、不連続点の帯域を制限した理想的な波形
を出力させることが可能となり、アナログシンセサイザ
風の音色を発生させることができる。
As described above, according to the waveform generator of the present invention, it is possible to generate pulse waveform data such as a sawtooth wave, a rectangular wave, and a triangular wave whose band is limited by the waveform level. Also, at that time, regardless of the pitch of the generated waveform, it is possible to output an ideal waveform in which the band of the discontinuous point is limited, and it is possible to generate a tone color similar to an analog synthesizer.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 本発明の波形発生器の一実施の形態である鋸
歯状波発生器の一構成例を示すブロック図およびその各
部の波形の例を示す図である。
FIG. 1 is a block diagram showing a configuration example of a sawtooth wave generator which is an embodiment of a waveform generator of the present invention, and a diagram showing an example of a waveform of each part thereof.

【図2】 図1に示した鋸歯状波発生器における窓関数
を生成するための手段を説明するための図である。
FIG. 2 is a diagram for describing a means for generating a window function in the sawtooth wave generator shown in FIG.

【図3】 図1に示した鋸歯状波発生器の変形例を示す
図である。
FIG. 3 is a diagram showing a modified example of the sawtooth wave generator shown in FIG.

【図4】 図1に示した鋸歯状波発生器における窓関数
を生成するための他の手段を説明するための図である。
FIG. 4 is a diagram for explaining another means for generating a window function in the sawtooth wave generator shown in FIG. 1;

【図5】 本発明の波形発生器の他の実施の形態である
鋸歯状波発生器の他の構成例の原理を説明するための図
である。
FIG. 5 is a diagram for explaining the principle of another configuration example of the sawtooth wave generator which is another embodiment of the waveform generator of the present invention.

【図6】 図5に示した原理に基づいて構成された鋸歯
状波発生器の構成例を示す図である。
FIG. 6 is a diagram illustrating a configuration example of a sawtooth wave generator configured based on the principle illustrated in FIG. 5;

【図7】 図6に示した鋸歯状波発生器の各部の波形の
一例を示す図である。
FIG. 7 is a diagram showing an example of a waveform of each part of the sawtooth wave generator shown in FIG.

【図8】 図6に示した鋸歯状波発生器における差分テ
ーブルの読み出しを説明するための図である。
FIG. 8 is a diagram for explaining reading of a difference table in the sawtooth wave generator shown in FIG. 6;

【図9】 図6に示した鋸歯状波発生器における修正デ
ータについて説明するための図である。
FIG. 9 is a diagram for describing correction data in the sawtooth wave generator shown in FIG.

【図10】 高いピッチの鋸歯状波波形データを発生す
ることができるようになされた鋸歯状波発生器の構成例
を示すブロック図である。
FIG. 10 is a block diagram showing a configuration example of a saw-tooth wave generator configured to generate sawtooth waveform data having a high pitch.

【図11】 本発明の波形発生器の他の実施の形態であ
る矩形波発生器の原理を説明するための図である。
FIG. 11 is a diagram for explaining the principle of a rectangular wave generator which is another embodiment of the waveform generator according to the present invention.

【図12】 本発明の波形発生器のさらに他の実施の形
態であるサンプリング周期よりも短いパルス幅を有する
矩形波発生器の動作原理を説明するための図である。
FIG. 12 is a diagram for explaining an operation principle of a rectangular wave generator having a pulse width shorter than a sampling period, which is still another embodiment of the waveform generator of the present invention.

【図13】 図12に示した矩形波発生器の動作を説明
するためのフローチャートである。
FIG. 13 is a flowchart for explaining the operation of the rectangular wave generator shown in FIG.

【図14】 本発明の波形発生器のさらに他の実施の形
態である三角波発生器の一構成例を示すブロック図と、
その各部の波形の一例を示す図である。
FIG. 14 is a block diagram illustrating a configuration example of a triangular wave generator as still another embodiment of the waveform generator according to the present invention;
It is a figure showing an example of a waveform of each part.

【符号の説明】[Explanation of symbols]

1、51、121 入力端子、2、5、52、56、6
0、63、69、74、83、88、95、115、1
22、126、128、133 加算器、3、53、5
4、64、70、82、89、96、123 遅延回
路、4、55 逆数テーブル、6、11、57、59、
73、125、131、132 乗算器、7、58、7
1、98、129 シフタ、8、72、99 リミッ
タ、9、13、65、91、127 絶対値回路、10
窓関数テーブル、12、75、134 出力端子、2
1 周波数応答設定部、22、28 逆FFT部、2
3、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 補間係数発生部
1, 51, 121 input terminals, 2, 5, 52, 56, 6
0, 63, 69, 74, 83, 88, 95, 115, 1
22, 126, 128, 133 Adders, 3, 53, 5
4, 64, 70, 82, 89, 96, 123 delay circuit, 4, 55 reciprocal table, 6, 11, 57, 59,
73, 125, 131, 132 Multiplier, 7, 58, 7
1, 98, 129 shifter, 8, 72, 99 limiter, 9, 13, 65, 91, 127 absolute value circuit, 10
Window function table, 12, 75, 134 output terminal, 2
1 frequency response setting unit, 22, 28 inverse FFT unit, 2
3, 32 window section, 24, 26 FFT section, 25
SAW waveform generator, 27 complex multiplier, 29 divider,
31 SINC function generator, 33 step waveform generator, 34 convolution calculator, 61, 111 overflow detector, 62, 68, 81, 85, 86, 87,
90, 94, 97 selector switch, 66, 92 difference table, 67, 93 buffer amplifier, 84 code detector, 112 to 114 step readout unit, 124 sine table, 120 interpolation coefficient generator

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 デジタル処理により所定のパルス波形
データを発生するパルス波形発生手段と、 前記パルス波形に対して所定の帯域制限を施した場合に
おける前記パルス波形に対する修正データを発生する修
正データ発生手段と、 前記パルス波形における不連続点の近傍のサンプリング
点において、前記修正データ発生手段の出力に基づいて
前記パルス波形発生手段の出力を修正する修正手段とを
有することを特徴とする波形発生器。
1. A pulse waveform generating means for generating predetermined pulse waveform data by digital processing, and a correction data generating means for generating correction data for the pulse waveform when a predetermined band limitation is applied to the pulse waveform. And a correction means for correcting the output of the pulse waveform generation means based on the output of the correction data generation means at a sampling point near a discontinuous point in the pulse waveform.
【請求項2】 前記所定のパルス波形データは鋸歯状
波波形データであり、前記修正データ発生手段は帯域制
限された窓関数データを発生する窓関数テーブルであ
り、前記修正手段は前記パルス波形と前記窓関数テーブ
ルの出力データとを乗算する乗算器であることを特徴と
する前記請求項1記載の波形発生器。
2. The method according to claim 1, wherein the predetermined pulse waveform data is sawtooth waveform data, the correction data generating means is a window function table for generating band-limited window function data, and wherein the correction means 2. The waveform generator according to claim 1, wherein the multiplier is a multiplier that multiplies output data of the window function table.
【請求項3】 前記所定のパルス波形データは鋸歯状
波波形データであり、前記修正データ発生手段はステッ
プ波形と帯域制限されたステップ応答との差分に対応す
る修正データを発生するものであり、前記修正手段は前
記鋸歯状波波形データから前記修正データを減算する減
算器であることを特徴とする前記請求項1記載の波形発
生器。
3. The predetermined pulse waveform data is sawtooth waveform data, and the correction data generating means generates correction data corresponding to a difference between a step waveform and a band-limited step response. 2. The waveform generator according to claim 1, wherein said correction means is a subtractor for subtracting said correction data from said sawtooth waveform data.
【請求項4】 前記所定のパルス波形データは矩形波
波形データであり、前記修正データ発生手段はステップ
波形と帯域制限されたステップ応答との差分に対応する
修正データを発生するものであり、前記修正手段は前記
矩形波波形データから前記修正データを減算する減算器
であることを特徴とする前記請求項1記載の波形発生
器。
4. The method according to claim 1, wherein the predetermined pulse waveform data is rectangular waveform data, and the correction data generating means generates correction data corresponding to a difference between a step waveform and a band-limited step response. 2. The waveform generator according to claim 1, wherein said correction means is a subtracter for subtracting said correction data from said rectangular waveform data.
【請求項5】 帯域制限されたステップ応答に対応す
るデータを発生する手段を奇数個有し、それらを順に起
動することにより帯域制限された矩形波を発生するよう
になされていることを特徴とする波形発生器。
5. The method according to claim 1, further comprising the step of generating an odd number of means for generating data corresponding to the band-limited step response, and generating a band-limited rectangular wave by sequentially activating them. Waveform generator.
【請求項6】 デジタル演算により三角波波形データ
を発生する手段と、正弦波波形データを発生する手段
と、発生する波形の周波数に対応した補間係数を発生す
る手段と、前記補間係数により決定される混合比率に応
じて前記三角波波形データと前記正弦波波形データとを
合成する手段とを有することを特徴とする帯域制限され
た三角波を発生する波形発生器。
6. A means for generating triangular wave waveform data by digital operation, a means for generating sine wave waveform data, a means for generating an interpolation coefficient corresponding to the frequency of the generated waveform, and the means for determining the interpolation coefficient. A waveform generator for generating a band-limited triangular wave, comprising: means for synthesizing the triangular wave waveform data and the sine wave waveform data according to a mixing ratio.
JP30945097A 1997-10-27 1997-10-27 Waveform generator Expired - Fee Related JP3539164B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30945097A JP3539164B2 (en) 1997-10-27 1997-10-27 Waveform generator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30945097A JP3539164B2 (en) 1997-10-27 1997-10-27 Waveform generator

Publications (2)

Publication Number Publication Date
JPH11133966A true JPH11133966A (en) 1999-05-21
JP3539164B2 JP3539164B2 (en) 2004-07-07

Family

ID=17993150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30945097A Expired - Fee Related JP3539164B2 (en) 1997-10-27 1997-10-27 Waveform generator

Country Status (1)

Country Link
JP (1) JP3539164B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3789998A1 (en) 2019-09-04 2021-03-10 Roland Corporation Musical sound generation method, musical sound generation device, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3789998A1 (en) 2019-09-04 2021-03-10 Roland Corporation Musical sound generation method, musical sound generation device, and program
US11735152B2 (en) 2019-09-04 2023-08-22 Roland Corporation Musical sound generation method, musical sound generation device, and recording medium

Also Published As

Publication number Publication date
JP3539164B2 (en) 2004-07-07

Similar Documents

Publication Publication Date Title
JP2926615B2 (en) SSB signal generator
JP2623942B2 (en) Music signal generator
JPH0792995A (en) Signal processing system for performing real-time pitch shifting and method thereof
JPH10200594A (en) Symbol-timing restoring circuit in digital demodulator
KR20030028816A (en) Noise-shaped digital frequency synthesis
JP3760385B2 (en) Method and apparatus for quadratic interpolation
JP2002506603A (en) Sample rate converter using polynomial interpolation
JPH0823231A (en) Fm modulation circuit
JPH1050001A (en) Reproducing device and its method
JP2659608B2 (en) DA converter
JP3539164B2 (en) Waveform generator
US5892692A (en) Method for generating a lookup table for a digital oscillator
JPH1075122A (en) Method for demodulating fm signal and device therefor
JPS59200585A (en) Device for generating interpolating signal
US6894966B1 (en) Interpolation circuit
JP3399272B2 (en) Music sound generating apparatus and music sound generating method
JP4095206B2 (en) Waveform generating method and apparatus
JP2003318674A (en) Gain adjustment apparatus
JPH0792970A (en) Interval variation adding device
JPH0710411Y2 (en) Signal generator
JP3566613B2 (en) Tone generator and digital tone generation method
JP2671648B2 (en) Digital data interpolator
JPH0690637B2 (en) Interpolation method
JP3106530B2 (en) Musical instrument for electronic musical instruments
JPH0766726A (en) D/a conversion device

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 (=grant) 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 (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

FPAY Renewal fee payment (prs 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