This paper describes the development of a fast adaptable FPGA-based wideband channel sounder with signal bandwidths of up to 200 MHz and channel sampling rates up to 5.4 kHz. The application of FPGA allows the user to vary the number of real-time channel response averages, channel sampling interval, and duration of measurement. The waveform, bandwidth, and frequency resolution of the sounder can be adapted for any channel under investigation. The design approach and technology used has led to a reduction in size and weight by more than 60%. This makes the sounder ideal for mobile time-variant wireless communication channels studies. Averaging allows processing gains of up to 30 dB to be achieved for measurement in weak signal conditions. The technique applied also improves reliability, reduces power consumption, and has shifted sounder design complexity from hardware to software. Test results show that the sounder can detect very small-scale variations in channels.
Channel sounders are used to study wideband signal transmission channels [
Compared to narrow band systems, channel sounders have to measure all frequencies within the bandwidth in a very short time during which the channel is assumed to be stationary [
To facilitate further studies into the causes and impact of high-speed channel variations on wireless communication, an adaptive and fast channel sampling sounder was required. The objective was “
This paper is organised as follows: Section
A channel sounder is made up of the transmitter and the receiver as shown in Figure
Simplified block diagram of the wideband channel sounder.
200 MHz PRGN signal: (a) time domain signal and (b) magnitude spectrum.
The main requirement of the transmitter was to be reconfigurable to transmit signals with different bandwidths and spectral resolution (number of spectral lines within the bandwidth). To achieve this, a programmable Arbitrary Waveform Synthesizer (AWS) was required. Because of the noise-like characteristics of the PRGN waveform, a high resolution Digital-to-Analog Converter (DAC) was needed to maintain the accuracy of the signal. All frequencies used within the transmitter must be phase-locked to an external reference (10 MHz) to eliminate transmitter to receiver range restriction. The generated waveform was to be up-converted to a carrier frequency of 2 GHz for transmission or as an Intermediary Frequency (IF) for further up-conversion.
The design aims of the receiver are encompassed in the objectives of the system which require the receiver to be
The receiver must also be configurable to implement real-time averaging to improve the signal-to-noise ratio (SNR) in weak signal conditions. Other requirements include providing the ability for the user to adapt the receiver for different measurements by changing: the number of real-time averages to be carried out, time gap between successive channel measurements, time gap between a continual block of successive channel response measurements, the duration of the measurement or the number of data files to capture, when configured in conjunction with the transmitter, the bandwidth and sequence length of the waveform.
FPGA has been extensively used in the sounder to provide the flexibility required, minimize size, and improve reliability. Most importantly the developed architecture must be able to take advantage of current and future high-speed devices to increase the bandwidth, provide additional flexibility, and extend real-time processing capability of the system.
The main component in the transmitter is the arbitrary waveform generator. Although the RF unit is critical to the operation of the sounder, the main configuration that would be required is to change the carrier frequency. Therefore, more efforts were put into the design and construction of the AWS.
The AWS was designed to be programmed through a Joint Test Action Group (JTAG) cable interface. A PROM is used to store the code that runs on the FPGA and the waveforms that are generated by the card. To ensure that the transmitter and receiver can be locked to one common frequency phase reference, a connection was provided for a 10 MHz input clock. The simplified block diagram of the implemented AWS card is shown in Figure
Simplified block diagram of the Arbitrary Waveform Synthesizers.
A Xilinx Virtex II FPGA device was selected and used for its simplicity and low cost. Two 14-bit resolutions DACs with speeds of 400 MS/s and 300 MS/s were selected to provide flexibility and also allow robust testing to be carried out during development. The developed dual channel AWS can be used to generate two independent waveforms with bandwidths of up to 150 MHz and 200 MHz.
The operations of the AWS card and the functions of the VHDL software can be summarized as follows: at power up load the programme code and digital waveforms from the PROM into the FPGA; check the status of the input 10 MHz clock; if clock is available, generate the loaded waveform.
To generate the 150 MHz and 200 MHz bandwidth signals, 300 MHz and 400 MHz clocks are required. VHDL code was written to multiple the 10 MHz input reference to generate these high frequency clocks using the Digital Clock Management (DCM) modules. The FPGA device that has been used has 2 clock multiplier modules: low frequency module with output clock frequencies from 24 MHz to 240 MHz, high frequency module with output clock frequencies from 24 MHz to 420 MHz.
The 300 and 400 MHz clocks could be generated using one low- and one high-frequency multiplier clock modules. However, for low-frequency module outputs of 130 MHz and above, the clock jitter is very high, more than 10% of the clock period. This is outside the jitter tolerance of the high-frequency module. Thus stable 75 MHz and 100 MHz clocks were first generated and two high frequency modules were then used to provide the final times 4 multiplication factor. Tests showed that changing the voltage reference of the FPGA device from 1.5 V to 1.65 V improved the stability of the generated clocks.
The width of the data bus of the DACs is 14 bits wide. Tests showed that clocking the data from a single register onto the data bus at 300 MHz and 400 MHz introduced high skew. This was overcome by using Double Data Registers (DDR). This enabled the clock frequency to be halved with data clocked from one register on the rising edge of the clock and from the second register on the falling edge, thus reducing jitter and data skew. The VHDL logic for the 200 MHz bandwidth signal generation is illustrated in Figure
Block diagram of the 200 MHz bandwidth AWS VHDL design.
In the frequency domain, the PRGN waveform from the AWS has a “flat” amplitude spectrum. When clocked at 400 MHz, the waveform has a bandwidth of 200 MHz and has been designed to have 1024 discrete spectral lines in the range ±100 MHz, spaced by 195.313 kHz. Figure
Photograph of the dual channel arbitrary waveform synthesizers.
The main goal of the receiver design was to develop a highly flexible data acquisition system that would enable the channel sounder to be adaptable for measurements in a wide range of scenarios. This required hardware that could be readily reconfigured. The receiver can be divided into; the RF unit, frequency reference unit, ADC, FPGA-based Peripheral Component interconnect Mezzanine Card (PMC) for real-time data processing, and a Linux workstation as shown in Figure
Simplified block diagram of the receiver system.
The design philosophy of the receiver RF system was to optimise the sensitivity and adaptability of the receiver. Thus, a programmable digital attenuator was incorporated into the design for automatic gain control to maintain the signal within the linear range of the RF components and to protect the ADC from high input signals.
For a 200 MHz bandwidth signal transmission, the received signal is down converted to an IF of 100 MHz using a phase-locked oscillator. Frequency stability and phase synchronisation are achieved by using a stable 10 MHz reference phase-locked to the same source as the transmitter.
A 12-bit ADC with sampling speeds of up to 400 MS/s was selected to minimise quantization errors [
The carrier card was also designed to route control signals and data between the ADC and the PMC cards. In addition, the carrier card acts as an automatic gain controller. Figure
Simplified block diagram of the ADC carrier card.
To minimise cost, it was important to use standard computer components. To provide flexibility and ensure data integrity, an interface card was selected to be used between the ADC and the computer to process and buffer the captured data. To provide the data acquisition flexibility required, the interface card also had to have a data processing engine (DSP and/or FPGA), have an external clock input to synchronise internal data processing and transfers with the rest of the system, be programmable such that the data sequence, number of averages, and data transfer rates could be changed when required, have a large memory to store a significant amount of data to provide fast channel sampling capability, support the computer data bus protocol.
After evaluating a number of programmable cards available on the market, the Alpha Data Ltd PMC-XRC card with an onboard FPGA device and memory banks was selected [
One of the main design objectives was for the channel sounder to be effective in low SNR conditions. This could be achieved by performing periodic averaging of the received signal. Although averaging could be done offline, there was a need to reduce the quantity of data that has to be transferred and stored. With this in mind, processing of the data is done on the PMC card and has been implemented entirely in VHDL.
The ADC output has two channels which halve the speed of data output compared to the sampling rate. Therefore, the data averaging logic in the FPGA was doubled to process each channel as shown in Figure
Block diagram of the averaging process.
Table
Averaging counter value for possible number of averages, durations, and expected improvement in SNR.
Counter value (Hex) | Theoretical | ||
---|---|---|---|
0 | FFF | 0.01024 | 0 |
2 | 1FFF | 0.02048 | 3 |
4 | 2FFF | 0.04096 | 6 |
8 | 4FFF | 0.08192 | 9 |
16 | 8FFF | 0.16384 | 12 |
32 | 10FFF | 0.32768 | 15 |
64 | 20FFF | 0.65536 | 18 |
128 | 40FFF | 1.31072 | 21 |
256 | 80FFF | 2.62144 | 24 |
512 | 100FFF | 5.24288 | 27 |
1024 | 200FFF | 10.48576 | 30 |
The rate at which captured data can be transferred from the PMC to the host computer and written to the hard disk is key to the data acquisition strategy and, in particular, the channel sampling rate. If data is not read from the PMC card memory before the next set is captured, it will be overwritten. To prevent lost or corruption of data, two issues had to be resolved: the data transfer clock frequencies and the timing of when data should be transferred to the host computer.
The clock frequency options that are available when using a 32-bit PCI bus are 33.3 MHz and 66.6 MHz. The clocks used in the averaging process have a maximum frequency of 200 MHz. This means that, at least, three snapshots can be captured in the same time that one is transferred across the PCI bus. Furthermore, the two clock domains are separate and are not phase-locked. To overcome this asynchronous problem, First-In-First-Out (FIFO) buffers were used. The write clocks into the FIFOs are the DRA and DRB, and the read clock is the PCI bus clock. A block diagram of the data transfer logic is shown in Figure
Block diagram of the Output buffer VHDL.
The read enable of the FIFOs is controlled by the value of the averaging counter such that on the last average, the data is transfered to the asynchronous FIFO. If the computer is the bus master, and the PMC card is the slave, the data contained in the asynchronous FIFOs will not be necessarily completely read before new data is available to be written to the FIFOs. This is because the computer uses a polled interrupt routine to service the PCI bus. Since it is critical that no sample is overwritten, the PMC card must be the PCI bus master. This was achieved by using Demand-mode Direct Memory Access (DDMA), where the PMC initializes a read transaction when one complete data sequence has been written to the asynchronous FIFOs. The computer then writes the data to disk and no samples are lost.
The data output of the ADC is 12-bit signed binary. To perform 1024 averages, a 22-bit adder is required. To complete the averaging process, the summed result must be divided by the number of averages. However, if this is performed in the FPGA, the averaged result will be truncated to a whole number. This is undesirable in low SNR conditions where an actual representation of the signal in comparison to the noise level is required [
Since the ADC generates two samples per clock, the channel sampling rate would need to be halved for number of averages greater than 16. This was undesirable and hence the width of each sample was limited to 16 bits. For a number of averages greater than 16, only the most significant 16 bits are transferred. Discarding some of the bits in this manner corresponds to predivision by a factor of
Figure
Block diagram of the PMC VHDL design.
During measurements, a user must be able to implement a data acquisition strategy that is suitable for the channel under investigation. A combination of C and VHDL was used to implement the software. To achieve the design goals of the receiver as outline in Section
The PCI data bus rate and the hard drive read/write speed are the two most critical factors in the receiver. Tests were carried out to determine the sustainable data rate from the ADC to the hard drive. This was achieved by using a VHDL design that transfers data using DDMA from memory across the host machine’s PCI bus. In addition, an operating system tool (hdparm) was used to test the read/write speed from/to the computer hard drive. The tests revealed that the average PCI bus data rate was 55.7 MB/s and that an average of 40 MB could be written to the hard disk per second. The data acquisition strategy was then designed around these results.
When sampling at 400 MS/s, the 12-bit ADC can generate over 600 MB of data per second. Since the hard disk writing speed is only 40 MB/s, a 15-time reduction in data rate was required. Due to the dual channel nature of the ADC, the first reduction in the data rate is achieved within the ADC from the interleaving configuration [
Time to capture one channel response, number of averages, and the volume of data generated per second.
No. of snapshot per second | Data generated per second (MB) | ||
---|---|---|---|
0 | 0.03072 | 97656 | 266.666 |
2 | 0.04096 | 48828 | 200.000 |
4 | 0.06144 | 24414 | 133.333 |
8 | 0.10240 | 12207 | 80.0000 |
16 | 0.18432 | 6103 | 44.4444 |
32 | 0.34816 | 3051 | 23.5294 |
64 | 0.67584 | 1525 | 12.1212 |
128 | 1.33120 | 762 | 6.15385 |
256 | 2.64192 | 381 | 3.10076 |
512 | 5.26336 | 190 | 1.55642 |
1024 | 10.5062 | 95 | 0.77972 |
Figure snapshot: a complete sequence (4096 samples long) of the PRGN waveform, averaged snapshot: a complete sequence (4096 samples long), produced by the averaging process, data block: 240 snapshots, data file: 4 data block.
Data acquisition strategy for
The user can change the number of averages (
Channel sampling rates for different number of averages for 180 MHz bandwidth configuration.
Theoretical | Channel sampling rate (Hz) | ||
---|---|---|---|
0 | 0 | 0.12288 | 8138 |
2 | 3 | 0.12288 | 8138 |
4 | 6 | 0.12288 | 8138 |
8 | 9 | 0.20480 | 4882 |
16 | 12 | 0.36864 | 2712 |
32 | 15 | 0.69632 | 1436 |
64 | 18 | 1.35168 | 739 |
128 | 21 | 2.66240 | 375 |
256 | 24 | 5.38384 | 189 |
512 | 27 | 10.5267 | 94 |
1024 | 30 | 21.0125 | 47 |
Tests on the sounder highlighted a number of short comings in the software and hardware. The four areas of concern were the frequency stability of the sampling clock generated by the FPGA device on the ADC carrier card, the timing constraints of the software running on the PMC card, the data rate of the PCI bus, and the rate at which data is written to disk.
Frequency stability and the rate of data transfer to the storage device are critical to the implementation of a suitable data acquisition strategy, thus any associated problems had to be overcome. These included the addition of a new input clock for the ADC and revision of the VHDL design for the FPGA on the PMC card to improve the channel sampling rate. The following sections describe tests that were conducted, some of the issues that were identified, solutions implemented, and the performance of the whole system.
High stability of all the frequency sources is critical to the real-time averaging of PRGN signals [
Measured transfer functions (a) without and (b) with the transmitter and receiver phase-locked to a common reference.
Using a frequency counter, all the FPGA derived clocks on the AWS and the ADC carrier card were measured and found to be locked to the frequency reference. However, the data sampled by the ADC was found to contain errors. These errors are not observed when the sampling clock is obtained from a dedicated source for example, signal generator. Tests revealed that the clock jitter was higher than the maximum recommended tolerance for the ADC input [
Data captured with no signal input using clocks from: (a) the FPGA and (b) the signal generator.
PRGN time domain signal captured with signal applied to ADC input with clocks from: (a) the FPGA and (b) signal generator.
Averaging logic output (a) one sequence and (b) output showing transition between two sequences.
In order to perform real-time averaging, consecutively captured snapshots must be added together and the result is divided by the number of snapshots. Since the PRGN waveform has noise-like characteristics, the tests carried out on the averaging logic were conducted using known test signals (counter). Included in the VHDL design and substituted for the ADC input to the adders, the Most Significant Bit (MSB) of the counter value was considered as the sign bit of the data. The expected saw-tooth signal values lay between −1024 and +1023. Since the data is split into two channels, and the length of each sequence is 2048 samples long, each counter turns over twice to produce 4096 samples. This is equivalent, in length, to the PRGN sequence. Since the two channels use different clocks, they were tested separately. Figure
In view of the fact that the division of the added snapshots is preformed after the set number of averages, the expected measured values that are written to file when the counters are used as the input to the adders (emulating the averaging process) are the original counter values multiplied by the number of averages. The expected output for 1024 averages is from −1048576 to +1048575. Note that all the sample bits were transferred to the computer for this test. The output from channel A after 1024 averages is shown in Figure
Averaging logic output for: (a) 1024 averages and (b) one sequnce from combined channels A and B.
The transmitter and receiver RF units were designed to optimise the sensitivity of the receiver and minimise intermodulation products. In order to achieve this, measurement of input and output power and signal to intermodulation product ratios were evaluated at every stage in the RF chain.
All the components in a system have a noise figure and therefore generate noise that may not be band limited. The total noise power can be calculated by the integration of the continuous spectrum over a given bandwidth,
IF: (a) spectrum of PRGN signal with a 200 MHz bandwidth and (b) spectrum at the edge of the band.
Back-to-back tests were conducted to assess the performance of the data acquisition hardware and software under simulated fading conditions. Indoor channel measurements were also conducted to evaluate the sounder. Comparisons were made between the measured improved SNR and the theoretical value.
To test the performance of the system under flat fading channel conditions, 180 MHz and 200 MHz bandwidth PRGN waveforms were used. Tests were carried out with different numbers of averages,
Block diagram of hardware for flat fading simulation.
Figure
180 MHz bandwidth PRGN spectrum with no averaging (
The results of measurements with 2 and 8 averages are shown in Figure
180 MHz bandwidth spectrum with number of averages of (a) 2 and (b) 8 showing a 8.8 dB SNR improvement compared to 0 averages.
To test the ability of the sounder to detect small changes in the channel, measurements were taken in indoor environment at an antenna separation of 5 m at 3 cm intervals over a distance of 27 cm at 2 GHz. The transfer functions and the corresponding channel impulse responses are given in Figure
Small-scale variation measurement in an indoor channel; (a) channel transfer function and (b) impulse response.
The development of a compact, adaptable and low cost channel sounder with transmission bandwidths of up to 200 MHz has been presented. The sounder has been developed using FPGA technology which allows future upgrades to be achieved simply by replacing the FPGA devices with newer and faster devices. The extensive use of FPGA at both the transmitter and receiver marked a shift in sounder development from hardware specification to software. Because of the high cost of channel sounders, efforts were put into reducing the complexity of the system from hardware to software. In addition, to meet the low-cost design objective of the system and maintain low hardware complexity, simpler FPGA devices were used.
The transmitter unit is built around a dual channel arbitrary waveform synthesizer card that can generate two independent waveforms with bandwidths up to 150 MHz and 200 MHz simultaneously. This would facilitate colocation of more than one transmitter. The main challenges faced in the development of the arbitrary waveform synthesizer included difficulties with generating stable high frequency clocks to drive the digital-to-analog converters. In the receiver, the signal is sampled at an intermediary frequency for example, 100 MHz for a 200 MHz bandwidth signal. The signal is digitised using a 12-bit analog-to-digital converter with sampling speeds up to 400 MS/s. The data is transferred to an FPGA-based data processing card for real-time averaging. It is buffered before it is transferred across the PCI bus for storage on the computer hard disk. All the control signals on the sampling cards were derived from a 10 MHz input frequency reference. A robust data acquisition system has been developed to ensure data integrity. Test results show that the real-time averaging process improves the signal-to-noise ratio inline with expected value defined by
This sounder will be invaluable in the study of wideband channels that support current and future broadband wireless systems. The design approach has resulted in more than 60% reduction in the weight of the sounder compared to similar systems used elsewhere [