#include <osc.h>
osc::COscillatorに対する継承グラフ

発振器クラスの親となる抽象クラス。現在の位相と周波数を内部に保持する。 位相は2πを32bit符号なし整数にマッピングする。すなわち1周期を40億ステップ に分解する。 周波数は1サンプルに変化する量(dθ/dt)で指定する。32bit符号つき数である。
Public メソッド | |
| COscillator (int freq) | |
| コンストラクタ | |
| virtual void | setFreq (int freq) |
| 周波数の再設定 | |
| virtual void | setPhase (unsigned int phase) |
| 位相の再設定 | |
| virtual void | run (shortfract i[], shortfract q[], int count)=0 |
| 複素信号の生成 | |
| virtual void | run (shortfract i[], int count)=0 |
| 信号の生成 | |
| virtual void | run (shortfract i[], int deviation[], int count)=0 |
| FM信号の生成 | |
Protected 変数 | |
| unsigned int | phase |
| 内部位相 | |
| int | frequency |
| 周波数 | |
| osc::COscillator::COscillator | ( | int | freq | ) |
| void osc::COscillator::setFreq | ( | int | freq | ) | [virtual] |
周波数の再設定
| freq | 32bit 周波数。 |
参照先 frequency.
参照元 COscillator().
00016 { 00017 this->frequency = freq; 00018 }
| void osc::COscillator::setPhase | ( | unsigned int | phase | ) | [virtual] |
| virtual void osc::COscillator::run | ( | shortfract | i[], | |
| shortfract | q[], | |||
| int | count | |||
| ) | [pure virtual] |
複素信号の生成
| i | コサイン波信号の出力配列 | |
| q | サイン波信号の出力配列 | |
| count | それぞれの配列に出力するサンプル数 |
osc::CTableLookupで実装されています。
参照元 main().
| virtual void osc::COscillator::run | ( | shortfract | i[], | |
| int | count | |||
| ) | [pure virtual] |
信号の生成
| i | コサイン波信号の出力配列 | |
| count | 配列に出力するサンプル数 |
osc::CTableLookupで実装されています。
| virtual void osc::COscillator::run | ( | shortfract | i[], | |
| int | deviation[], | |||
| int | count | |||
| ) | [pure virtual] |
FM信号の生成
| i | コサイン波信号の出力配列 | |
| deviation | 周波数偏移を指定する配列 | |
| count | 配列に出力するサンプル数 |
osc::CTableLookupで実装されています。
unsigned int osc::COscillator::phase [protected] |
int osc::COscillator::frequency [protected] |
1.5.2