Disclosure of Invention
The application provides a signal processing method, a device, equipment and a storage medium, which are used for realizing the improvement of signal processing efficiency.
In a first aspect, an embodiment of the present application provides a signal processing method, applied to a transmitting end, where the method includes:
respectively carrying out Inverse Discrete Fourier Transform (IDFT) on the data in N channels at the current moment m to obtain a transformation result;
determining the displacement times K according to the channel number N and the up-sampling multiple L1; determining a current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m;
when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained; filtering in each channel by using a filter subjected to multiphase decomposition and K times interpolation respectively; and carrying out L1 times interpolation on the filtered result in each channel, and carrying out time delay addition on the data of each channel to obtain output data.
In a second aspect, an embodiment of the present application further provides a signal processing method, applied to a receiving end, where the method includes:
the received signal is divided into data of N channels through time delay;
extracting the data in each channel by L2 times to obtain extracted data, wherein L2 is the downsampling multiple;
filtering in each channel by using a filter subjected to multiphase decomposition and K times interpolation to obtain a conversion result, wherein K is determined by the number N of channels and the downsampling multiple L2;
taking K as the displacement times, and determining the current displacement p (m) according to the downsampling multiple L2, the channel number N and the current time m;
when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained; and carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data.
In a third aspect, an embodiment of the present application further provides a signal processing apparatus, applied to a transmitting end, where the apparatus includes:
the first inverse Fourier transform module is used for respectively carrying out Inverse Discrete Fourier Transform (IDFT) on the data in the N channels at the current moment m to obtain a transform result;
the first displacement module is used for determining the displacement times K according to the channel number N and the up-sampling multiple L1; determining a current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m; when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained;
the first filtering module is used for filtering in each channel by using a filter subjected to multiphase decomposition and K times interpolation respectively;
the up-sampling module is used for carrying out L1 times interpolation on the filtered result in each channel;
and the delay adding module is used for carrying out delay addition on the data of each channel to obtain output data.
In a fourth aspect, an embodiment of the present application further provides a signal processing apparatus, applied to a receiving end, where the apparatus includes:
the time delay decomposition module is used for dividing the received signal into data of N channels through the time delay;
the downsampling module is used for extracting the data in each channel by L2 times to obtain extracted data, wherein L2 is the downsampling multiple;
the second filtering module is used for filtering in each channel by using a filter subjected to multiphase decomposition and K times interpolation to obtain a conversion result, wherein K is determined by the number N of channels and the downsampling multiple L2;
the second displacement module is used for taking K as displacement times and determining the current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m; when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained;
and the second inverse Fourier transform module is used for carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data.
In a fifth aspect, an embodiment of the present application further provides an apparatus, including:
one or more processors;
a storage means for storing one or more programs, a filter for performing time-frequency conversion;
when the one or more programs are executed by the one or more processors, the one or more processors implement the signal processing method provided by the embodiment of the present application.
In a sixth aspect, embodiments of the present application also provide a storage medium containing computer-executable instructions, which when executed by a computer processor, are configured to perform the signal processing method provided by the embodiments of the present application.
According to the signal processing scheme provided by the embodiment of the application, the up-sampling multiple L1 is arranged in the transmitting end of the signal, so that the number N of channels is K times of the up-sampling multiple L1. And performing inverse discrete Fourier transform on the data in the N channels in the transmitting end to obtain a transformation result. And determining the current displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N. And performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement when each time of displacement is performed, so as to obtain a displacement result. Then, the filter in each channel carries out filtering, the filtering result is interpolated by L1 times of the up-sampling multiple, and finally, the time delay addition is carried out on the data of each channel, so as to obtain output data. In a receiving end of the signal, carrying out time delay on the signal to divide the signal into data of N channels, extracting the data in each channel according to downsampling multiple L2, and filtering the data in each channel by using a filter subjected to multiphase decomposition and K times interpolation to obtain a conversion result; and determining the current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m. Performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement p (m) when each displacement is performed, so as to obtain a displacement result; and carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data. Compared with the prior art that the transmitting end or the receiving end lacks a signal processing solution when the channel number and the sampling multiple are different, the signal processing scheme provided by the embodiment of the application can determine the displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N, realize the signal processing of matching a higher channel number N (N=KL) by using a smaller sampling multiple L (the up-sampling multiple L1 or the down-sampling multiple L2) through multiple displacements, and improve the signal processing efficiency.
Detailed Description
The application is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the application and are not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present application are shown in the drawings.
Example 1
The schematic diagram of the transmitting end is shown in fig. 1 when the transmitting end transmits signals. Assuming that the transmitting end has N channels s i (m) represents the data in channel i at time m. Exemplary, s 0 (m) represents data s in channel 0 at time m 1 (m) represents data s in channel 1 at time m N-1 (m) represents the data in channel N-1 at time m. Each channel is up-sampled and then filtered using a low pass filter h (n). After filtering, spectrum shifting is carried out on each channel, and the sampled signals in the channel i are according to the followingFrequency spectrum shifting is performed, e.g. channel 0 according to +.>Frequency spectrum shifting is performed, channel 1 is according to +.>Frequency spectrum shifting is performed, channel N-1 is according to +.>Spectrum shifting is carried out, and a spectrum shifting result x is obtained after spectrum shifting is carried out i (m), e.g. x i (m) represents the data in channel i at time m. Exemplary, x 0 (m) represents the spectrum shift result, x, in time m channel 0 1 (m) represents the spectrum shift result, x, in time m channel 1 N-1 (m) represents the spectrum shift result in the channel N-1 at the time m. And finally, superposing the frequency spectrum shifting results of all the channels to obtain output data x (n). At present, only the situation that the up-sampling multiple is equal to the channel number is generally considered, and if the up-sampling multiple is different from the channel number, signal processing at the transmitting end cannot be realized, and the signal processing efficiency is low.
Fig. 2 is a flowchart of a signal processing method according to an embodiment of the present application, where the method is applicable to a digital signal transmitting end, and the method may be performed by a device that performs signal transmission, where the number N of channels at the transmitting end is K times the upsampling multiple L1, and K is an integer greater than or equal to 1, and in this case, the method specifically includes the following steps:
and 110, respectively performing Inverse Discrete Fourier Transform (IDFT) on the data of the current time m in the N channels to obtain a transformation result.
The transmitting end processes the digital signals through N channels respectively, and N paths of signals are transmitted simultaneously. The N paths of signals can be s respectively 0 (m)、s 1 (m)、…、s N-1 (m) wherein s i (m) represents the data in channel i at time m. Exemplary, s 0 (m) represents data s in channel 0 at time m 1 (m) represents data s in channel 1 at time m N-1 (m) represents the data in channel N-1 at time m. The conversion result is output at N points, respectively d 0 (m)、d 1 (m)、…、d N-1 (m). Wherein d i (m) represents channel iAnd (5) an inverse fourier transform result. Exemplary, d 0 (m) represents the result of inverse Fourier transform of channel 0, d 1 (m) represents the result of inverse Fourier transform of channel 1, d N-1 (m) represents the result of inverse Fourier transform of channel N-1.
The number of channels N may be configured according to actual use requirements. If the number of channels N is not an integer power of 2, inverse Discrete Fourier transforms (Inverse Discrete FourierTransform, IDFT) are respectively performed on the data in the N channels at the current time m, resulting in a transformed result. If the number of channels N is an integer power of 2, the data in N channels at the current time m is subjected to an inverse fast discrete Fourier transform (Inverse Fast Fourier Transform, IFFT), respectively. The Inverse Fast Fourier Transform (IFFT) algorithm can perform the inverse fast Fourier transform more rapidly when the channel number is the integer power of 2, and improves the efficiency.
Step 120, determining the displacement times K according to the channel number N and the up-sampling multiple L1; and determining the current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m.
For example, the product of the current time m and the up-sampling multiple L1 is subjected to modulo N calculation, and the calculation result is determined as the current displacement amount p (m).
The quotient of the number of channels N and the upsampling multiple L1 is taken as the shift number K, i.e. n=k×l1. The displacement amount p (m) at the present time is calculated by the following formula: p (m) =ml 1 modulo N. The meaning of the mL1 modulo N is the product of the current time m and the up-sampling multiple L1 and the modulo of the channel number N. When mL1 is less than N, the value of mL1 modulo N is mL1. When mL1 is equal to or greater than N, mL1 modulo N corresponds to the remainder of dividing mL1 by N.
With the continuous change of the current time, the value of the current moment m is gradually increased one by one, and the current moment can be used for representing the current displacement times. M is an integer greater than or equal to zero, and M is greater than or equal to 0 and less than or equal to M-1. The value of the initial moment m is 0, the value of the next moment m is 1, and the numerical value of m is increased by 1 each time. Since the number of shifts is K, one cycle of N channels can be completed after shifting K times. Along with the continuous change (one increment) of the current moment, the values of p (m) are respectively as follows: 0. l1, 2L1, …, (K-1) L1.
For example, d 0 (m) after shifting p (m) to the left, d is obtained p (m)、d 1 (m) after shifting p (m) to the left, d is obtained 1+p (m)、d N-1 (m) after shifting p (m) to the left, d is obtained N-1+p (m), N-1+p modulo N, p-1, i.e., d p-1 (m)。
And 130, circularly shifting the conversion result left according to the current displacement p (m) during each displacement to obtain a displacement result.
The K displacements are performed according to the number of displacements K determined in step 120, each displacement having a length p (m) determined in step 120. And executing the steps 130 to 160 when each displacement is performed, and processing the data in the N channels through K times of displacement.
It should be noted that if the current time m is an integer multiple of the displacement times K, the left shift is canceled to obtain a displacement result; if the current time m is not an integer multiple of the displacement times K, performing circular left shift to obtain a displacement result.
The cyclic shift p (m) is related to the time instant m, and the cyclic shift is different at different times. At time m, p (m) =ml 1 modulo N. m=0, k,2k, …, and the output is direct without shifting. The current moment m is an integer multiple of the displacement times K, a new displacement period is entered, and the position serving as the starting position of the period does not need to be displaced. Further reducing the resource consumption of calculation, reducing the cyclic left shift can save the calculation time and improve the calculation efficiency.
And 140, filtering by using filters subjected to multiphase decomposition and K times interpolation in each channel.
Each channel carries out multiphase decomposition and then carries out filtering, and the filter of the channel i (i is more than or equal to 0 and less than or equal to N-1) is H i (z K )。H i (z) is h i Z-transform of (m), H i (z K ) Namely h i (m) z-transform after K-fold interpolation (interpolation 0). Due to h i (m) =h (mn+i), so H i (z K ) Time domain is [ h ] i (0) 0 … 0 h i (1) 0 … 0 h i (2) …]=[h(i) 0 … 0 h(N+i) 0 … 0 h(2N+i) …]Wherein the number of consecutive 0 s is K-1, i.e. K times the interpolation. Wherein h (n) is the originalA low pass filter of the type.
Step 150, performing L1 times interpolation on the filtered result in each channel.
Step 160, performing time delay addition on the data of each channel to obtain output data.
In the signal processing method provided by the embodiment of the application, the up-sampling multiple L1 is set in the transmitting end of the signal, so that the number N of channels is K times of the up-sampling multiple L1. And performing inverse discrete Fourier transform on the data in the N channels in the transmitting end to obtain a transformation result. And determining the current displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N. And performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement when each time of displacement is performed, so as to obtain a displacement result. Then, the filter in each channel carries out filtering, the filtering result is interpolated by L1 times of the up-sampling multiple, and finally, the time delay addition is carried out on the data of each channel, so as to obtain output data. Compared with the prior art that the transmitting end lacks a signal processing solution when the channel number and the sampling multiple are different, the signal processing method provided by the embodiment of the application can determine the displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N, realize the signal processing of matching the higher channel number N (N=KL1) by using the smaller sampling multiple L (the up-sampling multiple L1) through multiple displacements, and improve the signal processing efficiency.
Example two
The schematic diagram of the receiving end is shown in fig. 3 when receiving signals. After receiving the signal x (N), the receiving end respectively uses the number of channels N in N same channels according toAnd carrying out frequency spectrum shifting. The sampled signal in channel i is according toFrequency spectrum shifting is performed, e.g. channel 0 according to +.>Frequency spectrum shifting is performed, channel 1 is according to +.>Frequency spectrum shifting is performed, channel N-1 is according to +.>And carrying out frequency spectrum shifting. Filtering by a low-pass filter h (n), and then downsampling the filtering result to obtain result data x i (m). Exemplary, x 0 (m) represents result data, x in time m channel 0 1 (m) represents the result data, x, in time m channel 1 N-1 (m) represents the result data in the time m channel N-1. At present, only the condition that the downsampling multiple is equal to the channel number is generally considered, and if the downsampling multiple is different from the channel number, signal processing at the receiving end cannot be realized, and the signal processing efficiency is low.
Fig. 4 is a flowchart of a signal processing method according to a second embodiment of the present application, where the method is applicable to a digital signal receiving end, and the method may be performed by a device that performs signal reception, where the number N of channels at the receiving end is K times the downsampling multiple L2, and K is an integer greater than or equal to 1, and in this case, the method specifically includes the following steps:
step 210, dividing the received signal into N channels of data by time delay.
The receiving end divides the received signal into data of N channels through time delay.
Step 220, extracting the data in each channel by L2 times to obtain extracted data, wherein L2 is a downsampling multiple.
And extracting the data in each channel according to the downsampling multiple L2 to obtain extracted data.
Step 230, filtering each channel by using a filter after multiphase decomposition and K times interpolation, so as to obtain a conversion result.
Where K is determined by the number of channels N and the downsampling multiple L2, i.e. n=k×l2. For example, the quotient of the number of channels N and the downsampling multiple L2 is taken as K. Each channel carries out multiphase decomposition and then carries out filtering, and the filter of the channel i (i is more than or equal to 0 and less than or equal to N-1) is H i (z K )。H i (z) is h i Z-transform of (m), H i (z K ) Namely h i (m) z-transform after K-fold interpolation (interpolation 0). Due to h i (m) =h (mn+i), so H i (z K ) Time domain is [ h ] i (0) 0 … 0 h i (1) 0 … 0 h i (2) …]=[h(i) 0 … 0 h(N+i) 0 … 0 h(2N+i) …]Wherein the number of consecutive 0 s is K-1, i.e. K times the interpolation. The data of each channel after filtering is d respectively 0 (m)、d 1 (m)、…、d N-1 (m), i.e. the transformation result.
And 240, taking K as the displacement times, and determining the current displacement p (m) according to the downsampling multiple L2, the channel number N and the current time m.
For example, the product of the current time m and the downsampling multiple L2 is subjected to modulo N calculation, and the calculation result is determined as the current displacement p (m).
The displacement amount p (m) at the present time is calculated by the following formula: p (m) =ml 2 modulo N. The meaning of the mL2 modulo N is the product of the current time m and the downsampling multiple L2 and the modulo of the channel number N. When mL2 is less than N, the value of mL2 modulo N is mL2. When mL2 is equal to or greater than N, mL2 modulo N corresponds to the remainder of dividing mL2 by N.
With the continuous change of the current time, the value of the current moment m is gradually increased one by one, and the current moment can be used for representing the current displacement times. M is an integer greater than or equal to zero, and M is greater than or equal to 0 and less than or equal to M-1. The value of the initial moment m is 0, the value of the next moment m is 1, and the numerical value of m is increased by 1 each time. Since the number of shifts is K, one cycle of N channels can be completed after shifting K times. Along with the continuous change (one increment) of the current moment, the values of p (m) are respectively as follows: 0. l2, 2L2, …, (K-1) L2.
250, circularly shifting the conversion result left according to the current displacement p (m) during each displacement to obtain a displacement result; and carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data.
The transformation result is a sequence d 0 (m)、d 1 (m)、…、d N-1 (m) alignment of sequencesd 0 (m)、d 1 (m)、…、d N-1 (m) cyclic left shift p (m) bits, p (m) =ml 2 modulo N. The values of p (m) are 0, L2, 2L2 … (K-1) L2.
If the current moment m is an integer multiple of the displacement times K, canceling the left shift to obtain a displacement result;
if the current time m is not an integer multiple of the displacement times K, performing circular left shift to obtain a displacement result.
The cyclic shift p (m) is related to the time instant m, and the cyclic shift is different at different times. At time m, p (m) =ml 2 modulo N. m=0, k,2k, …, and the output is direct without shifting. The current moment m is an integer multiple of the displacement times K, a new displacement period is entered, and the position serving as the starting position of the period does not need to be displaced. Further reducing the resource consumption of calculation, reducing the cyclic left shift can save the calculation time and improve the calculation efficiency.
Further, the number of the channels N may be configured according to actual use requirements. If the number of channels N is an integer power of 2, the shift result in each channel is subjected to an inverse fast Fourier transform IFFT. If the number of channels N is not an integer power of 2, inverse Discrete Fourier transforms (Inverse Discrete FourierTransform, IDFT) are respectively performed on the data in the N channels at the current time m, resulting in a transformed result. If the number of channels N is an integer power of 2, the data in N channels at the current time m is subjected to an inverse fast discrete Fourier transform (Inverse Fast Fourier Transform, IFFT), respectively. The Inverse Fast Fourier Transform (IFFT) algorithm can perform the inverse fast Fourier transform more rapidly when the channel number is the integer power of 2, and improves the efficiency.
In the signal processing method provided by the embodiment of the application, in a receiving end of a signal, the signal is time-delayed and divided into data of N channels, the data are extracted in each channel according to downsampling multiple L2, and the filters after multiphase decomposition and K times interpolation are respectively carried out on each channel, so that a conversion result is obtained; and determining the current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m. Performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement p (m) when each displacement is performed, so as to obtain a displacement result; and carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data. Compared with the prior art that the receiving end lacks a signal processing solution when the channel number and the sampling multiple are different, the signal processing scheme provided by the embodiment of the application can determine the displacement p (m) according to the current moment m, the downsampling multiple L2 and the channel number N, realize the signal processing of matching the higher channel number N (N=KL2) by using the smaller sampling multiple L (the downsampling multiple L2) through multiple displacement, and improve the signal processing efficiency.
In addition, at the receiving end, the correlation scheme needs to multiply each sampling result N-1 times (channel 0 may not be multiplied) when the downsampling multiple is smaller than the channel number. When implemented with fixed-point numbers, if a multiplier is used, the phase twiddle factor needs to be quantized first, which causes quantization errors, the word length after multiplication increases, and if truncation is performed, precision loss is caused. If the calculation is performed by the coordinate rotation digital calculation method (Coordinate Rotation Digital Computer, CORDIC algorithm), errors are also caused, and the calculation accuracy is poor. The signal processing method provided by the embodiment of the application does not need to multiply the sampling result for N-1 times, because the displacement result has the product attribute by calculating the current displacement and carrying out displacement according to the current displacement for the transformation result, the displacement is used for replacing the N-1 times, the calculation error caused by the multiplication and other algorithms is avoided, and the calculation precision is improved.
Example III
Fig. 5 is a schematic structural diagram of a signal processing apparatus according to a third embodiment of the present application, where the apparatus is adapted to a digital signal transmitting terminal, and the apparatus may be located in a device for performing signal transmission. The channel number N of the transmitting end is K times of an up-sampling multiple L1, K is an integer greater than or equal to 1, and the device comprises: the first inverse fourier transform module 310, the first shift module 320, the first filter module 330, the upsampling module 340, and the time delay adding module 350.
The first inverse fourier transform module 310 is configured to perform inverse discrete fourier transform IDFT on data in N channels at the current time m, to obtain a transform result.
A first displacement module 320, configured to determine a displacement number K according to the number N of channels and the upsampling multiple L1; determining a current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m; and (3) circularly shifting the conversion result left according to the current displacement p (m) during each displacement to obtain a displacement result.
The first filtering module 330 is configured to filter the channels after polyphase decomposition and K times interpolation.
The upsampling module 340 is configured to interpolate the filtered result in each channel by a factor of L1, where L1 is an upsampling multiple.
The delay adding module 350 is configured to perform delay addition on each channel data to obtain output data.
Further, the first inverse fourier transform module 310 is configured to perform inverse fast fourier transform IFFT on data in N channels at the current time m if the number N of channels is an integer power of 2.
Further, the first displacement module 320 is configured to perform modulo-N calculation on the product of the current time m and the upsampling multiple L1, and determine the calculation result as the current displacement p (m).
Further, the first displacement module 320 is configured to cancel the left shift if the current time m is an integer multiple of the displacement number K, and obtain a displacement result;
if the current time m is not an integer multiple of the displacement times K, performing circular left shift to obtain a displacement result.
In a usage scenario, fig. 6 is a schematic diagram of a signal processing method according to an embodiment of the present application, where the first inverse fourier transform module 310 respectively performs a transform on data (s 0 (m)、s 1 (m)、…、s N-1 (m)) and performing inverse discrete Fourier transform IDFT to obtain a transform result (d) 0 (m)、d 1 (m)、…、d N-1 (m)). The first displacement module 320 determines the number of displacements K according to the number of channels N and the upsampling multiple L1; determining a current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m; each time the displacement is carried out, the transformation result is circulated according to the current displacement quantity p (m)Left shift to obtain a displacement result (d p (m)、d p+1 (m)、…、d p-1 (m)). The first filtering module 330 is a filter (H) after polyphase decomposition and K times interpolation in each channel 0 (z K )、H 1 (z K )、…、H N-1 (z K ) A) filtering. The upsampling module 340 interpolates the filtered results in each channel by a factor L1, L1 being the upsampling multiple (∈l). The delay adding module 350 performs delay addition (z -1 ) Output data (x (n)) is obtained.
In the signal processing device provided by the embodiment of the application, the up-sampling multiple L1 is set in the transmitting end of the signal, so that the number N of channels is K times of the up-sampling multiple L1. The first inverse fourier transform module 310 performs inverse discrete fourier transform on the data in the N channels in the transmitting end, to obtain a transform result. The first displacement module 320 determines the current displacement p (m) according to the current time m, the upsampling multiple L1 and the channel number N. And performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement when each time of displacement is performed, so as to obtain a displacement result. Then, the first filtering module 330 filters the filter in each channel, interpolates the filtering result by a factor of L1, and finally, the up-sampling module 340 and the time delay adding module 350 perform time delay adding on the data of each channel to obtain output data. Compared with the prior art that the transmitting end lacks a signal processing solution when the channel number and the sampling multiple are different, the signal processing method provided by the embodiment of the application can determine the displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N, realize the signal processing of matching the higher channel number N (N=KL) by using the smaller sampling multiple L through multiple displacements, and improve the signal processing efficiency.
Example IV
Fig. 7 is a schematic structural diagram of a signal processing apparatus according to a fourth embodiment of the present application, where the apparatus is adapted to a digital signal receiving end, and the apparatus may be located in a device for performing signal reception. The channel number N of the receiving end is K times of an up-sampling multiple L1, K is an integer greater than or equal to 1, and the device comprises: a delay decomposition module 410, a downsampling module 420, a second filtering module 430, a second shifting module 440, and a second inverse fourier transform module 450.
A delay decomposition module 410, configured to divide the received signal into N channels of data by the delay;
the downsampling module 420 is configured to perform L2-time decimation on the data in each channel to obtain decimated data, where L2 is a downsampling multiple;
the second filtering module 430 is configured to filter the filters after the channels are respectively subjected to polyphase decomposition and K times interpolation, so as to obtain a transformation result;
a second displacement module 440, configured to determine a displacement number K according to the number N of channels and the downsampling multiple L2; determining a current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m; when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained;
and a second inverse fourier transform module 450, configured to perform an inverse discrete fourier transform IDFT on the displacement result in each channel, so as to obtain separated data.
Further, the second inverse fourier transform module 450 is configured to perform inverse fast fourier transform IFFT on the displacement result in each channel if the number N of channels is an integer power of 2.
Further, the second displacement module 440 is configured to perform modulo-N calculation on the product of the current time m and the downsampling multiple L2, and determine the calculation result as the current displacement p (m).
Further, the second displacement module 440 is configured to cancel the left shift if the current time m is an integer multiple of the displacement number K, and obtain a displacement result;
if the current time m is not an integer multiple of the displacement times K, performing circular left shift to obtain a displacement result.
In a usage scenario, fig. 8 is a schematic diagram of a signal processing method according to an embodiment of the present application, and a delay decomposition module 410 divides a received signal (x (N)) into N channels of data (z) by the delay -1 ). The downsampling module 420 performs L2-time decimation on the data in each channel to obtain decimated data, where L2 is the downsampling multipleNumber (∈L). The second filtering module 430 performs polyphase decomposition and K times interpolation on each channel to obtain a filter (H 0 (z K )、H 1 (z K )、…、H N-1 (z K ) Filtering to obtain a conversion result (d) 0 (m)、d 1 (m)、…、d N-1 (m)). The second displacement module 440 determines the number of displacements K according to the number of channels N and the downsampling multiple L2; determining a current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m; at each displacement, the transformation result is circularly shifted left according to the current displacement p (m) to obtain a displacement result (d p (m)、d p+1 (m)、…、d p-1 (m)). The second inverse fourier transform module 450 performs an N-point inverse discrete fourier transform IDFT on the displacement result in each channel, resulting in separated data (x 0 (m)、x 1 (m)、…、x N-1 (m))。
In the signal processing device provided by the embodiment of the application, in the receiving end of the signal, the time delay decomposition module 410 performs time delay on the signal to divide the signal into data of N channels, the downsampling module 420 extracts the data according to downsampling multiple L2 in each channel, and the second filtering module 430 performs filtering on the filters after multiphase decomposition and K times interpolation in each channel respectively to obtain a conversion result; the second displacement module 440 determines the current displacement p (m) according to the downsampling multiple L2, the number of channels N, and the current time m. Performing K times of cyclic left shifting on the transformation result, and performing cyclic left shifting on the transformation result according to the current displacement p (m) when each displacement is performed, so as to obtain a displacement result; the second inverse fourier transform module 450 performs an N-point inverse discrete fourier transform IDFT on the displacement result in each channel, resulting in separated data. Compared with the prior art that the receiving end lacks a signal processing solution when the channel number and the sampling multiple are different, the signal processing scheme provided by the embodiment of the application can determine the displacement p (m) according to the current moment m, the up-sampling multiple L1 and the channel number N, realize the signal processing of matching the higher channel number N (N=KL) by using the less sampling multiple L through multiple displacements, and improve the signal processing efficiency.
The application can be applied to the reception of military radio signals, for example, the tactical ultrashort wave frequency hopping radio frequency range is 30M-87.975 MHz, the channel interval is 25kHz, the channel number is 2320, and the frequency hopping bandwidth is 58MHz. When the channel number is different from the downsampling multiple, 2319 multiplications can be omitted by adopting the receiver of the application, and a large amount of resources are saved.
Example five
Fig. 9 is a schematic structural diagram of an apparatus according to a fifth embodiment of the present application, and as shown in fig. 9, the apparatus may be an electronic apparatus, including a processor 50, a memory 51, an input device 52, and an output device 53; the number of processors 50 in the device may be one or more, one processor 50 being taken as an example in fig. 9; the processor 50, the memory 51, the input means 52 and the output means 53 in the device may be connected by a bus or other means, in fig. 9 by way of example.
The memory 51 is used as a computer readable storage medium for storing software programs, computer executable programs, and modules, such as program instructions/modules corresponding to the signal processing method in the embodiment of the present application (e.g., the first inverse fourier transform module 310, the first shift module 320, the first filter module 330, the upsampling module 340, and the time delay adding module 350 in the transmitting end, and further, e.g., the time delay decomposing module 410, the downsampling module 420, the second filter module 430, the second shift module 440, and the second inverse fourier transform module 450 in the receiving end). The processor 50 executes various functional applications of the device and data processing, i.e., implements the signal processing method described above, by running software programs, instructions and modules stored in the memory 51.
The memory 51 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for functions; the storage data area may store data created according to the use of the terminal, etc. In addition, memory 51 may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some examples, memory 51 may further include memory located remotely from processor 50, which may be connected to the device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input means 52 may be used to receive entered numeric or character information and to generate key signal inputs related to user settings and function control of the device. The output means 53 may comprise a display device such as a display screen.
Example six
The sixth embodiment of the present application further provides a storage medium containing computer executable instructions, which when executed by a computer processor, are configured to perform a signal processing method, and if the method is applied to a transmitting end, the number N of channels of the transmitting end is K times of an upsampling multiple L1, the method includes:
respectively carrying out Inverse Discrete Fourier Transform (IDFT) on the data in N channels at the current moment m to obtain a transformation result;
determining the displacement times K according to the channel number N and the up-sampling multiple L1; determining a current displacement p (m) according to the up-sampling multiple L1, the channel number N and the current moment m;
when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained; filtering the filter after multiphase decomposition and K times interpolation in each channel respectively; and carrying out L1 times interpolation on the filtered result in each channel, and carrying out time delay addition on the data of each channel to obtain output data, wherein L1 is an up-sampling multiple.
If the method is applied to the receiving end, the channel number N of the receiving end is K times of the up-sampling multiple L1, and the method comprises the following steps:
the received signal is divided into data of N channels through time delay;
extracting the data in each channel by L2 times to obtain extracted data, wherein L2 is the downsampling multiple;
filtering the channels by a filter after multiphase decomposition and K times interpolation respectively to obtain a conversion result;
determining the displacement times K according to the channel number N and the downsampling multiple L2; determining a current displacement p (m) according to the downsampling multiple L2, the channel number N and the current moment m;
when each displacement is carried out, the transformation result is circularly shifted left according to the current displacement p (m), and a displacement result is obtained; and carrying out N-point Inverse Discrete Fourier Transform (IDFT) on the displacement results in each channel to obtain separated data.
Of course, the storage medium containing the computer executable instructions provided in the embodiments of the present application is not limited to the above method operations, but may also perform the related operations in the signal processing method provided in any embodiment of the present application.
From the above description of embodiments, it will be clear to a person skilled in the art that the present application may be implemented by means of software and necessary general purpose hardware, but of course also by means of hardware, although in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as a floppy disk, a Read-OnLy Memory (ROM), a random access Memory (Random Access Memory, RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, etc., including several instructions for causing a computer device (which may be a personal computer, a server, a network device, etc.) to execute the method of the embodiments of the present application.
It should be noted that, in the above-mentioned embodiments of the search apparatus, each unit and module included are only divided according to the functional logic, but not limited to the above-mentioned division, as long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for distinguishing from each other, and are not used to limit the protection scope of the present application.
Note that the above is only a preferred embodiment of the present application and the technical principle applied. It will be understood by those skilled in the art that the present application is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the application. Therefore, while the application has been described in connection with the above embodiments, the application is not limited to the embodiments, but may be embodied in many other equivalent forms without departing from the spirit or scope of the application, which is set forth in the following claims.