Fourier
複数の周波数の正弦波を重ね合わせた波形を生成するModulation
.
use autd3::modulation::{Fourier, FourierOption};
use autd3::prelude::*;
fn main() {
let _ =
Fourier {
components: vec![
Sine {
freq: 100 * Hz,
option: Default::default(),
},
Sine {
freq: 150 * Hz,
option: Default::default(),
},
],
option: FourierOption {
scale_factor: None,
clamp: false,
offset: 0x00,
},
};
}
#include<autd3.hpp>
#include <autd3/modulation/fourier.hpp>
int main() {
using namespace autd3;
modulation::Fourier({Sine(100 * Hz, SineOption{}),
Sine(150 * Hz, SineOption{})},
modulation::FourierOption{
.scale_factor = std::nullopt,
.clamp = false,
.offset = 0x00,
});
return 0; }
using AUTD3Sharp.Modulation;
using static AUTD3Sharp.Units;
new Fourier(
components: [
new Sine(freq: 100u * Hz, option: new SineOption()),
new Sine(freq: 150u * Hz, option: new SineOption())
],
option: new FourierOption
{
ScaleFactor = null,
Clamp = false,
Offset = 0x00
}
);
from pyautd3 import Hz, Sine, SineOption
from pyautd3.modulation import Fourier, FourierOption
Fourier(
components=[
Sine(freq=100 * Hz, option=SineOption()),
Sine(freq=150 * Hz, option=SineOption()),
],
option=FourierOption(
scale_factor=None,
clamp=False,
offset=0x00,
),
)
スケールファクタと値のクランプ
Fourier
の計算は, 以下の式で行われる,
スケールファクタが指定されていない場合, が使用される.
clamp
がfalse
だと, 上記の式においての範囲外の値になるようなintensity, offset
が指定された場合にエラーを返す.
エラーを返すのではなく, 範囲外の値をにクランプする場合は, clamp
にtrue
を指定する.
これらの値のデフォルトは上記の通りである.