Finite impulse response digital filter (finite impulse re¬sponse digital filter) The unit impulse response of the digital filter h(n) contains only a class of filters with a finite number of non-zero samples, abbreviated as FIR. Its general implementation is a non-recursive structure, so it is also called a non-recursive digital filter.
The finite impulse response digital filter has the characteristics of absolute stability, and it is easy to design directly according to the impulse response technical conditions; it can achieve a symmetrical impulse response while approaching any amplitude characteristic; it can achieve strict linear phase characteristics. Because it has the above advantages, it is widely used in data communication and digital communication systems.
The design of the finite impulse response digital filter is mainly to make the value H(e) of the transfer function H(z) on the unit circle approximate the given amplitude characteristic. Commonly used design methods are: window function method, frequency sampling method and iso-corrugator assisted optimization design method. The digital filter with finite impulse response can be realized in real time by a multiply-accumulator or a general-purpose digital signal processor (DSP).
The response to the unit impulse input signal is a digital filter of finite length sequence. Its main feature is its precise linear phase characteristics. The digital filter with finite impulse response is generally implemented as a non-recursive structure, so it is also called a non-recursive digital filter. The non-recursive filter has the characteristics of absolute stability, and the output noise generated by the operation of the finite word length is also small. According to the type of signal processed, it can be divided into one-dimensional finite impulse response digital filter and two-dimensional or multi-dimensional finite impulse response digital filter.
A digital filter (digital filter) changes the signal spectrum by arithmetic processing of digital signals to complete the filtering algorithm or device. It can be realized in real time with computer software or large-scale integrated circuit hardware.
Principle The digital filter is a discrete-time system. Linear, time-invariant digital filters are the most basic digital filters, and their characteristics can be described as: set the input and output signal sequences of the digital filter to be x(n), y(n), {n=0, 1, 2...}, then the algorithm of the digital filter can be expressed by the following difference equation, that is,
Classification Digital filters are classified according to their unit impulse response h(n) properties. There are finite impulse response digital filters (FIR) and infinite impulse response digital filters (IIR). The finite impulse response digital filter (FIR) generally has no feedback path between the output and input. It is also known as a non-recursive filter and has stable characteristics. There is a feedback path between the input of infinite impulse response digital filtering (IIR), so it is called a recursive filter, which may cause oscillation when the coefficient value is not correct.
Digital filters can also be classified according to the type of signal they are processing, divided into one-dimensional digital filters and two-dimensional or multi-dimensional digital filters. The one-dimensional digital filter processes univariate function signal sequences, for example, speech signals and sampled values of time functions. Two-dimensional or multi-dimensional digital filters process function signal sequences of two or more variables. For example, the discrete signal of a two-dimensional image is a sample value of plane coordinates.
Generally analog filters are causal, linear and time-invariant. In other words, the response of the analog filter at a given moment is independent of the excitation after that moment (causality); the response to a single or multiple excitation signals meets the linear condition (linearity); the internal parameters do not change with time (Time unchanged). The digital filter can be implemented as causal or non-causal, linear or nonlinear, time-invariant or time-varying. This is the digital filter has the characteristics of flexibility, variability and adaptability, it can achieve the functions that analog filters can not achieve.
Method of use Communication signal sources are often continuous-time signals, such as voice signals and image signals. When applying digital filters to process such signals, the processed signals must be band-limited, sampled, and analog-to-digital converted, and then digitally filtered. The sampling rate of the digital filter input signal should be greater than twice the bandwidth of the signal being processed. This is because the amplitude-frequency response of the digital filter is characterized by periodic repetition at intervals of the sampling rate, and is mirror-symmetrical at the folding frequency (1/2 sampling frequency point). In order to ensure that the output spectrum does not alias after filtering, the above sampling rate requirements must be met. In order to get the output as a continuous time signal, the output of the digital filter must undergo digital-analog conversion and smooth filtering.
Design The design theory and design methods of digital filters are very mature. The finite impulse response digital filter can achieve strict linear phase characteristics and ensure absolute stability. When designing an infinite impulse response digital filter, stability issues should be considered, and the pole of its transfer function must be guaranteed to lie within the unit circle of the Z plane. Due to the application of computer-aided optimization design and simulation technology, at present, digital filter design software packages can be applied to automatically design on the computer according to the given technical indicators and give the design results that meet the requirements.
Implementation and application With the development of large-scale and ultra-large-scale integrated circuit technology, the real-time hardware implementation of digital filters has also developed rapidly. What was originally implemented using memory and adders can now be implemented with a single-chip microprocessor. Requires high processing speed and large amount of calculation can be realized in real time with a single-chip general-purpose high-speed digital signal processor (DSP) (including multiplier). High-speed or large amount of calculation can be realized by array processor. Large output and high miniaturization requirements can also be designed as an application specific integrated circuit (ASIC),
Because digital filters have high precision, high stability, high reliability, reusability, non-intrusive attenuation, and can achieve strict linear phase, they are widely used in communication engineering.
One-dimensional finite impulse response digital filter , also known as one-dimensional non-recursive digital filter, handles univariate signal sequences. The output y(n) can be directly obtained by convolution of the input sequence x(n) and the unit impulse response sequence h(n)
y(n)=n(k)x(n-k) (1)
Where N is the unit impulse response length of the digital filter. The z-transform of unit impulse response h(n) H(z) is the transfer function of the finite impulse response digital filter
H(z)=n(n)z (2)
The one-dimensional finite impulse response digital filter is implemented as a non-recursive structure. The design of the digital filter with finite impulse response is mainly to make the value of the transfer function on the unit circle H()=n(n)z (3)
Approach an ideal amplitude response Hd(). Common methods for designing a one-dimensional finite impulse response digital filter are: window function method, frequency sampling method and iso-corrugator assisted optimization design method.
Window function method The most direct way to design a finite impulse response digital filter is to truncate the infinite impulse response sequence to obtain a finite length impulse response. Suppose the required ideal frequency response is Hd(), and its unit impulse response Hd(n) is the inverse Fourier transform of Hd(). Hd(n) is a non-causal infinite sequence. In order to make the finite impulse response h(n) of the designed digital filter approach hd(n), a method of windowing hd(n) is adopted, that is, let h(n)=hd(n)w(n) (4 )
Where w(n) is a finite length window sequence. The frequency response of the designed filter can be obtained from the convolution theorem as (5) where W() is the spectral function of the window sequence w(n). Choosing the appropriate window sequence can get a better approximation to the ideal frequency response Hd(). Commonly used window sequences are rectangular windows:
(6)
Hanning window:
(7)
Hamming Window:
(8)
Blackman window:
(9)
Kaiser Window:
(10)
Where α is a design parameter that controls the width of the main lobe and the level of the side lobe,
I(·) represents the zero-order Bessel function. Figure 2 is the curve of the above five window functions. The attached table lists the performance parameters of the above five window functions.
In addition to the five window functions listed above, there are other types of window functions. The general window sequence function can be expressed as a closed function form, which is convenient for design and application. Frequency sampling method A design method of frequency domain approximation. Since the impulse response sequence of finite length can be uniquely determined by sampling values in the frequency domain with the same length, the ideal frequency response can be approximated by inserting samples at equal intervals in the frequency domain. Using the transition band sampling value as the degree of freedom of the undetermined variable, the linear programming optimization method can be used to obtain an approximation to the ideal frequency response.
Equal corrugator assisted optimization design method Using the equal ripple approximation method, the error of the approximation function and the ideal frequency response in the entire frequency domain is minimized, and then solved by the Remez method. Although this method is more complicated to calculate, it mainly uses computer-aided design, which has higher design efficiency and better effect. The shortcoming of the linear phase finite impulse response digital filter is that the delay is large. If the linear phase characteristic is not required, you can try to invert the zero of the transfer function outside the unit circle into the unit circle, and design it to have the smallest delay Digital filter with limited phase impulse response.
Two-dimensional finite impulse response digital filter Commonly known as two-dimensional non-recursive digital filter, used to process two-dimensional digital signal sequences. The output can be obtained from the input two-dimensional signal sequence x (m, n) and the unit impulse response sequence h (m, n) by two-dimensional discrete convolution
(11)
Where N1 and N2 are the dimension length of the unit impulse response of the digital filter, respectively. The two-dimensional z-transform H(z1,z2) of the unit impulse response h(m,n) is the transfer function of the two-dimensional non-recursive digital filter
(12)
Two-dimensional non-recursive digital filters have similarities to one-dimensional non-recursive digital filters. The design methods mainly include window function method, transformation method and iso-corrugator-aided design method. The two-dimensional window sequence wⅡ(m,n) of the window function method can be derived from the one-dimensional window sequence wI(k)
(13)
The window function method is easy to design and is not limited to designing zero-phase digital filters. The transformation method is to use a variable substitution method to transform a one-dimensional zero-phase non-recursive digital filter into a two-dimensional non-recursive digital filter.
This design method is more complicated and is limited to the design of zero-phase filters. The equal ripple machine aided design method can design a non-recursive digital filter with optimal characteristics.
FPGA Virtex-II Family 1.5M Gates 17280 Cells 650MHz 0.15um Technology 1.5V 575-Pin BGA
FPGA Virtex-II Family 1.5M Gates 17280 Cells 650MHz 0.15um Technology 1.5V 896-Pin FCBGA
CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 263MHz 0.18um Technology 1.8V 100-Pin VTQFP
CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 56-Pin CSBGA
CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 44-Pin PLCC
Support