To whom it may concern: A few points to add:
-12-bit ADCs do not necessarily mean that you will get 12-bit resolutions from your received data. Resamplers may increase the effective bit depth. Say you have the smallest step of 1 and have [1 2] as samples; You downsample that to [1.5] and now the smallest step is 0.5. I don't know how B200 works, but it is a common practice to oversample and then resample in a DSP or a FPGA to get higher bit resolutions. -I think AD9361 (used in B200) has a hardware AGC (not turned on by default). However, as Marcus mentioned, it is best left to the application. Without knowing the signals and the channel conditions, AGC designers must make many assumptions which may be incorrect or make the performance suboptimal. You can give it a shot, but the best way is to roll your own AGC (you can change the gain level of your USRP on the fly). -As Marcus mentioned, in many cases, it does _not_ make sense to increase the gain level until every ADC bit is utilized. That does _not_ necessarily increase the SNR of the received signal, as LNAs may get overloaded and show nonlinear behaviors. In fact, the SNR may degrade as you increase the gain level. Regards, Kyeong Su Shin ________________________________ 보낸 사람: Marcus D. Leech via USRP-users <[email protected]> 대신 USRP-users <[email protected]> 보낸 날짜: 2020년 2월 21일 금요일 오전 4:07 받는 사람: Alvaro Pendas <[email protected]> 참조: [email protected] <[email protected]> 제목: Re: [USRP-users] GNU Radio UHD Blocks Resolution On 02/20/2020 01:54 PM, Alvaro Pendas wrote: 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. You're talking about AGC -- no, it does not do AGC by default. AGC strategies are generally best left to the downstream application. 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. Something to be aware of is that increasing gain beyond the level where SNR no longer improves, just gives you a louder (signal+noise), but does nothing to improve SNR. Keep in mind that on the B2xx, the maximum gain setting in RX is about 72dB, so if you're using a setting of 30dB (you mentioned that setting before), then you still have 40dB of head-room in the RX gain setting... Thank you for your patient. El jue., 20 feb. 2020 a las 19:28, Marcus D. Leech (<[email protected]<mailto:[email protected]>>) 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 (<[email protected]<mailto:[email protected]>>) 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 <[email protected]<mailto:[email protected]>> 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 (<[email protected]<mailto:[email protected]>>) 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.amazon 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 [email protected]<mailto:[email protected]> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
_______________________________________________ USRP-users mailing list [email protected] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
