KR20120073106A - 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치 - Google Patents

모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치 Download PDF

Info

Publication number
KR20120073106A
KR20120073106A KR1020110136731A KR20110136731A KR20120073106A KR 20120073106 A KR20120073106 A KR 20120073106A KR 1020110136731 A KR1020110136731 A KR 1020110136731A KR 20110136731 A KR20110136731 A KR 20110136731A KR 20120073106 A KR20120073106 A KR 20120073106A
Authority
KR
South Korea
Prior art keywords
baseband
radio
standard
accelerator
application
Prior art date
Application number
KR1020110136731A
Other languages
English (en)
Other versions
KR101785116B1 (ko
Inventor
최승원
김준
안치영
양현욱
Original Assignee
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한양대학교 산학협력단 filed Critical 한양대학교 산학협력단
Publication of KR20120073106A publication Critical patent/KR20120073106A/ko
Application granted granted Critical
Publication of KR101785116B1 publication Critical patent/KR101785116B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Transceivers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명에 따른 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치가 개시된다. 본 발명에 따른 소프트웨어 정의 라디오 단말 장치는 어플리케이션 프로세서 및 베이스밴드 가속기를 포함하는 베이스밴드 프로세서를 포함하고, 어플리케이션 프로세서에는 미리 정의된 표준 베이스밴드 인터페이스에 기초하여 라디오 어플리케이션의 구현과 관련된 제어명령을 베이스밴드 드라이버로 전달하고 베이스밴드 드라이버로부터 수신한 정보를 상위 계층으로 전달하는 라디오 컨트롤러 및 라디오 컨트롤러로부터 전달받은 제어명령을 베이스밴드 가속기에 맞는 제어명령으로 변환하여 베이스밴드 가속기로 전달하는 베이스밴드 드라이버가 동작하고, 베이스밴드 가속기에는 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 기능 블록이 동작하도록 구성된다.

Description

모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치{SOFTWARE-DEFINED RAIDO TERMINAL FOR MODEM HARDWARE INDEPENDENT RADIO APPLICATIONS}
본 발명은 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치로, 더욱 상세하게는 모뎀 하드웨어에 독립적으로 여러 가지 라디오 어플리케이션이 동작하는 소프트웨어 정의 라디오(SDR: Software-Defined Radio) 단말 장치에 관한 것이다.
통신기술이 발달함에 따라 사용자의 기호나 목적에 따라 많은 새로운 종류의 라디오 어플리케이션들이 사용되고 있다. LTE, WCDMA, WIMAX, GSM 등과 같은 라디오 어플리케이션들 대부분은 모뎀과 상호 작용하면서 단말기 상에서 실행된다.
이러한 라디오 어플리케이션들이 모뎀을 제어하기 위해서는 모뎀 제조사 또는 모델에 따라 모뎀이 갖는 고유의 명령어를 이해하고 이에 맞춘 모듈이 개발되어 적용되어야 한다. 이는 결과적으로 어떤 라디오 어플리케이션은 오직 특정 제조사나 특정 모뎀에서만 실행되는 결과를 초래한다. 이를 해결하기 위해 여러 종류의 모뎀에 맞춘 각기 다른 제어 명령을 모두 어플리케이션에 포함하거나 각 모뎀 별로 다른 실행 파일을 제작하여 배포하여야 한다.
그러나, 이러한 방법으로는 현재 시장에 출시되고 있는 다양한 모뎀의 하드웨어에 맞추어 일일이 최적화하여야 하므로 모든 단말기에서 작동이 가능한 라디오 어플리케이션을 제작하는 것은 사실상 불가능할 뿐만 아니라 하나의 라디오 어플리케이션을 제작하기 위하여 막대한 인력이 투입되어야 하는 문제가 있다.
상기와 같은 문제점을 해결하기 위하여, 본 발명의 목적은 모뎀 칩에 비 의존적으로 라디오 어플리케이션을 지원할 수 있도록 하는 소프트웨어 정의 라디오 단말 장치를 제공한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예는, 적어도 하나의 라디오 어플리케이션이 구현되는 소프트웨어 정의 라디오 단말장치로서, 어플리케이션 프로세서 및 적어도 하나의 베이스밴드 가속기를 포함하는 베이스밴드 프로세서를 포함하고, 상기 어플리케이션 프로세서에는 미리 정의된 표준 베이스밴드 인터페이스에 기초하여 상기 라디오 어플리케이션의 구현과 관련된 제어명령을 베이스밴드 드라이버로 전달하고 베이스밴드 드라이버로부터 수신한 정보를 상위 계층으로 전달하는 라디오 컨트롤러 및 상기 라디오 컨트롤러로부터 전달받은 제어명령을 상기 베이스밴드 가속기에 맞는 제어명령으로 변환하여 상기 베이스밴드 가속기로 전달하는 베이스밴드 드라이버가 동작하고, 상기 베이스밴드 가속기에는 상기 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 기능 블록이 동작하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치를 제공한다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예는 적어도 하나의 라디오 어플리케이션이 구현되는 소프트웨어 정의 라디오 단말장치로서, 표준 베이스밴드 인터페이스에 기초하여 생성된 적어도 하나의 표준 기능블록이 저장되는 기능 블록 저장부, 어플리케이션 프로세서 및 적어도 하나의 베이스밴드 가속기를 포함하는 베이스밴드 프로세서를 포함하고, 상기 어플리케이션 프로세서에는 미리 정의된 표준 베이스밴드 인터페이스에 기초하여 상기 라디오 어플리케이션의 구현과 관련된 제어명령을 베이스밴드 드라이버로 전달하는 라디오 컨트롤러 및 상기 라디오 컨트롤러로부터 전달받은 제어명령을 상기 베이스밴드 가속기에 맞는 제어명령으로 변환하여 상기 베이스밴드 가속기로 전달하는 베이스밴드 드라이버가 동작하고, 상기 베이스밴드 가속기에는 상기 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 기능 블록이 동작하고, 상기 기능 블록 중 일부 또는 전부는 상기 기능블록 저장부에 저장된 표준 기능블록이 상기 베이스밴드 드라이버에 의해 상기 베이스밴드 가속기로 로드되는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치를 제공한다.
상술한 바와 같은 본 발명에 따른 소프트웨어 정의 라디오 단말 장치를 이용하면, 표준 베이스밴드API를 이용하여 서로 다른 구조의 모뎀칩을 가진 단말기에서 동일한 라디오 어플리케이션을 실행할 수 있다. 또한 최적의 디지털 신호 처리 수행을 위하여 무선 디지털 통신에 필요한 여러 디지털 신호 처리 알고리즘을 표준 베이스밴드API로 제공함으로써, 모뎀 하드웨어 제작사는 표준 베이스밴드API에 포함된 각 블록의 복잡도 또는 전력 소비에 따라 하드웨어 또는 소프트웨어적 구현을 선택할 수 있고, 라디오 어플리케이션 제작사는 표준 베이스밴드API를 이용하여 모뎀칩에 독립적인 라디오 어플리케이션을 제작할 수 있다. 또한, 표준 베이스밴드API 에 포함되지 않은 기능을 구현하기 위하여 사용자 정의 형태의 블록을 제공함으로써 표준 베이스밴드 API의 다양한 확장을 가능하게 한다.
도 1은 본 발명의 일 실시예에 따른 소프트웨어 정의 라디오 단말장치의 기능을 보여주는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 라디오 어플리케이션이 구현된 단말장치의 내부구조를 구조를 보여주는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 표준 기능블록이 하드웨어로 구현된 단말장치의 구조를 보여주는 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 프로그래머블 베이스밴드 가속기를 이용하여 표준 기능블록이 소프트웨어로 구현된 단말장치의 구조를 보여주는 블록도이다.
도 5는 본 발명의 또 다른 실시예에 따른 표준 기능 블록과 사용자 정의 기능 블록이 구현된 단말장치의 구조를 보여주는 블록도이다.
도 6은 본 발명의 또 다른 실시예에 따른 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구현된 단말장치의 구조를 보여주는 블록도이다.
도 7은 본 발명의 또 따른 실시예에 따른 표준 기능블록이 하드웨어와 소프트웨어로 혼합되어 구현된 단말장치의 구조를 보여주는 블록도이다.
도 8은 본 발명의 또 따른 실시예에 따른 표준 기능블록이 하드웨어와 소프트웨어로 혼합되어 구현되고 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구성된 단말장치의 구조를 보여주는 블록도이다.
도 9는 본 발명의 일 실시예에 따른 표준 베이스밴드 인터페이스의 예를 보여주는 개념도이다.
도 10은 본 발명의 일 실시예에 따른 단말에 라디오 어플리케이션이 구현되어 파이프라인에 따라서 동작하는 예를 보여주는 블록도이다.
도 11은 본 발명에 따른 단말장치와 무선 인프라가 연결되어 라디오 어플리케이션을 적용한 예를 보여주는 개념도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명은 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치를 제공한다. 이를 위하여 라디오 어플리케이션들이 여러 가지 다른 종류의 모뎀칩에서도, 어플리케이션 프로그램 모듈의 변경 없이 실행될 수 있도록 모뎀과 어플리케이션간의 표준 베이스밴드 인터페이스를 제공한다. 또한 각 라디오 어플리케이션들에 대한 표준적인 명령어가 포함되는 표준 기능 블록을 제공하여 각기 다른 모뎀들이 이를 채택할 수 있도록 한다.
본 발명에 따른 표준 기능 블록은 하드웨어 또는 소프트웨어로 구현될 수 있으며, 이는 라디오 어플리케이션의 종류나 사용 요건에 따라 유연하게 적용할 수 있다. 또한 필요에 따라 표준 기능 블록들의 업그레이드 또는 모뎀으로의 다운로드를 용이하게 할 수 있도록 프로그래머블하게 구성할 수도 있고, 성능 및 전력소비를 고려하여 하드웨어로 구현할 수 있다.
이하 상기에 서술한 바와 같이 하나의 무선 단말장치에서 본 발명은 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말의 구성에 대하여 도면을 참조하여 설명하기로 한다.
도 1은 본 발명에 따른 표준 베이스밴드 인터페이스가 제공되는 소프트웨어 정의 라디오 단말장치의 기능을 보여주는 개념도이다.
도 1을 참조하면 본 발명의 일 실시예에 따른 소프트웨어 정의 라디오 단말장치는 장착된 모뎀 칩에 비 의존적으로 LTE(Longterm Evolution), WCDMA(Wideband Code Division Multiple Access), WiMAX (Worldwide Interoperability for Microwave Access), GSM(Global System for Mobile Communications), RFID(Radio-Frequency Identification)를 포함하는 범용 라디오 어플리케이션 중의 하나를 선택하여 다운로드하고 설치함으로써, 설치된 라디오 어플리케이션에 의한 통신 방식으로 동작할 수 있고, 무전기, 무선마이크 및 무선전화기의 기능으로도 활용 가능하다.
이하 상술한 바와 같이, 본 발명의 일 실시예에 따른 장치에 하드웨어적인 변경을 가하지 않고 범용의 라디오 어플리케이션들을 실행할 수 있도록 표준 베이스밴드 인터페이스에 의해 구현되는 소프트웨어 정의 라디오 단말장치의 다양한 실시예를 도면을 참조하여 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 라디오 어플리케이션이 구현된 단말장치의 내부구조를 보여주는 블록도이다.
도 2를 참조하면 본 발명의 일 실시예에 따른 라디오 어플리케이션이 구현된 단말장치는 어플리케이션 프로세서(100) 및 베이스밴드 프로세서(200)로 구성될 수 있다. 어플리케이션 프로세서(100)에서는 라디오 컨트롤러(110)가 동작하고 베이스밴드 프로세서(200)에서는 베이스밴드 가속기(210-260)가 동작할 수 있다.
라디오 컨트롤러(110)는 어플리케이션 프로세서(100)에서 동작하며 각 라디오 어플리케이션에 따른 라디오 신호에 맞는 제어명령을 수신하면 이를 표준 베이스밴드 인터페이스(410)를 이용하여 베이스밴드 프로세서(200)로 전달하는 역할을 한다.
또한 사용자 계층과 베이스밴드 계층간의 인터페이스를 담당한다. 즉, 라디오 컨트롤러(110)는 수신 데이터를 베이스밴드 프로세서(200)에서 네트워킹 스택(미도시)으로 전달하고, 송신 데이터를 네트워크 스택에서 베이스밴드 프로세서(200)로 전달한다. 한편, 상위 계층으로 컨텍스트 정보를 전달할 필요가 있는 경우, 해당 기능블록에서 상위 계층까지 라디오 컨트롤러(110)를 거쳐서 컨텍스트 정보를 전달할 수 있는데, 이때, 상위 계층은 사용자 어플리케이션이 될 수 있다.
이때, 컨텍스트 정보는 컨텍스트 정보 인터페이스(420)를 이용하게 되는데, 컨텍스트 정보 인터페이스는 컨텍스트 정보를 전달할 필요가 있는 기능블록에서 발생한 컨텍스트 정보를 라디오 컨트롤러(110)가 상위 계층으로 전달하기 위해 필요한 미리 정해진 인터페이스일 수 있다.
베이스밴드 프로세스(200)는 적어도 하나의 베이스밴드 가속기(210-260)로 구성되고, 각 베이스밴드 가속기(210-260)는 실시간으로 동작하며 라디오 어플리케이션의 신호 처리를 수행한다. 각 베이스밴드 가속기(210-260)는 하드웨어 프레임워크를 가지며, 어플리케이션 구현에 필요한 소프트웨어 기능 블록들 예를 들면, 변조(복조)(211), FFT/IFFT(221), 베이스밴드 제어 기능블록(231), 터보 코딩/디코딩(241) 및 MAC 기능블록(251)이 각 베이스밴드 가속기(210-250)에 로드되고 표준 베이스밴드 인터페이스를 통해 서로 인터페이스 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 표준 기능 블록이 하드웨어로 구현된 단말장치의 세부 구조를 보여주는 블록도이다.
도 3을 참조하면 본 발명의 일 실시예에 따른 표준 기능 블록이 하드웨어로 구현된 단말장치는 어플리케이션 프로세서(100)와 베이스밴드 프로세서(200)를 포함하여 구성될 수 있다. 또한, 어플리케이션 프로세서(100)는 라디오 컨트롤러(110) 및 베이스밴드 드라이버(130)를 포함하여 구성되고, 베이스밴드 프로세서(200)는 기능 블록이 동작하는 적어도 하나의 베이스밴드 가속기(210-230)를 포함하여 구성될 수 있다.
도 3을 참조하면 본 발명의 일 실시예에 따른 표준 기능 블록이 하드웨어로 구현된 단말 장치의 좀 더 상세한 구성은 다음과 같이 설명될 수 있다. 어플리케이션 프로세서(100)는 하나 또는 복수의 라디오 어플리케이션이 단말에서 동작하도록 대응되는 소프트웨어인 라디오 컨트롤러(110)와 베이스밴드 드라이버(130)를 구동시키는 부분일 수 있다.
라디오 컨트롤러(110)는 라디오 어플리케이션의 구현과 관련된 제어명령을 표준 베이스밴드 인터페이스를 이용하여 베이스밴드 드라이버(130)로 전달하는 부분일 수 있다. 또한 라디오 컨트롤러(110) 베이스밴드의 각종 파라미터를 상위층에 전달하는 역할을 한다. 이때, 라디오 컨트롤러(110)는 디지털 신호처리(DSP:Digital Signal Processor)를 하지 않는다.
또한 라디오 컨트롤러(110)는 사용자 계층과 베이스밴드 계층간의 인터페이스를 담당한다. 즉, 라디오 컨트롤러(110)는 수신 데이터를 베이스밴드 프로세서(200)에서 네트워크 스택(미도시)으로 전달하고, 송신 데이터를 네트워크 스택에서 베이스밴드 프로세서(200)로 전달할 수 있다.
한편, 라디오 어플리케이션의 구현을 위하여, 라디오 컨트롤러 코드 및 파이프라인 구성 메타데이터를 포함하는 어플리케이션 패키지가 별도로 단말 장치로 공급되어 설치될 수 있다. 이때, 라디오 컨트롤러코드는 단말에 설치되어 라디오 컨트롤러(110)로 로딩될 수 있다. 또한 파이프라인 구성 메타데이터는 상술한 표준 베이스밴드 인터페이스에 기초하여 라디오 어플리케이션의 구현에 필요한 표준 기능 블록과 표준 기능 블록들의 동작순서에 대한 기술을 포함할 수 있다.
이때, 표준 베이스밴드 인터페이스는 라디오 어플리케이션의 구현에 필요한 표준 기능 블록에 대한 정의, 표준 기능 블록간의 인터페이스 및 라디오 컨트롤러와 대응하는 표준 기능 블록간의 인터페이스에 대한 정의를 포함하도록 미리 정의된 것일 수 있다.
베이스밴드 드라이버(130)는 라디오 컨트롤러(110)와 베이스밴드 가속기(210-230)간의 인터페이스를 가능하게 하는 역할을 할 수 있다.
이때, 베이스밴드 드라이버는 로더(131)를 포함할 수 있고, 로더(131)는 어플리케이션 패키지에 포함된 파이프라인 구성 메타데이터를 참조하여 라디오 어플리케이션에 필요한 기능 블록의 동작 순서를 정의하는 베이스밴드 프로세서 파이프라인을 설정하고, 상기 베이스밴드 프로세서 파이프라인 설정정보를 상기 베이스밴드 프로세서로 전달할 수 있다.
베이스밴드 프로세서(200)는 베이스밴드 드라이버(130)로부터 전달받은 베이스밴드 프로세서 파이프라인에 기초하여 라디오 신호를 실시간으로 처리하는 부분일 수 있다. 즉 베이스밴드 프로세서(200)에 포함된 복수의 베이스밴드 가속기(210-230)가 실시간으로 동작하며 라디오 어플리케이션에 따른 라디오 신호처리를 수행할 수 있다.
베이스밴드 가속기(210-230)는 베이스밴드 드라이버(130)로부터 전달받은 제어 명령에 따라서 베이스밴드의 신호처리 가속을 위하여 동작하며, 하나 또는 다수로 구성될 수 있다. 베이스밴드 가속기(210-230)는 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 표준 기능 블록(211, 221, 231)이 동작할 수 있다. 이때 표준 기능 블록에는 표준 베이스밴드 인터페이스에 대응하는 표준적인 명령어가 명시되어 있고, 베이스밴드 드라이버(130)로부터 전달받은 제어명령에 따라서 제어된다.
이때, 베이스밴드 가속기(210-230)중 어느 하나는 베이스밴드 가속기를 실시간으로 제어하는 베이스밴드 제어 기능 블록을 포함할 수 있고, 베이스밴드 제어 기능 블록은 베이스밴드 프로세서 파이프라인에 기초하여 베이스밴드 가속기(210-230)에서 동작하는 기능 블록(211-231)을 제어할 수 있다.
상술한 바와 같이 본 발명의 일 실시예에 따른 베이스밴드 가속기(210, 220, 230)에서 동작하는 표준 기능 블록들(211, 221, 231)은 베이스밴드 가속기(210, 220, 230)에 하드웨어로 구현된 것일 수 있다. 또한 베이스밴드 드라이버(130)는 베이스밴드 가속기(210-230)의 제조사로부터 제공받을 수 있다.
도 4는 본 발명의 다른 실시예에 따른 프로그래머블 베이스밴드 가속기를 이용하여 표준 기능블록이 소프트웨어로 구현된 단말장치의 구조를 보여주는 블록도이다.
도4를 참조하면 본 발명의 다른 실시예에 따른 표준 기능블록이 소프트웨어로 구현된 단말장치는 어플리케이션 프로세서(100), 베이스밴드 프로세서(200) 및 기능블록 저장부(300)를 포함하여 구성될 수 있다.
또한, 도 4를 참조하면, 어플리케이션 프로세서(100)는 라디오 컨트롤러(110) 및 베이스밴드 드라이버(130)를 포함하여 구성되고, 베이스밴드 프로세서(200)는 기능 블록이 동작하는 복수의 베이스밴드 가속기(210-230)를 포함하여 구성되고, 기능블록 저장부(300)는 복수의 표준 기능블록(310)을 포함하여 구성될 수 있다.
이때 표준 기능블록(310)들은 표준 기능 블록 풀로서 베이스밴드 프로세서 공급자(210-230)가 제공하며 상기 표준 기능 블록 풀은기능블록 저장부(300)에 저장될 수 있다.
도 4를 참조하면 본 발명의 다른 실시예에 따른 프로그래머블 베이스밴드 가속기를 이용하여 표준 기능블록이 소프트웨어로 구현된 단말장치의 좀 더 상세한 구성은 다음과 같이 설명될 수 있다.
어플리케이션 프로세서(100)는 단말 장치에서 라디오 어플리케이션이 동작하도록 할 수 있다. 즉 어플리케이션 프로세서(100)는 하나 또는 복수의 라디오 어플리케이션이 단말에서 동작하도록 대응되는 소프트웨어인 라디오 컨트롤러(110)와 베이스밴드 드라이버(130)를 구동시키는 부분일 수 있다.
라디오 컨트롤러(110)는 라디오 어플리케이션의 구현과 관련된 제어명령을 표준 베이스밴드 인터페이스를 이용하여 베이스밴드 드라이버(130)로 전달하는 부분일 수 있다. 또한 라디오 컨트롤러(110) 베이스밴드의 각종 파라미터를 상위층에 전달하는 역할을 한다. 이때, 라디오 컨트롤러(110)는 디지털 신호처리(DSP:Digital Signal Processor)를 하지 않는다.
또한 라디오 컨트롤러(110)는 사용자 계층과 베이스밴드 계층간의 인터페이스를 담당한다. 즉, 라디오 컨트롤러(110)는 수신 데이터를 베이스밴드 프로세서(200)에서 네트워크 스택(미도시)으로 전달하고, 송신 데이터를 네트워크 스택에서 베이스밴드 프로세서(200)로 전달할 수 있다.
한편, 라디오 어플리케이션의 구현을 위하여, 라디오 컨트롤러 코드 및 파이프라인 구성 메타데이터를 포함하는 어플리케이션 패키지가 별도로 단말 장치로 공급되어 설치될 수 있다. 이때, 라디오 컨트롤러코드는 라디오 컨트롤러(110)에 대응하여 설치될 수 있다. 또한 파이프라인 구성 메타데이터는 표준 베이스밴드 인터페이스에 기초하여 라디오 어플리케이션의 구현에 필요한 표준 기능 블록과 표준 기능 블록들의 동작순서에 대한 기술을 포함할 수 있다.
이때, 표준 베이스밴드 인터페이스는 라디오 어플리케이션의 구현에 필요한 표준 기능 블록에 대한 정의, 표준 기능 블록간의 인터페이스 및 라디오 컨트롤러와 대응하는 표준 기능 블록간의 인터페이스에 대한 정의를 포함하도록 미리 정의된 것일 수 있다.
베이스밴드 드라이버(130)는 라디오 컨트롤러(110)와 베이스밴드 가속기(210-230)간의 인터페이스를 가능하게 하는 역할을 할 수 있다. 한편, 베이스밴드 드라이버(130)는 로더(131)를 포함하여 구성될 수 있다.
따라서, 베이스밴드 드라이버(130)는 로더(131)를 통하여 표준 기능 블록(310)을 기능블록 저장부(300)로부터 베이스밴드 가속기(210-230)로 로딩하도록 구성될 수 있다. 이때, 로더(131)는 어플리케이션 패키지에 포함된 파이프라인 구성 메타데이터를 참조하여 라디오 어플리케이션에 필요한 표준 기능 블록(310)의 동작 순서를 정의하는 베이스밴드 프로세서 파이프라인을 설정하고, 상기 베이스밴드 프로세서 파이프라인 설정정보를 베이스밴드 프로세서(200)로 전달할 수 있다.
베이스밴드 프로세서(200)는 베이스밴드 드라이버(130)로부터 전달받은 베이스밴드 프로세서 파이프라인에 기초하여 라디오 신호를 실시간으로 처리하는 부분일 수 있다. 즉 베이스밴드 프로세서(200)에 포함된 복수의 베이스밴드 가속기(210-230)가 실시간으로 동작하며 라디오 어플리케이션에 따른 라디오 신호처리를 수행할 수 있다.
베이스밴드 가속기(210-230)는 베이스밴드 드라이버(130)로부터 전달받은 제어 명령에 따라서 베이스밴드의 신호처리 가속을 위하여 동작하며, 하나 또는 다수로 구성될 수 있다. 베이스밴드 가속기(210-230)는 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 표준 기능 블록(211, 221, 231)이 동작할 수 있다. 표준 기능블록(211,221,231)은 베이스밴드 드라이버(130)로부터 전달받은 제어명령에 따라서 제어된다. 이때, 베이스밴드 가속기(210-230)중 어느 하나에는 베이스밴드 가속기를 실시간으로 제어하는 베이스밴드 제어 기능 블록이 로딩되어 동작할 수 있고, 베이스밴드 제어 기능 블록은 베이스밴드 프로세서 파이프라인에 기초하여 베이스밴드 가속기(210-230)에서 동작하는 기능 블록(211-231)을 제어할 수 있다.
기능블록 저장부(300)는 표준 베이스밴드 인터페이스에 대응하는 표준적인 명령어가 명시된 복수의 표준 기능 블록(310)으로 구성되는 표준 기능블록풀을 포함한다. 도 3을 통해 설명된 단말장치에서 표준 기능블록(310)이 베이스밴드 가속기(200)내에 하드웨어나 펌웨어로 구현된 것과 달리, 본 실시 예에서는 특정 라디오 어플리케이션의 구현을 위해 적응적으로 베이스밴드 가속기(210-230)에 로딩될 수 있는 소프트웨어로서 구현된다.
이때 표준 기능 블록에는 표준 베이스밴드 인터페이스에 대응하는 표준적인 명령어가 명시되어 있고, 로더(131)에 의해 베이스밴드 가속기(210-230)로 로딩되어 실행될 수 있다. 또한, 표준 기능 블록(310)은 베이스밴드 가속기를 실시간으로 제어하기 위한 베이스밴드 제어 기능 블록을 포함할 수 있다.
본 실시예에서 베이스밴드 가속기(210-230)는 프로그래머블하다. 베이스밴드 드라이버(130)와 표준 기능 블록(310)는 모뎀칩 제조사에서 제공될 수 있다. 이때 표준 기능블록(310)은 베이스밴드 가속기에서 실행가능 하도록 벤더 어셈블리로 작성되고, 베이스밴드 가속기는 모뎀칩 제조사 고유의 명령어 세트를 가질 수 있다.
도 5는 본 발명의 또 다른 실시예에 따른 표준 기능 블록과 사용자 정의 기능 블록이 구현된 단말장치의 구조를 보여주는 블록도이다.
도5를 참조하면 본 발명의 또 다른 실시예에 따른 표준 기능블록이 소프트웨어로 구현된 단말장치는 어플리케이션 프로세서(100), 베이스밴드 프로세서(200) 및 기능블록 저장부(300)를 포함하여 구성될 수 있다.
또한, 도 5를 참조하면, 어플리케이션 프로세서(100)는 라디오 컨트롤러(110) 및 베이스밴드 드라이버(130)를 포함하여 구성되고, 베이스밴드 프로세서(200)는 기능 블록이 동작하는 복수의 베이스밴드 가속기(210-230)를 포함하여 구성되고, 기능블록 저장부(300)는 복수의 표준 기능블록(310) 및 사용자 정의 기능블록(320)을 포함되어 구성될 수 있다.
이때 표준 기능블록(310)들은 표준 기능 블록 풀로서 베이스밴드 프로세서 공급자(210-230)가 제공하며 상기 표준 기능 블록 풀은기능블록 저장부(300)에 저장될 수 있다. 사용자 정의 기능블록(320)은 라디오 어플리케이션 제작자로부터 공급되어 기능블록 저장부(300)에 저장될 수 있다. 따라서 표준 기능블록(310)과 사용자 정의 기능블록(320)은 단말에 공급되는 시점이나 제공자가 다를 수 있다.
도 5를 참조하면 본 발명의 다른 실시예에 따른 표준 기능 블록과 사용자 정의 기능 블록이 구현된 단말장치는 도 4를 통해 설명된 것과 달리 사용자 정의 기능 블록(320)을 포함한다. 사용자 정의 기능블록(320)은 이는 라디오 어플리케이션 공급자가 별도로 정의하여 추가하는 것일 수 있다. 따라서 사용자 정의 기능블록(320)은 고급언어로 작성된 소스코드, 장치 독립적인 중간표현, 베이스밴드 가속기에서 실행 가능한 실행파일 중 어느 하나의 형태로 제공될 수 있다.
컴파일러(132)는 사용자 정의 기능블록(320)이 소스코드나 장치 독립적인 중간표현으로 작성되어 제공된 경우 이를 베이스밴드 가속기(210-230)에서 실행 가능하도록 변환하여 줄 수 있다. 본 실시예는 사용자 정의 기능블록(320)이 중간표현으로 작성된 경우의 예로서, 컴파일러는(132)는 백-엔드 컴파일러일 수 있다. 따라서, 중간 표현((Intermediate Representation: IR)으로 작성된 사용자 정의기능 블록(320)은 컴파일러(132)를 통해 베이스밴드 가속기에서 실행 가능한 형태로 변환되어 베이스밴드 가속기(210)로 로딩될 수 있다.
이때 표준 기능 블록(310)에는 표준 베이스밴드 인터페이스에 대응하는 표준적인 명령어가 명시되어 있고, 사용자 정의 기능블록(320)에는 표준 기능 블록(310)에 포함되지 않는 라디오 어플리케이션의 기능과 관련된 명령어가 명시되어 있을 수 있다. 상술한 바와 같이 이들 기능블록(310, 320)은 로더(131)에 의해 베이스밴드 가속기(210-230)로 로딩되어 실행될 수 있다.
본 실시예에서 베이스밴드 가속기(210-230)는 프로그래머블하다. 컴파일러(132), 베이스밴드 드라이버(130)와 표준 기능 블록(310)는 모뎀칩 제조사에서 제공되고 표준 기능블록(310)은 벤더 어셈블리로 작성된 것일 수 있고, 베이스밴드 가속기(210-230)는 모뎀칩 제조사 고유의 명령어 세트를 갖는다. 또한 사용자 정의 기능블록(320)은 장치 독립적인 중간 표현으로 작성된 것일 수 있다.
도 6은 본 발명의 또 다른 실시예에 따른 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구현된 단말장치의 구조를 보여주는 블록도이다.
도6을 참조하면 또 다른 실시예에 따른 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구현된 단말장치는 어플리케이션 프로세서(100), 베이스밴드 프로세서(200) 및 기능블록 저장부(300)를 포함하여 구성될 수 있다.
또한, 도 6을 참조하면, 어플리케이션 프로세서(100)는 라디오 컨트롤러(110) 및 베이스밴드 드라이버(130)를 포함하여 구성되고, 베이스밴드 프로세서(200)는 기능 블록이 동작하는 복수의 베이스밴드 가속기(210-230)를 포함하여 구성되고, 기능블록 저장부(300)는 복수의 표준 기능블록(310) 및 사용자 정의 기능블록(320)을 포함되어 구성될 수 있다.
도 6을 참조하면 본 발명의 다른 실시예에 따른 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구현된 단말장치의 구성은 도 5와 달리 중간 표현(IR)으로 작성된 사용자 정의기능 블록(320)을 컴파일하기 위한 컴파일러를 포함하지 않는다.
즉 베이스밴드 가속기(210-230) 중 전부 또는 일부가 장치독립적인 중간 표현(IR)을 지원할 수 있다. 따라서, 중간 표현(IR)의 사용자 정의 기능 블록(320)이 베이스밴드 가속기(210)에서 직접 실행될 수 있다. 또한 표준 기능블록(310) 역시 중간 표현(IR)으로 작성되어 베이스밴드 가속기(220, 230)에서 실행될 수 있다. 본 실시예에서 베이스밴드 가속기(210-230)는 프로그래머블하고 장치 독립적인 중간 표현의 기능 블록을 직접 수행한다.
도 7은 본 발명의 또 따른 실시예에 따른 표준 기능블록이 하드웨어와 소프트웨어로 혼합되어 구현된 단말장치의 구조를 보여주는 블록도이다.
도7을 참조하면 일부 베이스밴드 가속기(210-220)는 프로그래머블하고, 일부 베이스밴드 가속기(230)는 하드웨어로 구현된 표준 기능블록(231)이 포함되므로 프로그래머블하지 않을 수 있다.
이때 표준 기능블록(310)은 하드웨어로 베이스밴드 가속기(230)에 구현될 수 있다. 고도의 연산량을 필요로 하는 표준기능블록의 경우 하드웨어로 구현됨으로써 성능과 전력소비를 최적화하는 효과가 있다. 이때, 표준 기능블록(310)은 벤더 어셈블리로 작성될 수 있다. 중간표현으로 작성된 사용자 정의 기능 블록(320)은 컴파일러(132)에 의해 컴파일 되어 베이스밴드 가속기(210-230)로 로딩될 수 있다.
본 실시예에서 일부 베이스밴드 가속기(210-220)는 프로그래머블한 기능블록 저장부(300)의 기능 블록(310, 320)을 로딩하여 수행할 수 있지만, 일부 베이스밴드 가속기(230)는 프로그래머블하지 않기 때문에 미리 고정되어 장착된 기능블록(231)만이 수행된다. 컴파일러(132), 베이스밴드 드라이버(130)와 표준 기능 블록 (310)는 모뎀칩 제조사에서 제공되고 표준 기능블록(310)은 벤더 어셈블리로 작성된 것일 수 있다. 베이스밴드 가속기(210-230)는 모뎀칩 제조사 고유의 명령어 세트를 갖는다.
도 8은 본 발명의 또 따른 실시예에 따른 표준 기능블록이 하드웨어와 소프트웨어로 혼합되어 구현되고 베이스밴드 가속기가 중간 표현의 기능블록을 직접 실행하도록 구성된 단말장치의 구조를 보여주는 블록도이다.
도8을 참조하면 도 7에서와 같이 일부 베이스밴드 가속기(210-220)는 프로그래머블하고, 일부 베이스밴드 가속기(230)는 하드웨어로 구현된 표준 기능블록(231)이 포함되므로 프로그래머블하지 않을 수 있다. 다만, 베이스밴드 드라이버(130)는 컴파일러를 포함하지 않는다. 따라서, 표준 기능블록(310)은 사용자 정의 기능 블록(320)과 마찬가지로 장치 독립적인 중간표현으로 작성될 수 있고, 베이스밴드 가속기(210-230)에서 중간표현의 기능블록을 직접 실행한다.
도 9는 본 발명의 일 실시예에 따른 표준 베이스밴드 인터페이스의 예를 보여주는 개념도이다.
도 9를 참조하면 표준 베이스밴드 인터페이스는 모뎀 내부의 베이스밴드 영역에서 필요한 디지털 신호처리 알고리즘을 표준화한 API로서, 표준 인터페이스(910-950)와 표준 기능블록(911-914)이 예시되어 있다.
표준 인터페이스 유형으로서 변환(910), 채널코딩(920), 네트워크 매퍼(930), 인터리빙(940), 소스코딩(950) 이 포함될 수 있다. 또한 변환(910)에 대한 표준 기능블록으로 스프레딩(911), 디스프레딩(912), 스크램블링(913), 디스크램블링(914), 고속 퓨리에 변환(FFT:Fast Fourier Transform)(915), 역 고속 퓨리에 변환(IFFT:Inverse Fast Fourier Transform)(916)이 정의될 수 있다.
표준 기능 블록인 퓨리에 변환(915)을 통해 입출력되는 데이터와 속성, 멤버함수 등이 정의될 수 있다. 또한 같은 유형의 기능 블록에는 공통적인 속성을 부여하여 라디오 어플리케이션의 객체 지향적 설계가 가능하다. 따라서 라디오 어플리케이션 제작자는 표준 인터페이스 API헤더를 참조하여, 라디오 어플리케이션을 제작할 수 있다.
도 10은 본 발명의 일 실시예에 따른 단말에 라디오 어플리케이션이 구현되어 파이프라인에 따라서 동작하는 예를 보여주는 블록도이다.
도 10을 참조하면 OFDM(Orthogonal Frequency Division Multiplexing) 방식의 라디오 어플리케이션을 음성 채널이 별도로 존재하지 않는 단말에서 구현하였을 때, 기능블록들이 로딩되어 처리되는 동작 과정을 보여주는 파이프라인의 구성을 볼 수 있다.
터보 인코더(752)와 터보 디코더(762)가 사용자 정의 기능블록의 형태로 구현되었으며, 전송 파이프라인(750)의 다른 블록(751, 753-756)과 수신 파이프라인(760)의 다른 블록(761, 763-766)은 표준 기능 블록의 형태로 구현되었다.
한편 전송 파이프라인(Transmit Pipeline)은 MAC(740)이 송신하는 데이터를 처리하고, 수신 파이프라인(Receive Pipeline)은 수신된 데이터를 처리하여 MAC(740)에 전송한다. 여기서, 라디오 컨트롤러(730) MAC(640)과 네트워크 스택(720)간의 데이터 교환을 담당한다. 다만 통상적인 MAC(740)의 기능 중 상위 계층의 기능을 라디오 컨트롤러(730)에서 처리하도록 할 수 있는데, 이는 라디오 어플리케이션 제작자의 선택 사항이다.
또한, 라디오 컨트롤러(730)는 운영체제에 내장된 네트워크 관리자(710)의 제어 명령에 대응하는 인터페이스를 제공함으로써, 네트워크 관리자(710)의 제어 명령을 수신할 수 있다. 네트워크 관리자(710)는 송수신 신호 품질, 신호 세기와 같은 무선 신호의 상태 정보(Context Information)를 시각화하여 사용자에게 전달하거나 사용자에 의한 접속 채널의 선택, 무선 신호 암호화 알고리즘의 선택과 같은 제어 정보를 라디오 컨트롤러(730)에 전달하여 사용자의 의도하는 무선 신호의 제어를 수행토록 할 수 있다.
도 11은 본 발명에 따른 단말장치에 와 무선 인프라가 연결되어 라디오 어플리케이션을 적용한 예를 보여주는 개념도이다.
도 11을 참조하면 본 발명에 따른 단말장치는 각각 다른 모뎀칩을 갖는 무선 단말기가 동일한 다중 사용자 MIMO(Multi Input Multi Output) 및 LTE(Long Term Eveolution) 어플리케이션을 사용하여 다중안테나 시스템으로 활용될 수 있는 것을 알 수 있다.
이는 앞의 실시예들에서 설명된 것처럼 모뎀칩에 독립적인 범용의 라디오 어플리케이션을 사용할 수 있는 표준 베이스밴드 인터페이스 및 표준 기능블록을 제공함으로써 가능한 것이다.
만일 본 발명에서 제공되는 표준 베이스밴드 인터페이스에 따른 기능이 없다면 각기 다른 모뎀칩을 탑재하고 있는 수많은 단말기를 위하여 똑같은 기능을 하는 수많은 라디오 어플리케이션이 작성되어야 하므로 이는 매우 비효율적이다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (17)

  1. 미리 정의된 표준 베이스밴드 인터페이스에 기초하여 작성된 적어도 하나의 라디오 어플리케이션이 구현되는 소프트웨어 정의 라디오 단말장치로서, 어플리케이션 프로세서 및 적어도 하나의 베이스밴드 가속기를 포함하는 베이스밴드 프로세서를 포함하고,
    상기 어플리케이션 프로세서에는
    상기 표준 베이스밴드 인터페이스에 기초하여 상기 라디오 어플리케이션의 구현과 관련된 제어명령 및 송신할 정보를 상위 계층으로부터 베이스밴드 드라이버로 전달하고 상기 베이스밴드 드라이버로부터 수신한 정보를 상위 계층으로 전달하는 라디오 컨트롤러; 및
    상기 라디오 컨트롤러와 상기 베이스밴드 가속기가 서로 인터페이스 하는 것을 가능하게 하는 베이스 밴드 드라이버가 동작하고,
    상기 베이스밴드 가속기에는 상기 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 기능 블록이 동작하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  2. 제 1항에 있어서,
    상기 라디오 어플리케이션의 구현을 위하여, 라디오 컨트롤러 코드 및 파이프라인 구성 메타데이터를 포함하는 어플리케이션 패키지가 별도로 상기 단말 장치로 공급되어 설치되고,
    상기 라디오 컨트롤러 코드는 상기 라디오 컨트롤러에 대응하여 설치되고,
    상기 파이프라인 구성 메타데이터는 상기 표준 베이스밴드 인터페이스에 기초한 상기 라디오 어플리케이션의 구현에 필요한 기능 블록과 상기 기능 블록들의 동작순서에 대한 기술인 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  3. 제 2항에 있어서
    상기 베이스밴드 드라이버는 로더를 포함하고,
    상기 로더는 상기 파이프라인 구성 메타데이터를 참조하여 상기 라디오 어플리케이션에 필요한 기능 블록의 동작 순서를 정의하는 베이스밴드 프로세서 파이프라인을 설정하여 상기 베이스밴드 프로세서 파이프라인 설정정보를 상기 베이스밴드 프로세서로 전달하고,
    상기 베이스밴드 프로세서는 상기 설정된 베이스밴드 프로세서 파이프라인에 따라서 상기 베이스밴드 가속기에서 동작하는 기능블록을 제어하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  4. 제 1항 또는 제 3항에 있어서,
    상기 기능 블록은 상기 적어도 하나의 베이스밴드 가속기를 실시간으로 제어하는 베이스밴드 제어 기능 블록을 포함하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  5. 제 1항 또는 제 2항에 있어서,
    상기 베이스밴드 가속기에서 동작하는 각 기능 블록 중 일부 또는 전부는 상기 베이스밴드 가속기에 고정되어 구현된 하드웨어 또는 펌웨어의 형태인 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  6. 제 1항에 있어서,
    상기 표준 베이스밴드 인터페이스는 라디오 어플리케이션의 구현에 필요한 기능 블록에 대한 정의, 상기 기능 블록간의 인터페이스 및 상기 라디오 컨트롤러와 대응하는 기능 블록간의 인터페이스에 대한 정의를 포함하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  7. 적어도 하나의 라디오 어플리케이션이 구현되는 소프트웨어 정의 라디오 단말장치로서, 표준 베이스밴드 인터페이스에 기초하여 생성된 적어도 하나의 표준 기능블록이 저장되는 기능 블록 저장부, 어플리케이션 프로세서 및 적어도 하나의 베이스밴드 가속기를 포함하는 베이스밴드 프로세서를 포함하고,
    상기 어플리케이션 프로세서에는
    미리 정의된 표준 베이스밴드 인터페이스에 기초하여 상기 라디오 어플리케이션의 구현과 관련된 제어명령 및 송신할 정보를 상위 계층으로부터 베이스밴드 드라이버로 전달하고 상기 베이스밴드 드라이버로부터 수신한 정보를 상위 계층으로 전달하는 라디오 컨트롤러; 및
    상기 라디오 컨트롤러와 상기 베이스밴드 가속기가 서로 인터페이스 하는 것을 가능하게 하는 베이스 밴드 드라이버가 동작하고,
    상기 베이스밴드 가속기에는 상기 라디오 어플리케이션의 구현에 필요한 모뎀 기능을 갖는 적어도 하나의 기능 블록이 동작하고, 상기 기능 블록 중 일부 또는 전부는 상기 기능블록 저장부에 저장된 표준 기능블록이 상기 베이스밴드 드라이버에 의해 상기 베이스밴드 가속기로 로드되는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  8. 제 7항에 있어서,
    상기 라디오 어플리케이션의 구현을 위하여, 라디오 컨트롤러 코드 및 파이프라인 구성 메타데이터를 포함하는 어플리케이션 패키지가 별도로 상기 단말 장치로 공급되어 설치되고,
    상기 라디오 컨트롤러코드는 상기 라디오 컨트롤러에 대응하여 설치되고,
    상기 파이프라인 구성 메타데이터는 상기 표준 베이스밴드 인터페이스에 기초한 상기 라디오 어플리케이션의 구현과 관련된 기능 블록과 상기 기능 블록들의 동작순서에 대한 기술인 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  9. 제 8항에 있어서,
    상기 어플리케이션 패키지는 상기 표준 베이스밴드 인터페이스에 정의되지 않은 기능을 기술하는 사용자 정의 코드를 더 포함하고,
    상기 사용자 정의 코드는 상기 기능블록 저장부에 사용자 정의 기능블록으로 설치되는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  10. 제 9항에 있어서,
    상기 베이스밴드 드라이버는 컴파일러를 포함하고,
    상기 사용자 정의코드가 소스코드로 표현된 코드인 경우, 상기 컴파일러는 상기 사용자 정의코드를 상기 베이스밴드 가속기에서 실행 가능하도록 컴파일하여 상기 기능블록 저장부에 저장하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  11. 제 7항 또는 제 9항에 있어서,
    상기 베이스밴드 드라이버는 백-엔드 컴파일러를 포함하고,
    상기 기능 블록 중 전부 또는 일부는 중간형태로 표현되고, 상기 백-엔드 컴파일러는 상기 중간형태로 표현된 기능블록이 상기 베이스밴드 가속기로 로딩되는 경우, 상기 베이스밴드 가속기에서 실행가능한 형태로 컴파일하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  12. 제 7항 또는 제 9항에 있어서,
    상기 기능 블록 중 전부 또는 일부는 중간형태로 표현되고, 상기 적어도 하나의 베이스밴드 가속기 중 전부 또는 일부는 상기 중간형태로 표현된 기능 블록을 지원하도록 구성되는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  13. 제 8항 또는 제 9항에 있어서
    상기 베이스밴드 드라이버는 로더를 포함하고,
    상기 로더는 상기 파이프라인 구성 메타데이터를 참조하여 상기 기능블록 저장부로부터 적어도 하나의 기능블록을 상기 베이스밴드 가속기에 로드하고,
    또한 상기 로더는 상기 라디오 어플리케이션에 필요한 기능 블록의 동작 순서를 정의하는 베이스밴드 프로세서 파이프라인을 설정하고, 상기 베이스밴드 프로세서 파이프라인 설정정보를 상기 베이스밴드 프로세서로 전달하고,
    상기 베이스밴드 프로세서는 상기 베이스밴드 프로세서 파이프라인에 따라서 상기 베이스밴드 가속기에서 동작하는 기능블록을 제어하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  14. 제 7항 또는 제 8항에 있어서,
    상기 기능 블록은 상기 적어도 하나의 베이스밴드 가속기를 실시간으로 제어하는 베이스밴드 제어 기능 블록을 포함하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  15. 제 7항 또는 제 8항에 있어서,
    상기 베이스밴드 가속기에서 동작하는 각 기능 블록 중 일부는 상기 베이스밴드 가속기에 고정되어 구현된 하드웨어 또는 펌웨어 형태인 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  16. 제 7항에 있어서,
    상기 표준 베이스밴드 인터페이스는 라디오 어플리케이션의 구현에 필요한 기능 블록에 대한 정의, 상기 기능 블록간의 인터페이스 및 상기 라디오 컨트롤러와 대응하는 기능 블록간의 인터페이스에 대한 정의를 포함하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
  17. 제 7항에 있어서,
    상기 라디오 어플리케이션은 LTE, WCDMA, WiMAX, GSM, RFID 중 적어도 하나를 포함하는 것을 특징으로 하는 소프트웨어 정의 라디오 단말장치.
KR1020110136731A 2010-12-24 2011-12-16 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치 KR101785116B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1020100135001 2010-12-24
KR1020100135002 2010-12-24
KR20100135002 2010-12-24
KR20100135001 2010-12-24
KR20110043646 2011-05-09
KR1020110043646 2011-05-09

Publications (2)

Publication Number Publication Date
KR20120073106A true KR20120073106A (ko) 2012-07-04
KR101785116B1 KR101785116B1 (ko) 2017-10-17

Family

ID=46314606

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020110136736A KR101796794B1 (ko) 2010-12-24 2011-12-16 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법
KR1020110136731A KR101785116B1 (ko) 2010-12-24 2011-12-16 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020110136736A KR101796794B1 (ko) 2010-12-24 2011-12-16 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법

Country Status (7)

Country Link
US (1) US9021467B2 (ko)
EP (1) EP2657835B1 (ko)
JP (1) JP6043726B2 (ko)
KR (2) KR101796794B1 (ko)
CN (1) CN103250133B (ko)
ES (1) ES2754975T3 (ko)
WO (2) WO2012086993A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014081272A1 (ko) * 2012-11-26 2014-05-30 삼성전자 주식회사 무선 통신 단말의 통신 네트워크 설정 방법
US9848377B2 (en) 2012-11-26 2017-12-19 Samsung Electronics Co., Ltd. Communication network setting method of wireless communication terminal
CN107885543A (zh) * 2017-10-19 2018-04-06 珠海格力电器股份有限公司 一种应用程序的功能管理方法、装置和智能终端

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094821B2 (en) * 2012-02-02 2015-07-28 Acorn Technologies, Inc. Method and system for activation of performance enhancements for mobile devices
KR102038392B1 (ko) * 2012-04-12 2019-11-01 한양대학교 산학협력단 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법
JP6007674B2 (ja) * 2012-08-27 2016-10-12 富士通株式会社 無線装置および無線信号処理方法
WO2014171780A1 (ko) * 2013-04-19 2014-10-23 한양대학교 산학협력단 라디오 어플리케이션을 실행하는 단말 장치
US9166629B1 (en) * 2013-08-30 2015-10-20 The Boeing Company Method and apparatus for using profile structures to deploy components on a software defined radio
US9680700B2 (en) * 2013-09-08 2017-06-13 Intel Corporation Device, system and method of configuring a radio transceiver
EP2871871B1 (en) * 2013-11-12 2019-07-17 Telefonaktiebolaget LM Ericsson (publ) Remote socket connection
KR101498615B1 (ko) 2014-03-20 2015-03-04 한국전자통신연구원 무선 신호의 방향을 추정하는 장치 및 그 방법
KR101701037B1 (ko) * 2014-05-02 2017-02-13 한양대학교 산학협력단 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법
KR20160126885A (ko) * 2015-04-23 2016-11-02 한양대학교 산학협력단 통합 라디오 어플리케이션의 관리 방법 및 이를 이용하는 재구성 가능한 모바일 장치
CN109870674A (zh) * 2019-02-14 2019-06-11 华北电力科学研究院有限责任公司 软件雷达信号安全防护的方法和装置
CN110688140B (zh) * 2019-10-11 2023-11-21 上海创功通讯技术有限公司 一种代码管理方法和终端
US11922153B2 (en) * 2021-07-14 2024-03-05 Wind River Systems, Inc. Pipeline manager

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331911A (ja) * 1998-05-13 1999-11-30 Kokusai Electric Co Ltd 無線端末装置へのプログラムダウンロード制御装置
JP2000244358A (ja) * 1998-12-21 2000-09-08 Toshiba Corp 無線通信装置、無線通信方法及び記録媒体
JP2001160765A (ja) * 1999-12-01 2001-06-12 Mitsubishi Electric Corp ソフトウェアにより無線機能を実現する無線機、受信機および送信機
US7496739B1 (en) * 2000-06-30 2009-02-24 Microsoft Corporation System and related methods for automatically configuring a computing system
US20020083432A1 (en) * 2000-08-22 2002-06-27 Souissi Slim Salah Over the air RF wireless data modem programming
US7743115B2 (en) * 2002-02-27 2010-06-22 Motorola, Inc. Software content downloading methods in radio communication networks
WO2004008719A2 (en) * 2002-07-12 2004-01-22 Sca Technica, Inc Self-booting software defined radio module
US20040098715A1 (en) * 2002-08-30 2004-05-20 Parixit Aghera Over the air mobile device software management
JP2004135221A (ja) * 2002-10-15 2004-04-30 Communication Research Laboratory ソフトウェアラジオ、その制御方法、ならびに、情報記録媒体
US20050055689A1 (en) * 2003-09-10 2005-03-10 Abfalter Scott A. Software management for software defined radio in a distributed network
KR100548414B1 (ko) 2003-10-09 2006-02-02 엘지전자 주식회사 트리플 모드 기능을 구비한 이동통신단말기
JP2005223788A (ja) * 2004-02-09 2005-08-18 Matsushita Electric Ind Co Ltd ソフトウェア無線機及びソフトウェア無線機のソフトウェアダウンロード方法
US7757211B2 (en) * 2004-05-03 2010-07-13 Jordan Thomas L Managed object member architecture for software defined radio
JP2005352996A (ja) * 2004-06-14 2005-12-22 Ntt Docomo Inc 移動通信端末及びアプリケーション制御方法
US7415595B2 (en) * 2005-05-24 2008-08-19 Coresonic Ab Data processing without processor core intervention by chain of accelerators selectively coupled by programmable interconnect network and to memory
WO2007027297A2 (en) * 2005-08-31 2007-03-08 Skyetek, Inc. Data-defined communication device
US7784029B2 (en) * 2005-09-30 2010-08-24 Microsoft Corporation Network service for modularly constructing a software defined radio
US7536537B2 (en) * 2006-04-20 2009-05-19 Harris Corporation Simultaneous dual booting of platforms
KR20070115522A (ko) 2006-06-02 2007-12-06 삼성전자주식회사 이동 통신 시스템에서의 모뎀 및 이를 위한 인터페이스방법
GB2443277B (en) * 2006-10-24 2011-05-18 Advanced Risc Mach Ltd Performing diagnostics operations upon an asymmetric multiprocessor apparatus
US8054779B2 (en) * 2007-05-08 2011-11-08 Microsoft Corporation Simultaneous wireless support in software defined radio
JP4392672B2 (ja) * 2007-08-01 2010-01-06 Necシステムテクノロジー株式会社 ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム
EP2220782A4 (en) * 2007-11-28 2016-11-30 Intellectual Discovery Co Ltd MULTIANNUAL SUBSYSTEM FOR SOFTWARE DEFINED RADIO
KR100903999B1 (ko) * 2007-11-30 2009-06-22 한국전자통신연구원 Sdr 단말용 코아 프레임워크에서 데이터베이스를 이용한도메인 프로파일의 운용 시스템 및 방법
US8107939B2 (en) * 2007-12-14 2012-01-31 Microsoft Corporation Software defined radio architecture
KR100883381B1 (ko) * 2007-12-17 2009-02-11 한국전자통신연구원 에스디알 단말기의 응용 컴포넌트 운영 방법 및 에스디알단말기
KR100960123B1 (ko) 2007-12-17 2010-05-27 한국전자통신연구원 미들웨어의 테스트 컴포넌트 운용방법 및 그 장치
US8103213B2 (en) 2008-09-03 2012-01-24 Nokia Corporation Software-defined radio configuration
KR101181957B1 (ko) * 2008-11-18 2012-09-12 한국전자통신연구원 소프트웨어 기반의 무선 단말에서의 소프트웨어 재구성 방법 및 장치
KR101366747B1 (ko) * 2008-12-01 2014-02-24 한국전자통신연구원 Sdr 단말 장치, 및 sdr 단말 장치의 재 구성 방법
US20100235827A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Creation of multiple radio instances
US8417234B2 (en) * 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for tracking the programming of a mobile device with multiple service accounts
US9148889B2 (en) * 2009-06-01 2015-09-29 Qualcomm Incorporated Control of multiple radios using a database of interference-related information
US20110047539A1 (en) * 2009-08-24 2011-02-24 Nokia Corporation Software defined radio management
US8442510B2 (en) * 2009-10-09 2013-05-14 At&T Intellectual Property I, L.P. Mobile point-of-presence for on demand network client services and security
US8756256B2 (en) * 2010-05-26 2014-06-17 Qualcomm Incorporated Method and systems for the management of non volatile items and provisioning files for a communication device with multiple service accounts
US20120084772A1 (en) * 2010-10-04 2012-04-05 Tomer Shadi Method and system for deploying application components in a partial deployment
ES2746900T3 (es) * 2010-10-06 2020-03-09 Univ Hanyang Ind Univ Coop Found Dispositivo terminal de radio de definición por software de antena inteligente y procedimiento para distribuir e instalar una aplicación de terminal de radio de definición por software
US20120096445A1 (en) * 2010-10-18 2012-04-19 Nokia Corporation Method and apparatus for providing portability of partially accelerated signal processing applications
KR101836509B1 (ko) * 2011-05-09 2018-03-12 한양대학교 산학협력단 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법
EP2523120A1 (en) * 2011-05-12 2012-11-14 Imec Microcomputer architecture for low power efficient baseband processing
US9477585B2 (en) * 2012-11-09 2016-10-25 Coherent Logix, Incorporated Real time analysis and control for a multiprocessor system
US20140164476A1 (en) * 2012-12-06 2014-06-12 At&T Intellectual Property I, Lp Apparatus and method for providing a virtual assistant
US11455664B2 (en) * 2012-12-12 2022-09-27 Saankhya Labs Private Limited System and method for enabling and performing services and functionalities across device types and service providers within a communication device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014081272A1 (ko) * 2012-11-26 2014-05-30 삼성전자 주식회사 무선 통신 단말의 통신 네트워크 설정 방법
US9848377B2 (en) 2012-11-26 2017-12-19 Samsung Electronics Co., Ltd. Communication network setting method of wireless communication terminal
CN107885543A (zh) * 2017-10-19 2018-04-06 珠海格力电器股份有限公司 一种应用程序的功能管理方法、装置和智能终端
CN107885543B (zh) * 2017-10-19 2020-10-02 珠海格力电器股份有限公司 一种应用程序的功能管理方法、装置和智能终端

Also Published As

Publication number Publication date
KR101796794B1 (ko) 2017-11-13
EP2657835A2 (en) 2013-10-30
JP6043726B2 (ja) 2016-12-14
EP2657835A4 (en) 2015-04-08
ES2754975T3 (es) 2020-04-21
WO2012086993A3 (ko) 2012-10-04
KR101785116B1 (ko) 2017-10-17
US20130243055A1 (en) 2013-09-19
WO2012086992A2 (ko) 2012-06-28
US9021467B2 (en) 2015-04-28
KR20120073107A (ko) 2012-07-04
EP2657835B1 (en) 2019-09-04
CN103250133B (zh) 2016-10-19
JP2014512577A (ja) 2014-05-22
CN103250133A (zh) 2013-08-14
WO2012086992A3 (ko) 2012-10-04
WO2012086993A2 (ko) 2012-06-28

Similar Documents

Publication Publication Date Title
KR101785116B1 (ko) 모뎀 하드웨어에 독립적인 라디오 어플리케이션을 위한 소프트웨어 정의 라디오 단말 장치
KR101701037B1 (ko) 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법
Bansal et al. Openradio: a programmable wireless dataplane
KR102024533B1 (ko) 소프트웨어 정의 라디오 어플리케이션의 동작 방법
KR102038392B1 (ko) 소프트웨어 정의 라디오 어플리케이션의 배포, 설치 및 실행 방법
KR102292057B1 (ko) 라디오 어플리케이션을 실행하는 방법 및 단말 장치
KR20170040972A (ko) 라디오 어플리케이션을 실행하는 방법 및 단말 장치
KR20140126259A (ko) 라디오 어플리케이션을 실행하는 단말 장치
US10911941B2 (en) Reconfigurable radio equipment having multiple radio computers, and operation method for the same
US20130235798A1 (en) Smart antenna software definition radio terminal device and method of distributing and installing software definition radio terminal application
KR101836509B1 (ko) 소프트웨어 정의 라디오 단말 장치 및 라디오 어플리케이션의 배포 및 설치 방법
CN110851171B (zh) 一种嵌入式平台功能配置方法、配置工具及系统
CN108037939A (zh) 一种应用程序的升级方法和升级系统
KR102673243B1 (ko) 복수의 라디오 컴퓨터를 구비한 재구성 가능한 라디오 장치 및 이를 위한 동작 방법
KR20120035906A (ko) 시공간부호화를 위한 소프트웨어 정의 라디오 단말 장치 및 소프트웨어 정의 라디오 단말 어플리케이션의 배포 및 설치 방법
KR20120035905A (ko) 공간다중화를 위한 소프트웨어 정의 라디오 단말 장치 및 소프트웨어 정의 라디오 단말 어플리케이션의 배포 및 설치 방법
IL268122B1 (en) Method and device for transmitting information

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right