WO2014127663A1 - Interpolation filtering method and interpolation filter - Google Patents

Interpolation filtering method and interpolation filter Download PDF

Info

Publication number
WO2014127663A1
WO2014127663A1 PCT/CN2013/089334 CN2013089334W WO2014127663A1 WO 2014127663 A1 WO2014127663 A1 WO 2014127663A1 CN 2013089334 W CN2013089334 W CN 2013089334W WO 2014127663 A1 WO2014127663 A1 WO 2014127663A1
Authority
WO
WIPO (PCT)
Prior art keywords
filter
unit
filtering
data buffer
buffer
Prior art date
Application number
PCT/CN2013/089334
Other languages
French (fr)
Chinese (zh)
Inventor
钟斌
官华伯
马艳玲
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2014127663A1 publication Critical patent/WO2014127663A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/06Non-recursive filters
    • H03H17/0621Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing
    • H03H17/0635Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies
    • H03H17/065Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer
    • H03H17/0657Non-recursive filters with input-sampling frequency and output-delivery frequency which differ, e.g. extrapolation; Anti-aliasing characterized by the ratio between the input-sampling and output-delivery frequencies the ratio being integer where the output-delivery frequency is higher than the input sampling frequency, i.e. interpolation

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to an interpolation filtering method and an interpolation filter.
  • multipath search is needed for the uplink signal, and the descrambling and despreading of the uplink signal and subsequent symbol levels are performed on the basis of the multipath search. deal with.
  • physical layer modulation and demodulation technology is also constantly evolving, from BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying) to 16QAM (Quadrature Amplitude Modulation) and 64QAM, etc., especially the 3GPP R8 protocol proposes a large number of high-order modulation and demodulation techniques used in the BOOSTING mode. These techniques place higher and higher requirements on multipath search accuracy.
  • the traditional multipath search algorithm uses a 2x ADP (power delay) input, and searches for the peak point and phase adjustment to obtain the final multipath.
  • the search accuracy error of 3/8chip (slice precision unit) was introduced in this process. High-order demodulation techniques require this error to be maintained at l/8chip, which is not possible with traditional searchers.
  • WCDMA multipath search supports higher search accuracy by performing up-and-down interpolation of the original 2 times ADP. Moreover, since the hardware implementation of the above-mentioned interpolation will greatly increase the bus bandwidth, software interpolation is an effective method.
  • the new EOL (early mid-late interpolation filter searcher) interpolates 2 times the ADP into 8 times the ADP by means of the upper-like interpolation method, and on this basis, achieves higher precision.
  • the search satisfies the requirements of high-order demodulation.
  • the core of the EOL searcher is the upper-like interpolation, which is to increase the sampling rate by interpolation.
  • the upper-like interpolation part of the searcher needs to be implemented by software. Because the data rate is directly increased on the chip, the bandwidth demand of the system will rise sharply and exceed the capacity of the chip bus.
  • software implementation of the interpolation filter requires very high computational power of the processor. It is estimated that the relevant software interpolation filter is only available on the 732MHz processor. It can provide 6 high-rate user EOL search results, which is difficult to meet the needs of the actual system.
  • Embodiments of the present invention provide an interpolation filtering method and an interpolation filter, which can improve the efficiency of interpolation filtering, and enable the processor to simultaneously provide multipath searching for more users.
  • the filter processing unit includes a filter data buffer unit, and the filter data buffer unit includes M data buffer subunits, where N is a filtered upper multiple, and M is L/N, L is the order of filtering, where N, M, and L are positive integers;
  • Filtering the source data points in each filter processing unit includes:
  • the source data point currently buffered by the filter data buffer unit of the first filter processing unit is the source data point that is first input into the first filter processing unit.
  • the result of the operation of the sub-filtering operation is the source data point that is first input into the first filter processing unit.
  • a filter coefficient buffer unit For the second to Nth filter processing units, respectively, a filter coefficient buffer unit is provided, and the filter coefficient buffer unit includes M coefficient buffer subunits corresponding to the data buffer subunit of the filter data buffer unit.
  • the M coefficient buffer subunits respectively store filter coefficients to be multiplied by the source data points in the corresponding data buffer subunit, where M and N are positive integers.
  • Performing a filtering operation on the source data points in each of the filter processing units includes: dividing, for the second to Nth filter processing units, the data buffer subunits in the filter data buffer unit of the filter processing unit into a plurality of filters Group, each filter group includes a plurality of data buffer subunits, and serially transforms the source data points in the data buffer subunits in each filter group, corresponding to the data buffer subunits in the filter group
  • the filter coefficients in the coefficient buffer subunit are serial-to-parallel transformed, and the source data points in the data buffer subunits in the filter group are multiplied in parallel with the filter coefficients in the corresponding coefficient buffer subunits, and the products are added.
  • the filtering results of each filter group are added, and the added result is subjected to parallel-to-serial conversion to obtain the operation result of the filtering operation.
  • the output data buffer unit includes X*N output buffer subunits
  • Outputting the operation result of the current filtering operation of each filter processing unit to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit including: For the first filtering process The number of the output buffer subunit corresponding to the operation result of the first filtering operation to the Xth filtering operation in the output data buffer unit is 0, N, 2N, 3N... (Xl)N, according to The number of filtering operations outputs the operation result to the corresponding output buffer subunit;
  • the sequence number of the output buffer subunit corresponding to the operation result of the Xth filter operation in the output data buffer unit is
  • An interpolation filter includes: a source data buffer unit, a filter processing unit, and an output data buffer unit, each filter processing unit includes a filter data buffer unit, and the filter data buffer unit includes Data buffer subunits, where ⁇ is the upper multiple of the filtering, ⁇ is L/N, L is the order of filtering, and N, M, and L are positive integers;
  • the source data buffer unit is configured to buffer source data points, perform shift input to the filter data buffer unit of each filter processing unit in parallel with the source data points, and perform filtering once in the filter processing unit. After the operation, shifting the next source data point to the filter data buffer unit of each filter processing unit;
  • the filter processing unit is configured to filter the source data points in the filter data buffer unit after each data buffer subunit in the included filter data buffer unit writes the source data point, and
  • the operation result of the sub-filtering operation is output to the output buffer sub-unit corresponding to the operation result of the current filtering operation in the output data buffer unit, and after the source data buffer unit inputs the next source data point, the source is The data point performs a filtering operation, and outputs the operation result of the current filtering operation to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X filtering operations are performed, and X pieces are obtained.
  • the result of the operation is output and the result of the operation is output, where X is the number
  • the first filter processing unit of the N filter processing units is configured to input the first filter into the source data point currently buffered by the filter data buffer unit of the first filter processing unit.
  • the source data point in the processing unit is used as the operation result of the current filtering operation.
  • the second to Nth filter processing units of the N filter processing units include a filter coefficient buffer unit corresponding to the filter data buffer unit, and the filter coefficient buffer unit includes data buffered with the filter data buffer unit a punch unit - a corresponding M coefficient buffer subunit, each of the M coefficient buffer subunits respectively holding a filter coefficient of a source data point in the corresponding data buffer subunit, wherein, M, N Both are positive integers.
  • the data buffer subunits in the filter data buffer unit of the second to Nth filter processing units are divided into a plurality of filter groups, and each filter group includes a plurality of data buffer subunits;
  • the second to Nth filter processing units include a serial-to-parallel transform unit connected to the data buffer sub-unit in the filter group, and a string buffer sub-unit connected to the data buffer sub-unit in the filter group.
  • the serial-to-parallel transform unit connected to the data buffer subunit in the filter group is configured to perform serial-to-parallel conversion on the source data points in the connected data buffer sub-unit;
  • serial-to-parallel transform unit connected to the coefficient buffer subunit corresponding to the data buffer subunit in the filter group is configured to perform serial-to-parallel transformation on the filter coefficients in the connected coefficient buffer subunit;
  • the operation unit corresponding to the filter group is respectively connected to the serial-to-parallel transform unit connected to the data buffer sub-unit in the filter group and the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group.
  • a serial-to-parallel conversion unit connection which is arranged in parallel to filter the data buffer subunits in the group. The source data points are multiplied by the filter coefficients in the corresponding coefficient buffer subunits, the products are added, the filtering result of the filter group is obtained, and the filtering of the filter group sent by the operation unit corresponding to the adjacent previous filter group is received.
  • the filtering result of the received filter group is added to the filtering result of the filter group obtained by itself, and the added result is sent to the operation unit corresponding to the adjacent next filter group; and the parallel string conversion unit is set.
  • the result of adding the filtering results of each filter group in pairs is subjected to parallel-to-serial conversion, and the operation result of the current filtering operation is obtained.
  • the output data buffer unit includes X*N output buffer subunits
  • the number of the output buffer subunit corresponding to the operation result of the first filtering operation unit of the first filter processing unit to the Xth filtering operation is 0 in the output data buffer unit. N, 2N, 3N...(X-1)N;
  • the number of the output buffer subunit corresponding to the operation result of the Kth filter processing unit of the Kth filter processing unit to the Xth filter operation unit in the output data buffer unit is K- 1 , ⁇ + ⁇ - 1 , 2N + K - 1 , 3 ⁇ + ⁇ - 1... (X-1) ⁇ + ⁇ - 1 , where ⁇ is 2 ⁇ and is a positive integer.
  • the filtering efficiency is improved by 9 times; in the processor, 4 times of parallel execution is performed. In the case, the filtering efficiency is increased by 17 times.
  • the number of high-precision search users that the system can support is increased by 10 times.
  • FIG. 1 is a flowchart of an interpolation filtering method according to an embodiment of the present invention
  • FIG. 2 is a block diagram of an interpolation filter according to an embodiment of the present invention.
  • this paper proposes a highly parallel upper-order interpolation filtering method and interpolation filter suitable for RISC processor, with highly parallel computing structure and high computational efficiency, suitable for WCDMA.
  • the interpolation efficiency is greatly improved, and more high-precision search users are supported on the software-implemented WCDMA system.
  • a new operation structure is designed, which is especially suitable for software to implement interpolation filtering.
  • the interpolation filter of the present embodiment minimizes unnecessary interpolation operations and unnecessary auxiliary operations for coefficient alignment, and also makes parallel operations possible, making full use of the parallel processing capability of the RISC processor itself.
  • the parallel calculation of interpolation filtering and the improvement of interpolation efficiency are very effective.
  • the multiplication factor of the interpolation filter is N
  • the number of source data points is X
  • the total number of data points obtained by interpolation filtering is X*N
  • the order L of the filter is N*M, that is, each source data point is filtered with M filter coefficients, where N, M, L, and X are positive integers.
  • the interpolation filtering method of this embodiment includes:
  • Step 101 Set N filter processing units, each filter processing unit includes a filter data buffer unit, the filter data buffer unit includes M data buffer subunits, and each data buffer subunit is used to cache a source.
  • Step 102 For the N*M-order filter, a total of N*M filter coefficients C are included, and N*M filter coefficients are divided into N groups, wherein the filter coefficients in the group 1 are in the first filter processing unit.
  • the filter coefficient to be multiplied by the source data point, the sequence number of the filter coefficient in group 1 is 0, N, 2N, 3N (Ml)N, and the filter coefficient in group 2 is the second filter processing unit.
  • the filter coefficient of the source data point to be multiplied, the sequence number of the filter coefficient in group 2 is 1, N+1, 2N+1, 3N+1 ...
  • Step 103 Set a filter coefficient buffer unit for the second filter processing unit to the second filter processing unit, where the filter coefficient buffer unit includes one coefficient buffer subunit, and the coefficient buffer unit of the filter coefficient buffer unit The subunit is corresponding to the data buffer subunits of the corresponding filter data buffer unit, and is used for buffering the filter coefficients to be multiplied by the source data points in the corresponding data buffer subunit;
  • the filter coefficient buffer unit is not set for the first filter processing unit.
  • Step 104 Save the filter coefficients corresponding to the filter coefficients in the group 2 to the group ⁇ to the coefficient buffer subunit of the corresponding filter coefficient buffer unit;
  • Step 105 Perform shift input to the filter data buffer unit of each filter processing unit in parallel with the source data points one by one, and write source data in each data buffer subunit in each filter data buffer unit. After the point, filtering the source data points in each filter processing unit; Referring to FIG. 2, a shift of the parallel synchronization of the source data points D 0 to D X is input to the data buffer subunit of the filter data buffer unit of each filter processing unit, and one source is buffered in each data buffer subunit. data point.
  • Filtering the source data points in each filter processing unit includes:
  • the source data point currently buffered into the first filter processing unit among the source data points currently buffered by the filter data buffer unit of the first filter processing unit is used as the current filter operation.
  • the result of the operation In the instantaneous state in FIG. 2, the source data point currently input into the first filter processing unit is D Q , and the source data input into the first filter processing unit at the earliest after the next shift input is performed.
  • the point D l Do has been removed from the first filter processing unit.
  • each filter group including a plurality of data buffer subunits, for each The source data points in the data buffer subunits in the filter group are serial-to-parallel transformed, and the filter coefficients in the coefficient buffer sub-unit corresponding to the data buffer sub-units in the filter group are serial-to-parallel converted, in parallel
  • the source data points in the data buffer subunit in the filter group are multiplied by the filter coefficients in the corresponding coefficient buffer subunits, and the products are added to obtain the filtering result of the filter group; and the filtering result of each filter group is Add, and perform parallel and parallel conversion on the result of the addition, and obtain the operation result of this filtering operation.
  • Each filter bank in Figure 2 contains two data buffer subunits.
  • Step 106 Output the operation result of the current filtering operation of each filter processing unit to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit;
  • the output data buffer unit includes X*N output buffer subunits
  • the sequence of the output buffer unit corresponding to the operation result of the first filter operation to the Xth filter operation in the output data buffer unit is 0, N, 2N, 3N... (Xl)N
  • the operation result is output to the corresponding output buffer sub-unit according to the number of filtering operations
  • the filtered first path data is directly outputted according to the filtered position. That is, the 0th (D 0 ) of the source data point is output to the output buffer subunit O 0 , and the 1st source data point (D output to the output buffer subunit 0 N , the 2nd output of the source data point to Output buffer subunit 0 2N ).
  • the X-1th (D x-1 ) of the source data point is output to the output buffer subunit 0( X-1 ) N .
  • the serial number of the output buffer subunit corresponding to the operation result of the first filtering operation to the Xth filtering operation is in the order of the output data buffer unit.
  • the filtered data points are divided into parallel loop data according to the characteristics of the filter coefficients used by the source data points.
  • a first channel number corresponding output buffer subunit is 0, ⁇ , 2 ⁇ , 3 ⁇ ... ... (Xl) N, i.e., in FIG. 1 O 0, 0 N ... ... 0 ( ⁇ - ⁇ ) ⁇ (partial not shown), the filtered data point of the output is the source data point and the coefficients Co, C N , C 2N ... C ( ⁇ multiply and add; the output corresponding to the second way
  • the serial number of the buffer subunit is 1, N+1, 2N+1, 3N+1 ... (X-1)N+1, that is, ⁇ , 0 ⁇ + ⁇ ... in Fig. 1 .
  • the filtered data point of the output is the source data point and the coefficient d, the coefficient C N+1 , C 2N+1 ... ... C (M-1) N+1 multiply and add; and so on to N-way data.
  • Step 107 Shifting and inputting the next source data point to the filter data buffer unit of each filter processing unit, repeating the filtering operation on the source data point in each filter processing unit, and performing the operation result of the current filter operation Outputted to the output buffer sub-unit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X times of filtering operations are performed for each filter processing unit, X calculation results are obtained, and the operation result is outputted and then ended. .
  • the first filtering operation is to take the source data points D Q ⁇ D M ⁇ and The corresponding M filter coefficients are multiplied, D Q corresponds to C( )N+1 , ... , D M4 corresponds to the first data point, and the second filter operation takes 0 to D M , corresponding to The M filter coefficients are multiplied correspondingly, corresponding to C( M-1)N+1 , ..., D M corresponds to d, the second data point is obtained, and the third to Xth data points are analogously.
  • serial data conversion is performed by serial-to-parallel conversion of the source data points and the filter coefficients, thereby making full use of the parallel processing capability of the CPU.
  • the data points are serially outputted to the output buffer sub-units with interval N, that is, the input and output are serial, but the parallel-parallel conversion and parallel-to-serial conversion are performed in the middle to realize the parallel multiplication operation.
  • the source data buffer unit, the filter processing unit and the output data buffer unit of the wave device are set with a multiple of N, and N filter processing units are set, and for the second to Nth filter processing units, respectively, the second to The Nth filter processing unit sets a filter coefficient buffer unit to perform parallel filtering on a channel by way.
  • the filtering operation of all the paths is completed, the data in the data buffer unit is output, which is the result of the interpolation filtering.
  • the present embodiment realizes a high degree of parallelism by analyzing the characteristics of the upper sample interpolation filter, through the target filter data classification, the filter coefficient rearrangement, the parallel multiplication and addition operation, the special operation omission, the serial-to-parallel conversion, and the parallel-serial input and output. Filter operation structure.
  • the interpolation filter includes: a source data buffer unit 21, N filter processing units 22, and an output data buffer unit 23, each of which includes a filter data buffer.
  • the filter data buffer unit includes M data buffer subunits, where N is a filtered upper multiple, M is L/N, L is a filtered order, and N, M, and L are positive Integer; where:
  • the source data buffer unit 21 is configured to buffer the source data points, perform the shift input to the filter data buffer unit of each filter processing unit in parallel by the source data points, and perform a filtering operation after the filter processing unit completes the filter operation. Transmitting the next source data point to the filter data buffer unit of each filter processing unit;
  • the filter processing unit 22 is configured to filter the source data points in the filter data buffer unit after each data buffer subunit in the included filter data buffer unit 221 writes the source data points, and The operation result of the filtering operation is output to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, and after the source data buffer unit inputs the next source data point, the source data is The filtering operation is performed on the point, and the operation result of the current filtering operation is output to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X filtering operations are performed, and X operations are obtained. The result is output and the result is output, where X is the number of source data points.
  • the first filter processing unit of the N filter processing units is specifically configured to input the source data point currently buffered by the filter data buffer unit 221 of the first filter processing unit into the first filter processing unit.
  • the source data point is used as the result of the operation of this filtering operation.
  • the second to Nth filter processing units of the N filter processing units are included with the filter data buffer
  • the filter coefficient buffer unit 222 corresponding to the unit 221, the filter coefficient buffer unit 222 includes M coefficient buffer sub-units corresponding to the data buffer sub-unit of the filter data buffer unit 221, and M coefficient buffer sub-units. Each of the filter coefficients of the source data points in the corresponding data buffer subunit is multiplied.
  • the data buffer subunits in the filter data buffer unit 221 of the second to Nth filter processing units are divided into a plurality of filter groups, each filter group including a plurality of data buffer subunits;
  • the second to Nth filter processing units include a serial-to-parallel conversion unit 223 connected to the data buffer sub-unit in the filter group, and a serial-to-parallel connection of the coefficient buffer sub-units corresponding to the data buffer sub-units in the filter group Unit 224, an operation unit 225 corresponding to the filter group, and a parallel-to-serial conversion unit 226, where:
  • serial-to-parallel transform unit 223 connected to the data buffer sub-unit in the filter group, configured to perform serial-to-parallel transformation on the source data points in the connected data buffer sub-unit;
  • serial-to-parallel transform unit 224 connected to the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group, configured to perform serial-to-parallel conversion on the filter coefficients in the connected coefficient buffer sub-unit;
  • the operation unit 225 corresponding to the filter group is respectively connected to the serial-to-parallel conversion unit 223 connected to the data buffer sub-unit in the filter group and the coefficient-buffer sub-unit connected to the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group.
  • the parallel-to-serial conversion unit 226 is configured to perform parallel-to-serial conversion on the result of adding the filter results of each filter group to obtain the operation result of the current filter operation.
  • the output data buffer unit includes X*N output buffer subunits
  • the number of the output buffer subunit corresponding to the operation result of the first filter processing unit of the first filter processing unit to the Xth filter operation unit in the output data buffer unit is 0, N, respectively. 2N, 3N...(X-1)N;
  • the first filtering operation of the Kth filtering processing unit of the N filtering processing units to the Xth time The sequence number of the output buffer subunit corresponding to the operation result of the filter operation in the output data buffer unit is K-1, N+K-1, 2N+K-1, 3N+K-1...(X- 1) N+K-1, where K is 2 ⁇ N and is a positive integer.
  • the filter of the present embodiment includes a two-level parallel operation structure.
  • the first layer parallelism is divided into parallel parallel N paths according to the characteristics of the coefficients; the second layer parallel is in each calculation, for each output data point, the multiplication and addition of the source data points and the filter coefficients
  • the parallel operation can be performed by serial-parallel conversion, and the result of the parallel operation is output by serial-parallel conversion.
  • the computational structure of each channel includes coefficient buffering, data buffering, serial-to-parallel transformation of coefficients and data, parallel computation and accumulation computation, parallel-to-serial transformation, and output.
  • the filter coefficient buffer unit saves the filter coefficients associated with the current path, and is obtained by the previous coefficient classification operation; the data buffer stores the source data points that are sequentially shifted into the filter processing unit from right to left. When the buffer is full, the source data point on the right is shifted out, the source data point on the left is moved into one, and each time the output data point is calculated, a shift is made.
  • modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device so that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or Multiple modules or steps are made into a single integrated circuit module. Thus, the invention is not limited to any particular combination of hardware and software.
  • the filtering efficiency is improved by 9 times; in the processor, 4 times of parallel execution is performed. In the case, the filtering efficiency is increased by 17 times.
  • the number of high-precision search users that the system can support is increased by 10 times.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

Embodiment of the present invention discloses an interpolation filtering method and interpolation filter, which include setting N filter processing units, wherein the filter processing unit includes a filter data buffering unit, and the filter data buffering unit includes M data buffering sub-units; shifting and inputting source data points one by one to the filter data buffering unit of each filter processing unit in parallel and synchronously, processing filter operation to the source data points in each filter processing unit after the source data points are written to each data buffering sub-unit in each filter data buffering unit, and respectively outputting the operation result of the filter operation for each filter processing unit to an output data buffering unit; shifting and inputting next source data points to the filter data buffering unit of each filter processing unit until processing X times filter operation to each filter processing unit, obtaining X operation results and outputting the operation results, wherein X is the number of the source data points.

Description

一种插值滤波方法及插值滤波器  Interpolation filtering method and interpolation filter
技术领域 Technical field
本发明涉及通信技术领域, 尤其涉及一种插值滤波方法及插值滤波器。  The present invention relates to the field of communications technologies, and in particular, to an interpolation filtering method and an interpolation filter.
背景技术 Background technique
在 WCDMA ( Wideband Code Division Multiple Access, 宽带码分多址) 通信系统中, 需要对上行信号进行多径搜索, 在多径搜索的基础上进行上行 信号的解扰解扩及后续的各种符号级处理。 为了支持越来越高的传输速率, 物理层调制解调技术也在不断地发展, 从 BPSK (二进制相移键控) 、 QPSK (四相相移键控 )到 16QAM (正交幅度调制 )及 64QAM等, 特别是 3GPP 的 R8协议提出了 BOOSTING (突发传输)模式用到了大量的高阶调制解调 技术, 这些技术对多径搜索精度提出了越来越高的要求。  In the WCDMA (Wideband Code Division Multiple Access) communication system, multipath search is needed for the uplink signal, and the descrambling and despreading of the uplink signal and subsequent symbol levels are performed on the basis of the multipath search. deal with. In order to support higher and higher transmission rates, physical layer modulation and demodulation technology is also constantly evolving, from BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying) to 16QAM (Quadrature Amplitude Modulation) and 64QAM, etc., especially the 3GPP R8 protocol proposes a large number of high-order modulation and demodulation techniques used in the BOOSTING mode. These techniques place higher and higher requirements on multipath search accuracy.
传统的多径搜索算法, 釆用 2倍釆样的 ADP (功率时延语)输入, 在此 基础上搜索峰值点并进行相位调整后得到最后的多径。 此过程中引入 3/8chip (贴片精度单位)的搜索精度误差。 高阶的解调技术, 需要这个误差维持 在 l/8chip, 传统的搜索器无法满足要求。  The traditional multipath search algorithm uses a 2x ADP (power delay) input, and searches for the peak point and phase adjustment to obtain the final multipath. The search accuracy error of 3/8chip (slice precision unit) was introduced in this process. High-order demodulation techniques require this error to be maintained at l/8chip, which is not possible with traditional searchers.
为了支持高阶解调的性能, WCDMA的多径搜索通过对原来的 2倍釆样 的 ADP进行上釆样插值到 8倍来支持更高的搜索精度。又由于硬件实现上釆 样插值会极大的增加总线带宽, 软件实现插值是一种有效的方法。  In order to support the performance of high-order demodulation, WCDMA multipath search supports higher search accuracy by performing up-and-down interpolation of the original 2 times ADP. Moreover, since the hardware implementation of the above-mentioned interpolation will greatly increase the bus bandwidth, software interpolation is an effective method.
新型的 EOL (早中晚插值滤波搜索器 )搜索器, 通过上釆样插值的方法, 将 2倍釆样的 ADP插值成 8倍釆样的 ADP,并在此基础上, 实现更高精度的 搜索, 满足了高阶解调的要求。  The new EOL (early mid-late interpolation filter searcher) interpolates 2 times the ADP into 8 times the ADP by means of the upper-like interpolation method, and on this basis, achieves higher precision. The search satisfies the requirements of high-order demodulation.
EOL搜索器的核心在于上釆样插值, 即通过插值来实现釆样率的提高。 在相关的 WCDMA的实现体系中,搜索器的上釆样插值部分需要用软件来实 现。 因为在芯片上直接提高数据釆样率, 会导致系统的带宽需求急剧上升, 超出芯片总线的承受能力。 但是软件实现插值滤波器, 则对处理器计算能力 的要求非常高。 据估算, 相关的软件插值滤波器, 在 732MHz的处理器上只 能提供 6个高速率用户 EOL搜索结果, 这很难满足实际系统的需求。 The core of the EOL searcher is the upper-like interpolation, which is to increase the sampling rate by interpolation. In the implementation system of the related WCDMA, the upper-like interpolation part of the searcher needs to be implemented by software. Because the data rate is directly increased on the chip, the bandwidth demand of the system will rise sharply and exceed the capacity of the chip bus. However, software implementation of the interpolation filter requires very high computational power of the processor. It is estimated that the relevant software interpolation filter is only available on the 732MHz processor. It can provide 6 high-rate user EOL search results, which is difficult to meet the needs of the actual system.
发明内容 Summary of the invention
本发明的实施例提供一种插值滤波方法及插值滤波器, 能够提高插值滤 波的效率, 使处理器能够同时为更多用户提供多径搜索。  Embodiments of the present invention provide an interpolation filtering method and an interpolation filter, which can improve the efficiency of interpolation filtering, and enable the processor to simultaneously provide multipath searching for more users.
本发明实施例的一种插值滤波方法, 包括:  An interpolation filtering method according to an embodiment of the present invention includes:
设置 N个滤波处理单元, 所述滤波处理单元中包含滤波数据緩冲单元, 所述滤波数据緩冲单元中包含 M个数据緩冲子单元, 其中, N为滤波的上釆 样倍数, M为 L/N, L为滤波的阶数, 其中, N、 M、 L均为正整数;  N filter processing units are disposed, the filter processing unit includes a filter data buffer unit, and the filter data buffer unit includes M data buffer subunits, where N is a filtered upper multiple, and M is L/N, L is the order of filtering, where N, M, and L are positive integers;
逐一将源数据点并行同步的向每个滤波处理单元的滤波数据緩冲单元进 行移位输入, 在每个滤波数据緩冲单元中的每个数据緩冲子单元均写入源数 据点后, 对每个滤波处理单元中的源数据点进行滤波运算, 并将对每个滤波 处理单元的本次滤波运算的运算结果分别输出到在输出数据緩冲单元中的本 次滤波运算的运算结果对应的输出緩冲子单元中; 以及  Shifting the source data points one by one to the filter data buffer unit of each filter processing unit in parallel, after each data buffer subunit in each filter data buffer unit writes the source data points, Performing a filtering operation on the source data points in each of the filter processing units, and outputting the operation results of the current filtering operations of each of the filter processing units to the operation results of the current filtering operations in the output data buffer unit Output buffer subunit; and
向每个滤波处理单元的滤波数据緩冲单元移位输入下一个源数据点, 对 每个滤波处理单元中的源数据点进行滤波运算, 并将本次滤波运算的运算结 果输出到输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子 单元中, 直到对每个滤波处理单元进行 X次滤波运算, 得到 X个运算结果并 将运算结果输出, 其中, X为源数据点的个数且为正整数。  Shifting the next source data point to the filter data buffer unit of each filter processing unit, performing filtering operation on the source data points in each filter processing unit, and outputting the operation result of the current filter operation to the output data In the output buffer sub-unit corresponding to the operation result of the current filtering operation in the punch unit, until X times of filtering operations are performed for each filter processing unit, X operation results are obtained and the operation result is output, where X is the source data The number of points is a positive integer.
对每个滤波处理单元中的源数据点进行滤波运算, 包括:  Filtering the source data points in each filter processing unit includes:
对于第一个滤波处理单元, 将所述第一个滤波处理单元的滤波数据緩冲 单元当前緩存的源数据点中, 最早被输入到所述第一个滤波处理单元中的源 数据点作为本次滤波运算的运算结果。  For the first filter processing unit, the source data point currently buffered by the filter data buffer unit of the first filter processing unit is the source data point that is first input into the first filter processing unit. The result of the operation of the sub-filtering operation.
还包括:  Also includes:
对于第二到第 N个滤波处理单元, 分别设置滤波系数緩冲单元, 所述滤 波系数緩冲单元包含与滤波数据緩冲单元的数据緩冲子单元——对应的 M个 系数緩冲子单元, 所述 M个系数緩冲子单元各自保存对应的数据緩冲子单元 中的源数据点的要乘的滤波系数, 其中, M、 N均为正整数。 对每个滤波处理单元中的源数据点进行滤波运算, 包括: 对于第二到第 N个滤波处理单元, 将滤波处理单元的滤波数据緩冲单元 中的数据緩冲子单元划分为多个滤波组, 每个滤波组包含多个数据緩冲子单 元, 对每个滤波组中的数据緩冲子单元中的源数据点进行串并变换, 对与滤 波组中的数据緩冲子单元对应的系数緩冲子单元中的滤波系数进行串并变 换, 并行的将滤波组中数据緩冲子单元中的源数据点与对应的系数緩冲子单 元中的滤波系数相乘, 将乘积相加, 得到滤波组的滤波结果; 以及 For the second to Nth filter processing units, respectively, a filter coefficient buffer unit is provided, and the filter coefficient buffer unit includes M coefficient buffer subunits corresponding to the data buffer subunit of the filter data buffer unit. The M coefficient buffer subunits respectively store filter coefficients to be multiplied by the source data points in the corresponding data buffer subunit, where M and N are positive integers. Performing a filtering operation on the source data points in each of the filter processing units includes: dividing, for the second to Nth filter processing units, the data buffer subunits in the filter data buffer unit of the filter processing unit into a plurality of filters Group, each filter group includes a plurality of data buffer subunits, and serially transforms the source data points in the data buffer subunits in each filter group, corresponding to the data buffer subunits in the filter group The filter coefficients in the coefficient buffer subunit are serial-to-parallel transformed, and the source data points in the data buffer subunits in the filter group are multiplied in parallel with the filter coefficients in the corresponding coefficient buffer subunits, and the products are added. Obtaining the filtering result of the filter group;
将每个滤波组的滤波结果相加, 并对相加后的结果进行并串变换, 得到 本次滤波运算的运算结果。  The filtering results of each filter group are added, and the added result is subjected to parallel-to-serial conversion to obtain the operation result of the filtering operation.
所述输出数据緩冲单元包含 X*N个输出緩冲子单元;  The output data buffer unit includes X*N output buffer subunits;
将对每个滤波处理单元的本次滤波运算的运算结果分别输出到在输出数 据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元中, 包括: 对于第一个滤波处理单元, 第一次滤波运算到第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为 0,N,2N,3N... (X-l)N,根据滤波运算的次数将运算结果输出到对应的输出緩冲 子单元中; 以及  Outputting the operation result of the current filtering operation of each filter processing unit to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, including: For the first filtering process The number of the output buffer subunit corresponding to the operation result of the first filtering operation to the Xth filtering operation in the output data buffer unit is 0, N, 2N, 3N... (Xl)N, according to The number of filtering operations outputs the operation result to the corresponding output buffer subunit;
对于第 K个滤波处理单元,第一次滤波运算到第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为 For the Kth filter processing unit, the sequence number of the output buffer subunit corresponding to the operation result of the Xth filter operation in the output data buffer unit is
K- 1 ,Ν+Κ- 1 ,2N+K- 1 ,3Ν+Κ- 1... (X- 1 )Ν+Κ- 1 , 根据滤波运算的次数将运算结果 输出到对应的输出緩冲子单元中, 其中, Κ为 2~Ν且为正整数。 K- 1 , Ν + Κ - 1 , 2N + K - 1 , 3 Ν + Κ - 1... (X - 1 ) Ν + Κ - 1 , output the operation result to the corresponding output buffer according to the number of filtering operations In the subunit, where Κ is 2~Ν and is a positive integer.
一种插值滤波器, 包括: 源数据緩冲单元、 Ν个滤波处理单元和输出数 据緩冲单元, 每个滤波处理单元中均包含滤波数据緩冲单元, 所述滤波数据 緩冲单元中包含 Μ个数据緩冲子单元, 其中, Ν为滤波的上釆样倍数, Μ为 L/N, L为滤波的阶数, N、 M、 L均为正整数; 其中:  An interpolation filter includes: a source data buffer unit, a filter processing unit, and an output data buffer unit, each filter processing unit includes a filter data buffer unit, and the filter data buffer unit includes Data buffer subunits, where Ν is the upper multiple of the filtering, Μ is L/N, L is the order of filtering, and N, M, and L are positive integers;
所述源数据緩冲单元设置成緩冲源数据点, 逐一将源数据点并行同步的 向每个滤波处理单元的滤波数据緩冲单元进行移位输入, 并在所述滤波处理 单元完成一次滤波运算后, 向每个滤波处理单元的滤波数据緩冲单元移位输 入下一个源数据点; 以及 所述滤波处理单元设置成在包含的滤波数据緩冲单元中的每个数据緩冲 子单元均写入源数据点后,对滤波数据緩冲单元中的源数据点进行滤波运算, 并将本次滤波运算的运算结果输出到在输出数据緩冲单元中的本次滤波运算 的运算结果对应的输出緩冲子单元中, 在所述源数据緩冲单元输入下一个源 数据点后, 对源数据点进行滤波运算, 并将本次滤波运算的运算结果输出到 输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元中, 直到进行 X次滤波运算, 得到 X个运算结果并将运算结果输出, 其中, X为 源数据点的个数且为正整数。 The source data buffer unit is configured to buffer source data points, perform shift input to the filter data buffer unit of each filter processing unit in parallel with the source data points, and perform filtering once in the filter processing unit. After the operation, shifting the next source data point to the filter data buffer unit of each filter processing unit; The filter processing unit is configured to filter the source data points in the filter data buffer unit after each data buffer subunit in the included filter data buffer unit writes the source data point, and The operation result of the sub-filtering operation is output to the output buffer sub-unit corresponding to the operation result of the current filtering operation in the output data buffer unit, and after the source data buffer unit inputs the next source data point, the source is The data point performs a filtering operation, and outputs the operation result of the current filtering operation to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X filtering operations are performed, and X pieces are obtained. The result of the operation is output and the result of the operation is output, where X is the number of source data points and is a positive integer.
所述 N个滤波处理单元中的第一个滤波处理单元设置成将所述第一个滤 波处理单元的滤波数据緩冲单元当前緩存的源数据点中, 最早被输入到所述 第一个滤波处理单元中的源数据点作为本次滤波运算的运算结果。  The first filter processing unit of the N filter processing units is configured to input the first filter into the source data point currently buffered by the filter data buffer unit of the first filter processing unit. The source data point in the processing unit is used as the operation result of the current filtering operation.
所述 N个滤波处理单元中的第二到第 N个滤波处理单元包含与滤波数据 緩冲单元对应的滤波系数緩冲单元, 所述滤波系数緩冲单元包含与滤波数据 緩冲单元的数据緩冲子单元——对应的 M个系数緩冲子单元, 所述 M个系 数緩冲子单元各自保存对应的数据緩冲子单元中的源数据点的要乘的滤波系 数, 其中, M、 N均为正整数。  The second to Nth filter processing units of the N filter processing units include a filter coefficient buffer unit corresponding to the filter data buffer unit, and the filter coefficient buffer unit includes data buffered with the filter data buffer unit a punch unit - a corresponding M coefficient buffer subunit, each of the M coefficient buffer subunits respectively holding a filter coefficient of a source data point in the corresponding data buffer subunit, wherein, M, N Both are positive integers.
所述第二到第 N个滤波处理单元的滤波数据緩冲单元中的数据緩冲子单 元分为多个滤波组, 每个滤波组包含多个数据緩冲子单元;  The data buffer subunits in the filter data buffer unit of the second to Nth filter processing units are divided into a plurality of filter groups, and each filter group includes a plurality of data buffer subunits;
所述第二到第 N个滤波处理单元包含与滤波组中的数据緩冲子单元连接 的串并变换单元, 与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接 的串并变换单元, 滤波组对应的运算单元以及并串变换单元, 其中:  The second to Nth filter processing units include a serial-to-parallel transform unit connected to the data buffer sub-unit in the filter group, and a string buffer sub-unit connected to the data buffer sub-unit in the filter group. a transform unit, an arithmetic unit corresponding to the filter group, and a parallel-to-serial transform unit, wherein:
所述与滤波组中的数据緩冲子单元连接的串并变换单元设置成对连接的 数据緩冲子单元中的源数据点进行串并变换;  The serial-to-parallel transform unit connected to the data buffer subunit in the filter group is configured to perform serial-to-parallel conversion on the source data points in the connected data buffer sub-unit;
所述与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接的串并变 换单元设置成对连接的系数緩冲子单元中的滤波系数进行串并变换;  And the serial-to-parallel transform unit connected to the coefficient buffer subunit corresponding to the data buffer subunit in the filter group is configured to perform serial-to-parallel transformation on the filter coefficients in the connected coefficient buffer subunit;
所述滤波组对应的运算单元分别与所述与滤波组中的数据緩冲子单元连 接的串并变换单元和所述与滤波组中的数据緩冲子单元对应的系数緩冲子单 元连接的串并变换单元连接, 其设置成并行的将滤波组中数据緩冲子单元中 的源数据点与对应的系数緩冲子单元中的滤波系数相乘, 将乘积相加, 得到 滤波组的滤波结果, 并接收相邻的前一个滤波组对应的运算单元发送的滤波 组的滤波结果, 将接收到的滤波组的滤波结果与自身得到的滤波组的滤波结 果相加, 将相加的结果发送给相邻的下一个滤波组对应的运算单元; 以及 所述并串变换单元设置成对每个滤波组的滤波结果相加后的结果进行并 串变换, 得到本次滤波运算的运算结果。 The operation unit corresponding to the filter group is respectively connected to the serial-to-parallel transform unit connected to the data buffer sub-unit in the filter group and the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group. a serial-to-parallel conversion unit connection, which is arranged in parallel to filter the data buffer subunits in the group The source data points are multiplied by the filter coefficients in the corresponding coefficient buffer subunits, the products are added, the filtering result of the filter group is obtained, and the filtering of the filter group sent by the operation unit corresponding to the adjacent previous filter group is received. As a result, the filtering result of the received filter group is added to the filtering result of the filter group obtained by itself, and the added result is sent to the operation unit corresponding to the adjacent next filter group; and the parallel string conversion unit is set. The result of adding the filtering results of each filter group in pairs is subjected to parallel-to-serial conversion, and the operation result of the current filtering operation is obtained.
所述输出数据緩冲单元包含 X*N个输出緩冲子单元;  The output data buffer unit includes X*N output buffer subunits;
所述 N个滤波处理单元中的第一个滤波处理单元的第一次滤波运算到第 X次滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序 号依次为 0,N,2N,3N...(X-1)N; 以及  The number of the output buffer subunit corresponding to the operation result of the first filtering operation unit of the first filter processing unit to the Xth filtering operation is 0 in the output data buffer unit. N, 2N, 3N...(X-1)N;
所述 N个滤波处理单元中的第 K个滤波处理单元的第一次滤波运算到第 X次滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序 号依次为 K- 1 ,Ν+Κ- 1 ,2N+K- 1 ,3Ν+Κ- 1... (X- 1 )Ν+Κ- 1 , 其中, Κ为 2~Ν且为正 整数。  The number of the output buffer subunit corresponding to the operation result of the Kth filter processing unit of the Kth filter processing unit to the Xth filter operation unit in the output data buffer unit is K- 1 , Ν + Κ - 1 , 2N + K - 1 , 3 Ν + Κ - 1... (X-1) Ν + Κ - 1 , where Κ is 2 Ν and is a positive integer.
综上所述, 本发明实施例具有如下有益效果:  In summary, the embodiments of the present invention have the following beneficial effects:
( 1 )省略了上釆样滤波前的插 0操作, 省略了与 0数据进行相乘加的操 作;  (1) The insertion 0 operation before the upper sample filtering is omitted, and the operation of multiplying and adding with the 0 data is omitted;
( 2 )通过对滤波系数进行排列的方式以及对滤波运算的运算结果分类输 出的方式, 使得在进行滤波运算时, 源数据点与滤波系数已经天然对齐, 省 略了通过输出数据索引计算与此输出数据对应的输入数据的系数索引的环 节, 形成第一层次的并行运算结构;  (2) By arranging the filter coefficients and classifying and outputting the operation results of the filtering operations, the source data points and the filter coefficients are naturally aligned during the filtering operation, and the output data index calculation and output are omitted. The link of the coefficient index of the input data corresponding to the data forms a parallel operation structure of the first level;
( 3 )由于源数据点与滤波系数已经天然对齐, 在进行滤波运算时, 则可 以通过串并变换, 将分散的源数据点与滤波系数, 分别组装成更高位宽的数 据、 系数, 以利用处理器本身的并行处理能力, 形成第二层次的并行;  (3) Since the source data points and the filter coefficients are naturally aligned, when performing the filtering operation, the scattered source data points and the filter coefficients can be assembled into higher bit width data and coefficients by serial-to-parallel conversion to utilize The parallel processing capability of the processor itself forms a parallelism of the second level;
( 4 )在进行滤波运算时, 能够换行连续的乘加运算, 将成倍提高处理器 的流水线单元的效率, 避免处理器流水线空泡, 提高了处理器执行效率, 形 成第三第四层次的并行;  (4) When performing filtering operations, it is possible to wrap continuous multiply-accumulate operations, which will double the efficiency of the processor's pipeline unit, avoid processor pipeline bubble, improve processor execution efficiency, and form the third and fourth levels. Parallel
( 5 )对于第一个滤波处理单元中的源数据点, 不进行与滤波系数的乘运 算, 减少了不必要的滤波运算; (5) For the source data points in the first filter processing unit, the flight with the filter coefficients is not performed. Calculate, reducing unnecessary filtering operations;
本发明实施例的并行的上釆样插值滤波方法, 根据数据的位宽, 在处理 器釆用 2倍并行执行的情况下, 滤波效率提高了 9倍; 在处理器釆用 4倍并 行执行的情况, 滤波效率提高了 17倍。 在实际的 WCDMA系统中, 将系统 所能支持的高精度搜索用户的数量提高为原来的 10倍。  According to the parallel top-order interpolation filtering method of the embodiment of the present invention, according to the bit width of the data, when the processor uses 2 times parallel execution, the filtering efficiency is improved by 9 times; in the processor, 4 times of parallel execution is performed. In the case, the filtering efficiency is increased by 17 times. In the actual WCDMA system, the number of high-precision search users that the system can support is increased by 10 times.
附图概述 BRIEF abstract
图 1为本发明实施方式的插值滤波方法的流程图;  1 is a flowchart of an interpolation filtering method according to an embodiment of the present invention;
图 2为本发明实施方式的插值滤波器的架构图。  2 is a block diagram of an interpolation filter according to an embodiment of the present invention.
本发明的较佳实施方式 Preferred embodiment of the invention
由于软件实现上釆样插值, 其大量的乘加运算需要消耗巨量的处理器计 算时间, 另外由于滤波运算时, 源数据点与滤波系数对齐关系复杂, 每计算 一个插值后的数据点, 都需要先计算每个源数据点对应的插值系数索引, 消 耗大量额外的辅助计算资源; 且由于在计算时, 滤波系数与源数据点的对应 关系未知, 无法实现乘加运算的并行化及流水化, 处理器的利用率低。 在现 代的高性能处理器上, 传统的软件实现上釆样插值方法只能支持极少量的用 户, 成为系统的一个瓶颈。  Due to the software implementation of the above-mentioned interpolation, a large number of multiply-and-accumulate operations require a huge amount of processor calculation time. In addition, due to the complex operation, the source data points and the filter coefficients are complicated in alignment. Each time an interpolated data point is calculated, The index of the interpolation coefficient corresponding to each source data point needs to be calculated first, and a large amount of additional auxiliary computing resources are consumed; and since the correspondence between the filter coefficient and the source data point is unknown during calculation, parallelization and pipelining of the multiply-add operation cannot be realized. , processor utilization is low. On modern high-performance processors, traditional software implementations can only support a very small number of users and become a bottleneck in the system.
基于相关软件滤波方法的缺点, 本文提出了一种适合于 RISC处理器实 现, 具有高度并行运算结构, 具有极高运算效率, 适用于 WCDMA的高度并 行的上釆样插值滤波方法及插值滤波器, 极大提高了插值效率, 在软件实现 插值的 WCDMA系统上支持更多的高精度搜索用户。  Based on the shortcomings of the related software filtering method, this paper proposes a highly parallel upper-order interpolation filtering method and interpolation filter suitable for RISC processor, with highly parallel computing structure and high computational efficiency, suitable for WCDMA. The interpolation efficiency is greatly improved, and more high-precision search users are supported on the software-implemented WCDMA system.
本实施方式中, 根据上釆样插值的滤波系数的特点及滤波运算的特点, 设计了一种全新的运算结构, 特别适合于软件实现插值滤波。 本实施方式的 插值滤波器, 最大限度的减少了非必要的插值运算及非必要的对于系数对齐 的辅助运行, 还使并行运算成为可能, 充分利用了 RISC处理器本身的并行 处理能力, 在实现插值滤波的并行计算及提高插值运算效率方面, 效果非常 明显。 需要说明的是, 在不冲突的情况下, 本申请中的实施例及实施例中的特 征可以相互组合。 下面将参考附图并结合实施例来详细说明本发明实施例。 In the present embodiment, according to the characteristics of the filter coefficient of the interpolation and the characteristics of the filtering operation, a new operation structure is designed, which is especially suitable for software to implement interpolation filtering. The interpolation filter of the present embodiment minimizes unnecessary interpolation operations and unnecessary auxiliary operations for coefficient alignment, and also makes parallel operations possible, making full use of the parallel processing capability of the RISC processor itself. The parallel calculation of interpolation filtering and the improvement of interpolation efficiency are very effective. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict. Embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
本实施方式中假设插值滤波器的上釆样倍数为 N,源数据点的个数为 X, 则插值滤波后得到的总的数据点的个数为 X*N, 滤波器的阶数 L为 N*M, 即 每个源数据点均与 M个滤波系数进行滤波运算, 其中 N、 M、 L、 X均为正 整数。  In this embodiment, it is assumed that the multiplication factor of the interpolation filter is N, and the number of source data points is X, then the total number of data points obtained by interpolation filtering is X*N, and the order L of the filter is N*M, that is, each source data point is filtered with M filter coefficients, where N, M, L, and X are positive integers.
如图 1所示, 本实施方式的插值滤波方法, 包括:  As shown in FIG. 1, the interpolation filtering method of this embodiment includes:
步骤 101 : 设置 N个滤波处理单元, 每个滤波处理单元中包含滤波数据 緩冲单元, 滤波数据緩冲单元中包含 M个数据緩冲子单元, 每个数据緩冲子 单元用于緩存一个源数据点 D;  Step 101: Set N filter processing units, each filter processing unit includes a filter data buffer unit, the filter data buffer unit includes M data buffer subunits, and each data buffer subunit is used to cache a source. Data point D;
步骤 102: 对于 N*M阶滤波器, 共包含 N*M个滤波系数 C, 将 N*M个 滤波系数, 分成 N组, 其中, 组 1中的滤波系数为第一个滤波处理单元中的 源数据点将要乘的滤波系数, 组 1 中 的滤波系数的序号为 0,N,2N,3N ... ... (M-l)N,组 2中的滤波系数为第二个滤波处理单元中的源数据 点将要乘的滤波系数, 组 2 中的滤波系数的序号为 1,N+1,2N+1,3N+1 ... ... Step 102: For the N*M-order filter, a total of N*M filter coefficients C are included, and N*M filter coefficients are divided into N groups, wherein the filter coefficients in the group 1 are in the first filter processing unit. The filter coefficient to be multiplied by the source data point, the sequence number of the filter coefficient in group 1 is 0, N, 2N, 3N (Ml)N, and the filter coefficient in group 2 is the second filter processing unit. The filter coefficient of the source data point to be multiplied, the sequence number of the filter coefficient in group 2 is 1, N+1, 2N+1, 3N+1 ...
(Μ-1)Ν+1 , 以此类推到组 Ν中的滤波系数; (Μ-1)Ν+1, and so on to the filter coefficients in the group;
步骤 103 : 分别为第二个滤波处理单元到第 Ν个滤波处理单元设置滤波 系数緩冲单元, 滤波系数緩冲单元包含 Μ个系数緩冲子单元, 滤波系数緩冲 单元的 Μ个系数緩冲子单元与对应的滤波数据緩冲单元的 Μ个数据緩冲子 单元——对应, 用于緩存对应的数据緩冲子单元中的源数据点将要乘的滤波 系数;  Step 103: Set a filter coefficient buffer unit for the second filter processing unit to the second filter processing unit, where the filter coefficient buffer unit includes one coefficient buffer subunit, and the coefficient buffer unit of the filter coefficient buffer unit The subunit is corresponding to the data buffer subunits of the corresponding filter data buffer unit, and is used for buffering the filter coefficients to be multiplied by the source data points in the corresponding data buffer subunit;
由于组 1中的滤波系数除 ^_ 为 1外均为 0, 因此, 未对第一个滤波 处理单元设置滤波系数緩冲单元。  Since the filter coefficient in group 1 is 0 except that ^_ is 1, the filter coefficient buffer unit is not set for the first filter processing unit.
步骤 104: 将组 2到组 Ν中的滤波系数对应的保存到相应的滤波系数緩 冲单元的系数緩冲子单元中;  Step 104: Save the filter coefficients corresponding to the filter coefficients in the group 2 to the group 系数 to the coefficient buffer subunit of the corresponding filter coefficient buffer unit;
步骤 105 : 逐一将源数据点并行同步的向每个滤波处理单元的滤波数据 緩冲单元进行移位输入, 在每个滤波数据緩冲单元中的每个数据緩冲子单元 均写入源数据点后, 对每个滤波处理单元中的源数据点进行滤波运算; 请参考图 2, 将源数据点 D0~DX并行同步的移位输入到每个滤波处理单 元的滤波数据緩冲单元的数据緩冲子单元, 每个数据緩冲子单元中緩存一个 源数据点。 Step 105: Perform shift input to the filter data buffer unit of each filter processing unit in parallel with the source data points one by one, and write source data in each data buffer subunit in each filter data buffer unit. After the point, filtering the source data points in each filter processing unit; Referring to FIG. 2, a shift of the parallel synchronization of the source data points D 0 to D X is input to the data buffer subunit of the filter data buffer unit of each filter processing unit, and one source is buffered in each data buffer subunit. data point.
对每个滤波处理单元中的源数据点进行滤波运算, 包括:  Filtering the source data points in each filter processing unit includes:
对于第一个滤波处理单元, 将第一个滤波处理单元的滤波数据緩冲单元 当前緩存的源数据点中, 最早被输入到第一个滤波处理单元中的源数据点作 为本次滤波运算的运算结果。 在图 2中的瞬时状态, 当前最早输入到第一个 滤波处理单元中的源数据点为 DQ, 在进行下一次的移位输入后, 最早输入到 第一个滤波处理单元中的源数据点为 Dl Do已移出第一滤波处理单元。 For the first filter processing unit, the source data point currently buffered into the first filter processing unit among the source data points currently buffered by the filter data buffer unit of the first filter processing unit is used as the current filter operation. The result of the operation. In the instantaneous state in FIG. 2, the source data point currently input into the first filter processing unit is D Q , and the source data input into the first filter processing unit at the earliest after the next shift input is performed. The point D l Do has been removed from the first filter processing unit.
对于第二到第 N个滤波处理单元, 将滤波处理单元中的滤波数据緩冲单 元的数据緩冲子单元划分为多个滤波组, 每个滤波组包含多个数据緩冲子单 元, 对每个滤波组中的数据緩冲子单元中的源数据点进行串并变换, 对与滤 波组中的数据緩冲子单元对应的系数緩冲子单元中的滤波系数进行串并变 换, 并行的将滤波组中数据緩冲子单元中的源数据点与对应的系数緩冲子单 元中的滤波系数相乘, 将乘积相加, 得到滤波组的滤波结果; 并将每个滤波 组的滤波结果相加, 并对相加后的结果进行并串变换, 得到本次滤波运算的 运算结果。 图 2中每个滤波组包含两个数据緩冲子单元。  For the second to Nth filter processing units, dividing the data buffer subunit of the filter data buffer unit in the filter processing unit into a plurality of filter groups, each filter group including a plurality of data buffer subunits, for each The source data points in the data buffer subunits in the filter group are serial-to-parallel transformed, and the filter coefficients in the coefficient buffer sub-unit corresponding to the data buffer sub-units in the filter group are serial-to-parallel converted, in parallel The source data points in the data buffer subunit in the filter group are multiplied by the filter coefficients in the corresponding coefficient buffer subunits, and the products are added to obtain the filtering result of the filter group; and the filtering result of each filter group is Add, and perform parallel and parallel conversion on the result of the addition, and obtain the operation result of this filtering operation. Each filter bank in Figure 2 contains two data buffer subunits.
步骤 106: 将每个滤波处理单元的本次滤波运算的运算结果分别输出到 在输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元 中;  Step 106: Output the operation result of the current filtering operation of each filter processing unit to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit;
输出数据緩冲单元包含 X*N个输出緩冲子单元;  The output data buffer unit includes X*N output buffer subunits;
对于第一个滤波处理单元, 第一次滤波运算〜第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为 0,N,2N,3N... (X-l)N,根据滤波运算的次数将运算结果输出到对应的输出緩冲 子单元中; 对于滤波后的第一路数据, 是直接按滤波后的位置输出。 即源数 据点的第 0个(D0 )输出到输出緩冲子单元 O0, 源数据点的第 1个(D 输 出到输出緩冲子单元 0N,源数据点的第 2个输出到输出緩冲子单元 02N ..... 源 数据点的第 X-1个(Dx-1 )输出到输出緩冲子单元 0(X-1)N。 对于第 K个滤波处理单元,第一次滤波运算到第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为For the first filter processing unit, the sequence of the output buffer unit corresponding to the operation result of the first filter operation to the Xth filter operation in the output data buffer unit is 0, N, 2N, 3N... (Xl)N, the operation result is output to the corresponding output buffer sub-unit according to the number of filtering operations; and the filtered first path data is directly outputted according to the filtered position. That is, the 0th (D 0 ) of the source data point is output to the output buffer subunit O 0 , and the 1st source data point (D output to the output buffer subunit 0 N , the 2nd output of the source data point to Output buffer subunit 0 2N ..... The X-1th (D x-1 ) of the source data point is output to the output buffer subunit 0( X-1 ) N . For the Kth filter processing unit, the serial number of the output buffer subunit corresponding to the operation result of the first filtering operation to the Xth filtering operation is in the order of the output data buffer unit.
Κ- 1 ,Ν+Κ- 1 ,2N+K- 1 ,3Ν+Κ- 1... (X- 1 )Ν+Κ- 1 , 根据滤波运算的次数将运算结果 输出到对应的输出緩冲子单元中,其中, Κ为 2~Ν且为正整数。 Κ - 1 , Ν + Κ - 1 , 2N + K - 1 , 3 Ν + Κ - 1... (X - 1 ) Ν + Κ - 1 , output the operation result to the corresponding output buffer according to the number of filtering operations In the subunit, where Κ is 2~Ν and is a positive integer.
本实施方式中按源数据点所使用的滤波系数的特点, 将滤波后得到的数 据点分成并行的 Ν路数据。 第一路对应的输出緩冲子单元的序号为 0, Ν, 2Ν, 3Ν ... ... (X-l)N, 即图 1中的 O0 ,0N ... ...0(Χ-ι (部分未示出), 输出的滤波 后的数据点是源数据点与系数 Co, CN,C2N ... ... C (^ 相乘加;第二路对应的输 出緩冲子单元的序号为 1, N+1, 2N+1, 3N+1 ... ... (X-1)N+1 , 即图 1 中的 Οι ,0Ν+ι ... ...0(Χ-ι)Ν+ι (部分未示出), 输出的滤波后的数据点是源数据点与系 数 d , 系数 CN+1, C2N+1... ... C ( M-1 ) N+1相乘加; 依次类推到 N路数据。 In this embodiment, the filtered data points are divided into parallel loop data according to the characteristics of the filter coefficients used by the source data points. A first channel number corresponding output buffer subunit is 0, Ν, 2Ν, 3Ν ... ... (Xl) N, i.e., in FIG. 1 O 0, 0 N ... ... 0 (Χ - ι (partial not shown), the filtered data point of the output is the source data point and the coefficients Co, C N , C 2N ... C (^ multiply and add; the output corresponding to the second way The serial number of the buffer subunit is 1, N+1, 2N+1, 3N+1 ... (X-1)N+1, that is, Οι , 0 Ν + ι ... in Fig. 1 . ..0 (Χ- ι )Ν+ ι (partial not shown), the filtered data point of the output is the source data point and the coefficient d, the coefficient C N+1 , C 2N+1 ... ... C (M-1) N+1 multiply and add; and so on to N-way data.
步骤 107: 向每个滤波处理单元的滤波数据緩冲单元移位输入下一个源 数据点, 重复进行对每个滤波处理单元中的源数据点的滤波运算, 并将本次 滤波运算的运算结果输出到输出数据緩冲单元中的本次滤波运算的运算结果 对应的输出緩冲子单元中, 直到对每个滤波处理单元进行 X次滤波运算, 得 到 X个运算结果并将运算结果输出后结束。  Step 107: Shifting and inputting the next source data point to the filter data buffer unit of each filter processing unit, repeating the filtering operation on the source data point in each filter processing unit, and performing the operation result of the current filter operation Outputted to the output buffer sub-unit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X times of filtering operations are performed for each filter processing unit, X calculation results are obtained, and the operation result is outputted and then ended. .
本实施方式中, 对于第 2到第 N个滤波处理单元, 对每个滤波处理单元 中的源数据点进行滤波运算时,第一次的滤波运算是取源数据点 DQ~DM^与 对应的 M个滤波系数相乘, DQ对应 C( )N+1 , ... ... , DM4对应 得到第一个 数据点, 第二次滤波运算取 0 至 DM, 与对应的 M个滤波系数对应相乘, 对应 C(M-1)N+1 , ... ... , DM对应 d , 得到第二个数据点, 第三到第 X个数据点 依次类推。 In the present embodiment, for the second to Nth filter processing units, when filtering the source data points in each of the filter processing units, the first filtering operation is to take the source data points D Q ~D M ^ and The corresponding M filter coefficients are multiplied, D Q corresponds to C( )N+1 , ... , D M4 corresponds to the first data point, and the second filter operation takes 0 to D M , corresponding to The M filter coefficients are multiplied correspondingly, corresponding to C( M-1)N+1 , ..., D M corresponds to d, the second data point is obtained, and the third to Xth data points are analogously.
在对每个滤波处理单元中的源数据点进行单次滤波运算的时候, 通过对 源数据点及滤波系数进行串并变换,使串行计算变为并行计算,充分利用 CPU 的并行处理能力。 在输出时, 通过将数据点串行输出到间隔为 N的输出緩冲 子单元中, 即输入输出是串行的, 但中间通过串并变换及并串变换, 实现并 行乘力口运算。  When a single filtering operation is performed on the source data points in each filtering processing unit, serial data conversion is performed by serial-to-parallel conversion of the source data points and the filter coefficients, thereby making full use of the parallel processing capability of the CPU. At the time of output, the data points are serially outputted to the output buffer sub-units with interval N, that is, the input and output are serial, but the parallel-parallel conversion and parallel-to-serial conversion are performed in the middle to realize the parallel multiplication operation.
在实施本实施方式的方法时, 需要根据滤波器的参数, 包括滤波器的阶 数、 滤波系数、 上釆样倍数、 并行计算系数等, 按图 2所示的结构, 构造滤 波器的源数据緩冲单元、 滤波处理单元及输出数据緩冲单元, 设上釆样倍数 为 N, 设置 N个滤波处理单元, 对于第二到第 N个滤波处理单元, 分别为第 二到第 N个滤波处理单元设置滤波系数緩冲单元, 逐路进行并行滤波。 当所 有路的滤波运算都结束后, 输出数据緩冲单元中的数据, 即为插值滤波后的 结果。 When implementing the method of the present embodiment, it is necessary to construct a filter according to the parameters of the filter, including the order of the filter, the filter coefficient, the multiple of the upper sample, the parallel calculation coefficient, etc., according to the structure shown in FIG. The source data buffer unit, the filter processing unit and the output data buffer unit of the wave device are set with a multiple of N, and N filter processing units are set, and for the second to Nth filter processing units, respectively, the second to The Nth filter processing unit sets a filter coefficient buffer unit to perform parallel filtering on a channel by way. When the filtering operation of all the paths is completed, the data in the data buffer unit is output, which is the result of the interpolation filtering.
本实施方式通过分析上釆样插值滤波的特点, 通过目标滤波数据分类、 滤波系数重排、 并行乘加运行, 特殊运行省略及串并变换、 并串变换的输入 输出, 实现了一种高度并行的滤波器运算结构。  The present embodiment realizes a high degree of parallelism by analyzing the characteristics of the upper sample interpolation filter, through the target filter data classification, the filter coefficient rearrangement, the parallel multiplication and addition operation, the special operation omission, the serial-to-parallel conversion, and the parallel-serial input and output. Filter operation structure.
如图 2所示, 本实施方式提供的插值滤波器, 包括: 源数据緩冲单元 21、 N个滤波处理单元 22和输出数据緩冲单元 23 ,每个滤波处理单元中均包含滤 波数据緩冲单元 221 ,滤波数据緩冲单元中包含 M个数据緩冲子单元,其中, N为滤波的上釆样倍数, M为 L/N, L为滤波的阶数, N、 M、 L均为正整数; 其中:  As shown in FIG. 2, the interpolation filter provided in this embodiment includes: a source data buffer unit 21, N filter processing units 22, and an output data buffer unit 23, each of which includes a filter data buffer. Unit 221, the filter data buffer unit includes M data buffer subunits, where N is a filtered upper multiple, M is L/N, L is a filtered order, and N, M, and L are positive Integer; where:
源数据緩冲单元 21 , 用于緩冲源数据点, 逐一将源数据点并行同步的向 每个滤波处理单元的滤波数据緩冲单元进行移位输入, 并在滤波处理单元完 成一次滤波运算后, 向每个滤波处理单元的滤波数据緩冲单元移位输入下一 个源数据点;  The source data buffer unit 21 is configured to buffer the source data points, perform the shift input to the filter data buffer unit of each filter processing unit in parallel by the source data points, and perform a filtering operation after the filter processing unit completes the filter operation. Transmitting the next source data point to the filter data buffer unit of each filter processing unit;
滤波处理单元 22, 用于在包含的滤波数据緩冲单元 221中的每个数据緩 冲子单元均写入源数据点后, 对滤波数据緩冲单元中的源数据点进行滤波运 算, 并将本次滤波运算的运算结果输出到在输出数据緩冲单元中的本次滤波 运算的运算结果对应的输出緩冲子单元中, 在源数据緩冲单元输入下一个源 数据点后, 对源数据点进行滤波运算, 并将本次滤波运算的运算结果输出到 输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元中, 直到进行 X次滤波运算, 得到 X个运算结果并将运算结果输出, 其中, X为 源数据点的个数。  The filter processing unit 22 is configured to filter the source data points in the filter data buffer unit after each data buffer subunit in the included filter data buffer unit 221 writes the source data points, and The operation result of the filtering operation is output to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, and after the source data buffer unit inputs the next source data point, the source data is The filtering operation is performed on the point, and the operation result of the current filtering operation is output to the output buffer subunit corresponding to the operation result of the current filtering operation in the output data buffer unit, until X filtering operations are performed, and X operations are obtained. The result is output and the result is output, where X is the number of source data points.
N个滤波处理单元中的第一个滤波处理单元, 具体用于将第一个滤波处 理单元的滤波数据緩冲单元 221 当前緩存的源数据点中, 最早被输入到第一 个滤波处理单元中的源数据点作为本次滤波运算的运算结果。  The first filter processing unit of the N filter processing units is specifically configured to input the source data point currently buffered by the filter data buffer unit 221 of the first filter processing unit into the first filter processing unit. The source data point is used as the result of the operation of this filtering operation.
N个滤波处理单元中的第二到第 N个滤波处理单元包含与滤波数据緩冲 单元 221对应的滤波系数緩冲单元 222, 滤波系数緩冲单元 222包含与滤波 数据緩冲单元 221的数据緩冲子单元——对应的 M个系数緩冲子单元, M个 系数緩冲子单元各自保存对应的数据緩冲子单元中的源数据点的要乘的滤波 系数。 The second to Nth filter processing units of the N filter processing units are included with the filter data buffer The filter coefficient buffer unit 222 corresponding to the unit 221, the filter coefficient buffer unit 222 includes M coefficient buffer sub-units corresponding to the data buffer sub-unit of the filter data buffer unit 221, and M coefficient buffer sub-units. Each of the filter coefficients of the source data points in the corresponding data buffer subunit is multiplied.
第二到第 N个滤波处理单元的滤波数据緩冲单元 221中的数据緩冲子单 元分为多个滤波组, 每个滤波组包含多个数据緩冲子单元;  The data buffer subunits in the filter data buffer unit 221 of the second to Nth filter processing units are divided into a plurality of filter groups, each filter group including a plurality of data buffer subunits;
第二到第 N个滤波处理单元包含与滤波组中的数据緩冲子单元连接的串 并变换单元 223 , 与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接 的串并变换单元 224, 滤波组对应的运算单元 225以及并串变换单元 226, 其 中:  The second to Nth filter processing units include a serial-to-parallel conversion unit 223 connected to the data buffer sub-unit in the filter group, and a serial-to-parallel connection of the coefficient buffer sub-units corresponding to the data buffer sub-units in the filter group Unit 224, an operation unit 225 corresponding to the filter group, and a parallel-to-serial conversion unit 226, where:
与滤波组中的数据緩冲子单元连接的串并变换单元 223 , 用于对连接的 数据緩冲子单元中的源数据点进行串并变换;  And a serial-to-parallel transform unit 223 connected to the data buffer sub-unit in the filter group, configured to perform serial-to-parallel transformation on the source data points in the connected data buffer sub-unit;
与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接的串并变换单 元 224, 用于对连接的系数緩冲子单元中的滤波系数进行串并变换;  a serial-to-parallel transform unit 224 connected to the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group, configured to perform serial-to-parallel conversion on the filter coefficients in the connected coefficient buffer sub-unit;
滤波组对应的运算单元 225分别与与滤波组中的数据緩冲子单元连接的 串并变换单元 223和与滤波组中的数据緩冲子单元对应的系数緩冲子单元连 接的串并变换单元 224连接, 用于并行的将滤波组中数据緩冲子单元中的源 数据点与对应的系数緩冲子单元中的滤波系数相乘, 将乘积相加, 得到滤波 组的滤波结果, 并接收相邻的前一个滤波组对应的运算单元发送的滤波组的 滤波结果, 将接收到的滤波组的滤波结果与自身得到的滤波组的滤波结果相 加, 将相加的结果发送给相邻的下一个滤波组对应的运算单元; 并串变换单元 226, 用于对每个滤波组的滤波结果相加后的结果进行并 串变换, 得到本次滤波运算的运算结果。  The operation unit 225 corresponding to the filter group is respectively connected to the serial-to-parallel conversion unit 223 connected to the data buffer sub-unit in the filter group and the coefficient-buffer sub-unit connected to the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group. 224 connection, for parallelly multiplying the source data points in the data buffer subunit in the filter group by the filter coefficients in the corresponding coefficient buffer subunit, adding the products, obtaining the filtering result of the filter group, and receiving Filtering result of the filter group sent by the operation unit corresponding to the adjacent previous filter group, adding the filter result of the received filter group to the filter result of the filter group obtained by itself, and transmitting the added result to the adjacent one The operation unit corresponding to the next filter group; the parallel-to-serial conversion unit 226 is configured to perform parallel-to-serial conversion on the result of adding the filter results of each filter group to obtain the operation result of the current filter operation.
输出数据緩冲单元包含 X*N个输出緩冲子单元;  The output data buffer unit includes X*N output buffer subunits;
N个滤波处理单元中的第一个滤波处理单元的第一次滤波运算到第 X次 滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序号依 次为 0,N,2N,3N...(X-1)N;  The number of the output buffer subunit corresponding to the operation result of the first filter processing unit of the first filter processing unit to the Xth filter operation unit in the output data buffer unit is 0, N, respectively. 2N, 3N...(X-1)N;
N个滤波处理单元中的第 K个滤波处理单元的第一次滤波运算到第 X次 滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序号依 次为 K-1,N+K-1,2N+K-1,3N+K-1...(X-1)N+K-1 ,其中, K为 2~N且为正整数。 The first filtering operation of the Kth filtering processing unit of the N filtering processing units to the Xth time The sequence number of the output buffer subunit corresponding to the operation result of the filter operation in the output data buffer unit is K-1, N+K-1, 2N+K-1, 3N+K-1...(X- 1) N+K-1, where K is 2~N and is a positive integer.
图 2所示的滤波器中, 最左边的是源数据緩冲单元 21 , 最右边是输出数 据緩冲单元 23。 本实施方式的滤波器包括两层次的并行运算结构。 第一层并 行是滤波运算被按系数的特点拆分成了可并行的 N路; 第二层并行是在每一 路计算中, 对于每个输出数据点, 源数据点与滤波系数的乘加运算, 可以通 过串并变换后进行并行运算, 并行运算的结果再通过串并变换后输出。  In the filter shown in Fig. 2, the leftmost one is the source data buffer unit 21, and the far right is the output data buffer unit 23. The filter of the present embodiment includes a two-level parallel operation structure. The first layer parallelism is divided into parallel parallel N paths according to the characteristics of the coefficients; the second layer parallel is in each calculation, for each output data point, the multiplication and addition of the source data points and the filter coefficients The parallel operation can be performed by serial-parallel conversion, and the result of the parallel operation is output by serial-parallel conversion.
每一路的运算结构包括系数緩冲、 数据緩冲、 系数与数据的串并变换、 并行计算及累加计算、 并串变换并输出。 其中, 滤波系数緩冲单元保存了与 当前路相关的滤波系数, 由前面的系数分类操作得到; 数据緩冲从右到左保 存了依次位移进入滤波处理单元的源数据点。 当緩冲满之后, 右边的源数据 点移出一个, 左边的源数据点移进一个, 且每计算完一个输出数据点, 进行 一次位移。  The computational structure of each channel includes coefficient buffering, data buffering, serial-to-parallel transformation of coefficients and data, parallel computation and accumulation computation, parallel-to-serial transformation, and output. The filter coefficient buffer unit saves the filter coefficients associated with the current path, and is obtained by the previous coefficient classification operation; the data buffer stores the source data points that are sequentially shifted into the filter processing unit from right to left. When the buffer is full, the source data point on the right is shifted out, the source data point on the left is moved into one, and each time the output data point is calculated, a shift is made.
显然, 本领域的技术人员应该明白, 上述的本发明的各模块或各步骤可 以用通用的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布 在多个计算装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程 序代码来实现, 从而可以将它们存储在存储装置中由计算装置来执行, 或者 将它们分别制作成各个集成电路模块, 或者将它们中的多个模块或步骤制作 成单个集成电路模块来实现。 这样, 本发明不限制于任何特定的硬件和软件 结合。  Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device so that they may be stored in the storage device by the computing device, or they may be separately fabricated into individual integrated circuit modules, or Multiple modules or steps are made into a single integrated circuit module. Thus, the invention is not limited to any particular combination of hardware and software.
以上该仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领 域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原 则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范 围之内。  The above is only a preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention are intended to be included within the scope of the present invention.
工业实用性 Industrial applicability
本发明实施例的并行的上釆样插值滤波方法, 根据数据的位宽, 在处理 器釆用 2倍并行执行的情况下, 滤波效率提高了 9倍; 在处理器釆用 4倍并 行执行的情况, 滤波效率提高了 17倍。 在实际的 WCDMA系统中, 将系统 所能支持的高精度搜索用户的数量提高为原来的 10倍。  According to the parallel top-order interpolation filtering method of the embodiment of the present invention, according to the bit width of the data, when the processor uses 2 times parallel execution, the filtering efficiency is improved by 9 times; in the processor, 4 times of parallel execution is performed. In the case, the filtering efficiency is increased by 17 times. In the actual WCDMA system, the number of high-precision search users that the system can support is increased by 10 times.

Claims

权 利 要 求 书 claims
1、 一种插值滤波方法, 包括: 1. An interpolation filtering method, including:
设置 N个滤波处理单元, 所述滤波处理单元中包含滤波数据緩冲单元, 所述滤波数据緩冲单元中包含 M个数据緩冲子单元, 其中, N为滤波的上釆 样倍数, M为 L/N, L为滤波的阶数, 其中, N、 M、 L均为正整数; N filtering processing units are provided. The filtering processing unit includes a filtering data buffer unit. The filtering data buffering unit includes M data buffering subunits, where N is the sampling multiple of filtering, and M is L/N, L is the order of filtering, where N, M, and L are all positive integers;
逐一将源数据点并行同步的向每个滤波处理单元的滤波数据緩冲单元进 行移位输入, 在每个滤波数据緩冲单元中的每个数据緩冲子单元均写入源数 据点后, 对每个滤波处理单元中的源数据点进行滤波运算, 并将对每个滤波 处理单元的本次滤波运算的运算结果分别输出到在输出数据緩冲单元中的本 次滤波运算的运算结果对应的输出緩冲子单元中; 以及 The source data points are shifted and input to the filtered data buffer unit of each filtering processing unit one by one in parallel and synchronously. After each data buffer sub-unit in each filtered data buffer unit writes the source data points, Perform a filtering operation on the source data points in each filtering processing unit, and output the operation results of this filtering operation for each filtering processing unit to the corresponding operation results of this filtering operation in the output data buffer unit. in the output buffer subunit; and
向每个滤波处理单元的滤波数据緩冲单元移位输入下一个源数据点, 对 每个滤波处理单元中的源数据点进行滤波运算, 并将本次滤波运算的运算结 果输出到输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子 单元中, 直到对每个滤波处理单元进行 X次滤波运算, 得到 X个运算结果并 将运算结果输出, 其中, X为源数据点的个数且为正整数。 Shift input of the next source data point into the filter data buffer unit of each filter processing unit, perform a filter operation on the source data points in each filter processing unit, and output the operation result of this filter operation to the output data buffer. In the output buffer subunit corresponding to the operation result of this filtering operation in the buffer unit, until X filtering operations are performed on each filter processing unit, X operation results are obtained and the operation results are output, where X is the source data The number of points is a positive integer.
2、 如权利要求 1所述的方法, 其中, 对每个滤波处理单元中的源数据点 进行滤波运算, 包括: 2. The method of claim 1, wherein performing filtering operations on the source data points in each filtering processing unit includes:
对于第一个滤波处理单元, 将所述第一个滤波处理单元的滤波数据緩冲 单元当前緩存的源数据点中, 最早被输入到所述第一个滤波处理单元中的源 数据点作为本次滤波运算的运算结果。 For the first filter processing unit, among the source data points currently cached by the filter data buffer unit of the first filter processing unit, the earliest source data point input into the first filter processing unit is used as the current source data point. The result of the filtering operation.
3、 如权利要求 1或 2所述的方法, 还包括: 3. The method of claim 1 or 2, further comprising:
对于第二到第 N个滤波处理单元, 分别设置滤波系数緩冲单元, 所述滤 波系数緩冲单元包含与滤波数据緩冲单元的数据緩冲子单元——对应的 M个 系数緩冲子单元, 所述 M个系数緩冲子单元各自保存对应的数据緩冲子单元 中的源数据点的要乘的滤波系数, 其中, M、 N均为正整数。 For the second to Nth filter processing units, filter coefficient buffer units are respectively provided. The filter coefficient buffer unit includes M coefficient buffer sub-units corresponding to the data buffer sub-unit of the filter data buffer unit. , the M coefficient buffer subunits each store the filter coefficient to be multiplied by the source data point in the corresponding data buffer subunit, where M and N are both positive integers.
4、 如权利要求 3所述的方法, 其中, 对每个滤波处理单元中的源数据点 进行滤波运算, 包括: 对于第二到第 N个滤波处理单元, 将滤波处理单元的滤波数据緩冲单元 中的数据緩冲子单元划分为多个滤波组, 每个滤波组包含多个数据緩冲子单 元, 对每个滤波组中的数据緩冲子单元中的源数据点进行串并变换, 对与滤 波组中的数据緩冲子单元对应的系数緩冲子单元中的滤波系数进行串并变 换, 并行的将滤波组中数据緩冲子单元中的源数据点与对应的系数緩冲子单 元中的滤波系数相乘, 将乘积相加, 得到滤波组的滤波结果; 以及 4. The method according to claim 3, wherein performing a filtering operation on the source data points in each filtering processing unit includes: For the second to Nth filter processing units, the data buffer sub-units in the filter data buffer unit of the filter processing unit are divided into multiple filter groups, and each filter group contains multiple data buffer sub-units. The source data points in the data buffer sub-units in the filter group are subjected to serial-to-parallel transformation, and the filter coefficients in the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group are subjected to serial-to-parallel transformation. In parallel, The source data points in the data buffer subunit of the filter group are multiplied by the filter coefficients in the corresponding coefficient buffer subunit, and the products are added to obtain the filtering result of the filter group; and
将每个滤波组的滤波结果相加, 并对相加后的结果进行并串变换, 得到 本次滤波运算的运算结果。 Add the filtering results of each filter group, and perform parallel-to-serial conversion on the added results to obtain the operation result of this filtering operation.
5、 如权利要求 1所述的方法, 其中: 5. The method of claim 1, wherein:
所述输出数据緩冲单元包含 X*N个输出緩冲子单元; The output data buffer unit includes X*N output buffer sub-units;
将对每个滤波处理单元的本次滤波运算的运算结果分别输出到在输出数 据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元中, 包括: 对于第一个滤波处理单元, 第一次滤波运算到第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为 0,N,2N,3N... (X-l)N,根据滤波运算的次数将运算结果输出到对应的输出緩冲 子单元中; 以及 The operation result of this filtering operation of each filtering processing unit is output to the output buffer subunit corresponding to the operation result of this filtering operation in the output data buffer unit, including: For the first filtering process unit, the sequence numbers of the output buffer subunits corresponding to the operation results from the first filtering operation to the Xth filtering operation in the output data buffer unit are 0, N, 2N, 3N... (X-l)N, according to The number of filtering operations outputs the operation results to the corresponding output buffer subunit; and
对于第 K个滤波处理单元,第一次滤波运算到第 X次滤波运算的运算结 果对应的输出緩冲子单元在输出数据緩冲单元中的序号依次为 For the K-th filter processing unit, the sequence numbers of the output buffer sub-units corresponding to the operation results from the first filter operation to the X-th filter operation in the output data buffer unit are in sequence:
K- 1 ,Ν+Κ- 1 ,2N+K- 1 ,3Ν+Κ- 1... (X- 1 )Ν+Κ- 1 , 根据滤波运算的次数将运算结果 输出到对应的输出緩冲子单元中, 其中, Κ为 2~Ν且为正整数。 K- 1 ,N+K- 1 ,2N+K- 1 ,3N+K- 1... (X- 1 )N+K- 1 , output the operation result to the corresponding output buffer according to the number of filtering operations In the subunit, where K is 2~N and is a positive integer.
6、 一种插值滤波器, 包括: 源数据緩冲单元、 Ν个滤波处理单元和输出 数据緩冲单元, 每个滤波处理单元中均包含滤波数据緩冲单元, 所述滤波数 据緩冲单元中包含 Μ个数据緩冲子单元, 其中, Ν为滤波的上釆样倍数, Μ 为 L/N, L为滤波的阶数, N、 M、 L均为正整数; 其中: 6. An interpolation filter, including: a source data buffer unit, N filter processing units and an output data buffer unit. Each filter processing unit includes a filter data buffer unit, and the filter data buffer unit contains Contains M data buffer subunits, where N is the sampling multiple of filtering, M is L/N, L is the order of filtering, and N, M, and L are all positive integers; where:
所述源数据緩冲单元设置成緩冲源数据点, 逐一将源数据点并行同步的 向每个滤波处理单元的滤波数据緩冲单元进行移位输入, 并在所述滤波处理 单元完成一次滤波运算后, 向每个滤波处理单元的滤波数据緩冲单元移位输 入下一个源数据点; 以及 所述滤波处理单元设置成在包含的滤波数据緩冲单元中的每个数据緩冲 子单元均写入源数据点后,对滤波数据緩冲单元中的源数据点进行滤波运算, 并将本次滤波运算的运算结果输出到在输出数据緩冲单元中的本次滤波运算 的运算结果对应的输出緩冲子单元中, 在所述源数据緩冲单元输入下一个源 数据点后, 对源数据点进行滤波运算, 并将本次滤波运算的运算结果输出到 输出数据緩冲单元中的本次滤波运算的运算结果对应的输出緩冲子单元中, 直到进行 X次滤波运算, 得到 X个运算结果并将运算结果输出, 其中, X为 源数据点的个数且为正整数。 The source data buffer unit is configured to buffer source data points, perform shift input of the source data points one by one in parallel and synchronously to the filter data buffer unit of each filter processing unit, and complete one filtering in the filter processing unit. After the operation, the next source data point is shifted and input to the filtered data buffer unit of each filtering processing unit; and The filtering processing unit is configured to perform a filtering operation on the source data points in the filtered data buffer unit after each data buffer subunit in the included filtered data buffer unit writes the source data point, and then The operation result of this filter operation is output to the output buffer sub-unit corresponding to the operation result of this filter operation in the output data buffer unit. After the source data buffer unit inputs the next source data point, the source data buffer unit The data points are filtered, and the result of this filtering operation is output to the output buffer subunit corresponding to the result of this filtering operation in the output data buffer unit until X filtering operations are performed and X The operation result is calculated and output, where X is the number of source data points and is a positive integer.
7、 如权利要求 6所述的滤波器, 其中: 7. The filter of claim 6, wherein:
所述 N个滤波处理单元中的第一个滤波处理单元设置成将所述第一个滤 波处理单元的滤波数据緩冲单元当前緩存的源数据点中, 最早被输入到所述 第一个滤波处理单元中的源数据点作为本次滤波运算的运算结果。 The first filter processing unit among the N filter processing units is configured to input the earliest source data points currently cached by the filter data buffer unit of the first filter processing unit into the first filter The source data points in the processing unit are used as the results of this filtering operation.
8、 如权利要求 6或 7所述的滤波器, 其中: 8. The filter according to claim 6 or 7, wherein:
所述 N个滤波处理单元中的第二到第 N个滤波处理单元包含与滤波数据 緩冲单元对应的滤波系数緩冲单元, 所述滤波系数緩冲单元包含与滤波数据 緩冲单元的数据緩冲子单元——对应的 M个系数緩冲子单元, 所述 M个系 数緩冲子单元各自保存对应的数据緩冲子单元中的源数据点的要乘的滤波系 数, 其中, M、 N均为正整数。 The second to Nth filter processing units among the N filter processing units include a filter coefficient buffer unit corresponding to the filter data buffer unit, and the filter coefficient buffer unit includes a data buffer unit corresponding to the filter data buffer unit. Crush subunit—corresponding M coefficient buffer subunits, the M coefficient buffer subunits each store the filter coefficients to be multiplied by the source data points in the corresponding data buffer subunit, where, M, N are all positive integers.
9、 如权利要求 8所述的滤波器, 其中: 9. The filter of claim 8, wherein:
所述第二到第 N个滤波处理单元的滤波数据緩冲单元中的数据緩冲子单 元分为多个滤波组, 每个滤波组包含多个数据緩冲子单元; The data buffering subunits in the filtered data buffering unit of the second to Nth filtering processing units are divided into multiple filtering groups, and each filtering group contains multiple data buffering subunits;
所述第二到第 N个滤波处理单元包含与滤波组中的数据緩冲子单元连接 的串并变换单元, 与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接 的串并变换单元, 滤波组对应的运算单元以及并串变换单元, 其中: The second to Nth filter processing units include a serial-to-parallel conversion unit connected to the data buffer sub-unit in the filter group, and a serial-to-parallel conversion unit connected to the coefficient buffer sub-unit corresponding to the data buffer sub-unit in the filter group. Transformation unit, the arithmetic unit corresponding to the filter group and the parallel-to-serial transformation unit, where:
所述与滤波组中的数据緩冲子单元连接的串并变换单元设置成对连接的 数据緩冲子单元中的源数据点进行串并变换; The serial-to-parallel conversion unit connected to the data buffer subunit in the filter group is configured to perform serial-to-parallel transformation on the source data points in the connected data buffer subunit;
所述与滤波组中的数据緩冲子单元对应的系数緩冲子单元连接的串并变 换单元设置成对连接的系数緩冲子单元中的滤波系数进行串并变换; 所述滤波组对应的运算单元分别与所述与滤波组中的数据緩冲子单元连 接的串并变换单元和所述与滤波组中的数据緩冲子单元对应的系数緩冲子单 元连接的串并变换单元连接, 其设置成并行的将滤波组中数据緩冲子单元中 的源数据点与对应的系数緩冲子单元中的滤波系数相乘, 将乘积相加, 得到 滤波组的滤波结果, 并接收相邻的前一个滤波组对应的运算单元发送的滤波 组的滤波结果, 将接收到的滤波组的滤波结果与自身得到的滤波组的滤波结 果相加, 将相加的结果发送给相邻的下一个滤波组对应的运算单元; 以及 所述并串变换单元设置成对每个滤波组的滤波结果相加后的结果进行并 串变换, 得到本次滤波运算的运算结果。 The series-parallel transformer connected to the coefficient buffer subunit corresponding to the data buffer subunit in the filter group The conversion unit is configured to perform serial-to-parallel conversion on the filter coefficients in the connected coefficient buffer sub-units; the operation unit corresponding to the filter group is respectively connected to the serial-to-parallel conversion unit and the data buffer sub-unit in the filter group. The serial-parallel transformation unit connected to the coefficient buffer subunit corresponding to the data buffer subunit in the filter group is configured to parallelly convert the source data points in the data buffer subunit in the filter group to the corresponding coefficients. Multiply the filter coefficients in the buffer subunit, add the products, and obtain the filtering result of the filtering group, and receive the filtering result of the filtering group sent by the adjacent operation unit corresponding to the previous filtering group, and add the received filtering group. The filtering result of is added to the filtering result of the filter group obtained by itself, and the added result is sent to the operation unit corresponding to the adjacent next filter group; and the parallel-to-serial conversion unit is set to filter each filter group. The result after the addition is subjected to parallel-to-serial transformation to obtain the result of this filtering operation.
10、 如权利要求 6所述的滤波器, 其中: 10. The filter of claim 6, wherein:
所述输出数据緩冲单元包含 X*N个输出緩冲子单元; The output data buffer unit includes X*N output buffer sub-units;
所述 N个滤波处理单元中的第一个滤波处理单元的第一次滤波运算到第 X次滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序 号依次为 0,N,2N,3N...(X-1)N; 以及 The serial numbers of the output buffer sub-units corresponding to the operation results of the first filter operation to the X-th filter operation of the first filter processing unit among the N filter processing units in the output data buffer unit are 0 in sequence, N,2N,3N...(X-1)N; and
所述 N个滤波处理单元中的第 K个滤波处理单元的第一次滤波运算到第 X次滤波运算的运算结果对应的输出緩冲子单元在输出数据緩冲单元中的序 号依次为 K- 1 ,Ν+Κ- 1 ,2N+K- 1 ,3Ν+Κ- 1... (X- 1 )Ν+Κ- 1 , 其中, Κ为 2~Ν且为正 整数。 The serial numbers of the output buffer sub-units corresponding to the operation results of the first filter operation to the X-th filter operation of the K-th filter processing unit among the N filter processing units in the output data buffer unit are in sequence K- 1 ,N+K- 1 ,2N+K- 1 ,3N+K- 1... (X- 1 )N+K- 1 , where K is 2~N and is a positive integer.
PCT/CN2013/089334 2013-02-20 2013-12-13 Interpolation filtering method and interpolation filter WO2014127663A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310054152.5A CN103997355B (en) 2013-02-20 2013-02-20 A kind of method for filtering interpolation and interpolation filter
CN201310054152.5 2013-02-20

Publications (1)

Publication Number Publication Date
WO2014127663A1 true WO2014127663A1 (en) 2014-08-28

Family

ID=51311375

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/089334 WO2014127663A1 (en) 2013-02-20 2013-12-13 Interpolation filtering method and interpolation filter

Country Status (2)

Country Link
CN (1) CN103997355B (en)
WO (1) WO2014127663A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039968B (en) * 2018-09-13 2021-03-16 旺微科技(上海)有限公司 Data receiving method and device based on narrow-band Internet of things terminal
CN109802691A (en) * 2019-01-24 2019-05-24 中科驭数(北京)科技有限公司 The filtering method and device of sequence data
CN114063926B (en) * 2021-11-22 2024-03-15 上海创远仪器技术股份有限公司 Method and device for realizing interpolation processing between data based on FPGA hardware, processor and computer readable storage medium thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422089A (en) * 2001-09-07 2003-06-04 三星Thales株式会社 Block interpolating filter structure using seeking table
CN1992517A (en) * 2005-12-26 2007-07-04 中兴通讯股份有限公司 Programmable interpolated filter device and realizing method therefor
CN101072019A (en) * 2007-04-19 2007-11-14 华为技术有限公司 Wave filter and its filtering method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11145779A (en) * 1997-11-04 1999-05-28 Akyufeezu Kk Frequency variable type digital filter
CN1228938C (en) * 2002-03-29 2005-11-23 上海贝尔有限公司 Method and apparatus for acquiring correlative value when multi-user multi-path searching in CDMA system
CN102158451B (en) * 2010-02-11 2016-03-02 中兴通讯股份有限公司 High-speed multi-carrier multiphase interpolation filter method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422089A (en) * 2001-09-07 2003-06-04 三星Thales株式会社 Block interpolating filter structure using seeking table
CN1992517A (en) * 2005-12-26 2007-07-04 中兴通讯股份有限公司 Programmable interpolated filter device and realizing method therefor
CN101072019A (en) * 2007-04-19 2007-11-14 华为技术有限公司 Wave filter and its filtering method

Also Published As

Publication number Publication date
CN103997355A (en) 2014-08-20
CN103997355B (en) 2018-01-19

Similar Documents

Publication Publication Date Title
Xing et al. A compact hardware implementation of CCA-secure key exchange mechanism CRYSTALS-KYBER on FPGA
CN107210807B (en) Low complexity multiple access code detection method, detector and receiver
CN102355443B (en) Method for realizing federated filtering and timing synchronization in digital communication system
CA2820436A1 (en) Method and apparatus of cross-correlation with application to channel estimation and detection
Jafri et al. Hardware complexity reduction in universal filtered multicarrier transmitter implementation
WO2014127663A1 (en) Interpolation filtering method and interpolation filter
CN107483378A (en) FTN block transmission methods, emitter, receiver and system based on DFT
BR112016006450B1 (en) SIGNAL TRANSMISSION METHOD USING A POLARIZATION MULTIPLEX COHERENCE SYSTEM AND POLARIZATION MULTIPLEX COHERENCE SYSTEM
CN101331479B (en) Fast fourier transform circuit, processor and method and OFDM receiver
Pong et al. Concise lookup tables for IPv4 and IPv6 longest prefix matching in scalable routers
WO2017075868A1 (en) Fir filter bank and filtering method
WO2014080617A1 (en) Fast fourier transform circuit, fast fourier transform processing method, and program recording medium
Kaur et al. FPGA implementation of OFDM Transceiver using FFT Algorithm
CN112799634A (en) Based on base 22High-performance ring polynomial multiplier with MDC NTT structure
Srinivasaiah et al. Low power and area efficient FFT architecture through decomposition technique
KR20060073426A (en) Fast fourier transform processor in ofdm system and transform method thereof
JP4288378B1 (en) Data communication system, data decoding apparatus and method
KR100576520B1 (en) Variable fast fourier transform processor using iteration algorithm
CN113505383A (en) ECDSA algorithm execution system and method
JP6233318B2 (en) Frequency offset compensation apparatus and frequency offset compensation method
TWI313825B (en)
Yuan et al. A 256-point dataflow scheduling 2× 2 MIMO FFT/IFFT processor for IEEE 802.16 WMAN
CN110069746A (en) A kind of IFFT processing unit applied to point-variable in TD-LTE
Chuppala et al. Modified Cooley-Tukey algorithm for implementation of integrated serial FFT/IFFT processor in half-duplex OFDM systems
Mehdaoui et al. The efficiency of the CORDIC Operator in the MIMO MC-CDMA receiver.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13875601

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13875601

Country of ref document: EP

Kind code of ref document: A1