14arr_real design_multirate_fir(
int interp,
int decim,
int hlen = 12, real_t astop = 90);
25 [[nodiscard]]
virtual int delay()
const noexcept {
29 [[nodiscard]]
virtual int decim_rate()
const noexcept {
33 [[nodiscard]]
virtual int interp_rate()
const noexcept {
37 [[nodiscard]]
int next_size(
int size)
const noexcept {
38 return IResampler::next_size(size, this->interp_rate(), this->decim_rate());
41 [[nodiscard]]
int prev_size(
int size)
const noexcept {
42 return IResampler::prev_size(size, this->interp_rate(), this->decim_rate());
46 static std::vector<arr_real> polyphase(
span_real h,
int m, real_t gain = 1.0,
bool flip_coeffs =
false);
49 static int next_size(
int size,
int p,
int q);
50 static int prev_size(
int size,
int p,
int q);
53 static std::pair<int, int> simplify(
int p,
int q);