Wiki » History » Version 25
Version 24 (JANVIER, Thibault, 12/14/2015 10:22 PM) → Version 25/43 (JANVIER, Thibault, 12/14/2015 10:23 PM)
h1. Quantitative Analysis of RF Signals: Implementation of a Software-Defined Radio signal analyser
h2. Introduction
Nowadays, communications satellites are widely used to exchange data, broadcast TV and radio, provide internet access or even for military applications. They allow covering a widespread area without having to deploy a series of ground equipment to convey a piece of information over countries or continents. Consequently, placing a satellite into orbit as a “space repeater” is much more profitable than building a worldwide ground network to interconnect each part of the world. Nevertheless, because of the atmosphere and the distance separating satellites and ground stations, signals are strongly attenuated and distorted when they reach the final receiver. The noise that has been added to the signal during its propagation and its reception strongly affects the performance of the link. In order to satisfy customers and ensure quality of service, it is of prime concern to assess the quality of the received signals. Indeed, by carrying out measurements on the received signals, it is possible to retrieve in real time some characteristics about the physical layer of the communication channel – may it be specific properties about the atmosphere, robustness of the type of modulation against the current noise, or power issues due to an amplifier dysfunction on the satellite – and take some measures to cope with any issues that might occur.
Signal analysers are measurement platforms to retrieve some information about the quality of a received signal. It displays some figures of merit of the signal to assess it in a quantitative way. The aim of this project is to create a signal analyser using an existing hardware of the USRP family of products as an RF front end and Labview to compute the measurements. A USRP product can be used as a receiver to demodulate, decode and do some digital processing on the carried information. Thus, the signal analyser to be implemented would be “embedded” on the receiver, hence the added-value of this project.
This report will first address the scope and objectives of the project, then the implementation of the signal analyser using Labview will be issued. Finally, tests and results on the analysis of real signals from satellites will be assessed to define further potential improvements if any.
h2. [[I - Scope and objectives of the project]]
h3. 1. Proceedings of the project
h3. 2. State of the art on signal analysis
h3. 3. Lab Setup
h3. 4. Signals to be measured
h2. [[II - Implementation]]
h3. 1) Definition of inputs and ways to compute the outputs
h3. 2) Simulation
h3. 3) Moving from simulation to acquisition of real signals
h2. [[III - Tests and validation]]
h3. 1. Finding a signal to be analysed
h3. 2. SDR Signal Analyser – Analog Measurements
2.1. Estimation of the power of the noise
2.2. Measurements regarding the useful signal and approximation of the signal-to-noise ratio
h3. 3. SDR Signal Analyser – Digital Measurements
h2. [[Improvements]]
h2. Implementation
h3. Definition of inputs and ways to compute the outputs
To be able to use the USRP, we first need to set it in LabView. We have to configure the device name (RIO0 with the PCI express card), the IQ sampling rate (twice the symbol rate), the carrier frequency and the antenna to use on the USRP. These parameters are really importants because if we put for example a wrong sampling rate, we will not be able to observe a good constellation.
Once we have our signal coming from the USRP, we have to compute the expected results. To observe the spectrum of the signal we just need to put the power spectrum block of LabView with the good parameters. This allows us to compute the power of the signal and the power of the noise. Indeed if we set the carrier frequency of the USRP centered on our signal, we just have to do a peak detection to measure the power of the signal plus the noise. Then we have the power of the noise in taking a carrier frequency completely out the bandwidth of the satellite. Now we have the power of the noise and the power of the signal so we can easily compute the signal to noise ratio (SNR).
Now, let's have a look to digital results. We want to observe the constellation of the signal and some results like mean error vector magnitude or mean phase error. Our signal analyser does not determine automatically what is the constellation used to transmit the signal, we have to know it before and to enter it in the program as a parameter. Then we can observe the received constellation, the mean error vector magnitude, the mean phase error, and the mean magnitude error. <warning>mettre schéma du calcul</warning>
h3. Simulation
First we decided to design our signal analyser and to test it with simulated signals generated automatically such as sine wave.
To do this we first created a VI able to generate a noisy signal. This signal correspond to the addition of three basic signals and a white Gaussian noise. For each basic signal we can set the signal type, the frequency, the amplitude and the offset. For the noise, we can set the noise standard deviation.
Consequently we can insert the noisy signal into our signal analyser to test it.
For example if we set 3 sine waves with different frequencies and amplitudes we observe this spectrum <warning>mettre photo</warning>
We can also observe the spectrum of a noisy sine wave <warning>mettre photo</warning>
In the two cases, the spectrum match with the expected values (frequencies and amplitudes)
h3. Moving from simulation to acquisition of real signals
To replace the generated signal by a real signal received by an antenna, we added the USRP. We first had a lot of problems to know how to set it well so we were not able to observe a good constellation.
In fact, when we receive signals with the USRP they are first down-converted to baseband, then filtered by a low-pass filter of 20 MHz-bandwidth and finally sampled.
The block we are using to compute the power spectrum calculates it between 0 and Fs/2. But because of the filtering, it is useless to compute the power spectrum over a range higher than 20
MHz. Thus, the maximum sampling rate will be set to 40 MHz. In order to display the power spectrum of the signal at the input of the USRP, a frequency shift is added to the power spectrum just computed to compensate the down-conversion. The most complicated is to find a signal with a low symbol rate because of this maximum sampling rate.
For the analog part, we need to measure the power of the signal and the power of the noise with two different carrier frequencies of the USRP. The problem is that we can't do these two computations at the same time. So we first need to launch the program with a carrier frequency corresponding to the noise (being in the tab "Power Spectrum Noise") and after we launch it again with the carrier frequency of the signal (being in the tab "Power Spectrum Signal").
h2. Tests and results
Explanation of the commands and operations to reach the presented results + comparison between what is display by the signal analyser and by Labview + explanations
h2. Introduction
Nowadays, communications satellites are widely used to exchange data, broadcast TV and radio, provide internet access or even for military applications. They allow covering a widespread area without having to deploy a series of ground equipment to convey a piece of information over countries or continents. Consequently, placing a satellite into orbit as a “space repeater” is much more profitable than building a worldwide ground network to interconnect each part of the world. Nevertheless, because of the atmosphere and the distance separating satellites and ground stations, signals are strongly attenuated and distorted when they reach the final receiver. The noise that has been added to the signal during its propagation and its reception strongly affects the performance of the link. In order to satisfy customers and ensure quality of service, it is of prime concern to assess the quality of the received signals. Indeed, by carrying out measurements on the received signals, it is possible to retrieve in real time some characteristics about the physical layer of the communication channel – may it be specific properties about the atmosphere, robustness of the type of modulation against the current noise, or power issues due to an amplifier dysfunction on the satellite – and take some measures to cope with any issues that might occur.
Signal analysers are measurement platforms to retrieve some information about the quality of a received signal. It displays some figures of merit of the signal to assess it in a quantitative way. The aim of this project is to create a signal analyser using an existing hardware of the USRP family of products as an RF front end and Labview to compute the measurements. A USRP product can be used as a receiver to demodulate, decode and do some digital processing on the carried information. Thus, the signal analyser to be implemented would be “embedded” on the receiver, hence the added-value of this project.
This report will first address the scope and objectives of the project, then the implementation of the signal analyser using Labview will be issued. Finally, tests and results on the analysis of real signals from satellites will be assessed to define further potential improvements if any.
h2. [[I - Scope and objectives of the project]]
h3. 1. Proceedings of the project
h3. 2. State of the art on signal analysis
h3. 3. Lab Setup
h3. 4. Signals to be measured
h2. [[II - Implementation]]
h3. 1) Definition of inputs and ways to compute the outputs
h3. 2) Simulation
h3. 3) Moving from simulation to acquisition of real signals
h2. [[III - Tests and validation]]
h3. 1. Finding a signal to be analysed
h3. 2. SDR Signal Analyser – Analog Measurements
2.1. Estimation of the power of the noise
2.2. Measurements regarding the useful signal and approximation of the signal-to-noise ratio
h3. 3. SDR Signal Analyser – Digital Measurements
h2. [[Improvements]]
h2. Implementation
h3. Definition of inputs and ways to compute the outputs
To be able to use the USRP, we first need to set it in LabView. We have to configure the device name (RIO0 with the PCI express card), the IQ sampling rate (twice the symbol rate), the carrier frequency and the antenna to use on the USRP. These parameters are really importants because if we put for example a wrong sampling rate, we will not be able to observe a good constellation.
Once we have our signal coming from the USRP, we have to compute the expected results. To observe the spectrum of the signal we just need to put the power spectrum block of LabView with the good parameters. This allows us to compute the power of the signal and the power of the noise. Indeed if we set the carrier frequency of the USRP centered on our signal, we just have to do a peak detection to measure the power of the signal plus the noise. Then we have the power of the noise in taking a carrier frequency completely out the bandwidth of the satellite. Now we have the power of the noise and the power of the signal so we can easily compute the signal to noise ratio (SNR).
Now, let's have a look to digital results. We want to observe the constellation of the signal and some results like mean error vector magnitude or mean phase error. Our signal analyser does not determine automatically what is the constellation used to transmit the signal, we have to know it before and to enter it in the program as a parameter. Then we can observe the received constellation, the mean error vector magnitude, the mean phase error, and the mean magnitude error. <warning>mettre schéma du calcul</warning>
h3. Simulation
First we decided to design our signal analyser and to test it with simulated signals generated automatically such as sine wave.
To do this we first created a VI able to generate a noisy signal. This signal correspond to the addition of three basic signals and a white Gaussian noise. For each basic signal we can set the signal type, the frequency, the amplitude and the offset. For the noise, we can set the noise standard deviation.
Consequently we can insert the noisy signal into our signal analyser to test it.
For example if we set 3 sine waves with different frequencies and amplitudes we observe this spectrum <warning>mettre photo</warning>
We can also observe the spectrum of a noisy sine wave <warning>mettre photo</warning>
In the two cases, the spectrum match with the expected values (frequencies and amplitudes)
h3. Moving from simulation to acquisition of real signals
To replace the generated signal by a real signal received by an antenna, we added the USRP. We first had a lot of problems to know how to set it well so we were not able to observe a good constellation.
In fact, when we receive signals with the USRP they are first down-converted to baseband, then filtered by a low-pass filter of 20 MHz-bandwidth and finally sampled.
The block we are using to compute the power spectrum calculates it between 0 and Fs/2. But because of the filtering, it is useless to compute the power spectrum over a range higher than 20
MHz. Thus, the maximum sampling rate will be set to 40 MHz. In order to display the power spectrum of the signal at the input of the USRP, a frequency shift is added to the power spectrum just computed to compensate the down-conversion. The most complicated is to find a signal with a low symbol rate because of this maximum sampling rate.
For the analog part, we need to measure the power of the signal and the power of the noise with two different carrier frequencies of the USRP. The problem is that we can't do these two computations at the same time. So we first need to launch the program with a carrier frequency corresponding to the noise (being in the tab "Power Spectrum Noise") and after we launch it again with the carrier frequency of the signal (being in the tab "Power Spectrum Signal").
h2. Tests and results
Explanation of the commands and operations to reach the presented results + comparison between what is display by the signal analyser and by Labview + explanations