loxx

Variety, Low-Pass, FIR Filter Impulse Response Explorer [Loxx]

Variety Low-Pass FIR Filter, Impulse Response Explorer is a simple impulse response explorer of 16 of the most popular FIR digital filtering windowing techniques. Y-values are the values of the coefficients produced by the selected algorithms; X-values are the index of sample. This indicator also allows you to turn on Sinc Windowing for all window types except for Rectangular, Triangular, and Linear. This is an educational indicator to demonstrate the differences between popular FIR filters in terms of their coefficient outputs. This is also used to compliment other indicators I've published or will publish that implement advanced FIR digital filters (see below to find applicable indicators).

Inputs:
  • Number of Coefficients to Calculate = Sample size; for example, this would be the period used in SMA or WMA
  • FIR Digital Filter Type = FIR windowing method you would like to explore
  • Multiplier (Sinc only) = applies a multiplier effect to the Sinc Windowing
  • Frequency Cutoff = this is necessary to smooth the output and get rid of noise. the lower the number, the smoother the output.
  • Turn on Sinc? = turn this on if you want to convert the windowing function from regular function to a Windowed-Sinc filter
  • Order = This is used for power of cosine filter only. This is the N-order, or depth, of the filter you wish to create.

What are FIR Filters?
In discrete-time signal processing, windowing is a preliminary signal shaping technique, usually applied to improve the appearance and usefulness of a subsequent Discrete Fourier Transform. Several window functions can be defined, based on a constant (rectangular window), B-splines, other polynomials, sinusoids, cosine-sums, adjustable, hybrid, and other types. The windowing operation consists of multipying the given sampled signal by the window function. For trading purposes, these FIR filters act as advanced weighted moving averages.

A finite impulse response (FIR) filter is a filter whose impulse response (or response to any finite length input) is of finite duration, because it settles to zero in finite time. This is in contrast to infinite impulse response (IIR) filters, which may have internal feedback and may continue to respond indefinitely (usually decaying).

The impulse response (that is, the output in response to a Kronecker delta input) of an Nth-order discrete-time FIR filter lasts exactly {\displaystyle N+1}N+1 samples (from first nonzero element through last nonzero element) before it then settles to zero.

FIR filters can be discrete-time or continuous-time, and digital or analog.

A FIR filter is (similar to, or) just a weighted moving average filter, where (unlike a typical equally weighted moving average filter) the weights of each delay tap are not constrained to be identical or even of the same sign. By changing various values in the array of weights (the impulse response, or time shifted and sampled version of the same), the frequency response of a FIR filter can be completely changed.

An FIR filter simply CONVOLVES the input time series (price data) with its IMPULSE RESPONSE. The impulse response is just a set of weights (or "coefficients") that multiply each data point. Then you just add up all the products and divide by the sum of the weights and that is it; e.g., for a 10-bar SMA you just add up 10 bars of price data (each multiplied by 1) and divide by 10. For a weighted-MA you add up the product of the price data with triangular-number weights and divide by the total weight.

What's a Low-Pass Filter?
A low-pass filter is the type of frequency domain filter that is used for smoothing sound, image, or data. This is different from a high-pass filter that is used for sharpening data, images, or sound.

Whats a Windowed-Sinc Filter?
Windowed-sinc filters are used to separate one band of frequencies from another. They are very stable, produce few surprises, and can be pushed to incredible performance levels. These exceptional frequency domain characteristics are obtained at the expense of poor performance in the time domain, including excessive ripple and overshoot in the step response. When carried out by standard convolution, windowed-sinc filters are easy to program, but slow to execute.

The sinc function sinc (x), also called the "sampling function," is a function that arises frequently in signal processing and the theory of Fourier transforms.

In mathematics, the historical unnormalized sinc function is defined for x ≠ 0 by

sinc x = sinx / x

In digital signal processing and information theory, the normalized sinc function is commonly defined for x ≠ 0 by

sinc x = sin(pi * x) / (pi * x)

For our purposes here, we are used a normalized Sinc function

Included Windowing Functions
  • N-Order Power-of-Cosine (this one is really N-different types of FIR filters)
  • Hamming
  • Hanning
  • Blackman
  • Blackman Harris
  • Blackman Nutall
  • Nutall
  • Bartlet Zero End Points
  • Bartlet-Hann
  • Hann
  • Sine
  • Lanczos
  • Flat Top
  • Rectangular
  • Linear
  • Triangular

If you wish to dive deeper to get a full explanation of these windowing functions, see here: https://en.wikipedia.org/wiki/List_of_window_functions

Related indicators
STD-Filtered, Variety FIR Digital Filters w/ ATR Bands

STD/C-Filtered, N-Order Power-of-Cosine FIR Filter

STD/C-Filtered, Truncated Taylor Family FIR Filter

STD/Clutter-Filtered, Kaiser Window FIR Digital Filter

STD/Clutter Filtered, One-Sided, N-Sinc-Kernel, EFIR Filt

Public Telegram Group, t.me/algxtrading_public

VIP Membership Info: www.patreon.com/algxtrading/membership
开源脚本

本着真正的TradingView精神,该脚本的作者将其开源发布,以便交易者可以理解和验证它。为作者喝彩!您可以免费使用它,但在出版物中重复使用此代码受网站规则的约束。 您可以收藏它以在图表上使用。

免责声明

这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。

想在图表上使用此脚本?