High-speed sampling data real-time extraction method based on parallel digital filter
By adopting a combination of parallel CIC and semi-band filters in the field of electronic measurement, the spectrum aliasing problem caused by high sampling rate signal decimation is solved, and the extraction effect with high resource efficiency and high frequency resolution is achieved.
Patent Information
- Application Number
- CN202411507632.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-02-21
- Estimated Expiration
- 2044-10-28
AI Technical Summary
In the field of electronic measurement, decimation of high sampling rate signals will lead to spectral aliasing. The traditional decimation filtering method has shortcomings in resource consumption and frequency response, making it difficult to effectively process high sampling rate signals.
The high-speed sampling data real-time decimation method based on parallel digital filters is adopted to achieve high-magnification decimation through parallel CIC filters, and provide better frequency response through cascading parallel half-band filters.
High-risk decimation with low resource consumption and superior anti-aliasing performance is achieved, which significantly improves the frequency resolution of the oscilloscope spectrum analysis function, and reduces the resource consumption of real-time filtering processing.
Smart Images

Figure CN119493977A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of high-speed acquisition systems, and more specifically, relates to a real-time extraction method for high-speed sampling data based on a parallel digital filter. Background Art
[0002] In today's electronic measurement field, the sampling rate is getting higher and higher. When the bandwidth of the signal is much lower than the sampling rate, decimation becomes an essential operation for analyzing the signal. However, since decimation will cause changes in the signal spectrum, resulting in spectrum aliasing, and the extremely high speed of the original data, it brings great challenges to the design of the decimation filter.
[0003] The mixed domain oscilloscope is a powerful instrument for analyzing broadband signals in the time domain and frequency domain. With the continuous development of digital acquisition technology, the sampling rate of digital signals has increased to tens of GSPS, which makes it extremely difficult to analyze high sampling rate signals in real time. Therefore, decimation is often used to reduce the sampling rate of the signal. However, since decimation will cause spectrum aliasing, a real-time decimation filter needs to be designed to suppress the aliasing components caused by decimation.
[0004] Traditional extraction filtering methods can be roughly divided into two categories. One is the finite impulse response (FIR)-based method, which uses a polyphase FIR structure to process high sampling rate signals. The advantage of this method is that it can obtain a better frequency response, but as the sampling rate increases, this method requires more polyphase blocks, resulting in a sharp increase in resource consumption; the other is the Farrow-based method. Although the Farrow structure has the lowest computational complexity and does not occupy too many resources, its low stopband attenuation and insufficient frequency response will result in filtering effects that do not meet the requirements. Summary of the invention
[0005] The purpose of the present invention is to overcome the shortcomings of the prior art and provide a real-time extraction method for high-speed sampling data based on parallel digital filters, which effectively realizes high-rate extraction by using parallel CIC filters and provides better frequency response by using half-band filters. Therefore, it has the advantages of low resource consumption and excellent anti-aliasing performance.
[0006] To achieve the above-mentioned object of the invention, the present invention provides a method for real-time extraction of high-speed sampled data based on a parallel digital filter, characterized in that it comprises the following steps:
[0007] (1) Data collection;
[0008] The measured signal is input to the mixed domain oscilloscope, and the measured signal is collected by the high-speed ADC at the front end to obtain serial sampling data;
[0009] (2) Input the serial sampling data into the FPGA through a high-speed interface to obtain L parallel sampling data;
[0010] (3) Parallel CIC extraction;
[0011] The parallel L-channel sampling data is decimated by R times through the parallel CIC filter to obtain L / R-channel sampling data, where L / R = 2 p ,p=0,1,…;
[0012] (4) Cascaded parallel half-band extraction;
[0013] The L / R channel sampling data is 2 p After the extraction is completed, the serial data is obtained;
[0014] (5) Serial extraction;
[0015] The serial data is sequentially extracted through a serial CIC filter and a cascaded serial half-band filter to obtain the extracted output data.
[0016] The object of the invention of the present invention is achieved in this way:
[0017] The invention discloses a high-speed sampling data real-time extraction method based on a parallel digital filter. The method firstly collects a measured signal through an acquisition system of a mixed domain oscilloscope to obtain parallel multi-path signals, then implements large-rate real-time extraction filtering through a parallel CIC filter and a cascaded parallel half-band filter to obtain serial data, and finally performs serial extraction on the serial data to obtain output data. In this way, the frequency resolution of a spectrum analysis function of the oscilloscope can be significantly improved without increasing the length of the FFT.
[0018] At the same time, the high-speed sampling data real-time extraction method based on parallel digital filter of the present invention also has the following beneficial effects:
[0019] (1) The present invention adopts a parallel CIC extraction + cascaded parallel half-band extraction structure. Through parallel CIC extraction, real-time extraction and filtering of 20GSPS sampling rate signals can be realized without consuming multipliers, which can greatly reduce the resource consumption of real-time filtering processing; through cascading parallel half-band filters, the filter's suppression effect on aliasing components is improved, achieving a stopband attenuation of 60dB.
[0020] (2) The present invention realizes parallel real-time extraction processing by means of parallel CIC filters and cascaded parallel half-band filters, thereby reducing the sampling rate of the signal while ensuring the continuity of the data. The frequency resolution of the spectrum analysis function of the oscilloscope can be significantly improved without increasing the FFT length. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 It is a schematic diagram of the parallel CIC filter structure;
[0022] Figure 2 It is a schematic diagram of the structure of the parallel integrator;
[0023] Figure 3 It is a schematic diagram of the structure of the parallel dressing machine;
[0024] Figure 4 It is a schematic diagram of the structure of a parallel half-band filter;
[0025] Figure 5 It is a flow chart of a method for real-time extraction of high-speed sampling data based on a parallel digital filter of the present invention; DETAILED DESCRIPTION
[0026] The specific implementation of the present invention is described below in conjunction with the accompanying drawings so that those skilled in the art can better understand the present invention. It should be noted that in the following description, when the detailed description of known functions and designs may dilute the main content of the present invention, these descriptions will be omitted here.
[0027] Example
[0028] In this embodiment, we first introduce the structures of the parallel CIC filter and the parallel half-band filter;
[0029] like Figure 1 As shown, the parallel CIC filter is composed of a cascaded parallel integrator, a parallel down extractor and a cascaded parallel comb filter; the number of cascaded parallel integrators and parallel comb filters is the same, and the number of cascaded parallel integrators can be determined according to the stopband attenuation index required by the design;
[0030] The parallel L-channel sampling data is passed through the cascaded parallel integrator to obtain the parallel integration result, and then passed through the parallel down-decimator to obtain the L / R-channel parallel data with the down-sampling rate, and finally passed through the cascaded parallel comb filter to obtain the final result of the decimation filter;
[0031] like Figure 2 As shown, the parallel integrator is composed of an addition matrix unit, an integration unit and an addition chain; the addition matrix unit accumulates the parallel L-channel sampling data row by row, and the output of each row is the accumulation result from the first row to the current row; the integration unit integrates the last element of the accumulation result of each column, and the addition chain adds the output of the integration unit to the accumulation result of each row to obtain the integration result of each row of the current column; the integration result of all rows of the current column is the parallel integration result at the moment corresponding to the current column;
[0032] like Figure 3As shown, the parallel comb is implemented by L / R subtractors. For the first row, the output is the first row at the current moment minus the last row at the previous moment; for other rows, the output is the current row minus the previous row, and the subtractor outputs of all rows constitute the output result of the parallel comb.
[0033] In this embodiment, if Figure 4 As shown, the structure of the parallel half-band filter includes a parallel delay unit and a parallel polyphase filter; the length of the parallel half-band filter is 2N+1; the coefficient q(n) of the parallel half-band filter satisfies the following conditions:
[0034]
[0035] In this embodiment, the delay of the following rows in the parallel delay unit increases by 1 relative to the delay of the first row. For example, the delay of the second row increases by 1 relative to the first row, the delay of the third row increases by 2 relative to the first row, and so on.
[0036] Each row H(z) of the parallel polyphase filter is equivalent to an FIR filter of length N, whose filter coefficients satisfy the following conditions:
[0037]
[0038] After the L / R sampling data is input into the parallel half-band filter, the L / R sampling data is first split into odd and even paths, where all odd-numbered data are input into the parallel delay unit, and all even-numbered data are input into the parallel multi-phase filter. The processing results of the odd and even paths are added to obtain the parallel half-band filter output.
[0039] Next, we will describe in detail a method for real-time extraction of high-speed sampling data based on a parallel digital filter of the present invention. Figure 5 As shown, the specific steps include:
[0040] (1) Data collection;
[0041] The measured signal is input to the mixed domain oscilloscope, and the measured signal is collected by the high-speed ADC at the front end to obtain serial sampling data;
[0042] (2) Input the serial sampling data into the FPGA through a high-speed interface to obtain L parallel sampling data;
[0043] In this embodiment, the sampling rate of the ADC is assumed to be s The operating frequency f0 of FPGA is 20GSPS, so the collected data is parallel in FPGA, and the number of parallel paths L is:
[0044] L = f s / f0=80
[0045] (3) Parallel CIC extraction;
[0046] The parallel L-channel sampling data is decimated by R times through the parallel CIC filter to obtain L / R-channel sampling data, where L / R = 2 p ,p=0,1,…, in this embodiment, L=80, R=10, therefore, p=3;
[0047] (3.1) Set the number of iterations of the parallel integrator T, T = log2L = 3, and initialize the current number of iterations i = 1, i∈[1,T];
[0048] (3.2) Input the L parallel sampling data into the parallel integrator, and calculate the integral result x of each column in the L sampling data through the parallel integrator. T (n,l);
[0049] (3.2.1) Calculate the integral result x after the i-th iteration of the parallel integrator i (n,l):
[0050]
[0051] Where n represents the number of columns, l represents the number of rows, k, j, m are all integer coefficients, l = 0, 1, 2, ..., L-1;
[0052] (3.2.2), let the integration result of the parallel integrator after the Tth iteration be x T (n,l);
[0053] (3.2.3) Calculate the final integration result of the parallel integrator;
[0054]
[0055] Where d represents the column number;
[0056] In this embodiment, an 8-way integral operation is taken as an example:
[0057] Assume that the 8-way data is: x(n,0), x(n,1), ..., x(n,7), the inner loop is from 1 to 8, and the outer loop is from 1 to 3. When the inner loop is executed for the first time, the result is: x1(n,0), x1(n,1), ..., x1(n,7);
[0058] x1(n,0)=x(n,0); x1(n,1)=x(n,0)+x(n,1);
[0059] x1(n,2)=x(n,2); x1(n,3)=x(n,2)+x(n,3);
[0060] x1(n,4)=x(n,4); x1(n,5)=x(n,4)+x(n,5);
[0061] x1(n,6)=x(n,6); x1(n,7)=x(n,6)+x(n,7);
[0062] The result after the inner loop is executed for the second time is: x2(n,0),x2(n,1),…,x2(n,7);
[0063] x2(n,0)=x1(n,0); x2(n,1)=x1(n,1);
[0064] x2(n,2)=x1(n,1)+x1(n,2); x2(n,3)=x1(n,1)+x1(n,3);
[0065] x2(n,4)=x1(n,4); x2(n,5)=x1(n,5);
[0066] x2(n,6)=x1(n,5)+x1(n,6); x2(n,7)=x1(n,5)+x1(n,7);
[0067] The result after the inner loop is executed for the third time is: x3(n,0),x3(n,1),…,x3(n,7), that is, I(n,0),I(n,1),…,I(n,7);
[0068] I(n,0)=x2(n,0); I(n,1)=x2(n,1);
[0069] I(n,2)=x2(n,2); I(n,3)=x2(n,3);
[0070] I(n,4)=x2(n,3)+x2(n,4);x2(n,5)=x2(n,3)+x2(n,5);
[0071] I(n,6)=x2(n,3)+x2(n,6);x2(n,7)=x2(n,3)+x2(n,7);
[0072] Substituting the previous formula into the equation, we get:
[0073] I(n,0)=x(n,0); I(n,1)=x(n,0)+x(n,1);…I(n,7)=x(n,0)+x(n,1)+…+x(n,7);
[0074] So the integral result of each element in each column is obtained.
[0075] In the second step of the parallel integration flow, the integration results of each column should be accumulated. In fact, the last element of each column is the integration result of the current column. Therefore, we can accumulate the last element of the adder matrix output.
[0076] The last step is to add the accumulated results of the previous columns and the integrated results of each row of the current column to get the final integrated result.
[0077] (3.3) The final integration result y(n,l) of the parallel integrator is input to the parallel downsampler, and the parallel downsampler decimates the L parallel sampling data by R times to obtain L / R sampling data, which is recorded as y(n,l1). The reserved row index in each column is l1=R·r, r=0,1,2,…,L / R-1, and R is the decimal ratio of the parallel downsampler; for example, if there are 80 data and the decimal ratio is 10, the reserved element index is 0, 10, 20…70;
[0078] (3.4), the parallel comber processes the sampling results of the parallel downsampler;
[0079] (3.4.1), let the output of the parallel downsampler be h(n,r)=y(n,l1);
[0080] (3.4.2) Delay the output of h(n,r) through the delay unit to obtain h(n',r');
[0081]
[0082] Where, M is the differential delay parameter of the CIC filter;
[0083] (3.4.3) h(n,r) and h(n',r') are solved by a subtractor to obtain the final extraction result of the parallel CIC filter g(n,r) = h(n,r) - h(n',r').
[0084] (4) Cascaded parallel half-band extraction;
[0085] The L / R channel sampling data is 2 p After the extraction is completed, the serial data is obtained;
[0086] (4.1) Input the L / R sampling data into the first-stage parallel half-band filter, first split the L / R sampling data into odd and even paths, where all odd path sampling data are denoted as g odd (n,f),g odd (n,f)=g(n,r / 2+1), all even-path sampling data are denoted as g even (n,f),g even(n,f)=g(n,r / 2), n represents the number of columns, f represents the number of rows;
[0087] (4.2), all the odd-path sampling data g odd (n, f) is input to the parallel delay unit, and the data w(n, f) is obtained after delay processing;
[0088]
[0089] (4.3), all the even-path sampling data g even (n,f) is input to the parallel polyphase filter to obtain the parallel output r(n,f);
[0090] r(n,f)=q′(n)*G N (n,f)
[0091] Among them, G N (n,f) represents the sampling data g in the even path even (n,f) with any sampling point g * (n,f) is the starting point, and a vector of length N is taken in the column direction;
[0092] (4.4), calculate the output of the first-stage parallel half-band filter as o(n,f):
[0093] o(n,f)=w(n,f)+r(n,f)
[0094] (4.5) Use the output o(n,f) of the first-stage parallel half-band filter as the input of the second-stage parallel half-band filter, and then repeat steps (4.1) to (4.4) until p parallel half-band filters are cascaded to obtain serial data of cascaded parallel half-band extraction.
[0095] (5) Serial extraction;
[0096] The serial data is sequentially extracted through a serial CIC filter and a cascaded serial half-band filter to obtain the extracted output data.
[0097] In this embodiment, the serial CIC filter and the cascaded serial half-band filter are traditional structures and will not be described in detail here. We can configure the decimation ratio of the serial CIC filter to range from 1 to 4000, and the cascaded serial half-band filter can be configured with an decimation ratio of 2 to the power of n. After the above decimation process, parallel decimation from 80 times to 2560000 times can be achieved. After the data is converted from high-speed parallel to low-speed serial signals, it is sent to the subsequent modules of the oscilloscope for calculation.
[0098] Although the above describes the illustrative specific embodiments of the present invention to facilitate those skilled in the art to understand the present invention, it should be clear that the present invention is not limited to the scope of the specific embodiments. For those of ordinary skill in the art, as long as various changes are within the spirit and scope of the present invention as defined and determined by the attached claims, these changes are obvious, and all inventions and creations using the concept of the present invention are protected.
Claims
1. A method for real-time extraction of high-speed sampling data based on parallel digital filters, characterized in that: The following steps are involved: (1) Data collection; The measured signal is input to the mixed domain oscilloscope, and the measured signal is collected by the high-speed ADC at the front end to obtain serial sampling data; (2) Input the serial sampling data into the FPGA through a high-speed interface to obtain L parallel sampling data; (3) Parallel CIC extraction; The parallel L-channel sampling data is decimated by R times through the parallel CIC filter to obtain L / R-channel sampling data, where L / R = 2 p ,p=0,1,…; (4) Cascaded parallel half-band extraction; The L / R channel sampling data is 2 p After the extraction is completed, the serial data is obtained; (5) Serial extraction; The serial data is sequentially extracted through a serial CIC filter and a cascaded serial half-band filter to obtain the extracted output data.
2. The method for real-time extraction of high-speed sampling data based on parallel digital filter according to claim 1, characterized in that: The parallel CIC filter is composed of a cascaded parallel integrator, a parallel down extractor and a cascaded parallel comb; the parallel L-channel sampling data is passed through the cascaded parallel integrator to obtain a parallel integration result, and then passed through the parallel down extractor to obtain L / R-channel parallel data with a down-sampling rate, and finally passed through the cascaded parallel comb to obtain the final result of decimation filtering; The parallel integrator is composed of an addition matrix unit, an integration unit and an addition chain; the addition matrix unit accumulates the parallel L-channel sampling data row by row, and the output of each row is the accumulation result from the first row to the current row; The integration unit integrates the last element of the accumulated result of each column, and the addition chain adds the output of the integration unit to the accumulated result of each row to obtain the integration result of each row of the current column; The integration result of all rows in the current column is the parallel integration result at the moment corresponding to the current column; The parallel comber is implemented by an L / R subtractor. For the first row, the output is the first row at the current moment minus the last row at the previous moment. For other rows, the output is the current row minus the previous row. The subtractor outputs of all rows constitute the output result of the parallel comber.
3. The method for real-time extraction of high-speed sampled data based on parallel digital filters according to claim 1, characterized in that: The process of the parallel CIC filter performing R-fold decimation on the parallel L-channel sampling data is as follows: (3.1) Set the number of iterations of the integrator T, T = log2L, and initialize the current number of iterations i = 1, i∈[1,T]; (3.2) Input the L parallel sampling data into the integrator, and calculate the integral result x of each column in the L sampling data through the integrator. T (n,l); (3.2.1), calculate the integral result x after the i-th iteration of the integrator i (n,l): Where n represents the number of columns, l represents the number of rows, k, j, m are all integer coefficients, l = 0, 1, 2, ..., L-1; (3.2.2), let the integral result of the integrator after the Tth iteration be x T (n,l); (3.2.3) Calculate the final integral result of the integrator; Where d represents the column number; (3.3) The final integration result y(n,l) of the integrator is input to the parallel downsampler, and the parallel downsampler decimates the L parallel sampling data by R times to obtain L / R sampling data, which is recorded as y(n,l1). The row index retained in each column is l1=R·r, r=0,1,2,…,L / R-1, and R is the decimation factor of the parallel downsampler. (3.4), the parallel comber processes the sampling results of the parallel downsampler; (3.4.1), let the output of the parallel downsampler be h(n,r)=y(n,l1); (3.4.2) Delay the output of h(n,r) through the delay unit to obtain h(n',r'); Where, M is the differential delay parameter of the CIC filter; (3.4.3) h(n,r) and h(n',r') are solved by a subtractor to obtain the final extraction result of the parallel CIC filter g(n,r) = h(n,r) - h(n',r').
4. The method for real-time extraction of high-speed sampling data based on parallel digital filter according to claim 1, characterized in that: The length of the parallel half-band filter is 2N+1; the coefficient q(n) of the parallel half-band filter satisfies the following conditions: The structure of the parallel half-band filter includes a parallel delay unit and a parallel polyphase filter; the delay of the lower row in the parallel delay unit increases by 1 relative to the delay of the first row; each row of the parallel polyphase filter is equivalent to an FIR filter with a length of N, and its filter coefficients meet the following conditions: After the L / R sampling data is input into the parallel half-band filter, the L / R sampling data is first split into odd and even paths, wherein all odd-numbered data are input into the parallel delay unit, and all even-numbered data are input into the parallel multi-phase filter. The processing results of the odd and even paths are added to obtain the parallel half-band filter output.
5. The method for real-time extraction of high-speed sampling data based on parallel digital filter according to claim 1, characterized in that: The process of cascaded parallel half-band extraction is: (5.1) Input the L / R sampling data into the first-stage parallel half-band filter, first split the L / R sampling data into odd and even paths, where all odd path sampling data are denoted as g odd (n,f),g odd (n,f)=g(n,r / 2+1), all even-path sampling data are denoted as g even (n,f),g even (n,f)=g(n,r / 2), n represents the number of columns, f represents the number of rows; (5.2), all the odd-path sampling data g odd (n, f) is input to the parallel delay unit, and the data w(n, f) is obtained after delay processing; (5.3), all the even-path sampling data g even (n,f) is input to the parallel polyphase filter to obtain the parallel output r(n,f); r(n,f)=q′(n)*G N (n,f) Among them, G N (n,f) represents the sampling data g in the even path even (n,f) with any sampling point g * (n,f) is the starting point, and a vector of length N is taken in the column direction; (5.4), calculate the output of the first-stage parallel half-band filter as o(n,f): o(n,f)=w(n,f)+r(n,f) (5.5) Use the output o(n,f) of the first-stage parallel half-band filter as the input of the second-stage parallel half-band filter, and then repeat steps (5.1) to (5.4) until p parallel half-band filters are cascaded to obtain serial data of cascaded parallel half-band extraction.
Citation Information
Patent Citations
Filter circuit and analog-to-digital converter
CN115882820A
Method for realizing dynamic configurable broadband low-delay digital down-conversion by FPGA (Field Programmable Gate Array)
CN116707448A
Large-scale downsampling cascade digital filtering device
CN118801854A
Optimized filter parameters design for digital IF programmable downconverter
US20040107078A1
Cascaded integrator-comb (CIC) decimation filter with integration reset to support a reduced number of differentiators
US20190379358A1