CN110070170A - PSO-BP neural network sensor calibrating system and method based on MCU - Google Patents

PSO-BP neural network sensor calibrating system and method based on MCU Download PDF

Info

Publication number
CN110070170A
CN110070170A CN201910432693.4A CN201910432693A CN110070170A CN 110070170 A CN110070170 A CN 110070170A CN 201910432693 A CN201910432693 A CN 201910432693A CN 110070170 A CN110070170 A CN 110070170A
Authority
CN
China
Prior art keywords
neural network
pso
mcu
calibration
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910432693.4A
Other languages
Chinese (zh)
Inventor
魏榕山
高雄
林宏凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201910432693.4A priority Critical patent/CN110070170A/en
Publication of CN110070170A publication Critical patent/CN110070170A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D18/00Testing or calibrating apparatus or arrangements provided for in groups G01D1/00 - G01D15/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

The present invention relates to a kind of PSO-BP neural network sensor calibrating system based on MCU, it is characterised in that: the system comprises microprocessor, communication module, calibration module, digital tube display module and storage units;The microprocessor is separately connected by AHB-Lite bus and communication module, calibration module, digital tube display module and storage unit;The communication module is connect with sensor to be measured.The present invention can read the correction of data to sensor in real time, can effectively eliminate the nonlinear characteristic of sensor, solve the defects of existing software calibration mode real-time is poor, hardware calibration mode precision is limited.

Description

PSO-BP neural network sensor calibrating system and method based on MCU
Technical field
The present invention relates to sensing datas to calibrate field, and in particular to a kind of PSO-BP neural network sensing based on MCU Device calibration system and method.
Background technique
Current sensor calibrating system implementation method is broadly divided into software calibration and two kinds of hardware calibration.
Traditional software calibration generally uses the methods of fitting of a polynomial, interpolation method, and calibration accuracy is than hardware calibration method Height, but real-time is poor.The calibration accuracy of fitting of a polynomial is vulnerable to the quantity of nominal data and the shadow of polynomial fitting order It rings, and error is larger outside input data section.Curve of the Newton interpolating method in endpoint junction may rough, cubic spline Although interpolation method precision is high but calculating process is excessively complicated.Neural network algorithm nonlinear function approximation ability with higher, Its fitting effect is preferable.The realization of Neural Network Calibration algorithm at this stage is mostly based on software, and subsequent needs are artificially to sensor Data are acquired and handle, and are unfavorable for real-time, the automatic measurement of sensor.
Hardware calibration real-time is high, but precision is lower, and that there are precision is related to circuit complexity, is not easy to debug and the offices such as integrates It is sex-limited.Traditional hardware calibration method has the methods of resistor network, feedback adjustment amplifier, feedback modification supply voltage.Using electricity It is smaller to hinder network progress calibration correction range, and correction accuracy is not high.It is not easy using the calibrating mode that feedback adjustment amplifier inputs In integrating, the debugging of integrated circuit is also complex, needs the ratio of strict control resistance.Feedback modification supply voltage carries out school Quasi- circuit is excessively complicated, is not easy to integrate, debugging process is cumbersome.
Summary of the invention
In view of this, the purpose of the present invention is to provide a kind of PSO-BP neural network pick up calibration system based on MCU System and method, calibration algorithm neural network based read the correction of data to sensor in real time, can effectively eliminate sensor Nonlinear characteristic solves the defects of existing software calibration mode real-time is poor, hardware calibration mode precision is limited.
To achieve the above object, the present invention adopts the following technical scheme:
A kind of PSO-BP neural network sensor calibrating system based on MCU, the system comprises microprocessor, communication module, Calibration module, digital tube display module and storage unit;The microprocessor passes through AHB-Lite bus and communication module, calibration Module, digital tube display module and storage unit are separately connected;The communication module is connect with sensor to be measured.
Further, the communication module uses I2C bus, and bus is made of data line and clock line.
Further, the calibration algorithm of the calibration module uses PSO-BP neural network, the PSO-BP neural network Structure is single hidden layer, input layer, hidden layer, output layer neuron number be 1:3:1, input layer and hidden layer use Sigmoid function uses linear function as activation primitive, the activation primitive of output layer.
Further, the Sigmoid function is fitted using polynomial segmentation fitting mode.
Further, the BP neural network building specifically:
Step 1:BP neural network carries out model training using the learning rules of error back propagation;
Step 2: after having collected enough multisensor reading data, importing the study that data carry out weight and biasing;
Step 3: in the error retrospectively calculate stage, according to chain rule, optimizing secondary cost function using stochastic gradient descent method;
Step 4: the initialization using the model error of BP neural network as fitness function, using PSO algorithm to BP neural network Initial parameter optimizes, and obtains the lesser initial parameter of error;
Step 5: the lesser initial parameter of error will be obtained, be trained by BP neural network, finally complete model training, obtained To PSO-BP neural network model.
Further, the display module uses digital tube display module.
A kind of control method of the PSO-BP neural network sensor calibrating system based on MCU, comprising the following steps:
Step S1: microprocessor reads sensing data by communication module;
Step S2: the microprocessor is standardized sensing data, obtains pretreated reading data;
Step S3: pretreated reading data being exported to calibration module and are calibrated, and by the reading data after calibration into It exports after the anti-standardization of row to microprocessor;
Step S4: microprocessor shows data transmission to the display module after anti-standardization.
Compared with the prior art, the invention has the following beneficial effects:
1, present invention employs the stronger BP neural networks of capability of fitting as calibration algorithm, and using PSO algorithm to initial ginseng Number optimizes, and improves the precision and convergence rate of traditional BP neural network.
2, the present invention migrates to Neural Network Calibration system on hardware end MCU from software end, completes calibration system It builds, and the data communication that I2C protocol communication module carries out sensor chip and calibration system is added in systems, solve soft The deficiency of part calibration real-time difference.
3, the present invention realizes Sigmoid function, and piecewise polynomial fitting mode is utilized to the activation primitive of neural network It is designed, while module reuse technology is introduced to the activation primitive of neural network, ensure that the same of hardware calibration precision When reduce the area and power consumption of system.
Detailed description of the invention
Fig. 1 is calibration system block diagram of the present invention;
Fig. 2 is neural network hardware structure chart of the present invention;
Fig. 3 is Sigmoid activation primitive hardware realization block diagram of the present invention;
Fig. 4 is present system workflow block diagram.
Specific embodiment
The present invention will be further described with reference to the accompanying drawings and embodiments.
Fig. 1 is please referred to, the present invention provides a kind of PSO-BP neural network sensor calibrating system based on MCU, the system System includes microprocessor, communication module, calibration module, digital tube display module and storage unit;The microprocessor passes through AHB-Lite bus is separately connected with communication module, calibration module, digital tube display module and storage unit;The communication module It is connect with sensor to be measured.
In the present embodiment, microprocessor is mainly responsible for the node state scheduling of data prediction and system.Microprocessor passes through logical Believe that module reads sensing data, will then read data and be standardized, it, will in the case where not changing data discrete degree Sensor reads data uniform range to improve the convergence rate of model.Standardized data are transmitted to calibration module and carry out school Standard then standardizes the readout after calibration is counter again, transfers data to display module by microprocessor.Microprocessor master The read-write operation to slave is realized by the cooperation of multiplexer and address decoder.
In the present embodiment, for storing HEX file, the main machine code for storing C language and generating, code will lead to storage unit It crosses AHB-Lite bus and is sent to microprocessor and it is enabled to be written and read slave.
In the present embodiment, the communication module uses I2C bus, and bus is made of data line and clock line.By sensor As slave, the timing of microprocessor and C language simulation I2C host is utilized.Host sends commencing signal, is sought according to address signal Slave to be looked for, and sends the instruction read or write, slave generates response, corresponding data transmission work is then carried out between slave, Each time operation terminate, slave can all generate an answer signal with judge communication whether succeed, after the data transfer ends, host End signal is sent, I2C bus is discharged.
In the present embodiment, BP neural network carries out model training using the learning rules of error back propagation.Foot is collected After more than enough sensor reads data, the study of weight and biasing is carried out in software end.In the error retrospectively calculate stage, according to chain type Rule optimizes secondary cost function using stochastic gradient descent method.Population (PSO) algorithm is introduced to the initial ginseng of neural network Number is rationally arranged.Using the model error of BP neural network as fitness function, using PSO algorithm to the first of BP neural network Beginningization initial parameter optimizes, and obtains the lesser initial parameter of error, is then trained again by BP neural network, finally Complete model training.
In this implementation, the integrally-built hardware circuit mapping of PSO-BP neural network is as shown in Figure 2.Its structure is set to single hidden Hide layer, input layer, hidden layer, output layer neuron number be set to 1:3:1.In view of sensor read data in negative data compared with To be common, ReLu activation primitive is difficult to be fitted negative data, so using Sigmoid function as sharp in input layer and hidden layer Function living.To guarantee finally can normally show positive negative value, the activation primitive of output layer uses linear function.
For the computational accuracy and hardware resource consumption of equilibrium nerve network model, software end is not used in hardware realization In usually used floating number, and calculated using fixed-point number.In order to guarantee precision, the input of model and output number in hardware According to 16 fixed-point numbers are used, data, which calculate, uses 32 fixed-point numbers.From left to right it is followed successively by sign bit in 16 fixed-point numbers, 3 Integer-bit, 12 decimal places;Sign bit, 7 integer-bits, 24 decimal places are from left to right followed successively by 32 fixed-point numbers.
Adder and multiplier carries out shifter-adder to binary system multiplier according to by binary system multiplier, is by a succession of of clock control " displacement-addition " operation.
In the present embodiment, Sigmoid activation primitive hardware realization block diagram is as shown in Figure 3.Due to being difficult to realize refer in hardware Number function, so being fitted Sigmoid function using polynomial segmentation fitting mode.Under the premise of ensuring the accuracy requirement, will swash Function living is divided into 12 sections, and the order of fitting function is up to two ranks.The ginseng of different segmentations is stored and searched using look-up table Number realizes the multinomial in different sections.The calculating of one second order polynomial can substantially be divided into Four processes: firstly, according to input Data x searches corresponding second order polynomial coefficient a, b, c;Then, second stage uses two multiplier parallel computation x2With bx; Later, ax is calculated simultaneously using a multiplier and adder2With bx+c;Finally, being added output y using adder.In order to protect Certain calculating speed is demonstrate,proved, assembly line is not used in the design, while introducing parallel computation.Its adder and multiplication module Using module reuse to reduce resource consumption.
In the present embodiment, the display module uses digital tube display module.Since data within hardware are stored as two System or hexadecimal, it is therefore desirable to which carrying out certain conversion could be shown with the decimal system.Pass through simple division modulus Remainder can obtain corresponding decimal value.It is built due to division with hardware circuit and relatively occupies resource area, converter section Divide and is completed by microprocessor.Highest order is sign bit for indicating positive and negative, rear 5 expressions numerical value, wherein preceding 3 expressions integer portion Point, rear 2 expressions fractional part.It is displayed data using six Digital sum pipes, highest order is sign bit, 2-4 expression integers Part, 5-6 expression fractional parts.
Referring to Fig. 4, in the present embodiment, a kind of controlling party of the PSO-BP neural network sensor calibrating system based on MCU Method, comprising the following steps:
Step S1: microprocessor reads sensing data by communication module;
Step S2: the microprocessor is standardized sensing data, obtains pretreated reading data;
Step S3: pretreated reading data being exported to calibration module and are calibrated, and by the reading data after calibration into It exports after the anti-standardization of row to microprocessor;
Step S4: microprocessor shows data transmission to the display module after anti-standardization.
The foregoing is merely presently preferred embodiments of the present invention, all equivalent changes done according to scope of the present invention patent with Modification, is all covered by the present invention.

Claims (7)

1. a kind of PSO-BP neural network sensor calibrating system based on MCU, it is characterised in that: the system comprises micro processs Device, communication module, calibration module, digital tube display module and storage unit;The microprocessor by AHB-Lite bus with Communication module, calibration module, digital tube display module and storage unit are separately connected;The communication module and sensor to be measured connect It connects.
2. the PSO-BP neural network sensor calibrating system according to claim 1 based on MCU, it is characterised in that: institute Communication module is stated using I2C bus, bus is made of data line and clock line.
3. the PSO-BP neural network sensor calibrating system according to claim 1 based on MCU, it is characterised in that: institute The calibration algorithm of calibration module is stated using PSO-BP neural network, the PSO-BP neural network structure is single hidden layer, input Layer, hidden layer, output layer neuron number be 1:3:1, input layer and hidden layer use Sigmoid function as activation primitive, The activation primitive of output layer uses linear function.
4. the PSO-BP neural network sensor calibrating system according to claim 3 based on MCU, it is characterised in that: institute State BP neural network building specifically:
Step 1:BP neural network carries out model training using the learning rules of error back propagation;
Step 2: after having collected enough multisensor reading data, carrying out the study of weight and biasing;
Step 3: in the error retrospectively calculate stage, according to chain rule, optimizing secondary cost function using stochastic gradient descent method;
Step 4: the initialization using the model error of BP neural network as fitness function, using PSO algorithm to BP neural network Initial parameter optimizes, and obtains the lesser initial parameter of error;
Step 5: the lesser initial parameter of error will be obtained, be trained by BP neural network, finally complete model training, obtained To PSO-BP neural network model.
5. the PSO-BP neural network sensor calibrating system according to claim 3 based on MCU, it is characterised in that: institute Sigmoid function is stated to be fitted using polynomial segmentation fitting mode.
6. the PSO-BP neural network sensor calibrating system according to claim 1 based on MCU, it is characterised in that: institute Display module is stated using digital tube display module.
7. a kind of control method of the PSO-BP neural network sensor calibrating system based on MCU, which is characterized in that including following Step:
Step S1: microprocessor reads sensing data by communication module;
Step S2: the microprocessor is standardized sensing data, obtains pretreated reading data;
Step S3: pretreated reading data being exported to calibration module and are calibrated, and by the reading data after calibration into It exports after the anti-standardization of row to microprocessor;
Step S4: microprocessor shows data transmission to the display module after anti-standardization.
CN201910432693.4A 2019-05-23 2019-05-23 PSO-BP neural network sensor calibrating system and method based on MCU Pending CN110070170A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910432693.4A CN110070170A (en) 2019-05-23 2019-05-23 PSO-BP neural network sensor calibrating system and method based on MCU

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910432693.4A CN110070170A (en) 2019-05-23 2019-05-23 PSO-BP neural network sensor calibrating system and method based on MCU

Publications (1)

Publication Number Publication Date
CN110070170A true CN110070170A (en) 2019-07-30

Family

ID=67371358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910432693.4A Pending CN110070170A (en) 2019-05-23 2019-05-23 PSO-BP neural network sensor calibrating system and method based on MCU

Country Status (1)

Country Link
CN (1) CN110070170A (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5554273A (en) * 1995-07-26 1996-09-10 Praxair Technology, Inc. Neural network compensation for sensors
RU2199089C1 (en) * 2002-04-11 2003-02-20 ООО "НТ-Центр" Method for correcting static characteristics of measuring transducers
US20100169254A1 (en) * 2008-12-29 2010-07-01 Chi Mei Communication Systems, Inc. System and method for calibrating radio frequency power of communication devices
CN103983332A (en) * 2014-05-31 2014-08-13 福州大学 Method for error compensation of sensor based on HGSA-BP algorithm
CN104484703A (en) * 2014-12-30 2015-04-01 合肥工业大学 Sigmoid function fitting hardware circuit based on Remez approximating algorithm
CN104875577A (en) * 2014-02-27 2015-09-02 惠州市德赛西威汽车电子有限公司 All-condition double-area temperature calibration method and automobile air conditioner control system
CN105258839A (en) * 2015-10-30 2016-01-20 南京信息工程大学 Array type air pressure measurement compensation device and method based on quantum particle swarm wavelet neural network
CN106153567A (en) * 2016-06-22 2016-11-23 南京信息工程大学 Based on the pressure compensated infrared gas sensor of BP neutral net and detection method
CN108073075A (en) * 2017-12-21 2018-05-25 苏州大学 Silicon micro accerometer temperature-compensation method, system based on GA Optimized BP Neural Networks
CN108537332A (en) * 2018-04-12 2018-09-14 合肥工业大学 A kind of Sigmoid function hardware-efficient rate implementation methods based on Remez algorithms
CN210488594U (en) * 2019-05-23 2020-05-08 福州大学 PSO-BP neural network sensor calibration system based on MCU

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5554273A (en) * 1995-07-26 1996-09-10 Praxair Technology, Inc. Neural network compensation for sensors
RU2199089C1 (en) * 2002-04-11 2003-02-20 ООО "НТ-Центр" Method for correcting static characteristics of measuring transducers
US20100169254A1 (en) * 2008-12-29 2010-07-01 Chi Mei Communication Systems, Inc. System and method for calibrating radio frequency power of communication devices
CN104875577A (en) * 2014-02-27 2015-09-02 惠州市德赛西威汽车电子有限公司 All-condition double-area temperature calibration method and automobile air conditioner control system
CN103983332A (en) * 2014-05-31 2014-08-13 福州大学 Method for error compensation of sensor based on HGSA-BP algorithm
CN104484703A (en) * 2014-12-30 2015-04-01 合肥工业大学 Sigmoid function fitting hardware circuit based on Remez approximating algorithm
CN105258839A (en) * 2015-10-30 2016-01-20 南京信息工程大学 Array type air pressure measurement compensation device and method based on quantum particle swarm wavelet neural network
CN106153567A (en) * 2016-06-22 2016-11-23 南京信息工程大学 Based on the pressure compensated infrared gas sensor of BP neutral net and detection method
CN108073075A (en) * 2017-12-21 2018-05-25 苏州大学 Silicon micro accerometer temperature-compensation method, system based on GA Optimized BP Neural Networks
CN108537332A (en) * 2018-04-12 2018-09-14 合肥工业大学 A kind of Sigmoid function hardware-efficient rate implementation methods based on Remez algorithms
CN210488594U (en) * 2019-05-23 2020-05-08 福州大学 PSO-BP neural network sensor calibration system based on MCU

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
袁东明 等著: "《现代数字电路与逻辑设计实验教程》", 北京:北京邮电大学出版社, pages: 210 - 212 *

Similar Documents

Publication Publication Date Title
Judd et al. Asymptotic methods for aggregate growth models
CN107169563B (en) Processing system and method applied to two-value weight convolutional network
CN104238993A (en) Vector matrix product accelerator for microprocessor integration
CN109146067B (en) Policy convolution neural network accelerator based on FPGA
KR20220097961A (en) Recurrent neural networks and systems for decoding encoded data
CN107423816A (en) A kind of more computational accuracy Processing with Neural Network method and systems
CN107133699A (en) Box office receipts trend forecasting method and device, equipment, storage medium
CN109934336A (en) Neural network dynamic based on optimum structure search accelerates platform designing method and neural network dynamic to accelerate platform
CN104142892B (en) A kind of data read-write method, apparatus and system
WO2022111002A1 (en) Method and apparatus for training neural network, and computer readable storage medium
CN115425976A (en) ADC sampling data calibration method and system based on FPGA
CN210488594U (en) PSO-BP neural network sensor calibration system based on MCU
CN115796338A (en) Photovoltaic power generation power prediction model construction and photovoltaic power generation power prediction method
CN110070170A (en) PSO-BP neural network sensor calibrating system and method based on MCU
CN114970357A (en) Energy-saving effect evaluation method, system, device and storage medium
CN116720554B (en) Method for realizing multi-section linear fitting neuron circuit based on FPGA technology
CN118410849A (en) Method, apparatus and medium for determining quantization cut-off value
CN112183744A (en) Neural network pruning method and device
JP6973651B2 (en) Arithmetic optimizers, methods and programs
CN102314215A (en) Low power consumption optimization method of decimal multiplier in integrated circuit system
CN114997386B (en) CNN neural network acceleration design method based on multi-FPGA heterogeneous architecture
US20220358183A1 (en) Matrix multiplier and operation method thereof
CN115826911A (en) Variable bit width adder tree generating system based on multi-type approximate computing unit
CN111198714B (en) Retraining method and related product
CN111260070B (en) Operation method, device and related product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination