II - Implementation » History » Version 1

Version 1/8 - Next » - Current version
JANVIER, Thibault, 12/14/2015 10:25 PM


II - Implementation

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>

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)

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").