Если у вас есть набор данных в памяти, вы можете использовать make output[100]
в зависимости от input[105]
, если хотите. В Python или обработке сигналов нет ничего, что мешало бы вам сделать это математически, если вы понимаете, что вам нужно либо обрезать оба края, либо применить подходящие отступы.
Математически вы просто сворачиваете с помощью желаемый импульсный отклик. Например, импульсный отклик прямоугольника длиной 3 angular скользящего среднего с центром около 0 (не причинно) будет представлен как y[n] = x[n-1]/3 + x[n]/3 + x[n+1]/3. We call the values
[1/3, 1/3, 1/3] the coefficients of the non-causal FIR filter we have chosen. Actually designing a filter by choosing the best coefficients is a [mathematically complex and rich problem](https://en.wikipedia.org/wiki/Finite_impulse_response#Filter_design), but you may always obtain a MATLAB license and utilize a tool such as
fdatool` для построения фильтр в соответствии с вашими характеристиками частотной характеристики.
Для физической системы или обработки выборки в реальном времени (например, на микроконтроллере, работающем по схеме Python), это, конечно, невозможно реализовать. Предполагая дискретное преобразование и в остальном стабильную систему, непричинность проявляется в Z-преобразовании как элементы формы z ^ n для положительного n. Добавляя задержки (то есть умножая на z -1 ), вы можете сделать свой непричинный ответ причинным за счет этой дополнительной задержки. Глядя на наш предыдущий пример, такая задержка будет соответствовать тому, что output[100]
все еще будет зависеть от input[105]
, но сделает 100-ю выходную выборку доступной только для следующего этапа после того, как будет получена 105-я входная выборка.
Что касается того, чтобы сделать ваши данные более гладкими или негладкими, сглаживающий фильтр LTI обычно всегда притупляет ваши края. Вы можете либо разработать фильтр с соответствующими характеристиками, чтобы найти компромисс между притуплением краев и требованиями к сглаживанию, либо, если данные подходят, использовать подход обработки без использования LTI.