Veryl registryAkiyukiOkayasu/gndless-filter-veryl · gndless_filterSource ↗

Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

LpfShiftUnsigned

ビットシフトによる一次ローパスフィルタ (符号なし版) 乗算器を使用せず、シフト演算のみで実装

伝達関数: y[n] = y[n-1] + (x[n] - y[n-1]) >> SHIFT

カットオフ周波数の近似: fc ≈ fs / (2π * 2^SHIFT) 例: fs=48kHz, SHIFT=8 → fc ≈ 30Hz

SHIFT値が大きいほどカットオフ周波数が低くなり、より滑らかに補間される。 SHIFTはDATA_WIDTHより大きくても問題ない。

Parameters


DATA_WIDTH u32 入出力データ幅
SHIFT u32 シフト量 (1以上)。大きいほど低いカットオフ周波数

Ports


clk input clock システムクロック
rst input reset リセット (出力を0に初期化)
enable input bbool イネーブル信号 (trueでフィルタ更新)
x input logic 入力サンプル (符号なし)
y output logic フィルタ出力 (符号なし)