A Method for Restoring Signal Spectral Peak Information against Spectrum Leakage
Through the methods of signal acquisition, CNC oscillator spectrum transfer, filtering and Fourier transform, the signal spectrum peak information is restored, the frequency and amplitude deviation problems caused by spectrum leakage are solved, and high-precision signal recovery is achieved.
Patent Information
- Application Number
- CN202210874509.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-25
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2042-07-25
AI Technical Summary
In signal processing, due to spectrum leakage, the signal peak frequency and amplitude after FFT are deviated from the true value, and the existing methods are difficult to recover signal peak information with high accuracy, especially for short-term signal processing efficiency.
By collecting signals and performing spectrum transfer, filtering processing, decimation and fast Fourier transform of CNC oscillator, combining iterative update of variables, recovering the spectral peak information of the signal, and using the extreme points and phase differences of the Fourier transform result to perform high-precision correction of frequency and amplitude.
It realizes high-precision recovery of signal spectrum peak information, high frequency correction accuracy, small amplitude correction error, and is suitable for short-term signal processing without increasing signal sampling time, which improves processing speed.
Smart Images

Figure BDA0003761802670000022 
Figure BDA0003761802670000031 
Figure BDA0003761802670000032
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of signal processing, and particularly relates to a method for restoring signal spectral peak information against spectral leakage. Background Art
[0002] In signal processing, signals with time as the independent variable are often obtained. In order to better study the physical meaning represented by the signals or more conveniently extract the features of the signals, it is necessary to transform the time-domain signals to the frequency domain through FFT technology for analysis.
[0003] When performing spectrum analysis using FFT, due to the inability to truncate the signal at an integer multiple of the period and the limited sampling time, spectral leakage will inevitably occur after the signal passes through the FFT operation, resulting in a certain deviation between the peak frequency and amplitude of the signal after FFT and their true values, thereby reducing the accuracy. The windowing technique can improve the accuracy of the spectral peak to a certain extent, but the improvement effect is limited. Increasing the sampling time of the signal can improve the frequency resolution, making the frequency of the detected spectral component approximately equal to its true frequency, thereby improving the accuracy of the spectral peak. However, this will greatly increase the computational complexity of the FFT, reduce the processing speed, and is not suitable for short-time signals. Summary of the Invention
[0004] The purpose of the present invention is to solve the shortcomings and deficiencies of the above methods, and propose a method for restoring signal spectral peak information with high precision in the case of spectral leakage, including the following steps:
[0005] Step 1: Signal acquisition and sampling:
[0006] Collect the signal and express the signal as x(t). The expression of x(t) is shown in Equation (1)
[0007] x(t) = x I (t)cos(2πf IF t) + x Q (t)sin(2πf IF t) (1) In Equation (1), f IF is the carrier frequency of the intermediate-frequency signal, t is the transmission time, x I (t) and x Q (t) are the in-phase component and the quadrature component of the signal respectively; sample the signal x(t) with T s as the sampling period to obtain the discrete form of x(t) as follows:
[0008] x(n) = x I (nT s )cos(2πf IF nT s ) + x Q (nT s)sin(2πf IF nT s ) In Equation (2), n = 0, 1, 2, …, N - 1, N is the number of sampling points of the intermediate frequency signal, T s = 1 / f s , f s is the sampling frequency;
[0009] Step 2: Generate a numerically controlled oscillator (NCO) signal to complete spectrum translation:
[0010] Generate an NCO signal s(n) from the carrier frequency f of x(n) in Equation (2), as shown in Equation (3): IF Generate an NCO signal s(n) from the carrier frequency f of x(n) in Equation (2), as shown in Equation (3):
[0011] s(n) = cos(2πf IF nT s ) + jsin(2πf IF nT s ) (3)
[0012] In Equation (3),
[0013] Step 3: Multiply x(n) by the NCO signal to obtain the mixed-frequency signal y(n), as shown in Equation (4):
[0014] y(n) = x(n) × s(n) (4)
[0015] In Equation (4), the signal y(n) contains the desired baseband signal and unwanted interference signals;
[0016] Step 4: Pass y(n) through a filter with an impulse response of ρ(m) to obtain the baseband signal c(l), l = 0, 1, 2, …, N + 2(γ - 1) - 1, and the expression of ρ(m) is as shown in Equation (5):
[0017]
[0018] In Equation (5), γ is a positive integer;
[0019] Step 5: Decimate c(l) by a factor of γ to obtain z(i) to reduce the subsequent computational load, as shown in Equation (6):
[0020] z(i) = c(γi) (6)
[0021] In Equation (6), i = 0, 1, 2, …, M - 1, which is the total number of sampling points of the discrete signal z(i) after filtering and decimation, represents the ceiling function;
[0022] Step 6: Process the sequence z(i) according to Equation (7) to obtain the discrete signals z M (i) and z′ M (i) for subsequent spectral peak information recovery;
[0023]
[0024] Step 7: Perform a fast Fourier transform on z M (i), and the calculation formula is as shown in Equation (8):
[0025]
[0026] Take the modulus of Z M (k), and then record the spectral line numbers corresponding to the extreme values of its modulus. d λ represents the spectral line number corresponding to the λ-th extreme value, where λ = 1, 2, 3, …, Q, and Q is the number of extreme points of the modulus of Z M (k); let the initial value of λ be 1;
[0027] Step 8: Set parameters to approximate the normalized true frequency of the signal, and use the phases after Fourier transform of the discrete signals z M (i) and z′ M (i) to iteratively update the parameters for approximating the normalized true frequency of this signal; use the parameters after the last iterative update to recover the frequency and amplitude information at the peak spectra of the discrete signal z M (i).
[0028] Preferably, Step 8 specifically includes the following steps:
[0029] Step 8-1: Define variables α and β. α is used to approximate the normalized true frequency of the signal, and β is used to assist in the update of α; first, let α = d λ + 0.5, and β = d λ - 0.5;
[0030] Step 8-2: Calculate R α and I α respectively according to Equation (9):
[0031]
[0032] In Equation (9), R α and I α are respectively the real part and the imaginary part of the Fourier transform result of z M (i) at the frequency α;
[0033] Calculate R′ α and I′ α respectively according to Equation (10):
[0034]
[0035] In Equation (10), R′ α and I′ α are respectively the real part and the imaginary part of the Fourier transform result at frequency α of z′ M (i);
[0036] R and I are respectively obtained by calculating according to Equation (11): β and I β :
[0037]
[0038] In Equation (11), R β and I β are respectively the real part and the imaginary part of the Fourier transform result at frequency β of z M (i);
[0039] R′ and I′ are respectively obtained by calculating according to Equation (12): β and I′ β :
[0040]
[0041] In Equation (12), R′ β and I′ β are respectively the real part and the imaginary part of the Fourier transform result at frequency β of z′ M (i);
[0042] Step 8-3: Phase φ and φ′ are respectively obtained by calculating according to Equation (13): α and φ′ α :
[0043]
[0044] Phase φ and φ′ are respectively obtained by calculating according to Equation (14): β and φ′ β :
[0045]
[0046] Step 8-4: Phase difference Δφ and Δφ are respectively obtained by calculating according to Equation (15): α and Δφ β :
[0047]
[0048] Step 8-5: Set a threshold value ε, ε > 0. If |Δφ αIf | < ε, go to step 8-6; otherwise, set a new variable η, assign α to η, then update α using the operation shown in Equation (16), and then assign η to β to complete the update of β, and return to step 8-2; here "||" represents the modulo operation; since the number of iterations of this method is small, the spectral peak information recovery can be completed quickly.
[0049]
[0050] Step 8-6: Process according to Equation (17) to recover the frequency information at the peak spectrum with serial number λ:
[0051]
[0052] Step 8-7: Process according to Equation (18) to recover the amplitude information at the peak spectrum with serial number λ:
[0053]
[0054] Step 8-8: If λ < Q, increment λ by 1 and return to step 8-1; otherwise, the processing flow ends.
[0055] Preferably, in step 4, γ takes a value of 20 to 32.
[0056] Preferably, in step 8-5, the parameter ε has a value range of 10 -15 ~10 -18 .
[0057] The beneficial effects of the present invention are:
[0058] Aiming at the problems of frequency deviation and amplitude error of spectral peaks after FFT processing due to spectral leakage in discrete spectrum analysis. Compared with conventional methods, the spectral peak information recovery method proposed by the present invention has the advantages of high frequency correction accuracy and small amplitude correction error, and does not need to increase the signal sampling time to accurately locate the true frequency of the signal and improve the spectral peak amplitude accuracy, and is more suitable for short-time signals. Specific Embodiments
[0059] The following further describes a preferred embodiment of the present invention. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0060] Step 1: Signal acquisition and sampling:
[0061] Collect the signal and express the signal as x(t), and the expression of x(t) is as shown in Equation (1).
[0062] x(t) = x I (t)cos(2πf IFt) + x Q (t)sin(2πf IF t)(1)
[0063] In Equation (1), f IF is the carrier frequency of the intermediate-frequency signal, t is the transmission time, and x I (t) and x Q (t) are the in-phase component and the quadrature component of the signal respectively; taking T s as the sampling period to sample the signal x(t), the discrete form of x(t) is obtained as follows:
[0064] x(n) = x I (nT s )cos(2πf IF nT s ) + x Q (nT s )sin(2πf IF nT s ) (2)
[0065] In Equation (2), n = 0, 1, 2, …, N - 1, N is the number of sampling points of the intermediate-frequency signal, and T s = 1 / f s , and f s is the sampling frequency;
[0066] Step 2: Generate a numerically controlled oscillator (NCO) signal to complete spectral translation:
[0067] Generate a numerically controlled oscillator (NCO) signal s(n) from the carrier frequency f IF of x(n) in Equation (2), as shown in Equation (3):
[0068] s(n) = cos(2πf IF nT s ) + jsin(2πf IF nT s ) (3)
[0069] In Equation (3),
[0070] Step 3: Multiply x(n) by the NCO signal to obtain the mixed-frequency signal y(n), as shown in Equation (4):
[0071] y(n) = Mx(n) × s(n) (4)
[0072] In Equation (4), the signal y(n) contains the desired baseband signal and the unwanted interference signal.
[0073] Step 4: Pass y(n) through a filter with impulse response ρ(m) to obtain the baseband signal c(l), where l = 0, 1, 2, …, N + 2(γ - 1) - 1, and the expression of ρ(m) is shown in Equation (5):
[0074]
[0075] In Equation (5), γ is a positive integer, generally taking values from 20 to 32. The larger the value, the better the filtering effect on interference signals. However, increasing γ will increase the filtering calculation amount and reduce the processing speed of the system.
[0076] Step 5: Decimate c(l) by a factor of γ to obtain z(i) to reduce the subsequent operation amount, as shown in Equation (6):
[0077] z(i) = c(γi) (6)
[0078] In Equation (6), i = 0, 1, 2, …, M - 1, which is the total number of sampling points of the discrete signal z(i) after filtering and decimation, represents the ceiling function;
[0079] Step 6: Process the sequence z(i) according to Equation (7) to obtain the discrete signals z M (i) and z′ M (i) for subsequent spectral peak information recovery;
[0080]
[0081] Step 7: Perform a fast Fourier transform on z M (i), and the calculation formula is shown in Equation (8):
[0082]
[0083] Take the modulus of Z M (k), and then record the spectral line numbers corresponding to the extreme values of its modulus. d λ represents the spectral line number corresponding to the λ-th extreme value, where λ = 1, 2, 3, …, Q, and Q is the number of extreme values of the modulus of Z M (k); Let the initial value of λ be 1;
[0084] Step 8: Define variables α and β. α is used to approximate the normalized true frequency of the signal, and β is used to assist in the update of α; First, let α = d λ + 0.5, β = d λ - 0.5;
[0085] Step 9: Calculate R α and I α respectively according to Equation (9):
[0086]
[0087] In Equation (9), R α and I α are respectively the real part and the imaginary part of the Fourier transform result at frequency α of z M (i);
[0088] Calculate R′ α and I′ α respectively according to Equation (10):
[0089]
[0090] In Equation (10), R′ α and I′ α are respectively the real part and the imaginary part of the Fourier transform result at frequency α of z′ M (i); Calculate R β and I β respectively according to Equation (11):
[0091]
[0092] In Equation (11), R β and I β are respectively the real part and the imaginary part of the Fourier transform result at frequency β of z M (i); Calculate R′ β and I′ β respectively according to Equation (12):
[0093]
[0094] In Equation (12), R′ β and / ′ β are respectively the real part and the imaginary part of the Fourier transform result at frequency β of z′ M (i);
[0095] Step Ten: Calculate the phase φ α and φ′ α respectively according to Equation (13):
[0096]
[0097] Calculate the phase φ β and φ′ β respectively according to Equation (14):
[0098]
[0099] Step Eleven: Calculate the phase difference Δφ α and Δφβ :
[0100]
[0101] Step Twelve: Set a threshold ε, where ε > 0. If |Δφ α | < ε, proceed to Step Thirteen; otherwise, set a new variable η, assign α to η, then update α using the operation shown in Equation (16), and then assign η to β to complete the update of β, and return to Step Nine; here "||" represents the modulo operation; since the number of iterations of this method is small, the spectral peak information recovery can be completed quickly.
[0102]
[0103] Step Thirteen: Process according to Equation (17) to highly accurately recover the frequency information at the peak spectrum with sequence number λ:
[0104]
[0105] Step Fourteen: Process according to Equation (18) to highly accurately recover the amplitude information at the peak spectrum with sequence number λ:
[0106]
[0107] Step Fifteen: If λ < Q, increment λ by 1 and return to Step Eight; otherwise, end the processing flow.
Claims
1. A method for recovering signal spectral peak information against spectral leakage, characterized in that, It includes the following steps: Step 1, signal acquisition and sampling: Acquire the signal and express the signal as x(t). The expression of x(t) is shown as follows x(t) = x I (t)cos(2πf IF t) + x Q (t)sin(2πf IF t) Among them, f IF is the carrier frequency of the intermediate-frequency signal, t is the transmission time, x I (t) and x Q (t) are the in-phase component and the quadrature component of the signal respectively; taking T s as the sampling period to sample the signal x(t), the discrete form of x(t) is obtained as follows: x(n) = x I (nT s ) cos(2πf IF nT s ) + x Q (nT s ) sin(2πf IF nT s ) where n = 0, 1, 2, …, N - 1, N is the number of sampling points of the intermediate frequency signal, and T s = 1 / f s , f s is the sampling frequency; Step 2, generate a numerically controlled oscillator (NCO) signal to complete spectrum translation: The carrier frequency f of x(n) in step 1 IF generates a numerically controlled oscillator NCO signal s(n), as shown in the following equation: s(n) = cos(2πf IF nT s ) + jsin(2πf IF nT s ) Among them, Step 3, multiply x(n) by the NCO signal to obtain the mixed signal y(n), as shown in the following formula: y(n) = x(n) × s(n) where the signal y(n) contains the required baseband signal and the useless interference signal; Step 4, pass y(n) through a filter with an impulse response of ρ(m) to obtain the baseband signal c(l), l = 0, 1, 2,..., N + 2(γ - 1) - 1. The expression of ρ(m) is shown as follows where γ is a positive integer; Step 5, perform γ-fold decimation on c(l) to obtain z(i) to reduce the subsequent computational amount, as shown in the following formula: z(i) = c(γi) where \(i = 0, 1, 2, \cdots, M - 1\), which is the total number of sampling points of the discrete signal \(z(i)\) after filtering and decimation, represents the ceiling function; Step 6: Process the sequence z(i) according to the following formula to obtain discrete signals z M (i) and z' M (i) for subsequent spectral peak information recovery; Step 7, for z M (i) Perform a fast Fourier transform, and the calculation formula is as follows: Take Z M (k) modulo, and then record the spectral line numbers corresponding to the extreme points of its modulus, d λ represents the spectral line number corresponding to the λ-th extreme point, λ = 1, 2, 3,..., Q, where Q is the number of extreme points of the modulus of Z M ; Let the initial value of λ be 1; Step 8: Set parameters for approximating the normalized true frequency of the signal, and use the discrete signals z M (i) and z' M (i) the phase after Fourier transform, and iteratively update the parameters for approximating the normalized true frequency of this signal; Use the parameters updated in the last iteration to recover the frequency and amplitude information at the peak spectra of the discrete signal z M (i). The specific steps of step 8 include the following steps: Step 8-1: Define variables α and β. α is used to approximate the normalized true frequency of the signal, and β is used to assist in the update of α. First, let α = d λ + 0.5 and β = d λ - 0.5; Step 8-2: Calculate according to the following formula to obtain R α and I α respectively: wherein, R α and I α are respectively the real part and the imaginary part of the Fourier transform result at frequency α M (i); Calculate according to the following formula to obtain R' respectively α and I' α : wherein, R' α and I' α are respectively the real part and the imaginary part of the Fourier transform result at the frequency α M (i). Calculate according to the following formula to obtain R β and I β respectively: where R β and I β are respectively the real and imaginary parts of the Fourier transform result at frequency β M (i). Calculate according to the following formula to obtain R' respectively β and I' β as follows: wherein, R' β and I' β are respectively the real part and the imaginary part of the Fourier transform result at the frequency β M (i); Step 8-3: Calculate according to the following formula to obtain the phases φ α and φ' α respectively: Calculate according to the following formula to obtain the phase φ β and φ' β respectively: Step 8-4: Calculate the phase differences Δφ respectively according to the following formula α and Δφ β : Step 8-5: Set a threshold value ε, where ε > 0. If |Δφ α | < ε, go to Step 8-6; otherwise, set a new variable η, assign α to η, then update α using the operation shown by the following formula, and then assign η to β to complete the update of β, and return to Step 8-2; here "||" represents the modulo operation; Step 8-6, process according to the following formula to restore the frequency information at the peak spectrum with serial number λ: Step 8-7, process according to the following formula to restore the amplitude information at the peak spectrum with serial number λ: Step 8-8, if λ < Q, add 1 to λ and return to step 8-1; otherwise, the processing flow ends.
2. The method for recovering signal spectral peak information for spectral leakage according to claim 1, wherein In step 4, the value of γ ranges from 20 to 32.
3. A method for recovering signal spectral peak information for spectral leakage as described in claim 2, characterized in that, In the step 8-5, the value range of the parameter ε is 10 -15 ~10 -18 .