Pulse Mode Test Benches
Spectrum
The distribution of energy in the UWB spectrum is primarily determined by the spectrum corresponding to the shape of the individual pulses. The Spectrum Test Bench provides simulations of the spectrum of a single UWB pulse; the schematic for this test bench is shown in Spectrum Test Bench (_UWB_Pulse_Spectrum.dsn).

Spectrum Test Bench
( _UWB_Pulse_Spectrum.dsn)
Standard pulse shapes, as well as amplitudes and widths, can be selected; for details, refer to PULSE_SHAPE_GENERATOR.
The transmit filter represents the effects of transmitter front-end and antenna; for details, refer to UWB_TRANSMIT_ANTENNA.
The SpectrumAnalyzer Filter_Output_Spectrum component is configured to have a resolution bandwidth of 1 MHz; Filter_Output_Spectrum_Peak is configured to have a resolution bandwidth of 50 MHz. The 50 MHz resolution bandwidth single pulse spectrum shows whether a UWB transmitter with a pulse rate less than 50 MHz complies with FCC regulations for peak radiated power.
Spectrum Test Bench Design Parameters
| Name | Description |
|---|---|
| TStep | Time step of the simulation. It should be approximately PulseWidth/10 |
| PulseEnergy_joule | Total energy of the single pulse in Joules. For the doublet pulse shape, this is the energy of each individual monopulse making up the doublet. Total doublet energy is twice this value. |
| PulseWidth | Width of output pulse |
| DoubletSeparation | Time between the positive and negative peaks of the waveform when the GAUSSIAN_DOUBLET_UWB_TRANSMITTER subnetwork of PULSE_SHAPE_GENERATOR is active. |
Simulation Results
The Data Display window shows the spectrum before and after a transmit filter is applied; pulse shapes before and after filtering are also shown. The transmit spectrum with 50 MHz resolution bandwidth shows compliance with FCC regulatory limits for peak indoor UWB radiation.

Modulated Transmit Spectrum
The shape of the spectrum is primarily determined by the spectrum corresponding to the shape of the UWB pulses. The distribution of energy into narrow bandwidth spectral lines is determined by the transmitter pulse rate and modulation. The Modulated Transmit Spectrum Test Bench simulates the spectrum of a basic UWB signal with pulse position or bi-phase modulation; the schematic for this test bench is shown in Modulated Transmit Spectrum Test Bench (_UWB_Modulated_Transmit_Spectrum.dsn).

Modulated Transmit Spectrum Test Bench
( _UWB_Modulated_Transmit_Spectrum.dsn )
To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected. For details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
The transmit filter represents the effects of transmitter front-end and antenna; for details, refer to UWB_TRANSMIT_ANTENNA.
A pseudorandom bit sequence is used as the spreading code for UWB modulation. For bi-phase modulation, one bit from the spreading code is consumed per transmitted pulse. The spreading code repeat time is equal to the pulse interval multiplied by the pseudorandom bit sequence length. For pulse position modulation, the value of DitherBits determines the number of spreading code bits consumed for each transmitted pulse. The spreading code repeat time for pulse position modulation is the pulse interval multiplied by the spreading code length divided by the number of value of DitherBits. The spreading code repeat time determines the spacing of spectral lines in the modulated transmit spectrum.
For the SpectrumAnalyzer Filter_Output_Spectrum component, the NPoints parameter is set equal to 1e-6/TStep; this corresponds to a sample time of 1 µ or a resolution bandwidth of 1 MHz. The spectral power density can be compared to the FCC regulations for indoor UWB radiation. For example, for 3.1 to 10.6 GHz the maximum allowed spectral power density is -41.3 dBm/MHz. The simulated average spectral power density in this frequency range must be less than this limit.
Simulation length is determined by the DefaultTimeStop parameter. When this value is larger, the output spectrum will have less deviation because it is averaged over more sample times.
Modulated Transmit Spectrum Test Bench Design Parameters
| Name | Description |
|---|---|
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit |
| DitherBits | Number of bits used to the dither position of a PPM pulse within each pulse interval. 2 DitherBits pulse positions are possible within each PPM pulse interval. |
| TStepsPerPulseWidth | Approximate number of simulation time steps in one pulsewidth interval. |
| TStepsPerDither | Determines the number of simulation time steps between each possible position. |
| DithersPerPPMBitOffset | Number of dither positions offset between a value of 1 and 0 in a PPM modulated code. Length is given in the number of dither intervals in the offset time. This makes the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Number of TStep offset between a value of 1 and a 0 in a PPM modulated code. Length is given in the number of TStep long intervals in the offset time. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.) |
| TStep | Time step of the simulation. It is an integer division of the ChipInterval. It is approximately PulseWidth/10 |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| DoubletSeparation | Time between the positive and negative peaks of the waveform when doublet pulse is used. (Used when doublet waveform is selected.) |
| PulseEnergy_joule | Energy in Joules of a single pulse output from the pulse generator. |
Simulation Results
The Data Display window shows the transmit spectrum before and after a transmit filter is applied. The transmit spectrum is compared to the FCC regulatory limit for indoor UWB radiation. Transmit pulse shapes before and after filtering are also displayed. Calculations of power in dBm/MHz over a user-selectable band are displayed.

Receiver Sensitivity Eb/No
The Bi-Phase and Pulse Position Modulation test benches simulate the bit-error-rate of a basic UWB transmitter and receiver as a function of receiver signal-to-noise ratio. Basic BER vs. signal-to-noise ratio can be investigated using this simulation (antenna and environmental effects are not included).
The time required for a simulation to run is dependent on TStep and the length of time simulated. TStep, determined by the PulseWidth value, is approximately 1/10th PulseWidth. The length of time simulated is the product of the number of bits simulated, the number of chips per bit, and the time interval per chip. Example simulation times using a 1500 MHz Pentium IV processor are:
- For a chip rate of 1 GHz using 5 chips per bit, 10000 bits can be simulated in 200 seconds when PulseWidth is 250 psec and TStep is 27.78 psec. Simulation time is 50 µ, so the simulation rate is 9000 TSteps per second.
- For a chip rate of 10 MHz using 5 chips per bit, 100 bits can be simulated in 285 seconds when PulseWidth is 250 psec and TStep is 20.13 psec. The simulation rate is 8700 TSteps per second.
Filters were not used in these simulations; adding filters with long impulse response times will increase the time for the simulation to complete. As time interval per chip increases, the simulation time for a fixed number of bits increases proportionally.
A time compression technique can be applied in order to maximize the number of bits that can be simulated in a given simulator run time. This is necessary because, to accurately simulate BERs, the simulation must run until approximately 10 times 1/BER bits have been output from the receiver. In addition, the time step size of the simulation is determined by the pulse width. This means that it takes longer to simulate a number of bits when the pulse rate is low; however, at low pulse rates, there is essentially no interaction between pulses. And, because the correlator reference signal is 0 during the time between pulses, the receive signal between pulses can be assumed to have insignificant contribution to the integrator output signal. This means that the chip interval used in simulation can be reduced as much as possible before interaction between pulses becomes a factor. This can significantly reduce the run time of low duty-cycle pulse simulations.
The StopBits variable determines the number of bits to be collected by the DataOutput sink. This controls the length of time required to run the simulation. To speed simulations that sweep the interfering noise power, StopBits can be defined in a VAR equation using the piecewise linear function so the number of bits simulated is 10 times the estimated 1/BER at that noise power. For high noise-power levels, the BER will be higher, and fewer bits are required to accurately determine the BER. At lower noise-power levels, simulation of more bits are required. The user can rely on information from previously completed simulations to configure the piecewise linear function. When the SpectrumAnalyzer and TimedSink components are active during a simulation sweep, the user can also use a piecewise-linear function to optimize the TimeStop variable for the sweep.
Receiver Sensitivity Eb/No Design Parameters
| Name | Description |
|---|---|
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit. |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerDither | This determines the number of simulation time steps between each possible position. |
| DithersPerPPMBitOffset | Length of offset between 1 and 0 in a PPM modulated code. Length is given in the number of dither interval long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Length of offset between 1 and 0 in a PPM modulated code. Length is given in the number of TStep long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.) |
| TStep | Time step of the simulation. It is an integer division of the ChipInterval. It is approximately PulseWidth/10. |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| DoubletSeparation | time between the positive and negative peaks of the waveform when the GAUSSIAN_DOUBLET_UWB_TRANSMITTER subnetwork of PULSE_SHAPE_GENERATOR is active. |
| PulseEnergy_joule | Energy in Joules of a single pulse output from the pulse generator. |
| NoiseBandWidthRatio | Ratio of the simulation bandwidth to the noise bandwidth of the band limited noise source. The bandwidth is of the band limited noise source is 1/(2×NoiseBandWidthRatio×TStep). |
| NoisePower_dBm | Total power of bandwidth limited noise source in dBm. |
| StopBits | Number of bits simulated. |
| TimeStop | Length of time SpectrumAnalyzer components collect data. |
Bi-Phase Modulation
The Bi-Phase Modulation Test Bench is shown in Bi-Phase Modulation Test Bench, Transmitter Section (_UWB_Biphase_Bench.dsn) (transmitter section) and Bi-Phase Modulation Test Bench, Receiver Section (_UWB_Biphase_Bench.dsn) (receiver section).
Representative pulse shapes can be selected. For component details, refer to BIPHASE_TX_PULSE_GENERATOR.
A pseudorandom code is used to spread the transmit data. Band-limited noise is added to the transmit signal before it enters the receiver. For component details, refer to BAND_LIMITED_NOISE_SOURCE_UWB_Channel.
The BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when the data input is all 1s. The waveform output from this test block represents a bi-phase modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to BIPHASE_RX_REFERENCE_PULSER.
Simulations can sweep the noise power level relative to that of the transmit signal. The receiver correlator de-spreads the input UWB signal and the data bit stream is recovered from the correlator output. For component details, refer to UWB_RX_Correlator_UWB_Receiver.
The bit slicer captures the correlator integrator output value immediately before the integrator resets. This value is used to determine whether the output is a 0 or 1 bit. For component details, refer to UWB_BIT_SLICER_UWB_Receiver.

Bi-Phase Modulation Test Bench, Transmitter Section
( _UWB_Biphase_Bench.dsn )

Bi-Phase Modulation Test Bench, Receiver Section
( _UWB_Biphase_Bench.dsn )
Simulation Results
For bi-phase modulation, the Data Display window shows the transmit pulse train over two time scales. The receiver input signal plot shows the transmit signal combined with interfering noise. The spectra of the transmit signal and interfering noise are also shown. Bit errors are determined by comparing the data bits input to the transmitter to those output from the receiver. A BER vs. signal-to-noise ratio plot (labeled Eb/No ) shows how BER is degraded by the interfering noise.


Pulse Position Modulation
The Pulse Position Modulation Test Bench is shown in Pulse Position Modulation Test Bench, Transmitter Section (_UWB_PPM_Bench.dsn) (transmitter section) and Pulse Position Modulation Test Bench, Receiver Section (_UWB_PPM_Bench.dsn) (receiver section).
Representative pulse shapes can be selected. For component details, refer to PPM_TX_Pulse_Generator.
A pseudorandom code is used to spread the transmit data. Band-limited noise is added to the transmit signal before it enters the receiver. For component details, refer to BAND_LIMITED_NOISE_SOURCE_UWB_Channel.
The PPM_RX_Reference_Pulser component outputs a waveform that is the sum of the pulse waveform produced by PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to PPM_RX_Reference_Pulser.
Simulations can sweep the noise power level relative to that of the transmit signal. The receiver correlator de-spreads the input UWB signal and the data bit stream is recovered from the correlator output. For component details, refer to UWB_RX_Correlator_UWB_Receiver.
The bit slicer captures the correlator integrator output value immediately before the integrator resets. This value is used to determine whether the output is a 0 or 1 bit. For component details, refer to UWB_BIT_SLICER_UWB_Receiver.

Pulse Position Modulation Test Bench, Transmitter Section
( _UWB_PPM_Bench.dsn )

Pulse Position Modulation Test Bench, Receiver Section
( _UWB_PPM_Bench.dsn )
Simulation Results
For pulse position modulation, the Data Display window shows the transmit pulse train over two time scales. The receiver input signal plot shows the transmit signal combined with interfering noise. The spectra of the transmit signal and interfering noise are also shown. Bit errors are determined by comparing the data bits input to the transmitter to those output from the receiver. A BER vs. signal-to-noise ratio plot (labeled Eb/No ) shows how BER is degraded by the interfering noise.


Receiver Sensitivity with Interference Sources
Narrow Band Interference
The Narrow Band Interference Test Bench simulates a UWB transmitter and receiver with interference from an 802.11a/g or 802.11b signal source. Simulations can sweep the interference power level relative to that of the transmit signal. A correlator de-spreads and bit slices the received UWB signal. The receiver outputs the demodulated bit stream.
The transmitter section of the test bench is shown in Narrow Band Test Bench, Transmitter Section (_UWB_Narrow_Band_Interference.dsn); the receiver section of the test bench is shown in Narrow Band Test Bench, Receiver Section (_UWB_Narrow_Band_Interference.dsn).

Narrow Band Test Bench, Transmitter Section
( _UWB_Narrow_Band_Interference.dsn )

Narrow Band Test Bench, Receiver Section
( _UWB_Narrow_Band_Interference.dsn )
A pseudorandom code is used to spread the transmit data. Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected. To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. For component details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
To choose the interference source, enable the 802.11B or 802.11a source component; deselect the unused component.
- The waveform for the 802.11a source is read from data set file WLAN_80211a_Order11.ds ; for component details, refer to INTERFERENCE_SOURCE_80211a_UWB_Channel.
- The waveform for the 802.11b source is read from data set file WLAN_80211b_8Xoversample.ds ; for component details, refer to INTERFERENCE_SOURCE_80211B_UWB_Channel.
For bi-phase modulation, the BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when data input is all 1s. The output represents a bi-phase modulated UWB waveform. Input data bits are spread using a spreading code. For component details, refer to BIPHASE_RX_REFERENCE_PULSER.
For pulse position modulation, the PPM_RX_Reference_Pulser component outputs the same waveform as PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to PPM_RX_Reference_Pulser.
UWB_RX_Correlator_UWB_Receiver provides multiple correlators for receiving arrivals of a multipath signal. Each correlator multiplies the receive signal by an appropriately delayed reference signal. The integrator in the correlator integrates the multiplier output signal over the period of ChipInterval×ChipsPerBit. It resets the integrator value to 0 and restarts the integration. The outputs of each correlator are scaled relative to its signal-to-noise ratio, and the outputs of all correlators are summed. For component details, refer to UWB_RX_Correlator_UWB_Receiver.
The bit slicer captures the correlator integrator output value immediately before the integrator resets. This value is used to determine whether the output is a 0 or 1 bit. For component details, refer to UWB_BIT_SLICER_UWB_Receiver.
Narrow Band Interference Test Bench Design Parameters
| Name | Description |
|---|---|
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerDither | Determines the number of simulation time steps between each possible position. |
| DithersPerPPMBitOffset | Length of the offset between 1 and 0 in a PPM modulated code. Length is given in the number of dither interval long intervals in the offset time. This makes the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Length of offset between 1 and 0 in a PPM modulated code. Length is given in the number of TStep long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.). |
| TStep | Time step of the simulation. An integer division of ChipInterval; it is approximately PulseWidth/10 |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| DoubletSeparation | Time between the positive and negative peaks of the waveform when doublet pulse is used. (Used when doublet waveform is selected.) |
| PulseEnergy_joule | Energy in Joules of a single pulse output from the pulse generator |
| NoiseBandWidthRatio | Ratio of simulation bandwidth to noise bandwidth of the band limited noise source. The bandwidth is of the band limited noise source is 1/(2×NoiseBandWidthRatio×TStep). |
| NoisePower_dBm | Total power of bandwidth limited noise source in dBm. |
| wlanPower_dBm | Center power of interfering WLAN source |
| StopBits | Number of bits simulated. |
| TimeStop | Length of time SpectrumAnalyzer components collect data. |
Simulation Results
The Data Display window shows the transmit pulse train over two time scales. The receiver input signal plot shows the transmit signal combined with the narrow band interference. The spectra of the transmit signal and the interfering noise are also shown.

Bit errors are determined by comparing the data bits input to the transmitter to those output from the receiver. An Eb/No plot shows how the bit error rate is degraded by the narrow band interference power.

Wide Band Interference
The Wide Band Interference Test Bench simulates a UWB transmitter and receiver with interference from another UWB transmitter. Simulations can sweep the interference power level relative to that of the transmit signal. A correlator de-spreads and bit slices the received UWB signal. The receiver outputs the demodulated bit stream.
The transmitter section of the test bench is shown in Wide Band Interference Test Bench, Transmitter Section (_UWB_Wide_Band_Interference.dsn); the receiver section of the test bench is shown in Wide Band Interference Test Bench, Receiver Section (_UWB_Wide_Band_Interference.dsn).

Wide Band Interference Test Bench, Transmitter Section
( _UWB_Wide_Band_Interference.dsn )

Wide Band Interference Test Bench, Receiver
( _UWB_Wide_Band_Interference.dsn )
Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected. To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. For component details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
The interference source is a second UWB transmitter. For component details, refer to UWB_Interference_Source.
For bi-phase modulation, the BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when the data input is all 1s. The output represents a bi-phase modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to BIPHASE_RX_REFERENCE_PULSER.
For pulse position modulation, the PPM_RX_Reference_Pulser component outputs the same waveform as PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to PPM_RX_Reference_Pulser.
UWB_RX_Correlator_UWB_Receiver provides multiple correlators for receiving arrivals of a multipath signal. Each correlator multiplies the receive signal by an appropriately delayed reference signal. The integrator in the correlator integrates the multiplier output signal over the period of ChipInterval×ChipsPerBit. It resets the integrator value to 0 and restarts the integration. The outputs of each correlator are scaled relative to its signal-to-noise ratio, and the outputs of all correlators are summed. For component details, refer to UWB_RX_Correlator_UWB_Receiver.
The bit slicer captures the correlator integrator output value immediately before the integrator resets. This value is used to determine whether the output is a 0 or 1 bit. For component details, refer to UWB_BIT_SLICER_UWB_Receiver.
Wide Band Interference Test Bench Design Parameters
| Name | Description |
|---|---|
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit. |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerDither | Determines the number of simulation time steps between each possible position. |
| DithersPerPPMBitOffset | Length of offset between 1 and 0 in a PPM modulated code. The length is given in the number of dither long intervals in the offset time. This makes the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Length of offset between a value of 1 and 0 in a PPM modulated code. The length is given in the number of TStep long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.) |
| TStep | Time step of the simulation. It is an integer division of the ChipInterval. It is approximately PulseWidth/10 |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| PulseEnergy_joule | Energy in Joules of a single pulse output from the pulse generator |
| DoubletSeparation | Time between positive and negative peaks of the waveform when doublet pulse is used. |
| MaxFingerDelay | Maximum delay applied to a correlator finger in the rake receiver. |
| NoiseBandWidthRatio | Ratio of simulation bandwidth to noise bandwidth of band limited noise source. The bandwidth is of the band limited noise source is 1/(2×NoiseBandWidthRatio×TStep). |
| NoisePower_dBm | Total power of bandwidth limited noise source in dBm. |
| Interference_dBm | Power of interfering UWB source in dB relative to desired channel power |
| StopBits | Number of bits simulated. |
| TimeStop | Length of time that SpectrumAnalyzer components collect data. |
Simulation Results
The Data Display window shows the transmit pulse train over two time scales. The receiver input signal plot shows the transmit signal combined with the wide band interference. The spectra of the transmit signal and the interfering noise are also shown.

Bit errors are determined by comparing the data bits input to the transmitter to those output from the receiver. An Eb/No plot shows how the BER is degraded by the wideband interference power.

BER versus Range
The BER versus Range Test Bench simulates a UWB system with environmental factors. The simulation determines BER performance as a function of distance between the transmit and receive antennas.
Antenna, propagation loss, and multipath models are provided. A single receive path correlates a reference waveform with an individual arrival of the multipath signal. The receiver front-end noise figure and bandwidth are selectable.
The transmitter section of the test bench schematic is shown in BER versus Range Test Bench Schematic, Transmitter Section (_UWB_BER_vs_Range.dsn); the receiver section of the test bench schematic is shown in BER versus Range Test Bench Schematic, Receiver Section (_UWB_BER_vs_Range.dsn).

BER versus Range Test Bench Schematic, Transmitter Section
( _UWB_BER_vs_Range.dsn)

BER versus Range Test Bench Schematic, Receiver Section
( _UWB_BER_vs_Range.dsn)
Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected.To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. For details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
A pseudorandom code is used to spread transmit data. The UWB_TRANSMIT_ANTENNA transmit filter represents the effects of transmit chain and antenna. For component details, refer to UWB_TRANSMIT_ANTENNA.
To simulate a UWB system that is compliant with FCC regulations for indoor communications, the transmitter pulse energy can be adjusted to produce a maximum average spectral power density of -41.3 dB/MHz in the 3.1 to 10.6 GHz band (-41.3 dBm/MHz is the total power radiated from an isotropic antenna). The pulse energy required to achieve the appropriate level can be determined using the Modulated Transmit Spectrum.
UWB_ENVIRONMENT contains the propagation loss and multi-path models. For component details, refer to UWB_ENVIRONMENT.
UWB_RECEIVE_ANTENNA consists of an SBlock component that reads a file of S-parameters representing the RF frontend and antenna of the receiver. The receive antenna also contains a loss component to allow scale of the overall loss of the antenna. For component details, refer to UWB_RECEIVE_ANTENNA.
UWB_RX_LNA is used to set the receiver low noise amplifier noise figure and bandwidth to simulate receiver RF frontend performance. For component details, refer to UWB_RX_LNA.
For bi-phase modulation, the BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when data input is all 1s. The output represents a bi-phase modulated UWB waveform. Input data bits are spread using a spreading code. For component details, refer to BIPHASE_RX_REFERENCE_PULSER.
For pulse position modulation, the PPM_RX_Reference_Pulser component outputs the same waveform as PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to PPM_RX_Reference_Pulser.
The reference pulser shaping filters apply the same filtering to the reference pulse as is applied to the transmit signal by the transmitter and receiver. For component details, refer to Ref_Pulser_Shaping_Filters.
The correlator multiplies the receive signal with a reference signal and integrates the results over a period of time. The integrator in the correlator integrates the multiplier output signal over the period of ChipInterval×ChipsPerBit. It resets the integrator value to 0 and restarts the integration. For component details, refer to UWB_RX_SINGLE_FINGER_CORRELATOR.
UWB_RAKE_BIT_SLICER_UWB_Receiver serves as a bit slicer for use with a rake receiver. For component details, refer to UWB_RAKE_BIT_SLICER_UWB_Receiver.
The StopBits variable determines the number of bits to be collected by the DataOutput sink; this controls the run time of the simulation. To speed simulations that sweep the Range (distance from transmitter to receiver parameter), StopBits can be defined in a VAR equation using the piecewise linear function, so the number of bits simulated is 10 times the estimated BER at each Range. For large Range values, the BER will be higher and fewer bits will be required to determine the BER; for short Range values, simulation of more bits will be required. The user can rely on information from previously completed simulations to configure the piecewise linear function. If the SpectrumAnalyzer and TimedSink components are to be active during a simulation sweep, the user can also use a piecewise line function to optimize the TimeStop variable for the sweep. This allows collection of enough data at points of interest without producing excessively large data sets.
BER versus Range Test Bench Design Parameters
| Name | Description |
|---|---|
| UWB Configuration Parameters | |
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerPulseWidth | Approximate number of simulation time steps in one pulsewidth interval. |
| TStepsPerDither | Determines the number of simulation time steps between each possible position. Not used for bi-phase modulation simulations, but calculation is used to determine TStep. |
| DithersPerPPMBitOffset | Number of dither positions offset between a value of 1 and 0 in a PPM modulated code. The length is given in the number of dither intervals in the offset time. This makes the offset between a 0 and 1 an integer number of possible pulse positions. Not used for bi-phase modulation simulations, but calculation is used to determine TStep. |
| TStepsPerPPMBitOffset | Number of TStep offset between a value of 1 and 0 in a PPM modulated code. The length is given in the number of TStep long intervals in the offset time. Not used for bi-phase modulation simulations, but calculation is used to determine TStep. |
| DitherTime | Time between possible dither positions in a PPM pulse interval. Parameters must be selected such that DitherTime is greater than TStep or a divide by zero error will occur. Not used for Biphase modulation simulations, but calculation is used to determine TStep. |
| TStep | Time step of the simulation. It is an integer division of the ChipInterval. It is approximately PulseWidth/TStepsPerPulseWidth |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| PulseEnergy_joule | Energy in Joules of a single pulse output from the pulse generator |
| DoubletSeparation | Time between the positive and negative peaks of the waveform when doublet pulse is used. (Used when doublet waveform is selected.) |
| MaxFingerDelay | Maximum delay applied to a correlator finger in the rake receiver. |
| NoiseFigure_dB | Noise figure of receiver frontend. |
| RXNoiseBandwidth | Noise passband of the receiver frontend. |
| FilterDelay | Delay applied to the integrator reset and bit slicer to allow for signal delay through filters |
| gamma | Power of distance from the source at which signal amplitude decays. For an isotropic antenna in free space, gamma equals 2. |
| Range | Distance from transmitter to receiver. |
| RangePower | A base distance is multiplied by 2 RangePower in simulation sweeps of distance |
| Multi-Path Parameters | |
| DelayTime1, ... , DelayTime6 | Time of arrival of each multipath component relative to the first arrival time. |
| Delay1, ... , Delay6 | Number of TSteps of delay applied to each series delay in the multipath component. This is calculated such that round off errors do not accumulate |
| Mag0, ... , Mag5 | Relative magnitude of each multi-path arrival. |
| SumDelay1, ... , SumDelay6 | Calculates the series delays applied by the multipath component in a way that round-off errors do not accumulate. |
Simulation Results
The Data Display window shows the transmit signal and the receiver signal inputs. Input data bits and the receiver outputs are shown.


The Range plot shows the BER of both receivers as a function of range.

Synchronization
The Synchronization Test Bench simulates a UWB receiver obtaining synchronization with a received signal.

Synchronization Test Bench
( _UWB_Synchronization_Bench.dsn )


Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected.To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. For details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
A pseudorandom code is used to spread the transmit data. Band-limited noise is added to the transmit signal before it enters the receiver (for component details, refer to BAND_LIMITED_NOISE_SOURCE_UWB_Channel).
For bi-phase modulation, the BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when the data input is all 1s. The output represents a bi-phase modulated UWB waveform. The input data bits are spread using a spreading code. (For component details, refer to BIPHASE_RX_REFERENCE_PULSER.)
For pulse position modulation, the PPM_RX_Reference_Pulser component outputs the same waveform as PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. (For component details, refer to PPM_RX_Reference_Pulser.) The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code.
A delay is applied to the received signal to cause the receiver to be out of synchronization with the receiver. When the reference signal to the correlator is not synchronized with the receive signal, distribution of the correlator output will be centered about 0V. When the correlator is synchronized, distribution of the correlator output signals will be centered about a positive offset voltage. The synchronization algorithm applied in this simulation adjusts the correlator timing to maximize the amplitude to the correlator output signal. The correlator output is used as feedback for coarse and fine synchronization algorithms that adjust the delay applied to the de-spreading code; this brings it into alignment with the spreading code of the receive signal. These simulations demonstrate the ability of a correlator to obtain and maintain synchronization under user-defined conditions of signal-to-noise ratio and correlator integration time.
For typical simulation, the delay applied to the received signal will be a few spreading code positions. This delay is determined by the CodeOffset variable; it could be set to a very large value, but DefaultNumericStop must also be set to a large value in order for the correlator to achieve synchronization during simulation (this could require excessive time for the simulation to complete). This simulation is designed to focus on the critical time period when the correlator is a few code positions out of synchronization through the time that synchronization is achieved.
This simulation uses two correlators: the synchronization correlator provides synchronization feedback; the receive correlator is used to decode data after synchronization is achieved. Timing is controlled by a feedback loop around the synchronization correlator. The data transmitted is all 1s. The feedback loop adjusts the timing of the receiver reference pulse train as well as the timing of the correlator integration interval and the bit slicer. For correlator component details, refer to UWB_RX_Correlator_with_Integrator_Reset_UWB_Receiver.
The coarse synchronization block measures the average amplitude of negative polarity outputs from the correlator. If the ratio of current correlator output value to the absolute value of the average negative correlator output value is less than the value of RelSyncAmplitude, the coarse synchronization algorithm increases the delay of the correlator reference signal by the value of CoarseTimeStep. When the ratio is greater than RelSyncAmplitude, no coarse adjustment in synchronizer timing is applied. For component details, refer to Sync_Coarse_UWB_Receiver.
The fine synchronization block measures the average correlator output over a given time interval. After each averaging time interval the fine synchronization algorithm adjusts the correlator delay by plus or minus one TStep (typically, approximately 1/10th a pulse width). If the most recent averaged output value is greater than the previous value, the polarity of the delay adjustment is the same as the previous adjustment. If the most recent value recorded averaged output value is less than the previous value, the polarity of the delay adjustment is the opposite of the previous adjustment. This algorithm will optimally align the correlator reference signal with the receive signal after the coarse synchronization is achieved. For component details, refer to Sync_Fine_Tune_UWB_Receiver.
For this algorithm to achieve optimal synchronization depends on the shape of the pulse waveform. For the Gaussian monopulse waveform, the synchronization algorithm optimally aligns the received and reference waveforms. However, if the pulse shape has several oscillations (such as Gaussian Second Derivative pulse shape), there will be local correlator output maxima at offsets from optimal synchronization. There will be a range of signal-to-noise ratios for which this algorithm may synchronize one of the local maxima rather than on the optimal alignment. Simulations showing synchronization on non-optimal local maxima indicate the need to implement a higher level search algorithm for the optimal synchronization offset within a time window about the synchronization point achieved by the low-level algorithm of this simulation.
Synchronization Test Bench Design Parameters
| Name | Description |
|---|---|
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit. This also determines the number of pulses integrated by the data correlator for each bit. |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerPulseWidth | Approximate number of simulation time steps in one pulsewidth interval. |
| TStepsPerDither | Number of simulation time steps between each possible pulse position with PPM modulation. This value is an integer. |
| DithersPerPPMBitOffset | Length of offset between a value of 1 and 0 in a PPM modulated code. Length is given in the number of dither interval long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Length of offset between a value of 1 and 0 in a PPM modulated code. Length is given in number of TStep long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.) |
| TStep | Time step of the simulation. An integer division of ChipInterval, it is approximately PulseWidth/TStepsPerPulseWidth. |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| DoubletSeparation | Time between positive and negative peaks of the waveform when doublet pulse is used. (Used when doublet waveform is selected.) |
| PulseEnergy_joule | Total energy in Joules of a single pulse output from the PULSE_SHAPE_GENERATOR. For the Gaussian doublet pulse shape it is the energy of each individual polarity pulse in the doublet. |
| NoiseBandWidthRatio | Determines the Bandwidth of the interfering noise source. The bandwidth is equal to 1/(TStep×NoiseBandWidthRatio). |
| NoisePower_dBm | Power of interfering noise source in dBm. |
| SyncIntegTime | Integration time of synchronization correlator. |
| CodeOffset | Delay applied to the transmit signal is give by CodeOffset×ChipsPerBit×ChipInterval. This determines the length of the time offset that must be scanned by the receiver to obtain synchronization. |
| RelSyncAmplitude | If the ratio of current correlator output to the absolute average negative correlator output is less than the RelSyncAmplitude value, the coarse synchronization algorithm increases the delay of the correlator reference signal by the value of CoarseTimeStep. |
| CoarseSyncStep | Size of time adjustment applied to correlator timing when coarse synchronization block determines that correlator is not synchronized. |
| NumFineSyncAvg | Number of samples averaged for each fine sync iteration. |
| StopBits | Number of bits that the DataOutput NumericSink will receive during simulation. This determines the overall length of the simulation. |
Simulation Results
The Data Display window shows the output value of the synchronization correlator as a function of time; when synchronization is obtained, this value will be greater than when the receiver is unsynchronized. The delay value applied to the receive reference signal as a function of time is also shown; when synchronization is achieved changes in this value should be limited to small oscillation due to the fine synchronization loop.


Rake Receiver
The Rake Receiver Test Bench simulates a rake receiver in a multi-path environment.

Rake Receiver Test Bench Schematic, Transmitter Section
( _UWB_Rake_Receiver.dsn )

Rake Receiver Test Bench Schematic, Receiver Section
( _UWB_Rake_Receiver.dsn )
To choose pulse position or bi-phase modulation, enable the PPM or bi-phase pulse generator component; deselect the unused component. Pulse shapes, as well as pulse rates, amplitudes, and widths can be selected. For details, refer to BIPHASE_TX_PULSE_GENERATOR or PPM_TX_Pulse_Generator.
The transmit filter represents the effects of transmitter front-end and antenna; for details, refer to UWB_TRANSMIT_ANTENNA.
A pseudorandom bit sequence is used as the spreading code for UWB modulation. For bi-phase modulation, one bit from the spreading code is consumed per transmitted pulse. The spreading code repeat time is equal to the pulse interval multiplied by the pseudorandom bit sequence length. For pulse position modulation, the value of DitherBits determines the number of spreading code bits consumed for each transmitted pulse. The spreading code repeat time for pulse position modulation is the pulse interval multiplied by the spreading code length divided by the number of value of DitherBits. The spreading code repeat time determines the spacing of spectral lines in the modulated transmit spectrum.
UWB_ENVIRONMENT contains the propagation loss and multi-path models. For component details, refer to UWB_ENVIRONMENT.
UWB_RECEIVE_ANTENNA consists of an SBlock component that reads a file of S-parameters representing the RF frontend and antenna of the receiver. The receive antenna also contains a loss component to allow scale of the overall loss of the antenna. For component details, refer to UWB_RECEIVE_ANTENNA.
UWB_RX_LNA is used to set the receiver low noise amplifier noise figure and bandwidth to simulate receiver RF frontend performance. For component details, refer to UWB_RX_LNA.
For bi-phase modulation, the BIPHASE_RX_REFERENCE_PULSER component outputs the same waveform as BIPHASE_TX_PULSE_GENERATOR when data input is all 1s. The output represents a bi-phase modulated UWB waveform. Input data bits are spread using a spreading code. For component details, refer to BIPHASE_RX_REFERENCE_PULSER.
For pulse position modulation, the PPM_RX_Reference_Pulser component outputs the same waveform as PPM_TX_Pulse_Generator when the data input is 1 with the inverse of the output when the data input is 0. The output represents a pulse position modulated UWB waveform. The input data bits are spread using a spreading code. For component details, refer to PPM_RX_Reference_Pulser.
The reference pulser shaping filters apply the same filtering to the reference pulse as is applied to the transmit signal by the transmitter and receiver. For component details, refer to Ref_Pulser_Shaping_Filters.
An SBlock component represents the response of the transmitter circuitry and antenna. A propagation loss model is applied with variable attenuation rates to allow modeling of different terrains and antenna configurations. Multipath reflected signals are applied, creating multiple arrivals for each pulse at varying amplitudes and delays. The rake receiver uses four fingers by default and can be expanded as necessary. Each finger correlates the receiver reference signal with an individual arrival of the multi-path signal. The correlator outputs of each finger are scaled relative to its signal-to-noise ratio. The scaled outputs of all fingers are summed. A single correlator receiver is also included to allow comparison of a single correlator with the multi-finger receiver performance.
To simulate a UWB system that is compliant with the FCC regulations for indoor communications, the transmitter pulse energy can be adjusted to produce a maximum average spectral power density of -41.3 dB/MHz in the 3.1 GHz to 10.6 GHz band. The pulse energy required achieve the proper level can be determined using the Modulated Transmit Spectrum Test Bench design ( _UWB_Modulated_Transmit_Spectrum.dsn) . -41.3 dBm/MHz is the total power radiated from an isotropic antenna.
The StopBits variable determines the number of bits to be collected by the DataOutput sink. This controls the run time of the simulation. To speed simulations that sweep the interfering noise power, StopBits can be defined in a VAR equation using the piecewise-linear function so the number of bits simulated is 10 times the estimated BER at that noise power. For high noise power levels, the BER will be higher, and fewer bits are required to accurately determine the BER. At lower noise power levels, simulation of more bits will be required. The user can rely on information from previously completed simulations to configure the piecewise-linear function. If the SpectrumAnalyzer and TimedSink components are to be active during a simulation sweep, the user can also use a piecewise-linear function to optimize the TimeStop variable for the sweep. TimeStop determines the amount of data to be collected by these components.
Rake Receiver Test Bench Design Parameters
| Name | Description |
|---|---|
| StopBits | Number of bits simulated. |
| TimeStop | Length of time SpectrumAnalyzer components collect data. |
| ChipInterval | Time between pulses. For PPM this is the nominal time between pulses. |
| ChipsPerBit | Number of pulses transmitted for each bit. |
| DitherBits | Number of bits used to determine the dither position of a PPM pulse within each pulse interval. There are 2 DitherBits possible pulse positions within each PPM pulse interval. (For pulse position modulation.) |
| TStepsPerDither | Determines the number of simulation time steps between each possible position. |
| DithersPerPPMBitOffset | Length of offset between a value of 1 and 0 in a PPM modulated code. Length is given in the number of dither interval long intervals in the offset time. This makes the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| TStepsPerPPMBitOffset | Length of offset between a value of 1 and 0 in a PPM modulated code. The length is given in the number of TStep long intervals in the offset time. This make the offset between 0 and 1 an integer number of possible pulse positions. (For pulse position modulation.) |
| DitherTime | Time between possible dither positions in a PPM pulse interval. (For pulse position modulation.) |
| TStep | Time step of the simulation. It is an integer division of the ChipInterval. It is approximately PulseWidth/TStepsPerPulseWidth |
| PulseWidth | 1/2 amplitude pulsewidth of a Gaussian monopulse output. For the Gaussian derivative pulse shapes, this is the 1/2 amplitude pulsewidth of the Gaussian monopulse from which it is derived. |
| DoubletSeparation | Time between the positive and negative peaks of the waveform when doublet pulse is used. (Used when doublet waveform is selected.) |
| NoiseFigure | Noise figure of the receiver frontend. |
| RXNoiseBandwidth | Noise passband of the receiver frontend. |
| PulseEnergy_joule | Energy in Joules of single pulse output from the pulse generator. |
| MaxFingerDelay | Maximum delay applied to a correlator finger in the rake receiver. |
| FilterDelay | Delay applied to the integrator reset and bit slicer to allow for signal delay through filters |
| gamma | Power of distance from the source at which signal amplitude decays. For an isotropic antenna in free space, gamma equals 2. |
| Range | Distance from the transmitter to the receiver. |
| RangePower | A base distance is multiplied by 2 RangePower in simulation sweeps of distance. |
| DelayTime1, ... , DelayTime6 | Time of arrival of each multipath component relative to the first arrival time. |
| Delay1, ... , Delay6 | Number of TSteps of delay applied to each series delay in the multipath component. This is calculated such that round off errors do not accumulate. |
| Mag0, ... , Mag5 | Relative magnitude of each multi-path arrival. |
Simulation Results
The Data Display window shows the transmit signal and the receiver input signal. Input data bits and the rake and single correlator receiver outputs are shown.

The Eb/No plot shows the bit error rate of both receivers.

Pulse Mode Test Bench Component Details
Components designed specifically for pulse mode test benches are described in this section.
Privacy
Statement
|
Terms of Use
|
Legal |
Contact Us
|
© Agilent 2000-2008 ![]()