Post Go back to editing

Bandwidth problem - A9361/AD9364


I  use AD9361 & AD9634, only for transmission.

With both components I encountered the following problem:

Determining tx bandwidth using the appropriate function - does not work.

I work at a transmission baud rate of 2MS, and I want to set bandwidth to 20M,

but I get a bandwidth of 2M.

with AD9634, I  solve it by disabling the filters (Register 2) but this is of course not the desired solution.

with AD9631 its not work.

I would be happy to help.


Attached picture - AD9631 -
AD9634 - after disable digital filters
  • Hi  ,

    I assume you use no-OS, is this true ? Which release ? Latest master ?

    Also can you share the whole procedure where you set the bandwidth ? 

  • Hi buha

    The truth is I use with an operating system...
    Only after I posted the question did I see that I was wrong in the location but I could not remove the post.



    AD9634: part of AD9634-Z7020

    I use iio lib, configure: (I copy only relevant parts)

    txcfg.bw_hz = MHZ(20);

    pluto_set_filter(); use LTE20_MHz_ftr from examplesץ

    then set directly via SPI interface Register 0x002 value- 0x40 (bypass all digital filters).

    The weird thing is that I have to configure the digital filters even though I later cancel them, if I cancell this step the AD9364 does not transmit at all.

    AD9631: part of USRP

    use uhd lib.

    as I mention although i set bw to 20 Mhz the actual bw is determined as the sample rate. (in my case 2Mhz).

    I deep inside code, and the impl of the bw filters seems to bee as UM.

    thank you


  • Do not arbitrarily disable filters as it will break the clocking of the signal path. The transceiver is not meant to be used this way.

    We also do not support using AD9361 directly with SPI. Only the IIO API is supported as using registers directly leads to undefined behavior.

    If you want to change the bandwidth or sample rates, use the driver attributes or load specific filters designed for those rates.