WO2022102846A1 - 압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법 - Google Patents

압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법 Download PDF

Info

Publication number
WO2022102846A1
WO2022102846A1 PCT/KR2020/016982 KR2020016982W WO2022102846A1 WO 2022102846 A1 WO2022102846 A1 WO 2022102846A1 KR 2020016982 W KR2020016982 W KR 2020016982W WO 2022102846 A1 WO2022102846 A1 WO 2022102846A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
unit
decomposition
vector
sensing
Prior art date
Application number
PCT/KR2020/016982
Other languages
English (en)
French (fr)
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 포항공과대학교 산학협력단
Priority to US17/607,847 priority Critical patent/US20220350862A1/en
Publication of WO2022102846A1 publication Critical patent/WO2022102846A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • H03M7/3062Compressive sampling or sensing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Definitions

  • the present invention provides a low-latency subspace pursuit device for compression sensing restoration that can effectively restore a measurement vector sensed in compressive sensing or a sparse vector from an input signal, and it's about how
  • Compressive sensing enables sampling of a sparse signal that can be expressed only by some coefficients in a specific domain (sparsifying domain) at a frequency lower than the Nyquist frequency.
  • a measurement vector is expressed as a product of a measurement matrix or a sensing matrix and a sparse vector as shown in FIG. 1, and an algorithm for finding a sparse vector from a sensed measurement vector is compressed sensing.
  • (CS) is a reconstruction algorithm.
  • OMP is an iterative greedy algorithm, and at every iteration, a column vector having the largest correlation between a residual vector and a column vector of the sensing matrix is selected as a support vector.
  • a sparse vector that is, a sparse solution, is estimated by projecting the residual vector into the span of the selected support vectors, and the residual vector is updated. That is, in the first iteration in OMP, the residual vector has the same value as the measurement vector, and as the iteration proceeds, the value contributed by the selected support vector is removed. By repeating this process, the position and value of the sparse vector are finally restored.
  • SP subspace pursuit
  • the present invention is to meet the needs of the prior art described above, and an object of the present invention is to recover a measurement vector sensed by compressive sensing or a sparse vector from an input signal. It is to provide a low-latency subspace pursuit device and method for compression sensing restoration.
  • Another object of the present invention is to use subspace tracking as a compression sensing restoration algorithm and use the Cholesky decomposition to solve the least-squares problem while configuring parallel hardware to support the parallel Scholastic decomposition.
  • Another object of the present invention is to use subspace tracking as a compression sensing restoration algorithm, skip one best-squares problem in the residual vector update process, and perform the next iteration to obtain correlation values in parallel with the Scholesky decomposition module. It is to provide a low-latency subspace tracking device and method for finding and restoring compressed sensing.
  • a subspace pursuit device for compression sensing restoration according to an aspect of the present invention for solving the above technical problem is a subspace pursuit device for compression sensing restoration
  • a first dot product unit that calculates a correlation by performing a dot product between a residual vector stored in a residual calculation unit (RCU) and column vectors of a sensing matrix stored in a sensing matrix memory (inner product unit type 1);
  • a first sorting unit (sorter & merger) connected to the output terminal of the first dot product unit and receiving the correlation values calculated in the first dot product unit and selecting K column vector indices having the greatest correlation -
  • the K is a sparsity level-
  • a matrix for calculating a pseudo-inverse matrix necessary for solving a least-squares problem (LSP) in a sparse solution estimation process is calculated and a gram matrix buffer a second dot product unit for storing in buffer);
  • a Cholesky inverse matrix unit for performing Cholesky decomposition of the matrix stored in the Gram matrix buffer and calculating an inverse of the decomposed matrix
  • a sparse solution estimation module for estimating a sparse solution from a matrix value of the matrix based on the inverse matrix.
  • the first sorting unit selects the K most dominant supports from the union of a newly selected support set and an existing support set.
  • the residual calculation unit may update the residual vector based on the support set including the previously selected K supports and the sparse solution estimation result of the sparse solution estimation module.
  • the residual calculation unit generates an approximate residual vector by skipping the Scholesky inverse calculation when updating the residual vector.
  • the approximate residual vector is used in the support search process.
  • the Scholastic inverse matrix unit comprises a plurality of processing element (PE) groups each comprising a plurality of computational modules.
  • PE processing element
  • each PE group generates multiple values in parallel in the Scholeschi decomposition, and the multiple values are generated as their respective dependencies are resolved in each PE group.
  • a result of a sparse solution estimation process and a support search process is generated, so that the next iteration is performed, skipping the Scholastic decomposition for the last LSP of each PE group,
  • the delay time is shortened by approximating the result of the Cholesky decomposition for the last LSP as the result of the Scholesky decomposition for the first LSP.
  • the Scholastic decomposition for the second LSP of each PE group is performed for the next iteration in parallel with the support search process of the next iteration.
  • the Cholesky decomposition module including the Cholesky inverse matrix unit and the sparse solution estimation module is the gram matrix buffer connected to a plurality of operation modules of each PE group, respectively, the output value of each PE group It further includes a buffer D for storing, and a buffer controller for controlling the operation of the buffers.
  • each of the plurality of arithmetic modules includes internal buffers for storing a matrix resulting from the Scholastic decomposition and an inverse matrix element value obtained by calculating an inverse matrix of the matrix in a location designated by a buffer controller.
  • Subspace tracking method for compression sensing restoration for solving the above technical problem is stored in a residual calculation unit (RCU) by a first inner product unit (inner product unit type 1) calculating a correlation by performing a dot product between the residual vector and column vectors of a sensing matrix stored in a sensing matrix memory; receiving the correlation values calculated in the first dot product unit by a first sorting unit connected to an output terminal of the first dot product unit and selecting K column vector indices having the greatest correlation; level (sparsity level)-;
  • a gram matrix buffer by calculating a matrix for calculating a pseudo inverse matrix required when solving a least-squares problem (LSP) in a sparse solution estimation process by a second dot product unit connected to the sensing matrix memory storing in (gram matrix buffer); Cholesky decomposition of the matrix stored in the Gram matrix buffer by a Scholesky inverse matrix unit connected to the Gram matrix buffer and calculating an inverse matrix of the decomposed matrix; and estimating a spar
  • LSP least
  • a subspace tracking method for compression sensing restoration for solving the above technical problem includes: a first step of measuring a correlation between a sensing matrix and a residual vector; a second step of receiving the correlation values calculated by measuring the correlation and setting K column vector numbers having the greatest correlation as a support set, wherein K is a sparsity level; a third step of tracing a sparse vector by a least squares method based on the support set; a fourth step of updating a residual vector based on the tracked sparse vector; a fifth step of tracing the sparse vector by the least squares method based on the reset support set when the parallel Scholesky decomposition is completed after iteration of the first step and the second step in the iteration process after the fourth step; a sixth step of setting K numbers having large sparse vectors tracked in the fifth step as a support set; a seventh step of approximating the residual vector based on the support set including the K supports set in the sixth step; and an eighth step of
  • the fifth step is performed based on the correlation and the calculation result of the Scholesky inverse matrix unit.
  • the K supports are selected from the union of the newly selected support set and the existing support set.
  • the Scholesky inverse matrix unit for performing the inverse matrix calculation in the Cholesky decomposition generates a plurality of values in parallel by a plurality of PE groups each having a plurality of processing elements (PEs), The multiple values are generated as each dependency is resolved in each PE group.
  • the Scholastic decomposition is the last least squares problem of each PE group so that the result of the estimation process of the sparse vector or sparse solution and the support search process are generated and the next iteration is performed.
  • Skip the Cholesky decomposition for (least-squares problem, LSP) and approximate the result of the Cholesky decomposition for the last LSP as the result of the Cholesky decomposition for the first LSP.
  • a delayed subspace pursuit (SP) apparatus and method may be provided.
  • a low-latency subspace tracking processor that can be effectively utilized for wireless communication including channel estimation and symbol detection using compression sensing, a sensor network for bio-signal analysis, and the like.
  • 1 is an exemplary diagram of a measurement vector model in conventional compressive sensing.
  • FIG. 2 is a block diagram of the entire hardware structure of a subspace pursuit (SP) apparatus for compression sensing restoration according to an embodiment of the present invention.
  • SP subspace pursuit
  • FIG. 3 is a block diagram of a Cholesky decomposition module used in the subspace tracking apparatus for compression sensing restoration of FIG. 2 .
  • FIG. 4 is a block diagram of a processing element included in the Scholesky decomposition module of FIG. 3 .
  • FIG. 5 is an exemplary diagram of an internal MAC unit that can be employed in the operation module of FIG. 4 .
  • FIG. 6 is an exemplary diagram for explaining a sequential calculation operation of the Scholesky decomposition module of FIG. 3 .
  • FIG. 7 is an exemplary diagram for explaining a process of estimating a sparse vector by combining a previous support vector and a new support vector in the subspace tracking apparatus according to the present embodiment.
  • FIG. 8 is an exemplary diagram for explaining a process of updating a residual vector following the sparse vector estimation process of FIG. 7 .
  • FIG. 9 is an exemplary diagram of a basic algorithm of a compression sensing restoration process of the subspace tracking apparatus of FIG. 2 .
  • FIG. 10 is an exemplary diagram of a modified vehicle vector calculation process that can be employed in the basic algorithm of FIG. 9 .
  • FIG. 11 is a flowchart illustrating an entire compression sensing restoration process of the subspace tracking device of FIG. 2 .
  • FIG. 12 is a diagram illustrating a comparison of block error rates between the parallel SP processor of this embodiment and the theoretical SP device of the comparative example.
  • FIG. 13 is a view showing the processing speed of the subspace tracking device for compression sensing restoration of the present embodiment together with a comparative example.
  • first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • the present invention uses a parallel Cholesky decomposition module to solve the least squares problem for sparse vector estimation in performing subspace pursuit (SP), which is one of the compressive sensing (CS) restoration algorithms. and the forwarded approximate residual vector is used in the support selection process.
  • SP subspace pursuit
  • CS compressive sensing
  • the present invention performs Cholesky decomposition to calculate a pseudo-inverse for solving the least-squares problem (LSP). It is based on being able to perform in linear time.
  • LSP least-squares problem
  • the SP algorithm selects the K most dominant supports from the union of the newly selected support set and the existing support set, and the support set determined through this support selection process. It involves the process of updating the residual vector based on the base, and is based on solving the LSP in both successive processes.
  • the delay time can be reduced by skipping the last LSP and approximating the result of the last LSP with the first LSP.
  • FIG. 2 is a block diagram of the entire hardware structure of a subspace pursuit (SP) apparatus for compression sensing restoration according to an embodiment of the present invention.
  • 3 is a block diagram of a Cholesky decomposition module used in the subspace tracking apparatus for compression sensing restoration of FIG. 2 .
  • 4 is a block diagram of a processing element included in the Scholesky decomposition module of FIG. 3 .
  • FIG. 5 is an exemplary diagram of an internal MAC unit that can be employed in the operation module of FIG. 4 .
  • FIG. 6 is an exemplary diagram for explaining a sequential calculation operation of the Scholesky decomposition module of FIG. 3 .
  • the overall hardware structure of the subspace tracking (SP) apparatus includes a memory for storing a sensing matrix, that is, a sensing matrix memory (SMM) and a processor body.
  • the processor body includes a residual calculation unit (RCU), a first inner product unit (IPU (type 1)), a sorter & merger (hereinafter also referred to as a first sorting unit), an index buffer ( index buffer), second dot product unit (IPU (type 2)), gram matrix buffer (GMB), Cholesky inversion unit (CIU), sparse solution estimator (SSE) , a sorter (hereinafter also referred to as a second sorting unit), and a control path (control path1, control path2).
  • a sensing matrix memory (SMM) is simply referred to as a sensing matrix unit.
  • the SP device may include a top control or top control sequencer that inputs, stores, and executes system microcode or instructions for controlling the operation of the control sequencer.
  • the SP device may include a signal receiving unit for receiving a signal transmitted from an external device or a signal transmitting unit for transmitting an internal signal.
  • the processor body and the memory may be connected through a system bus.
  • the residual calculation unit RCU calculates and stores the residual venter corresponding to the estimation result of the sparse solution estimator (SSE).
  • the residual calculation unit RCU may store the difference between the observation value and the estimated result corresponding to the observation value y input from a predetermined buffer or memory, as a residual vector.
  • the first dot product unit (IPU type 1) calculates the correlation between the residual vector stored in the residual calculation unit (RCU) and column vectors of the sensing matrix stored in the sensing matrix memory (SMM) by performing the dot product do.
  • the correlation values calculated in the first inner product unit are transmitted to the first sorting unit (sorter & merger) connected after the output of the first inner product unit, and the first sorting unit has the highest correlation K column vector indices are selected.
  • K is the sparsity level.
  • the selection result of the first alignment unit is stored in an index buffer, and stored data of the index buffer is used to update stored data of the sensing matrix unit.
  • the second dot product unit (IPU type 2) is a matrix for calculating a pseudo inverse matrix required when solving a least-squares problem (LSP) in a sparse solution estimation process from a sensing matrix stored in the sensing matrix unit is calculated and stored in the gram matrix buffer (GMB).
  • LSP least-squares problem
  • the Cholesky inverse matrix unit (CIU) is connected to the Gram matrix buffer (GMB) and calculates the Scholesky inverse matrix of the matrix stored in the Gram matrix buffer.
  • the Scholesky inverse matrix unit (CIU) may perform a unit operation in synchronization according to a signal of the second dot product unit (IPU type 2).
  • the sparse solution estimation module estimates a sparse solution through the least squares method from the Gram matrix values stored in the Gram matrix buffer based on the calculation result of the Scholesky inverse matrix unit (CIU).
  • the estimation result of the sparse solution estimation module SSE is transmitted to the residual calculation unit RCU.
  • the sparse solution estimation module SSE may estimate the sparse solution based on the K column vector indices selected in the first dot product unit (IPU type 1).
  • the processor body may include a buffer w that transmits the selection result of the first dot product unit (IPU type 1) to the estimation module SSE as sparse.
  • a second sorting unit stores the index of the sparse solution, which is the estimation result of the sparse solution estimation module (SSE), in the index buffer.
  • An index buffer stores the column vector index from the first sorting unit and the sparse solution index from the second sorting unit.
  • the index buffer reduces the operation of the processor and speeds up the processor by allowing a predetermined number of memory areas to be created in the sensing matrix unit according to a preset rule.
  • the Cholesky decomposition module mounted on the process body of the SP device basically includes a Cholesky inverse matrix unit (CIU) that decomposes a matrix stored in a Gram matrix buffer (GMB), and a Cholesky inverse matrix unit ( and a sparse row estimation module (SSE) for estimating a sparse solution of a Gram matrix value stored in a Gram matrix buffer (GMB) based on the calculation result of the CIU).
  • CIU Cholesky inverse matrix unit
  • SSE sparse row estimation module
  • the Scholastic decomposition module includes a plurality of processing element (PE) groups and a C-buffer, a D - buffer, and a buffer controller. (buffer controller) is provided.
  • C-buffer is a Gram matrix buffer (GMB), and C denotes a Gram matrix.
  • Each operation module group (PE group) is composed of K operation modules (PE), and there are a total of K/4 groups.
  • Each operation module group includes a plurality of operation modules (PE 1 , PE 2 , PE 3 , ..., PE K , PE R ) and a multiplexer (MUX).
  • PE 1 , PE 2 , PE 3 , ..., PE K , PE R a multiplexer
  • MUX multiplexer
  • the output value of the operation modules is the Scholastic decomposition value of each row vector, and the inverse matrix element ( ), an element of the lower triangular matrix ( ) and inverse matrix elements ( )am.
  • the inverse of the diagonal matrix is the D-buffer ( Buffer), and the lower triangular matrix element and the lower triangular matrix inverse matrix element are transferred to the buffer controller and stored in a buffer inside another operation module (see FIG. 4 ).
  • Buffer D-buffer
  • the lower triangular matrix element and the lower triangular matrix inverse matrix element are transferred to the buffer controller and stored in a buffer inside another operation module (see FIG. 4 ).
  • These values can be reused for other PE groups or the corresponding PE group.
  • a temporary value generated during calculation (in Fig. 6) value) is also broadcasted to all operation modules in the PE group to transmit to other operation modules.
  • Lines at the top of the operation modules PE 1 , PE 2 , PE 3 ,..., PE K indicate propagated values, and some of the propagated values are used in the corresponding operation module.
  • each operation module is composed of two buffers, two accumulators, and a multiply and accumulate (MAC) unit, and the values stored in each buffer depend on the aforementioned buffer controller.
  • the MAC unit may correspond to an arithmetic logic unit (ALU).
  • the MAC unit includes two accumulators, a multiplier and an adder, and may be implemented to output X and Y with respect to inputs A, B, C and 0, for example.
  • FIG. 6 exemplifies the operation timing of the Scholesky decomposition module according to the present embodiment. That is, how the fourth row vector in the gram matrix buffer is sequentially calculated when transferred to the PE group is illustrated in FIG. 6 .
  • the Scholesky decomposition of the matrix composed of the 1st to 3rd row vectors is already completed, and the inverse matrix element values are already calculated.
  • the calculated values are stored in a buffer in the operation module at an appropriate location by the buffer controller.
  • values above each row of the table are values generated by the first PE group, and values in each of the rows below the table are values generated by another PE group.
  • the decomposition of the fourth row vector is not all completed, but it can be seen that the decomposition of the fifth row vector starts.
  • the time at which the decomposition of the fifth row vector starts may be determined in consideration of the time when all data necessary to decompose the fifth row vector are prepared.
  • FIG. 7 is an exemplary diagram for explaining a process of estimating a sparse vector by combining a previous support vector and a new support vector in the subspace tracking apparatus according to the present embodiment.
  • FIG. 8 is an exemplary diagram for explaining a process of updating the residual vector following the sparse vector estimation process of FIG. 7 .
  • the subspace tracking (SP) device combines the support vector determined in the previous iteration and the new support vector selected in the current iteration to obtain a sparse vector. Make a sparse estimate.
  • the scarcity (K) is 2. Only the largest K of sparse vectors, i.e., two support vectors, are left.
  • the process of updating the residual vector corresponds to the process of modifying the residual vector at the end of the subspace estimation (SP) process.
  • the above-described sparse vector estimation process can be solved through the least squares method as an overdetermined system of equations.
  • the least squares method requires the computation of a pseudo-inverse matrix, which is performed in the Scholesky decomposition module.
  • the accurate residual vector is calculated only when both processes shown in FIGS. 7 and 8 are sequentially performed, but in this embodiment, the 2K-dimensional sparse vector value generated as a result of FIG.
  • the calculation can be simplified and the delay time can be greatly reduced.
  • FIG. 9 is an exemplary diagram of a basic algorithm of a compression sensing restoration process of the subspace tracking apparatus of FIG. 2 .
  • FIG. 10 is an exemplary diagram of a modified vehicle vector calculation process that can be employed in the basic algorithm of FIG. 9 .
  • SP subspace tracking
  • the process of using the least squares method in the SP algorithm is handled by the Scholesky decomposition module of FIG. 3 .
  • the residual vector approximation is processed by replacing the residual vector (y, A, Sk) processing process of FIG. 9 with the modified residual_modified vector processing process of FIG. 10 .
  • the residual vector is transferred to the first dot product unit (IPU type 1) of FIG. 2 by skipping the Scholesky decomposition module of FIG. 3, and the next iteration is performed begins
  • the Scholesky decomposition module of FIG. 3 is a structure that decomposes the entire Gram matrix by adding row vectors one by one.
  • the Gram matrix consisting of a new support vector selected as a result of the sparse vector tracking process of FIG.
  • For the Scholastic decomposition of the gram matrix extended by it is possible to reduce the delay time by performing the decomposition of the gram matrix generated as a result of the sparse vector tracking process of FIG. 7 in advance.
  • the residual vector is approximated by the residual vector calculation method of FIG. 10 and transmitted to the first dot product unit (IPU type1) of FIG. 2 through the residual calculation unit, and the next iteration is started and the Scholesky decomposition module of FIG. 3 It is implemented to start the Scholesky decomposition of the Gram matrix before the next support vector is added.
  • FIG. 11 is a flowchart illustrating an entire compression sensing restoration process of the subspace tracking device of FIG. 2 .
  • a correlation between a sensing matrix and a residual vector is first measured (first step, S111).
  • K column vector numbers having the greatest correlation are set as the support set (second step, S112). where K is the sparsity level.
  • the sparse vector is traced by the least squares method based on the support set (third step, S114).
  • the residual vector is updated based on the tracked sparse vector (fourth step, S115).
  • the first processing is performed through the first to fourth steps.
  • the number of K sparse vectors is set as a support set according to the largest order among the sparse vectors tracked in the fifth step (S117) (sixth step, S118).
  • the residual vector is approximated based on the support set including the K supports set in the sixth step (S118) (the seventh step, S119).
  • the Scholeschi decomposition is performed again in parallel (S121), and some steps (S111, S112, S113, S116 to S120) are sequentially repeated (eighth) step).
  • FIG. 12 is a diagram illustrating a comparison of block error rates between the parallel SP processor of this embodiment and the theoretical SP device of the comparative example.
  • FIG. 13 is a view showing the processing speed of the subspace tracking device for compression sensing restoration of the present embodiment together with a comparative example.
  • the left bar graph shows the number of clock cycles consumed when the basic SP algorithm is implemented in hardware
  • the middle bar graph shows the number of clock cycles consumed when the residual vector approximation of FIG. 10 is used for the basic SP
  • the right bar graph shows the middle It shows the clock cycle measured when the parallel Scholeschi decomposition is further applied to the implementation condition of the bar graph. It can be seen that the present example (refer to the right bar graph) achieves a delay time reduction of about 62% compared to the comparative example (basic SP).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

압축 센싱 복원을 위한 부공간 추종 장치가 개시된다. 압축 센싱 복원을 위한 부공간 추종 장치는 잔차 계산 유닛에 저장되어 있는 잔차 벡터와 센싱 매트릭스 메모리에 저장되어 있는 센싱 행렬의 열 벡터들과의 내적을 수행하며 상관관계를 계산하는 제1 내적 유닛과, 제1 내적 유닛의 출력단에 연결되고 제1 내적 유닛에서 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K(희소성 레벨) 개의 열 벡터 인덱스를 선택하는 제1 정렬 유닛과, 센싱 행렬 메모리의 센싱 행렬로부터, 희소 해(sparse solution) 추정 과정에서 최소제곱법 문제를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼에 저장하는 제2 내적 유닛과, 그람 행렬 버퍼에 저장되어 있는 행렬을 숄레스키 분해하고 분해된 행렬의 역행렬을 계산하는 숄레스키 역행렬 유닛과, 계산된 역행렬에 기초하여 그람 행렬 버퍼에 있는 행렬의 행렬 값에서 희소해를 추정하는 희소해 추정모듈을 포함한다.

Description

압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법
본 발명은 압축 센싱(compressive sensing)에서 센싱된 측정 벡터(measurement vector) 또는 입력 신호로부터 희소 벡터(sparse vector)를 효과적으로 복원할 수 있는 압축 센싱 복원을 위한 저지연 부공간 추종(subspace pursuit) 장치 및 방법에 관한 것이다.
압축 센싱(compressive sensing, CS)은 특정 도메인(sparsifying domain)에서 일부 계수로만 표현이 가능한 희소 신호(sparse signal)를 나이퀴스트(Nyquist) 주파수보다 낮은 주파수에서 샘플링이 가능하게 한다.
나이퀴스트 샘플링을 하는 경우, 최대 주파수의 두 배 이상의 주파수로 샘플링하여 신호를 다 알아낸 뒤에 적절한 변환을 거쳐 일부 계수만 선택하여 압축을 진행할 수 있는데, 압축 센싱은 나이퀴스트 주파수로 샘플링한 뒤에 압축하는 것이 아니라 센싱(sensing) 단계에서 압축된 측정 벡터(measurement vector)를 얻을 수 있다.
측정 벡터는 도 1에 도시한 바와 같이 측정 행렬(measurement matrix) 또는 센싱 행렬(sensing matrix)과 희소 벡터(sparse vector)의 곱으로 표현되는데, 센싱된 측정 벡터로부터 희소 벡터를 알아내는 알고리즘이 압축 센싱(CS) 복원 알고리즘이다.
기존의 압축 센싱 복원에서는 빠른 복원을 위해 그리디(greedy) 알고리즘을 많이 사용하며, 그 중 직교 매칭 퍼슛(orthogonal matching pursuit, OMP)이 많이 사용되고 있다.
OMP는 반복적 그리디 알고리즘으로 매 반복마다 잔차 벡터(residual vector)와 센싱 행렬의 열벡터 사이의 상관관계(correlation)가 가장 큰 열벡터를 서포트 벡터로 선택한다. 선택된 서포트 벡터들의 생성공간(span)으로 잔차 벡터를 사영(projection)하여 희소 벡터 즉, 희소 해(sparse solution)를 추정하고, 잔차 벡터를 갱신한다. 즉, OMP에서 첫 번째 반복에서 잔차 벡터는 측정 벡터와 동일한 값이며, 반복이 진행되면서 선택된 서포트 벡터가 기여하는 값이 제거된다. 이러한 과정을 반복하여 최종적으로 희소 벡터의 위치와 값이 복원된다.
OMP가 포함하는 벡터 연산이나, 최소제곱법 문제(least-squares problem, LSP)를 위한 의사 역행렬 계산은 소프트웨어로 구현하는 경우, 긴 지연 시간을 가진다. 이를 해결하기 위해 현재 많은 하드웨어 가속기가 제시되어 있다.
OMP의 경우, 한 번의 반복마다 하나의 서포트 벡터가 추가되는데, 이후 반복 과정에서 수정되지 않으며, 이로 인해 과거에 잘못 결정된 서포트 벡터에 의한 에러 전파 문제가 존재한다.
이러한 문제를 해결 하기 위해 제시된 알고리즘 중 가장 널리 사용되는 알고리즘은 부공간 추종(subspace pursuit, SP)이다. SP는 각 반복마다 희소 벡터의 희소 인자의 개수(희소성, sparsity)인 K개 만큼의 서포트 벡터를 뽑은 뒤, 과거에 뽑은 K개의 서포트 벡터와 합쳐, 그 중(최대 2K개 중) 가장 기여도가 큰 K개의 서포트 벡터를 추려내는 과정을 거치며, 이를 통해 잘못 선택된 서포트 벡터를 바로잡을 수 있다.
하지만, SP를 지원하는 하드웨어 구현은 현재 존재하지 않는다. 또한, OMP의 하드웨어를 SP에 동일하게 사용하는 경우, 그 하드웨어는 병렬화가 되어 있지 않아 긴 지연 시간을 갖게 되므로 SP에 맞게 수정해 주어야 한다.
본 발명은 전술한 종래 기술의 요구에 부응하기 위한 것으로, 본 발명의 목적은 압축 센싱(compressive sensing)에서 센싱된 측정 벡터(measurement vector) 또는 입력 신호로부터 희소 벡터(sparse vector)를 복원할 수 있는 압축 센싱 복원용 저지연 부공간 추종(subspace pursuit) 장치 및 방법을 제공하는 데 있다.
본 발명의 다른 목적은 부공간 추종을 압축 센싱 복원 알고리즘으로 사용하고 숄레스키 분해를 최소제곱법 문제 해결에 사용하면서 병렬 숄레스키 분해를 지원하기 위해 병렬 하드웨어를 구성한 압축 센싱 복원용 저지연 부공간 추종 장치 및 방법을 제공하는 데 있다.
본 발명의 또 다른 목적은 부공간 추종을 압축 센싱 복원 알고리즘으로 사용하고, 잔차 벡터 업데이트 과정에서 하나의 최고제곱법 문제를 건너뛰고 다음 반복을 수행하여 숄레스키 분해 모듈과 병렬적으로 상호관계 값을 찾는, 압축 센싱 복원용 저지연 부공간 추종 장치 및 방법을 제공하는 데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 측면에 따른 압축 센싱 복원을 위한 부공간 추종(subspace pursuit) 장치는, 압축 센싱(compressive sensing) 복원을 위한 부공간 추종(subspace pursuit) 장치로서,
잔차 계산 유닛(residual calculation unit, RCU)에 저장되어 있는 잔차 벡터와 센싱 행렬 메모리(sensing matrix memory)에 저장되어 있는 센싱 행렬의 열 벡터들과의 내적을 수행하며 상관관계를 계산하는 제1 내적 유닛(inner product unit type 1);
상기 제1 내적 유닛의 출력단에 연결되고 상기 제1 내적 유닛에서 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K 개의 열 벡터 인덱스를 선택하는 제1 정렬 유닛(sorter & merger)-여기서, 상기 K는 희소성 레벨(sparsity level)임-;
상기 센싱 행렬 메모리의 상기 센싱 행렬로부터, 희소 해(sparse solution) 추정 과정에서 최소제곱법 문제(least-squares problem, LSP)를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼(gram matrix buffer)에 저장하는 제2 내적 유닛;
상기 그람 행렬 버퍼에 저장되어 있는 행렬을 숄레스키 분해하고, 분해된 행렬의 역행렬을 계산하는 숄레스키 역행렬 유닛; 및
상기 역행렬에 기초하여 상기 행렬의 행렬 값에서 희소해를 추정하는 희소해 추정모듈;을 포함한다.
일실시예에서, 상기 제1 정렬 유닛은 새롭게 선택된 서포트 집합(support set)과 기존의 서포트 집합의 합집합에서 가장 우세한 K개의 서포트를 선택한다. 그리고 상기 잔차 계산 유닛은 앞서 선택된 K개의 서포트를 포함한 서포트 집합과 상기 희소해 추정모듈의 희소해 추정 결과에 기초하여 잔차 벡터를 갱신할 수 있다.
일실시예에서, 상기 잔차 계산 유닛은 상기 잔차 벡터의 갱신 시 숄레스키 역행열 계산을 건너뛰어 근사적 잔차 벡터를 생성한다. 여기서 상기 근사적 잔차 벡터는 서포트 탐색 과정에 사용된다.
일실시예에서, 상기 숄레스키 역행렬 유닛은 복수의 연산 모듈들을 각각 구비하는 복수의 연산 모듈(processing element, PE) 그룹들을 구비한다. 여기서 각 PE 그룹은 숄레스키 분해에서 병렬적으로 여러 개의 값을 생성하며, 상기 여러 개의 값은 각 PE 그룹에서 각자의 의존성이 해결되는 대로 생성된다.
일실시예에서, 상기 숄레스키 분해에서는 희소 해(sparse solution) 추정 과정과 서포트 탐색 과정의 결과가 생성되어 다음 반복(iteration)이 수행되도록 각 PE 그룹의 마지막 LSP를 위한 숄레스키 분해를 건너뛰고, 처음의 LSP를 위한 숄레스키 분해의 결과로서 마지막 LSP을 위한 숄레스키 분해의 결과를 근사하여 지연시간을 단축한다.
일실시예에서, 상기 각 PE 그룹의 두번째 LSP를 위한 숄레스키 분해는 다음 반복을 위해, 다음 반복의 서포트 탐색 과정과 병렬적으로 수행된다.
일실시예에서, 상기 숄레스키 역행렬 유닛과 상기 희소해 추정모듈을 포함하는 숄레스키 분해 모듈은 각 PE 그룹의 복수의 연산 모듈들에 각각 연결되는 상기 그람 매트릭스 버퍼, 상기 각 PE 그룹의 출력 값을 저장하는 D 버퍼, 및 버퍼들의 동작을 제어하는 버퍼 컨트롤러를 더 구비한다.
일실시예에서, 상기 복수의 연산 모듈들 각각은 상기 숄레스키 분해의 결과인 행렬과 상기 행렬의 역행렬을 계산하여 얻은 역행렬 요소 값을 버퍼 컨트롤러에 의해 지정되는 위치에 저장하는 내부 버퍼들을 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 측면에 따른 압축 센싱 복원을 위한 부공간 추종 방법은, 제1 내적 유닛(inner product unit type 1)에 의해 잔차 계산 유닛(residual calculation unit, RCU)에 저장되어 있는 잔차 벡터와 센싱 행렬 메모리(sensing matrix memory)에 저장되어 있는 센싱 행렬의 열 벡터들과의 내적을 수행하여 상관관계를 계산하는 단계; 상기 제1 내적 유닛의 출력단에 연결되는 제1 정렬 유닛에 의해 상기 제1 내적 유닛에서 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K개의 열 벡터 인덱스를 선택하는 단계-여기서, 상기 K는 희소성 레벨(sparsity level)임-; 상기 센싱 행렬 메모리에 연결되는 제2 내적 유닛에 의해 희소 해(sparse solution) 추정 과정에서 최소제곱법 문제(least-squares problem, LSP)를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼(gram matrix buffer)에 저장하는 단계; 상기 그람 행렬 버퍼에 연결되는 숄레스키 역행렬 유닛에 의해 상기 그람 행렬 버퍼에 저장되어 있는 행렬을 숄레스키 분해하고 분해된 행렬의 역행렬을 계산하는 단계; 및 상기 숄레스키 역행렬 유닛에 연결되는 희소해 추정모듈에 의해 상기 역행렬에 기초하여 상기 그람 행렬 버퍼에 있는 행렬의 행렬 값에서 희소해를 추정하는 단계;를 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 측면에 따른 압축 센싱 복원을 위한 부공간 추종 방법은, 센싱 행렬과 잔차 벡터의 상관관계를 측정하는 제1 단계; 상기 상관관계의 측정으로 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K개의 열 벡터 번호를 서포트 집합으로 설정하는 제2 단계-여기서 상기 K는 희소성 레벨(sparsity level)임-; 상기 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추적하는 제3 단계; 상기 추적된 희소 벡터에 기초하여 잔차 벡터를 업데이트하는 제4 단계; 상기 제4 단계 후의 반복 과정에서 상기 제1 단계와 상기 제2 단계의 반복 후에 병렬 수행 중인 숄레스키 분해가 종료되면, 재설정된 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추적하는 제5 단계; 상기 제5 단계에서 추적된 희소 벡터가 큰 K개의 번호를 서포트 집합으로 설정하는 제6 단계; 상기 제6 단계에서 설정된 K개의 서포트를 포함하는 서포트 집합에 기초하여 잔차 벡터를 근사화하는 제7 단계; 및 상기 잔차 벡터가 임계값보다 작을 때까지 숄레스키 분해를 다시 병렬 수행하며 상기 제1, 제2, 제5, 제6, 제7 단계들을 순차적으로 반복하는 제8 단계를 포함한다.
일실시예에서, 제5 단계는 상기 상관관계와 숄레스키 역행렬 유닛의 계산 결과에 기초하여 수행된다.
일실시예에서, 상기 제6 단계에서는 새롭게 선택된 서포트 집합과 기존의 서포트 집합의 합집합에서 상기 K개의 서포트를 선택한다.
일실시예에서, 상기 숄레스키 분해에서 역행렬 계산을 수행하는 숄레스키 역행렬 유닛은 복수의 연산 모듈(processing element, PE)을 각각 구비하는 복수의 PE 그룹에 의해 병렬적으로 여러 개의 값을 생성하며, 상기 여러 개의 값은 각 PE 그룹에서 각자의 의존성이 해결되는 대로 생성된다.
일실시예에서, 상기 희소 벡터 또는 희소 해(sparse solution)의 추정 과정과 서포트 탐색 과정의 결과가 생성되어 다음 반복(iteration)이 수행되도록 상기 숄레스키 분해는 상기 각 PE 그룹의 마지막 최소제곱법 문제(least-squares problem, LSP)를 위한 숄레스키 분해를 건너뛰고, 처음의 LSP를 위한 숄레스키 분해의 결과로서 마지막 LSP을 위한 숄레스키 분해의 결과를 근사한다.
전술한 압축 센싱 복원을 위한 부공간 추종 장치 및 방법을 사용하는 경우에는, 압축 센싱(compressive sensing)에서 센싱된 측정 벡터(measurement vector) 또는 입력 신호로부터 희소 벡터(sparse vector)를 복원하기 위해 필요한 저지연 부공간 추종(subspace pursuit, SP) 장치 및 방법을 제공할 수 있다.
또한, 본 발명에 의하면, 압축 센싱을 사용하는 채널 추정 및 심볼 감지를 비롯한 무선통신, 생체 신호 분석을 위한 센서 네트워크 등에 효과적으로 활용할 수 있는 저지연 부공간 추종 프로세서를 제공할 수 있다.
도 1은 종래의 압축 센싱(compressive sensing)에서의 측정 벡터 모델에 대한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 압축 센싱 복원을 위한 부공간 추종(subspace pursuit, SP) 장치의 하드웨어 전체 구조에 대한 블록도이다.
도 3은 도 2의 압축 센싱 복원을 위한 부공간 추종 장치에 이용하는 숄레스키 분해(Cholesky decomposition) 모듈에 대한 블록도이다.
도 4는 도 3의 숄레스키 분해 모듈에 구비되는 연산 모듈(processing element)에 대한 블록도이다.
도 5는 도 4의 연산 모듈에 채용할 수 있는 내부 MAC 유닛의 구성에 대한 예시도이다.
도 6은 도 3의 숄레스키 분해 모듈의 순차적인 계산 동작을 설명하기 위한 예시도이다.
도 7은 본 실시예의 부공간 추종 장치에서 이전 서포트 벡터와 새로운 서포트 벡터를 합쳐 희소 벡터를 추정하는 과정을 설명하기 위한 예시도이다.
도 8은 도 7의 희소 벡터 추정 과정에 이어서 잔차 벡터를 갱신하는 과정을 설명하기 위한 예시도이다.
도 9는 도 2의 부공간 추종 장치의 압축 센싱 복원 과정의 기본 알고리즘에 대한 예시도이다.
도 10은 도 9의 기본 알고리즘에 채용할 수 있는 수정된 전차 벡터 계산 과정에 대한 예시도이다.
도 11은 도 2의 부공간 추종 장치의 전체 압축 센싱 복원 과정을 나타낸 흐름도이다.
도 12는 본 실시예의 병렬 SP 프로세서와 비교예의 이론적 SP 장치의 블록 오차율을 비교하여 나타낸 도면이다.
도 13은 본 실시예의 압축 센싱 복원을 위한 부공간 추종 장치의 처리 속도를 비교예와 함께 나타낸 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명을 도면을 참조하여 상세히 설명하기에 앞서 먼저 본 발명의 주요 특징을 간략히 설명하면 다음과 같다.
본 발명은 압축 센싱(compressive sensing, CS) 복원 알고리즘 중 하나인 부공간 추종(subspace pursuit, SP)를 수행함에 있어서 희소 벡터의 추정을 위한 최소제곱법 문제 해결에 병렬 숄레스키(Cholesky) 분해 모듈을 사용하고, 포워딩된 근사적인 잔차 벡터를 서포트 선택 과정에 사용한다.
본 발명은 최소제곱법 문제(least-squares problem, LSP) 해결을 위한 의사역행렬(pseudo-inverse) 계산을 위해 숄레스키 분해를 수행하는데, 하드웨어 자원을 추가하여 병렬적으로 수행하는 경우 숄레스키 분해를 선형 시간 안에 수행할 수 있음에 기반한다.
본 발명은, 희소성 레벨이 K인 경우, SP 알고리즘이 새롭게 선택된 서포트 집합(support set)과 기존의 서포트 집합의 합집합에서 가장 우세한 K개의 서포트를 선택하는 과정과 이러한 서포트 선택 과정을 통해 결정된 서포트 집합을 바탕으로 잔차 벡터를 갱신하는 과정을 포함하고, 그리고 연속적인 두 과정에서 모두 LSP를 푼다는 것에 기반한다.
또한, 연속적인 두 과정의 결과가 생성되어야 다음 반복(iteration)이 수행될 수 있으므로, 마지막 LSP를 건너뛰고, 처음의 LSP로 마지막 LSP의 결과를 근사하여 지연시간을 줄일 수 있음에 기반한다.
한편, 두번째 LSP 과정에 수반되는 숄레스키 분해의 결과는 다음 반복(iteration)을 위해 필요하므로, 두번째 LSP를 수행하지 않을 순 없고, 따라서 다음 반복(iteration)의 서포트 탐색 과정과 함께 숄레스키 분해를 병렬적으로 수행함에 기반한다.
이하, 본 발명의 바람직한 실시예를, 첨부한 도면들을 참조하여 보다 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 압축 센싱 복원을 위한 부공간 추종(subspace pursuit, SP) 장치의 하드웨어 전체 구조에 대한 블록도이다. 도 3은 도 2의 압축 센싱 복원을 위한 부공간 추종 장치에 이용하는 숄레스키 분해(Cholesky decomposition) 모듈에 대한 블록도이다. 도 4는 도 3의 숄레스키 분해 모듈에 구비되는 연산 모듈(processing element)에 대한 블록도이다. 도 5는 도 4의 연산 모듈에 채용할 수 있는 내부 MAC 유닛의 구성에 대한 예시도이다. 그리고 도 6은 도 3의 숄레스키 분해 모듈의 순차적인 계산 동작을 설명하기 위한 예시도이다.
도 2를 참조하면, 본 실시예에 따른 부공간 추종(SP) 장치의 하드웨어 전체 구조는 센싱 행렬을 저장하는 메모리 즉, 센싱 행렬 메모리(sensing matrix memory, SMM)와 프로세서 본체를 구비한다. 프로세서 본체는 잔차 계산 유닛(residual calculation unit, RCU), 제1 내적 유닛(Inner product unit, IPU (type 1)), 정렬 유닛(sorter & merger)(이하 제1 정렬 유닛이라고도 함), 인덱스 버퍼(index buffer), 제2 내적 유닛(IPU (type 2)), 그람 행렬 버퍼(gram matrix buffer, GMB), 숄레스키 역행렬 유닛(Cholesky inversion unit, CIU), 희소해 추정모듈(sparse solution estimator, SSE), 정렬 유닛(sorter)(이하 제2 정렬 유닛이라고도 함), 컨트롤 경로(control path1, control path2)를 구비한다. 센싱 행렬 메모리(sensing matrix memory, SMM)는 간략히 센싱 행렬 유닛으로 지칭한다.
SP 장치는 컨트롤 시퀀서의 동작을 제어하기 위한 시스템 마이크로코드나 명령을 입력, 저장 및 실행하는 탑 컨트롤(top control) 또는 탑 컨트롤 시퀀서를 포함할 수 있다. 또한, SP 장치는 외부 장치로부터 전송되는 신호를 수신하는 신호 수신부나 내부 신호를 전달하는 신호 전달부를 구비할 수 있다. 그리고 프로세서 본체와 메모리는 시스템 버스를 통해 연결될 수 있다.
좀더 구체적으로, 잔차 계산 유닛(RCU)은 희소해 추정모듈(sparse solution estimator, SSE)의 추정 결과에 대응되는 잔차 벤터를 계산하여 저장한다. 잔차 계산 유닛(RCU)은 소정의 버퍼나 메모리 등에서 입력되는 관측값(y)과 대응되는 추정 결과와 관측값과의 차이를 잔차 벡터로 저장할 수 있다.
제1 내적 유닛(IPU type 1)은 잔차 계산 유닛(RCU)에 저장되어 있는 잔차 벡터와 센싱 행렬 메모리(SMM)에 저장되어 있는 센싱 행렬의 열 벡터들과 내적을 수행하여 이들의 상관 관계를 계산한다.
제1 내적 유닛(IPU type 1)에서 계산된 상관관계 값들은 제1 내적 유닛의 출력단에 뒤이어 연결되어 있는 제1 정렬 유닛(sorter & merger)에 전달되며, 제1 정렬 유닛에서 가장 상관관계가 큰 K개의 열 벡터 인덱스가 선택된다. 여기서 K는 희소성 레벨(sparsity level)이다. 제1 정렬 유닛의 선택 결과는 인덱스 버퍼(index buffer)에 저장되고 인덱스 버퍼의 저장 데이터는 센싱 행렬 유닛의 저장 데이터를 갱신하는데 사용된다.
제2 내적 유닛(IPU type 2)은 센싱 행렬 유닛에 저장되어 있는 센싱 행렬로부터 희소 해(sparse solution) 추정 과정에서 최소제곱근 문제(least-squares problem, LSP)를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼(GMB)에 저장한다.
숄레스키 역행렬 유닛(CIU)은 그람 행렬 버퍼(GMB)에 연결되어 그람 행렬 버퍼에 저장되어 있는 행렬의 숄레스키 역행렬을 계산한다. 숄레스키 역행렬 유닛(CIU)은 제2 내적 유닛(IPU type 2)의 신호에 따라 동기화하여 단위 동작을 수행할 수 있다.
희소해 추정모듈(SSE)은 숄레스키 역행열 유닛(CIU)의 계산 결과에 기초하여 그람 행렬 버퍼에 저장된 그람 행렬 값으로부터 최소제곱법을 통해 희소해(sparse solution)을 추정한다. 희소해 추정모듈(SSE)의 추정 결과로서 잔차 계산 유닛(RCU)에 전달된다.
또한 희소해 추정모듈(SSE)은 제1 내적 유닛(IPU type 1)에서 선택된 K개의 열 벡터 인덱스에 기초하여 희소해를 추정할 수 있다. 이 경우, 프로세서 본체는 제1 내적 유닛(IPU type 1)의 선택 결과를 희소해 추정모듈(SSE)에 전달하는 버퍼(w)를 구비할 수 있다.
제2 정렬 유닛(sorter)은 희소해 추정모듈(SSE)의 추정 결과인 희소해의 인덱스를 인덱스 버퍼에 저장한다.
인덱스 버퍼(index buffer)는 제1 정렬 유닛으로부터의 열 벡터 인덱스와 제2 정렬 유닛으로부터의 희소해 인덱스를 저장한다. 인덱스 버퍼는 미리 설정된 규칙에 따라 정해지는 개수의 메모리 영역들이 센싱 행렬 유닛에 생성되도록 하여 프로세서의 연산을 줄이고 속도를 빠르게 해 준다.
본 실시예에 따른 SP 장치의 프로세스 본체에 탑재되는 숄레스키 분해 모듈은 기본적으로 그람 행렬 버퍼(GMB)에 저장되어 있는 행렬을 숄레스키 분해하는 숄레스키 역행렬 유닛(CIU)과, 숄레스키 역행렬 유닛(CIU)의 계산 결과에 기초하여 그람 행렬 버퍼(GMB)에 저장된 그람 행렬 값의 희소해를 추정하는 희소행 추정 모듈(SSE)을 포함한다.
좀더 구체적으로 살펴보면, 숄레스키 분해 모듈은 도 3에 도시한 바와 같이 복수의 연산모듈(processing element, PE) 그룹들과 C-버퍼(C buffer), D-버퍼(D-1 buffer) 및 버퍼 컨트롤러(buffer controller)를 구비한다. 도 3에서 C-버퍼는 그람 행렬 버퍼(GMB)이고 C는 그람 행렬을 나타낸다.
각 연산모듈 그룹(PE group)은 K개의 연산모듈(PE)로 구성되며, 총 K/4개의 그룹이 존재한다. 각 연산모듈 그룹은 복수의 연산모듈들(PE1, PE2, PE3,…, PEK, PER)과 멀티플렉서(multiplexer, MUX)를 구비한다. 그람 행렬 버퍼에서 각 반복(iteration)마다 행 벡터가 하나씩 연산모듈 그룹으로 전달된다.
연산모듈들(PEs)의 출력값은 각 행벡터의 숄레스키 분해 값으로 대각행렬의 역행렬 요소(
Figure PCTKR2020016982-appb-I000001
), 하삼각행렬(lower triangular matrix)의 요소(
Figure PCTKR2020016982-appb-I000002
) 및 역행렬 요소(
Figure PCTKR2020016982-appb-I000003
)이다. 대각행렬의 역행렬 값은 D-버퍼(
Figure PCTKR2020016982-appb-I000004
Buffer)에 저장되고, 하삼각행렬 요소와 하삼각행렬 역행렬 요소는 버퍼 컨트롤러에 전달되어 다른 연산모듈 내부의 버퍼에 저장된다(도 4 참조). 이 값들은 다른 PE 그룹이나 해당 PE 그룹에 다시 사용될 수 있다. 또한 계산 도중 생성되는 임시값(도 6에서의
Figure PCTKR2020016982-appb-I000005
값) 역시 다른 연산모듈에 전달하기 위해 PE 그룹 내 전체 연산모듈에 전파(broadcasting)된다.
연산모듈들(PE1, PE2, PE3,…, PEK) 상단의 선들은 전파되는 값들을 나타내며, 전파되는 값 중 일부 값이 해당 연산모듈에서 사용된다.
각 연산모듈의 내부 구조는 도 4에 도시한 바와 같다. 도 4에서 연산모듈(PEK)은 두 개의 버퍼(buffer)와 두 개의 누산기(accumlulator) 및 MAC(multiply and accumulate) 유닛으로 구성되며, 각 버퍼에 저장되는 값들은 전술한 버퍼 컨트롤러에 의존적이다. MAC 유닛은 연산장치(arithmetic logic unit, ALU)에 대응될 수 있다.
MAC 유닛의 내부 구조를 예시하면 도 5와 같다. 도 5에서 MAC 유닛은 두 개의 누산기(accumlulator), 곱셈기(multiplier) 및 덧셈기(adder)를 포함하고, 일례로 입력 A, B, C 및 0에 대하여 X, Y를 출력하도록 구현될 수 있다.
본 실시예에 따른 숄레스키 분해 모듈의 작동 타이밍을 예시하면 도 6과 같다. 즉, 그람 행렬 버퍼에서 4번째 행 벡터가 PE 그룹으로 전달되었을 때 어떻게 순차적으로 계산되는지가 도 6에 예시된다.
다시 말해서, 4번째 행 벡터가 전달되기 전, 1~3번째 행 벡터로 구성되는 행렬은 이미 숄레스키 분해가 완료되고, 역행렬 요소 값도 이미 계산 완료된다. 계산된 값들은 버퍼 컨트롤러에 의해 적절한 위치의 연산모듈 내 버퍼에 저장된다.
또한, 도 6에서 표의 각 행에서 위쪽에 있는 값들은 제1 PE 그룹에서 생성하는 값들이고, 그 아래쪽 행들 각각에 있는 값들은 또 다른 PE 그룹에서 생성하는 값들이다. 본 실시예에서는 병렬적으로 PE 그룹들이 구성되어 있어 네번째 행 벡터의 분해가 모두 완료되지 않았지만, 다섯번째 행 벡터의 분해가 시작되는 것을 알 수 있다. 여기서, 다섯번째 행 벡터의 분해가 시작되는 시점은 다섯번째 행 벡터를 분해하기 위해 필요한 데이터가 모두 준비되는 시간을 고려하여 결정될 수 있다.
도 7은 본 실시예의 부공간 추종 장치에서 이전 서포트 벡터와 새로운 서포트 벡터를 합쳐 희소 벡터를 추정하는 과정을 설명하기 위한 예시도이다. 그리고 도 8은 도 7의 희소 벡터 추정 과정에 이어서 잔차 벡터를 갱신하는 과정을 설명하기 위한 예시도이다.
도 7에 예시한 바와 같이, 부공간 추종(SP) 장치는 이전 반복(iteration)에서 결정된 서포트 벡터(previous support vector)와 현재 반복(iteration)에서 뽑은 서포트 벡터(new support vector)를 합쳐 희소 벡터를 추정(sparse estimate)한다. 도 7의 경우, 희소성(K)은 2이다. 희소 벡터 중 가장 큰 K개 즉 2개의 서포트 벡터만 남겨져 있다.
잔차 벡터를 갱신하는 과정은 부공간 추정(SP) 과정의 마지막에 잔차 벡터를 수정하는 과정에 대응된다.
구체적으로, 도 8에 도시한 바와 같이 희소 벡터의 추종(sparse estimate) 과정에 나타난 서포트 벡터 추정을 통해 K개의 서포트 벡터만 남기게 되고, 이 서포트 벡터들(previous support vector)로 측정 벡터(measurement vector)를 잘 묘사하는 희소 벡터를 최소제곱근 문제(LSP)를 통해 구한다. 그런 다음, 측정 벡터(measurement vector)와 복원된 희소 벡터의 차이를 잔차 벡터(residual vector)로 갱신한다.
전술한 희소 벡터 추정과정은 과결정(overdetermined) 연립방정식으로 최소제곱법을 통해 풀 수 있다. 최소제곱법에서는 의사 역행렬 계산이 필요하고, 이는 숄레스키 분해 모듈에서 수행된다.
이와 같이 기본적으로 잔차 벡터의 계산은 도 7 및 도 8에 나타낸 두 과정을 순차적으로 모두 거쳐야 정확한 잔차 벡터가 계산되지만, 본 실시예에서는 도 7의 결과로 생성된 2K 차원의 희소 벡터 값을 도 8의 결과로 생성된 K차원의 희소 벡터 값으로 근사하여 계산함으로써 계산을 단순화하고 그에 의해 지연시간을 크게 감소시킬 수 있다.
도 9는 도 2의 부공간 추종 장치의 압축 센싱 복원 과정의 기본 알고리즘에 대한 예시도이다. 도 10은 도 9의 기본 알고리즘에 채용할 수 있는 수정된 전차 벡터 계산 과정에 대한 예시도이다.
도 9에 도시한 바와 같이, 본 실시예에 따른 압축 센싱 복원을 위한 부공간 추종(SP) 장치에 채용할 수 있는 기본적인 SP 알고리즘을 나타낸다.
SP 알고리즘에서 최소제곱법을 사용하는 과정은 도 3의 숄레스키 분해 모듈에서 담당한다. 그리고 잔차 벡터 근사는 도 9의 잔차 벡터(y, A, Sk) 처리 과정을 도 10의 수정된 잔차(residual_modified) 벡터 처리 과정으로 대체하여 처리된다.
즉, 도 10에 도시한 방식을 통해 잔차 벡터 계산 시, 도 3의 숄레스키 분해 모듈을 건너뛰어 도 2의 제1 내적 유닛(IPU type 1)으로 잔차 벡터가 전달되고, 다음 반복(iteration)이 시작된다.
한편, 도 3의 숄레스키 분해 모듈은 행 벡터를 하나씩 추가하며 전체 그람 행렬을 분해하는 구조로서, 도 7의 희소 벡터 추적 과정의 결과로 선택된 새로운 서포트 벡터로 구성되는 그람 행렬과 이후 추가되는 서포트 벡터로 확장되는 그람행렬의 숄레스키 분해를 위해서, 도 7의 희소 벡터 추적 과정의 결과로 생성된 그람 행렬의 분해를 미리 진행해두는 것이 지연시간을 줄일 수 있다.
따라서 도 10의 잔차 벡터 계산 방식으로 잔차 벡터를 근사하여 잔차 계산 유닛을 통해 도 2의 제1 내적 유닛(IPU type1)에 전달하고 다음 반복(iteration)을 시작함과 동시에 도 3의 숄레스키 분해 모듈에서 그 다음의 서포트 벡터가 추가되기 전의 그람 행렬의 숄레스키 분해를 시작하도록 구현된다.
도 11은 도 2의 부공간 추종 장치의 전체 압축 센싱 복원 과정을 나타낸 흐름도이다.
도 11을 참조하면, 본 실시예에 따른 압축 센싱 복원을 위한 부공간 추종 방법은, 먼저 센싱 행렬과 잔차 벡터의 상관관계를 측정한다(제1 단계, S111).
다음, 상관관계의 측정으로 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K개의 열 벡터 번호를 서포트 집합으로 설정한다(제2 단계, S112). 여기서 K는 희소성 레벨(sparsity level)이다.
다음, 첫 번째 반복이면(S113의 예), 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추적한다(제3 단계, S114).
다음, 추적된 희소 벡터에 기초하여 잔차 벡터를 업데이트한다(제4 단계, S115). 제1 내지 제4 단계들을 통해 첫 번째 처리가 수행한다.
제4 단계(S115) 이후의 반복 처리(S113의 아니오) 과정에서 제1 단계(S111)와 제2 단계(S112)의 처리 후에 병렬 수행 중인 숄레스키 분해가 종료되었는지를 판단하고(S116), 재설정된 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추적한다(제5 단계, S117).
다음, 제5 단계(S117)에서 추적된 희소 벡터들 중 큰 순서에 따라 K개의 희소 벡터의 번호를 서포트 집합으로 설정한다(제6 단계, S118).
다음, 제6 단계(S118)에서 설정된 K개의 서포트를 포함하는 서포트 집합에 기초하여 잔차 벡터를 근사화한다(제7 단계, S119).
다음, 잔차 벡터가 임계값보다 작을 때까지(S120), 숄레스키 분해를 다시 병렬 수행하며(S121) 상기의 일부 단계들(S111, S112, S113, S116 내지 S120)을 순차적으로 반복한다(제8 단계).
도 12는 본 실시예의 병렬 SP 프로세서와 비교예의 이론적 SP 장치의 블록 오차율을 비교하여 나타낸 도면이다.
도 12에 도시한 바와 같이 본 실시예의 병렬 SP 프로세서와 비교예의 SP 장치의 희소 벡터 복원 성능을 신호대잡음비(SNR)에 따라 비교하면, 본 실시예(SP proposed)에서는 근사적 잔차 벡터를 사용하지만 비교예(SP baseline)와 거의 일치하는 성능을 보여줌을 알 수 있다.
도 13은 본 실시예의 압축 센싱 복원을 위한 부공간 추종 장치의 처리 속도를 비교예와 함께 나타낸 도면이다.
도 13에서 좌측 막대 그래프는 기본 SP 알고리즘을 하드웨어로 구현했을 때 소모되는 클럭 사이클 수, 중간 막대 그래프는 기본 SP에 도 10의 잔차 벡터 근사법을 사용한 경우 소모되는 클럭 사이클 수, 그리고 우측 막대 그래프는 중간 막대 그래프의 구현 조건에 병렬 숄레스키 분해를 더 적용하였을 때 측정되는 클럭 사이클을 나타낸다. 본 실시예(우측 막대 그래프 참조)는 비교예(기본 SP)에 비해 약 62%의 지연시간 감소를 달성하고 있음을 확인할 수 있다.
이상과 같이 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 압축 센싱(compressive sensing) 복원을 위한 부공간 추종(subspace pursuit) 장치로서,
    잔차 계산 유닛(residual calculation unit, RCU)에 저장되어 있는 잔차 벡터와 센싱 행렬 메모리(sensing matrix memory)에 저장되어 있는 센싱 행렬의 열 벡터들과의 내적을 수행하며 상관관계를 계산하는 제1 내적 유닛(inner product unit type 1);
    상기 제1 내적 유닛의 출력단에 연결되고 상기 제1 내적 유닛에서 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K 개의 열 벡터 인덱스를 선택하는 제1 정렬 유닛(sorter & merger)-여기서, 상기 K는 희소성 레벨(sparsity level)임-;
    상기 센싱 행렬 메모리의 상기 센싱 행렬로부터, 희소 해(sparse solution) 추정 과정에서 최소제곱법 문제(least-squares problem, LSP)를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼(gram matrix buffer)에 저장하는 제2 내적 유닛;
    상기 그람 행렬 버퍼에 저장되어 있는 행렬을 숄레스키 분해하고, 분해된 행렬의 역행렬을 계산하는 숄레스키 역행렬 유닛; 및
    상기 역행렬에 기초하여 상기 행렬의 행렬 값에서 희소해를 추정하는 희소해 추정모듈;을 포함하는 압축 센싱 복원을 위한 부공간 추종 장치.
  2. 청구항 1에 있어서,
    상기 제1 정렬 유닛은 새롭게 선택된 서포트 집합(support set)과 기존의 서포트 집합의 합집합에서 가장 우세한 K개의 서포트를 선택하고,
    상기 잔차 계산 유닛은 앞서 선택된 K개의 서포트를 포함한 서포트 집합과 상기 희소해 추정모듈의 희소해 추정 결과에 기초하여 잔차 벡터를 갱신하는, 압축 센싱 복원을 위한 부공간 추종 장치.
  3. 청구항 2에 있어서,
    상기 잔차 계산 유닛은 상기 잔차 벡터의 갱신 시 숄레스키 역행열 계산을 건너뛰어 근사적 잔차 벡터를 생성하며, 여기서 상기 근사적 잔차 벡터는 서포트 탐색 과정에 사용되는, 압축 센싱 복원을 위한 부공간 추종 장치.
  4. 청구항 1에 있어서,
    상기 숄레스키 역행렬 유닛은 복수의 연산 모듈들을 각각 구비하는 복수의 연산 모듈(processing element, PE) 그룹들을 구비하고, 여기서 각 PE 그룹은 숄레스키 분해에서 병렬적으로 여러 개의 값을 생성하며, 상기 여러 개의 값은 각 PE 그룹에서 각자의 의존성이 해결되는 대로 생성되는, 압축 센싱 복원을 위한 부공간 추종 장치.
  5. 청구항 4에 있어서,
    상기 숄레스키 분해에서는 희소 해(sparse solution) 추정 과정과 서포트 탐색 과정의 결과가 생성되어 다음 반복(iteration)이 수행되도록 각 PE 그룹의 마지막 LSP를 위한 숄레스키 분해를 건너뛰고, 처음의 LSP를 위한 숄레스키 분해의 결과로서 마지막 LSP을 위한 숄레스키 분해의 결과를 근사하여 지연시간을 단축하는, 압축 센싱 복원을 위한 부공간 추종 장치.
  6. 청구항 5에 있어서,
    상기 각 PE 그룹의 두번째 LSP를 위한 숄레스키 분해는 다음 반복을 위해, 상기 다음 반복의 상기 서포트 탐색 과정과 병렬적으로 수행되는, 압축 센싱 복원을 위한 부공간 추종 장치.
  7. 청구항 4에 있어서,
    상기 숄레스키 역행렬 유닛과 상기 희소해 추정모듈을 포함하는 숄레스키 분해 모듈은 각 PE 그룹의 복수의 연산 모듈들에 각각 연결되는 상기 그람 매트릭스 버퍼, 상기 각 PE 그룹의 출력 값을 저장하는 D 버퍼, 및 버퍼들의 동작을 제어하는 버퍼 컨트롤러를 더 구비하는, 압축 센싱 복원을 위한 부공간 추종 장치.
  8. 청구항 7에 있어서,
    상기 복수의 연산 모듈들 각각은 상기 숄레스키 분해의 결과인 행렬과 상기 행렬의 역행렬을 계산하여 얻은 역행렬 요소 값을 버퍼 컨트롤러에 의해 지정되는 위치에 저장하는 내부 버퍼들을 포함하는, 압축 센싱 복원을 위한 부공간 추종 장치.
  9. 압축 센싱(compressive sensing) 복원을 위한 부공간 추종(subspace pursuit) 방법으로서,
    제1 내적 유닛(inner product unit type 1)에 의해 잔차 계산 유닛(residual calculation unit, RCU)에 저장되어 있는 잔차 벡터와 센싱 행렬 메모리(sensing matrix memory)에 저장되어 있는 센싱 행렬의 열 벡터들과의 내적을 수행하여 상관관계를 계산하는 단계;
    상기 제1 내적 유닛의 출력단에 연결되는 제1 정렬 유닛에 의해 상기 제1 내적 유닛에서 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K개의 열 벡터 인덱스를 선택하는 단계-여기서, 상기 K는 희소성 레벨(sparsity level)임-; 및
    상기 센싱 행렬 메모리에 연결되는 제2 내적 유닛에 의해 희소 해(sparse solution) 추정 과정에서 최소제곱법 문제(least-squares problem, LSP)를 풀 때 필요한 의사 역행렬 계산을 위한 행렬을 계산하여 그람 행렬 버퍼(gram matrix buffer)에 저장하는 단계;
    상기 그람 행렬 버퍼에 연결되는 숄레스키 역행렬 유닛에 의해 상기 그람 행렬 버퍼에 저장되어 있는 행렬을 숄레스키 분해하고 분해된 행렬의 역행렬을 계산하는 단계; 및
    상기 숄레스키 역행렬 유닛에 연결되는 희소해 추정모듈에 의해 상기 역행렬에 기초하여 상기 그람 행렬 버퍼에 있는 행렬의 행렬 값에서 희소해를 추정하는 단계;를 포함하는 압축 센싱 복원을 위한 부공간 추종 방법.
  10. 청구항 9에 있어서,
    상기 희소해를 추정하는 단계는, 상기 희소해 추정모듈에 의해 상기 제1 내적 유닛에서 계산된 상관관계와 상기 숄레스키 역행렬 유닛의 역행렬 계산 결과에 기초하여 수행되는, 압축 센싱 복원을 위한 부공간 추종 방법.
  11. 청구항 10에 있어서,
    상기 잔차 계산 유닛에 의해 잔차 벡터를 계산하는 단계를 더 포함하며,
    상기 잔차 벡터를 계산하는 단계는, 상기 제1 정렬 유닛에 의해 새롭게 선택된 서포트 집합과 기존의 서포트 집합의 합집합에서 선택되는 K개의 서포트를 포함한 서포트 집합과 상기 희소해 추정모듈의 희소해 추정 결과에 기초하는, 압축 센싱 복원을 위한 부공간 추종 방법.
  12. 청구항 11에 있어서,
    상기 잔차 벡터를 계산하는 단계는, 숄레스키 역행열 계산을 건너뛰어 근사적 잔차 벡터를 계산하는, 압축 센싱 복원을 위한 부공간 추종 방법.
  13. 청구항 9에 있어서,
    복수의 병렬적 숄레스키 분해를 위한 복수의 연산모듈 그룹 각각은 복수의 연산모듈(processing element, PE)을 구비하고, 각 PE 그룹은 복수의 PE에 의해 병렬적으로 여러 개의 값을 생성하며, 상기 여러 개의 값은 각 PE 그룹에서 각자의 의존성이 해결되는 대로 생성되는, 압축 센싱 복원을 위한 부공간 추종 방법.
  14. 청구항 13에 있어서,
    상기 숄레스키 분해에서는 희소 해(sparse solution) 추정 과정과 서포트 탐색 과정의 결과가 생성되어 다음 반복(iteration)이 수행되도록 각 PE 그룹의 마지막 LSP를 위한 숄레스키 분해를 건너뛰고, 처음의 LSP를 위한 숄레스키 분해의 결과로서 마지막 LSP을 위한 숄레스키 분해의 결과를 근사하는, 압축 센싱 복원을 위한 부공간 추종 방법.
  15. 청구항 14에 있어서,
    상기 숄레스키 분해는 상기 각 PE 그룹의 두번째 LSP를 위한 숄레스키 분해는 다음 반복을 위해, 상기 다음 반복의 서포트 탐색 과정과 병렬적으로 수행되는, 압축 센싱 복원을 위한 부공간 추종 방법.
  16. 센싱 행렬과 잔차 벡터의 상관관계를 측정하는 제1 단계;
    상기 상관관계의 측정으로 계산된 상관관계 값들을 받아 상관관계가 가장 큰 K개의 열 벡터 번호를 서포트 집합으로 설정하는 제2 단계-여기서 상기 K는 희소성 레벨임-;
    상기 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추적하는 제3 단계;
    상기 추적된 희소 벡터에 기초하여 잔차 벡터를 업데이트하는 제4 단계;
    상기 제4 단계 후의 반복 과정에서 상기 제1 단계와 상기 제2 단계의 반복 후에 병렬 수행 중인 숄레스키 분해가 종료되면, 재설정된 서포트 집합에 기초하여 최소제곱법으로 희소 벡터를 추정하는 제5 단계;
    상기 제5 단계에서 추적된 희소 벡터가 큰 K개의 번호를 서포트 집합으로 설정하는 제6 단계;
    상기 제6 단계에서 설정된 K개의 서포트를 포함하는 서포트 집합에 기초하여 잔차 벡터를 근사화하는 제7 단계; 및
    상기 잔차 벡터가 임계값보다 작을 때까지 숄레스키 분해를 다시 병렬 수행하며 상기 제1, 제2, 제5, 제6, 제7 단계들을 순차적으로 반복하는 제8 단계;
    를 포함하는 압축 센싱 복원을 위한 부공간 추종 방법.
  17. 청구항 16에 있어서,
    상기 제5 단계는, 상기 상관관계와 숄레스키 역행렬 유닛의 계산 결과에 기초하여 수행되는, 압축 센싱 복원을 위한 부공간 추종 방법.
  18. 청구항 16에 있어서,
    상기 제6 단계는, 새롭게 선택된 서포트 집합과 기존의 서포트 집합의 합집합에서 상기 K개의 서포트를 선택하는, 압축 센싱 복원을 위한 부공간 추종 방법.
  19. 청구항 16에 있어서,
    상기 숄레스키 분해에서 역행렬 계산을 수행하는 숄레스키 역행렬 유닛은 복수의 연산 모듈(processing element, PE)을 각각 구비하는 복수의 PE 그룹에 의해 병렬적으로 여러 개의 값을 생성하며, 상기 여러 개의 값은 각 PE 그룹에서 각자의 의존성이 해결되는 대로 생성되는, 압축 센싱 복원을 위한 부공간 추종 방법.
  20. 청구항 19에 있어서,
    상기 희소 벡터 또는 희소 해(sparse solution)의 추정 과정과 서포트 탐색 과정의 결과가 생성되어 다음 반복(iteration)이 수행되도록 상기 숄레스키 분해는 상기 각 PE 그룹의 마지막 최소제곱법 문제(least-squares problem, LSP)를 위한 숄레스키 분해를 건너뛰고, 처음의 LSP를 위한 숄레스키 분해의 결과로서 마지막 LSP을 위한 숄레스키 분해의 결과를 근사하는, 압축 센싱 복원을 위한 부공간 추종 방법.
PCT/KR2020/016982 2020-11-11 2020-11-26 압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법 WO2022102846A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/607,847 US20220350862A1 (en) 2020-11-11 2020-11-26 Low-latency subspace pursuit apparatus and method for reconstructing compressive sensing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0150399 2020-11-11
KR1020200150399A KR102476153B1 (ko) 2020-11-11 2020-11-11 압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2022102846A1 true WO2022102846A1 (ko) 2022-05-19

Family

ID=81602340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/016982 WO2022102846A1 (ko) 2020-11-11 2020-11-26 압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법

Country Status (3)

Country Link
US (1) US20220350862A1 (ko)
KR (1) KR102476153B1 (ko)
WO (1) WO2022102846A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102526468B1 (ko) * 2022-10-12 2023-04-28 국방과학연구소 전자 장치의 신호 복원 방법
CN117439615B (zh) * 2023-12-15 2024-03-29 暨南大学 基于加速的贪心块稀疏Kaczmarz算法的稀疏信号恢复方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232707B1 (ko) * 2012-02-07 2013-02-13 고려대학교 산학협력단 압축 센싱 알고리즘을 이용한 신호 복원 장치 및 방법
US20150032990A1 (en) * 2013-07-29 2015-01-29 The Regents Of The University Of California Scalable and Parameterized VLSI Architecture for Compressive Sensing Sparse Approximation
KR101874259B1 (ko) * 2017-10-26 2018-07-03 인하대학교 산학협력단 링크 성능과 지연 시간 사이의 트레이드 오프를 고려한 mtc를 위한 압축 센싱 기반 랜덤 액세스 방법 및 시스템
KR102026958B1 (ko) * 2019-03-29 2019-09-30 한화시스템(주) 레이더용 압축 센싱을 위한 새로운 분할 역변환 기법을 사용한 감소된 계산 복잡성의 오엠피 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232707B1 (ko) * 2012-02-07 2013-02-13 고려대학교 산학협력단 압축 센싱 알고리즘을 이용한 신호 복원 장치 및 방법
US20150032990A1 (en) * 2013-07-29 2015-01-29 The Regents Of The University Of California Scalable and Parameterized VLSI Architecture for Compressive Sensing Sparse Approximation
KR101874259B1 (ko) * 2017-10-26 2018-07-03 인하대학교 산학협력단 링크 성능과 지연 시간 사이의 트레이드 오프를 고려한 mtc를 위한 압축 센싱 기반 랜덤 액세스 방법 및 시스템
KR102026958B1 (ko) * 2019-03-29 2019-09-30 한화시스템(주) 레이더용 압축 센싱을 위한 새로운 분할 역변환 기법을 사용한 감소된 계산 복잡성의 오엠피 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU YIZHONG; SONG TIAN; ZHUANG YIQI: "A High-Throughput Subspace Pursuit Processor for ECG Recovery in Compressed Sensing Using Square-Root-Free MGS QR Decomposition", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, vol. 28, no. 1, 1 January 2020 (2020-01-01), PISCATAWAY, NJ, USA , pages 174 - 187, XP011764249, ISSN: 1063-8210, DOI: 10.1109/TVLSI.2019.2936867 *

Also Published As

Publication number Publication date
US20220350862A1 (en) 2022-11-03
KR20220064177A (ko) 2022-05-18
KR102476153B1 (ko) 2022-12-08

Similar Documents

Publication Publication Date Title
WO2022102846A1 (ko) 압축 센싱 복원을 위한 저지연 부공간 추종 장치 및 방법
EP0523544B1 (en) Apparatus to solve a system of linear equations
WO2021033981A1 (ko) Dna 저장 장치의 연성 정보 기반 복호화 방법, 프로그램 및 장치
WO2020159016A1 (ko) 하드웨어 구현에 적합한 신경망 파라미터 최적화 방법, 신경망 연산방법 및 그 장치
WO2020230977A1 (ko) 메타 인지 기반 고속 환경 탐색 방법 및 장치
WO2016117793A1 (ko) 음성 향상 방법 및 시스템
WO2012105747A1 (en) System, apparatus and method for removing interference in navigation signal of global navigation satellite system
WO2020105812A1 (ko) 학습을 통한 파라미터 개선 기반의 예측 시스템 및 방법
WO2014003254A1 (ko) 움직임 벡터의 예측을 위한 탐색영역 설정 장치 및 방법
CN112906335B (zh) 一种用于集成电路系统的无源性校正方法及装置
WO2013183896A1 (ko) 유한체의 희소신호 복구방법, 유한체의 희소신호 복구장치, 및 이 방법을 기록되는 기록매체
WO2012122744A1 (zh) 多维信道参数提取方法
WO2009154423A2 (ko) 이동통신 시스템의 수신 장치 및 방법
WO2021091217A1 (ko) 검출 방법 및 장치
WO2018066766A1 (ko) 통신 시스템에서의 채널 추정 방법 및 장치
WO2020130211A1 (ko) 관절 모델 정합 장치 및 방법
WO2017122901A1 (ko) 파일럿 빔 생성 방법 및 이를 수행하는 장치
US8468326B1 (en) Method and apparatus for accelerating execution of logical “and” instructions in data processing applications
WO2016137257A1 (ko) 이동 통신 시스템에서 수신 장치의 신호 조정 방법 및 장치
Picinbono Fast algorithms for Brownian matrices
Dokoupil et al. Variable regularized square root recursive least square method
WO2014181937A1 (en) System and method for aligning genome sequence in consideration of read quality
Tian et al. An Asynchronous Parallel Algorithm to Improve the Scalability of Finite Element Solvers
WO2023163419A1 (ko) 보완된 신경망 양자화 연산을 이용한 데이터 처리 방법 및 데이터 처리 장치
JP3135528B2 (ja) Fftネットワークのエラー検出回路及びエラー検出方法

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: 20961716

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: 20961716

Country of ref document: EP

Kind code of ref document: A1