1. Introduction
Field-programmable gate array (FPGA) devices have become a popular and effective platform for digital signal processing (DSP) implementations [
1,
2]. These specific and flexible architectures of integrated circuit (IC) resources can be used in a wide range of applications like image processing, neural network systems, measurement instrumentation, or fast acquisitions [
3,
4,
5]. Furthermore, last year’s effective use of FPGAs in quantum systems and nuclear physics was also observed [
6]. The high popularity of this type of IC is determined primarily by the possibility of simple adjustment of the desired function via proper configuration. The prepared hardware description language (HDL) code determines the setting of internal connections between individual logic elements [
7]. In this way, building complete, advanced digital systems is achievable. Using FPGAs, it is also possible to obtain a substitute for the application-specific integrated circuit (ASIC) only by preparing the appropriate HDL code. This allows for lower prototyping or production costs than a typical ASIC [
8]. The main limitation of such a method is that FPGA ICs are typically not equipped with advanced analog blocks, and external electronic elements are necessary for specific applications. In some advanced FPGA devices, built-in simple analog-to-digital converters (ADCs) can be found [
9]. In the literature, we can find various functionalities implemented using FPGAs: filtering, precision time interval measurement, arithmetic or cryptographic co-processor, fast transceivers or receivers, and many others [
10,
11,
12,
13]. This is mainly because FPGA systems are more efficient than typical processors. In many cases, they can perform complex mathematical operations in a one clock cycle. Authors in [
10] presented the application of FPGA-based filtering to reduce the influence of noise and interferences in space satellite systems. In [
13], the digital filter was designed to denoise electroencephalography signals from unwanted components.
Infrared (IR) photodetectors are devices used to convert infrared radiation energy into an electrical signal. Typically, a distinction is made between thermal and photonic groups depending on the physical phenomenon used (heating of a photosensitive element or generation of photocurrent due to the specific interaction of photons with electrons) [
14]. The vast majority of IR detectors use semiconductor materials as a photosensitive element. For this reason, there has been significant development in their materials’ engineering technology. Appropriate selection of material, doping, and architecture enables the construction of detectors with various parameters, including the operating spectral range [
15].
Meaningful progress in recent decades has led to the development of detectors operating from short-wave IR (SWIR) to very-long-wave IR (VLWIR). The most popular semiconductor materials used for their production include mercury cadmium telluride (HgCdTe, MCT), indium arsenide (InAs), indium antimonide (InSb), indium arsenide antimonide (InAsSb), indium gallium arsenide (InGaAs), and also silicon (Si) [
16,
17,
18]. In contrast to these materials, graphene is a promising optoelectronic material for ultra-broadband photodetectors due to its gapless band structure [
19].
Directly using the signal from an IR detector is problematic due to its typical small value. Due to this fact, a specially designed amplifier is usually necessary to convert it into higher measurable amplitude values. The most popular of them is the transimpedance amplifier (TIA), but in some cases, voltage amplifiers (VAs) are also used [
20]. The specific model of the amplifier depends on the type of its operation: photovoltaic or photoconductive mode. Several parameters can characterize each detector. The most important of them are normalized detectivity (D*), current or voltage responsivity (R
i/R
V), noise equivalent power (NEP), and time constant (τ). These parameters depend on the temperature and bias voltage applied to the detector. The main limitation of IR detector operability is the noise generation phenomenon because of its direct influence on D* and NEP values. The IR detector noise power spectrum density (PSD) usually rises along with the bias and temperature, so the cooling improves its parameters [
21]. However, in order to obtain appropriate frequency parameters for the system related to the short τ, they require the use of an appropriate bias and the adequate type of amplifier, which unfortunately leads to an increase in noise in the output signal. This applies primarily to low-frequency noise of the 1/
f type [
22]. For this reason, certain procedures are usually observed to reduce the impact of noise on the parameters of the target system. One of them is the lock-in technique or appropriate filtration that can be performed in analog or digital processing traces [
23,
24].
IR detectors have found various effective applications in industry, consumers, and the military [
25,
26,
27]. They can be found in temperature monitoring, communication, medical, security, and imaging systems [
28,
29,
30,
31]. In all applications, noise led to some limitations and parameters deteriorating.
DSP is one of the most effective techniques of signal manipulation. Appropriate algorithms enable the implementation of several functions, like converting, transforming, filtering, compression, and many others [
32,
33]. Some functions can also be provided in both time and frequency domains. In many cases, e.g., regarding filtration, the efficiency of the DSP system significantly exceeds the analog solutions, due to more flexibility in parameter adjusting. DSP systems can be based on processors (CPU), microcontrollers (µC), system-on-chip (SoC), dedicated digital signal processors, or FPGAs [
34,
35,
36]. Sometimes, application-specific ICs (ASICs) are equipped with special modules dedicated to implementing DSP functions, e.g., Fast Fourier Transform (FFT) [
37].
This work combined the few above-described devices and techniques to construct a specialized unit that can improve the signal-to-noise ratio (SNR). The high-performance digital filter was implemented in an advanced FPGA IC using HDL to reject unwanted noises and external radiation signals from the output of the IR detection module.
The presented unit can be programmed to obtain the necessary form (low-pass, band-pass, etc.) and characteristics of the filter (e.g., frequency or phase response). Thanks to the large number of resources in the FPGA that can be used to construct it, an advanced, effective filtering unit capable of suppressing unwanted signals at a level exceeding several dozen dB can be obtained.
In the paper, we presented the hardware construction of the circuit, a result of the simulations of the example filters, and its practical implementation. The well-known techniques and parts were combined to construct an advanced FPGA-based system for real-time measurements, where high-order filters can be implemented. Moreover, we also conducted a practical experiment with the InAsSb mid-wave IR (MWIR) detection module, where noise is quite problematic when operating with weak signals. The obtained performances are significantly better than previous work [
38]. The advantage of real-time operation can be especially useful in systems where quick reaction is necessary.
2. Hardware and Methods
2.1. Hardware Platform
Each DSP system is composed of an appropriate combination of hardware and software. Operating with analog signals usually requires the application of data converters, like analog-to-digital converters and/or digital-to-analog converters (DACs). The selection of their specific properties depends strictly on the target application. Analog front-ends are also often used in signal paths to prepare input–output signals by adapting them to converters (ADCs, DACs). The generalized hardware block diagram of a typical DSP system (that can be used for filtering) containing an ADC and DAC is presented in
Figure 1.
The analog input signal is applied to the analog front-end. This block is usually based on properly selected operational amplifiers, which adjust the signal to the ADC input. It can be amplification, attenuation, filtering, or a change to a differential signal to drive ADC inputs properly. The sampled and digitized data are sent to the DSP block, where the adequate function is implemented. A processed digital signal can be read from this block or converted to the analog domain via DAC. At its output, an analog front-end can also be applied. It can perform similar functions, like in the case of the ADC front-end.
Figure 2 presents the block diagram of the digital filtering unit we developed in our work. The less important elements were intentionally omitted in this figure.
The input signal was connected to the anti-aliasing low-pass filter (LPF) to reject frequencies above half of the sampling frequency. This filter was needed to ensure it operated by the Nyquist sampling theorem and avoided the aliasing phenomenon [
39]. In our circuit, we used the two stages of the Sallen–Key configuration with elements calculated to obtain Bessel-type characteristics [
40]. The filter was characterized by a flat response to about 1 MHz with attenuation less than 0.1 dB, whereas its cut-off (−3 dB) frequency equaled 4.3 MHz. The −10 dB signal attenuation occurred at a frequency of 8.1 MHz. The oscillations observed in step response were reduced thanks to the Bessel character.
The 16-bit CMOS parallel interface was used to exchange data with the FPGA. ADC can be clocked with a constant frequency of 40 MHz from a crystal generator or an externally connected generator using a dedicated SMA connector. According to the datasheet, this ADC had a high SNR of 84 dBFS, adjustable fine gain, internal voltage reference, and low-frequency suppression mode [
41]. It was enclosed in a 48-VQFN surface-mount package. The internal registers of ADS5560 could be controlled via serial interface lines (RESET, SEN, SCLK, SDATA) using µC (FPGA was working only as a simple signal bridge). They were responsible for the gain, output data interface, format, and sampling frequency range. In the case of a sampling frequency ≤ 25 MSa/s, the specific register bit needed be set. Both the ADC and differential amplifiers on the front end operated with a common-mode voltage of V
CM = 1.5 V. The main DSP operations were performed on the Xilinx series-7 KINTEX XC7K325T FPGA device [
42]. The main device properties regarding the available resources are listed in
Table 1. In this table, the properties of Xilinx ARTIX-7 XC7A35T used in similar previous work [
38] were also included for comparison.
XC7K325T was characterized by about ten times more logic resources and functional blocks than XC7A35T. Regarding DSP-based filtering operations, the number of DSP slices and logic cells defined the final possibilities. This is because most operations were based on multiplication, summation, or accumulation. In the FPGA, typically specialized DSP slices (highlighted in
Table 1) were dedicated to this operation, i.e., DSP48 in the KINTEX-7 family of FPGAs.
The digitally processed signal was sent to the DAC via a parallel interface. In our circuit, we used a 16-bit LTC1668 DAC. Its differential current outputs could be updated at a maximum 50 MSa/s rate. It was characterized by high spectral purity (87 dB SFDR at
fout = 1 MHz), a low 5 pV-s glitch impulse, and 20 ns of settling time. The DAC chip was enclosed in a 28-pin SSOP package. It could operate with TTL/CMOS 3.3 V or 5 V input signals [
43]. Output differential current signals were converted into single-ended using an I-V converter based on a high-speed LT1819 op-amp. Then, the single-ended voltage signal was filtered using the same filter type as the one used for the ADC input. The role of the DAC output filter was to reject clock and the above Nyquist frequency signal components. It also reduced the effect of zero-order keeping (visible in the time domain as steps) and was sometimes named a “restoration” filter [
44].
The FPGA and ADC main features were managed using the STMicroelectronics STM32H750 microcontroller. It could also be further used to extract filtered data from FPGA internal memory registers. A universal asynchronous receiver–transceiver interface was applied to establish a connection with the PC. For practical realization, the overall unit was divided into three printed circuit boards (PCBs) boards, namely ADC/DAC, FPGA, and µC. The supply and ground planes in the ADC/DAC 4-layer PCB were divided into digital and analog parts to avoid interferences. The required voltages were provided from low-noise LT1763 and LT3094 low-dropout (LDO) regulators. In the case of the FPGA and µC, we used the evaluation core boards. The µC module daughterboard was also projected to ensure proper header connectors with the FPGA evaluation board. Analog input and output signals could be connected via SMA connectors. A photo of the developed hardware platform for digital filtering is presented in
Figure 3. In this figure, some additional connectors are also visible (i.e., bypassing analog front-end LPFs and additional clocks).
Inside the FPGA, we applied a few blocks that were responsible for different functions. The input ADC data in two complement codes were connected to the decimator block. It was responsible for data decimation to obtain a lower sampling frequency than an ADC clock. This was especially important for sampling rates below 1 MSa/s because, according to the ADS5560 datasheet, it can properly operate only above this rate. The decimator can also be set to a decimation factor of 1 to bypass this operation. Then, the data with the needed rate were applied to the filter core that performed the overall filtering operation. An output coding converter was necessary to convert two complement codes into a straight binary, which was required by LTC1668 DAC inputs. Inside the FPGA, the additional memory block can also be applied to enable the possibility of extracting filtered data to µC. The filter architecture and coefficients were constant and stored inside the filter core block. A dedicated VIVADO design environment was used to prepare, synthesize, and implement Very High-Speed Integrated Circuit Hardware Description Language (VHDL) codes in FPGA. The block diagram of the functionality of the internal module implementation in the FPGA device is presented in
Figure 4.
2.2. Digital Filters
Generally, the filter core can be implemented in various forms. Regarding impulse response length, digital filters can be divided into two categories: finite impulse response (FIR) and infinite impulse response (IIR) [
45]. Moreover, its architecture types can also be different, like direct forms (i.e., biquad) or transformed forms [
46]. All of their properties have an influence on the final behavior and implementation procedure. The example architectures of FIR (direct form) and IIR (direct form I-biquad) in the form of schematic blocks are presented in
Figure 5.
The FIR structure was composed of a q-stage delay line with q + 1 taps. The output data from unit delays were multiplied by the bi coefficient (impulse response). All multiplications were summed to produce an output result. It was a different situation was in the case of the IIR, where the output y[n] sample was given to create a feedback loop connected to the sum block. Such an operation created a situation of infinite impulse response because each output sample was looped back and had some influence on the next output signal sample.
When deciding between the FIR and IIR, parameters related to the phase response and resource availability in the target system are usually taken into account.
Table 2 summarizes the main properties of both filter types.
Analyzing the properties of both filters, it should be highlighted that the main differences included implementation costs, phase response, and stability. Comparing implementation costs, it can be stated that regarding similar filters, the IIR filters required fewer hardware resources than the FIR. This is caused mainly by less multiplications being needed by the IIR architecture.
2.3. Filter Core Design, Simulation of Its Characteristics, and HDL Code Preparing for FPGA
The overall behavior of the filtering unit depends on the filter core and sampling frequency. From a mathematical point of view, digital filtering uses the operation of convolution of the input signal with the filter impulse response. Assuming operation on the input discrete signal
x[
n], the output signal
y[
n] of an FIR filter can be described as follows [
47]:
where
q is the filter order, and
bi is the impulse response value at the
i-th instant for 0 ≤
i ≤
q of a
q-th-order filter. For the direct form of the FIR,
bi is also a filter coefficient. In the case of the IIR, such an equation takes the following form:
Our work used the MATLAB environment to design, simulate, and generate the HDL code. The Filter Designer Tool (FDT) built-in MATLAB R2024a software can prepare an overall filter core HDL code depending on the requirements. Using FDT, we can manage filter properties like type (low-pass, band-pass, etc.), response, design method, order, frequency, and magnitude responses. The calculated coefficients must be quantized and adapted to the desired representations since the FDT operates on floating-point numbers in either double-precision or single-precision format. In the case of the FPGA, we used the FDT built-in function of quantizing into 16-bit fixed-point representations. As the number of different types of filters that can be implemented is quite enormous, we can present only a few examples without a thorough analysis of individual characteristics and design methods in this paper. The fundamentals of Butterworth, Bessel, Chebyshev, or elliptic filters can be found in [
48,
49]. The considerations about design methods like equiripple or windowing are described in [
50,
51]. The main differences between these filters are related to some compromise between the passband and stopband behavior. For example, the Chebyshev filter is characterized by high attenuation in the stopband (in comparison with others) at the cost of oscillations of gain in the passband and also after step response. The Bessel type is free of these disadvantages at the expense of weaker attenuation in the stopband.
In the case of our application with the IR detection module, narrow-band filtering can most effectively improve the SNR by attenuating 1/
f and wide-band white noises. Due to this fact, we decided to present the results focusing on band-pass filters. The example results of simulations in the FDT of FIR windowed-
sinc band-pass filters (BPFs) for different window types are presented in
Figure 6. In this figure, the frequency (
Figure 6a), phase (
Figure 6b), impulse (
Figure 6c), and step (
Figure 6d) responses were simulated for a normalized 840-order (like the number of DSP blocks in the XC7K325T) filter. The passband was set from 0.01 to 0.02 of normalized frequency as some compromise between the narrowest possible band without significant attenuation at its center frequency.
Each of the applied windows caused a change in resulting characteristics. The highest attenuation in the stopband was observed in the case of the Blackman window. This explains the fact that this type of windowing is typically used. The lower attenuation in the stopband was observed for Kaiser and Barlett–Hanning windows at the expense of steeper slopes near the passband. The Barlett–Hanning window was characterized by the weakest oscillations at stopband frequencies and other phase responses (without accumulation). For other types of windows, the accumulation oscillating around a certain level was observed before and after the passband. In the passband range, the phase was linear, with some delay observed for all windows. Analyzing impulse and step responses, the sinc-like characteristics with slight differences were observed (the higher amplitude for Kaiser). In the case of pulsed signals, some types of filters can lead to significant distortions, including oscillations visible in the step response characteristics.
As we mentioned before, the performance of the implemented digital filter depends on the number of available resources. In practice, it is the number of multiplications and summations that can be performed in the required time. It must be highlighted that, theoretically, such a filter core can also operate at a rate other than sampling frequency. Then, the rate of signal processing should be much higher than the sampling frequency.
To directly show how the impulse response length (and also a number of coefficients) affects the BPF frequency response, we simulated the equiripple method-designed FIR. The low-pass stopband was set to 0.01, the passband from 0.02 to 0.03, and the high-pass stopband to 0.04 of normalized frequency. The simulation results are presented in
Figure 7.
Analyzing
Figure 7b, it is evident that increasing the order of a digital filter significantly improved attenuation in the stopbands. The 100-order filter gave about −14 dB of attenuation, whereas the 840-order filter gave about −72 dB. It must be noted that some noticeable noise may be added when sending filtered data to the DAC. In many cases, the attenuation of the order of about a dozen dB may provide insufficient or essentially insignificant SNR improvement for many applications.
The disadvantages of high-order FIR filters are primarily a significant time delay, high hardware requirements (to obtain high-order filter), difficulties in dynamic tuning, and the Gibbs’ effect (oscillations of the signal amplitude at the boundary between band-pass and stopband).
Similar simulations were conducted for the IIR, such as BPFs. In
Figure 8, the frequency-normalized example simulation results of 50-order filters (in the case of elliptic, it was 20-order to maintain stability) are presented. The passband was set to the range from 0.01 to 0.02 of normalized sampling frequency to obtain one octave of the passband. As can be noticed, in comparison with the FIR, it is evident that relatively steeper slopes can be obtained with significantly lower filter orders. However, according to the theory, the phase was non-linear (
Figure 8b), and the impulse (
Figure 8c) response was very long. Using the IIR, very effective attenuation in the stopbands with relatively small resources (filter order) can be obtained. Due to these facts, such filters are commonly used in low-resource applications where the non-linear phase is not problematic (i.e., smart sensors, telecommunications).
Analyzing the step response, it must be highlighted that the filter types simulated in
Figure 8 are typically characterized by relatively high oscillations in step response (
Figure 8c) over a relatively long time interval (theoretically infinite, in practice to the level of, i.e., noise). Such phenomena can be quite difficult in the case of pulse or square-like signals. The behavior of the attenuation as a function of the order is, in general, the same as in the case of analog filters, so in many applications, using the tens of orders of IIR filters is unnecessary.
The simulations of the Butterworth filter for a few orders and the passband set from 0.01 to 0.02 of normalized frequency are presented in
Figure 9.
2.4. IR Detectors and Amplifiers Noise
As this paper presents a proposition of noise reduction in IR detection modules, a little information about its origin was also included. IR detectors, like other semiconductor components or devices, are a source of noise. They always generate wideband thermal noise according to the Johnson–Nyquist formula (4
kT/
R in the case of the current calculation). When operating with bias (i.e., to reduce its capacitance in high-speed applications), they also generate shot and low-frequency 1/
f noise [
52]. The latter can be the most problematic due to its significant power. The power spectral density of 1/
f noise is inversely proportional to frequency. It also usually rises with bias. In some cases, cooling systems are provided to reduce this noise. In
Figure 10, an example of a typical detector–amplifier circuit with noise sources is presented.
The transimpedance amplifier with voltage (
enA) and current (
inA) noise sources is represented by an operational amplifier with feedback impedance (
Zf). This impedance is also characterized by noise (
inZf), i.e., thermal noise due to the real part (resistance). The IR detector (marked in the form of impedance
Zdet) total noise is represented by
indet current noise source, which usually consists of thermal, shot, 1/
f, and generation–recombination noises. In the case of wideband operation, the thermal noise can also be considerable because its root mean square rises with the bandwidth. When operating with a bias voltage (
Vb), its noise effect (
enVb) should also be taken into consideration [
53]. All these sources shape the characteristics of the power spectrum density, PSD, at the amplifier output and may constitute a significant limitation in applications where weak signals are processed. The circuit shown in
Figure 10 can also be regarded as an IR detection module.
4. Summary
This paper presents the digital filtering unit in the context of working with IR detection modules. The proposed unit operates in real-time, which can be especially useful in systems where a quick response or reaction to a signal is important. Moreover, filtering operations lead to an improved SNR, which limits the performance of the detection systems. The hardware of the proposed filtering unit was built using high-speed and high-resolution 16-bit ADCs and DACs in cooperation with an advanced FPGA device. Thanks to the relatively large amount of available resources in the FPGA, long impulse responses can be implemented, requiring high attention in stopbands and steep slopes of frequency response characteristics. Such prepared hardware is more effective and flexible than previous work [
38] regarding the maximum length of the impulse response and sampling frequency.
The very attractive attenuation and linear phase of high-order FIR filters are obtained and designed as the equiripple or Blackman windowed.
In the experimental part, we implemented two FIR filters and one IIR filter in the proposed unit. For the FIR filter, operations with sampling frequencies below 1 MS/s and a maximum of 40 MS/s were verified. The obtained frequency and phase response characteristics were similar to the simulated ones. Nevertheless, the main limitation of maximum attenuation was caused by the DAC and output front-end circuit noises.
The operation of the proposed filter unit has been verified during the test with the InAsSb IR detection module, where selective signal reception is desirable to reduce unwanted components. The results of the measurements confirmed the high effectiveness of the proposed device in the time and frequency domain, where about 20 dB of SNR improvement was obtained with an example FIR BPF.
In conclusion, it must be highlighted that the main purpose of this paper was to present a hardware platform that can be used to implement almost every filtering operation in the range of its properties. The resultant characteristics depend mainly on the implemented algorithm in the form of prepared software codes. On the pages of this paper, we were able to present only a few examples of filters. It must be remembered that other types of filters can also be applied. The presented device can be used in many applications where improvement of the SNR led to better performances of the overall specific system (i.e., detection expanded to a more advanced form of surveillance, communication, medicine, and security). The presented device can also be expanded to a more advanced form by preparing software according to individual needs. It can be an alternative to other methods, such as lock-in, cross-correlation, or AI algorithms, which can sometimes return unexpected results when operating with unknown signals.