KR20010034125A - Systems and methods for wireless communications - Google Patents

Systems and methods for wireless communications Download PDF

Info

Publication number
KR20010034125A
KR20010034125A KR1020007007738A KR20007007738A KR20010034125A KR 20010034125 A KR20010034125 A KR 20010034125A KR 1020007007738 A KR1020007007738 A KR 1020007007738A KR 20007007738 A KR20007007738 A KR 20007007738A KR 20010034125 A KR20010034125 A KR 20010034125A
Authority
KR
South Korea
Prior art keywords
signal
data
memory
processing
page
Prior art date
Application number
KR1020007007738A
Other languages
Korean (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 KR20010034125A publication Critical patent/KR20010034125A/en

Links

Classifications

    • 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/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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
    • H04B1/0007Software-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 wherein the AD/DA conversion occurs at radiofrequency or intermediate frequency stage
    • H04B1/0017Digital filtering
    • 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
    • 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
    • H04B1/0007Software-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 wherein the AD/DA conversion occurs at radiofrequency or intermediate frequency stage
    • H04B1/001Channel filtering, i.e. selecting a frequency channel within the SDR system
    • 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/06Receivers
    • H04B1/16Circuits
    • H04B1/26Circuits for superheterodyne receivers
    • H04B1/28Circuits for superheterodyne receivers the receiver comprising at least one semiconductor device having three or more electrodes
    • 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/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • H04B1/403Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency
    • H04B1/406Circuits using the same oscillator for generating both the transmitter frequency and the receiver local oscillator frequency with more than one transmission mode, e.g. analog and digital modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/18Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Circuits Of Receivers In General (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 호스트 컴퓨터와 무선 송수신기를 집적하는 무선 통신 시스템을 포함하며 베이스 밴드 변조된 신호의 대표인 디지털 데이터를 애플리케이션 프로그램의 메모리 공간으로 전달하는 데이터 액세스 채널을 포함하는 시스템 및 방법에 관한 것이다. 따라서 상기 시스템은 RF 신호와 같은 들어오는 신호의 광대역 디지털화를 이용할 수 있으며 디지털화된 데이터를 공용 워크스테이션의 애플리케이션 메모리 공간으로 디지털화된 데이터를 유도할 수 있고 공용 워크스테이션에서 동작하는 애플리케이션 프로그램을 디지털화된 신호에서 인코딩된 정보를 획득하는 디지털 신호 처리를 실행하게 할 수 있다.The present invention relates to a system and method comprising a wireless communication system integrating a host computer and a wireless transceiver and including a data access channel for transferring digital data representative of a baseband modulated signal to a memory space of an application program. Thus, the system can take advantage of wideband digitization of incoming signals, such as RF signals, can drive digitized data into application memory space of common workstations, and can convert application programs that operate on common workstations from digitized signals. Digital signal processing to obtain encoded information.

Description

무선 통신용 시스템 및 방법 {SYSTEMS AND METHODS FOR WIRELESS COMMUNICATIONS}Systems and Methods for Wireless Communications {SYSTEMS AND METHODS FOR WIRELESS COMMUNICATIONS}

무선 원격 통신의 분야는 최근 빠르게 성장하였으며 무선 원격 통신 서비스 및 그 장비에 대한 요구 역시 꾸준히 증가한다. 이러한 주목할 만한 증가는 부분적으로는 새로운 통신 표준의 확산과 새로운 하드웨어 기술의 개발에 기인한다. 예를 들면 셀룰러 원격 통신의 성공적인 채택은 셀룰러 전화 산업의 증가를 고취시키고 아날로그와 디지털 영역간의 큰 변화와 보다 많은 디지털 신호 처리 신호에 대한 새로운 하드웨어 기술을 통합하는 소형이면서 보다 효과적인 셀룰러 전화의 개발을 유도한다.The field of wireless telecommunications has grown rapidly in recent years, and the demand for wireless telecommunication services and their equipment is steadily increasing. This notable increase is due in part to the proliferation of new communication standards and the development of new hardware technologies. For example, the successful adoption of cellular telecommunications has fueled the growth of the cellular telephone industry and has led to the development of smaller, more effective cellular telephones that incorporate significant changes between the analog and digital domains and new hardware technologies for more digital signal processing signals. do.

이러한 새로운 표준과 하드웨어 기술은 충분히 동작하는 많은 새로운 장치를 제공하며 상기 장치들은 일반적으로 특정 애플리케이션에 전용되며 특정 하드웨어 설계가 공급받는 기능성에 의해 제한되는 애플리케이션을 기초로 한다. 특히 새로운 하드웨어 장치는 일반적으로 독점적인 버스 구조, 소자, 및 다른 독점적인 엘리멘트를 포함하는 특정 하드웨어 구조의 응용을 이용하며 이는 시스템의 적응성을 감소시키며 시스템을 업그레이드 시키고 확장하며 스케일링하는 것을 어렵게 한다. 확장을 위해 독점적인 하드웨어 구조, 디지털 라디오, 또는 소프트웨어 라디오의 사용이 개발되었다. 소프트웨어 라디오는 방송 밴드 신호를 처리하기 위해 아날로그 디지털 변환기 및 디지털 신호 프로세서를 사용하며 선택된 채널에 전송된 정보의 대표인 데이터 스트림을 생성한다. Brannon, Brad, Wide-Dynamic-RangeA/D Converters Pave Way for Wideband Digital-Radio Receivers, EDN(November 1, 1996). 데이터 스트림은 즉각적으로 애플리케이션을 실행하도록 데이터 스트림을 처리하는 소프트웨어 애플리케이션으로 통과될 수 있다. 예를 들면 FM 라디오 수신기를 실행하는 소프트웨어 라디오 애플리케이션은 특정 라디오 스테이션에 할당된 특정 라디오 주파수에 전송된 신호를 디코딩하기 위해 들어오는 데이터 스트림을 처리할 수 있으며 RF 신호에서 인코딩되는 음악 또는 음성 신호를 실행할 수 있다.These new standards and hardware technologies provide many new devices that work well and are based on applications that are typically dedicated to a particular application and are limited by the functionality supplied by that particular hardware design. In particular, new hardware devices typically utilize applications of specific hardware structures, including proprietary bus structures, devices, and other proprietary elements, which reduce system adaptability and make it difficult to upgrade, expand, and scale the system. To expand, the use of proprietary hardware structures, digital radios, or software radios has been developed. Software radios use analog-to-digital converters and digital signal processors to process broadcast band signals and generate data streams that are representative of the information transmitted on selected channels. Brannon, Brad, Wide-Dynamic-RangeA / D Converters Pave Way for Wideband Digital-Radio Receivers, EDN (November 1, 1996). The data stream can be passed to a software application that processes the data stream to run the application immediately. For example, a software radio application running an FM radio receiver can process incoming data streams to decode signals transmitted on specific radio frequencies assigned to specific radio stations, and can execute music or voice signals encoded in RF signals. have.

소프트웨어 라디오는 프로그램이 명령한 데이터스트림을 처리하기 위해 애플리케이션 프로그램을 사용할 수 있는 컴퓨터 시스템으로 데이터 스트림을 제공한다. 따라서, 데이터스트림을 처리하는 소프트웨어를 변화시킴으로써 사용자는 소프트웨어 라디오에 의해 실행되는 기능을 업그레이드 또는 확장시킬 수 있다. 이는 상당한 유연성을 제공하며 따라서 보다 강력한 원격 통신 장치를 가능하게 한다.Software radio provides a data stream to a computer system that can use an application program to process the data stream commanded by the program. Thus, by changing the software that processes the datastream, the user can upgrade or expand the functionality performed by the software radio. This offers considerable flexibility and thus enables more powerful telecommunications devices.

게다가, 현재의 소프트웨어 라디오는 공용 워크스테이션에서 동작할 수 있는 애플리케이션 프로그램으로 변조 또는 복조된 데이터의 데이터스트림을 제공한다. 공용 워크스테이션의 사용은 데이터 처리 기능과 무선 통신 기능을 보다 쉽게 통합하며 무선 통신이 다른 데이터 처리 시스템으로 보다 쉽게 통합되도록 한다. 예를 들면 증가된 통합 레벨에 의해 소프트웨어 라디오는 네트워크 통신, 보다 큰 데이터 저장 및 다른 상기의 용량과 같은 데이터 처리 플랫폼에 이용될 수 있는 자원과 무선 통신의 전력을 이용할 수 있다.In addition, current software radios provide a data stream of modulated or demodulated data to an application program that can run on a common workstation. The use of a shared workstation makes it easier to integrate data processing and wireless communications, and to make wireless communications easier to integrate into other data processing systems. For example, increased levels of integration allow software radios to utilize the power of wireless communications and resources available for data processing platforms such as network communications, larger data storage, and other such capacities.

소프트웨어 라디오는 애플리케이션 주문형 하드웨어 구조에 대한 증가된 유연성을 제공하지만, 소프트웨어 라디오는 방송 신호내에서 인코딩된 정보를 나타내는 데이터 스트림을 전개하는 신호 프로세싱을 실행하기 위한 애플리케이션 주문형 디지털 하드웨어 또는 디지털 신호 프로세서(DSPs)를 이용할 수 있다. 따라서 소프트웨어 라디오에서의 신호 처리는 전형적으로 애플리케이션 주문형 플랫폼인 전용 신호처리 하드웨어에서 주로 발생하며, 신호 처리가 데이터스트림을 생성하기 위해 발생하는 방식을 개조하거나 변경하는 어떠한 기회도 주어지지 않는다. 예를 들면 심지어 소프트웨어 라이오에서 조차도 전용 하드웨어는 여전히 채널의 폭, 소프트웨어 애플리케이션에 의해 즉각적으로 처리될 수 있는 채널의 개수 및 다른 유사한 파라미터를 결정하는 기본 신호 처리를 실행할 것이다.Software radios provide increased flexibility for application specific hardware architectures, while software radios provide application specific digital hardware or digital signal processors (DSPs) for performing signal processing to deploy data streams representing encoded information within broadcast signals. Can be used. Thus, signal processing on software radios typically occurs on dedicated signal processing hardware, which is typically an application-specific platform, and no opportunity is given to modify or alter the way signal processing occurs to generate data streams. For example, even in software lions, dedicated hardware will still perform basic signal processing to determine the width of the channel, the number of channels that can be processed immediately by the software application, and other similar parameters.

따라서 소프트웨어 라디오는 사용자 애플리케이션과 RF 신호에서 이용할 수 있는 변조된 데이터 사이의 애플리케이션 주문형 하드웨어 구조의 경계를 결정한다. 이는 소프트웨어 라디오의 유연성을 제한하며 데이터 처리 환경을 통해 원격 통신 기능을 제공하는 능력을 감소시킨다.The software radio thus determines the boundaries of the application specific hardware architecture between the user application and the modulated data available in the RF signal. This limits the flexibility of the software radio and reduces the ability to provide telecommunications functionality through the data processing environment.

본 발명은 일반적으로 통신 시스템에 관한 것으로 특히 오디오, 비디오 및 데이터 신호를 통신할 수 있는 무선 통신 시스템에 관한 것이다.TECHNICAL FIELD The present invention relates generally to communication systems and, more particularly, to wireless communication systems capable of communicating audio, video and data signals.

도 1은 변조된 신호를 처리하기 위한 애플리케이션 프로그램을 포함하는 무선 통신 시스템의 기능 블록도이다.1 is a functional block diagram of a wireless communication system including an application program for processing a modulated signal.

도 2는 도 1의 인터페이스 카드의 기능 블록도이다.2 is a functional block diagram of the interface card of FIG.

도 3a-3c는 도 1의 시스템 소자들 간의 데이터 흐름을 도시한 개략도이다.3A-3C are schematic diagrams illustrating the data flow between the system elements of FIG. 1.

도 4는 프로세스의 메모리 공간으로 전달된 디지털화된 IF 샘플을 처리하는셀룰러 수신기 프로세스의 일 실시예의 기능 블록도이다.4 is a functional block diagram of one embodiment of a cellular receiver process that processes digitized IF samples delivered to the process's memory space.

도 5는 도 4의 셀룰러 수신기 프로세스와 함께 사용될 수 있는 하향 변환 모듈의 선택적인 실시예를 도시한다.FIG. 5 illustrates an alternative embodiment of a down conversion module that may be used with the cellular receiver process of FIG. 4.

도 6은 본 발명에 따른 네트워트 인터페이스 카드의 네트워크 층을 도시한다.6 shows a network layer of a network interface card according to the invention.

도 7은 네트워크 데이터의 전송 패키지를 위한 애플리케이션의 소프트웨어 성분을 도시한 기능 블록도이다.7 is a functional block diagram illustrating software components of an application for a transport package of network data.

본 발명의 목적은 무선 통신 장치에 의해 실행된 신호 처리를 개조하거나 변경할 수 있는 무선원격통신장치를 제공하는 것이다.It is an object of the present invention to provide a wireless remote communication device capable of modifying or modifying the signal processing performed by the wireless communication device.

본 발명의 다른 목적은 무선 통신 장치에 의해 생성된 데이터 스트림에 대해 보다 나은 유연성을 제공하는 무선 통신 시스템 및 방법을 제공하는 것이다.It is another object of the present invention to provide a wireless communication system and method that provides better flexibility for the data stream generated by the wireless communication device.

본 발명의 다른 목적은 이하의 설명에서 부분적으로 분명하게 보여질 것이다.Other objects of the present invention will be apparent in part apparent from the following description.

본 발명은 범용 처리 플랫폼을 가진 무선 송수신기를 통합하며 변조된 신호의 대표인 애플리케이션 프로그램 디지털 데이터의 메모리 공간으로 전달하는 데이터 액세스 채널을 가지는 무선 통신 시스템을 포함하는 시스템 및 방법을 제공한다. 따라서 상기 시스템은 RF 신호와 같은 들어오는 신호의 광대역 밴드 디지털화를 이용할 수 있으며, 디지털화된 신호를 범용 처리 플랫폼의 애플리케이션 메모리 공간으로 디지털화된 데이터를 유도하며, 범용 처리 플랫폼에서 실행되는 애플리케이션 프로그램이 디지털화된 신호에서 인코딩되는 정보를 획득하는 디지털 신호 처리를 수행하도록 한다.The present invention provides a system and method comprising a wireless communication system incorporating a wireless transceiver having a general purpose processing platform and having a data access channel for transferring to a memory space of application program digital data that is representative of a modulated signal. Thus, the system can take advantage of wideband band digitization of incoming signals, such as RF signals, derive digitized data into the application memory space of a general purpose processing platform, and digitize the application program running on the general purpose processing platform. To perform digital signal processing to obtain information encoded in the.

본 발명은 도면을 참조로 이하에서 상세히 설명된다.The invention is explained in detail below with reference to the drawings.

호스트 컴퓨터 플랫폼과 무선 송수신기를 집적하는 무선 통신 시스템과 변조된 신호를 대표하는 애플리케이션 프로그램 디지털 데이터의 메모리 공간으로 전달하는 데이터 액세스 채널을 가지는 무선 통신 시스템을 포함하는 시스템과 방법이 개시되어 있다. 따라서 상기 시스템은 RF 신호와 같은 들어오는 신호의 광대역 디지털화를 이용할 수 있으며 공용 처리 플랫폼의 애플리케이션 메모리 공간으로 디지털화된 데이터를 공급하며 공용 워크스테이션에서 동작하는 애플리케이션 프로그램이 디지털화된 신호에서 인코딩된 정보를 획득하는 디지털 신호 처리를 실행하도록 할 수 있다. 이를 위해 시스템과 방법은 공용 처리 플랫폼의 입/출력 버스와 무선 송/수신기 사이에서 데이터를 교환하기 위한 데이터 인터페이스 보드를 포함하며 또한 서택적으로 소프트웨어 루틴의 라이브러리를 제공하는 프로그래밍 환경외에 무선 통신 애플리케이션에 솔루션용 디자인을 구현할 수 있는 일 클래스 또는 일 세트의 클래스를 가지는 프레임 워크를 포함할 수 있다.A system and method are disclosed that include a wireless communication system integrating a host computer platform and a wireless transceiver and a wireless communication system having a data access channel for transferring to a memory space of application program digital data representative of the modulated signal. Thus, the system can take advantage of wideband digitization of incoming signals, such as RF signals, supplying digitized data to the application memory space of common processing platforms and allowing application programs operating on a common workstation to obtain information encoded in the digitized signal. Digital signal processing can be performed. To this end, the systems and methods include data interface boards for exchanging data between the input / output bus of the common processing platform and the wireless transmitter / receiver, and alternatively for wireless communication applications in addition to programming environments that provide libraries of software routines. It can include a framework with one class or a set of classes that can implement a design for a solution.

도 1은 송/수신기(12), 변환기(14), 호스트 플랫폼(16), 영구 메모리 장치(18) 및 입/출력 장치(20)를 포함한다. 시스템(10)은 원하는 무선 통신 작동을 실행할 수 있는 플랫폼을 제공한다. 도 1에 도시된 바와 같이 송/수신기(12)는 양방향 전송 경로를 통해 변환기 유니트(14)에 커플링되며 다음으로 양방향 전송 경로를 통해 호스트 플랫폼(16)에 커플링된다. 호스트 플랫폼(16)은 양방향 전송 경로를 통해 영구 메모리 장치(18)에 커플링되며 양방형 전송 경로를 통해 입/출력 장치(20)에 커플링된다. 이를 위해 본 발명의 시스템 및 방법은 U.S 셀룰러 밴드를 처리하기 위한 셀룰러 수신기를 실행하는 애플리케이션 프로그램을 포함한다. 그러나, 이 시스템은 임의의 특정 애플리케이션에 제한되지 않으며 다른 애플리케이션 프로그램이 셀룰러 모뎀, 라디오 수신기, 텔레비젼 수신기, 무선 네트워크 인터페이스 카드, 차고문 오프너와 같은 무선 제어 장치 및 채널 선택 장치 또는 무선 통신 장치의 다른 타입, 가상 장치 또는 애플리케이션을 포함하는 다른 애플리케이션을 실행하는 시스템(10)에서 실행될 수 있다.1 includes a transmitter / receiver 12, a transducer 14, a host platform 16, a permanent memory device 18, and an input / output device 20. System 10 provides a platform capable of performing desired wireless communication operations. As shown in FIG. 1, the transmitter / receiver 12 is coupled to the converter unit 14 via a bidirectional transmission path and then to the host platform 16 via a bidirectional transmission path. The host platform 16 is coupled to the permanent memory device 18 via a bidirectional transfer path and coupled to the input / output device 20 via a bidirectional transfer path. To this end, the system and method of the present invention include an application program executing a cellular receiver for processing a U.S cellular band. However, the system is not limited to any particular application, and other application programs may include radio modems such as cellular modems, radio receivers, television receivers, radio network interface cards, garage door openers, and other types of channel selector or radio communication devices. May be executed in the system 10 running other applications, including virtual devices or applications.

일 실시예에서 이 송/수신기(12)는 선택된 중요 방송 밴드를 베이스 밴드 또는 실질적인 베이스 밴드 신호로 변형시키는 시스템(10)의 프론트엔드로서 동작할 수 있는 RF 수신기 유니트를 포함한다. 이를 위해 송/수신기(12)는 도 1에 도시되어 있으며 프리증폭기(24)에 커플링되고 광대역 필터(28)에 커플링되는 안테나 엘리멘트(22)를 포함한다. 송/수신기 유니트(12)의 기능성 소자들을 살펴보면 수신기가 RF 신호를 수집할 수 있으며 RF 신호로부터 변환기 유니트(14)에 전송될 수 있는 광대역 IF 신호를 생성할 수 있다. 일 실시예에서 송/수신기 유니트(12)는 일리노아주의 리슬에 소재한 Tellabs Company에 의해 제작되고 판매되는 타입의 상업적으로 이용가능한 RF 수신기를 포함할 수 있다. 그러나 당업자는 다른 송/수신기를 사용할 수 있으며 다른 튜너가 이용할 수 있고 송/수신기는 애플리케이션에 따라 선택된다. 예를 들면 도 1의 유니트(12)는 송/수신기로서 도시되어 있다. 그러나 애플리케이션에 따라 송/수신기(12)는 단독적인 수신기 유니트 또는 선택적으로 단독적인 송신기 유니트일 수 있다. 게다가 시스템(10)은 다수의 송/수신기 장치를 포함할 수 있으며 따라서 다수의 송/수신기 장치는 호스트 플랫폼(16)에 커플링될 수 있고 각각의 송/수신기 장치는 10KHz에서 1GHz에 해당하는 RF 스펙트럼의 서로 다른 부분 또는 선택적으로 다이크로파 스펙트럼, 적외선 스펙트러, 가시광 스펙트럼 또는 다른 임의의 저당한 통신 스펙트럼 또는 채널을 수신 또는 전송할 수 있다.In one embodiment, the transmitter / receiver 12 includes an RF receiver unit that can act as the front end of the system 10 to transform the selected critical broadcast band into a baseband or a substantial baseband signal. To this end, the transmitter / receiver 12 is shown in FIG. 1 and includes an antenna element 22 coupled to the preamplifier 24 and coupled to the broadband filter 28. Looking at the functional elements of the transmitter / receiver unit 12, the receiver can collect the RF signal and generate a wideband IF signal that can be transmitted from the RF signal to the converter unit 14. In one embodiment, the transmitter / receiver unit 12 may comprise a commercially available RF receiver of the type manufactured and sold by Tellabs Company, Riesle, Illinois. However, those skilled in the art can use other transmitters / receivers, other tuners may be available and the transmitter / receiver is selected depending on the application. For example, unit 12 of FIG. 1 is shown as a transmitter / receiver. However, depending on the application, the transmitter / receiver 12 may be a single receiver unit or optionally a single transmitter unit. In addition, the system 10 may include multiple transmitter / receiver devices such that multiple transmitter / receiver devices may be coupled to the host platform 16 and each transmitter / receiver device corresponds to an RF corresponding to 1 GHz at 10 KHz. It is possible to receive or transmit different portions of the spectrum or optionally a dichroic spectrum, infrared spectra, visible light spectrum or any other suitable communication spectrum or channel.

도 1에는 또한 시스템(10)이 변환기 엘리멘트(14)를 포함한다. 도 1의 일 실시예에서 변환기 엘리멘트(14)는 메사추세스주의 노워드에 소재한 Analog Devices Corporation에 의해 제작되고 판매되는 타입의 아날로그 디지털 변환기의 높은 성능을 나타낸다. 아날로그 디지털 변환기는 아날로그 영역의 데이터를 디지털 영역으로 변환하게 하며 반대로 디지털 영역과 아날로그 영역의 데이터를 변형시킨다.1 also shows that the system 10 includes a transducer element 14. In one embodiment of FIG. 1, converter element 14 exhibits the high performance of an analog-to-digital converter of the type manufactured and sold by Analog Devices Corporation, which is located in Howard, Massachusetts. Analog-to-digital converters convert the data in the analog domain to the digital domain and conversely transform the data in the digital and analog domains.

변환기(14)와 같은 변환기의 설계 및 사용은 기술상 공지되어 있으며 임의의 가능 변환기는 아날로그와 디지털 영역의 신호를 수집하는 시스템(10)에 의해 사용될 수 있다. 게다가 변환기(14)에서의 샘플링율은 일반적으로 중요 밴드폭과 전형적으로 선택된 밴드의 최고 주파수 및 디지털 영역의 신호대 잡음비를 개선하는 목적인 오버샘플링량에 따른다.The design and use of a transducer, such as transducer 14, is known in the art and any possible transducer may be used by system 10 for collecting signals in the analog and digital domains. In addition, the sampling rate in converter 14 generally depends on the critical bandwidth and the amount of oversampling, which is typically the purpose of improving the signal to noise ratio of the digital frequency and the highest frequency of the selected band.

컨버터 엘리멘트(14)는 양방향 경로를 통해 도 1에 도시된 바와 같이 호스트 플랫폼(16)에 커플링된다. 호스트 플랫폼(16)은 적어도 64 메가 바이트의 내부 랜덤 액세스 메모리(RAM)과 33 메가 헤르쯔의 내부 PCI 버스를 가지며 200 메가 헤르쯔의 클록 주파수에서 동작하며 MMX 능력을 가진 팬티엄 계열 마이크로 프로세서로 동작하는 IBM 호환 개인용 컴퓨터와 같은 공용 컴퓨터 워크 스테이션일 수 있다. 호스트 플랫폼(16)은 도 1에 개략적으로 도시되어 있으며 인터페이스 장치(30), CPU(32), 오퍼레이팅 시스템(34), 데이터를 메모리 공간(38)에 유지할 수 있는 컴퓨터 메모리(36) 및 애플리케이션 처리용 프로그램 메모리 공간(40) 및 출력 장치(20)에 커플링되는 출력 제어기(48)를 포함한다. 호스트 플랫폼(16)은 단순히 공용 처리 플랫폼의 일 실시예이며 공용 플랫폼이 서로 다른 애플리케이션 프로그램을 로딩하며 동작시키는 것을 용이하게 하기 위해 융통성있는 구조를 제공하도록 설계된 컴퓨팅 플랫폼을 포함하는 것을 당업자는 이해할 것이다.Converter element 14 is coupled to host platform 16 as shown in FIG. 1 via a bidirectional path. The host platform 16 has at least 64 megabytes of internal random access memory (RAM) and an internal PCI bus of 33 megahertz, and operates at a clock frequency of 200 megahertz and operates as a Pentium series microprocessor with MMX capability. It can be a public computer workstation, such as a personal computer. The host platform 16 is shown schematically in FIG. 1 and includes an interface device 30, a CPU 32, an operating system 34, computer memory 36 and application processing capable of holding data in the memory space 38. An output controller 48 coupled to the application program memory space 40 and the output device 20. It will be appreciated by those skilled in the art that host platform 16 is merely one embodiment of a common processing platform and includes a computing platform designed to provide a flexible structure to facilitate the common platform loading and running different application programs.

상기 예에서 호스트 플랫폼(16)은 변환기(14)로부터 전달된 디지털 광대역 IF 데이터의 신호 처리를 실행할 수 있도록 동작한다. 이를 위해 호스트 프로세서(16)는 프로그램 메모리 공간(40)에서 상기 처리(44)를 실행할 수 있다. 오퍼레이팅 시스템(34)은 컴퓨터 메모리(36)에 의해 공급된 메모리 자원과 같은 호스트 플랫폼(16)의 자원을 제어하며 처리(44)를 위해 사용되는 메모리 공간(38)의 일부(42)를 처리(44)하도록 할당될 수 있다. 이하 기술되는 바와 같이 오프레이팅 시스템(34)은 처리(44)에 할당된 데이터 메모리(38)의 일부(42)와 인터페이스(30) 사이에서 데이터 흐름을 제어할 수 있고 처리(44)와 인터페이스(30)사이의 하이 밴드폭 데이터 전송을 허용할 수 있다. 처리(44)와 인터페이스(30) 사이의 다이렉트 데이터 전송은 처리(44)에 데이터 샘플의 일정한 스트림 또는 데이터 샘플의 블록을 공급하며 오퍼레이팅 시스템(34)의 가상 메모리 공간, 캐싱의 다중 레벨 및 입/출력 자원의 충돌을 일으킬 수 있는 시간 지연 및 전송 지터를 줄이거나 제거한다.In this example, the host platform 16 operates to perform signal processing of the digital wideband IF data delivered from the converter 14. To this end, the host processor 16 may execute the processing 44 in the program memory space 40. The operating system 34 controls the resources of the host platform 16, such as the memory resources supplied by the computer memory 36, and processes a portion 42 of the memory space 38 used for the processing 44 ( 44). As described below, the offrating system 34 may control the data flow between the interface 30 and the portion 42 of the data memory 38 allocated to the processing 44 and the processing 44 and the interface ( High bandwidth data transmission between 30) may be allowed. Direct data transfer between process 44 and interface 30 supplies process 44 with a constant stream of data samples or blocks of data samples, virtual memory space of operating system 34, multiple levels of caching, and input / output. Reduce or eliminate time delay and transmission jitter that can cause output resource conflicts.

도 1에는 또한 호스트 플랫폼(16)이 영구저장 장치(18)에 커플링되며 하드디스크 드라이브, 테이브 드라이브, 플레쉬 메모리 또는 데이터를 영구 저장할 수 있는 다른 타입의 메모리 장치일 수 있다. 시스템(10)은 광대역 IF 데이터, 변조된 데이터 또는 호스트 플랫폼(16)에서 동작하는 신호 처리 애플리케이션 프로그램에 의해 처리된 데이터의 일부를 저장하는 저장 장치(18)를 사용할 수 있다. 도 1에는 또한 호스트 프로세서(16)가 입/출력 장치(20)에 커플링되는 출력 제어기(48)를 포함할 수 있다. 일 실시예에서, 출력 제어기(48)는 오클라호마주 스틸워터에 소재한 Creative Labs사에 의해 제작되어 판매되는 Sound Blaster같은 사운드 카드일 수 있다. 예를 들면 사운드 카드는 상업용 개인 컴퓨터를 통상적으로 이용하는 타입의 마이크로폰 및 한쌍의 스피커와 같은 하나 이상의 오디오 입/출력 장치에 커플링될 수 있다. 다른 애플리케이션에서 입/출력 장치는 무선 채널에서 전송된 데이터를 디스플레이하는 데이터 디스플레이외에 텔레비젼 모니터와 같은 비디오 디스플레이를 포함할 수 있다. 게다가 입/출력 장치는 무선 채널에서 전송된 명령 신호를 발생시키거나 응답하기 위해 이용될 수 있는 원격 제어 장치와 같은 장치를 포함할 수 있다.In FIG. 1, the host platform 16 may also be a hard disk drive, tape drive, flash memory or other type of memory device that is permanently coupled to the persistent storage device 18. System 10 may use storage 18 for storing wideband IF data, modulated data, or portions of data processed by signal processing application programs operating on host platform 16. 1 may also include an output controller 48 to which the host processor 16 is coupled to the input / output device 20. In one embodiment, the output controller 48 may be a sound card, such as Sound Blaster, manufactured and sold by Creative Labs, Steelwater, Oklahoma. For example, the sound card may be coupled to one or more audio input / output devices, such as microphones and a pair of speakers commonly used in commercial personal computers. In other applications, the input / output device may include a video display, such as a television monitor, in addition to a data display displaying data transmitted on a wireless channel. In addition, the input / output device may include a device such as a remote control device that may be used to generate or respond to a command signal transmitted on a wireless channel.

도 2에는 도 1에 도시된 인터페이스 카드(30)와 같은 인터페이스 카드의 일 실시예를 도시한다. 특히 도 2는 플러그-인 카드 또는 자녀 카드로서 형성될 수 있으며 호스트 플랫폼(16)의 마더보드의 확장 슬롯으로 삽입될 수 있는 인터페이스 카드(60)를 도시한다. 도 2에 도시된 바와 같이 인터페이스 카드(60)는 PCI/PCI 브리지(62), 구성 메모리(64), PCI 제어기 소자(68), 출력 페이지 어드레스 메모리(70) 및 입력 페이지 어드레스 메모리(72), 출력 데이터 메모리(74) 및 입력 데이터 메모리(78)를 포함할 수 있다. 도 2의 인터페이스 카드(60)는 PCI/PCI 브리지(62)를 통해 호스트 플랫폼(16)의 PCI버스에 접속될 수 있으며 입/출력 데이터 메모리(74)를 통해 도 1의 변환기(14)와 같은 시스템의 아날로그 프론트엔드에 접속될 수 있다.FIG. 2 shows one embodiment of an interface card such as the interface card 30 shown in FIG. 1. In particular, FIG. 2 shows an interface card 60 that can be formed as a plug-in card or child card and can be inserted into an expansion slot of the motherboard of the host platform 16. As shown in FIG. 2, the interface card 60 includes a PCI / PCI bridge 62, a configuration memory 64, a PCI controller element 68, an output page address memory 70 and an input page address memory 72, It may include an output data memory 74 and an input data memory 78. The interface card 60 of FIG. 2 may be connected to the PCI bus of the host platform 16 via the PCI / PCI bridge 62 and through the input / output data memory 74, such as the converter 14 of FIG. 1. It can be connected to the analog front end of the system.

특히 도 2의 인터페이스 카드(60)는 PCI 스펙의 버전 2.0에 사용되는 풀-사이즈 PCI 카드일 수 있다. 인터페이스(60)는 다이렉트 메모리 액세스, CPU(32)의 데이터 전송에 대한 오프로딩을 실행하기 위해 버스 매스터로 동작하며 제어 및 상태 레지스터를 액세스할 때 타겟으로 동작할 수 있다.In particular, the interface card 60 of FIG. 2 may be a full-size PCI card used in version 2.0 of the PCI specification. The interface 60 acts as a bus master to perform direct memory access, offloading the data transfers of the CPU 32 and can act as a target when accessing control and status registers.

PCI/PCI 브리지(62)는 호스트 플랫폼(16)과 같은 워크스테이션의 PCI 버스에 PCI 카드를 인터페이스하기에 적당한 상업적으로 이용가능한 PCI 브리지 장치일 수 있다. PCI/PCI 브리지 소자는 Intel Corporation에 의해 제작되어 판매되는 21050-AA이다. PCI/PCI 브리지(62)는 전송 경로를 통해 PCI 제어기 엘리멘트(68)에 커플링된다. PCI 제어기 엘리멘트(68)는 인터페이스 보드(62)의 동작을 제어하는 적당한 엘리멘트이며 일 실시예에서는 캘리포니아주의 밀리타스에 소재한 Xilinx Corportion에 의해 제작도는 타입과 같은 필드 프로그램 가능한 게이트 어레이(FPGA)일 수 있다. FPGA는 아날로그 프론트 엔드와 컴퓨터 메모리(36) 사이의 하이 밴드폭 인터페이스를 제공하기 위해 PCI 제오기와 DMA 엔진을 포함하도록 프로그램될 수 있다. 구성 데이터는 구성 메모리(64)에 저장될 수 있고 스타트 또는 동작동안 제어기(68)에 의해 액세스될 수 있다.PCI / PCI bridge 62 may be a commercially available PCI bridge device suitable for interfacing a PCI card to a PCI bus of a workstation such as host platform 16. The PCI / PCI bridge device is the 21050-AA manufactured and sold by Intel Corporation. PCI / PCI bridge 62 is coupled to PCI controller element 68 via a transmission path. PCI controller element 68 is a suitable element that controls the operation of interface board 62 and in one embodiment may be a field programmable gate array (FPGA), such as the type manufactured by Xilinx Corportion, Militas, CA. have. The FPGA can be programmed to include a PCI controller and a DMA engine to provide a high bandwidth interface between the analog front end and the computer memory 36. Configuration data may be stored in configuration memory 64 and may be accessed by controller 68 during start or operation.

선택적인 실시예에서, 인터페이스 카드(60)는 변환기(14)가 접속될 수 있는 자녀 카드 인터페이스를 가질 수 있다. 자녀 카드는 변환기(14)외에 인터페이스 카드(60)로 전송되는 데이터를 생성하기 위해 사용될 수 있는 임의의 추가 소자를 가질 수 있다. 인터페이스(60)는 FIFO 메모리와 같은 한쌍의 데이터 버퍼 메모리를 포함하며, 그 각각은 송수신기 유니트에 커플링된는 시스템에 대해 입력 및 출력 방향에 존재한다. 선택적으로 단일 버퍼는 송수신기 유니트에만 접속되는 시스템에 대해 제공될 수 있다. 버퍼는 호스트 플랫폼(16)의 PCI 버스에 대해 버스티 액세스를 초래하는 지터를 완화시킨다. 입력 방향에서 버퍼는 인터페이스 장치(60)가 PCI 버스를 요구하며 호스트 컴퓨터(16)의 메모리(36)로 데이터를 전송할 수 있을 때 까지 들어오는 샘플을 홀딩할 수 있다. 입력 방향에서 버퍼는 메모리(36)로부터 전송되는 액세스 샘플을 홀딩할 수 있지만 변환기(14)에 의한 액세스는 대기중이다. 버퍼(74,78)는 또한 인터페이스 카드(60)의 타이밍을 일시적으로 디커플링하며 전형적으로는 변환기(14) 또는 자녀 카드로부터 PCI 클록을 사용하며 통상적으로 변환기 샘플링 클록을 사용하여 동작한다. 이는 동기화 또는 메타스테빌러티(metastability)를 고려하는 설계에 대한 필요성을 감소시키거나 제거한다. 또한 데이터 전송과 아날로그 프론트 엔드의 고정율 영역의 처리를 분리하며 이는 공유된 데이터 전송 자원에서 일반적으로 갑작스럽고 산발적으로 일어난다.In alternative embodiments, interface card 60 may have a child card interface to which transducer 14 may be connected. The child card may have any additional elements that may be used to generate data sent to the interface card 60 in addition to the converter 14. Interface 60 includes a pair of data buffer memories, such as FIFO memories, each of which is in an input and output direction for the system that is coupled to the transceiver unit. Optionally, a single buffer may be provided for systems that are only connected to the transceiver unit. The buffer mitigates jitter causing bursty access to the PCI bus of the host platform 16. In the input direction, the buffer can hold incoming samples until the interface device 60 requires a PCI bus and can transfer data to the memory 36 of the host computer 16. In the input direction the buffer can hold the access samples sent from the memory 36 but the access by the converter 14 is waiting. Buffers 74 and 78 also temporarily decouple the timing of interface card 60 and typically use a PCI clock from converter 14 or a child card and typically operate using a converter sampling clock. This reduces or eliminates the need for a design that takes into account synchronization or metastability. It also separates the data transmission and processing of the fixed rate domain of the analog front end, which typically occurs suddenly and sporadically on shared data transmission resources.

인터페이스 카드(60)와 PCI 버스 사이의 PCI 인터페이스는 약 1 기가/초의 용량을 가진다. 또한 32에서 64 비트로 폭을 증가시키고 33메가 헤르쯔에서 66메가 헤르쯔로 스피드를 증가시키며 더 큰 밴드폭을 가능하게 함으로써 PCI 밴드폭을 증가시키는 특정 업그레이드 경로가 존재한다. 도 2의 인터페이스 카드(60)는 PCI 버스에 인터페이스되지만 당업자는 다른 실시예에서 인터페이스 카드로부터 호스트 워크스테이션(16)으로 전송하기 위한 임의의 다른 데이터 버스 또는 ISA 버스, S-버스에 대한 인터페이스가 상기 시스템에 이용될 수 있다.The PCI interface between the interface card 60 and the PCI bus has a capacity of about 1 gigasecond. There are also specific upgrade paths that increase PCI bandwidth by increasing the width from 32 to 64 bits, increasing the speed from 33 MHz to 66 MHz, and enabling larger bandwidths. The interface card 60 of FIG. 2 is interfaced to a PCI bus, but those skilled in the art will appreciate that in other embodiments the interface to any other data bus or ISA bus, S-bus, for transmission from the interface card to the host workstation 16 may be described above. It can be used in the system.

이 인터페이스 카드(60)는 PCI 버스 매스터로 동작하며 PCI 버스에 대한 전송을 초기화한다. 따라서 인터페이스 카드(60)는 CPU(32)로부터 최소 중재로서 하이 스피드에서 컴퓨터 메모리(36)로부터/에서 DMA 샘플 스트림을 실행할 수 있다. 일 실시예에서 인터페이스 카드(60)는 컴퓨터 메모리(36)와 인터페이스 카드(60) 사이의 데이터 페이지를 스트림하는 여러 수집/소산 DMA를 실행한다. 이를 위해 인터페이스 카드(60)는 두 개의 페이지어드레스 메모리(70,72)를 포함하며 이는 FIFO 메모리일 수 있고 그 중 하나는 입력에 나머지는 출력에 할당된다. 메모리는 오퍼레이팅 시스템(34)에 의해 조직화된 가상 메모리 공간과 같은 메모리 공간의 버퍼와 관련된 물리적 페이지 어드레스를 홀딩할 수 있다. 예를 들면 페이지 전송의 끝에서 인터페이스(60)는 적당한 페이지 어드레스 메모리의 헤드로부터 다음 페이지 어드레스를 판독할 수 있으며 메모리(36)에/로부터 데이터의 전송을 시작할 수 있다. 인터페이스 카드(60)는 페이지 어드레스의 공급이 낮게 동작할 때 인터럽트를 트리거링 할 수 있고 페이지 어드레스는 인터페이스 카드(60)와 연관된 장치 드라이버의 인터럽트 핸들러에 의해 재공급될 수 있다. 따라서 인터페이스 카드(60)는 인터페이스 카드(60)의 보드에 직접적인 메모리(70,72)에 물리적인 페이지 어드레스를 저장한다. 선택적으로 페이지 어드레스는 컴퓨터 프로그램 메모리(36)에서 유지되는 메모리 테이블에 저장될 수 있다. 도 2의 인터페이스 카드(60)는 컴퓨터 메모리(36)와 인터페이스 카드(60) 사이의 데이터의 완전한 페이지를 전송할 수 있다. 완전한 페이지 전송은 페이지가 정렬되는 것으로 이해할 수 있고, 완전한 페이지 길이 버퍼는 오퍼레이팅 시스템(34)에 보다 쉽게 처리된다.The interface card 60 acts as a PCI bus master and initiates transmissions to the PCI bus. Thus, interface card 60 can execute a DMA sample stream from / in computer memory 36 at high speed with minimal arbitration from CPU 32. In one embodiment, interface card 60 executes various acquisition / dissipation DMAs that stream data pages between computer memory 36 and interface card 60. The interface card 60 includes two page address memories 70 and 72 for this purpose, which may be FIFO memories, one of which is assigned to the input and the other to the output. The memory may hold a physical page address associated with a buffer of memory space, such as a virtual memory space organized by operating system 34. For example, at the end of a page transfer, interface 60 may read the next page address from the head of the appropriate page address memory and may begin transferring data to / from memory 36. The interface card 60 may trigger an interrupt when the supply of the page address is low and the page address may be resupplied by the interrupt handler of the device driver associated with the interface card 60. Therefore, the interface card 60 stores the physical page address in the memory 70, 72 directly on the board of the interface card 60. Optionally, the page address may be stored in a memory table maintained in computer program memory 36. The interface card 60 of FIG. 2 can transfer a complete page of data between the computer memory 36 and the interface card 60. Full page transfers can be understood as pages aligned, and a full page length buffer is more easily handled by the operating system 34.

인터페이스 카드(60)는 애플리케이션 데이터 메모리(38)로 데이터 버퍼의 다이렉트 메모리 액세스 전송을 달성하기 위해 오퍼레이팅 시스템(34)과 협력한다. 일 실시예에서, 오퍼레이팅 시스템(34)은 플랫폼(16)에서 메모리 자원을 제어하기 위한 가상 메모리 시스템을 포함하는 멀티테스킹 오퍼레이팅 시스템을 제공하는 유닉스 오퍼레이팅 시스템일 수 있다. 특정 실시예에서, 오퍼레이팅 시스템(34)은 인텔 프로세서 구조에 대한 유닉스형 동작 시스템을 제고하는 리눅스 오퍼레이팅 시스템이다. 다른 버전의 유닉스 또는 다른 시스템이 본 발명의 영역을 벗어나지 않고 이용될 수 있다. 유닉스 오퍼레이팅 시스템에서 오퍼레이팅 시스템은 장치 드라이브와 강화된 가상 메모리 시스템을 포함하도록 변경될 수 있으며 그 각각은 데이터 페이지의 다이렉트 메모리 데이터 전송을 달성하도록 동작한다. 장치 드라이버는 인터페이스 카드(60)와 애플리케이션 데이터 메모리(38) 사이의 연속적인 데이터 전송을 가능하게 한다. 이를 위해 시스템은 샘플이 전송될 수 있는 버퍼의 링을 이용할 수 있다. 상기 버퍼는 오퍼레이팅 시스템의 커널 가상 메모리 공간의 부분일수 있고 물리적인 메모리로 로킹될 수 있다. 메모리의 일부는 m_록 시스템 콜을 포함하며 임의의 적당한 기술을 사용하여 로킹될 수 있다. 장치 드라이버는 우선적으로 버퍼 링의 헤드에서 버퍼의 어드레스로 입력 페이지 어드레스 메모리(72)를 채울수 있다. 상기 메모리(72)가 특정의 프로그램 가능한 레벨로 비워질 때 인터페이스 카드(60)는 인터럽트를 생성하고 인터럽트 핸들러는 링의 헤드로부터 더 많은 버퍼를 전송????다. 인터럽트를 트리거하는 레벨은 인터럽트 핸들러가 새로운 어드레스를 제공하기 전에 도착하는 샘플을 완화하기 위해 남겨진 충분한 페이지가 존재하도록 세팅될 수 있다.Interface card 60 cooperates with operating system 34 to achieve direct memory access transfer of the data buffer to application data memory 38. In one embodiment, operating system 34 may be a Unix operating system that provides a multitasking operating system that includes a virtual memory system for controlling memory resources on platform 16. In a particular embodiment, operating system 34 is a Linux operating system that enhances a Unix-like operating system for Intel processor architectures. Other versions of Unix or other systems can be used without departing from the scope of the present invention. In Unix operating systems the operating system can be modified to include device drives and enhanced virtual memory systems, each of which operates to achieve direct memory data transfer of data pages. The device driver enables continuous data transfer between the interface card 60 and the application data memory 38. To do this, the system can use a ring of buffers in which samples can be sent. The buffer may be part of the kernel virtual memory space of the operating system and locked into physical memory. Part of the memory contains the m_lock system call and can be locked using any suitable technique. The device driver may first populate the input page address memory 72 with the address of the buffer at the head of the buffer ring. When the memory 72 is emptied to a particular programmable level, the interface card 60 generates an interrupt and the interrupt handler sends more buffers from the head of the ring. The level that triggers the interrupt can be set so that there are enough pages left to mitigate samples arriving before the interrupt handler provides a new address.

도 3a-c에는 송수신기(12)를 통해 버퍼의 링으로 이후 애플리케이션 메모리(38)로 데이터가 이동할 때 발생하는 데이터 흐름을 도시한다. 특히 도 3a는 RF 데이터 전송이 도 1의 송수신기(12)와 같은 수신기 유니트에 의해 픽업될 수 있다. 도 3a에서 수신기는 중심 주파수와 RF 밴드의 폭을 선택하도록 제어된 소프트웨어인 멀티-밴드 프론트 엔드를 포함한다. 예를 들면 Rockwell company에 의해 제작된 광대력 수신기의 95X 계열은 2MHz에서 2GHz의 RF 밴드의 폭과 중심 주파수를 선택하도록 소프트웨어에 의해 고성된 멀티-밴드 프론트 엔드를 제공한다. 상기 프론트 엔드는 멀티-밴드와 멀티-모드 라디오 시스템을 가능하게 한다. 다른 예에서 프론트 엔드는 2.5GHz ISM 밴드에서 동작할 수 있다. 도 3a에 도시된 바와 같이 송수신기(12)의 광대역 신호는 디짙널 IF 데이터의 스트림을 제공하기 위해 임의의 다른 적당한 샘플링 프로세스 또는 다이렉트 샘플링, 및 밴드패스 샘플링을 실행할 수 있는 변환기(14)와 같은 변환기를 통과할 수 있다. 일 실시예에서, IF 신호는 Analog Devices Company에 의해 제작된 AD9042 변환기와 같은 12 비트 변환기에 의해 디지털화될 수 이다. 상기 변환기는 40MSPS의 속도로 디지털 신호를 사용한다. 이는 20MHz IF 밴드폭을 제공한다. 도 3a에 도시된 바와 같이 디지털 IF 데이터의 스트림은 상기 PCI 인터페이스(30)와 같은 호스트 컴퓨터와 인터페이스하기 위해 제공될 수 있다.3A-C illustrate the data flow that occurs when data is subsequently moved into the application memory 38 through the transceiver 12 into a ring of buffers. In particular, FIG. 3A shows that RF data transmission can be picked up by a receiver unit, such as transceiver 12 of FIG. 1. In FIG. 3A the receiver comprises a multi-band front end which is software controlled to select the center frequency and the width of the RF band. For example, the 95X series of clever receivers manufactured by Rockwell company provide a multi-band front-end that is enabled by software to select the width and center frequency of the RF band from 2 MHz to 2 GHz. The front end enables multi-band and multi-mode radio systems. In another example, the front end may operate in the 2.5 GHz ISM band. As shown in FIG. 3A, the wideband signal of the transceiver 12 may be a transducer such as transducer 14 capable of performing any other suitable sampling process or direct sampling, and bandpass sampling to provide a stream of degenerate IF data. Can pass through In one embodiment, the IF signal may be digitized by a 12-bit converter such as the AD9042 converter manufactured by Analog Devices Company. The transducer uses a digital signal at a rate of 40 MSPS. This provides a 20MHz IF bandwidth. As shown in FIG. 3A, a stream of digital IF data may be provided to interface with a host computer such as PCI interface 30.

PCI 인터페이스는 처리(44)와 같은 데이터의 신호 처리를 실행하는 처리의 타이밍 요구를 충족시키기 위해 충분히 높은 전송 속도에서 호스트 플랫폼(16)의 메모리(34)에 대한 데이터 전송을 실행할 수 있다. 예를 들면 애플리케이션 처리에 대한 10메가 헤르쯔 폭의 IF 밴드의 16비트 샘플(즉, 최소 20MHz 샘플링율)의 스트림을 전송하기 위해 320M비트/초의 데이터율이 요구된다. 도 3a는 커널의 가상 메모리 공간에서 유지되는 링버퍼(50)로 디지털 IF 데이터의 페이지 전송을 보여줌으로써 메모리(34)로의 데이터 전송을 도시한다. 도 3a에서 링 버퍼(50)는 네 개의 버퍼(52,54,56,58)를 포함하며 그 각각에서 다수의 페이지는 데이터를 저장할 수 있다. 그러나 링 버퍼(50)에 의해 제공된 버퍼의 개수는 애플리케이션에 달려있으며 각각의 버퍼는 선택적으로 수백 페이지의 메모리 공간을 포함한다는 것은 기술상 공지되어 있다. 상술한 바와 같이 인터페이스 카드(30)는 인터페이스 카드(30)가 데이터를 제공하는 메모리 위치를 지정하는 페이지 어드레스의 리스트를 가진다. 인터페이스 카드가 동작할 때 데이터 페이지는 링 버퍼(50)의 버퍼로 전송되며 링 버퍼(50)는 채우기 위해 시작될 수 있다. 따라서 링 버퍼(50)는 애플리케이션 메모리(38)에 전송되는 데이터를 저장하며 선택적으로 애플리케이션 프로그램이 데이터가 전달되는 영역에서 데이터 처리가 이루어지지 않을 때 이 시간을 수용할 수 있도록 데이터를 충분히 저장할 수 있다. 따라서 애플리케이션은 채워질 때보다 빠르게 버퍼를 처리하는 시간에 대해 시간으로부터 캣치업될 수 있다.The PCI interface may execute data transfers to the memory 34 of the host platform 16 at a sufficiently high transfer rate to meet the timing requirements of processes that perform signal processing of data, such as process 44. For example, a data rate of 320 Mbits / sec is required to transmit a stream of 16-bit samples (ie, at least 20 MHz sampling rate) in a 10-megahertz wide IF band for application processing. FIG. 3A shows the data transfer to memory 34 by showing the page transfer of digital IF data to ring buffer 50 maintained in the kernel's virtual memory space. In FIG. 3A, ring buffer 50 includes four buffers 52, 54, 56, and 58, in each of which multiple pages can store data. However, it is known in the art that the number of buffers provided by ring buffer 50 is application dependent and each buffer optionally includes several hundred pages of memory space. As described above, the interface card 30 has a list of page addresses that designate memory locations where the interface card 30 provides data. When the interface card is operating, data pages are transferred to the buffer of the ring buffer 50 and the ring buffer 50 can be started to fill. Thus, the ring buffer 50 stores the data transmitted to the application memory 38 and can optionally store enough data to accommodate this time when the application program is not processing data in the area where the data is transferred. . Thus, the application can be caught up from time to time to process the buffer faster than it fills.

애플리케이션 메모리 공간(38)에 데이터를 전송하기 위해 강화된 가상 메모리 시스템은 커널의 가상 메모리 공간의 버퍼와 애플리케이션의 가상 메모리 공간의 버퍼를 스와핑하도록 동작할 수 있다. 예를 들면 애플리케이션이 수신기 드라이브로부터 데이터를 판독하도록 요청하였을 때 애플리케이션 프로그램은 버퍼 링(50)의 끝에서 버퍼를 전송할 수 있다. 커널 애플리케이션 경계를 가로질러 링(50)의 끝에서 상기 버퍼를 전송하기 위해 시스템(10)은 버퍼 스왑 동작을 실행한다. 도 3b와 도 3c는 커널 가상 메모리 공간에서 애플리케이션 프로그램의 메모리 공간으로의 데이터 전송을 도시한다.The enhanced virtual memory system for transferring data to the application memory space 38 may be operable to swap a buffer of the kernel's virtual memory space with a buffer of the application's virtual memory space. For example, when an application has requested to read data from a receiver drive, the application program can transfer a buffer at the end of buffer ring 50. System 10 performs a buffer swap operation to transfer the buffer at the end of ring 50 across kernel application boundaries. 3B and 3C illustrate data transfer from the kernel virtual memory space to the memory space of the application program.

특히 도 3b와 3c는 커널 메모리 공간과 여기에서 유지되는 버퍼 링(50)외에 여기에 저장된 버퍼(66)를 가진 애플리케이션 메모리 공간을 도시한다. 도 3b와 3c에 도시된 각 버퍼는 특정량의 데이터를 저장할 수 있다. 이러한 저장 공간은 숫자 0-5인 버퍼(58)의 왼편에 도시된 가상 어드레스와 숫자 6,3,58,467,2,94인 버퍼(58)의 오른편에 도시된 물리적인 어드레스이다. 물리적 메모리 어드레스가 데이터를 저장하는 컴퓨터 메모리(34)내의 실제 물리 메모리 이치를 대표한다는 것은 기술상 공지되어 있다. 유사하게 애플리케이션 메모리 공간에서 버퍼(66)는 가상 메모리 어드레스와 물리 메모리 어드레스를 가지는 페이지와 다수의 페이지를 가진다. 버퍼(66)에서 가상 메모리 어드레스는 숫자0-5로 표현되고 물리 메모리 어드레스는 숫자 2,5,98,105,3,6으로 표현된다. 커널 가상 메모리 공간과 애플리케이션 프로그램의 메모리 공간의 데이터 전송을 이루기 위해 커널 가상 메모리 공간으로부터 전송된 버퍼의 물리 메모리는 애플리케이션 메모리 공간의 버퍼(66)의 가상 어드레스의 밑에서부터 스와핑된다. 따라서 시스템 커널의 버퍼에 대한 처리(44)에 의해 제공된 버퍼가 스와핑된다. 일 실시예에서 사용자 버퍼의 각각의 페이지는 개별 물리 페이지로 폴트된다. 커널과 사용자 버퍼에 대한 페이지 테이블 진입의 물리 어드레스는 스와핑되며 따라서 시스템은 가상 메모리 시스템의 페이지 테이블을 변경함으로써 애플리케이션 데이터 공간으로의 데이터 전송에 영향을 미친다. 페이지 테이블의 처리는 기술상 공지되어 있고 Bach,Maurice,J., The Design of the Unix Operation System, Prentice-Hall,Inc(1986)에 개시되어 있다. 게다가 애플리케이션 메모리 공간의 버퍼와 커널 메모리 공간의 버퍼를 스와핑하기 위한 임의의 시스템은 상술한 시스템과 함께 실행될 수 있다.In particular, FIGS. 3B and 3C show an application memory space having a kernel 66 and a buffer 66 stored therein in addition to the buffer ring 50 maintained therein. Each buffer shown in FIGS. 3B and 3C can store a certain amount of data. This storage space is the virtual address shown on the left side of the buffer 58 with the numbers 0-5 and the physical address shown on the right side of the buffer 58 with the numbers 6,3,58,467,2,94. It is known in the art that physical memory addresses represent actual physical memory values in computer memory 34 that store data. Similarly, in the application memory space, the buffer 66 has a page having a virtual memory address and a physical memory address and a plurality of pages. In the buffer 66, the virtual memory address is represented by the numbers 0-5 and the physical memory address is represented by the numbers 2,5,98,105,3,6. In order to achieve data transfer between the kernel virtual memory space and the memory space of the application program, the physical memory of the buffer transferred from the kernel virtual memory space is swapped from under the virtual address of the buffer 66 of the application memory space. Thus, the buffer provided by the process 44 for the buffer of the system kernel is swapped. In one embodiment each page of the user buffer is faulted to a separate physical page. The physical address of the page table entry for the kernel and user buffers is swapped so that the system changes the page table of the virtual memory system to affect data transfer to the application data space. The processing of page tables is known in the art and is disclosed in Bach, Maurice, J., The Design of the Unix Operation System, Prentice-Hall, Inc. (1986). In addition, any system for swapping the buffer of the application memory space and the buffer of the kernel memory space may be executed with the system described above.

버퍼의 스와핑을 용이하게 하기 위해, 처리(44)와 같은 애플리케이션 프로그램은 초기화에서 버퍼링(50)의 버퍼의 개수를 확인하거나 한정하며 따라서 처리(44)는 오퍼레이팅 시스템에 의한 임의의 READ 시스템 호출에 제공되도록 버퍼의 크기를 알게된다. 따라서 애플리케이션 프로그램은 메모리 시스템 호출을 실행하며 버퍼링(50)의 버퍼의 크기와 협력하는 메모리 공간을 할당하는 메모리 할당이 발생한다. 결과적으로 커널 메모리 공간과 애플리케이션 메모리 공간에서 스와핑된 버퍼는 동일 크기가 된다.To facilitate swapping of buffers, an application program, such as process 44, verifies or limits the number of buffers of buffering 50 at initialization so that process 44 is provided to any READ system call by the operating system. Know the size of the buffer as much as possible. The application program thus executes a memory system call and a memory allocation occurs that allocates memory space that cooperates with the size of the buffer of buffering 50. As a result, the buffers swapped in the kernel memory space and the application memory space are the same size.

데이터를 출력할 때 처리(44)는 인터페이스 카드(60)에 기록하며 I/O장치로서 카드(60)를 처리할 수 있다. 선택적으로 장치 드라이버는 처리(44)가 장치 드라이버에 판독하는 버퍼의 큐를 유지할 수 있다. 큐의 크기는 애플리케이션의 처리가 호스트 플랫폼(16)에서 이용가능한 모든 물리 메모리를 이용하지 못하도록 제한될 수 있다. 동작시 장치 드라이버는 큐의 헤드에서 버퍼의 어드레스와 함께 출력 페이지 어드레스 FIFO(70)내에 저장될 수 있다. 출력 페이지 어드레스 FIFO(70)가 비워졌을 때 특정의 선택적인 프로그램 가능한 레벨의 인터럽트는 인터페이스(60)에 의해 트리거되며 오퍼레이팅 시스템의 인터럽트 핸들러는 가능하다면 큐의 헤드에서 버퍼로부터 FIFO 메모리(70)를 재공급할 수 있다.When outputting data, the process 44 writes to the interface card 60 and can process the card 60 as an I / O device. Optionally, the device driver may maintain a queue of buffers that process 44 reads to the device driver. The size of the queue may be limited such that the processing of the application may not use all the physical memory available on the host platform 16. In operation, the device driver may be stored in the output page address FIFO 70 along with the address of the buffer at the head of the queue. When the output page address FIFO 70 is empty, certain optional programmable levels of interrupts are triggered by interface 60 and the operating system's interrupt handler, if possible, reloads the FIFO memory 70 from the buffer at the head of the queue. Can supply

일 실시예에서 33MHz, 32비트-PCI 버스의 리눅스를 실행하는 200MHz 펜티엄 프로 플랫폼의 상기 시스템에서 IO 시스템은 512M비트/초 이상의 비율에서 연속적인 샘플 스트림을 유지한다. 피크 버스트율은 입력시 933메가비트/초이며 출력시 790메가비트/초이다.In one embodiment the IO system in a 200 MHz Pentium Pro platform running Linux on a 33 MHz, 32 bit-PCI bus maintains a continuous sample stream at a rate of 512 Mbits / sec or more. The peak burst rate is 933 megabits / sec at input and 790 megabits / sec at output.

도 1을 참조하면 프로그램 메모리(36)의 디지털 IF 데이터와 마찬가지로 처리(44)는 전송된 신호를 복조하기 위해 디지털 IF 샘플의 신호 처리를 실행할 수 있다. 일 실시예에서, 처리(44)는 U.S 셀룰러 밴드의 "A-side"에서 동작할 수 있는 광대역 디지털 수신기 처리를 제공하기 위해 광대역 디지털 IF 데이터를 복조하는 셀룰러 수신기 처리를 포함한다. 상기 셀룰러 수신기 처리는 임의 밴드의 FM 신호를 복조하기 위한 능력을 제공하며 10MHz의 셀룰러 밴드를 연속적을 모니터링하는 수신기를 제공한다. 상기 실시예에서 송수신기(12)와 변환기(14)는 825-835 MHz 밴드를 베이스밴드 신호로 변경한후 25.6MSPS에서 신호를 샘플링하는 Tellabs RF 수신기를 포함하는 단일 유니트로 집적될 수 있다. 12비트 샘플 스트림은 처리(44)에 의한 프로세싱을 위해 호스트(16)의 메모리(36)로 샘플을 전달하기 위해 다이렉트 메모리 액세스를 실행하는 인터페이스 카드(30)에 공급된다. 처리(44)는 채널 필터 크기와 여러 샘플율과 같은 시스템 파라미터를 제어할 수 있다. 이는 상기 파라미터가 수신기의 동작중일 때도 변경하도록 한다.Referring to FIG. 1, as with digital IF data in program memory 36, process 44 may perform signal processing of digital IF samples to demodulate the transmitted signals. In one embodiment, process 44 includes cellular receiver processing that demodulates wideband digital IF data to provide wideband digital receiver processing that can operate on the "A-side" of the U.S cellular band. The cellular receiver processing provides the ability to demodulate an FM signal of any band and provides a receiver for continuously monitoring a 10 MHz cellular band. In this embodiment, the transceiver 12 and converter 14 may be integrated into a single unit including a Tellabs RF receiver that changes the 825-835 MHz band into a baseband signal and then samples the signal at 25.6 MSPS. The 12-bit sample stream is supplied to an interface card 30 that performs direct memory access to deliver samples to the memory 36 of the host 16 for processing by the process 44. Process 44 may control system parameters such as channel filter size and various sample rates. This allows the parameter to change even when the receiver is in operation.

도 4는 프로그램 메모리(36)에 공급된 샘플 IF 데이터를 복조할 수 있는 셀룰러 수신기 처리의 기능 블록도를 제공한다. 셀룰러 수신기 처리는 컴퓨터 메모리(36)의 프로그램 공간(40)에서 동작하는 실행 컴퓨터 프로그램일 수 있다. 컴퓨터 프로그램은 C, C++, Java 또는 임의의 적당한 컴퓨터 언어로 기록될 수 있고 표준 소프트웨어 디버깅 툴을 사용하여 개발될 수 있다. 프로그램은 또한 Matteo frigo 및 Steven G. Johnson에 의해 개발된 FFTW 패키지와 같은 상업적으로 이용가능한 소자의 루틴과 자유롭게 배포된 신호 처리 알고리즘의 루틴을 포함할 수 있다. 다른 상업적으로 이용가능한 라이브러리 루틴 또는 사용자 인터페이스를 확립하는 클래스 또는 다른 기능을 위한 클래스가 사용될 수 있다. 프로그램이 다수의 루틴, 클래스 또는 모듈을 포함하며 그 각각은 셀룰러 수신기 처리(80)에 의해 실행된 처리의 일부를 실행한다는 것은 기술상 공지되어 있다. 도 4에 도시된 바와 같이 셀룰러 수신기 처리(80)는 채널 선택 단계(82), 직교 변조기 단계(84), 로우패스 필터 및 데시메이션 단계(88) 및 오디오 밴드패스 필터(90) 및 출력 제어기(48)을 포함할 수 있다. 상술한 바와 같이 IF 샘플은 애플리케이션 프로그램의 메모리 공간으로 DMA 전송에 의해 제공될 수 있다. IF 샘플은 시스템 전송속도에서 전송될 수 있고 셀룰러 장치(80)는 들어오는 샘플을 처리하기 위해 충분한 속도에서의 동작을 책임지며 따라서 샘플의 드롭핑을 피할 수 있다.4 provides a functional block diagram of cellular receiver processing capable of demodulating sample IF data supplied to program memory 36. The cellular receiver processing may be an executable computer program operating in program space 40 of computer memory 36. Computer programs may be written in C, C ++, Java or any suitable computer language and may be developed using standard software debugging tools. The program may also include routines of commercially available devices such as the FFTW package developed by Matteo frigo and Steven G. Johnson and routines of freely distributed signal processing algorithms. Classes for establishing other commercially available library routines or user interfaces or classes for other functions may be used. It is known in the art that a program includes a number of routines, classes, or modules, each of which executes some of the processing performed by the cellular receiver processing 80. As shown in FIG. 4, cellular receiver processing 80 includes channel selection step 82, quadrature modulator step 84, low pass filter and decimation step 88, and audio bandpass filter 90 and an output controller ( 48). As described above, the IF sample may be provided by the DMA transfer into the memory space of the application program. The IF sample may be transmitted at the system baud rate and the cellular device 80 is responsible for operating at a sufficient speed to process the incoming sample and thus avoid dropping the sample.

도 4에 도시된 바와 같이 셀룰러 수신기 처리(80)는 "데이터 풀(data pull)"구조를 이용할 수 있다. 데이터 흐름이 입력으로부터 출력인 동안 제어 흐름은 출력으로부터 입력이다. 제어 다운스트림을 위치시킴으로써 상기 구조는 느린 평가를 적극적으로 이용할 수 있으며 다운 스트림 모듈의 요구조건에 맞도록 시스템의 형성을 용이하게 한다. 실행에 필요한 총 처리량은 다운 스트림 성분이 다운스트림 모듈??부터 필요한 만큼의 데이터를 요청할 수 있기 때문에 감소된다. 예를 들면 여러 출력 장치가 부착될 수있는 오디오 시스템을 참조한다. 출력 제어기(48)의 드라이브는 예를 들면 8비트 양자화된 8kHz 샘플링율에서의 전화품질 또는 16비트 양자화된 44kHz의 샘플링율에서의 CD 품질 오디오와 같은 애플리케이션에 따라서 필요한 데이터량을 제어할 수 있다.As shown in FIG. 4, the cellular receiver processing 80 may use a “data pull” structure. Control flow is input from output while data flow is output from input. By positioning the control downstream, the structure can actively exploit slow evaluation and facilitate the formation of the system to meet the requirements of the downstream modules. The total throughput required for execution is reduced because the downstream components can request as much data as needed from the downstream module. For example, refer to an audio system to which multiple output devices can be attached. The drive of the output controller 48 can control the amount of data needed depending on the application, for example, telephone quality at 8-bit quantized 8 kHz sampling rate or CD quality audio at 16-bit quantized 44 kHz sampling rate.

상기 셀룰러 수신기 처리(80)는 처리 자장 공간들 사이의 데이터 전송을 제어하기 위해 업스트림 통신 경로를 이용한다. 실제로 각각의 모듈은 다음 업 스트림 모듈의 데이터를 요청할 수 있다. 따라서 각 모듈은 필요한 데이터를 요청하는 업스트림 모듈(또는 모듈)을 즉시 호출할 수 있다. 모듈 사이에서 전달된 데이터는 샘플 기초에 의해 샘플에서 처리될 수 있다. 선택적으로 처리(80)는 데이터 블록 또는 페이로드에서 실행된다. 상기 페이로드(92,94 및 98)과 같은 데이터 페이로드는 데이터와 인스트럭션 캐싱 효과를 이용하기에 충분히 크지만 원하지 않는 잠재성이 유입되는 것을 피할만큼 충분히 작다. 데이터 페이로드를 처리하기 위해 신호 처리 애플리케이션은 단일 샘플보다는 데이터 블록에서 동작하도록 설계된 알고리즘을 잉요할 수 있으며 이는 빠른 푸리에 변환과 같은 신호 처리 알고리즘을 포함한다. 다른 상기의 알고리즘의 개발은 기술상 공지되어 있으며 Oppenheim et al, Digital Signal Processing, Prentice-Hall, Inc(1975)에 개시되어 있다.The cellular receiver processing 80 uses an upstream communication path to control data transmission between processing magnetic field spaces. In fact, each module can request data from the next upstream module. Thus, each module can immediately call upstream modules (or modules) that request the required data. Data passed between modules can be processed in a sample by a sample basis. Optionally, process 80 is executed on a data block or payload. The data payloads, such as payloads 92, 94 and 98, are large enough to take advantage of the data and instruction caching effects, but small enough to avoid introducing unwanted potential. To process the data payload, signal processing applications may employ algorithms designed to operate on data blocks rather than a single sample, which includes signal processing algorithms such as fast Fourier transforms. The development of other such algorithms is known in the art and described in Oppenheim et al, Digital Signal Processing, Prentice-Hall, Inc (1975).

데이터 처리를 위해 셀룰러 수신기 처리(80)는 채널 선택 필터 단계(83)를 포함한다. 상기 단계 또는 모듈은 디지털 IF 샘플로부터 10MHz 주파수 밴드에서 협대력 FM 신호(AMPS 채널 밴드폭은 30KHz)를 추출하는 작업을 한다. 상기 단계(83)는 베이스밴드로 신호를 변경하는 단계, 로우패스 필터링 및 중간 샘플율로 데시메이션하는 세 단계를 조합하는 필터 실계를 이용하여 상기 잡업을 달성한다. 상기 처리 단계는 계산상의 로드의 최대부분을 포함한다. 채널 선택 필터(82)는 입력으로서 RS=25.6MSPS에서 RF 프론트 엔드의 생(raw) 샘플을 사용하며 가변 중간 샘플율(RD)에서 복잡한 베이스 밴드 신호를 생성한다.The cellular receiver processing 80 for data processing includes a channel selection filter step 83. The step or module works to extract a narrow power FM signal (AMPS channel bandwidth of 30 KHz) in the 10 MHz frequency band from the digital IF sample. The step 83 accomplishes the job by using a filter realm that combines three steps of changing the signal to baseband, low pass filtering and decimating at an intermediate sample rate. The processing step includes the maximum portion of the computational load. The channel select filter 82 uses raw samples of the RF front end at R S = 25.6 MSPS as input and generates complex baseband signals at variable intermediate sample rates R D.

광대역 수신기의 협대역 채널을 분리하는 것은 통상적으로 전용 하드웨어에서 실행되는 디지털 다운 컨버터(DDC)와 같은 특정 목적의 하드웨어를 사용하여 실행되는 계산이 많은 작업이다. Rupert Baines, the DSP Bottleneck, IEEE Communications Magazine, 33(5):46-54(May 1995) 참조. 광대역 신호는 직교 곱셈기에 의해 복잡한 베이스밴드 신호로 변경된후 데시메이션으로 인한 얼라이어싱을 방지하기위해 로우패스 필터링된다. 데시메이션을 위한 특정 목적의 FIR 필터가 동작을 효율적으로 달성하기 위해 존재하며 이는 광대역 수신기의 샘플링율이 30MSPS를 초과할 수 있기 때문에 중요하다. 채널 선택 필터가 총 3000MOPS에 대해 입력 샘플당 약 100 오퍼레이션을 필요로 하는 것을 추정할 수 있다.Separating the narrowband channel of a wideband receiver is a computationally expensive task that is typically performed using special purpose hardware, such as a digital down converter (DDC) running on dedicated hardware. See Rupert Baines, the DSP Bottleneck, IEEE Communications Magazine, 33 (5): 46-54 (May 1995). The wideband signal is transformed into a complex baseband signal by an orthogonal multiplier and then lowpass filtered to prevent aliasing due to decimation. A special purpose FIR filter for decimation exists to efficiently achieve the operation, which is important because the sampling rate of a wideband receiver can exceed 30 MSPS. It can be estimated that the channel select filter needs about 100 operations per input sample for a total of 3000 MOPS.

일 실시예에서 채널 선택 필터(82)는 하드웨어 DDC의 구조를 허용한다. 다중 쓰레드는 하드웨어 DDCS의 구조를 소프트웨어에서 실행하도록 이용될 수 있으며 다운-변환 처리의 각 단계 즉 사인/코사인 다중 요소의 생성, 주파수 변환, 및 필터링은 DDC의 개별 물리 위치에서 실행되며 파이프라인의 병렬구조의 높은 단계가 가능하게 된다. 게다가 FIR 필터내의 추가의 세밀한 그레인 병렬구조가 존재할 수 있다.In one embodiment channel select filter 82 allows the structure of a hardware DDC. Multiple threads can be used to execute the hardware DDCS architecture in software, and each step of the down-conversion process, i.e., the generation of sine / cosine multiple elements, frequency conversion, and filtering is performed at the individual physical locations of the DDC and parallel to the pipeline. Higher levels of structure are possible. In addition, there may be additional fine grain parallelism in the FIR filter.

도 5는 소프트웨어 DDC의 선택적인 실시예이며 높은 샘플율에서 감소된 처리를 실행하며 처리 체인에서 우선적으로 비율을 감소시키도록 동작한다. 도 5에 도시된 바와 같이 소프트웨어 DDC는 디지털 광대역 IF ??의 샘플을 받아들이고 블록(102,104)에 의해 기능적으로 제공된 두 개의 루틴으로 샘플을 제공한다. 이는 동상과 직교 신호를 생성하기 위해 주파수를 변환을 실행하고 로우패스 필터링을 데시메이션하기 위한 것이다. 동상과 직교 신호는 모두 로직 블록(106)에 제공된다. 로직 블록(106)은 데이터를 수집할 수 있고 임의의 포맷을 제공하며 데이터 페이로드를 전달하기 위해 필요한 함수를 다른 모듈로 전송한다. 이 실시예에서, FIR 필터는 필터 입력 샘플(x[n])에 따라 출력 신호를 생성하며 다음의 데시메이션을 위해 필요한 상기의 출력 샘플(y[n])을 계산하도록 이용된다(낮은 차수의 IIR 필터에 대해). 광대역 수신기의 협대역 신호를 처리할 때 존재하게 될 큰 데시메이션 요소를 이용함으로써 계산상 로드를 감소시킬 수 있다. 게다가 미리 계산된 주파수 쉬프트 요소는 합성 FIR 필터로 통합될 수 있고 각 출력 샘플이 계산된후 위상 보정을 필요로 하게 될 것이다. 상기 특성은 시간 가변 FIR 필터를 이용하지만 모든 가변성이 필터링후 이용되는 단일의 시간 가변 증가 요소로 통합될 수 있다.5 is an alternative embodiment of a software DDC and operates to perform reduced processing at high sample rates and preferentially reduce the ratio in the processing chain. As shown in FIG. 5, the software DDC accepts a sample of the digital wideband IF ?? and provides the sample to two routines functionally provided by blocks 102 and 104. This is to perform frequency conversion and decimate lowpass filtering to produce in-phase and quadrature signals. Both in-phase and quadrature signals are provided to logic block 106. Logic block 106 can collect data, provide any format, and send the necessary functions to other modules to carry the data payload. In this embodiment, the FIR filter generates an output signal according to the filter input sample x [n] and is used to calculate the above output sample y [n] necessary for subsequent decimation (low order of magnitude). For IIR filters). Computational load can be reduced by using large decimation elements that will be present when processing narrowband signals in wideband receivers. In addition, the precomputed frequency shift factor can be integrated into the synthesized FIR filter and will require phase correction after each output sample is calculated. This feature uses a time varying FIR filter but all the variability can be integrated into a single time varying increase factor used after filtering.

일 실시예에서 주파수 쉬프트와 필터링을 실행하는 증가 및 콘볼루션 단계는 합성 필터를 생성하기 위해 결합된다. 이를 위해 처리는 실수 신호 샘플(r[n])을 적당한 복소수 지수로 증가시킴으로서 베이스밴드로 변환(주파수 범위에서)시키는 특정 채널을 선택하는 제 1 단계를 실행한다.In one embodiment the incremental and convolutional steps of performing frequency shifting and filtering are combined to produce a synthesis filter. To do this, the process executes the first step of selecting a particular channel to convert (in the frequency range) to baseband by increasing the real signal sample r [n] to the appropriate complex exponent.

(1) (One)

여기에서 fS는 베이스밴드로 변환하기 전의 캐리어 주파수이며 Ts는 샘플 간격이다. 다음으로 그 결과는 오더-M FIR 필터(h[m])으로 필터링된다.Where f S is the carrier frequency before conversion to baseband and Ts is the sample interval. The result is then filtered with an order-M FIR filter h [m].

(2) (2)

상기 포인트에서 주파수 변환과 필터링의 두 단계는 조합될 수 있다.At this point the two steps of frequency conversion and filtering can be combined.

(3) (3)

여기에서 c[m]=h[m]e-j2πfcmTs은 합성 필터의 계수이다. 상기 처리는 계산의 단계를 감소시키며 필터링이 안된 베이스 밴드 신호(x[n])를 계산하는 필요성을 제거한다. 이 신호는 다음 단계로 재호출하기 위해 메모리에 중간 결과를 기록하는 역할을 한다. 또한 많은 기술에 있어서 최소 오더의 원하는 스펙을 충족시키기 위해 실수값의 FIR 필터를 설계할 수 있다. h[m]에 대한 복소수값의 필터 계수를 사용하는 것은 추가 계산 비용을 부과하지 않는다. 따라서 상기 처리는 최종 합성 필터에 대한 요구 계산 로드를 늘리지 않고 실수값(h[m])과 상대적으로 원 LPF의 요구 필터 오더 M을 줄이기 위해 최근에 개선된 복소 계수의 FIR 필터를 이용할 수 있다.Where c [m] = h [m] e -j2πfcmTs is the coefficient of the synthesis filter. This process reduces the steps of the calculation and eliminates the need to calculate the unfiltered baseband signal x [n]. This signal serves to write intermediate results to memory for recall in the next step. In many technologies, you can also design a real valued FIR filter to meet the desired specifications of the minimum order. Using complex valued filter coefficients for h [m] does not incur additional computational costs. Thus, the process can utilize a recently improved complex coefficient FIR filter to reduce the real value h [m] and the required filter order M of the original LPF, without increasing the demand calculation load on the final synthesis filter.

상기 처리는 들어오는 신호를 다운컨버팅할 수 있는 일 처리과정이며셋-업을 위해서는 덜 복잡할 수 있으며 필터 계수를 저장하는데 더 적은 메모리가 이용될 수 있는 애플리케이션을 따르는 다른 기술이 이용될 수 있다. 상기 처리는 필터 계수(c[m])를 계산하며 필터가 튜닝(또는 임의의 원하는 주파수에 대한 개별 필터를 재계산하며 저장함)되는 주파수에서의 변화가 요구될 때 계수를 재계산 하기 위해 원하는 캐리어 주파수의 인식을 필요로 한다. 그러나 각 세트의 필터 계수는 수천 수백만번 이용될 수 있으며 전계산 또는 재계산의 비용은 개선된 효과를 산출할 수 있다. 상기 기술은 중요 패스 밴드와 데시메이션을 이한 실수 신호의 포지티브 주파수 성분마을 선택하기 위해 분해 필터를 사용하는 면에서 유사하다. 그러나 도 5의 로우패스 필터링과 변환의 조합에 의해 필터는 빠르게 차이fc를 재설정된다. 게다가 상기 계수를 저장함으로써 발생되는 오버헤드는 최소가 되며 이때 처리는 범용 처리 플랫폼에서 발생하며 데이터 구조는 데이터를 저장히기 위한 선택/수단으로 이용된다. 다른 필터 설계는 데시메이션 처리동안 얼라이어싱을 막기위해 효과적인 방식으로 랜덤화된 알고리즘을 이용한다. 또한 상기 광대역 처리 시스템은 광대역 신호의 다중 채널을 처리할 수 있고 각 채널은 개별 처리 또는 모듈 또는 8의 전송을 탐색하는 단일 처리에 의해 처리될 수 있다. 게다가 시스템은 FDMA, TDMA, CDMA 또는 확산 스펙트럼을 포함하는 임의의 방법에 따라 채널 선택을 실행할 수 있다.The process is one process that can downconvert the incoming signal and other techniques that follow the application may be less complex for set-up and less memory may be used to store filter coefficients. The process calculates the filter coefficient c [m] and the desired carrier to recalculate the coefficient when a change in frequency is required for which the filter is tuned (or recomputed and stored for each desired frequency). Requires recognition of frequencies. However, each set of filter coefficients can be used thousands of times and the cost of pre- or recalculation can yield an improved effect. The technique is similar in that it uses a decomposition filter to select the positive frequency components of the real signal after decimation of the critical pass band. However, the filter quickly resets the difference f c by the combination of the low pass filtering and the transformation of FIG. 5. In addition, the overhead incurred by storing the coefficients is minimal, where processing occurs on a general purpose processing platform and the data structure is used as a choice / means for storing data. Other filter designs use randomized algorithms in an effective manner to prevent aliasing during decimation processing. The wideband processing system may also handle multiple channels of wideband signals and each channel may be processed by individual processing or by a single process searching for a module or transmission of eight. In addition, the system may perform channel selection according to any method including FDMA, TDMA, CDMA, or spread spectrum.

도 4를 다시 참조하면 복소 FM 신호에서 원하는 정보(셀룰러 전화의 경우 음성)는 순간 주파수에 의해 전달되며 이 주파수는 복소 신호의 위상의 시간 도함수이다. 이 신호는 적절하게 스케일링된 연속 샘플간의 위상차에 의해 신호 위상의 도함수를 근사화하는 단순한 직교 변조 알고리즘을 사용하여 복조된다. 이 직교 복조는 처리(80)의 단계(84)에 의해 실행된다.Referring back to FIG. 4, the desired information (voice for cellular phones) in the complex FM signal is conveyed by instantaneous frequency, which is the time derivative of the phase of the complex signal. This signal is demodulated using a simple orthogonal modulation algorithm that approximates the derivative of the signal phase by the phase difference between properly scaled consecutive samples. This orthogonal demodulation is performed by step 84 of the process 80.

두 개의 최종 처리 단계는 한정 임펄스 응답(FIR) 필터로서 실행된다. 제 1 단계는 샘플율이 오디오율 RA, 전형적으로는 8K 샘플/초로 감소될 때 얼라이어싱을 일으키는 하이 주파수 성분을 제거하는 로우패스 데시메이션 필터일 수 있다. 이는 단계88에서 실행된다. 단계 90에서 실행되는 최종 단계는 음성 신호의 밴드차 잡음을 제거하는 선택적인 밴드패스 필터이다.Two final processing steps are performed as finite impulse response (FIR) filters. The first step may be a low pass decimation filter that removes high frequency components causing aliasing when the sample rate is reduced to audio rate R A , typically 8K samples / second. This is done in step 88. The final step performed in step 90 is an optional bandpass filter that removes the band difference noise of the speech signal.

상기 셀룰러 수신기 처리(80)와 같은 신호 처리 프로그램의 개선을 용이하게 하기 위해 시스템은 선택적으로 실시간 제약을 가지는 이동가능한 적응 신호 처리 시스템을 제공하기 위해 디지?? IF 샘플을 처리하는 애플리케이션 프로그램의 개발을 지원하는 프로그래밍 환경을 포함한다. 이 프로그래밍 환경은 컴퓨터 프로그래밍 언어인 C, C++, 또는 Java언어에 기록된 라이브러리 루틴 또는 클래스 또는 일 세트의 클리스를 포함할 수 있다. 선택적으로 프로그래밍 환경은 애플리케이션 프로그래머에 의해 확장되며 서브클래스되도록 설계된 클래스의 라이브러리를 포함하며 애플리케이션 프로그래머에 의해 변경되도록 설계되며 상기 클래스를 사용하는 여러 샘플 애플리케이션과 함께 패키징된 객체 지향 애플리케이션 프레임 워크를 포함할 수 있다. 샘플 애플리케이션은 일반적으로 자신의 능력에 유용한 시스템을 포함한다. 프레임 워크는 기능성을 제공하며 애플리케이션 개발자에 대한 하부 구조를 제공하는 객체 클래스들 간에 상호저복을 "와이어드-인(wired-in)"할 수 있다. 상호 접속에 의해 구조적인 모델과 개발자의 설계가 가능하며 이를 문제 영역에 자유롭게 적용하도록 한다. 하부구조를 제공함으로써 프레임워크는 개발자가 프로그램, 테스트 및 디버깅하는 표준 코드량을 증가시킬수 있다. 일반적으로 프레임워크의 기본 개념은 기술상 공지되어 있다. 일 예의 프레임워크는 X 툴키트, Motif 툴키트, Smalltalk Model-View Controller GUI 및 Macapp을 포함한다.In order to facilitate improvement of signal processing programs, such as the cellular receiver processing 80, the system may optionally provide a digital adaptive signal processing system with a real time constraint. Contains a programming environment that supports the development of application programs that process IF samples. This programming environment may include a set of classes or library routines or classes written in the computer programming language C, C ++, or Java. Optionally, the programming environment may include a library of classes that are extended by the application programmer and designed to be subclassed, and may include an object-oriented application framework that is designed to be modified by the application programmer and packaged with several sample applications that use the class. have. Sample applications generally include systems that are useful for their capabilities. The framework can "wired-in" between objects classes that provide functionality and provide an infrastructure for application developers. Interconnection allows structural models and developers to design and freely apply them to problem areas. By providing the infrastructure, the framework can increase the amount of standard code that developers program, test, and debug. In general, the basic concepts of the framework are known in the art. Example frameworks include the X toolkit, the Motif toolkit, the Smalltalk Model-View Controller GUI, and Macapp.

선택적으로 프로그래밍 환경은 변경된 신호 처리를 유지할 수 있으며 예를 들면 채널의 이퀄라이징을 위한 모뎀을 실행하는 애플리케이션 프로그램과 같은 환경 인자에 대한 적응성을 달성하기 위해 적절하게 프로그래밍 되는 것을 포함한다. 이를 위해 시스템은 채널 추정 알고리즘과 같은 환경 변화를 검출하기 위한 알고리즘을 제공하며 특정 시스템에 대한 메카니즘은 검출된 변화를 기초로 변경된다. 유사하게 프로그래밍 환경은 시스템 또는 시스템의 동작 파라미터의 변화를 필요로하며 다이나믹하게 변하는 사용자의 요구조건을 허용하기 위해 적응성을 유지할 수 있다. 예를 들면 프로그래밍 환경은 라디오의 스테이션을 대표하는 사용자 변경 파라미터와 같이 사용자가 변경되는 것에 제공될 수 있다. 유사하게 프로그래밍 환경은 AM/FM 방송간의 선택을 위한 푸쉬버튼을 대표하는 제어를 활성화시키는 것을 허용할 수 있다. AM과 FM 방송간의 변화는 디지털 IF 데이터를 복조하기 위해 애플리케이션 프로그램에 의해 사용된 알고리즘의 변화를 필요로 한다. 프로그래밍 환경은 또한 기능적인 적응성을 허용하는 루틴 또는 클래스를 포함할 수 있다. 기능에 따른 적응성은 성질상 적응성인 위상 동기 루프와 같은 신호 처리 기술에 제공된다. 상기 기술은 전형적으로 신호에 따라 변경되며 특정 요구조건에 충족하기 위해 시스템 파라미터 또는 기능성을 변경할 수 있다. 예를 들면, 호핑 시퀀스의 시작 주파수로 로킹하는 수신기는 시스템을 시작 코드가 발견될 때까지 서로 다른 주파수를 검사하도록 적응시킨다. 이 타입의 적응성은 외부 변경에 대한 필요없이 또는 외부 변경과 협력하여 특정 제약에 의해 유도될 수 있다. 또한, 시스템은 자원의 이용가능성에 응답하여 적응성을 제공할 수 있다. 예를 들면 애플리케이션 프로그램은 여분의 CPU 사이클이 존재할 경우 검출할 수 있다. 만일 CPU 처리 전력이 현재 시스템 상태하에서 이용가능하도록 결정된다면 더 많은 계산을 실행하게 되어 채널 추정 알고리즘은 전체 시스템 성능을 더욱 효율적으로 탐색할 수 있다. 반대로 자원이 갑작스럽게 다른 처리에 의해 활동성의 버스트로 인해 부족하게 된다면 시스템은 요구 알로리즘과 버스트 또는 정확도를 희생하여 실행을 줄임으로써 적응할 수 있다. 상기 적응 형태는 애플리케이션이 빠른 프로세서를 이용할 수 있으며 성능을 개선할 수 있다.Optionally, the programming environment can maintain altered signal processing and include proper programming to achieve adaptability to environmental factors such as, for example, an application program running a modem for equalization of channels. To this end, the system provides an algorithm for detecting environmental changes, such as a channel estimation algorithm, and the mechanism for a particular system is changed based on the detected change. Similarly, programming environments require changes in the system or operating parameters of the system and can remain adaptable to allow for dynamically changing user requirements. For example, a programming environment may be provided for the user to change, such as a user change parameter representing the station of the radio. Similarly, the programming environment may allow for activating control representative of pushbuttons for selection between AM / FM broadcasts. Changes between AM and FM broadcasts require changes in the algorithm used by the application program to demodulate the digital IF data. The programming environment may also include routines or classes that allow for functional adaptability. Functional adaptability is provided for signal processing techniques such as phase locked loops that are adaptive in nature. The technique is typically signal dependent and may change system parameters or functionality to meet specific requirements. For example, a receiver that locks to the start frequency of the hopping sequence adapts the system to check different frequencies until a start code is found. This type of adaptability can be induced by specific constraints without the need for external changes or in conjunction with external changes. The system can also provide adaptability in response to the availability of resources. For example, an application program can detect when there are extra CPU cycles. If the CPU processing power is determined to be available under the current system state, then more computation is performed so that the channel estimation algorithm can more efficiently explore the overall system performance. Conversely, if a resource suddenly runs out of bursts of activity by other processes, the system can adapt by reducing execution at the expense of demanding algorithms and bursts or accuracy. The adaptive form allows an application to use a faster processor and improve performance.

상기의 시스템은 US 셀룰러 밴드를 사용하여 셀룰러 통신의 송신 및 수신을 가능하게 한다. 그러나 소프트웨어에서의 처리를 실행하는 이점은 전송 처리가 수신 처리와 분리되며 상기의 시스템 및 방법이 가상의 통신 패치 시스템을 가능하게 하고 동일 장치는 일 프로토콜의 전송과 다른 프로토콜의 방송용 전송을 수신 및 디코딩할 수 있다. 이는 개별 무선 시스템간의 패치를 형성할 수 있다. 다른 예에서 주파수 변조를 사용하는 라디오 전송 방송은 수신 및 디코딩될 수 있고 지폭 변조 및 재방송을 사용하여 인코딩된다. 따라서 AM 수신기는 FM 수신기와 마찬가지로 동일 데이터를 수신할 수 있다.The above system uses US cellular bands to enable the transmission and reception of cellular communications. However, the advantage of executing the processing in software is that the transmission processing is separate from the reception processing and the above system and method enables a virtual communication patch system, and the same apparatus receives and decodes broadcast transmission of one protocol and broadcast transmission of another protocol. can do. This may form a patch between individual wireless systems. In another example, a radio transmission broadcast using frequency modulation can be received and decoded and encoded using ground modulation and rebroadcast. Thus, the AM receiver can receive the same data as the FM receiver.

다른 실시예에서, 상기 시스템은 소프트웨어의 신호 처리를 실행하는 네트워크 인터페이스 카드(NICS)를 포함하며 따라서 다이나믹하게 변경될 수 있는 무선 네트워크 인터페이스 기능성을 제공한다. 소프트웨어 무선 네트워크 인터페이스는 FSK 변조를 사용하는 2.4GHz ISM 밴드에서 동작하는 상업용 주파수 호핑 라디오와 호환될 수 있다. FSK 주파수 변화와 호핑 채널의 스페이싱과 같은 파라미터는 신호가 변환되는 IF 밴드와 RF 밴드의 폭인 하드웨어에 의해 부과된 제약과 함께 소프트웨어에서 다이나믹하게 변경될 수 있다. 채널폭, 채널 스페이싱 및 호핑 시퀀스를 다이나믹하게 변경하는 능력에 의해 시스템은 환경에 적응할 수 있고 적대적인 전파방해 공격으로부터 보다 나은 잡음 거부와 면역성을 제공한다.In another embodiment, the system includes a network interface card (NICS) that performs signal processing of software and thus provides wireless network interface functionality that can be changed dynamically. The software radio network interface is compatible with commercial frequency hopping radios operating in the 2.4 GHz ISM band using FSK modulation. Parameters such as FSK frequency changes and spacing of hopping channels can be changed dynamically in software with constraints imposed by hardware that is the width of the IF and RF bands to which the signal is converted. The ability to dynamically change channel width, channel spacing and hopping sequences allows the system to adapt to the environment and provide better noise rejection and immunity from hostile interference attacks.

소프트웨어 네트워크 인터페이스 구조는 OSI 계층 모델을 개선할 수 있으며 도 6에 도시된 링크와 물리 층을 세분한다. 소프트웨어 NIC는 층(102), 주파수 변환 및 층(104)의 처리, 아날로그 영역과 디지털 영역간의 변환을 처리하는 하드웨어 장치에 접속될 수 있다. 일단 데이터가 디지털 영역에 있다면 소프트웨어 NIC는 네트워크 데이터 전송을 위해 실행된 다른 층을 실행할 수 있다. 도 6에 도시된 바와 같이 상기 층은 다중 액세스 층(108), 변조층(110) 및 라인 코딩 층(112)을 포함한다. 다중 액세스 층(108)은 데이터 전송 매체와 공유하는 적당한 프로토콜을 실행하는 것에 따라서 실행될 수 있다. 층 110에서 선택된 IF 데이터의 변조는 무선 채널에서 전송된 데이터를 수집하기 위해 발생할 수 있다. 층 112에서 데이터는 전송을 위한 필요조건으로 코딩될 수 있다. 데이터 링크 층(116,114)은 또한 데이터 캡슐화 및 탈캡슐화와 송수신 미디어 액세스 관리를 실행하는 임의의 적당한 기술에 의해 실행될 수 있다.The software network interface structure may improve the OSI layer model and subdivide the link and physical layers shown in FIG. The software NIC may be connected to a hardware device that handles layer 102, frequency conversion and processing of layer 104, and conversion between analog and digital domains. Once the data is in the digital domain, the software NIC can execute another layer that is implemented for network data transmission. As shown in FIG. 6, the layer includes a multiple access layer 108, a modulation layer 110, and a line coding layer 112. Multiple access layer 108 may be implemented in accordance with implementing a suitable protocol for sharing with a data transmission medium. Modulation of the IF data selected at layer 110 may occur to collect data transmitted on the wireless channel. Data at layer 112 may be coded as a requirement for transmission. Data link layers 116 and 114 may also be implemented by any suitable technique for performing data encapsulation and decapsulation and transmitting and receiving media access management.

전송 애플리케이션에 대한 처리 모듈의 시퀀스는 도 7에 도시되어 있다. 장치 드라이버(126)에 의한 IP 층에서의 호스트와 인터페이스하는 시스템은 다른 네트워크 장치 드라이브로서 커널에 구현될 수 있다. 그러나 하드웨어 장치에 대한 패킷 오프를 핸들링하는 대신 상기 드라이브는 사용자 공간(122)으로 핸드업한다. 여기에서 소프트웨어 라디오 처리가 실행된다. 제 1 레벨의 처리는 네트워크 프레이밍이다. 예를 들면 패킷은 프레임될 수 있고 데이터를 운반하기 위해 스터프된 바이트일 수 있다. 스터프된 값을 포함하는 패킷의 총길이를 나타내는 길이 코드는 시작 코드 다음에 삽입될 수 있다. 다음 모듈은 네트워크 프레이밍 층에 의해 비트 출력의 시퀀스를 가져오며 바이트 프레이밍을 실행하며 시작 정지 및 패리티 비트를 삽입한다.The sequence of processing modules for the transmission application is shown in FIG. The system that interfaces with the host at the IP layer by the device driver 126 may be implemented in the kernel as another network device driver. However, instead of handling packet off for the hardware device, the drive hands up to user space 122. This is where software radio processing is performed. The first level of processing is network framing. For example, the packet may be framed and may be bytes stuffed to carry data. A length code representing the total length of the packet containing the stuffed value may be inserted after the start code. The next module takes a sequence of bit outputs by the network framing layer, executes byte framing, and inserts start stop and parity bits.

각 비트의 이산 신호로의 변환은 FSK 모듈(132)에 의해 실행되며 주파수 호핑 모듈(134)은 적당한 주파수로 상기 파형을 할당한다. 모든 가능한 전송 파형은 기술상 공지되어 있다. 여기에는 각 호프 주파수에 1 또는 0에 해당하는 두 개의 가능 주파수가 존재한다. 모든 상기의 파형은 미리 계산될 수 있고 스타트업에 저장되며 전송된 파형을 생성하기 위해 필요한 계산을 상당히 감소시킨다. 180MHz 펜티엄 프로의 경우 2.2 마이크로초가 단일 비트에 해당하는 IF 파형을 생성하기 위해 필요하다. 이는 약 450kbps의 가능한 데이터 전송율에 해당한다.The conversion of each bit into a discrete signal is performed by the FSK module 132 and the frequency hopping module 134 assigns the waveform at the appropriate frequency. All possible transmission waveforms are known in the art. There are two possible frequencies, one or zero, for each hop frequency. All the above waveforms can be precomputed and stored at startup and significantly reduce the calculations needed to produce the transmitted waveform. For the 180MHz Pentium Pro, 2.2 microseconds is needed to generate an IF waveform that corresponds to a single bit. This corresponds to a possible data rate of about 450 kbps.

연속적인 위상 파형을 생성하기 위해 미리 계산된 파형은 실제로 오버 샘플링되며 출력 샘플링율에 해당하는 서브-샘플링된 세트는 출력 버퍼로 카피된다. 오버샘플링에 의해 위상을 일치시키기 위해 버퍼로의 인덱싱을 가능하게 하며 상기 패턴은 원형 버퍼로서 취급될 수 있으며 임의의 비트 기간에 대한 파형의 생성이 가능하다. 출력 버퍼에 샘플을 카피한 후, 위상값은 업데이트되고 다음 비트에 해당하는 파형의 인덱스로 사용된다. 유사한 방식으로 시스템은 호프들간의 연속적인 위상을 유지할 수 있고 이는 심지어 호프가 비트의 중간에서 발생되었을 때도 그러하다.The precomputed waveform is actually oversampled to produce a continuous phase waveform and the sub-sampled set corresponding to the output sample rate is copied to the output buffer. Oversampling allows indexing into the buffer to match phase and the pattern can be treated as a circular buffer and generation of waveforms for any bit period. After copying the sample to the output buffer, the phase value is updated and used as the index of the waveform corresponding to the next bit. In a similar manner, the system can maintain a continuous phase between hops even when the hop is generated in the middle of the bit.

수신은 기초적으로 도 1에 도시된 바의 전송 시스템과는 역이다. 수신기는 유효 전송 및 동기와의 존재를 검출할 뿐만 아니라 각 전송층의 역 기능을 수행한다. 또한, 주파수 호핑의 파라미터와 FSK 복조를 결합함으로써 시스템은 주어진 호프 주파수에서 두 개의 유효 파형중 하나를 살피는 수신기를 억제할 수 있다. 개별 기능은 호핑 주파수를 트랙하며 비트를 로킹하여 변조하도록 실행된다. 상기 비트는 디-프레임되며 IP 패킷이 추출된다. 드라이브는 처리를 위해 호스트 IP 층에 패킷을 핸드오프한다.The reception is basically the inverse of the transmission system as shown in FIG. The receiver not only detects the presence of valid transmission and synchronization, but also performs the reverse function of each transport layer. In addition, by combining FSK demodulation with the parameters of frequency hopping, the system can suppress a receiver looking at one of two valid waveforms at a given hop frequency. Individual functions are performed to track the hopping frequency and to lock and modulate the bits. The bits are de-framed and the IP packet is extracted. The drive hands off the packet to the host IP layer for processing.

단지 루틴 실험을 사용하는 것으로 당업자는 다양한 변경을 실행할 수 있다. 예를 들면 상기의 시스템 및 방법은 베이스 밴드 통신 시시템을 개발하기 위해 사용될 수 있고 베이스밴드 애플리케이션을 개발하기 위한 시스템에 사용될 수 있다. 또한 개시된 시스템은 광대역 IF 신호로부터 하나 이상의 채널을 선택하며 선택적으로 채널을 처리하는 이점을 가진다.By using only routine experimentation one skilled in the art can make various changes. For example, the systems and methods described above can be used to develop baseband communication systems and can be used in systems for developing baseband applications. The disclosed system also has the advantage of selecting one or more channels from the wideband IF signal and optionally processing the channels.

따라서, 본 발명은 상기의 실시예를 제한하는 것이 아니라 법이 허용하는 범위에서 해석되어 청구항을 이해하여야 한다.Therefore, the present invention should not be limited to the above embodiments but should be interpreted to the extent permitted by law to understand the claims.

Claims (19)

무선 신호를 처리하는 방법에 있어서,In the method for processing a radio signal, 하이 샘플링율의 디지털 신호와 광대역 신호를 변환하는 단계;Converting a high sampling rate digital signal and a wideband signal; 하이 샘플링율의 디지털 신호의 샘플을 컴퓨터 프로그램에 의해 액세스할 수 있는 메모리로 직접 저장하는 단계; 및Directly storing a sample of the high sampling rate digital signal into a memory accessible by a computer program; And 컴퓨터 프로그램의 제어하에서 하이 샘플링율의 디지털신호를 처리하는 단계를 포함하는 것을 특징으로 하는 방법.Processing a digital signal of a high sampling rate under control of a computer program. 제 1 항에 있어서, 상기 샘플링은 연속적인 것을 특징으로 하는 방법.The method of claim 1, wherein said sampling is continuous. 제 1 항에 있어서, 상기 샘플들은 샘플링율과 동일한 비율에서 저장되는 것을 특징으로 하는 방법.2. The method of claim 1 wherein the samples are stored at a rate equal to the sampling rate. 제 1 항에 있어서, 상기 광대역 신호는 10MHz의 밴드폭을 가지며 상기 샘플링율은 적어도 초당 20 메가-샘플인 것을 특징으로 하는 방법.2. The method of claim 1, wherein the wideband signal has a bandwidth of 10 MHz and the sampling rate is at least 20 mega-samples per second. 제 1 항에 있어서, 상기 처리 단계는 신호를 디지털화된 IF 신호로 변조하는 단계를 더 포함하는 것을 특징으로 하는 방법.2. The method of claim 1, wherein said processing step further comprises modulating the signal into a digitized IF signal. 제 1 항에 있어서, 상기 처리 단계는 신호를 상기 디지털화된 IF 신호로부터 복조하는 단계를 더 포함하는 것을 특징으로 하는 방법.2. The method of claim 1, wherein said processing further comprises demodulating a signal from said digitized IF signal. 제 1 항에 있어서, 상기 처리 단계는 채널 선택을 더 포함하는 것을 특징으로 하는 방법.2. The method of claim 1, wherein said processing step further comprises channel selection. 광대역 IF 신호를 디지털화하는 변환기; 및A converter for digitizing a wideband IF signal; And 상기 디지털화된 IF 신호를 변조하며 다중 채널이 다중 프로세스에서 이용될 수 있도록 선택하여 처리하는 프로세서를 포함하는 것을 특징으로 하는 라디오 수신기.And a processor for modulating the digitized IF signal and selecting and processing the multiple channels for use in multiple processes. 다중 프로세스로의 디지털 신호를 선택된 디지털 광대역 IF 신호 채널로 변조하는 프로세서; 및A processor for modulating a digital signal to multiple processes into a selected digital wideband IF signal channel; And 상기 디지털 IF 신호를 아날로그 광대역 신호로 변환하는 변환기를 포함하는 것을 특징으로 하는 라디오 송신기.And a converter for converting the digital IF signal into an analog wideband signal. 라디오 신호를 처리하는 방법에 있어서,In the method of processing a radio signal, 라디오 주파수 신호와 아날로그 중간 주파수 신호를 아날로그 영역에서 변환하는 단계;Converting a radio frequency signal and an analog intermediate frequency signal in an analog domain; 상기 아날로그 중간 주파수 신호와 해당 디지털 중간 주파수 신호 데이터를 변환하는 단계;Converting the analog intermediate frequency signal and corresponding digital intermediate frequency signal data; 상기 디지털화된 중간 주파수 신호 데이터를 버퍼에 버퍼링하는 단계;Buffering the digitized intermediate frequency signal data in a buffer; 페이지 멀티플에서 다이렉트 메모리 액세스에 의해 버퍼와 메모리간의 디지털화된 IF 신호 데이터의 페이지를 전송하는 단계; 및Transferring a page of digitized IF signal data between the buffer and the memory by direct memory access in a page multiple; And 컴퓨터 프로그램의 디지털화된 중간 주파수 신호 데이터를 처리하는 단계를 포함하는 것을 특징으로 하는 방법.Processing the digitized intermediate frequency signal data of the computer program. 제 10 항에 있어서, 버퍼와 메모리 시스템 공간 사이에서 직접적인 메모리 액세스에 의해 전송하는 단계는:The method of claim 10, wherein the step of transferring by direct memory access between the buffer and the memory system space comprises: 랜덤 액세스 메모리의 적어도 하나의 페이지를 스위칭하는 단계를 포함하는데, 디지털화된 중간 주파수 신호 데이터는 애플리케이션이 데이터를 액세스할 수 있도록 시스템 공간으로부터 사용자 공간으로 저장되며;Switching at least one page of random access memory, wherein the digitized intermediate frequency signal data is stored from system space into user space so that an application can access the data; 다이렉트 메모리 액세스 전송이 가능하도록 사용자 공간으로부터 시스템 공간으로 적어도 다른 하나의 페이지를 스위칭하는 단계; 및Switching at least one other page from user space to system space to enable direct memory access transfer; And 애플리케이션으로부터 사용자 공간의 디지털화된 중간 주파수 신호 데이터를 처리하는 단계를 더 포함하는 것을 특징으로 하는 방법.Processing the digitized intermediate frequency signal data in user space from the application. 제 10 항에 있어서,The method of claim 10, 다이렉트 메모리 액세스 제어기에서 데이터 전송을 위해 이용될 수 있는 시스템 공간 페이지의 어드레스의 리스트를 유지하는 단계;Maintaining a list of addresses of system space pages that may be used for data transfer at the direct memory access controller; 해당 데이터가 전송되었을 때 페이지 어드레스를 제거하는 단계; 및Removing the page address when the data has been transmitted; And 인터럽트 핸들러가 새로운 페이지 어드레스를 제공하도록 리스트의 페이지 어드레스의 개수가 소정의 임계값 사이에 떨어질 때 프로세서를 인터럽트하여 새로운 페이지 어드레스를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.Interrupting the processor to provide a new page address when the number of page addresses in the list falls between a predetermined threshold such that the interrupt handler provides a new page address. 다이렉트 메모리 액세스 제어기에서 메모리의 버퍼와 연관된 물리적인 페이지 어드레스의 리스트를 유지하는 단계;Maintaining a list of physical page addresses associated with a buffer of memory at the direct memory access controller; 상기 리스트로부터 페이지 어드레스를 제거하는 단계;Removing a page address from the list; 입/출력 장치와 상기 리스트 페이저 어드레스에 해당하는 메모리 사이에 새로운 페이지 어드레스 데이터를 전송하는 단계; 및Transferring new page address data between an input / output device and a memory corresponding to the list pager address; And 상기 판독 및 전송 단계를 연속적으로 반복하는 단계를 포함하는 것을 특징으로 하는 방법.Continuously repeating said reading and sending step. 제 13 항에 있어서, 페이지 어드레스를 판독하는 단계 다음에 판독 및 전송 단계와 함께 연속적으로 반복되도록 하는 단계는:15. The method of claim 13, wherein the step of reading the page address and then repeating continuously with the read and transfer steps comprises: 리스트로부터 페이지 어드레스를 제거하는 단계; 및Removing page addresses from the list; And 인터럽트 핸들러가 새로운 페이지 어드레스를 제공하도록 리스트의 페이지 어드레스의 개수가 소정의 임계값 사이에 떨어질 때 프로세서를 인터럽트하여 새로운 페이지 어드레스를 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.Interrupting the processor to provide a new page address when the number of page addresses in the list falls between a predetermined threshold such that the interrupt handler provides a new page address. 라디오 주파수와 중간 주파수 사이의 신호를 전송하는 수신기;A receiver for transmitting a signal between a radio frequency and an intermediate frequency; 중간 주파수 신호와 데이터 스트림을 변환하는 변환기;A converter for converting the intermediate frequency signal and the data stream; 데이터를 홀딩하는 입/출력 버퍼;An input / output buffer holding data; 사용자 공간과 시스템 공간 및 상기 시스템 공간을 액세스할 수 있는 다이렉트 메모리 액세스 제어기를 포함하는 랜덤 액세스 메모리를 포함하는데, 상기 메모리는 사용자 공간의 페이지가 시스템 공간으로 스위칭될 수 있고 시스템 공간의 페이지가 사용자 공간으로 스위칭될 수 있는 페이지로 조직화되며;Random access memory including a user space and a system space and a direct memory access controller capable of accessing the system space, wherein the memory can be paged into system space and pages in system space Organized into pages that can be switched to; 페이지 멀티플에서 입/출력 버퍼와 시스템 공간 사이에서 데이터의 페이지를 전송하는 다이렉트 메모리 액세스 제어기; 및A direct memory access controller for transferring a page of data between the input / output buffer and system space in a page multiple; And 사용자 공간을 액세스하는 소프트웨어 애플리케이션을 포함하는 것을 특징으로 하는 라디오.A radio comprising a software application that accesses user space. 제 15 항에 있어서,The method of claim 15, 데이터 전송을 위한 시스템 공간의 페이지의 어드레스 리스트를 포함하는데, 상기 리스트는 DMA 제어기에서 유지되며, 새로운 패이지는 인터럽트 핸들러가 새로운 페이지 어드레스를 제공하도록 페이지 어드레스가 소정의 임계값 이하로 떨어질 때 프로세서를 인터럽트함으로써 리스트에 추가되는 것을 특징으로 하는 라디오.An address list of pages of system space for data transfer, the list being maintained at the DMA controller, the new page interrupting the processor when the page address falls below a predetermined threshold such that the interrupt handler provides a new page address. Radio, characterized in that it is added to the list. 라디오 주파수 신호를 중간 주파수 신호로 전송하는 튜너;A tuner for transmitting a radio frequency signal as an intermediate frequency signal; 프로세서와 메모리를 가지는 데이터 처리 플랫폼;A data processing platform having a processor and a memory; 상기 데이터 처리 플랫폼에서 실행되는 컴퓨터 프로그램;A computer program running on the data processing platform; 중간 주파수 신호의 대표로서 디지털 데이터 신호를 복조하는 상기 데이터 처리 플랫폼에서 실행되는 컴퓨터 프로그램; 및A computer program running on the data processing platform for demodulating a digital data signal as a representative of an intermediate frequency signal; And 상기 중간 주파수 신호를 디지털 데이터 신호로 전송하며, 상기 컴퓨터 프로그램과 관련된 메모리 공간으로 맵핑된 상기 메모리의 일부에 상기 디지털 데이터 신호를 저장하는 변환기를 포함하는 것을 특징으로 하는 라디오.And a converter for transmitting said intermediate frequency signal as a digital data signal and storing said digital data signal in a portion of said memory mapped to a memory space associated with said computer program. 제 1 항에 있어서,The method of claim 1, 메모리 자원을 상기 데이터 처리 플랫폼에서 동작하는 프로그램으로 할당할 수 있으며, 상기 컴퓨터 프로그램과 관련된 상기 메모리 공간의 일부의 대표로서 어드레스 신호를 상기 변환기에 제공하는 오퍼레이팅 시스템을 더 포함하는 것을 특징으로 하는 라디오.And an operating system capable of allocating memory resources to a program running on said data processing platform, said operating system providing an address signal to said translator as representative of said portion of said memory space associated with said computer program. 프로세서와 메모리를 가진 데이터 처리 플랫폼;A data processing platform having a processor and a memory; 중간 주파수 신호의 대표로서 디지털 데이터 신호를 복조하며 제 1 전송 프로토콜에 따라 전송된 정보 신호를 확인하기 위해 상기 복조된 신호를 처리하는 제 1 컴퓨터 프로그램; 및A first computer program that demodulates a digital data signal as a representative of an intermediate frequency signal and processes the demodulated signal to identify an information signal transmitted according to a first transmission protocol; And 상기 정보 신호를 복조하며 제 2 전송 프로토콜에 따라 상기 복조된 정보 신호를 전송하는 제 2 컴퓨터 프로그램을 포함하며;A second computer program for demodulating said information signal and transmitting said demodulated information signal in accordance with a second transmission protocol; 상기 제 1 전송 프로토콜을 이용하여 상기 제 2 프로토콜과 통신할 수 있는 것을 특징으로 하는 서로 다른 통신 장치를 커플링하는 패치.And a patch for coupling different communication devices, wherein said first communication protocol is capable of communicating with said second protocol.
KR1020007007738A 1998-01-13 1999-01-13 Systems and methods for wireless communications KR20010034125A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7148598P 1998-01-13 1998-01-13
US60/071,485 1998-01-13
PCT/US1999/000729 WO1999037099A2 (en) 1998-01-13 1999-01-13 Systems and methods for wireless communications

Publications (1)

Publication Number Publication Date
KR20010034125A true KR20010034125A (en) 2001-04-25

Family

ID=22101634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007007738A KR20010034125A (en) 1998-01-13 1999-01-13 Systems and methods for wireless communications

Country Status (6)

Country Link
EP (1) EP1048124A2 (en)
JP (1) JP2003529947A (en)
KR (1) KR20010034125A (en)
AU (1) AU2318699A (en)
CA (1) CA2317473A1 (en)
WO (1) WO1999037099A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697174B1 (en) * 2001-10-31 2007-03-20 모토로라 인코포레이티드 Local and remote access to radio parametric and regulatory data and methods therefor
KR100940961B1 (en) * 2004-03-24 2010-02-05 콸콤 인코포레이티드 Cached memory system and cache controller for embedded digital signal processor
KR101034423B1 (en) * 2005-02-28 2011-05-12 마이크로소프트 코포레이션 High?speed internal wireless bus

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6584146B2 (en) 1999-01-13 2003-06-24 Vanu, Inc. Systems and methods for wireless communications
WO2001017123A1 (en) * 1999-08-20 2001-03-08 Vanu, Inc. Handheld software radios
US20030008684A1 (en) * 2000-01-24 2003-01-09 Ferris Gavin Robert Digital wireless basestation
WO2001059993A2 (en) * 2000-02-11 2001-08-16 Vanu, Inc. Systems and methods for wireless communications
US7092733B2 (en) 2001-01-25 2006-08-15 Kabushiki Kaisha Toshiba Mobile radio communication apparatus capable to plurality of radio communication systems
GB0103903D0 (en) * 2001-02-16 2001-04-04 Radioscape Ltd An open digital interface between sdr baseband processors and rf
US7107577B2 (en) 2002-11-20 2006-09-12 Telefonaktiebolaget Lm Ericsson (Publ) Software architecture for controlling an apparatus with one or more hardware units
EP1557957B1 (en) * 2004-01-20 2017-06-14 Avago Technologies General IP (Singapore) Pte. Ltd. Direct digital conversion tuner and method for using same
US7522901B2 (en) 2004-01-20 2009-04-21 Broadcom Corporation Direct digital conversion tuner and method for using same
KR100667700B1 (en) * 2004-12-02 2007-01-12 한국전자통신연구원 Terminal of portable internet system and method of transmitting uplink data in terminal
KR100654450B1 (en) 2005-02-03 2006-12-06 삼성전자주식회사 Communication method operated by software and apparatus by the same
GB0721427D0 (en) * 2007-10-31 2007-12-12 Icera Inc Processing signals in a wireless newtwork
GB0721429D0 (en) 2007-10-31 2007-12-12 Icera Inc Processing signals in a wireless communications environment

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216621A (en) * 1991-02-28 1993-06-01 Mehta Tech. Inc. Line disturbance monitor and recorder system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100697174B1 (en) * 2001-10-31 2007-03-20 모토로라 인코포레이티드 Local and remote access to radio parametric and regulatory data and methods therefor
KR100940961B1 (en) * 2004-03-24 2010-02-05 콸콤 인코포레이티드 Cached memory system and cache controller for embedded digital signal processor
US7769950B2 (en) 2004-03-24 2010-08-03 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
US8316185B2 (en) 2004-03-24 2012-11-20 Qualcomm Incorporated Cached memory system and cache controller for embedded digital signal processor
KR101034423B1 (en) * 2005-02-28 2011-05-12 마이크로소프트 코포레이션 High?speed internal wireless bus

Also Published As

Publication number Publication date
EP1048124A2 (en) 2000-11-02
JP2003529947A (en) 2003-10-07
WO1999037099A9 (en) 1999-11-04
CA2317473A1 (en) 1999-07-22
WO1999037099A2 (en) 1999-07-22
WO1999037099A3 (en) 1999-09-30
AU2318699A (en) 1999-08-02

Similar Documents

Publication Publication Date Title
US6654428B1 (en) Systems and methods for wireless communications
Bose et al. Virtual radios
KR20010034125A (en) Systems and methods for wireless communications
US8565811B2 (en) Software-defined radio using multi-core processor
JP3593233B2 (en) Adapter device for wireless network connection
US6993597B2 (en) Terminal apparatus
EP0762655B1 (en) Host signal processing communication system that compensates for missed execution by signal maintenance procedures
US7039243B2 (en) Spectral encoding of information
US7474891B2 (en) Dynamic digital up and down converters
US8627189B2 (en) High performance digital signal processing in software radios
US20110136439A1 (en) Analyzing Wireless Technologies Based On Software-Defined Radio
JPH088611B2 (en) System and communication system for providing information telecommunication service
Dhar et al. Supporting integrated MAC and PHY software development for the USRP SDR
Bose Design and implementation of software radios using a general purpose processor
US7191262B2 (en) High-throughput UART interfaces
US20010055281A1 (en) Software modem architecture
Bose Virtual Radios Vanu Bose, Mike Ismert, Matt Welborn, John Guttag
WO2001017123A1 (en) Handheld software radios
CN1325219A (en) First-layer protocol realizing device and method for personal hand-held communication system
JPH06164655A (en) Data modem
JPH09200088A (en) Radio communication system, radio communication method and equipment
JPH0644159A (en) Game data communication equipment using satellite communication

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid