Я разработал цифровой фильтр, используя fdatool из Matlab, и получил коэффициенты фильтра из инструмента.
Проблема в том, что я разработал фильтр 4-го порядка. Это дало мне 5 значений фильтра
h[] = {0.1930,0.2035,0.2071,0.2035,0.1930}
x[k] = Discrete time input signal
Теперь по формуле
Output = h[k]*x[n-k];
Выходные данные представляют собой окончательное отфильтрованное значение. Хотя результаты идут хорошо, но я не могу выяснить, как эти коэффициенты получаются с помощью Matlab и как простое умножение (свертка) дает окончательный отфильтрованный ответ для любой выборки.
Подойдет любая ссылка или объяснение. Я хотел бы знать полную внутреннюю работу расчета коэффициента фильтра.
Пожалуйста, прокомментируйте, если я где-то не уверен в своих сомнениях.
Благодарность :)
fdatool
)?Ответы:
Мы можем попробовать очень краткое введение:
источник
«Руководство по DSP для ученых и инженеров» - это исключительное (imo) вводное чтение. Это дает вам все понятия, не подавляя новичка со всей математикой.
источник
вау ... этот вопрос является предметом целого курса университетского уровня по дискретным сигналам времени и системам. В двух словах, h называется импульсным откликом и тесно связана (через преобразование Фурье). Он характеризует систему (например, фильтр) во временной области. В системах с дискретным временем это «выборочная» форма, а коэффициенты представляют выборки для «конечной импульсной характеристики» или КИХ-фильтра. Вот достойная статья на эту тему, но, честно говоря, вам нужен учебник, чтобы получить полное понимание.
источник