CubicLagrangeAsrc
4サンプル窓のCubic補間を使うASRC
初期化時に4サンプルを受け取り、出力tickごとに分数位相を進める。
ratioが整数部Nを持つ場合は、窓をNサンプル進めて不足分をFIFOから補充する。Cubic補間のため、最初の出力は初期窓の2番目のsample位置になる。
Parameters
| SAMPLE_WIDTH | u32 | 入出力サンプルの符号付きビット幅 |
|---|---|---|
| PHASE_WIDTH | u32 | `ratio`の小数部ビット幅 |
| INPUT_DEPTH | u32 | 入力FIFOの深さ |
Ports
| clk | input | clock | システムクロック | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rst | input | reset | リセット | ||||||||||||||||||||
| input_valid | input | logic | 入力サンプル有効 | ||||||||||||||||||||
| input_ready | output | logic | 入力受理可能 | ||||||||||||||||||||
| input_sample | input | signedlogic| 入力サンプル
|
output_tick |
input |
logic |
出力生成要求
|
output_ready |
output |
logic |
出力窓が準備済み
|
output_valid |
output |
logic |
出力サンプル有効
|
output_sample |
output |
signedlogic | 補間後の出力サンプル
|
ratio |
input |
logic | 出力1回あたりの入力進行量
|
|