FPGA-based dynamic light scattering particle size inversion method and system
By implementing autocorrelation calculation and particle size inversion in FPGA, the problem of dynamic light scattering particle size measurement relying on host computer in the prior art is solved, which improves measurement efficiency and flexibility and simplifies the calculation process.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SOUTH CHINA NORMAL UNIV
- Filing Date
- 2026-03-19
- Publication Date
- 2026-06-19
AI Technical Summary
Existing dynamic light scattering particle size measurement methods rely on a host computer for particle size inversion, resulting in long measurement times, poor instrument flexibility, and a large proportion of communication time.
Autocorrelation calculation and particle size inversion calculation are implemented in FPGA. Through the calculation of autocorrelation function, mean processing, normalization, matrix construction and Einstein-Stokes formula inversion, particle size measurement is completed independently, simplifying the amount of calculation and reducing the dependence on host computer.
It improves measurement efficiency and flexibility, reduces measurement time, reduces dependence on host computer, and simplifies the calculation process.
Smart Images

Figure CN122242356A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of dynamic light scattering particle size measurement, and specifically to a dynamic light scattering particle size inversion method and system based on FPGA. Background Technology
[0002] Dynamic light scattering (DLS), also known as photon correlation spectroscopy (PCS), is a key technique for measuring particle size distribution by analyzing the fluctuations in scattered light caused by the Brownian motion of nanoparticles in a suspension.
[0003] The existing implementation scheme uses FPGA and host computer to jointly complete dynamic light scattering particle size measurement. The main workflow is that the FPGA (Field Programmable Gate Array) completes photon counting and autocorrelation calculation, uploads the autocorrelation curve to the host computer through the communication module, and performs particle size inversion calculation in the host computer to obtain information such as particle size.
[0004] The biggest problems with the existing solution are as follows:
[0005] 1. The system requires the joint operation of an FPGA and a host computer, resulting in a large instrument size and poor flexibility of use. Samples must be measured in a laboratory after sampling.
[0006] 2. In the existing solution, the FPGA needs to send the relevant curve values to the host computer. The amount of data transmitted is huge, resulting in long communication time. Moreover, the communication time accounts for about 45% of the total measurement time, which is an unnecessary time cost.
[0007] Therefore, there is an urgent need for a new dynamic light scattering particle size measurement method that can solve the problem that current measurement methods rely on a host computer to perform particle size inversion, resulting in long measurement times. Summary of the Invention
[0008] To address the above issues, this invention proposes an FPGA-based dynamic light scattering particle size inversion method. The aim is to implement both autocorrelation calculations and particle size inversion calculations in the dynamic light scattering particle size measurement process within the FPGA, thus eliminating the dependence of dynamic light scattering instruments on a host computer, significantly reducing measurement time, and increasing measurement flexibility. To achieve the above objectives, this invention provides the following technical solution: Firstly, this invention provides an FPGA-based dynamic light scattering particle size inversion method, comprising: S10: Calculate the autocorrelation function based on the scattered light signal within a detection time period to obtain multiple sets of scattered light autocorrelation functions, including multiple time-ordered autocorrelation function values; S20: Calculate the mean value of the multiple sets of autocorrelation functions of scattered light to obtain the mean autocorrelation function; S30: Normalize the mean autocorrelation function based on the value of the autocorrelation function of the mean autocorrelation function to obtain the normalized autocorrelation function; S40: Calculate the quadratic matrix constructed with the correlation time based on the abscissa of the normalized autocorrelation function; S50: Construct a matrix based on the logarithmically normalized autocorrelation function value and solve for the corresponding diffusion coefficient using the quadratic matrix; S60: Based on the diffusion coefficient and the corresponding environmental parameters of the scattered light signal, the corresponding scattering particle size is obtained by inversion using the Einstein-Stokes formula.
[0009] Further, step S50 calculates the diffusion coefficient using the following formula:
[0010] Wherein, X is a quadratic matrix, and Y is a normalized autocorrelation function value matrix.
[0011] Furthermore, step S40 also includes: S401.A: Calculate the sum of the inner products of the second column and the first column vector of the quadratic matrix, minus the sum of the inner products of the first column itself, as the first projection vector; S401.B: Calculate the sum of the inner products of the third column and the second column vector of the quadratic matrix, minus the sum of the inner products of the second column itself, as the second projection vector; S401.C: Calculate the sum of the inner products of the third column and the first column vector of the quadratic matrix, minus the sum of the inner products of the first column itself, as the third projection vector; S402: Construct an orthogonal matrix of the quadratic matrix based on the first projection vector, the second projection vector, the third projection vector, and the quadratic matrix, and calculate the upper triangular matrix.
[0012] Further, step S50 calculates the diffusion coefficient using the following formula:
[0013]
[0014] Where Q is an orthogonal matrix, R is an upper triangular matrix, and Y is a normalized autocorrelation function value matrix.
[0015] Further, step S30 includes: S301: The baseline value is obtained by averaging the last 20% of the autocorrelation function values of the mean autocorrelation function. S302: Sequentially divide the autocorrelation function value of each mean autocorrelation function by the baseline value and then subtract 1 to obtain a set of intermediate characteristic values; S303: Using the first data in the intermediate feature value group as the divisor, perform a division operation on each data in the intermediate feature value group to obtain a set of normalized autocorrelation function values; S304: After taking the logarithm of the normalized autocorrelation function value, the corresponding value is obtained, and the corresponding normalized autocorrelation function is obtained by inversion.
[0016] Furthermore, step S304 also includes: Obtain a pre-defined table of equally divided logarithmic values, and perform a lookup operation based on the normalized autocorrelation function values to obtain the corresponding values.
[0017] Furthermore, after obtaining a set of normalized autocorrelation function values in step S303, the method further includes: Discard normalized correlation function values less than 0.1.
[0018] On the other hand, the present invention also provides a dynamic light scattering particle size inversion system based on FPGA, which includes: Autocorrelation function generation unit: used to calculate the autocorrelation function based on the scattered light signal within a detection time period, and obtain multiple sets of scattered light autocorrelation functions, wherein the autocorrelation function includes multiple time-ordered autocorrelation function values; Mean processing unit: used to calculate the mean of the multiple sets of scattered light autocorrelation functions to obtain the mean autocorrelation function; Normalization unit: used to normalize the mean autocorrelation function based on the autocorrelation function value of the mean autocorrelation function to obtain a normalized autocorrelation function; Quadratic matrix construction unit: used to calculate a quadratic matrix constructed with correlation time based on the abscissa of the normalized autocorrelation function; Diffusion coefficient solving unit: used to construct a matrix based on the logarithmized normalized autocorrelation function value and solve the corresponding diffusion coefficient in combination with the quadratic matrix; Scattering particle size inversion unit: used to invert and solve for the corresponding scattering particle size based on the diffusion coefficient and the corresponding environmental parameters of the scattered light signal using the Einstein-Stokes formula.
[0019] Furthermore, the normalization unit further includes: The quadratic matrix orthogonal projection calculation subunit is used to calculate the first projection vector, second projection vector, and third projection vector of the corresponding orthogonal matrix based on the column vector relationship of the quadratic matrix. Orthogonal matrix solving sub-unit: Construct an orthogonal matrix of the quadratic matrix based on the first projection vector, the second projection vector, the third projection vector and the quadratic matrix, and calculate the upper triangular matrix.
[0020] Furthermore, the normalization unit includes: Baseline value calculation subunit: used to accumulate and average the last 20% of the autocorrelation function values of the mean autocorrelation function to obtain the baseline value; Autocorrelation function value alignment sub-unit: used to sequentially divide the autocorrelation function value of each mean autocorrelation function by the baseline value and then subtract 1 to obtain a set of intermediate feature values; Autocorrelation function value normalization subunit: used to perform division operation on each data in the intermediate feature value group with the first data of the intermediate feature value group as the divisor, to obtain a set of normalized autocorrelation function values; Logarithmic inversion subunit: used to obtain the corresponding value by taking the logarithm of the normalized autocorrelation function value, and then inverting to obtain the corresponding normalized autocorrelation function.
[0021] In summary, this invention proposes a dynamic light scattering particle size inversion method and system based on FPGA. This method calculates the autocorrelation of scattered light signals within a periodic range to obtain multiple sets of inconsistent autocorrelation functions and their values under the same scattering source. The cumulative mean of these multiple autocorrelation functions is then used to reduce function errors and avoid experimental randomness. The functions are then normalized to obtain a normalized autocorrelation function. Data from the function decay segment is extracted from the normalized autocorrelation function, and a quadratic polynomial is fitted to this data to calculate a quadratic matrix constructed with the correlation time. The corresponding diffusion coefficient is obtained by solving the matrix. Finally, the corresponding scattering particle size is obtained through inversion using Einstein-Stokes formulas. By normalizing and logarithmic processing, the numerical range is reduced, enabling the FPGA chip to meet the computational range for dynamic light scattering particle size determination. In addition, Schmitt orthogonalization is introduced to achieve QR decomposition, which eliminates collinearity between vectors, simplifies the process of linear fitting and matrix solving, simplifies the amount of computation, reduces the computing power requirements for dynamic light scattering particle size measurement, and ultimately enables FPGA to independently complete dynamic light scattering particle size measurement, thereby improving the efficiency and equipment adaptability of dynamic light scattering particle size measurement.
[0022] To better understand and implement this invention, the following detailed description is provided in conjunction with the accompanying drawings. Attached Figure Description
[0023] Figure 1 This is a block diagram of an exemplary FPGA-based dynamic light scattering particle size inversion system of the present invention. Figure 2 For the implementation of this invention Figure 1 The flowchart of the FPGA-based dynamic light scattering particle size inversion method for the system shown is illustrated. Figure 3 This is a detailed structural block diagram of the normalization unit of the present invention; Figure 4 For the implementation of this invention Figure 3 The flowchart of the normalized unit is shown. Figure 5 This is a structural block diagram of a quadratic matrix construction unit in a preferred embodiment of the present invention; Figure 6 To execute Figure 5 The flowchart of the quadratic matrix construction unit is shown. Detailed Implementation
[0024] Existing dynamic light scattering particle size measurement algorithms are mainly due to the complexity and large amount of data involved in calculating the diffusion coefficient from multiple sets of autocorrelation coefficients. Using an FPGA alone may result in data calculations exceeding the bit range of the FPGA chip or computational loads exceeding the FPGA's computational capacity. Therefore, they rely on a host computer for computation, resulting in most of the measurement time being wasted on data transmission.
[0025] In response to the above issues, this invention proposes a dynamic light scattering particle size inversion method and system based on FPGA. The aim is to enable both autocorrelation calculations and particle size inversion calculations in the dynamic light scattering method for measuring particle size to be implemented within the FPGA, thus eliminating the dependence of dynamic light scattering instruments on a host computer. Please refer to [link to relevant documentation]. Figure 1 The system includes an autocorrelation function generation unit 10, a mean processing unit 20, a normalization unit 30, a quadratic matrix construction unit 40, a diffusion coefficient solving unit 50, and a scattering particle size inversion unit 60. The autocorrelation function generation unit 10 performs autocorrelation calculations on the values of the scattered light signal within a periodic range, obtaining multiple sets of scattered light autocorrelation functions. The mean processing unit 20 generates a discrete mean autocorrelation curve based on the output of the autocorrelation function generation unit, serving as the mean autocorrelation function. Subsequently, the normalization unit 30 generates a reference value based on partial data from the mean autocorrelation curve, and normalizes the mean autocorrelation curve using the reference value and the first data point. The quadratic matrix construction unit 40 calculates a quadratic matrix constructed using the correlation time; subsequently, the diffusion coefficient solving unit 50 uses the logarithmically normalized autocorrelation function value matrix and the quadratic matrix to obtain the diffusion coefficient under the light scattering environment. Finally, the scattering particle size inversion unit 60 uses the diffusion coefficient and the corresponding environmental parameters of the scattered light signal to invert and solve using Einstein-Stokes' theorem to obtain the corresponding scattering particle size. (See also...) Figure 2 The working process of each component in the FPGA-based dynamic light scattering particle size inversion system includes: The autocorrelation function generation unit 10 is used to perform step S10: calculate the autocorrelation function based on the scattered light signal within a detection time period to obtain multiple sets of scattered light autocorrelation functions, wherein the autocorrelation function includes multiple time-ordered autocorrelation function values.
[0026] The input to the autocorrelation function generation unit 10 is the scattered light intensity signal within 1µs. It calculates the autocorrelation function based on the set sampling and correlation times, and finally outputs the corresponding correlation function. In a single light scattering particle size measurement of this invention, the preset average number of iterations is 100, and the sumtimes register records the number of iterations already completed. The autocorrelation function consists of 826 32-bit integer data points, which are sequentially read into the linkD register. The correlation function values in linkD are accumulated and stored in avg_buff, and then stored in the corresponding RAM memory address. The number of iterations recorded in sumtimes is checked; if it has not reached 100, a corr_start signal is issued, and the autocorrelation calculation is restarted until the number of iterations reaches 100.
[0027] S20: Calculate the mean value of the multiple sets of autocorrelation functions of scattered light to obtain the mean autocorrelation function.
[0028] If the number of accumulations reaches 100, a 64-bit divider is used to divide the data in avg_buff by 100 to obtain the cumulative average correlation function value, which is then stored in RAM. The discrete autocorrelation curve obtained from the 826 cumulative average correlation function values is the mean autocorrelation function.
[0029] The normalization unit 30 is used to perform step S30: normalize the mean autocorrelation function according to the autocorrelation function value of the mean autocorrelation function to obtain the normalized autocorrelation function.
[0030] Specifically, please refer to Figure 3 and Figure 4 Step S30 includes: The baseline value calculation subunit 301 is used to perform step S301: to accumulate and average the last 20% of the autocorrelation function values of the mean autocorrelation function to obtain the baseline value.
[0031] The baseline value is obtained by averaging the last 20% of the relevant function values, i.e., the 661st to the 826th relevant function values.
[0032] The autocorrelation function value alignment subunit 302 is used to perform step S302: sequentially divide the autocorrelation function value of each mean autocorrelation function by the baseline value and then subtract 1 to obtain a set of intermediate feature values.
[0033] The autocorrelation function value normalization subunit 303 is used to perform step S303: using the first data of the intermediate feature value group as the divisor, performing a division operation on each data in the intermediate feature value group to obtain a set of normalized autocorrelation function values.
[0034] Then, take the first data point after the calculation as the divisor, and divide all data points by the first data point to obtain a set of normalized autocorrelation function values with the first value as 1 and the baseline value as 0. This is stored in the FPGA as a 16-bit fixed-point number, containing 4 integer bits and 12 decimal bits.
[0035] Preferably, after obtaining a set of normalized autocorrelation function values in step S303, the method further includes: Discard normalized correlation function values less than 0.1.
[0036] The inversion calculation only needs to use the data of the decay segment in the correlation function. The decay segment is considered to have ended when the value decreases to 0.1.
[0037] The logarithmic inversion subunit 304 is used to perform step S304: taking the logarithm of the normalized autocorrelation function value to obtain the corresponding numerical value, and then inverting to obtain the corresponding normalized autocorrelation function. Step S304 further includes: Obtain a pre-defined table of equally divided logarithmic values, and perform a lookup operation based on the normalized autocorrelation function values to obtain the corresponding values.
[0038] Directly calculating logarithms in an FPGA would consume significant computational resources. Therefore, a lookup table method is used, pre-storing the logarithmic values from 0.1 to 1.1 in the FPGA. This consumes the FPGA's storage resources, thus saving computational resources. A 4096-point lookup table is used because the relevant function values are fixed-point numbers with 12 decimal places, exactly 2^12 = 4096. These 12 decimal places can be directly used as addresses to retrieve the corresponding values from storage, simplifying the calculation process.
[0039] The quadratic matrix construction unit 40 is used to perform step S40: calculate the quadratic matrix constructed with correlation time based on the abscissa of the normalized autocorrelation function.
[0040] Construct a quadratic matrix X based on the x-coordinates of the normalized correlation function. The matrix is 826x3. Each column is stored in a 64-bit RAM of size 1024. The first column of matrix X is all 1s, the second column is the x-coordinates corresponding to the 826 correlation function values, and the third column is the square of the x-coordinates corresponding to the 826 correlation function values.
[0041] Please see Figure 5 and Figure 6 The quadratic matrix construction unit 40 further includes: The quadratic matrix orthogonal projection calculation subunit 401 is used to calculate the first projection vector, the second projection vector, and the third projection vector of the corresponding orthogonal matrix according to the column vector relationship of the quadratic matrix, such as executing steps S401.A-S401.C in parallel.
[0042] S401.A: Calculate the sum of the inner products of the second column and the first column vector of the quadratic matrix, minus the sum of the inner products of the first column itself, as the first projection vector.
[0043] The projection vector is obtained by subtracting the sum of the inner products of the second column and the first column vector of the X matrix from the sum of the inner products of the first column itself. Then, the product of the second column and the projection vector is subtracted from the second column vector, thus completing the orthogonalization of the second column vector and the first column vector.
[0044] S401.B: Calculate the inner product of the third column and the second column vector of the quadratic matrix, minus the inner product of the second column itself, as the second projection vector.
[0045] The projection vector is obtained by subtracting the sum of the inner products of the third and second column vectors of the X matrix from the sum of the inner products of the second column itself. Then, the product of the third column and the projection vector is subtracted from the sum of the inner products of the third column and the projection vector. This completes the orthogonalization of the third and second column vectors.
[0046] S401.C: Calculate the inner product of the third column of the quadratic matrix with the first column vector, minus the inner product of the first column itself, as the third projection vector.
[0047] The inner product of the third column and the first column vector of matrix X is calculated, and the inner product of the first column itself is subtracted to obtain the projection vector. Then, the product of the third column and the projection vector is calculated, thus completing the orthogonalization of the third column vector with the first column vector. The orthogonal matrix solving subunit 402 is used to execute step S402: constructing an orthogonal matrix of the quadratic matrix based on the first projection vector, the second projection vector, the third projection vector, and the quadratic matrix, and calculating the upper triangular matrix.
[0048] Through steps S401.A-S401.C, the first, second, and third columns of matrix X are made orthogonal, completing the operation of the orthogonal matrix Q. The upper triangular matrix R is a 3x3 matrix. The projection vectors of the second and first columns are R[1,2], R[2,3], and R[1,3]. All diagonal elements of R are 1. The inverse matrix NR of the upper triangular matrix R is calculated using elementary row operations. NR[1,1], NR[2,2], and NR[3,3] are the reciprocals of R[1,1], R[2,2], and R[3,3], respectively. NR[2,3] is NR[3,3] multiplied by R[2,3] and divided by R[2,2]. NR[1,3] is NR[3,3] multiplied by R[1,3] and divided by R[1,1] plus NR[2,3] multiplied by R[1,2] and divided by R[1,1]. NR[1,3] is NR[2,2] multiplied by R[1,2] and divided by R[1,1].
[0049] S50: Construct a matrix based on the logarithmically normalized autocorrelation function value and solve for the corresponding diffusion coefficient using the quadratic matrix.
[0050] The diffusion coefficient is calculated in step S50 using the following formula:
[0051]
[0052] Where Q is an orthogonal matrix, R is an upper triangular matrix, and Y is a normalized autocorrelation function matrix after logarithmic transformation.
[0053] S60: Based on the diffusion coefficient and the corresponding environmental parameters of the scattered light signal, the corresponding scattering particle size is obtained by inversion using the Einstein-Stokes formula.
[0054] The Einstein-Stokes formula is as follows;
[0055] in, Where is the diffusion coefficient. For Boltzmann constant, Thermodynamic temperature The dynamic viscosity of the fluid. The scattering particle size is denoted by .
[0056] In summary, this invention proposes a dynamic light scattering particle size inversion method and system based on FPGA. This method calculates the autocorrelation of scattered light signals within a periodic range to obtain multiple sets of inconsistent autocorrelation functions and their values under the same scattering source. The cumulative mean of these multiple autocorrelation functions is then used to reduce function errors and avoid experimental randomness. The functions are then normalized to obtain a normalized autocorrelation function. Data from the function decay segment is extracted from the normalized autocorrelation function, and a quadratic polynomial is fitted to this data to calculate a quadratic matrix constructed with the correlation time. The corresponding diffusion coefficient is obtained by solving the matrix. Finally, the corresponding scattering particle size is obtained through inversion using Einstein-Stokes formulas. By normalizing and logarithmic processing, the numerical range is reduced, enabling the FPGA chip to meet the computational range for dynamic light scattering particle size determination. In addition, Schmitt orthogonalization is introduced to achieve QR decomposition, which eliminates collinearity between vectors, simplifies the process of linear fitting and matrix solving, simplifies the amount of computation, reduces the computing power requirements for dynamic light scattering particle size measurement, and ultimately enables FPGA to independently complete dynamic light scattering particle size measurement, thereby improving the efficiency and equipment adaptability of dynamic light scattering particle size measurement.
[0057] Based on the same inventive concept described above, this invention also provides an electronic device, which can be a server, desktop computing device, or mobile computing device (e.g., laptop computing device, handheld computing device, tablet computer, netbook, etc.). The device includes one or more processors and a memory, wherein the processor is used to execute a program to implement the aforementioned FPGA-based dynamic light scattering particle size inversion method; the memory is used to store computer programs executable by the processor.
[0058] Based on the same inventive concept, the present invention also provides a computer-readable storage medium corresponding to the aforementioned embodiments of the FPGA-based dynamic light scattering particle size inversion method. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps described in any of the above embodiments.
[0059] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the FPGA-based dynamic light scattering particle size inversion method described in any of the above embodiments.
[0060] This invention can take the form of a computer program product implemented on one or more storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing program code. Computer-readable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to: phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0061] The embodiments described above are merely examples of several implementations of the present invention, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of the present invention, and the present invention also intends to include these modifications and variations.
Claims
1. A dynamic light scattering particle size inversion method based on FPGA, characterized in that, include: S10: Calculate the autocorrelation function based on the scattered light signal within a detection time period to obtain multiple sets of scattered light autocorrelation functions, including multiple time-ordered autocorrelation function values; S20: Calculate the mean value of the multiple sets of autocorrelation functions of scattered light to obtain the mean autocorrelation function; S30: Normalize the mean autocorrelation function based on the value of the autocorrelation function of the mean autocorrelation function to obtain the normalized autocorrelation function; S40: Calculate the quadratic matrix constructed with the correlation time based on the abscissa of the normalized autocorrelation function; S50: Construct a matrix based on the logarithmically normalized autocorrelation function value and solve for the corresponding diffusion coefficient using the quadratic matrix; S60: Based on the diffusion coefficient and the corresponding environmental parameters of the scattered light signal, the corresponding scattering particle size is obtained by inversion using the Einstein-Stokes formula.
2. The FPGA-based dynamic light scattering particle diameter inversion method according to claim 1, characterized by, The diffusion coefficient is calculated in step S50 using the following formula: Wherein, X is a quadratic matrix, and Y is a normalized autocorrelation function value matrix. 3.The FPGA-based dynamic light scattering particle size inversion method according to claim 1, characterized in that, Step S40 further includes: S401.A: Calculate the sum of the inner products of the second column and the first column vector of the quadratic matrix, minus the sum of the inner products of the first column itself, as the first projection vector; S401.B: Calculate the sum of the inner products of the third column and the second column vector of the quadratic matrix, minus the sum of the inner products of the second column itself, as the second projection vector; S401.C: Calculate the sum of the inner products of the third column and the first column vector of the quadratic matrix, minus the sum of the inner products of the first column itself, as the third projection vector; S402: Construct an orthogonal matrix of the quadratic matrix based on the first projection vector, the second projection vector, the third projection vector, and the quadratic matrix, and calculate the upper triangular matrix.
4. The FPGA-based dynamic light scattering particle diameter inversion method according to claim 3, characterized by, The diffusion coefficient is calculated in step S50 using the following formula: Where Q is an orthogonal matrix, R is an upper triangular matrix, and Y is a normalized autocorrelation function value matrix.
5. The FPGA-based dynamic light scattering particle inversion method according to any one of claims 1-4, characterized in that, Step S30 includes: S301: The baseline value is obtained by averaging the last 20% of the autocorrelation function values of the mean autocorrelation function. S302: Sequentially divide the autocorrelation function value of each mean autocorrelation function by the baseline value and then subtract 1 to obtain a set of intermediate characteristic values; S303: Using the first data in the intermediate feature value group as the divisor, perform a division operation on each data in the intermediate feature value group to obtain a set of normalized autocorrelation function values; S304: After taking the logarithm of the normalized autocorrelation function value, the corresponding value is obtained, and the corresponding normalized autocorrelation function is obtained by inversion.
6. The FPGA-based dynamic light scattering particle diameter inversion method according to claim 5, characterized by, Step S304 further includes: Obtain a pre-defined table of equally divided logarithmic values, and perform a lookup operation based on the normalized autocorrelation function values to obtain the corresponding values.
7. The FPGA-based dynamic light scattering particle diameter inversion method according to claim 6, characterized by, After obtaining a set of normalized autocorrelation function values in step S303, the method further includes: Discard normalized correlation function values less than 0.
1.
8. A dynamic light scattering particle size inversion system based on FPGA, characterized in that, include: Autocorrelation function generation unit: used to calculate the autocorrelation function based on the scattered light signal within a detection time period, and obtain multiple sets of scattered light autocorrelation functions, wherein the autocorrelation function includes multiple time-ordered autocorrelation function values; Mean processing unit: used to calculate the mean of the multiple sets of scattered light autocorrelation functions to obtain the mean autocorrelation function; Normalization unit: used to normalize the mean autocorrelation function based on the autocorrelation function value of the mean autocorrelation function to obtain a normalized autocorrelation function; Quadratic matrix construction unit: used to calculate a quadratic matrix constructed with correlation time based on the abscissa of the normalized autocorrelation function; Diffusion coefficient solving unit: used to construct a matrix based on the logarithmized normalized autocorrelation function value and solve the corresponding diffusion coefficient in combination with the quadratic matrix; Scattering particle size inversion unit: used to invert and solve for the corresponding scattering particle size based on the diffusion coefficient and the corresponding environmental parameters of the scattered light signal using the Einstein-Stokes formula.
9. The FPGA-based dynamic light scattering particle size inversion system according to claim 8, characterized in that, The quadratic matrix construction unit also includes: The quadratic matrix orthogonal projection calculation subunit is used to calculate the first projection vector, second projection vector, and third projection vector of the corresponding orthogonal matrix based on the column vector relationship of the quadratic matrix. Orthogonal matrix solving sub-unit: Construct an orthogonal matrix of the quadratic matrix based on the first projection vector, the second projection vector, the third projection vector and the quadratic matrix, and calculate the upper triangular matrix.
10. The FPGA-based dynamic light scattering particle size inversion system according to claim 9, characterized in that, The normalization unit includes: Baseline value calculation subunit: used to accumulate and average the last 20% of the autocorrelation function values of the mean autocorrelation function to obtain the baseline value; Autocorrelation function value alignment sub-unit: used to sequentially divide the autocorrelation function value of each mean autocorrelation function by the baseline value and then subtract 1 to obtain a set of intermediate feature values; Autocorrelation function value normalization subunit: used to perform division operation on each data in the intermediate feature value group with the first data of the intermediate feature value group as the divisor, to obtain a set of normalized autocorrelation function values; Logarithmic inversion subunit: used to obtain the corresponding value by taking the logarithm of the normalized autocorrelation function value, and then inverting to obtain the corresponding normalized autocorrelation function.