KR102230340B1 - Multiple input-output receiver based on gram-schmit qr decomposition and operation method thereof - Google Patents
Multiple input-output receiver based on gram-schmit qr decomposition and operation method thereof Download PDFInfo
- Publication number
- KR102230340B1 KR102230340B1 KR1020190144571A KR20190144571A KR102230340B1 KR 102230340 B1 KR102230340 B1 KR 102230340B1 KR 1020190144571 A KR1020190144571 A KR 1020190144571A KR 20190144571 A KR20190144571 A KR 20190144571A KR 102230340 B1 KR102230340 B1 KR 102230340B1
- Authority
- KR
- South Korea
- Prior art keywords
- codec
- unit
- rotation
- vectoring
- matrix
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5446—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation using crossaddition algorithms, e.g. CORDIC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Abstract
본 출원의 일 실시예에 따르는 그람-슈미트 QR 분해 기반의 다중입출력 수신기는, QR 분해(QR decomposition) 동작 시, 채널 행렬에 기초하여 중간 행렬을 생성하는 다중입출력 수신기로서, 상기 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부 및 상기 벡터링코딕 동작에 따라 회전되는 회전 방향에 기초하여, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부를 포함한다. A Gram-Schmidt QR decomposition-based multiple input/output receiver according to an embodiment of the present application is a multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation, wherein the column vector of the intermediate matrix Based on a first codec unit that performs an iterative vectoring codec operation for and a rotation direction rotated according to the vectoring codec operation, iteratively performs a rotation codec operation on the initial column vector corresponding to the column vector. It includes a second cordic part.
Description
본 출원은 그람-슈미트 QR 분해 기반의 다중입출력 수신기 및 그 동작 방법에 관한 것이다. The present application relates to a multiple input/output receiver based on Gram-Schmidt QR decomposition and a method of operation thereof.
무선 통신에서는 필수적으로 MIMO 리시버를 사용하고 있다. 여기서, MIMO(Multiple Input Multiple Output)는 다중의 입출력이 가능한 안테나 시스템을 의미할 수 있다. In wireless communication, a MIMO receiver is essentially used. Here, MIMO (Multiple Input Multiple Output) may mean an antenna system capable of multiple inputs and outputs.
최근, 모바일 환경에서 MIMO 리시버를 구현하기 위해서는, 복잡도가 큰 QR 분해를 효율적으로 구현하는 것이 매우 중요하다. 여기서, QR 분해(QR decomposition)는 실수 행렬을 직교 행렬(Q)과 상삼각 행렬(R)의 곱으로 나타내는 행렬 분해를 의미할 수 있다. Recently, in order to implement a MIMO receiver in a mobile environment, it is very important to efficiently implement QR decomposition with high complexity. Here, QR decomposition may mean a matrix decomposition representing a real matrix as a product of an orthogonal matrix Q and an upper triangular matrix R.
이러한 QR 분해는, 연속 간섭 제거(successive interference cancellation), V-BLAST, K-Best, 구 디코딩(sphere decoding) 등 다양한 타입의 MIMO 탐지기(detector)에 전처리 과정으로 널리 사용되고 있다. 구체적으로, QR 분해는 기븐스 로테이션(Givens rotation)방법, 하우스홀더 변환(Householder transformation)방법 그리고 그람-슈미트 방법이 있다. Such QR decomposition is widely used as a preprocessing process for various types of MIMO detectors such as successive interference cancellation, V-BLAST, K-Best, and sphere decoding. Specifically, QR decomposition includes a Givens rotation method, a Householder transformation method, and a Gram-Schmidt method.
특히, 그람-슈미트 QR 분해는 낮은 알고리즘 복잡도에도 불구하고, 벡터 크기(norm)와 단위 벡터(unit vector: 크기가 1인 벡터)를 구하는데 사용되는 제곱근과 나눗셈 연산의 하드웨어 구현 복잡도로 인해, 모바일 환경에서 기븐스 로테이션이나 하우스홀더 변환에 비해 잘 사용되지 않고 있는 상황이다.In particular, Gram-Schmidt QR decomposition, despite its low algorithmic complexity, is mobile due to the hardware implementation complexity of the square root and division operations used to find the vector size (norm) and unit vector (a vector of size 1). In the environment, it is not used well compared to Givens rotation or house holder conversion.
반면, 그람-슈미트의 제곱근 및 나눗셈 연산을 간단하게 구현할 수 있다면, 상대적으로 낮은 알고리즘 복잡도로 기존 QR 분해 하드웨어에 비해, 거의 동일한 coded/uncoded 비트 오류율 성능과 이득을 얻을 수 있고, 저 지연시간 면적 효율적 QR 분해 하드웨어 구현에 사용하기 적합하다. On the other hand, if Gram-Schmidt's square root and division operation can be simply implemented, compared to existing QR decomposition hardware with relatively low algorithmic complexity, it is possible to obtain almost the same coded/uncoded bit error rate performance and gain, and low latency area efficient. It is suitable for use in QR decomposition hardware implementation.
또한, 기존의 곱셈과 나눗셈을 이용한 그람-슈미트 QR 분해 및 코딕 기반의 기븐스 로테이션/하우스홀더 QR 분해보다 낮은 하드웨어 복잡도로 거의 동일한 coded/uncoded 비트 오류율 성능을 보이는 것이 가능하여, 저 지연시간 면적 효율적 QR 분해 하드웨어 구현에 사용하기 적합하다. 이러한 그람-슈미트의 벡터 크기 연산은 코딕의 벡터링(vectoring) 모드 연산을 통해 얻을 수 있고, 단위 벡터는 첫 번째 원소만 1이고 나머지 원소 값들은 전부 0인 벡터의 코딕 로테이션(rotation) 모드 연산으로 얻을 수 있다.In addition, it is possible to show almost the same coded/uncoded bit error rate performance with less hardware complexity than the existing Gram-Schmidt QR decomposition using multiplication and division and Codex-based Givens rotation/Householder QR decomposition. It is suitable for use in disassembly hardware implementation. Such Gram-Schmidt's vector size operation can be obtained through Codec's vectoring mode operation, and the unit vector is obtained by the codeic rotation mode operation of a vector in which only the first element is 1 and all other element values are 0. I can.
본 출원의 목적은, 상삼각 행렬의 표준 요소와 직교 행렬의 직교 열 벡터를 획득하는 종래의 복잡한 연산을 간단한 연산으로 대체할 수 있는 그람-슈미트 QR 분해 기반의 다중입출력 수신기 및 그 동작 방법을 제공하기 위한 것이다. The object of the present application is to provide a Gram-Schmidt QR decomposition-based multiple input/output receiver and an operation method that can replace the conventional complex operation of obtaining the standard element of the upper triangular matrix and the orthogonal column vector of the orthogonal matrix with a simple operation It is to do.
본 출원의 일 실시예에 따르는 그람-슈미트 QR 분해 기반의 다중입출력 수신기는, QR 분해(QR decomposition) 동작 시, 채널 행렬에 기초하여 중간 행렬을 생성하는 다중입출력 수신기로서, 상기 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부 및 상기 벡터링코딕 동작에 따라 회전되는 회전 방향에 기초하여, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부를 포함한다. A Gram-Schmidt QR decomposition-based multiple input/output receiver according to an embodiment of the present application is a multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation, wherein the column vector of the intermediate matrix Based on a first codec unit that performs an iterative vectoring codec operation for and a rotation direction rotated according to the vectoring codec operation, iteratively performs a rotation codec operation on the initial column vector corresponding to the column vector. It includes a second cordic part.
실시예에 있어서, 상기 제1 코딕부는, 상기 열 벡터를 쉬프팅 연산 및 덧셈 연산을 통해 제1 코딕 행렬을 출력하고, 상기 제1 코딕 행렬의 크기는 상삼각 행렬의 표준 요소의 크기에 대응된다. In an embodiment, the first codec unit outputs a first codec matrix through a shifting operation and an addition operation on the column vector, and the size of the first codeic matrix corresponds to the size of a standard element of the upper triangular matrix.
실시예에 있어서, 상기 제1 코딕부는, 상기 반복적인 벡터링코딕 동작에 따라, 기설정된 회전 방정식으로부터 제1 코딕 연산식(1)을 결정하고, 상기 제1 코딕 연산식(1)은, (1) 이고, 여기서, x는 상기 제1 코딕 행렬의 x축 크기이고, y는 상기 제1 코딕 행렬의 y축 크기이며, i는 상기 반복적인 벡터링코딕 동작의 i번째 순번을 나타내고, σ는 벡터링 회전 방향을 나타낸다. In an embodiment, the first codec unit determines, according to the iterative vectoring codec operation, a first codeic calculation equation (1) from a preset rotation equation, and the first codeic calculation equation (1), (1), where x is the size of the x-axis of the first codec matrix, y is the size of the y-axis of the first codec matrix, i is the i-th order of the repetitive vectoring codec operation, σ Represents the vectoring rotation direction.
실시예에 있어서, 상기 벡터링 회전 방향은, 이전 순번의 제1 코딕 행렬의 y축 크기의 부호에 따라, 시계 방향 및 반시계 방향 중 어느 하나로 결정된다. In an embodiment, the vectoring rotation direction is determined in one of a clockwise direction and a counterclockwise direction according to a sign of the y-axis size of the first codec matrix of the previous order.
실시예에 있어서, 상기 제1 코딕부는, 상기 상수 를 누적하여, 상기 반복적인 벡터링코딕 동작의 마지막 벡터링 동작에서 한번에 스케일 팩터를 연산하고, 상기 스케일 팩터는, 이다. In an embodiment, the first cordic part is the constant By accumulating, calculating a scale factor at once in the last vectoring operation of the iterative vectoring codec operation, and the scale factor is: to be.
실시예에 있어서, 상기 제2 코딕부는, 상기 초기 열 벡터를 쉬프팅 연산 및 덧셈 연산을 통해 제2 코딕 행렬을 출력하고, 상기 제2 코딕 행렬은 직교 행렬의 직교 열 벡터에 대응된다. In an embodiment, the second codec unit outputs a second codeic matrix through a shifting operation and an addition operation on the initial column vector, and the second codeic matrix corresponds to an orthogonal column vector of an orthogonal matrix.
실시예에 있어서, 상기 제2 코딕부는, 상기 반복적인 로테이션코딕 동작에 따라 기설정된 회전 방정식으로부터 제2 코딕 연산식(2)을 도출하고, 상기 제2 코딕 연산식(2)은, In an embodiment, the second codec unit derives a second codeic calculation equation (2) from a rotation equation preset according to the repetitive rotation codec operation, and the second codeic calculation equation (2),
(2)이고, (2),
여기서, x는 상기 제2 코딕 행렬의 x축 크기이고, y는 상기 제2 코딕 행렬의 y축 크기이며, i는 상기 반복적인 로테이션코딕 동작의 i번째 순번을 나타내고, σ는 로테이션 회전 방향을 나타낸다. Here, x is the size of the x-axis of the second codeic matrix, y is the size of the y-axis of the second codeic matrix, i is the i-th order of the repetitive rotation codeic operation, and σ is the rotation direction of rotation. .
실시예에 있어서, 상기 로테이션 회전 방향은, 상기 초기 열 벡터와 상기 회전 각도를 이루는 라인을 기준으로, 이전 순번의 제2 코딕 행렬이 위치한 방향에 따라 시계 방향 및 반시계 방향 중 어느 하나로 결정된다. In an embodiment, the rotation direction is determined in one of a clockwise direction and a counterclockwise direction according to a direction in which the second codeic matrix of the previous order is located, based on a line constituting the initial column vector and the rotation angle.
본 출원의 다른 실시예에 따르는 그람-슈미트 QR 분해 기반의 다중입출력 수신기는, QR 분해(QR decomposition) 동작 시, 채널 행렬에 기초하여 중간 행렬을 생성하는 다중입출력 수신기로서, 상기 중간 행렬의 열 벡터와 상기 열 벡터에 대응되는 초기 열 벡터를 쉬프팅 연산 및 덧셈 연산하는 코딕부 및 상기 코딕부를 통해 획득되는 상삼각 행렬의 표준 요소와 직교 행렬의 직교 열 벡터에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기를 통해 상기 상삼각 행렬의 나머지 요소들을 계산하고 상기 중간 행렬의 나머지 열 벡터들을 업데이트하는 프로젝션부를 포함한다. A Gram-Schmidt QR decomposition-based multiple input/output receiver according to another embodiment of the present application is a multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation, wherein the column vector of the intermediate matrix And at least one multiplier and at least one based on the standard elements of the upper triangular matrix and the orthogonal column vector of the orthogonal matrix obtained through the codeic unit for shifting and adding the initial column vector corresponding to the column vector, and the codeic unit. And a projection unit that calculates the remaining elements of the upper triangular matrix through an adder of and updates the remaining column vectors of the intermediate matrix.
실시예에 있어서, 상기 코딕부는, 상기 표준 요소를 획득하기 위하여, 반복적인 벡터링코딕 동작을 순차적으로 수행하는 복수의 벡터링코딕 모듈들을 포함하는 제1 코딕부, 상기 직교 열 벡터를 획득하기 위하여, 반복적인 로테이션코딕 동작을 순차적으로 수행하는 복수의 로테이션스텝 모듈들을 포함하는 제2 코딕부 및 상기 제1 코딕부를 통해 획득되는 회전 방향과 부호 정보를 지연시켜 상기 제2 코딕부로 출력하는 플립플롭부를 포함한다. In an embodiment, the codec unit includes a first codec unit including a plurality of vectoring codec modules sequentially performing an iterative vectoring codec operation in order to obtain the standard element, and to obtain the orthogonal column vector , A second codec unit including a plurality of rotation step modules sequentially performing a repetitive rotation codec operation, and a flip-flop unit that delays rotation direction and sign information obtained through the first codec unit and outputs it to the second codec unit. Includes.
실시예에 있어서, 상기 복수의 벡터링코딕 모듈들의 개수와 상기 복수의 로테이션스텝 모듈들의 개수는 서로 동일하다. In an embodiment, the number of vectoring codec modules and the number of rotation step modules are the same.
실시예에 있어서, 상기 제2 코딕부는, 상기 복수의 로테이션스텝 모듈들 중 가장 우선 순위의 로테이션스텝 모듈을 동작시키는 한쌍의 멀티플렉서 및 나머지 로테이션스텝 모듈들 각각을 동작시키는 각 멀티플렉서를 포함하고, 상기 멀티플렉서의 총개수는 복수의 로테이션스텝 모듈들의 총개수보다 많다.In an embodiment, the second codec unit includes a pair of multiplexers for operating a rotation step module having the highest priority among the plurality of rotation step modules and each multiplexer for operating each of the remaining rotation step modules, and the multiplexer The total number of is greater than the total number of the plurality of rotation step modules.
실시예에 있어서, 상기 코딕부를 제어하기 위한 제1 제어신호와 상기 프로젝션부를 제어하기 위한 제2 제어신호를 생성하는 글로벌 제어부, 상기 제1 제어신호에 기초하여, 벡터링코딕 모드와 로테이션코딕 모드 중 하나의 코딕모드를 결정하는 코딕 제어부 및 상기 제2 제어신호에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기 중 적어도 하나를 제어하는 프로젝션 제어부를 더 포함한다. In an embodiment, a global control unit that generates a first control signal for controlling the codec unit and a second control signal for controlling the projection unit, based on the first control signal, among a vectoring codec mode and a rotation codec mode A codec control unit that determines one codec mode and a projection control unit that controls at least one of at least one multiplier and at least one adder based on the second control signal.
실시예에 있어서, 상기 코딕부는, 상기 하나의 코딕모드가 상기 벡터링코딕 모드로 결정된 경우, 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부, 상기 하나의 코딕모드가 상기 로테이션코딕 모드로 결정된 경우, 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부 및 상기 제1 및 제2 코딕부 중 동작 클럭 구간에 따라 어느 하나로 동작하는 적어도 하나의 변환부를 포함한다. In an embodiment, the codec unit, when the one codec mode is determined as the vectoring codec mode, a first codec unit that performs a repetitive vectoring codec operation, and the one codec mode is determined as the rotation codec mode. In this case, it includes a second codec unit that performs a repetitive rotation codec operation, and at least one conversion unit that operates in any one of the first and second codec units according to an operation clock period.
실시예에 있어서, 상기 적어도 하나의 변환 모듈의 개수는 상기 중간 행렬의 열 벡터의 개수보다 적다.In an embodiment, the number of the at least one transform module is less than the number of column vectors of the intermediate matrix.
실시예에 있어서, 상기 프로젝션부는, 상기 코딕부를 통해 출력된 각 출력 정보를 입력받는 제1 입력부, 상기 각 출력 정보에 기초하여, 복수의 계산기들을 통해 제1 계산정보를 계산하는 제1 계산부, 상기 제1 계산정보를 입력받아 전달하는 제2 입력부, 상기 제2 입력부를 통해 전달받는 상기 제1 계산정보에 기초하여, 복수의 가산기들을 통해 제2 계산정보를 계산하는 제2 계산부 및 상기 제1 및 제2 계산정보를 합산하여, 상기 상삼각 행렬의 나머지 요소들, 상기 중간 행렬의 나머지 열 벡터 및 상기 채널 행렬의 일부 열 벡터를 출력하는 합산부를 포함한다. In an embodiment, the projection unit comprises: a first input unit receiving each output information output through the codeic unit; a first calculation unit calculating first calculation information through a plurality of calculators based on the respective output information; A second input unit that receives and transmits the first calculation information, a second calculation unit that calculates second calculation information through a plurality of adders based on the first calculation information received through the second input unit, and the second input unit. And a summing unit for summing the first and second calculation information and outputting the remaining elements of the upper triangular matrix, the remaining column vectors of the intermediate matrix, and some column vectors of the channel matrix.
본 출원의 일 실시예에 따르는 그람-슈미트 QR 분해 기반의 다중입출력 수신기로서, QR 분해(QR decomposition) 동작 시, 채널 행렬에 기초하여 중간 행렬을 생성하는 다중입출력 수신기로서, 상기 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하고, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 코딕부 및 상기 코딕부를 통해 획득되는 상삼각 행렬의 표준 요소와 직교 행렬의 직교 열 벡터에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기를 통해 상기 상삼각 행렬의 나머지 요소들을 계산하고 상기 중간 행렬의 나머지 열 벡터들을 업데이트하는 프로젝션부를 포함한다. As a Gram-Schmidt QR decomposition-based multiple input/output receiver according to an embodiment of the present application, a multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation, wherein the column vector of the intermediate matrix A codec unit that performs an iterative vectoring codec operation on and performs an iterative rotation codeic operation on an initial column vector corresponding to the column vector, and a standard element of an upper triangular matrix obtained through the codec unit and an orthogonal matrix. And a projection unit that calculates the remaining elements of the upper triangular matrix through at least one multiplier and at least one adder based on the orthogonal column vector, and updates the remaining column vectors of the intermediate matrix.
실시예에 있어서, 상기 코딕부는, 상기 반복적인 벡터링코딕 동작을 순차적으로 수행하는 복수의 벡터링코딕 모듈들을 포함하는 제1 코딕부, 상기 반복적인 로테이션코딕 동작을 순차적으로 수행하는 복수의 로테이션스텝 모듈들을 포함하는 제2 코딕부 및 상기 제1 코딕부를 통해 획득되는 회전 방향과 부호 정보를 지연시켜 상기 제2 코딕부로 출력하는 플립플롭부를 포함한다. In an embodiment, the codec unit includes a first codec unit including a plurality of vectoring codec modules sequentially performing the repetitive vectoring codec operation, and a plurality of rotation steps sequentially performing the iterative rotation codeic operation And a second cordic unit including modules and a flip-flop unit for delaying rotation direction and sign information obtained through the first cordic unit and outputting the delayed information to the second cordic unit.
실시예에 있어서, 상기 복수의 벡터링코딕 모듈들의 개수와 상기 복수의 로테이션스텝 모듈들의 개수는 서로 동일하다.In an embodiment, the number of vectoring codec modules and the number of rotation step modules are the same.
실시예에 있어서, 상기 제2 코딕부는, 상기 복수의 로테이션스텝 모듈들 중 가장 우선 순위의 로테이션스텝 모듈을 동작시키는 한쌍의 멀티플렉서 및 나머지 로테이션스텝 모듈들 각각을 동작시키는 각 멀티플렉서를 포함하고, 상기 복수의 로테이션스텝 모듈들의 총개수는 상기 멀티플렉서의 총개수보다 적다.In an embodiment, the second codec unit includes a pair of multiplexers for operating a rotation step module having the highest priority among the plurality of rotation step modules and each multiplexer for operating each of the remaining rotation step modules, and the plurality of The total number of rotation step modules of is less than the total number of multiplexers.
실시예에 있어서, 상기 코딕부를 제어하기 위한 제1 제어신호와 상기 프로젝션부를 제어하기 위한 제2 제어신호를 생성하는 글로벌 제어부, 상기 제1 제어신호에 기초하여, 벡터링코딕 모드와 로테이션코딕 모드 중 하나의 코딕모드를 결정하는 코딕 제어부 및 상기 제2 제어신호에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기 중 적어도 하나를 제어하는 프로젝션 제어부를 더 포함한다. In an embodiment, a global control unit that generates a first control signal for controlling the codec unit and a second control signal for controlling the projection unit, based on the first control signal, among a vectoring codec mode and a rotation codec mode A codec control unit that determines one codec mode and a projection control unit that controls at least one of at least one multiplier and at least one adder based on the second control signal.
실시예에 있어서, 상기 코딕부는, 상기 하나의 코딕모드가 상기 벡터링코딕 모드로 결정된 경우, 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부, 상기 하나의 코딕모드가 상기 로테이션코딕 모드로 결정된 경우, 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부 및 상기 하나의 코딕모드의 동작 구간에 기초하여, 상기 제1 및 제2 코딕부 중 어느 하나로 변환하여 동작하는 적어도 하나의 변환부를 포함한다. In an embodiment, the codec unit, when the one codec mode is determined as the vectoring codec mode, a first codec unit that performs a repetitive vectoring codec operation, and the one codec mode is determined as the rotation codec mode. In this case, a second codec unit that performs a repetitive rotation codec operation and at least one transform unit that converts to one of the first and second codec units and operates based on an operation period of the one codec mode.
실시예에 있어서, 상기 적어도 하나의 변환부의 개수는 상기 중간 행렬의 열 벡터의 개수보다 적다. In an embodiment, the number of the at least one transform unit is less than the number of column vectors of the intermediate matrix.
실시예에 있어서, 상기 프로젝션부는, 상기 코딕부를 통해 출력된 각 출력 정보를 입력받는 제1 입력부, 상기 각 출력 정보에 기초하여, 복수의 계산기들을 통해 제1 계산정보를 계산하는 제1 계산부, 상기 제1 계산정보를 입력받아 전달하는 제2 입력부, 상기 제2 입력부를 통해 전달받는 상기 제1 계산정보에 기초하여, 복수의 가산기들을 통해 제2 계산정보를 계산하는 제2 계산부 및 상기 제1 및 제2 계산정보를 합산하여, 상기 상삼각 행렬의 나머지 요소들, 상기 중간 행렬의 나머지 열 벡터 및 상기 채널 행렬의 일부 열 벡터를 출력하는 합산부를 포함한다. In an embodiment, the projection unit comprises: a first input unit receiving each output information output through the codeic unit; a first calculation unit calculating first calculation information through a plurality of calculators based on the respective output information; A second input unit that receives and transmits the first calculation information, a second calculation unit that calculates second calculation information through a plurality of adders based on the first calculation information received through the second input unit, and the second input unit. And a summing unit for summing the first and second calculation information and outputting the remaining elements of the upper triangular matrix, the remaining column vectors of the intermediate matrix, and some column vectors of the channel matrix.
본 출원의 일 실시예에 따르는 그람-슈미트 QR 분해 기반의 다중입출력 수신기의 동작 방법으로서, 제1 코딕부가 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하는 단계 및 제2 코딕부가 상기 벡터링코딕 동작에 따라 회전되는 회전 방향에 기초하여, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 단계를 포함한다 A method of operating a multiple input/output receiver based on Gram-Schmidt QR decomposition according to an embodiment of the present application, wherein a first codec unit performs an iterative vectoring codec operation on a column vector of an intermediate matrix, and a second codec unit includes the And performing an iterative rotation codec operation on the initial column vector corresponding to the column vector based on the rotation direction rotated according to the vectoring codec operation.
실시예에 있어서, 상기 반복적인 벡터링코딕 동작을 수행하는 단계는, 상기 제1 코딕부가 복소수 열 벡터들을 입력받는 단계, 상기 제1 코딕부가 상기 복소수 열 벡터들로부터 허수부 벡터들을 제거하고, 실수부 벡터들을 획득하는 제1 벡터링모드를 수행하는 단계, 상기 제1 코딕부가 상기 실수부 벡터들로부터 절반을 제거된 나머지 실수부 벡터들을 획득하는 제2 벡터링모드를 수행하는 단계 및 상기 제1 코딕부가 하나의 실수부 벡터를 획득하는 제3 벡터링모드를 수행하는 단계를 포함한다. In an embodiment, in the performing of the iterative vectoring codec operation, the first codec unit receives complex column vectors, the first codec unit removes imaginary vector vectors from the complex column vectors, and a real number Performing a first vectoring mode for acquiring sub-vectors, performing a second vectoring mode in which the first codec unit obtains the remaining real vector vectors from which half of the real vector is removed, and the first codeic unit And performing a third vectoring mode for obtaining one real part vector.
실시예에 있어서, 상기 반복적인 로테이션코딕 동작을 수행하는 단계는, 상기 제2 코딕부가 제1 내지 제3 스케일 팩터를 곱한 상기 초기 열 벡터를 입력받는 단계, 상기 제2 코딕부가 상기 제3 벡터링모드에 따라 회전되는 제3 회전 방향에 기초하여, 상기 초기 열 벡터를 회전시키는 제1 로테이션모드를 수행하는 단계, 상기 제2 코딕부가 상기 제2 벡터링모드에 따라 회전되는 제2 회전 방향에 기초하여, 상기 제1 로테이션모드를 통해 회전된 상기 초기 열 벡터를 회전시키는 제2 로테이션모드를 수행하는 단계, 상기 제2 코딕부가 상기 제1 벡터링모드에 따라 회전되는 제1 회전 방향에 기초하여, 상기 제2 로테이션모드를 통해 회전된 상기 초기 열 벡터를 회전시키는 제3 로테이션모드를 수행하는 단계 및 상기 제2 코딕부가 상기 제3 로테이션모드를 통해 복소수 직교 열 벡터들을 출력하는 단계를 더 포함하고, 상기 복소수 직교 열 벡터들은, 실수부 직교 열 벡터들과 허수부 직교 열 벡터들을 포함한다. In an embodiment, the performing of the repetitive rotation codec operation comprises: receiving the initial column vector obtained by multiplying the second codeic unit by a first to third scale factor, and the second codeic unit receiving the third vectoring mode. Performing a first rotation mode for rotating the initial column vector based on a third rotation direction rotated according to, based on a second rotation direction in which the second cordic unit is rotated according to the second vectoring mode, Performing a second rotation mode in which the initial column vector rotated through the first rotation mode is rotated, the second rotational direction in which the second cordic unit is rotated according to the first vectoring mode, Performing a third rotation mode for rotating the initial column vector rotated through the rotation mode, and the second codeic unit outputting complex orthogonal column vectors through the third rotation mode, the complex orthogonal The column vectors include real orthogonal column vectors and imaginary orthogonal column vectors.
실시예에 있어서, 상기 반복적인 벡터링코딕 동작의 횟수는 상기 반복적인 로테이션코딕 동작의 횟수보다 크거나 같다.In an embodiment, the number of repetitive vectoring codec operations is greater than or equal to the number of repetitive rotation coded operations.
본 출원의 실시 예에 따른 그람-슈미트 QR 분해 기반의 다중입출력 수신기 및 그 동작 방법은 상삼각 행렬의 표준 요소와 직교 행렬의 직교 열 벡터를 획득하는 종래의 복잡한 연산을 간단한 연산으로 대체할 수 있다. The Gram-Schmidt QR decomposition-based multiple input/output receiver and its operation method according to an embodiment of the present application can replace a conventional complex operation of obtaining a standard element of an upper triangular matrix and an orthogonal column vector of an orthogonal matrix with a simple operation. .
또한, 그람-슈미트 QR 분해 기반의 다중입출력 수신기 및 그 동작 방법은 연산을 수행하는 하드웨어의 지연시간, 면적 및 에너지 소모를 감소시킬 수 있다. In addition, the Gram-Schmidt QR decomposition-based multiple input/output receiver and its operation method can reduce delay time, area, and energy consumption of hardware that performs computation.
도 1은 본 출원의 일 실시예에 따른 그람-슈미트 QR 분해 기반의 다중입출력 시스템의 블록도이다.
도 2는 일 실시예에 따른 도 1의 다중입출력 수신기의 블록도이다.
도 3은 도 2의 제1 및 제2 코딕부의 동작을 설명하기 위한 도이다.
도 4a는 일 실시예에 따른 도 2의 제1 코딕부의 반복적인 벡터링코딕 동작도이다.
도 4b는 다른 실시예에 따른 도 2의 제1 코딕부의 반복적인 벡터링코딕 동작도이다.
도 5a는 일 실시예에 따른 도 2의 제2 코딕부의 반복적인 로테이션코딕 동작도이다.
도 5b는 다른 실시예에 따른 도 2의 제2 코딕부의 반복적인 로테이션코딕 동작도이다.
도 6은 도 2의 다중입출력 수신기의 동작 프로세스이다.
도 7은 도 2의 제1 및 제2 코딕부의 동작을 구체적으로 보여주는 도이다.
도 8은 도 2의 제1 코딕부의 동작 프로세스이다.
도 9는 도 2의 제2 코딕부의 동작 프로세스이다.
도 10은 다른 실시예에 따른 도 1의 다중입출력 수신기의 블록도이다.
도 11은 도 10의 다중입출력 수신기가 세미파이프 라인 QR 분해구조로 적용된 일 예이다.
도 12는 도 11의 제0 내지 제3 코딕스테이지들 각각을 구체적으로 보여주는 블록도이다.
도 13은 도 11의 제2 프로젝션의 타이밍 도이다.
도 14는 도 10의 다중입출력 수신기가 반복적인 QR 분해 구조로 적용된 일 예이다.
도 15는 도 14의 다중입출력 수신기의 동작 타이밍도이다.1 is a block diagram of a multiple input/output system based on Gram-Schmidt QR decomposition according to an embodiment of the present application.
2 is a block diagram of the multiple input/output receiver of FIG. 1 according to an embodiment.
3 is a diagram for explaining the operation of the first and second cordic units of FIG. 2.
4A is an operation diagram of a vectoring codec repetitively of the first codec unit of FIG. 2 according to an exemplary embodiment.
4B is an operation diagram of a vectoring codec repetitively of the first codec unit of FIG. 2 according to another embodiment.
5A is a diagram illustrating an operation of repetitive rotation codecs of the second codec unit of FIG. 2 according to an exemplary embodiment.
5B is a diagram illustrating an operation of a rotation codec of the second codec of FIG. 2 repeatedly according to another exemplary embodiment.
6 is an operation process of the multiple input/output receiver of FIG. 2.
7 is a diagram showing in detail the operation of the first and second cordic units of FIG. 2.
8 is an operation process of the first cordic unit of FIG. 2.
9 is an operation process of the second cordic unit of FIG. 2.
10 is a block diagram of the multiple input/output receiver of FIG. 1 according to another embodiment.
11 is an example in which the multiple input/output receiver of FIG. 10 is applied in a semi-pipeline QR decomposition structure.
12 is a block diagram showing in detail each of the 0th to third codex stages of FIG. 11.
13 is a timing diagram of the second projection of FIG. 11.
14 is an example in which the multiple input/output receiver of FIG. 10 is applied in a repetitive QR decomposition structure.
15 is an operation timing diagram of the multiple input/output receiver of FIG. 14.
본 명세서에 개시되어 있는 본 출원의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 출원의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 출원의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present application disclosed in this specification are exemplified only for the purpose of describing the embodiments according to the concept of the present application, and the embodiments according to the concept of the present application are It may be implemented in various forms and is not limited to the embodiments described herein.
본 출원의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 출원의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 출원의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present application can apply various changes and have various forms, the embodiments will be illustrated in the drawings and described in detail in the present specification. However, this is not intended to limit the embodiments according to the concept of the present application to specific disclosed forms, and includes all changes, equivalents, or substitutes included in the spirit and scope of the present application.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 출원의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various constituent elements, but the constituent elements should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of the rights according to the concept of the present application, the first component may be referred to as the second component, and similarly The second component may also be referred to as a first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 출원을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this specification are only used to describe specific embodiments, and are not intended to limit the present application. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as "comprise" or "have" are intended to designate the existence of implemented features, numbers, steps, actions, components, parts, or a combination thereof, but one or more other features or numbers It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 출원이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present specification. Does not.
도 1은 본 출원의 일 실시예에 따른 그람-슈미트 QR 분해 기반의 다중입출력 시스템(1000)의 블록도이다. 1 is a block diagram of a multiple input/
도 1을 참조하면, 그람-슈미트 QR 분해 기반의 다중입출력 시스템(1000)은 다중입출력 수신기(100)와 다중입출력 송신기(500)를 포함할 수 있다. Referring to FIG. 1, a multiple input/
먼저, 다중입출력 송신기(500)는 송신신호 벡터(X)를 다중입출력 수신기(100)에 송신할 수 있다. 이때, 다중입출력 송신기(500)는 Nt 개의 송신 안테나를 포함할 수 있다. First, the multiple input/
다음으로, 다중입출력 수신기(100)는 다중입출력 송신기(500)로부터 수신신호 벡터(Y)를 수신할 수 있다. 이때, 다중입출력 수신기(100)는 Nt 개의 수신 안테나를 포함할 수 있다. Next, the multiple input/
여기서, 수신신호 벡터(Y)는 채널 행렬(H)과 송신신호 벡터(X) 사이의 곱에 잡음벡터(n)를 더한 값으로, 채널 행렬(H)은 각 송신 안테나와 각 수신 안테나 쌍 사이에서의 채널 이득 정보에 기초하는 행렬일 수 있다. 예를 들면, 채널 행렬(H)의 j번째 행, i번째 열에 해당하는 (hj,i)요소는 j번째 수신 안테나와 i번째 송신 안테나 사이에 형성된 채널의 신호 이득 정보를 의미할 수 있다. 이때, n은 부가적인 백색 가우시안 잡음(white Gaussian noise) 벡터일 수 있다.Here, the received signal vector (Y) is a value obtained by adding the noise vector (n) to the product between the channel matrix (H) and the transmission signal vector (X), and the channel matrix (H) is between each transmit antenna and each receive antenna pair. It may be a matrix based on the channel gain information of. For example, the (hj,i) element corresponding to the j-th row and the i-th column of the channel matrix H may mean signal gain information of a channel formed between the j-th receiving antenna and the i-th transmitting antenna. In this case, n may be an additional white Gaussian noise vector.
이러한 다중입출력 수신기(100)는 채널 행렬(H)을 단위 행렬(Q)과 상삼각 행렬(R)의 곱으로 분해하는 QR 분해(QR decomposition) 동작을 통해 중간 행렬(W)을 생성할 수 있다. 이때, 다중입출력 수신기(100)는 상기 QR 분해 동작을 통해 도출된 상삼각 행렬(R)에 기초하여, 수신신호 벡터(Y)로부터 송신신호 벡터(X)를 복원할 수 있다. The multiple input/
예를 들면, 채널 행렬(H)은 단위 행렬(Q)과 상삼각 행렬(R)의 곱이므로. 상삼각 행렬(R)은 채널 행렬(H)과 단위 행렬(Q)의 직교 행렬(QH)과의 곱일 수 있다. 여기서, 직교 행렬(QH)은 단위 행렬(Q)의 에르미트 행렬이라 지칭될 수 있다. 이때, 중간 행렬(W)은 채널 행렬(H)로부터 QR 분해 동작에 따라 갱신되는 행렬일 수 있다. For example, since the channel matrix (H) is the product of the identity matrix (Q) and the upper triangular matrix (R). The upper triangular matrix R may be a product of the channel matrix H and the orthogonal matrix Q H of the identity matrix Q. Here, the orthogonal matrix Q H may be referred to as an Hermitian matrix of the identity matrix Q. In this case, the intermediate matrix W may be a matrix updated according to a QR decomposition operation from the channel matrix H.
이하, 도 2를 참조하여, 본 출원의 실시예에 따른 그람-슈미트 QR 분해 기반의 다중입출력 수신기(100)에 대해 보다 구체적으로 설명될 것이다. Hereinafter, with reference to FIG. 2, a Gram-Schmidt QR decomposition-based multiple input/
도 2는 일 실시예에 따른 도 1의 다중입출력 수신기(100)의 블록도이고, 도 3은 도 2의 제1 및 제2 코딕부(110, 120)의 동작을 설명하기 위한 도이다. FIG. 2 is a block diagram of the multiple input/
도 1 내지 도 3을 참조하면, 다중입출력 수신기(100)는 제1 코딕부(110)와 제2 코딕부(120)를 포함할 수 있다. 1 to 3, the multiple input/
먼저, 제1 코딕부(110)는 중간 행렬(W)의 열 벡터(wi)에 대해 반복적인 벡터링코딕 동작을 수행할 수 있다. First, the
구체적으로, 제1 코딕부(110)는 중간 행렬(W)의 열 벡터(wi)를 쉬프팅 연산 및 덧셈 연산하여, 제1 코딕 행렬을 출력할 수 있다. 여기서, 제1 코딕 행렬의 X축 크기는 상삼각 행렬(R)의 표준 요소(ri,i)의 크기에 대응될 수 있다. 예를 들면, 상삼각 행렬(R)의 표준 요소(ri,i)는 행렬의 대각선에 위치한 요소들(r11, r22, r33, r44)일 수 있다. Specifically, the
즉, 제1 코딕부(110)는 상삼각 행렬(R)의 표준 요소를 획득하기 위한 종래의 제곱 연산과 제곱근 연산을 쉬프팅 연산 및 덧셈 연산으로 간단하게 구현할 수 있다. That is, the
다음으로, 제2 코딕부(120)는 제1 코딕부(110)를 통해 회전되는 중간 행렬(W)의 열 벡터(wi)의 회전 방향(σ)에 기초하여, 열 벡터(wi)의 초기 열 벡터(w0)에 대해 반복적인 로테이션코딕 동작을 수행할 수 있다. Next, based on the rotation direction (σ) of the column vector (wi) of the intermediate matrix (W) rotated through the first codec unit (110), the second codeic unit (120), the initial of the column vector (wi). An iterative rotation codec operation may be performed on the column vector w0.
구체적으로, 제2 코딕부(120)는 제1 코딕부(110)를 통해 반복적인 벡터링코딕 동작에 따라 회전되는 회전 방향(σ)에 기초하여, 초기 열 벡터(w0)를 쉬프팅 연산 및 덧셈 연산하여 제2 코딕 행렬을 출력할 수 있다. 여기서, 제2 코딕 행렬은 직교 행렬(QH)의 직교 열 벡터(qi)에 대응될 수 있다. Specifically, the
즉, 제2 코딕부(120)는 직교 열 벡터(qi)를 획득하기 위한 종래의 나눗셈 연산을 제2 코딕부(120)를 통해 쉬프팅 연산 및 덧셈 연산으로 간단하게 구현할 수 있다. That is, the
본 출원의 일 실시예에 따른 그람-슈미트 QR 분해 기반의 다중입출력 수신기(100)는 회전 방향(σ)을 공유하는 제1 및 제2 코딕부(110, 120)의 쉬프팅 연산 및 덧셈 연산을 통해 표준 요소(ri,i)와 직교 열 벡터(qi)를 획득할 수 있다. 이에 따라, 그람-슈미트 QR 분해 기반의 다중입출력 수신기(100)는 표준 요소(ri,i)와 직교 열 벡터(qi)를 획득하기 위하여, 종래의 복잡한 연산에 필요한 하드웨어의 지연시간, 면적 및 에너지 소모를 감소시킬 수 있다. The Gram-Schmidt QR decomposition-based multiple input/
도 4a는 일 실시예에 따른 도 2의 제1 코딕부(110)의 반복적인 벡터링코딕 동작도이고, 도 4b는 다른 실시예에 따른 도 2의 제1 코딕부(110)의 반복적인 벡터링코딕 동작도이다. FIG. 4A is a repetitive vectoring codec operation diagram of the
먼저, 도 4a를 참조하면, 중간 행렬(W)의 열 벡터(wi)가 벡터(x, y)인 경우, 제1 코딕부(110)는 열 벡터(wi)가 X축에 수렴되도록 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. 여기서, 회전 동작들(Iterative Rotations)은 벡터링코딕 동작을 의미할 수 있다. 예를 들면, 도 4a에 도시된 바와 같이, 제1 코딕부(110)는 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 1 내지 4 순서로 수행할 수 있다. First, referring to FIG. 4A, when the column vector wi of the intermediate matrix W is a vector (x, y), the
또한, 도 4b를 참조하면, 중간 행렬(W)의 열 벡터(wi)가 벡터(x, y)인 경우, 제1 코딕부(110)는 열 벡터(wi)가 X축에 수렴되도록 기설정된 시계열 회전 각도에 따라, 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. 예를 들면, 제1 코딕부(110)는 90도, 45도, 26.565도, 14.036도, ...와 같은 기설정된 시계열 회전 각도에 따라, 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. In addition, referring to FIG. 4B, when the column vector wi of the intermediate matrix W is a vector (x, y), the
실시예에 따른 제1 코딕부(110)는 기설정된 시계열 회전 각도에 따라 수행되는 반복적인 회전 동작들(Iterative Rotations)에 따라, 기설정된 회전 방정식(1)으로부터 제1 코딕 연산식(4)을 도출할 수 있다. The
구체적으로, 기설정된 회전 방정식(1)은 (1)로서, 일반적인 벡터(x,y)의 회전에 대한 행렬식일 수 있다. 또한, 기설정된 회전 방정식(1)은 탄젠트 치환식(2)로 치환될 수 있다. Specifically, the preset rotation equation (1) is As (1), it may be a determinant for the rotation of a general vector (x,y). In addition, the predetermined rotation equation (1) may be substituted with the tangent substitution equation (2).
여기서, 탄젠트 치환식(2)은, Here, the tangent substitution formula (2) is,
(2)이고, 이때, θ가 90도, 45도, 26.565도, 14.036도, ...인 기설정된 시계열 회전 각도이므로, tan(θ)는 2k로 치환될 수 있다. (2), and at this time, since θ is a preset time series rotation angle of 90 degrees, 45 degrees, 26.565 degrees, 14.036 degrees, ..., tan(θ) can be replaced by 2 k.
이러한 탄젠트 치환식(2)은 반복적인 회전 동작들(Iterative Rotations) 횟수에 기초하는 다음의 회전각 방정식(3)으로 치환될 수 있다. This tangent substitution equation (2) can be substituted with the following rotation angle equation (3) based on the number of iterative rotations.
여기서, 회전각 방정식(3)은, Here, the rotation angle equation (3) is,
(3)일 수 있다. It can be (3).
이러한 회전각 방정식(3)은 회전 방향(σ)을 적용하기 위하여, 다음의 제1 코딕 연산식(4)로 치환될 수 있다. This rotation angle equation (3) can be replaced with the following first codeic equation (4) in order to apply the rotation direction (σ).
여기서, 다음의 제1 코딕 연산식(4)은, Here, the following first codec formula (4),
(4) 이고, (4) is,
이때, x는 상기 제1 코딕 행렬의 x축 크기이고, y는 상기 제1 코딕 행렬의 y축 크기이며, i는 상기 반복적인 벡터링코딕 동작의 i번째 순번을 나타내고, σ는 벡터링 회전 방향을 나타낼 수 있다. Here, x is the size of the x-axis of the first codec matrix, y is the size of the y-axis of the first codec matrix, i is the i-th order of the repetitive vectoring codec operation, and σ is the vectoring rotation direction. Can be indicated.
구체적으로, 벡터링 회전 방향(σ)은 이전 순번의 제1 코딕 행렬(xi-1,yi-1)의 y축 정보(yi-1)의 부호에 따라 시계 방향 및 반시계 방향 중 어느 하나로 결정될 수 있다. Specifically, the vectoring rotation direction (σ) is either clockwise or counterclockwise according to the sign of the y-axis information (y i-1 ) of the first codec matrix (x i-1 ,y i-1) of the previous order. Can be determined by one.
예를 들면, 이전 순번의 제1 코딕 행렬(xi-1,yi-1)의 y축 정보(yi-1)가 (-)부호인 경우, 벡터링 회전 방향(σ)은 반시계 방향(Counter Clock-Wise)인 +1일 수 있다. 또한, 이전 순번의 제1 코딕 행렬(xi-1,yi-1)의 y축 정보(yi-1)가 (+)부호인 경우, 벡터링 회전 방향(σ)은 시계 방향(Clock-Wise)인 -1일 수 있다. For example, when the y-axis information (y i-1 ) of the first codec matrix (x i-1 ,y i-1 ) of the previous order is a (-) sign, the vectoring rotation direction (σ) is counterclockwise. It may be +1, which is (Counter Clock-Wise). In addition, when the y-axis information (y i-1 ) of the first codec matrix (x i-1 ,y i-1 ) of the previous order is a (+) sign, the vectoring rotation direction (σ) is clockwise (Clock- Wise) may be -1.
실시예에 따라, 제1 코딕부(110)는 제1 코딕 연산식(1)에서, 상수 를 누적하여, 반복적인 벡터링코딕 동작의 마지막 벡터링 동작에서 스케일 팩터를 한번에 연산할 수 있다. Depending on the embodiment, the
여기서, 스케일 팩터는 다음의 스케일 팩터 연산식(5)을 통해 계산되고, Here, the scale factor is calculated through the following scale factor calculation equation (5),
이때, 스케일 팩터 연산식(5)은 (5)일 수 있다. At this time, the scale factor calculation formula (5) is It can be (5).
도 5a는 일 실시예에 따른 도 2의 제2 코딕부(120)의 반복적인 로테이션코딕 동작도이고, 도 5b는 다른 실시예에 따른 도 2의 제2 코딕부(120)의 반복적인 로테이션코딕 동작도이다.5A is a repetitive rotation codec operation diagram of the
먼저, 도 5a를 참조하면, 초기 열 벡터(w0)가 벡터(x, y)인 경우, 제2 코딕부(120)는 상기 벡터(x, y)와 θ각을 이루는 라인(이하, 'θ라인'이라 칭함)에 수렴되도록 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. 여기서, 회전 동작들(Iterative Rotations)은 로테이션코딕 동작을 의미할 수 있다. 예를 들면, 도 5a에 도시된 바와 같이, 제2 코딕부(120)는 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 1 내지 4 순서로 수행할 수 있다. First, referring to FIG. 5A, when the initial column vector w0 is a vector (x, y), the
또한, 도 5b를 참조하면, 초기 열 벡터(w0)가 벡터(x, y)인 경우, 제2 코딕부(120)는 벡터(x, y)가 θ 라인에 수렴되도록 기설정된 시계열 회전 각도에 따라, 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. 예를 들면, 제2 코딕부(120)는 90도, 45도, 26.565도, 14.036도, ...와 같은 시계열 회전 각도에 따라, 벡터(x, y)에 대한 반복적인 회전 동작들(Iterative Rotations)을 순차적으로 수행할 수 있다. In addition, referring to FIG. 5B, when the initial column vector w0 is a vector (x, y), the
실시예에 따른 제2 코딕부(120)는 기설정된 시계열 회전 각도에 따라 수행되는 반복적인 회전 동작들(Iterative Rotations)에 따라, 기설정된 회전 방정식(1)으로부터 제2 코딕 연산식(6)을 도출할 수 있다. 이하, 제2 코딕 연산식(6)은 제1 코딕 연산식(4)을 도출하는 과정과 유사하므로, 제2 코딕 연산식(6)을 도출하는 상세한 설명은 생략될 것이다. The
여기서, 제2 코딕 연산식(6)은, Here, the second codeic calculation equation (6),
(6)이고, (6),
이때, x는 상기 제2 코딕 행렬의 x축 크기이고, y는 상기 제2 코딕 행렬의 y축 크기이며, i는 상기 반복적인 로테이션코딕 동작의 i번째 순번을 나타내고, σ는 로테이션 회전 방향을 나타낼 수 있다. In this case, x is the size of the x-axis of the second codec matrix, y is the size of the y-axis of the second codec matrix, i is the i-th order of the repetitive rotation codec operation, and σ is the rotation direction of rotation. I can.
구체적으로, 제2 코딕 연산식(6)의 로테이션 회전 방향(σ)은 θ 라인을 기준으로, 이전 순번의 제2 코딕 행렬(xi-1,yi-1)이 위치한 방향에 따라 시계 방향 및 반시계 방향 중 어느 하나로 결정될 수 있다. Specifically, the rotational rotation direction (σ) of the second codeic calculation equation (6) is clockwise based on the θ line and the direction in which the second codeic matrix (x i-1 ,y i-1 ) of the previous sequence is located. And counterclockwise direction.
예를 들면, 이전 순번의 제2 코딕 행렬(xi-1,yi-1)이 θ 라인을 기준으로, 시계 방향(Clock-Wise)에 위치한 경우, 제2 코딕 연산식(6)의 로테이션 회전 방향(σ)은 반시계 방향(Counter Clock-Wise)인 -1일 수 있다. 또한, θ 라인을 기준으로, 이전 순번의 제2 코딕 행렬(xi-1,yi-1)이 반시계방향(Counter Clock-Wise)에 위치한 경우, 제2 코딕 연산식(6)의 로테이션 회전 방향(σ)은 시계 방향(Clock-Wise)인 +1일 수 있다. For example, when the second codeic matrix (x i-1 ,y i-1 ) of the previous sequence is located in the clockwise direction (Clock-Wise) with respect to the θ line, the rotation of the second codeic equation (6) The rotation direction σ may be -1, which is a counter clock-wise. Also, based on the θ line, when the second codeic matrix (x i-1 ,y i-1 ) of the previous sequence is located in the counterclockwise direction (Counter Clock-Wise), the rotation of the second codeic equation (6) The rotation direction (σ) may be +1, which is a clockwise direction (Clock-Wise).
도 6은 도 2의 다중입출력 수신기(100)의 동작 프로세스이다. 6 is an operation process of the multiple input/
도 6을 참조하면, S110 단계에서, 제1 코딕부(110)는 중간 행렬(W)의 열 벡터(wi)에 대해 반복적인 벡터링코딕 동작을 수행할 수 있다. Referring to FIG. 6, in step S110, the
그런 다음, S120 단계에서, 제2 코딕부(120)는 벡터링코딕 동작에 따라 회전되는 회전 방향에 기초하여, 초기 열 벡터(w0)에 대해 반복적인 로테이션코딕 동작을 수행할 수 있다. 이때, 반복적인 벡터링코딕 동작의 횟수는 반복적인 로테이션코딕 동작의 횟수보다 크거나 같을 수 있다. Then, in step S120, the
도 7은 도 2의 제1 및 제2 코딕부(110, 120)의 동작을 구체적으로 보여주는 도이고, 도 8은 도 2의 제1 코딕부(110)의 동작 프로세스이고, 도 9는 도 2의 제2 코딕부(120)의 동작 프로세스이다. 7 is a diagram specifically showing the operation of the first and second
먼저, 도 7과 도 8을 참조하면, S210 단계에서, 제1 코딕부(110)는 복소수 열 벡터들을 입력받을 수 있다. 여기서, 복소수 열 벡터들은 허수부 벡터들{Im(h1i), Im(h2i), Im(h3i), Im(h4i)}과 실수부 벡터들{Re(h1i), Re(h2i), Re(h3i), Re(h4i)}을 포함할 수 있다. First, referring to FIGS. 7 and 8, in step S210, the
그런 다음, S220 단계에서, 제1 코딕부(110)는 복소수 열 벡터들로부터 허수부 벡터들{Im(h1i), Im(h2i), Im(h3i), Im(h4i)}을 제거하고, 실수부 벡터들{Re(h1i), Re(h2i), Re(h3i), Re(h4i)}을 획득하는 제1 벡터링모드를 수행할 수 있다. 여기서, 제1 벡터링모드는 복소수 열 벡터들에 대해 쉬프팅 연산 및 덧셈 연산하여, 실수부 벡터들을 포함하는 코딕 행렬을 출력하기 위한 제1 코딕부(110)의 동작모드일 수 있다. 이때, 제1 코딕부(110)는 제1 벡터링모드에 따라 연산되는 제1 스케일 팩터(K1)를 획득할 수 있다. Then, in step S220, the
그런 다음, S230 단계에서, 제1 코딕부(110)는 실수부 벡터들{Re(h1i), Re(h2i), Re(h3i), Re(h4i)}로부터 절반을 제거하고, 나머지 실수부 벡터들{Re(h1i), Re(h3i)}을 획득하는 제2 벡터링모드를 수행할 수 있다. 여기서, 제2 벡터링모드는 실수부 벡터들{Re(h1i), Re(h2i), Re(h3i), Re(h4i)}에 대해 쉬프팅 연산 및 덧셈 연산하여, 나머지 실수부 벡터들{Re(h1i), Re(h3i)}을 포함하는 코딕 행렬을 출력하기 위한 제1 코딕부(110)의 동작모드일 수 있다. 이때, 제1 코딕부(110)는 제2 벡터링모드에 따라 연산되는 제2 스케일 팩터(K2)를 획득할 수 있다. Then, in step S230, the
그런 다음, S240 단계에서, 제1 코딕부(110)는 나머지 실수부 벡터들{Re(h1i), Re(h3i)}로부터 하나의 실수부 벡터{Re(h1i)}를 획득하는 제3 벡터링모드를 수행할 수 있다. 여기서, 제3 벡터링모드는 나머지 실수부 벡터들{Re(h1i), Re(h3i)}에 대해 쉬프팅 연산 및 덧셈 연산하여, 하나의 실수부 벡터{Re(h1i)}를 포함하는 코딕 행렬을 출력하기 위한 제1 코딕부(110)의 동작모드일 수 있다. 이때, 제1 코딕부(110)는 제3 벡터링모드에 따라 연산되는 제3 스케일 팩터(K3)를 획득할 수 있다. Then, in step S240, the
이후, S250 단계에서, 제1 코딕부(110)는 하나의 실수부 벡터{Re(h1i)}와 제1 내지 제3 스케일 팩터(K1, K2, K3)에 기초하여, 상삼각 행렬(R)의 표준 요소(ri,i)를 획득할 수 있다. 구체적으로, 제1 코딕부(110)는 제3 벡터링모드를 통해 획득된 하나의 실수부 벡터{Re(h1i)}와 제1 내지 제3 벡터링모드를 통해 획득된 제1 내지 제3 스케일 팩터(K1, K2, K3)를 곱하여, 상삼각 행렬(R)의 표준 요소(ri,i)를 계산할 수 있다. 여기서, 제1 내지 제3 스케일 팩터(K1, K2, K3)는 표준 요소(ri,i)의 에러 보정동작을 수행하기 위함이다. Thereafter, in step S250, the
다음으로, 도 7과 도 9를 참조하면, S310 단계에서, 제2 코딕부(120)는 제1 내지 제3 스케일 팩터(K1, K2, K3)가 미리 곱해진 초기 열 벡터(w0)를 입력받을 수 있다. Next, referring to FIGS. 7 and 9, in step S310, the
그런 다음, S320 단계에서, 제2 코딕부(120)는 제3 벡터링모드에 따라 회전되는 제3 회전 방향(σvec, 3)에 기초하여, 초기 열 벡터(w0)를 회전시키는 제1 로테이션모드를 통해 제1 로테이션출력을 획득할 수 있다. 여기서, 제1 로테이션모드는 초기 열 벡터(w0)에 대해 쉬프팅 연산 및 덧셈 연산하여, 적어도 둘의 실수부 직교열 벡터들을 포함하는 제1 로테이션출력을 획득하기 위한 동작모드일 수 있다. Then, in step S320, the
그런 다음, S330 단계에서, 제2 코딕부(120)는 제2 벡터링모드에 따라 회전되는 제2 회전 방향(σvec, 2)에 기초하여, 제1 로테이션출력을 회전시키는 제2 로테이션모드를 통해 제2 로테이션출력을 획득할 수 있다. 여기서, 제2 로테이션모드는 적어도 둘의 실수부 벡터들에 대해 쉬프팅 연산 및 덧셈 연산하여, 실수부 직교열 벡터들을 모두 포함하는 제2 로테이션출력을 획득하기 위한 동작모드일 수 있다. Then, in step S330, the
이후, S340 단계에서, 제2 코딕부(120)는 제1 벡터링모드에 따라 회전되는 제1 회전 방향(σvec, 1)에 기초하여, 제2 로테이션출력을 회전시키는 제3 로테이션모드를 통해 제3 로테이션출력을 획득할 수 있다. 여기서, 제3 로테이션모드는 실수부 직교열 벡터들에 대해 쉬프팅 연산 및 덧셈 연산하여, 복소수 직교열 벡터들을 포함하는 제3 로테이션출력을 획득하기 위한 동작모드일 수 있다. 이때, 복소수 직교 열 벡터들은 실수부 직교 열 벡터들{Re(q1i), Re(q2i), Re(q3i), Re(q4i)}과 허수부 직교 열 벡터들{Im(q1i), Im(q2i), Im(q3i), Im(q4i)}을 포함할 수 있다. Thereafter, in step S340, the
도 10은 다른 실시예에 따른 도 1의 다중입출력 수신기(100_1)의 블록도이다. 10 is a block diagram of the multiple input/output receiver 100_1 of FIG. 1 according to another embodiment.
도 10을 참조하면, 다중입출력 수신기(100_1)는 코딕부(150)와 프로젝션부(200)를 포함할 수 있다. Referring to FIG. 10, the multiple input/output receiver 100_1 may include a cordic unit 150 and a
먼저, 코딕부(150)는 중간 행렬(W)의 열 벡터(wi)에 대해 반복적인 벡터링코딕 동작을 순차적으로 수행하여, 상삼각 행렬(R)의 표준 요소(ri,i)를 출력할 수 있다. 또한, 코딕부(150)는 반복적인 벡터링코딕 동작에 따라 회전되는 열 벡터(wi)의 회전 방향에 기초하여, 초기 열 벡터(w0)에 대해 반복적인 로테이션코딕 동작을 순차적으로 수행할 수 있다. 이때, 코딕부(150)는 반복적인 로테이션코딕 동작을 통해 직교 행렬(QH)의 직교 열 벡터(qi)를 출력할 수 있다. First, the codec unit 150 sequentially performs an iterative vectoring codec operation on the column vector wi of the intermediate matrix W, and outputs the standard elements r i, i of the upper triangular matrix R. can do. In addition, the codec unit 150 may sequentially perform a rotation codec operation repetitively on the initial column vector w0 based on the rotation direction of the column vector wi rotated according to the repetitive vectoring codec operation. . In this case, the codec unit 150 may output an orthogonal column vector qi of the orthogonal matrix Q H through an iterative rotation codec operation.
여기서, 초기 열 벡터(w0)는 중간 행렬(W)의 열 벡터(wi)에 대응되는 벡터일 수 있다. 예를 들면, 중간 행렬(W)의 열 벡터(wi)가 (3, 5)인 경우, 초기 열 벡터(w0)는 (3, 0)일 수 있다. Here, the initial column vector w0 may be a vector corresponding to the column vector wi of the intermediate matrix W. For example, when the column vector wi of the intermediate matrix W is (3, 5), the initial column vector w0 may be (3, 0).
이러한 코딕부(150)는 도 2 내지 도 5에서 설명된 제1 및 제2 코딕부(110, 120)를 포함하며, 도 2 내지 도 5에서 설명된 제1 및 제2 코딕부(110, 120)의 기능을 동일하게 수행할 수 있다. 이하, 도 2 내지 도 5에서 설명된 제1 및 제2 코딕부(110, 120)를 포함하는 코딕부(150)에 대한 중복된 설명은 생략될 것이다. The cordic unit 150 includes the first and second
다음으로, 프로젝션부(200)는 표준 요소(ri,i)와 직교 열 벡터(qi)에 응답하여, 표준 요소(ri,i)와 동일한 행에 위치한 나머지 요소들(ri,j≠i)과 중간 행렬(W)의 나머지 열 벡터들(wj≠i)을 출력할 수 있다. Next, the projection unit 200 responds to the standard element (r i,i ) and the orthogonal column vector (qi), and the remaining elements (r i,j≠ ) located in the same row as the standard element (r i,i) i ) and the remaining column vectors (w j≠i ) of the intermediate matrix W may be output.
구체적으로, 프로젝션부(200)는 직교 열 벡터(qi)의 에르미트 행렬(qi H)과 채널 행렬(H)의 나머지 열(hj≠i)에 기초하여, 표준 요소(ri,i)와 동일한 행에 위치한 나머지 요소들(ri,j≠i)을 획득할 수 있다. 여기서, 나머지 요소들(ri,j≠i)은 표준 요소(ri,i)의 동일한 행에 위치한 우측 요소들일 수 있다. 이때, 프로젝션부(200)는 곱셈기와 가산기를 이용하여, 직교 열 벡터(qi)의 에르미트 행렬(qi H)과 채널 행렬(H)의 나머지 열(hj≠i)을 계산할 수 있다.Specifically, the
또한, 프로젝션부(200)는 채널 행렬(H)의 나머지 열(hj≠i), 나머지 요소들(ri,j≠i) 및 직교 열 벡터(qi)에 기초하여, 중간 행렬(W)의 나머지 열 벡터들(wj≠i)을 업데이트할 수 있다. 이때, 프로젝션부(200)는 채널 행렬(H)의 나머지 열(hj≠i), 나머지 요소들(ri,j≠i) 및 직교 열 벡터(qi)를 곱셈기와 가산기를 통해 계산할 수 있다. In addition, the
도 11은 도 10의 다중입출력 수신기(100_1)가 세미파이프 라인 QR 분해구조로 적용된 일 예이다.11 is an example in which the multiple input/output receiver 100_1 of FIG. 10 is applied in a semi-pipe line QR decomposition structure.
도 11을 참조하면, 다중입출력 수신기(100_1)는 제0 내지 제3 코딕스테이지들(151~154)와 제0 내지 3 프로젝션들(201~204)을 포함할 수 있다. Referring to FIG. 11, the multiple input/output receiver 100_1 may include 0th to third codex stages 151 to 154 and 0 to 3
먼저, 제0 내지 제3 코딕스테이지들(151~154) 각각은 도 10에서 설명된 코딕부(150)와 동일한 기능을 수행하는 모듈이고, 제0 내지 3 프로젝션들(201~204) 각각은 도 10에서 설명된 프로젝션부(200)와 동일한 기능을 수행하는 모듈일 수 있다. 이하에서는, 도 10의 코딕부(150)와 중복된 제0 내지 제3 코딕스테이지들(151~154)의 동작설명과 도 10의 프로젝션부(200)와 중복된 제0 내지 3 프로젝션들(201~204)의 동작설명은 생략될 것이다. First, each of the 0th to 3rd codec stages 151 to 154 is a module that performs the same function as the codec unit 150 described in FIG. 10, and each of the 0th to
예를 들면, 제0 코딕스테이지(151)는 4×4 채널 행렬의 제1 열 벡터(h1)에 기초하여, 제1 표준 요소(r1,1)와 제1 직교 열 벡터(q1)를 출력할 수 있다. 여기서, 제1 열 벡터(h1)는 중간 행렬(W)의 제1 열 벡터(w1)와 동일할 수 있다. For example, the 0th codec stage 151 outputs a first standard element (r 1,1 ) and a first orthogonal column vector (q1) based on a first column vector (h1) of a 4×4 channel matrix. can do. Here, the first column vector h1 may be the same as the first column vector w1 of the intermediate matrix W.
그런 다음, 제0 프로젝션(201)와 제1 프로젝션(202)은 제1 직교 열 벡터(q1), 제1 직교 열 벡터(q1)의 에르미트 행렬(q1 H) 및 채널 행렬(H)의 나머지 열 벡터(h2, h3, h4)에 기초하여, 제1 표준 요소(r1,1)와 동일한 행에 위치한 나머지 요소들(r1,2, r1,2, r1,4)을 획득할 수 있다. Then, the
이때, 제0 프로젝션(201)은 채널 행렬(H)의 나머지 열 벡터 중 하나(h2), 나머지 요소들 중 하나(r1,2) 및 제1 직교 열 벡터(q1)에 기초하여, 중간 행렬(W)의 나머지 열 벡터들(w2, w3, w4)을 업데이트할 수 있다. In this case, the
그런 다음, 제1 코딕스테이지(152)는 제0 프로젝션(201)을 통해 업데이트되는 중간 행렬(W)의 제2 열 벡터(w2)에 기초하여, 제2 표준 요소(r2,2)와 제2 직교 열 벡터(q2)를 출력할 수 있다. Then, the first codec stage 152 is based on the second column vector (w 2 ) of the intermediate matrix (W) updated through the
이때, 제2 프로젝션(201)은 제2 직교 열 벡터(q2), 제2 직교 열 벡터(q2)의 에르미트 행렬(q2 H) 및 중간 행렬(W)의 제3 및 제4 열 벡터(w3, w4)에 기초하여, 제2 표준 요소(r2,2)와 동일한 행에 위치한 나머지 요소들(r2,3, r2,4)을 획득하고, 중간 행렬(W)의 제3 및 제4 열 벡터(w3, w4)를 업데이트 할 수 있다. At this time, the
그런 다음, 제2 코딕스테이지(153)는 제2 프로젝션(203)을 통해 업데이트되는 중간 행렬(W)의 제3 열 벡터(w3)에 기초하여, 제3 표준 요소(r3,3)와 제3 직교 열 벡터(q3)를 출력할 수 있다. Then, the second codec stage 153 is based on the third column vector (w 3 ) of the intermediate matrix (W) updated through the second projection (203), the third standard element (r 3 , 3) and A third orthogonal column vector q3 may be output.
이때, 제3 프로젝션(204)은 제3 직교 열 벡터(q3), 제3 직교 열 벡터(q3)의 에르미트 행렬(q3 H) 및 중간 행렬(W)의 제3 열 벡터(w4)에 기초하여, 제3 표준 요소(r3,3)와 동일한 행에 위치한 나머지 요소(r3,4)를 획득하고, 중간 행렬(W)의 제4 열 벡터(w4)를 업데이트할 수 있다. In this case, the
이후, 제3 코딕스테이지(154)는 제3 프로젝션(204)을 통해 업데이트되는 중간 행렬(W)의 제4 열 벡터(w4)에 기초하여, 제4 표준 요소(r4,4)와 제4 직교 열 벡터(q4)를 출력할 수 있다. Thereafter, the third codex stage 154 is based on the fourth column vector (w 4 ) of the intermediate matrix (W) updated through the
실시예에 따라, 다중입출력 수신기(100_1)는 하나의 코딕스테이지와 적어도 둘의 프로젝션들을 한쌍으로 하여, 컬럼 별로 직교 열 벡터(qi)를 연속적으로 출력할 수 있다. According to an embodiment, the multiple input/output receiver 100_1 may continuously output an orthogonal column vector qi for each column by making one codextage and at least two projections as a pair.
도 12는 도 11의 제0 내지 제3 코딕스테이지들(151~154) 각각을 구체적으로 보여주는 블록도이고, 도 13은 도 11의 제2 프로젝션(120)의 타이밍 도이다. 12 is a block diagram specifically showing each of the 0th to third codec stages 151 to 154 of FIG. 11, and FIG. 13 is a timing diagram of the
도 12와 도 13을 참조하면, 제0 내지 제3 코딕스테이지(151~154) 각각은 제1 코딕부(110), 제2 코딕부(120), 플립플롭부(130)를 포함할 수 있다. Referring to FIGS. 12 and 13, each of the 0th to third
먼저, 제1 코딕부(110)는 표준 요소(ri,i)를 획득하기 위하여, 반복적인 벡터링코딕 동작을 순차적으로 수행하는 복수의 벡터링스텝 모듈들을 포함할 수 있다. 여기서, 복수의 벡터링스텝 모듈들(Vec.Step1~Vec.Step3)은 제1 내지 제3 동작 구간들에 따라 반복적인 벡터링코딕 동작을 단계별로 수행할 수 있다. 이때, 제1 내지 제3 동작 구간 각각은 4 단위의 클럭 시간을 갖을 수 있다. First, the
구체적으로, 제1 벡터링스텝 모듈들(Vec.Step1)은 제1 동작 구간에서 벡터링코딕 동작을 동시에 수행하기 위한 적어도 네개의 모듈들을 포함할 수 있다. 또한, 제2 벡터링스텝 모듈들(Vec.Step2)은 제2 동작 구간에서 벡터링코딕 동작을 동시에 수행하기 위한 적어도 둘의 모듈들을 포함할 수 있다. 또한, 제3 벡터링 스텝 모듈(Vec.Step3)은 제3 동작 구간에서 벡터링코딕 동작을 수행하기 위한 적어도 하나의 모듈을 포함할 수 있다. Specifically, the first vectoring step modules Vec. Step1 may include at least four modules for simultaneously performing a vectoring codec operation in the first operation period. In addition, the second vectoring step modules Vec. Step2 may include at least two modules for simultaneously performing a vectoring codec operation in the second operation period. In addition, the third vectoring step module (Vec.Step3) may include at least one module for performing a vectoring codec operation in the third operation period.
다음으로, 제2 코딕부(120)는 직교 열 벡터(qi)를 획득하기 위하여, 반복적인 로테이션코딕 동작을 순차적으로 수행하는 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3)을 포함할 수 있다. 여기서, 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3)은 제1 내지 제3 동작 구간들에 따라 반복적인 로테이션코딕 동작을 단계별로 수행할 수 있다. 이때, 제1 내지 제3 동작 구간 각각은 4 클럭 사이클을 갖을 수 있다. Next, the
또한, 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3)의 개수와 복수의 벡터링스텝 모듈들(Vec.Step1~Vec.Step3)의 개수는 서로 동일하므로, 벡터링코딕 동작의 횟수와 로테이션코딕 동작의 횟수는 서로 동일할 수 있다. 예를 들면, 복수의 벡터링스텝 모듈들(Vec.Step1~Vec.Step3)이 8번의 벡터링코딕 동작을 수행할 때, 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3)은 8번의 로테이션코딕 동작을 수행할 수 있다. In addition, since the number of the plurality of rotation step modules (Rot.Step1 to Rot.Step3) and the number of the plurality of vectoring step modules (Vec.Step1 to Vec.Step3) are the same, the number of vectoring codec operations and the rotation are the same. The number of codec operations may be the same. For example, when a plurality of vectoring step modules (Vec.Step1 to Vec.Step3) perform eight vectoring codec operations, the plurality of rotation step modules (Rot.Step1 to Rot.Step3) rotate eight times. You can perform a codec operation.
실시예에 있어서, 제2 코딕부(120)는 복수의 멀티플렉서들(170,175_1~175_6)를 더 포함할 수 있다. 구체적으로, 복수의 멀티플렉서들(170,175_1~175_6) 중 한쌍의 멀티플렉서(170)는 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3) 중 가장 우선 순위의 제1 로테이션스텝 모듈(Rot.Step1)을 동작시킬 수 있다. 예를 들면, 한쌍의 멀티플렉서(170)는 제3 벡터링 스텝 모듈(Vec.Step3)을 통해 출력된 회전 방향(σVec.Step3,1)과 부호 비트(sign_a)에 응답하여, 제1 로테이션스텝 모듈(Rot.Step1)의 반복적인 로테이션코딕 동작을 동작시킬 수 있다. In an embodiment, the
또한, 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3) 중 나머지 멀티플렉서들(175_1~175_6) 각각은 나머지 로테이션스텝 모듈들(Rot.Step2~Rot.Step3) 각각을 동작시킬 수 있다. 예를 들면, 나머지 멀티플렉서들(175_1~175_6)은 제1 및 제2 벡터링 스텝 모듈(Vec.Step1, Vec.Step2)를 통해 출력된 부호 비트에 응답하여, 나머지 로테이션스텝 모듈들(Rot.Step2~Rot.Step3)의 반복적인 로테이션코딕 동작을 동작시킬 수 있다. In addition, each of the remaining multiplexers 175_1 to 175_6 among the plurality of rotation step modules (Rot.Step1 to Rot.Step3) may operate each of the remaining rotation step modules (Rot.Step2 to Rot.Step3). For example, the remaining multiplexers 175_1 to 175_6 respond to a sign bit output through the first and second vectoring step modules (Vec.Step1, Vec.Step2), and the remaining rotation step modules (Rot.Step2 to). Rot.Step3) repetitive rotation codec operation can be operated.
실시예에 있어서, 도 13에 도시된 바와 같이, 제3 벡터링 스텝 모듈(Vec.Step3)이 1번의 벡터링코딕 동작을 수행한 이후, 나머지 7번의 벡터링코딕 동작을 수행하는 경우, 제1 로테이션스텝 모듈(Rot.Step1)은 로테이션코딕 동작을 수행할 수 있다. 이에 따라, 제3 벡터링 스텝 모듈(Vec.Step3)을 통해 출력되는 부호 비트의 지연 시간은 감소될 수 있다. In an embodiment, as shown in FIG. 13, when the third vectoring step module (Vec.Step3) performs one vectoring codec operation and then performs the remaining 7 vectoring codec operations, the first rotation The step module (Rot.Step1) may perform a rotation codec operation. Accordingly, the delay time of the sign bit output through the third vectoring step module (Vec.Step3) may be reduced.
다음으로, 플립플롭부(130)는 복수의 벡터링스텝 모듈들(Vec.Step1~Vec.Step3)을 통해 회전되는 열 벡터(hi)의 회전 방향(σ)과 복수의 벡터링스텝 모듈들(Vec.Step1~Vec.Step3)을 통해 결정된 부호 비트를 지연시켜, 복수의 로테이션스텝 모듈들(Rot.Step1~Rot.Step3)로 출력할 수 있다. Next, the flip-
도 14는 도 10의 다중입출력 수신기(100_1)가 반복적인 QR 분해 구조로 적용된 일 예이고, 도 15는 도 14의 다중입출력 수신기(100_1)의 동작 타이밍도이다.14 is an example in which the multiple I/O receiver 100_1 of FIG. 10 is applied in a repetitive QR decomposition structure, and FIG. 15 is an operation timing diagram of the multiple I/O receiver 100_1 of FIG. 14.
도 14와 도 15를 참조하면, 다중입출력 수신기(100_1)는 코딕부(150), 프로젝션부(200), 글로벌 제어부(310), 코딕 제어부(320) 및 프로젝션 제어부(330)를 포함할 수 있다. 이하, 도 10에서 설명된 동일한 부재번호의 코딕부(150)와 프로젝션부(200)에 대한 중복된 설명은 생략될 것이다. 14 and 15, the multiple input/output receiver 100_1 may include a cordic unit 150, a
먼저, 글로벌 제어부(310)는 코딕부(150)를 제어하기 위한 제1 제어신호와 프로젝션부(200)를 제어하기 위한 제2 제어신호를 생성할 수 있다. First, the
다음으로, 코딕 제어부(320)는 글로벌 제어부(310)를 통해 생성된 제1 제어신호에 기초하여, 벡터링코딕 모드와 로테이션코딕 모드 중 하나의 코딕모드를 결정할 수 있다. Next, the
다음으로, 프로젝션 제어부(330)는 글로벌 제어부(310)를 통해 생성된 제2 제어신호에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기 중 적어도 하나를 제어할 수 있다. Next, the
다음으로, 코딕부(150)는 제1 코딕부(110), 제2 코딕부(120), 제0 입력부(111) 및 적어도 하나의 변환부(161~163)를 포함할 수 있다. Next, the cordic unit 150 may include a
구체적으로, 하나의 코딕모드가 코딕 제어부(320)를 통해 벡터링코딕 모드로 결정된 경우, 제1 코딕부(110)는 반복적인 벡터링코딕 동작을 순차적으로 수행할 수 있다. 또한, 하나의 코딕모드가 코딕 제어부(320)를 통해 로테이션코딕 모드로 결정된 경우, 제2 코딕부(120)는 반복적인 로테이션코딕 동작을 순차적으로 수행할 수 있다. Specifically, when one codec mode is determined as the vectoring codec mode through the
실시예에 있어, 적어도 하나의 변환부(161~163)는 하나의 코딕모드의 동작 구간에 기초하여, 제1 및 제2 코딕부(110, 120) 중 어느 하나로 변환할 수 있다. 이때, 제0 입력부(111)는 4×4 채널 행렬(H)의 제1 내지 제4 열 벡터(h1i~h4i)를 입력받는 별도의 구성으로 도시되지만, 실시예에 따라 제1 코딕부(110)에 포함된 구성일 수 있다. In an embodiment, the at least one
다음으로, 프로젝션부(200)는 제1 입력부(211), 제1 계산부(210), 제2 입력부(221), 제2 계산부(220) 및 합산부(230)를 포함할 수 있다. Next, the
구체적으로, 제1 입력부(211)는 프로젝션 제어부(330)의 제어에 따라, 코딕부(150)를 통해 출력된 각 출력 정보(out_0~out_4)를 제1 계산부(210)로 전달할 수 있다. 이때, 제1 계산부(210)는 각 출력 정보(out_0~out_4)에 기초하여, 복수의 곱셈기들을 통해 계산되는 제1 계산정보를 합산부(230)와 제2 입력부(221)로 출력할 수 있다. 여기서, 복수의 곱셈기들의 개수는 16개일 수 있다. Specifically, the
그런 다음, 제2 입력부(221)는 프로젝션 제어부(330)의 제어에 따라, 제1 계산부(210)를 통해 출력받는 제1 계산정보를 제2 계산부(220)로 전달할 수 있다. 이때, 제2 계산부(220)는 제1 계산정보에 기초하여, 복수의 가산기들을 통해 계산되는 제2 계산정보를 합산부(230)로 출력할 수 있다. 여기서, 복수의 가산기들의 개수는 16개일 수 있다. Then, the second input unit 221 may transmit the first calculation information output through the
그런 다음, 합산부(230)는 제1 내지 제4 클럭 구간 동안, 제1 및 제2 계산정보에 기초하여, 직교 열 벡터(qi)를 컬럼 별로 순차적으로 출력할 수 있다. 또한, 합산부(230)는 제1 내지 제4 클럭 구간 동안 제1 및 제2 계산정보에 기초하여, 상삼각 행렬(R)의 나머지 요소들(r1,2, r1, 3, r1, 4, r2, 3, r2, 4, r3, 4), 중간 행렬(W)의 나머지 열 벡터(w2, w3, w4), 및 채널 행렬(H)의 일부 열 벡터(h3, h4)를 출력할 수 있다. Then, the summing
다음으로, to the next,
100: 다중입출력 수신기
110: 제1 코딕부
120: 제2 코딕부
150: 코딕부
200: 프로젝션부100: multiple input/output receiver
110: first cordic part
120: second cordic part
150: Cordic part
200: projection unit
Claims (20)
상기 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부; 및
상기 벡터링코딕 동작에 따라 회전되는 벡터링 회전 방향에 기초하여, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부를 포함하고,
상기 제1 코딕부는, 상기 열 벡터를 쉬프팅 연산 및 덧셈 연산을 통해 제1 코딕 행렬을 출력하고,
상기 제1 코딕 행렬의 크기는 상삼각 행렬의 표준 요소의 크기에 대응되며,
상기 벡터링 회전 방향은, 상기 제1 코딕부를 통해 출력되는 이전 순번의 제1 코딕 행렬의 y축 크기의 부호에 따라, 시계 방향 및 반시계 방향 중 어느 하나로 결정되는, 다중입출력 수신기.As a Gram-Schmidt QR decomposition-based multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation,
A first codec unit for performing an iterative vectoring codec operation on the column vector of the intermediate matrix; And
A second codec unit that performs an iterative rotation codec operation on an initial column vector corresponding to the column vector based on a vectoring rotation direction rotated according to the vectoring codec operation,
The first codec unit outputs a first codeic matrix through a shifting operation and an addition operation on the column vector,
The size of the first codec matrix corresponds to the size of the standard element of the upper triangular matrix,
The vectoring rotation direction is determined in one of a clockwise direction and a counterclockwise direction according to a sign of a y-axis size of a first codec matrix of a previous order output through the first codec unit.
상기 제1 코딕부는, 상기 반복적인 벡터링코딕 동작에 따라, 기설정된 회전 방정식으로부터 제1 코딕 연산식(1)을 결정하고,
상기 제1 코딕 연산식(1)은,
(1) 이고,
여기서, x는 상기 제1 코딕 행렬의 x축 크기이고, y는 상기 제1 코딕 행렬의 y축 크기이며, i는 상기 반복적인 벡터링코딕 동작의 i번째 순번을 나타내고, σ는 벡터링 회전 방향을 나타내는, 다중입출력 수신기.The method of claim 1,
The first codec unit, according to the iterative vectoring codec operation, determines a first codec calculation equation (1) from a preset rotation equation,
The first codeic calculation equation (1),
(1) is,
Here, x is the size of the x-axis of the first codec matrix, y is the size of the y-axis of the first codec matrix, i is the i-th order of the repetitive vectoring codec operation, and σ is the vectoring rotation direction. Indicating, multiple input and output receivers.
상기 제1 코딕부는, 상수에 해당하는 를 누적하여, 상기 반복적인 벡터링코딕 동작의 마지막 벡터링 동작에서 한번에 스케일 팩터를 연산하고,
상기 스케일 팩터는, 인, 다중입출력 수신기.The method of claim 3,
The first cordic part, corresponding to a constant By accumulating, calculating a scale factor at once in the last vectoring operation of the iterative vectoring codec operation,
The scale factor is, Phosphorus, multiple input/output receiver.
상기 제2 코딕부는, 상기 초기 열 벡터를 쉬프팅 연산 및 덧셈 연산을 통해 제2 코딕 행렬을 출력하고,
상기 제2 코딕 행렬은 직교 행렬의 직교 열 벡터에 대응되는, 다중입출력 수신기.The method of claim 1,
The second codec unit outputs a second codec matrix through a shifting operation and an addition operation on the initial column vector,
The second codec matrix corresponds to an orthogonal column vector of an orthogonal matrix.
상기 제2 코딕부는, 상기 반복적인 로테이션코딕 동작에 따라 기설정된 회전 방정식으로부터 제2 코딕 연산식(2)을 도출하고,
상기 제2 코딕 연산식(2)은,
(2)이고,
여기서, x는 상기 제2 코딕 행렬의 x축 크기이고, y는 상기 제2 코딕 행렬의 y축 크기이며, i는 상기 반복적인 로테이션코딕 동작의 i번째 순번을 나타내고, σ는 로테이션 회전 방향을 나타내는, 다중입출력 수신기.The method of claim 6,
The second codec unit derives a second codeic calculation equation (2) from a rotation equation preset according to the repetitive rotation codec operation,
The second codeic calculation equation (2),
(2),
Here, x is the size of the x-axis of the second codec matrix, y is the size of the y-axis of the second codec matrix, i is the i-th order of the repetitive rotation codec operation, and σ is the rotation direction of rotation. , Multiple input/output receiver.
상기 로테이션 회전 방향은, 상기 초기 열 벡터가 기설정된 시계열 회전 각도에 따라 수렴되는 라인을 기준으로, 이전 순번의 제2 코딕 행렬이 위치한 방향에 따라 시계 방향 및 반시계 방향 중 어느 하나로 결정되는, 다중입출력 수신기.The method of claim 7,
The rotation rotation direction is determined in one of a clockwise direction and a counterclockwise direction based on a line in which the initial column vector converges according to a preset time series rotation angle, and according to a direction in which the second codeic matrix of the previous order is located. I/O receiver.
상기 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하고, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 코딕부; 및
상기 코딕부를 통해 획득되는 상삼각 행렬의 표준 요소와 직교 행렬의 직교 열 벡터에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기를 통해 상기 상삼각 행렬의 나머지 요소들을 계산하고 상기 중간 행렬의 나머지 열 벡터들을 업데이트하는 프로젝션부를 포함하고,
상기 코딕부는, 상기 반복적인 벡터링코딕 동작을 순차적으로 수행하는 복수의 벡터링코딕 모듈들을 포함하는 제1 코딕부;
상기 반복적인 로테이션코딕 동작을 순차적으로 수행하는 복수의 로테이션스텝 모듈들을 포함하는 제2 코딕부; 및
상기 제1 코딕부를 통해 획득되는 회전 방향과 부호 정보를 지연시켜 상기 제2 코딕부로 출력하는 플립플롭부를 포함하며,
상기 제2 코딕부는, 상기 복수의 로테이션스텝 모듈들 중 가장 우선 순위의 로테이션스텝 모듈을 동작시키는 한쌍의 멀티플렉서; 및
나머지 로테이션스텝 모듈들 각각을 동작시키는 각 멀티플렉서를 포함하고,
상기 복수의 로테이션스텝 모듈들의 총개수는 상기 멀티플렉서의 총개수보다 적은, 다중입출력 수신기. As a Gram-Schmidt QR decomposition-based multiple input/output receiver that generates an intermediate matrix based on a channel matrix during a QR decomposition operation,
A codec unit performing an iterative vectoring codec operation on the column vector of the intermediate matrix and performing an iterative rotation codeic operation on an initial column vector corresponding to the column vector; And
Based on the standard elements of the upper triangular matrix obtained through the codec unit and the orthogonal column vector of the orthogonal matrix, the remaining elements of the upper triangular matrix are calculated through at least one multiplier and at least one adder, and the remaining columns of the intermediate matrix Includes a projection unit for updating vectors,
The codec unit may include: a first codec unit including a plurality of vectoring codec modules sequentially performing the repetitive vectoring codec operation;
A second codec unit including a plurality of rotation step modules sequentially performing the repetitive rotation codec operation; And
A flip-flop unit for delaying rotation direction and sign information obtained through the first codec unit and outputting the delayed rotation direction and sign information to the second codec unit,
The second codec unit may include a pair of multiplexers for operating a rotation step module having a highest priority among the plurality of rotation step modules; And
Including each multiplexer for operating each of the remaining rotation step modules,
A total number of the plurality of rotation step modules is less than the total number of the multiplexers.
상기 복수의 벡터링코딕 모듈들의 개수와 상기 복수의 로테이션스텝 모듈들의 개수는 서로 동일한, 다중입출력 수신기. The method of claim 9,
A multiple input/output receiver, wherein the number of the plurality of vectoring codec modules and the number of the plurality of rotation step modules are the same.
상기 코딕부를 제어하기 위한 제1 제어신호와 상기 프로젝션부를 제어하기 위한 제2 제어신호를 생성하는 글로벌 제어부;
상기 제1 제어신호에 기초하여, 벡터링코딕 모드와 로테이션코딕 모드 중 하나의 코딕모드를 결정하는 코딕 제어부; 및
상기 제2 제어신호에 기초하여, 적어도 하나의 곱셈기와 적어도 하나의 가산기 중 적어도 하나를 제어하는 프로젝션 제어부를 더 포함하는, 다중입출력 수신기. The method of claim 9,
A global control unit that generates a first control signal for controlling the cordic unit and a second control signal for controlling the projection unit;
A codec controller configured to determine one of a vectoring codec mode and a rotation codec mode based on the first control signal; And
Further comprising a projection control unit for controlling at least one of at least one multiplier and at least one adder based on the second control signal.
상기 코딕부는, 상기 하나의 코딕모드가 상기 벡터링코딕 모드로 결정된 경우, 반복적인 벡터링코딕 동작을 수행하는 제1 코딕부;
상기 하나의 코딕모드가 상기 로테이션코딕 모드로 결정된 경우, 반복적인 로테이션코딕 동작을 수행하는 제2 코딕부; 및
상기 하나의 코딕모드의 동작 구간에 기초하여, 상기 제1 및 제2 코딕부 중 어느 하나로 변환하여 동작하는 적어도 하나의 변환부를 포함하는, 다중입출력 수신기. The method of claim 13,
The codec unit may include: a first codec unit for performing a repetitive vectoring codec operation when the one codec mode is determined as the vectoring codec mode;
A second codec unit for performing a repetitive rotation codec operation when the one codec mode is determined as the rotation codec mode; And
And at least one conversion unit converting and operating into any one of the first and second codeic units based on the operation period of the one codec mode.
상기 적어도 하나의 변환부의 개수는 상기 중간 행렬의 열 벡터의 개수보다 적은, 다중입출력 수신기. The method of claim 14,
The number of the at least one transform unit is less than the number of column vectors of the intermediate matrix.
상기 프로젝션부는, 상기 코딕부를 통해 출력된 각 출력 정보를 입력받는 제1 입력부;
상기 각 출력 정보에 기초하여, 복수의 계산기들을 통해 제1 계산정보를 계산하는 제1 계산부;
상기 제1 계산정보를 입력받아 전달하는 제2 입력부;
상기 제2 입력부를 통해 전달받는 상기 제1 계산정보에 기초하여, 복수의 가산기들을 통해 제2 계산정보를 계산하는 제2 계산부; 및
상기 제1 및 제2 계산정보를 합산하여, 상기 상삼각 행렬의 나머지 요소들, 상기 중간 행렬의 나머지 열 벡터 및 상기 채널 행렬의 일부 열 벡터를 출력하는 합산부를 포함하는, 다중입출력 수신기. The method of claim 13,
The projection unit may include: a first input unit receiving each output information output through the codec unit;
A first calculation unit that calculates first calculation information through a plurality of calculators based on the respective output information;
A second input unit for receiving and transmitting the first calculation information;
A second calculation unit that calculates second calculation information through a plurality of adders based on the first calculation information received through the second input unit; And
And a summing unit for summing the first and second calculation information and outputting the remaining elements of the upper triangular matrix, the remaining column vectors of the intermediate matrix, and some column vectors of the channel matrix.
제1 코딕부가 중간 행렬의 열 벡터에 대해 반복적인 벡터링코딕 동작을 수행하는 단계; 및
제2 코딕부가 상기 벡터링코딕 동작에 따라 회전되는 회전 방향에 기초하여, 상기 열 벡터에 대응되는 초기 열 벡터에 대해 반복적인 로테이션코딕 동작을 수행하는 단계를 포함하고,
상기 반복적인 벡터링코딕 동작을 수행하는 단계는, 상기 제1 코딕부가 복소수 열 벡터들을 입력받는 단계;
상기 제1 코딕부가 상기 복소수 열 벡터들로부터 허수부 벡터들을 제거하고, 실수부 벡터들을 획득하는 제1 벡터링모드를 수행하는 단계;
상기 제1 코딕부가 상기 실수부 벡터들로부터 절반을 제거된 나머지 실수부 벡터들을 획득하는 제2 벡터링모드를 수행하는 단계; 및
상기 제1 코딕부가 하나의 실수부 벡터를 획득하는 제3 벡터링모드를 수행하는 단계를 포함하며,
상기 반복적인 로테이션코딕 동작을 수행하는 단계는, 상기 제2 코딕부가 제1 내지 제3 스케일 팩터를 곱한 상기 초기 열 벡터를 입력받는 단계;
상기 제2 코딕부가 상기 제3 벡터링모드에 따라 회전되는 제3 회전 방향에 기초하여, 상기 초기 열 벡터를 회전시키는 제1 로테이션모드를 수행하는 단계;
상기 제2 코딕부가 상기 제2 벡터링모드에 따라 회전되는 제2 회전 방향에 기초하여, 상기 제1 로테이션모드를 통해 회전된 상기 초기 열 벡터를 회전시키는 제2 로테이션모드를 수행하는 단계;
상기 제2 코딕부가 상기 제1 벡터링모드에 따라 회전되는 제1 회전 방향에 기초하여, 상기 제2 로테이션모드를 통해 회전된 상기 초기 열 벡터를 회전시키는 제3 로테이션모드를 수행하는 단계; 및
상기 제2 코딕부가 상기 제3 로테이션모드를 통해 복소수 직교 열 벡터들을 출력하는 단계를 더 포함하고,
상기 복소수 직교 열 벡터들은, 실수부 직교 열 벡터들과 허수부 직교 열 벡터들을 포함하는, 다중입출력 수신기의 동작 방법.As a method of operation of a multiple input/output receiver based on Gram-Schmidt QR decomposition,
Performing, by the first codec unit, a repetitive vectoring codec operation on the column vector of the intermediate matrix; And
Comprising the step of performing an iterative rotation codec operation on an initial column vector corresponding to the column vector based on a rotation direction in which a second codec unit is rotated according to the vectoring codec operation,
The performing of the iterative vectoring codec operation may include: receiving, by the first codec unit, complex column vectors;
Performing a first vectoring mode in which the first codeic unit removes imaginary part vectors from the complex column vectors and obtains real part vectors;
Performing a second vectoring mode in which the first codeic unit obtains remaining real part vectors from which half of the real part vectors are removed; And
And performing a third vectoring mode in which the first codec unit obtains one real part vector,
The performing of the iterative rotation codec operation may include: receiving the initial column vector obtained by multiplying the first to third scale factors by the second codeic unit;
Performing a first rotation mode for rotating the initial column vector based on a third rotation direction in which the second cordic unit is rotated according to the third vectoring mode;
Performing a second rotation mode of rotating the initial column vector rotated through the first rotation mode based on a second rotation direction in which the second cordic unit is rotated according to the second vectoring mode;
Performing a third rotation mode for rotating the initial column vector rotated through the second rotation mode based on a first rotation direction in which the second cordic unit is rotated according to the first vectoring mode; And
The second codec unit further comprises the step of outputting complex orthogonal column vectors through the third rotation mode,
The complex orthogonal column vectors include real orthogonal column vectors and imaginary orthogonal column vectors.
상기 반복적인 벡터링코딕 동작의 횟수는 상기 반복적인 로테이션코딕 동작의 횟수보다 크거나 같은, 다중입출력 수신기의 동작 방법.
The method of claim 17,
The number of repetitive vectoring codec operations is greater than or equal to the number of repetitive rotation coded operations.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190010736 | 2019-01-28 | ||
KR1020190010736 | 2019-01-28 |
Publications (3)
Publication Number | Publication Date |
---|---|
KR20200093415A KR20200093415A (en) | 2020-08-05 |
KR102230340B1 true KR102230340B1 (en) | 2021-03-23 |
KR102230340B9 KR102230340B9 (en) | 2021-09-17 |
Family
ID=72041837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190144571A KR102230340B1 (en) | 2019-01-28 | 2019-11-12 | Multiple input-output receiver based on gram-schmit qr decomposition and operation method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102230340B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264721A1 (en) * | 2009-05-22 | 2011-10-27 | Maxlinear, Inc. | Signal processing block for a receiver in wireless communication |
KR101341984B1 (en) * | 2012-03-19 | 2013-12-16 | 고려대학교 산학협력단 | Method for qr decomposition |
-
2019
- 2019-11-12 KR KR1020190144571A patent/KR102230340B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110264721A1 (en) * | 2009-05-22 | 2011-10-27 | Maxlinear, Inc. | Signal processing block for a receiver in wireless communication |
KR101341984B1 (en) * | 2012-03-19 | 2013-12-16 | 고려대학교 산학협력단 | Method for qr decomposition |
Also Published As
Publication number | Publication date |
---|---|
KR20200093415A (en) | 2020-08-05 |
KR102230340B9 (en) | 2021-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8447797B2 (en) | MIMO system method and device using sorted QR-decomposition (SQRD) for detecting transmission signal with division detection | |
CN107450047A (en) | Compressed sensing DOA estimation method based on unknown mutual coupling information under nested battle array | |
CN114172547B (en) | Intelligent reflector-based wireless energy-carrying communication hybrid precoding design method | |
CN102662623A (en) | Parallel matrix multiplier based on single field programmable gate array (FPGA) and implementation method for parallel matrix multiplier | |
CN110611526A (en) | Millimeter wave hybrid analog/digital beam forming method based on improved Riemann manifold optimization | |
US8447799B2 (en) | Process for QR transformation using a CORDIC processor | |
US5331664A (en) | Device for processing the Viterbi algorithm comprising a processor and a dedicated operator | |
CN108933619B (en) | Large-scale MIMO hybrid precoding codebook design method | |
Rice et al. | Space-time coding for aeronautical telemetry: Part I—estimators | |
Guenther et al. | A scalable, multimode SVD precoding ASIC based on the cyclic Jacobi method | |
CN114675238B (en) | Radar communication integrated waveform direct optimization method and system | |
Lee et al. | High-speed tournament givens rotation-based QR Decomposition Architecture for MIMO Receiver | |
WO2016132873A1 (en) | Method and device for computing soft estimate of coded bits forming transmitted symbol vectors | |
Shin et al. | A low-latency and area-efficient Gram–Schmidt-based QRD architecture for MIMO receiver | |
US20220100815A1 (en) | Method of realizing accelerated parallel jacobi computing for fpga | |
KR102230340B1 (en) | Multiple input-output receiver based on gram-schmit qr decomposition and operation method thereof | |
Hwang et al. | A low complexity complex QR factorization design for signal detection in MIMO OFDM systems | |
Chen et al. | VLSI design of a high throughput hybrid precoding processor for wireless MIMO systems | |
Liu et al. | A novel architecture to eliminate bottlenecks in a parallel tiled QRD algorithm for future MIMO systems | |
Liu et al. | Hardware architecture based on parallel tiled QRD algorithm for future MIMO systems | |
KR102046033B1 (en) | Method and apparatus for providing hybrid beamforming in large-scale antenna system | |
Yuan et al. | A gridless fourth-order cumulant-based DOA estimation method under unknown colored noise | |
Rust et al. | Hardware-efficient QR-decomposition using bivariate numeric function approximation | |
Fan et al. | Givens rotation‐based QR decomposition for MIMO systems | |
Rust et al. | QR-decomposition architecture based on two-variable numeric function approximation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction |