HalfbandInterpolator2x
2倍補間用の固定係数halfband FIR
COEFFICIENT_SETは1段目(103tap)または2段目(39tap)を選ぶ。
係数はQ2.(COEFFICIENT_WIDTH - 2)、入力と出力はQ1.(SAMPLE_WIDTH - 1)とする。
halfbandの対称性を使い、非ゼロ係数の対称tapを1回の積和へまとめる。
もう一方のpolyphaseは中心係数が1なので、遅延入力をそのまま出力する。
input_valid && input_readyで1入力を受理し、MAC完了後にeven、oddの順で2出力を生成する。
output_valid && !output_readyの間は同じpayloadを保持し、2出力目が受理されるまで次の入力を受け付けない。
Parameters
| SAMPLE_WIDTH | u32 | 入出力サンプルのビット幅 |
|---|---|---|
| COEFFICIENT_WIDTH | u32 | 係数のビット幅 |
| ACCUMULATOR_WIDTH | u32 | MACアキュムレータのビット幅 |
| COEFFICIENT_SET | u32 | 使用する係数セット (1または2) |
Ports
| clk | input | clock | システムクロック | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rst | input | reset | リセット | ||||||||||||
| input_valid | input | bbool | 入力サンプル有効 | ||||||||||||
| input_ready | output | bbool | 入力受理可能 | ||||||||||||
| input_sample | input | signedlogic| 入力サンプル
|
output_valid |
output |
bbool |
出力サンプル有効
|
output_ready |
input |
bbool |
出力受理可能
|
output_sample |
output |
signedlogic | 補間後の出力サンプル
|
|