Attached is the first few samples that show the clipping effect. I found
that Wire Format is set to 'automatic.'

Thanks.

On Wed, Mar 28, 2018 at 7:25 PM, Ahmed Hamza <ahamza1...@gmail.com> wrote:

> Hi Marcus,
>
> Thanks for your reply.
> I am sure that I am using the correct format and that the maximum is +/-
> 2048 because I am able to decode the signal. Also, the capture plot I have
> given before was after 20 seconds of  receiver operation but if I do not
> wait and capture from the first sample, I see the first part of the signal
> is clipped when values exceeds +/- 2048.
>
> Best Regards,
> Ahmed
>
> On Wed, Mar 28, 2018 at 6:47 PM, Marcus D. Leech <mle...@ripnet.com>
> wrote:
>
>> On 03/28/2018 05:59 PM, Ahmed Hamza wrote:
>>
>> Thanks Marcus and Julian for your responses.
>> The signal is not narrowband. It is 6 MHz bandwidth, please see the
>> attached snapshot from the GNU radio spectrum analyzer.
>> Also, the signal is continuous without gaps. The unique thing about the
>> signal is that it include contents on and surrounding the DC subcarrier.
>> This is why I disabled the BB DC offset tracking. Is there any relation
>> between DC offset tracking and AGC?
>> Another note, is that when AGC is disabled, although the transmitted
>> signal has almost constant amplitude, the received signal amplitude changes
>> in a consistent pattern as shown in the attached images.
>>
>> I would like to use HW AGC because I think to track channel variations
>> (due to Doppler and other factors), I need fast AGC, and I think the one on
>> the Ad9364 is suitable for this task, please correct me if I am wrong.
>>
>> Thanks again,
>>
>> Best Regards,
>> Ahmed
>>
>> So, looking at your plots, I realize that, unless you're using SC12 wire
>> format, you're several bits below ADC saturation, since the DSP framework
>> scales
>>   the ADC results into the SC16 default wire format.
>>
>>
>>
>>
>> On Wed, Mar 28, 2018 at 4:33 PM, Julian Arnold <jul...@elitecoding.org>
>> wrote:
>>
>>> Hey,
>>>
>>> > Is your signal very narrowband?
>>>
>>> Also, keep in mind, that the AGC defaults to the 'slow' mode when
>>> enabled.
>>> This mode is intended for signals like FM broadcast. So if your signal
>>> is coming in bursts, the AGC won't be able to handle it properly.
>>>
>>> Cheers,
>>> Julian
>>>
>>> Marcus D. Leech via USRP-users schrieb am 28.03.2018 22:16:
>>>
>>> > On 03/28/2018 01:50 PM, Ahmed Hamza wrote:
>>> >
>>> >>
>>> >> Hi Marcus,
>>> >>
>>> >>
>>> >> Thank you for your prompt response.
>>> >>
>>> >>
>>> >> I can change the TX power, kindly find attached the received  "I"
>>> channel in case of TX power -25 dbm and -45 dbm. Also, there is about 10 dB
>>> attenuation before the Ettus RX. As you can see, there are many samples
>>> that goes to +/- 2048 and I believe that means ADC is overloaded. It is
>>> mentioned in the reference manual of Ad9364:
>>> >>
>>> >> "When the ADC is overloaded, the error between its samples and the
>>> input signal will cause the ADC to output more samples with values of +4 or
>>> −4 as it struggles to track the input signal.", is there anything else I
>>> can try? Note: Disabling AGC and changing gains gives reasonable outputs
>>> (i.e., amplitude of samples change with changing the applied gain without
>>> samples going to +/- 2048). But I need to use AGC because I want to have
>>> "over the air" testing instead of cable testing.
>>> >>
>>> >>
>>> >> Also, I tried to use --args type=b200 but it did not help. Is it
>>> possible after loading and executing the script top_block_py (i.e., while
>>> USB port is used to stream I/Q) to send commands for the board to get
>>> sample rate, carrier freq., gains,....?
>>> >>
>>> >>
>>> >> Thanks again,
>>> >>
>>> >>
>>> >> Best Regards,
>>> >>
>>> >> Ahmed
>>> >>
>>> > You can insert calls to API elements like get_rx_gain, from with a
>>> flow-graph.  However, for flow-graphs generated by GRC, it's a bit
>>> tricky--you'll have to
>>> >   add code after GRC has generated its output.
>>> >
>>> > See the section of the Gnu Radio manual here:
>>> >
>>> > https://gnuradio.org/doc/doxygen/group__uhd__blk.html <
>>> https://gnuradio.org/doc/doxygen/group__uhd__blk.html>
>>> >
>>> > Is your signal very narrowband?  The hardware AGC will be looking at
>>> the entire input bandwidth to the ADC, which is large.  Which means that a
>>> narrowband
>>> >   signal doesn't really "drive" the AGC very hard, so it gets "pinned"
>>> at max gain.  This is why hardware AGC is generally not super-useful.
>>> >
>>> > There's nothing inherently incompatible between manual, fixed, gain,
>>> and doing over-the-air tests.  It is typically the case in the DSP world
>>> that the
>>> >   DSP flow handles AGC-like functions, because the DSP flow has a MUCH
>>> better "view" of the intended signal bandwidth than the front-end of
>>> >   the hardware.
>>> >
>>> >
>>> >> On Wed, Mar 28, 2018 at 12:29 PM, Marcus D. Leech via USRP-users <
>>> usrp-users@lists.ettus.com <mailto:usrp-users@lists.ettus.com> > wrote:
>>> >>>
>>> >>>
>>> >>> On 03/28/2018 11:32 AM, Ahmed Hamza via USRP-users wrote:
>>> >>>
>>> >>>>
>>> >>>> Hi,
>>> >>>>
>>> >>>>
>>> >>>> I am using Ettus B200 mini, to receive signal at carrier frequency
>>> 725 MHz and the bandwidth is 6 MHz. The sampling rate is set to 13.28 MHz.
>>> >>>>
>>> >>>>
>>> >>>> I enabled AGC by calling set_rx_agc() from set_gain inside
>>> /usrp_source_impl.cc.
>>> >>>>
>>> >>>> The thing is that I am receiving a signal with a maximum that reach
>>> +/- 2048 frequently so I believe that the ADC is overloaded. The test is
>>> using cable so it is supposed that there is no out of band interference.
>>> >>>>
>>> >>>>
>>> >>>> My questions are:
>>> >>>>
>>> >>>> 1) Do you know what may be causing this behavior and what should I
>>> try?
>>> >>>>
>>> >>>> 2) Where can I find the default values that Ettus B200 mini used
>>> for Ad9364 registers?
>>> >>>>
>>> >>>> 3) Is there a way to read and/or write values of Ad9364 registers?
>>> >>>>
>>> >>>> 4) There are some get functions provided by Ettus, could this get
>>> functions used in run time (I mean after loading the script)? For example,
>>> if I do, uhd_usrp_probe --string 
>>> /mboards/0/dboards/A/rx_frontends/A/gain/agc/mode/value
>>> after loading the script
>>> >>>>
>>> >>>> I get: linux; GNU C++ version 5.3.1 20151219; Boost_105800;
>>> UHD_003.009.002-0-unknown
>>> >>>>
>>> >>>> Error: LookupError: KeyError: No devices found for ----->
>>> >>>>
>>> >>>> Empty Device Address
>>> >>>>
>>> >>>>
>>> >>>> Thanks,
>>> >>>>
>>> >>>>
>>> >>>> Best Regards,
>>> >>>>
>>> >>>> Ahmed
>>> >>>>
>>> >>>>
>>> >>> Reduce the power of the device that is sending the signal--use
>>> attenuators if you have to.
>>> >>>
>>> >>> uhd_usrp_probe needs a device address:     use --args type=b200
>>> >>>
>>> >>>
>>> >>> _______________________________________________
>>> >>> USRP-users mailing list
>>> >>> USRP-users@lists.ettus.com <mailto:USRP-users@lists.ettus.com>
>>> >>> http://lists.ettus.com/ <http://lists.ettus.com/mailma
>>> n/listinfo/usrp-users_lists.ettus.com> mailman/listinfo/usrp-users_li
>>> sts.ettus.com
>>> >>>
>>> >>
>>>
>>
>>
>>
>
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to