У меня есть базовый фильтр с КИХ-фильтром 121 отводов и длиной состояния фильтра 120. Я могу заставить его работать в matlab, но не могу понять, какое состояние фильтра сохранить. Я смотрю на состояние фильтра Matlab снаружи, и оно не соответствует и data_in. Я передаю данные в потоковом режиме, поэтому мне нужно, чтобы каждая итерация была собрана, чтобы эквивалентно фильтрации всего сразу.
for (int i = 0; i <16000; i++){
for (int j = 0; j <121; j++){
{
if (j > i){
data_out[out] += filter[j] * data_in[j - i];
}
}
}
memcpy(&filter_state_save[0], data_in[16000-120], 120*sizeof(data_in));
Разве это не нормально, когда состояние фильтра близко к концу data_in?