CA2847969A1 - Systems and methods for performing demodulation and modulation on software defined radios - Google Patents

Systems and methods for performing demodulation and modulation on software defined radios Download PDF

Info

Publication number
CA2847969A1
CA2847969A1 CA2847969A CA2847969A CA2847969A1 CA 2847969 A1 CA2847969 A1 CA 2847969A1 CA 2847969 A CA2847969 A CA 2847969A CA 2847969 A CA2847969 A CA 2847969A CA 2847969 A1 CA2847969 A1 CA 2847969A1
Authority
CA
Canada
Prior art keywords
signal
frequencies
band
radio
channels
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CA2847969A
Other languages
French (fr)
Other versions
CA2847969C (en
Inventor
Victor WOLLESEN
Yi Yao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Per Vices Corp
Original Assignee
Per Vices Corp
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
Priority claimed from PCT/CA2012/000314 external-priority patent/WO2012151662A1/en
Application filed by Per Vices Corp filed Critical Per Vices Corp
Priority to CA2847969A priority Critical patent/CA2847969C/en
Priority claimed from PCT/CA2012/050608 external-priority patent/WO2013033840A1/en
Publication of CA2847969A1 publication Critical patent/CA2847969A1/en
Application granted granted Critical
Publication of CA2847969C publication Critical patent/CA2847969C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Circuits Of Receivers In General (AREA)

Abstract

A system and method are provided for extracting and demodulating one or more channels in a radio signal. The method includes receiving a first radio signal using a radio frequency front end, translating a first band of frequencies of the first radio signal to a second band of frequencies to generate a second radio signal, digitizing the second radio signal to generate a digital signal, extracting one or more additional band of frequencies of the digital signal, each additional band of frequencies corresponding to a channel, and demodulating one or more channels to generate a respective demodulated signal. In another aspect, a system9 and method are provided for modulating and combining one or more channels into a radio signal.

Description

2 MODULATION ON SOFTWARE DEFINED RADIOS
3
4 CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from United States Provisional Patent Application 6 Serial No. 61/532,685, filed on September 9, 2011, and PCT Application No.
7 PCT/CA2012/000314, filed on March 26, 2012, the entire contents of which are incorporated 8 herein by reference.

TECHNIC AL FIELD
11 [0002] The present invention relates to radio communication systems, and in particular to 12 software defined radio systems.

[0003] Traditionally, development of radio communication products involves significant 16 hardware development effort. Software defined radio (SDR) is a technology that implements 17 physical layer wireless communication technologies in software, turning many radio-related 18 hardware development problems into software issues. This can shorten the product 19 development cycle, reduce costs, and make product distribution much easier. Moreover, SDR
provides increased flexibility and programmability, which can speed up innovation in 21 wireless communications.
22 [0004] SDR platforms have been developed using a personal computer's central 23 processing unit (CPU), working in connection with a field programmable gate array (FPGA), 24 with some radio frequency (RF) front end hardware to receive and transmit radio waveforms.
Some SDR applications require complex modulation or computationally intensive algorithms 26 that may include Fast Fourier Transforms (FFTs), cross-correlation, or the calculation of 27 mutual information metrics. These operations can be costly in terms of processing power. A
28 CPU working in connection with an FPGA may lack the computing architecture to support 29 these applications. More recently, SDR platforms have been developed using a CPU working 22276050.1 1 in connection with a graphics processing unit (GPU). However, a GPU
working in 2 connection with a CPU may lack the streaming or serial processing capabilities to fulfill the 3 real-time requirements of digital communication algorithms that perform serial processing.
4 [0005] It is an object of the present invention to obviate or mitigate one or more of the above disadvantages.

8 [0006] In one aspect, there is provided a method of extracting and demodulating one or 9 more channels in a radio signal. The method includes receiving a first radio signal using a radio frequency front end, translating a first band of frequencies of the first radio signal to a 11 second band of frequencies to generate a second radio signal, digitizing the second radio 12 signal to generate a digital signal and extracting one or more additional band of frequencies 13 of the digital signal, each additional band of frequencies corresponding to a channel, and 14 demodulating one or more channels to generate a respective demodulated signal.
[0007] In another aspect, there is provided a method of modulating and combining one or 16 more channels into a radio signal. The method includes receiving one or more digital input 17 signals, modulating one or more digital input signals to generate a respective modulated 18 signal, translating a first band of frequencies of one or more modulated signals to a second 19 band of frequencies corresponding to a channel, combining one or more channels to generate a combined signal, converting the combined signal to an analog signal, translating a third 21 band of frequencies of the analog signal to a transmitting band of frequencies to generate a 22 radio signal and transmitting the radio signal using a radio frequency front end.
23 [0008] In another aspect, an electronic device, such as an SDR
device, is provided. The 24 electronic device includes a RF front end, a processing unit and memory.
The memory stores computer executable instructions that when executed by the processing unit, causes the 26 electronic device to receive a first radio signal using the RF front end, translate a first band of 27 frequencies of the first radio signal to a second band of frequencies to generate a second radio 28 signal, digitize the second radio signal to generate a digital signal and extract one or more 29 additional band of frequencies of the digital signal, each additional band of frequencies 22276050.1 =

1 corresponding to a channel and demodulate one or more channels to generate a respective 2 demodulated signal.
3 [0009] In another aspect, another electronic device, such as an SDR
device, is provided.
4 The electronic device includes a RF front end, a processing unit and memory. The memory stores computer executable instructions that when executed by the processing unit, causes the 6 electronic device to receive one or more digital input signals, modulate one or more digital 7 input signals to generate a respective modulated signal, translate a first band of frequencies of 8 one or more modulated signals to a second band of frequencies corresponding to a channel, 9 combine one or more channels to generate a combined signal, convert the combined signal to an analog signal, translate a third band of frequencies of the analog signal to a transmitting 11 band of frequencies to generate a radio signal and transmit the radio signal using the RF front 12 end.
13 [0010] In another aspect, a computer readable storage medium is provided for extracting 14 and demodulating one or more channels in a radio signal. The computer readable storage medium includes computer executable instructions that when executed by a processing unit, 16 causes the processing unit to receive a first radio signal using the RF
front end, translate a 17 first band of frequencies of the first radio signal to a second band of frequencies to generate a 18 second radio signal, digitize the second radio signal to generate a digital signal and extract 19 one or more additional band of frequencies of the digital signal, each additional band of frequencies corresponding to a channel and demodulate one or more channels to generate a 21 respective demodulated signal.
22 [0011] In another aspect, a computer readable storage medium is provided for modulating 23 and combining one or more channels into a radio signal. The computer readable storage 24 medium includes computer executable instructions that when executed by a processing unit, causes the processing unit to receive one or more digital input signals, modulate one or more 26 digital input signals to generate a respective modulated signal, translate a first band of 27 frequencies of one or more modulated signals to a second band of frequencies corresponding 28 to a channel, combine one or more channels to generate a combined signal, convert the 29 combined signal to an analog signal, translate a third band of frequencies of the analog signal to a transmitting band of frequencies to generate a radio signal and transmit the radio signal 31 using the RF front end.
22276050.1 1 [0012] In another aspect, there is provided a SDR device comprising a RF front end, a 2 FPGA in communication with the RF front end and a GPU in communication with the FPGA.
3 The RF front end is operable to receive and transmit one or more radio signals. The FPGA is 4 operable to perform serial processing on one or more digital signals corresponding to the one or more radio signals. The GPU is operable to perform parallel processing on the one or 6 more digital signals. The SDR device can also include a CPU in communication with at least 7 one of the FPGA and GPU for performing general computations such as providing a user 8 interface and programming the FPGA and/or GPU.

BRIEF DESCRIPTION OF THE DRAWINGS
11 [0013] Embodiments of the invention will be described by way of example only with 12 reference to the accompanying drawings in which:
13 [0014] FIG. 1 is a block diagram of an example SDR device;
14 [0015] FIG. 2 is a block diagram of an example configuration of a SDR device for the specific application of extracting and demodulating channels in a radio signal;
16 [0016] FIG. 3 is a schematic diagram of an example RF front end;
17 [0017] FIG. 4 is a flow chart of an example process of extracting and demodulating 18 channels in a radio signal using an example SDR device;
19 [0018] FIG. 5 is a block diagram of an example configuration of a SDR device for the specific application of modulating and combining a plurality of channels;
21 [0019] FIG. 6 is a flow chart of an example process of modulating and combining a 22 plurality of channels using an example SDR device; and 23 [0020] FIG. 7 is a block diagram of an example application layer of the SDR device.

DETAILED DESCRIPTION OF THE INVENTION
26 [0021] It will be appreciated that for simplicity and clarity of illustration, where 27 considered appropriate, reference numerals may be repeated among the figures to indicate 28 corresponding or analogous elements. In addition, numerous specific details are set forth in 22276050.1 1 order to provide a thorough understanding of the example embodiments described herein.
2 However, it will be understood by those of ordinary skill in the art that the example 3 embodiments described herein may be practised without these specific details.
4 100221 In other instances, well-known methods, procedures and components have not been described in detail so as not to obscure the example embodiments described herein.
6 Also, the description is not to be considered as limiting the scope of the example 7 embodiments described herein.
8 [0023] Turning to FIG. 1, a schematic diagram of an example SDR
device 10 is provided.
9 In this example, the SDR device 10 includes a RF front end 12 having an antenna 28 for receiving and converting electromagnetic radiation into a digital signal, a field programmable 11 gate array (FPGA) 14 for performing high speed serial processing and a graphics processing 12 unit (GPU) 16 for performing parallel processing. The SDR device 10 may also include a 13 general purpose computer processing unit (CPU) 18 for performing general computations 14 including providing the user interface and programming the FPGA 14 and GPU 16. The FPGA 14, GPU 16 and CPU 18 can each have its own memory 15, 17 and 19, respectively 16 and/or can access a separate memory component 13 of the device 10. It is understood that the 17 FPGA 14 can include any suitable programmable logic device and GPU 16 includes general 18 purpose computing on graphics processing unit ((GP)GPU).
19 100241 In the example of FIG. 1, the RF front end 12 is connected to the FPGA 14 and is operable to communicate with the FPGA 14 by a plurality of digital signals.
The FPGA 14, 21 GPU 16 and CPU 18 are connected to one another by a high speed bus 21, such as a 22 Peripheral Component Interconnect Express (PCIe) bus, for example.
23 [0025] The SDR device 10 enables rapid serial and parallel computation of signal 24 processing data. For example, the SDR device 10 can divide signal processing algorithms into block and streaming processes and implement the block and stream processes to 26 optimize processing efficiency. Stream processing may segment the input signal into a 27 plurality of discrete segments or "chunks" based, in part, on the current state of the input 28 signal passing through it, while block processing may comprise fixed, invariant, processing 29 on each chunk.
[0026] In one example SDR device 10, the FPGA 14 provides a fast serial processing 31 environment to perform stream processing. The GPU 16 provides a parallel processing 22276050.1
- 5 -1 environment to parallelize block processes. The GPU 16, thus effectively implements 2 parallelizable calculations and algorithms, including, for example, weak signal 3 reconstruction, auto-correlation, FFTs, mutual information metrics, as well as concurrent 4 processing of arbitrary algorithms or calculations on single or multiple data streams.
100271 The programmability of the FPGA 14 and the GPU 16 also provides flexibility,
6 such that the SDR device 10 may be capable of running arbitrary wireless protocols. For
7 example, FPGA 14 and GPU 16 can be reprogrammed by CPU 18 during operation to handle
8 changes in the communication protocol on an input signal. Once programmed, the SDR
9 device 10 can autonomously store and send data without requiring additional configuration or intervention.
11 100281 The SDR device 10 can also be configured to concurrently monitor spectral and 12 network resources and adjust transmission and receiving parameters accordingly.
13 Furthermore, the SDR device 10 can manage its own resources (e.g.. FPGA
14 and GPU 16) 14 such that tasks are efficiently allocated to the appropriate component based on the type of computation and resource usage.
16 [0029] In an example application of the SDR device 10, it is operable to identify and 17 intercept a radio signal comprising one or more radio frequency bands, extract one or more 18 channels from the radio signal, the radio signal having a bandwidth at least as wide as each 19 channel, and process one or more channels in parallel. Preferably, the SDR device 10 is applied to a radio signal comprising a plurality of radio frequency bands.
21 100301 Referring to FIG 2, a block diagram of an example configuration of the SDR
22 device 10 for the specific application of extracting and demodulating a plurality of channels 23 in a radio signal is provided. The SDR device 10 has an RF front end 12 which includes an 24 antenna 28 to receive a radio signal 22, a pre-processing utility 302 to isolate a band of frequencies in the radio signal 22 and to process the radio signal 22 for digitization, and an 26 analog to digital converter (ADC) 304 to convert the pre-processed radio signal 22 into a 27 digital signal 306. A tuning module 310 of the FPGA 14 may determine and provide a centre 28 frequency and filter parameters to configure the pre-processing utility 302 to isolate a band of 29 frequencies centred around the centre frequency and having a width based on the filtering parameters. The digital signal 306 produced by the ADC 304 is sent to the FPGA
14.
22276050.1 1 [0031] Turning to FIG. 3, a more detailed schematic diagram of an example RF front end 2 12 is provided. The RF front end pre-processes the radio signal 22 by amplification and 3 down-conversion prior to digitization. The RF front end includes an antenna 28 to intercept 4 the radio signal 22 and may include pre-processing components such as a low noise amplifier (LNA) 402 to amplify weak signals, a high pass filter (HPF) 404 to filter and pass high 6 frequencies and attenuate low frequencies, an amplifier (e.g. gain block 406 and/or variable 7 gain amplifier 408), a variable attenuator 410 to vary the signal gain, a down-converter 412 to 8 down-convert the signal to baseband, an analog to digital converter (ADC) 304, and a driver 9 416 and anti-aliasing filter 418 to improve the quality of the ADC
conversion.
[0032] In the example of FIG. 3, the RF front end 12 has two modes of operation A and 11 B, selectable by a switch 420. Each mode of operation performs a series of operations on the 12 radio signal 22 before digitization by the ADC 304. In FIG. 3, the first mode of operation A
13 is selected. The radio signal 22 intercepted by the antenna 28 is amplified by the LNA 402 14 and filtered using the HPF 404. The gain of the radio signal 22 is then modified using gain block 406 and variable attenuator 410. The resulting signal is then down-converted by first 16 mixing in a signal generated by the local oscillator 422 using mixer 412. The local oscillator 17 422 is configured to generate a signal at the centre frequency provided by the tuning module 18 310 of the FPGA 14. The mixed signal can be phase shifted by phase converter 424, further 19 amplified by driver 416 and filtered by anti-aliasing filter 418 to produce a baseband signal prior to digitization using the ADC 304. In this example, the resulting digital signal 306 is 21 decomposed into its quadrature-carrier (IQ) form made of the in-phase component 306a, and 22 the quadrature component 306b. The cut off frequency of the baseband signal can be 23 determined by the anti-aliasing filters 418 and can be configured based on the application of 24 the SDR device 10.
[0033] By modifying the centre frequency and filter parameters, the SDR
device 10 can 26 tune into and isolate a specific band of frequencies in the radio signal 22. It can be 27 appreciated that the RF front end 12 can be any appropriate receiver capable of isolating the 28 frequency band of interest and digitizing the radio signal 22.
29 [0034] In the second mode of operation B of the example RF front end 12 of FIG. 3, the analog signal received by the antenna 28 can be amplified by LNA 402 and filtered using 22276050.1 1 HPF 404, as in first mode of operation A. However, the analog signal can then be amplified 2 using variable gain amplifier 408 and directly applied to ADC 304.
3 100351 Turning back to FIG. 2, the SDR device 10 in this example also has an FPGA 14 4 configured to include a tuning module 310 for providing the pre-processing stage 302 of the RF front end 12 with a centre frequency and filtering parameters and a digital processing 6 module 312 for digitally processing the digital signal 306. In one embodiment, the digital 7 processing module 312 implements a digital up/down converter on the FPGA
14 to isolate a 8 band of frequencies within the digital signal 306. Further up or down conversion carried out 9 by the digital processing module 312 can correct or reduce an error in the analog down conversion carried out by the RF front end 12. In another embodiment, the digital processing 11 module 312 carries out filtering and/or decimation on the digital signal 306 to reduce the 12 bandwidth of the digital signal 306 (for example, to satisfy the bandwidth limit of the high 13 speed bus 21 connecting the FPGA 14 to the GPU 16). This allows the FPGA
14 to 14 negotiate data transfers over the bus 21. The digital processing module 312 can implement a digital low pass filter to reduce the width of the frequency band of the digital signal 306 16 and/or implement a digital downsampler to decimate the digital signal 306.
17 100361 In the example of an RF front end 12 operating in mode B, the digital processing 18 module 312 can operate as the primary module for extracting the desired band of frequencies 19 from the radio signal 22. In one embodiment, the digital processing module 312 can implement multiple instances of digital up/down converters and filters to isolate more than 21 one band of frequencies from the digital signal 306.
22 [0037] It can further be appreciated that the FPGA 14 can route the digital signal 306 to 23 one or more of its modules, its intemal memory, and/or bypass the FPGA
processing all 24 together, by configuring the programmable switches provided by the FPGA.
For example, certain data may not require further down-conversion of the digital signal 306. The selection 26 and passage of the any signal within FPGA 14 can be set according to the desired application 27 using appropriately configured switches.
28 [0038] The SDR device 10 in the example also has a GPU 16 configured to include a 29 plurality of channelizer modules 316 for extracting a channel 320 from the processed digital signal 322 and a plurality of demodulation modules 318 to carry out demodulation of a 31 channel 320 to produce a demodulated signal 314.
22276050.1 1 [0039] Each channelizer module 316 can separate a specific frequency sub-band (i.e.
2 channel 320) from the processed digital signal 322 containing a band of frequencies. In one 3 example embodiment, the channelizer module 316 is a digital up/down converter 4 implemented on the GPU 16. The channelizer module 316 down converts or up converts the desired sub band to baseband depending on whether the desired band contains positive or 6 negative frequencies. The down or up conversion of frequency can be followed by filtering 7 using a low pass filter to determine the frequency width of the channel and subsequently 8 decimated using a downsampler.
9 [0040] A channelizer modules 316 can operate in parallel with one or more other channelizer modules 316 to extract multiple channels 320 from the processed digital signal 11 322 and provide the channels 320 to a plurality of demodulation modules 318 for further 12 processing. In the example of FIG. 2, each channelizer module 316 provides the extracted 13 channel 320 to a respective demodulation module 318. The demodulation modules 318 can 14 operate on its respective channel 320 in parallel with the operation of other demodulation modules 318 to produce its respective demodulated signal 314. The demodulated signals 314 16 can be further processed based on the desired application. For example, a demodulated signal 17 314 can be combined with one or more other demodulated signals 314, stored in memory, 18 further processed by the CPU, or independently viewed by the user on a computer.
19 [0041] It can be appreciated that the GPU 16 can have one or more demodulation modules 318 to carry out one or more different demodulation techniques on the FPGA output 21 322, such as demodulation of a radio signal modulated using amplitude modulation (AM), 22 frequency modulation (FM) and single-sideband modulation (SSB). Each demodulation 23 module 318 can also apply demodulation to one or more different communication protocols 24 (for example Global System for Mobile Communications (GSM) or Zigbee).
The modulation techniques and communication protocols can be configured by the user or provided by third 26 parties. Furthermore, the demodulation modules 318 can be reprogrammed during operation 27 to implement a different modulation technique and/or communication protocol. Accordingly, 28 the demodulation module 318 allows for different modulation techniques and communication 29 protocols to be determined and implemented dynamically (on the fly) while the device remains operational.
22276050.1 1 100421 Tuming to FIG. 4, a flow chart of an example process for extracting and 2 demodulating one or more channels in a radio signal 22 is provided. At block 500, RF front 3 end 12 intercepts an radio signal 22 using its antenna 28. At block 502, the device 10 obtains 4 tuning parameters related to a band of frequencies that are to be extracted from the radio signal 22, such as the centre frequency and filter parameters. At block 504, RF front end 12 6 extracts a band of frequencies from the radio signal 22 to generate a baseband signal. At 7 block 506, RF front end 12 digitizes the baseband signal using its ADC
304 to generate a 8 digital signal 306. At block 508, FPGA 14 digitally processes the digital signal 306, for 9 example, by further down or up converting the digital signal to compensate for errors introduced in the extraction of a band of frequencies from the radio signal 22. At block 510, 11 GPU 16 extracts one or more band of frequencies from the digital signal 306 to generate one 12 or more channels using the channelizer modules 316. At block 512, GPU 16 demodulates 13 each channel 320 using its demodulation module 318 to generate a demodulated signal 314.
14 100431 As noted above, at block 506, FPGA 14 can digitally process the digital signal 306 containing a band of frequencies using the digital processing module 312. In one 16 embodiment, the FPGA 14 can improve or correct errors introduced during extraction of the 17 desired band of frequencies by the RF front end 12 by configuring the digital processing 18 module to implement a suitable digital up or down converter to translate the frequency band 19 of the digital signal 306. In another embodiment, the digital processing module can be configured to implement a suitable digital low pass filter and downsampler to filter and 21 decimate the digital signal 306 in order to reduce its bandwidth.
22 [0044] As noted above, at block 510, GPU 16 extracts one or more band of frequencies 23 from the digital signal 306 to generate one or more channels. At block 512, each channel is 24 demodulated to generate a corresponding demodulated signal 314. In the example SDR
device of FIG. 3, the GPU 16 includes multiple channelizer modules 316, each having a 26 respective demodulation module 318. The channelizer modules 316 and demodulation 27 modules 318 can operate in parallel so that multiple channels are extracted and demodulated 28 simultaneously, thus taking advantage of the parallel processing capabilities of the GPU 16.
29 [0045] In one embodiment, each channelizer module 316 extracts a different band of frequencies from the digital signal 306 to be demodulated by the same or different 22276050.1
- 10 -1 demodulation schemes in the demodulation modules 318. In another embodiment, more than 2 one channelizer module 316 can extract the same band of frequencies but have different 3 demodulation performed by its respective demodulation module 318. For example, the radio 4 signal 22 received by the SDR device 10 can include multiple signals broadcast on the same or similar frequencies but having different timing characteristics. The SDR
device 10 can 6 provide concurrent processing of the same frequency on different channels to accommodate 7 multiple but similar broadcasting sources.
8 [0046] In an example, the process of extracting and demodulating one or more channels 9 in a radio signal can also include averaging the demodulated signal 314, as shown at block 514. In one embodiment, the demodulating module 318 of the example SDR device 10 can
11 perform time domain averaging on a segment of the demodulated signal 314 with one or
12 more previous segments of the same demodulated signal 314 to improve the quality of the
13 demodulated signal 314.
14 [0047] In another embodiment, the demodulating module 318 can average a demodulated signal 314 of one channel 320 with one or more demodulated signals 314 of another channel 16 320. For example, if the band of frequencies in the digital signal 306 correspond to the 17 frequency components of a common signal, the channels extracted by the SDR device would 18 correspond to the frequency components of the common signal. In this embodiment, the 19 demodulating module 318 can also average a plurality demodulated signals 314 of different channels 320 to provide frequency domain averaging of multiple samples (at a given point in 21 time) to improve signal quality and reduce measurement errors. In another embodiment, 22 different demodulated signals 314 can be compared, cross-correlated, or otherwise analyzed 23 for similarities, statistical metrics, etc. to improve the quality of a demodulated signal 314.
24 [0048] An example application of the SDR device 10 is a FM radio receiver capable of concurrently tuning into, and recording multiple channels (corresponding to an FM radio 26 station) in the FM radio band. FM radio currently broadcasts using frequencies between 88.0 27 and 108.0 MHz, each channel being 200 kHz wide and centered about 0.1, 0.3, 0.5, 0.7, or 28 0.9 MHz. In this example embodiment, the SDR device 10 can be configured to have a 29 centre frequency of 88 MHz and filtering parameters such that the cut off frequency of the baseband signal is 20 MHz. The RF front end 12 can extract and down convert the band of 22276050.1 1 frequencies from 88.0 to 108.0 MHz in the radio signal 22 to a baseband signal from 0 Hz to 2 20 MHz using the pre-processing utility 302 of the RF front end 12. This allows the 3 baseband signal to contain the information of the entire FM radio band.
4 [0049] The RF front end 12 can then digitize the baseband signal using its ADC 304 to generate a digital signal 306 which is then passed to the FPGA 14 for digital processing such 6 as filtering, decimation, IQ demodulation, etc. In the example of the FM
radio receiver, each 7 channelizer module 316 of the GPU 16 can shift and decimate the digital signal 306 to extract 8 a band of frequencies of width 200 kHz centered about 0.1, 0.3, 0.5, 0.7, or 0.9 MHz, 9 corresponding to the information broadcasted by a FM radio station. In this example, the demodulation modules 318 can be configured to perform FM demodulation to recover the 11 information in the FM radio broadcast such as audio data, pilot tones, etc.
12 100501 Although the SDR device 10 has been described for extracting and demodulating 13 a plurality of channels from a radio signal, it can be appreciated that the SDR device 10 can 14 be modified to be operable to modulate one or more signals across one or more frequencies and to combine the modulated signals into a common signal for transmission.
For example, 16 complementary components and modules can be used to replace those described in FIGS. 2 17 and 3 of the example SDR device 10. Similarly, complementary,' operations can be used to 18 replace those described in the example process of FIG. 4.
19 [0051] Referring to FIG. 5, a block diagram of an example configuration of the SDR
device 10' for the specific application of modulating and combining a plurality of channels is 21 provided. The SDR device 10' in the example has a GPU 16 configured to include a plurality 22 of modulation modules 618 to carry out modulation of an input signal 614 to produce a 23 respective modulated signal 620 and a plurality of channelizer modules 316 for translating a 24 modulated signal 620 to a specific band of frequencies to generate a channel 320.
100521 Similar to the example SDR device 10, each modulation module 618 can operate 26 on its respective input signal 614 in parallel with the operation of other modulation modules 27 618 to produce its respective modulated signal 620. In the example of FIG. 5, each 28 modulation module 618 provides its modulated signal 620 to a respective channelizer module 29 316.
22276050.1 = 6 1 [0053] It can be appreciated that the GPU 16 can have one or more modulation modules 2 618 to carry out one or more different modulation techniques, such as amplitude modulation 3 (AM), frequency modulation (FM) and single-sideband modulation (SSB).
Each modulation 4 module 618 can also apply modulation to one or more different communication protocols (for example GSM or Zigbee). The modulation techniques and communication protocols can be 6 configured by the user or provided by third parties. Furthermore, the modulation modules 7 618 can be reprogrammed during operation to implement a different modulation technique 8 and/or communication protocol. Accordingly, the modulation module 618 allows for 9 different modulation techniques and communication protocols to be determined and implemented dynamically (on the fly) while the device remains operational.
11 [0054] Each channelizer module 316 can translate a modulated signal 620 to specific 12 frequency sub band (i.e. channel 320) of a band of frequencies that will make up the 13 combined signal 622. In one example embodiment, the channelizer module 316 is a digital 14 up/down converter implemented on the GPU 16. The channelizer module 316 down converts or up converts the modulated signal 620 depending on the desired sub band (i.e. channel 320) 16 desired to contain the modulated signal 620. It can be appreciated that one or more 17 modulation modules 618 and channelizer modules 316 can operate in parallel on the GPU 16.
18 [0055] The SDR device 10' in this example also has an FPGA 14 configured to include a 19 multiplexer 630 to combine one or more channels 320 provided by the GPU
16 to generate a combined signal 622, a digital processing module 312 for digitally processing the combined 21 signal 622 in preparation of digital to analog conversion, and a tuning module 310 for 22 providing transmission parameters (such as centre frequency and filtering parameters) to the 23 RF front end 12.
24 [0056] As noted above, a multiplexer 630 implemented on the FPGA 14 is used in the example SDR device 10 to combine one or more channels 320. It can be appreciated that the 26 multiplexer 630 can be implemented on the GPU 16 or that a combination of multiplexers 27 630 may be used implemented on both the FPGA 14 and GPU 16.
28 [0057] In one embodiment, multiple digital processing modules 312 may be implemented 29 on the FPGA 14, each digital processing module 312 receiving a subset of all channels 320.
The digitally processed signals of each digital processing module 312 can then be combined 31 by one or more multiplexers in the RF front end 12. This allows the SDR
device 10' to group 22276050.1 1 similar frequency channels together for processing and optimizing processing for that 2 particular band of frequencies..
3 [0058] In one embodiment, the digital processing module 312 implements a digital up 4 and/or down converter. The digital processing module 312 can also be configured to perform filtering on the combined signal 622 prior to digital to analog conversion.
Examples of such 6 filters include linear filters to reduce spurious emissions and nonlinear filters which can 7 compensate for nonlinearities in the RF front end 12.
8 [0059] The example SDR device 10' also has an RF front end 12 which includes a digital 9 to analog converter (DAC) 604 to convert the digitally processed combined signal 622 into an analog signal 606, a pre-processing utility 302 to translate the frequency band of the analog 11 signal 606 to the desired band of frequencies for transmission, and a transmitter (e.g. antenna) 12 for transmitting the analog output signal 62. A tuning module 310 of the FPGA 14 may 13 determine and provide a centre frequency and filter parameters to configure the pre-14 processing utility 302 to translate the analog signal 606 to a band of frequencies centred around the centre frequency and having a width of frequencies based on the filtering 16 parameters. The analog signal 606 is processed by the pre-processing utility 302 using the 17 centre frequency and filtering parameters and then sent to the transmitter 68 for transmission.
18 100601 Turning to FIG. 6, a flow chart of an example process for modulating and 19 combining one or more channels is provided. At block 700, one or more input signals 614 are obtained by the GPU 16. In one embodiment, the input signals 614 can be provided by 21 the FPGA 14 or CPU 18. In another embodiment, an input signal 614 can be provided from 22 the demodulated signal 314 of the example SDR device 10.
23 [0061] At block 702, input signals 614 are modulated to generate a respective modulated 24 signal 620. In the example SDR device 10' of FIG. 5, the modulation modules 318 of the GPU 16 modulate the input signals 614. In one embodiment, a plurality of modulation 26 modules 318 operate in parallel to modulate multiple input signals 614 concurrently.
27 [0062] At block 704, each modulated signal 620 is translated to a band of frequencies to 28 generate a respective channel 320. In the example SDR device 10' of FIG.
5, the channelizer 29 modules 318 translate the modulated signals 620 to a band of frequencies. In an embodiment, each modulated signal 620 is translated to a different band of frequencies. In 22276050.1 1 another embodiment, more than one modulated signal 620 can be translated to the same 2 frequency. A plurality of channelizer modules 316 can operate in parallel.
3 100631 At block 706, each channel 320 is combined to generate a combined signal 622.
4 In the example SDR device 10' of FIG. 5, a multiplexer 630 implemented on the FPGA 14 combines each channel 316 into the combined signal 622.
6 [0064] At block 708, the combined signal 622 is digitally processed.
In one embodiment, 7 the combined signal 622 is prepared for improved analog to digital conversion. In the 8 example SDR device 10' of FIG. 5, the digital processing module 312 of the FPGA 14 9 digitally processes the combined signal 622.
[0065] At block 710, the digital combined signal 622 is converted to an analog signal 11 606. In the example SDR device 10' of FIG. 5, the DAC 604 of the RF
front end 12 12 performs the conversion.
13 [0066] At block 712, the analog signal 606 is translated to the desired band of 14 frequencies. In the example SDR device 10' of FIG. 5, the pre-processing utility 302 of the RF front end 12 performs the translation, using a centre frequency and filtering parameters 16 provided by the tuning module 310 of the FPGA 14.
17 [0067] At block 714, the analog signal 606 is transmitted. In the example SDR device 18 10' of FIG. 5, the transmitter 68 (e.g. an antenna) of the RF front end transmits the analog 19 signal 606.
[0068] An example application of the SDR device 10' of FIG. 5 is to transmit audio data 21 on multiple FM radio channels concurrently. For example, provided a song collection 22 categorized into different genres, audio data of each genre can serve as an input signal 614 to 23 a modulation module 618 for frequency modulating the audio data of each genre on to a 24 different channel. The multiplexer 630 combines each channel into the combined signal 622 which is then be translated to a frequency band within the FM radio frequency band (i.e. 88.0 26 and 108.0 MHz) by the pre-processing utility 302 of the RF front end 12.
The output signal 27 62 transmitted by the SDR device 10' contains audio data of each genre on separate FM radio 28 channels that can be received by other FM radio devices.
29 100691 In another example application, if each input signal 614 corresponds to one frequency component of a signal, the SDR device 11 can combine the frequency components 22276050.1
- 15 -1 into the combined signal 622 to more accurately replicate the original signal because the 2 combined signal 622 contains more frequency components than an individual input signal 3 614.
4 100701 As noted above, in one embodiment, the input signal 614 of the example SDR
device 10' can correspond to the demodulated signal 314 of the example SDR
device 10. It 6 can be appreciated that the SDR devices 10 and 10' can be implemented on a common RF
7 front end 12, FPGA 14, GPU 16 and CPU 18 to create one SDR device capable of 8 performing the functionality of both SDR devices 10 and 10'. It can also be appreciated that 9 modules implemented on a component of SDR devices 10 and 10' may be combined.
[0071] In one embodiment, a SDR device can intercept a radio signal 22 having multiple 11 channels 320 of information and demodulate each channel 320 according to a particular 12 communication and demodulation protocol using the example process of FIG. 5. The same 13 SDR device can then modulate and transmit each demodulated signal 314 according to a 14 different communication and/or modulation protocol that does not correspond to the communication and/or modulation protocol of the channels in the radio signal 22 using the
16 example process of FIG. 7. Example communication and modulation protocols that can be
17 used include AM, SSB, Quadrature Amplitude modulation (QAM), GSM, Code Division
18 Multiple Acces (CDMA), Global Packet Radio Service (GPRS), etc.
19 [0072] In this embodiment, the SDR device can translate information between different frequencies, modulation/demodulation protocols and/or communication protocols to allow 21 communication between devices using different frequencies, modulation/demodulation 22 protocols and/or communication protocols.
23 [0073] For example, the SDR device can receive the radio signal 22 containing 24 information transmitted by a mobile device under a cellular communication protocol such as GSM or CDMA and rebroadcast the information over a different wireless network such as 26 Wifi. In another embodiment, the radio signal can be translated and transmitted through a 27 wired connection to a local area network (LAN).
28 [0074] Turning back to FIGS. 2 and 5, the SDR devices 10 and 10' can also include a 29 CPU 18 configured to provide a user interface 324 for allowing a user to interact with the SDR device 10. The CPU 18 includes a GPU driver 326 and a FPGA driver 328. The 22276050.1 1 drivers 326 and 328 enable the CPU 18 to communicate with the FPGA 14 and GPU 16 (for 2 example, to program the FPGA 14 and GPU 16).
3 100751 Turning to FIG. 7, a block diagram of a example application layer 900 of the SDR
4 device 10 is shown. In this example, the application layer 900 includes a SDR API 902 that provides the rules and specifications to access the components of the device 10, such as GPU
6 16 and FPGA 14. Each component also has its own driver to interface with the SDR API 902 7 (e.g. GPU driver 326, FPGA driver 328). Accordingly, a user can access the device 10 using 8 the user interface 324, which can include a command line interface (CLI) 904, web user 9 interface (Web UI) 906 and/or graphical user interface (GUI) 908, enabling communication with the device resources through the API 902. In the example of FIG. 7, the API 902 can 11 provide access to a local or remote memory 910 (e.g. remote memory can be accessible 12 through a network). The local or remote memory 910 can store GPU
programs and FPGA bit 13 streams 912 used to operate the SDR device 10.
14 100761 The application layer 900 provides a common API to remote users connecting to the SDR device 10. The user can connect to the device for the purpose of receiving data from 16 the SDR device 10, injecting data to be transmitted by SDR device 10, or for configuring the 17 SDR device 10. It can be appreciated that the device 10 may be programmed to allow it to 18 autonomously act to capture, transmit, store, or communicate with other devices. The 19 application layer 900 also provides a means by which processed data may be sent over another, possibly lower bandwidth, connection to remote users. The application layer 900 21 can provide a mechanism by which remote users may access and retrieve stored data, as well 22 as modify and program the behaviour of the device 10.
23 [0077] In one embodiment, the Web UI 906 is operable to allow communication between 24 the SDR device 10 and a remote user over the internet. For example, connections to the SDR
device 10 can be made through an intemet communication protocol such as Transmission 26 Control Protocol / Internet Protocol (TCP/IP). A user can remotely communicate with the 27 SDR device 10 using a third party web browser or SDR specific computer software. In the 28 example of a web browser, GPU programs and FPGA bit streams 912 can be transferred over 29 the network using a networking protocol such as Hypertext Transfer Protocol (HTTP) POST
commands. The Web UI 906 can receive GPU programs and send them to the GPU 16 via the 31 SDR API 902 and GPU driver 326. The Web UI 906 can receive FPGA
bitstreams and send 22276050.1 1 them to the FPGA 14 via the SDR API 902 and the FPGA driver 328. The Web UI 906 can 2 also be operable to allow a user to configure and control the behaviour of the SDR device 10 3 through H1'I'P GET commands, for example. The Web UI 906 can translate the HTTP GET
4 commands to API calls for the SDR API 902.
[0078] It can be appreciated that software running on the SDR device 10 is not 6 constrained to one physical component. It may run on the CPU 18, GPU 16, FPGA 14 and/or 7 RF front end 12. Each physical component can perform a different computational task. For 8 example, CPU 18 or FPGA 14 can provide a user interface, retrieve and store data from 9 memory, and dynamically program and configure GPU 16 and RF front end 12.
The GPU 16 can run computationally intensive tasks such as spectrum analysis and cryptanalysis. The RF
11 front end 12 can provide the analog means necessary for a desired application.
12 100791 It can also be appreciated that the SDR 10 can perform management activities.
13 This can include using the signal or spectral information to manage the connection or 14 communication itself. Management activity can also include monitoring the network or ambient RF environment to modify the communication protocols parameters to optimize 16 transmission, reception and other communication characteristics. The SDR
device 10 may be 17 operable to redefine its transmission parameters independently, based on predefined 18 algorithms or in concert with other devices. These cognitive algorithms may be calculated on 19 the FPGA 14 or parallelized and calculated on the GPU 16.
[0080] Although the modules and components of the example configurations of the SDR
21 device have been described with reference to specific embodiments that include an RF front 22 end 12, FPGA 14, GPU 16, and CPU 18, it will be appreciated that other embodiments are 23 contemplated, including implementations on any suitable circuit comprising one or more 24 circuit components or any suitable processing unit capable of performing the operations described.
26 [0081] Although the invention has been described with reference to certain specific 27 embodiments, various modifications thereof will be apparent to those skilled in the art 28 without departing from the spirit and scope of the invention as outlined in the claims 29 appended hereto. The entire disclosures of all references recited above are incorporated herein by reference.
22276050.1

Claims (20)

1. A method of extracting and demodulating one or more channels in a radio signal, the method comprising:
receiving a first radio signal using a radio frequency front end;
translating a first band of frequencies of the first radio signal to a second band of frequencies to generate a second radio signal;
digitizing the second radio signal to generate a digital signal;
extracting one or more additional band of frequencies of the digital signal, each additional band of frequencies corresponding to a channel; and demodulating one or more channels to generate a respective demodulated signal.
2. The method of claim 1, wherein a plurality of additional band of frequencies of the digital signal are extracted in parallel.
3. The method of claims 1 or 2, wherein a plurality of channels are demodulated in parallel.
4. The method of any one of claims 1 to 3 further comprising time domain averaging one or more demodulated signals.
5. The method of any one of claims 1 to 3 further comprising frequency domain averaging one or more demodulated signals with one or more other demodulated signals.
6. The method of any one of claims 1 to 5 further comprising:
modulating one or more of the demodulated signals to generate a respective modulated signal;
translating a third band of frequencies of one or more modulated signals to a fourth band of frequencies corresponding to an additional channel;
combining one or more additional channels to generate a combined signal;
converting the combined signal to an analog signal;
translating a fifth band of frequencies of the analog signal to a transmitting band of frequencies to generate a third radio signal; and transmitting the third radio signal using the radio frequency front end.
7. The method of claim 6, wherein a plurality of demodulated signals are modulated in parallel.
8. The method of claims 6 or 7, wherein a plurality of third band of frequencies are translated in parallel.
9. The method of any one of claims 6 to 8, wherein one or more demodulated signals are modulated using a modulation technique that does not correspond to the demodulation technique used to demodulate the channel corresponding to the demodulated signal.
10. The method of any one of claims 6 to 9, wherein one or more channels have a different communication protocol than its corresponding additional channel .
11. A method of modulating and combining one or more channels into a radio signal, the method comprising:
receiving one or more digital input signals;
modulating one or more digital input signals to generate a respective modulated signal;
translating a first band of frequencies of one or more modulated signals to a second band of frequencies corresponding to a channel;
combining one or more channels to generate a combined signal;
converting the combined signal to an analog signal;
translating a third band of frequencies of the analog signal to a transmitting band of frequencies to generate a radio signal; and transmitting the radio signal using a radio frequency front end.
12. The method of claim 11, wherein a plurality digital input signals are modulated in parallel.
13. The method of claims 11 or 12, wherein a plurality of first band of frequencies are translated in parallel.
14. An electronic device comprising a radio frequency front end, a processing unit and memory, the memory storing computer executable instructions that when executed by the processing unit, causes the electronic device to perform the method of any one of claims 1 to 13.
15. The electronic device of claim 14, wherein the processing unit comprises a field programmable gate array in communication with the radio frequency front end.
16. The electronic device of claim 15, wherein the processing unit further comprises a graphics processing unit in communication with the field programmable gate array for performing parallel processing.
17. The electronic device of claim 16 wherein at least one of the radio frequency front end, the field programmable gate array and the graphics processing unit is configured to receive data over a communication network.
18. The electronic device of claim 17 wherein the data includes configuration information for at least one of the radio frequency front end, the field programmable gate array and the graphics processing unit.
19. A computer readable storage medium for extracting and demodulating one or more channels in a radio signal, the computer readable storage medium comprising computer executable instructions that when executed by a processing unit, causes the processing unit to perform the method of any one of claims 1 to 10.
20. A computer readable storage medium for modulating and combining one or more channels into a radio signal, the computer readable storage medium comprising computer executable instructions that when executed by a processing unit, causes the processing unit to perform the method of any one of claims 11 to 13.
CA2847969A 2011-09-09 2012-09-04 Systems and methods for performing demodulation and modulation on software defined radios Active CA2847969C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA2847969A CA2847969C (en) 2011-09-09 2012-09-04 Systems and methods for performing demodulation and modulation on software defined radios

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201161532685P 2011-09-09 2011-09-09
US61/532,685 2011-09-09
CAPCT/CA2012/000314 2012-03-26
PCT/CA2012/000314 WO2012151662A1 (en) 2011-05-06 2012-03-26 System and method for decoding a radio signal
CA2847969A CA2847969C (en) 2011-09-09 2012-09-04 Systems and methods for performing demodulation and modulation on software defined radios
PCT/CA2012/050608 WO2013033840A1 (en) 2011-09-09 2012-09-04 Systems and methods for performing demodulation and modulation on software defined radios

Publications (2)

Publication Number Publication Date
CA2847969A1 true CA2847969A1 (en) 2013-03-14
CA2847969C CA2847969C (en) 2020-03-31

Family

ID=50483818

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2847969A Active CA2847969C (en) 2011-09-09 2012-09-04 Systems and methods for performing demodulation and modulation on software defined radios

Country Status (1)

Country Link
CA (1) CA2847969C (en)

Also Published As

Publication number Publication date
CA2847969C (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US9490750B2 (en) Systems and methods for performing demodulation and modulation on software defined radios
US9992722B2 (en) Reconfigurable multi-mode and multi-bands radio architecture and transceiver
EP0766409B1 (en) Multiband downconverter for digital receivers
US8666353B2 (en) Multiple frequency band information signal universal front end with adjustable ADC(s)
US10211855B2 (en) Apparatus for multi carrier aggregation in a software defined radio
CN101116272A (en) Communication apparatus
CN106134087A (en) Spectrum-sensing radio receiver
CN108649967B (en) Broadband multi-service transceiver system based on zero intermediate frequency chip
Meshram et al. The advent software defined radio: FM receiver with RTL SDR and GNU radio
US9344128B2 (en) System and method for decoding a radio signal
US8798560B2 (en) Multiple frequency band information signal universal front end with adjustable analog signal path components
US8379766B2 (en) Multi-channel receiver
Yagoub et al. Low cost sdr receiver implementation using rtl-sdr dongle
WO2016149907A1 (en) Receiver and signal processing method
CA2847969C (en) Systems and methods for performing demodulation and modulation on software defined radios
Somanaidu et al. USRP 2901 based FM transceiver with large file capabilities in virtual and remote laboratory
Dejonghe et al. Versatile spectrum sensing on mobile devices?
CN114846776B (en) Wireless communication device and signal processing method
JP2020513706A (en) Digital data transmission in distributed antenna system
Ugwuanyi et al. Radio frequency and channel investigation using software defined radio in MATLAB And simulink environment
CN110324063B (en) Multi-interference-source wide-frequency-coverage radio frequency self-interference cancellation device and method
US20140286458A1 (en) Receiving apparatus and receiving method
Tripathi et al. SDR solution for enhanced quality wider bandwidth communication
KR101400926B1 (en) Apparatus and method for transmitting/receiving signal
عبدالعاطى عبدالله et al. Implementation of FM Receiver/Transmitter and Smart Keyless Car Using GNU Radio Companion with HackRf One

Legal Events

Date Code Title Description
EEER Examination request

Effective date: 20170816