A method for processing and correcting speech singular data
Patent Information
- Application Number
- CN202111462505.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-02
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-12-02
AI Technical Summary
When processing speech data in the existing technology, the singular value filtering method caused by electrical noise has the problem of large signal loss or inaccurate singular point identification, resulting in over-filtering or residual singular data, affecting the accuracy of data processing.
Through the singularity measurement index based on linear fitting, the suspected points of singular data are screened out, and it is judged whether they meet the threshold range. The points determined to be singular data are corrected to form a corrected data group.
It effectively retains the signal and filters out singular points, solves the signal distortion problem caused by inaccurate determination of singular data points, and improves the accuracy of data processing.
Smart Images

Figure CN114171042B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of speech data correction and processing, and in particular provides a method for processing and correcting speech singular data. Background Art
[0002] During voice equipment operation, especially when starting up the radio frequency circuit and network communications, significant electrical noise is present. This noise can affect the accuracy of voice data. Furthermore, the sheer volume of data collected on-site can lead to errors in the raw data (usually signal singularities), which can severely impact subsequent data processing and even completely deviate from expected experimental results.
[0003] The existing method for processing electrical noise is to perform singular value filtering on the sound data. The existing methods of singular value filtering include: 1. limiting filtering; 2. median filtering; 3. filtering based on the Raida criterion; 4. IIR digital filter filtering method; 5. FIR digital filter filtering method, etc.
[0004] The above methods all have common shortcomings: they do not take into account the changing trend of the signal, and there are irreconcilable contradictions after the data is substituted. That is, the more data points the algorithm uses, the greater the signal loss, and the fewer data points the algorithm uses, the less accurate the singular point judgment, which leads to the problem of over-filtering or a large amount of residual singular data in the filtering data processing process. Summary of the Invention
[0005] To solve the above problems, the present invention provides a method for processing and correcting speech singular data.
[0006] To achieve the above object, the present invention adopts a technical solution: a method for processing and correcting speech singularity data, comprising:
[0007] Step 1: Determine the threshold value based on the filtering curve;
[0008] Step 2: Screen the original experimental data of the detected speech to identify suspicious points of singular data;
[0009] Step 3: Determine whether the suspected points of the singular data meet the threshold range and whether the data is singular data;
[0010] Step 4: Correct the data points that are determined to be singular data to obtain a corrected data set.
[0011] Furthermore, in step 1, by observing the filtering curves under different thresholds, a point with good anti-singularity effect is selected as the data comparison threshold ρ.
[0012] Furthermore, in step 2, the method for screening outlier data suspicious points is as follows:
[0013] 1) Perform singular value decomposition on the vibration signal matrix collected from the original speech experimental data, divide it into n detection data, create the sequence number array X of the speech detection data and the speech detection data value array Y, and create empty arrays H and F;
[0014] 2) Assign values to arrays H and F: H = X, F = Y (used to save the original data of arrays X and Y);
[0015] 3) Determine whether the Σ value of the initial data array Y is greater than the threshold ρ;
[0016] The Σ value of array Y is evaluated as follows:
[0017] Find the average of two arrays X and Y:
[0018]
[0019] Estimate the linear regression equation of slope k by the least squares method:
[0020]
[0021] Obtain the linear regression equation for the intercept b:
[0022]
[0023] Fit the linear regression equation:
[0024]
[0025] Find the residual sum of squares Σ:
[0026]
[0027] If the initial Σ value is not greater than the threshold ρ, it represents a non-singular value suspected point in the data set, and the non-singular value suspected point data array Y and the corresponding sequence number array X are directly output, and the loop ends;
[0028] If the initial Σ value is greater than the threshold ρ, it means that there are suspected singular value points in the data array Y;
[0029] 4) Screening of suspected singular value points:
[0030] Randomly select n-1 elements from the n elements of array Y and combine them to generate multiple new sequence number arrays and detection data arrays (i.e., all possible combinations);
[0031] Calculate the Σ value of all detection data arrays, select the data array Y' with the smallest Σ value and the corresponding sequence array X';
[0032] Reassign arrays X and Y: X = X`, Y = Y`;
[0033] Re-determine whether the Σ value of the array Y after iteration is greater than the threshold ρ. If the Σ value is still greater than the threshold ρ, repeat the above process until the Σ value is no greater than the threshold ρ;
[0034] 5) When the Σ value is not greater than the threshold ρ, the data array Y without suspicious points after the loop iteration and the corresponding serial number array X are output; at the same time, new empty arrays X1 and Y1 are created, and the arrays X1 and Y1 are assigned: X1 = HX, Y1 = FY, and the singular value suspected point data array Y1 and the corresponding serial number array X1 are obtained and output
[0035] Furthermore, in step 3, the specific process of judging whether the suspected singular data point meets the threshold range and determining whether the data is singular data is as follows:
[0036] 1) Refit the filtered non-singular value suspected point data array Y and its corresponding sequence array X to obtain the linear equation y=k·x+b;
[0037] 2) Based on the intercept deviation, two parallel line equations are obtained, located on both sides of the fitting equation. The equation of the parallel line on the upper side of the fitting equation is selected as y = k·x + b1, and the equation of the parallel line on the lower side of the fitting equation is selected as y = k·x + b2;
[0038] 3) Substitute the elements of the singular value suspected point number array X1 into the two parallel line equations y = k·x + b1 and y = k·x + b2 to obtain the array Y 11 With Y 12 ; Compare each element y1 of Y1 with the y corresponding to the serial number 11 and y 12 Make a comparison and determine whether the data y1 is a singular value point based on the comparison results.
[0039] Furthermore, in step 4, the process of correcting the data points determined to be singular data is as follows:
[0040] 1) Judge each element in the singular value suspected point data array Y1. If the data y1 is judged to be a non-singular point (i.e., y 12 ≤y1≤y 11 ) then retain the point (i.e. assign value to y1: y1=y1); if the data y1 is judged to be a singular point (i.e. y1>y 11 Or y1<y 12 ), then the singular point data y1 is corrected;
[0041] 2) When y1>y 11 When , the suspected point is determined to be a singular value point, and y1 is assigned y1 = y 11 , when y1<y 12When the suspected point is determined to be a singular value point, y1 is assigned y1 = y 12 , and finally obtain the data array Y1 after data correction;
[0042] The non-singular value suspected point data array Y and its corresponding sequence number array X are merged with the corrected data group Y1 and its corresponding sequence number array X1, and arrays X and Y are reassigned: X=X+X1, Y=Y+Y1, and the new data array Y is sorted according to the sequence number array X to obtain the complete speech data array Y after the singular data is corrected.
[0043] The beneficial effects of using the present invention are:
[0044] The singularity measurement index proposed in this method is based on linear fitting, which better balances the preservation of signals and the filtering of singular points, and solves the problem of signal distortion caused by excessive filtering or a large amount of residual singular data due to inaccurate determination of singular data points. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 This is a flow chart of the singular data screening method of the present invention;
[0046] Figure 2 This is a flow chart of the singular data suspected point judgment and singular point correction process of the present invention;
[0047] Figure 3 It is the original waveform diagram of the experimental data of the present invention;
[0048] Figure 4 The waveform diagram after the singular data correction of the present invention;
[0049] Figure 5 This is the waveform diagram after filtering and correction by the prior art IIR low-pass filter;
[0050] Figure 6 This is the waveform diagram after filtering and correction by the prior art IIR high-pass filter. DETAILED DESCRIPTION
[0051] The present invention is described in detail below with reference to the accompanying drawings.
[0052] Reference Figures 1-6 , a method for processing and correcting speech singularity data, comprising:
[0053] Step 1: Determine the threshold value based on the filtering curve;
[0054] Step 2: Screen the original experimental data of the detected speech to identify suspicious points of singular data;
[0055] Step 3: Determine whether the suspected points of the singular data meet the threshold range and whether the data is singular data;
[0056] Step 4: Correct the data points that are determined to be singular data to obtain a corrected data set.
[0057] Furthermore, the method for determining the threshold value according to the filtering curve is as follows:
[0058] Observe the filtering curves under different thresholds, select the point with good anti-singularity effect, and select the threshold ρ.
[0059] Depend on Figure 5 It can be seen that in the anti-singularity process, when ρ = 0.01, the curve is relatively flat, and both high-frequency and low-frequency signals are eliminated, and the original data loses its effect; when ρ = 2, the curve retains the high-frequency signal and eliminates the singular signal, with good anti-singularity effect; when ρ = 100, the curve is close to the original curve, and the anti-singularity effect is poor. Therefore, the ρ = 2 curve has a more obvious anti-singularity effect and is relatively stable.
[0060] Furthermore, the method for screening outlier data suspicion points is as follows:
[0061] 1) Perform singular value decomposition on the vibration signal matrix collected from the original speech experimental data, divide it into n detection data, create the sequence number array X of the speech detection data and the speech detection data value array Y, and create empty arrays H and F;
[0062] 2) Assign values to arrays H and F: H = X, F = Y (used to save the original data of arrays X and Y);
[0063] 3) Determine whether the Σ value of the initial data array Y is greater than the threshold ρ;
[0064] The Σ value of array Y is evaluated as follows:
[0065] Find the average of two arrays X and Y:
[0066]
[0067] Estimate the linear regression equation of slope k by the least squares method:
[0068]
[0069] Obtain the linear regression equation for the intercept b:
[0070]
[0071] Fit the linear regression equation:
[0072]
[0073] Find the residual sum of squares Σ:
[0074]
[0075] If the initial Σ value is not greater than the threshold ρ, it represents a non-singular value suspected point in the data set, and the non-singular value suspected point data array Y and the corresponding sequence number array X are directly output, and the loop ends;
[0076] If the initial Σ value is greater than the threshold ρ, it means that there are suspected singular value points in the data array Y;
[0077] 4) Screening of suspected singular value points:
[0078] Randomly select n-1 elements from the n elements of array Y and combine them to generate multiple new sequence number arrays and detection data arrays (i.e., all possible combinations);
[0079] Calculate the Σ values of all detected data arrays, select the data array Y' with the smallest Σ value and the corresponding sequence array X' (the elements in the data array Y' corresponding to the smallest Σ value that are eliminated compared to the original data array F are defined as singular value suspected points);
[0080] Reassign arrays X and Y: X = X`, Y = Y`;
[0081] Re-determine whether the Σ value of the array Y after iteration is greater than the threshold ρ. If the Σ value is still greater than the threshold ρ, repeat the above process until the Σ value is no greater than the threshold ρ;
[0082] 5) When the Σ value is not greater than the threshold ρ, the data array Y without suspicious points after the loop iteration and its corresponding serial number array X are output. At the same time, new empty arrays X1 and Y1 are created, and the arrays X1 and Y1 are assigned the following values: X1 = HX, Y1 = FY (the elements contained in the screened non-singular value suspected point data array Y are removed from the original data F. The remaining elements are all singular value suspected points that were eliminated one by one in the above screening cycle. The serial number array is adjusted synchronously to facilitate the sorting after the final array reorganization). The singular value suspected point data array Y1 and its corresponding serial number array X1 are obtained and output.
[0083] Furthermore, the method for determining whether the suspected singular data point meets the threshold range and whether the data is singular data is as follows:
[0084] 1) Refitting the filtered non-singular value suspected point data array Y and its corresponding sequence array X can derive the linear equation y=k·x+b;
[0085] 2) Based on the intercept deviation (the limit value of the intercept deviation is the threshold value ρ), two parallel line equations can be obtained, located on both sides of the fitting equation. The upper parallel line equation of the fitting equation is selected as y = k·x + b1, and the lower parallel line equation of the fitting equation is selected as y = k·x + b2. Among them, b1 = b + ρ and b2 = b - ρ. The two parallel line equations limit the maximum interval of non-singular data;
[0086] 3) Substitute the elements of the singular value suspected point number array X1 into the two parallel line equations y = k·x + b1 and y = k·x + b2 to obtain the array Y 11 With Y 12 . Each element y1 of Y1 is matched with the y corresponding to the serial number 11 and y 12 Make a comparison and determine whether the data y1 is a singular value point based on the comparison results.
[0087] Furthermore, the method for correcting the data points determined to be singular data is as follows:
[0088] 1) Judge each element in the singular value suspected point data array Y1. If the data y1 is judged to be a non-singular point (i.e., y 12 ≤y1≤y 11 ) then retain the point (i.e. assign value to y1: y1=y1); if the data y1 is judged to be a singular point (i.e. y1>y 11 Or y1<y 12 ), then the singular point data y1 is corrected;
[0089] 2) When y1>y 11 When , the suspected point is determined to be a singular value point, and y1 is assigned y1 = y 11 , to achieve the purpose of correcting the singular data that is greater than the deviation limit value; when y1<y 12 When the suspected point is determined to be a singular value point, y1 is assigned y1 = y 12 , achieving the purpose of correcting the singular data that is less than the deviation limit value; finally obtaining the data array Y1 after data correction;
[0090] The non-singular value suspected point data array Y and its corresponding sequence number array X are merged with the corrected data group Y1 and its corresponding sequence number array X1, and arrays X and Y are reassigned: X=X+X1, Y=Y+Y1, and the new data array Y is sorted according to the sequence number array X to obtain the complete speech data array Y after the singular data is corrected.
[0091] The singularity metric proposed in this method is based on linear fitting, which can better balance the preservation of signals and the removal of singular points. The processed data waveform is shown in the figure below: Figure 4 As shown, compared with Figure 3The original data waveform in the image retains high-frequency and low-frequency signals while eliminating singular signals, achieving a good anti-singularity effect. Figure 5 and Figure 6 They are the data waveforms after being processed by the existing commonly used filtering methods IIR low-pass filter filtering method and IIR high-pass filter filtering method, and the data waveform after being processed by this method ( Figure 4 ), it solves the problem of signal distortion caused by excessive filtering or a large amount of residual singular data due to inaccurate determination of singular data points.
[0092] In summary, the singular data correction method proposed in the present invention solves the above-mentioned defects existing in the existing singular data methods: there is an irreconcilable contradiction after the singular value filtering method data is substituted, that is, the more points the algorithm uses, the greater the signal loss, and the fewer points the algorithm uses, the less accurate the singular point judgment.
[0093] pass Figure 3 and Figure 4 The comparison results show that after the algorithm is processed, the singular value points in the sound data are effectively suppressed.
[0094] Currently, the commonly used singular data processing methods with good singular data correction effects on the market are: IIR low-pass filter filtering method, IIR high-pass filter filtering method, Figure 5 、 Figure 6 They are waveform diagrams of the same original data after being processed by the above two methods. Figure 4 and Figure 5 、 Figure 6 The comparison results show that the singular data correction effect of the proposed algorithm is better than the commonly used singular data correction methods on the market.
[0095] The above content is only a preferred embodiment of the present invention. For ordinary technicians in this field, according to the concept of the present invention, many changes can be made in the specific implementation method and application scope. As long as these changes do not deviate from the concept of the present invention, they all fall within the scope of protection of the present invention.
Claims
1. A method for processing and correcting speech singularity data, characterized by: include: Step 1: Determine the threshold ρ based on the filtering curve; By observing the filtering curves under different thresholds, we select the point with good anti-singularity effect and choose it as the data comparison threshold ρ; Step 2: Screen the original experimental data of the detected speech to identify suspicious points of singular data; The specific method is as follows: 1) Perform singular value decomposition on the vibration signal matrix collected from the original speech experimental data, divide it into n detection data, create the sequence number array X of the speech detection data and the speech detection data value array Y, and create empty arrays H and F; 2) Assign values to arrays H and F: H = X, F = Y. Arrays H and F are used to store the original data of arrays X and Y. 3) Determine whether the Σ value of the initial data array Y is greater than the threshold ρ; The Σ value of array Y is evaluated as follows: Find the average of two arrays X and Y: Estimate the linear regression equation of slope k by the least squares method: Obtain the linear regression equation for the intercept b: Fit the linear regression equation: Find the residual sum of squares Σ: If the initial Σ value is not greater than the threshold ρ, it represents a non-singular value suspected point in the data set, and the non-singular value suspected point data array Y and the corresponding sequence number array X are directly output, and the loop ends; If the initial Σ value is greater than the threshold ρ, it means that there are suspected singular value points in the data array Y; 4) Screening of suspected singular value points: Randomly select n-1 elements from the n elements of array Y and combine them to generate multiple new sequence number arrays and detection data arrays, that is, all possible combinations; Calculate the Σ value of all detection data arrays, select the data array Y' with the smallest Σ value and the corresponding sequence array X'; Reassign arrays X and Y: X = X`, Y = Y`; Re-determine whether the Σ value of the array Y after iteration is greater than the threshold ρ. If the Σ value is still greater than the threshold ρ, repeat the above process until the Σ value is no greater than the threshold ρ; 5) When the Σ value is not greater than the threshold ρ, the data array Y without suspicious points after the loop iteration and the corresponding serial number array X are output; at the same time, new empty arrays X1 and Y1 are created, and the arrays X1 and Y1 are assigned values: X1 = HX, Y1 = FY, and the singular value suspected point data array Y1 and the corresponding serial number array X1 are obtained and output; Step 3: Determine whether the suspected singular data point exceeds the intercept deviation. The limit value of the intercept deviation is the threshold ρ, and determine whether the data is singular data; Step 4: Correct the data points that are determined to be singular data to obtain a corrected data set.
2. The method for processing and correcting speech singularity data according to claim 1, characterized in that: In step 3, the specific process of judging whether the suspected singular data point exceeds the intercept deviation and whether the data is singular data is as follows: 1) Refit the filtered non-singular value suspected point data array Y and its corresponding sequence array X to obtain the linear equation y=k·x+b; 2) Based on the intercept deviation, two parallel line equations are obtained, located on both sides of the fitting equation. The equation of the parallel line on the upper side of the fitting equation is selected as y = k·x + b1, and the equation of the parallel line on the lower side of the fitting equation is selected as y = k·x + b2; 3) Substitute the elements of the singular value suspected point number array X1 into the two parallel line equations y = k·x + b1 and y = k·x + b2 to obtain the array Y 11 With Y 12 ; Compare each element y1 of Y1 with the y corresponding to the serial number 11 and y 12 Make a comparison and determine whether the data y1 is a singular value point based on the comparison results.
3. The method for processing and correcting speech singularity data according to claim 1, wherein: In step 4, the process of correcting the data points determined to be singular data is as follows: 1) Judge each element in the singular value suspected point data array Y1. If the data y1 is judged to be a non-singular point, that is, y 12 ≤y1≤y 11 , then retain the point, that is, assign y1: y1=y1; if the data y1 is judged to be a singular point, that is, y1>y 11 Or y1<y 12 , then the singular point data y1 is corrected; 2) When y1>y 11 When , the suspected point is determined to be a singular value point, and y1 is assigned y1 = y 11 , when y1<y 12 When the suspected point is determined to be a singular value point, y1 is assigned y1 = y 12 , and finally obtain the data array Y1 after data correction; The non-singular value suspected point data array Y and its corresponding sequence number array X are merged with the corrected data group Y1 and its corresponding sequence number array X1, and arrays X and Y are reassigned: X=X+X1, Y=Y+Y1, and the new data array Y is sorted according to the sequence number array X to obtain the complete speech data array Y after the singular data is corrected.