I get what you mean, but maybe I did not explain myself correctly. Let's forget about GNU Radio and focus on the ADC. The ADC resolution is 12 bits, so it has 4096 digital levels. The question here is, does the usrp adapts those levels to the signal it is receiving at each moment? If that adaptation does not exist, the ACD is going to use all the 4096 only when the analog input signal is close to the input max of the ADC. Otherwise, only some of those levels are used. For example, half of them (2048) if the level of the ACD input is half the max.
Also, mind that, in the receiving part, I think that what you explained is not completely right. I am working with a QPSK receiver and I demodulate the symbols correctly (with a lot of noise), but the output of the UHD:USRP Source are actually about 0.0003. That's why I'm afraid of the problem I've mentioned above. Thank you for your patient. El jue., 20 feb. 2020 a las 19:28, Marcus D. Leech (<patchvonbr...@gmail.com>) escribió: > On 02/20/2020 11:38 AM, Alvaro Pendas wrote: > > However, the way I see it, this represents a problem in the receiving > part. Let me put it this way: the max output of the ADC is 1, and that > corresponds with the max input. That max input would represent the case > when you receive a high power signal and you set your drive amplifier next > to its max. > So, If you are receiving a low power QPSK signal, with your gain set to 30 > dB, the output of your ADC would use a really small part of the range > (let's say from -0.05 to 0.05). However, if your digital levels go from -1 > to 1 and are represented with 12 bits, using such a small part of the range > would make the quantization error a problem. > > Gnu Radio uses a floating-point {-1.0, 1.0} representation, which UHD > *scales* into a range that is appropriate for whatever hardware > you're using. > > So, your 0.05 is scaled to about 102 by UHD prior to presentation to the > DAC, and conversely in the receive direction. > > > > > El mié., 19 feb. 2020 a las 20:04, Marcus D Leech (< > patchvonbr...@gmail.com>) escribió: > >> Indeed. You’d have to use an external calibration source at several >> places over your parameter space (frequency gain sample rate) >> >> Sent from my iPhone >> >> On Feb 19, 2020, at 1:54 PM, Alvaro Pendas <alvarop...@gmail.com> wrote: >> >> >> Marcus thank your for your answer, >> >> First of all, you are right, the range is -1 to 1 (instead of 0 to 1 as I >> said before). So, for example, in the receiving part, the values you get >> out of the UHD Source have a linear relationship with the voltage of the >> analog signal, but I understand there is no easy way to calculate that >> level with the only information of the GNU Radio samples. Is that correct? >> >> El mié., 19 feb. 2020 a las 19:22, Marcus D. Leech via USRP-users (< >> usrp-users@lists.ettus.com>) escribió: >> >>> On 02/19/2020 12:01 PM, Alvaro Pendas via USRP-users wrote: >>> > Hello, >>> > I am using GNU Radio and the USRP B200. I have noticed that for the >>> > GNU block UHD: USRP Sink, the values you pass to the block must be in >>> > the range 0 to 1. I guess that means if you do not want to lose >>> > resolution you must ensure that you use the full range, that is to >>> > say, your minimum is 0 or close to 0, and your max is 1 or close to 1. >>> > Am I correct? >>> > >>> > On the other hand, what are the meaning of the values produce by the >>> > block UHD: USRP Source? They must be related to the signal power, but >>> > I am not sure about their range. Is the minimum value that block can >>> > produce the min of the ADC output, and the max, the max of the ADC >>> > output? With the USRP B200 the ADC resolution is 12 bits, are the min >>> > and the max always set with the same value, or does it depend on the >>> > USRP configuration? >>> > >>> > I am using GNU Radio right now, but probably, just knowing how this >>> > works with UHD would be enough to understand the rest. >>> > >>> > Thank you for your time, >>> > >>> > Alvaro >>> > >>> Gnu radio generally likes to have baesband data streams scaled into >>> {-1.0,+1.0} which are linearly related to instantaneous voltages at >>> the antenna of the hardware. >>> >>> To a first approximation, a value near +1.0 or -1.0 will drive the ADC >>> to its maximum +/- value. But that's only an approximation, since the >>> signal is processed a fair amount (linearly) prior to reaching the >>> ADC/DAC, and with analog hardware there's no way of ensuring that >>> a max value wont' over-drive the analog hardware. >>> >>> Power of a sinusoidal signal is proportional to the I*I + Q*Q -- >>> remember we're dealing with *voltages* here, so ohms law applies... >>> >>> >>> >>> >>> _______________________________________________ >>> USRP-users mailing list >>> USRP-users@lists.ettus.com >>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com >>> >> >
_______________________________________________ USRP-users mailing list USRP-users@lists.ettus.com http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com