1サンプル単位で振動する信号への対処を考慮中。
- 64bit化してオーバーフロー原因かしらべる->コンパイルエラー多発。そして解決してない。オーバーフローせずに吹っ飛んでるっぽい。
- プリエンファシスをLPCで計算した1次フィルタに置き換える: 前提がほぼ崩れるので最終手段に近い。
- アサートしているのは(残差増大に伴って)Rice符号の初期パラメータが大きくなりすぎているからなので、パラメータ保存領域を大きくする
- うまく行かなかった。発散してるっぽいし、この対処だと本質的な問題(発散)を隠してる気がする。
- Riceパラメータのlog2ceilをとって記録することで5bitに確実に収まり、アサートは発生しなくなる…が、やっぱ残差が大きくなっている事実は変わらないわけで、どうするか考えるべき。テストケースは18とか出てるので大きいとおもふ。
- ブロックサンプル数を8192より大きくすると収束する
- 何故?AR係数がうまく求まるから?
固定小数のビット数を14にしたら性能向上したけど、後の検証に回す。(12,13だと性能悪化)