Post Go back to editing

Switch flexibly the bandwidth in 9002

Hi,

I am using transceiver Adrv9002, which is support for both narrowband and wideband. How to switch flexibly the bandwidth? How to the profile switching mode enables the support of waveforms that vary modulation schemes and bandwidths dynamically?

Thanks!

Parents
  • Hello TrucTran,

    I'm not entirely sure I understand your question, are you asking how to switch dynamically between supporting narrowband and supporting wideband? Do you mean dynamically changing your supported BW without needing to reinitialize, or is reinitializing and recalibrating allowed in your application?

    As of TES v0.17 we do support Dynamic Profile Switching for LTE profiles. There are some limitations on our Dynamic Profile Switching (eg: every profile must have a BW that is an even multiple of the lowest BW profile), however the finished functionality will provide a lot of flexibility. Right now we are on TES v0.18.1, Dynamic Profile Switching is still in development, only part of the functionality has been implemented in TES. As of now you can only use LTE setups as defined by our own SW, however this will grow and expand as we continue to update TES.

    Varying modulation schemes can be done a few ways, even if the ADRV9002 or the TES struggle with varying modulation schemes it's always possible to apply modulation to the Tx data being provided to the SSI ports. 

    Ultimately I am struggling to fully answer your question. The more details you can provide on your application, the better I can inform you. In short, the answer is "Most Likely Yes", but if you can provide more data I can provide more a definitive response.

    Best Regards,
    Oisín.

  • Hello OWatkins,

    Exactly, I mean dynamically changing my supported BW without needing to reinitialize, or is reinitializing and recalibrating allowed in your application. I can use TES v0.17 to generate profile, but then how to I use that pofile in my application, What function do I need to call in my program? I saw in API of no OS drivers,  I only need to call 2 functions, adi_adrv9001_arm_NextDynamicProfile_Set() and adi_adrv9001_arm_Profile_Switch(), for dynamic profile or I need to call more other function?

    Looking forward to support.

    Best Regards,

    Truc.

Reply
  • Hello OWatkins,

    Exactly, I mean dynamically changing my supported BW without needing to reinitialize, or is reinitializing and recalibrating allowed in your application. I can use TES v0.17 to generate profile, but then how to I use that pofile in my application, What function do I need to call in my program? I saw in API of no OS drivers,  I only need to call 2 functions, adi_adrv9001_arm_NextDynamicProfile_Set() and adi_adrv9001_arm_Profile_Switch(), for dynamic profile or I need to call more other function?

    Looking forward to support.

    Best Regards,

    Truc.

Children
  • Hello again Truc,

    I would recommend migrating to TES v0.18.1, Dynamic profile switching has seen some minor improvements since v0.17 and it'd be no harm to have them.

    Just taking a look at the Doxygen file we provide in the SDK, we can see that these two APIs do appear to handle everything you're looking for, bearing in mind that adi_adrv9001_arm_Profile_Switch() only operates on the PFIR coefficients. adi_adrv9001_arm_NextDynamicProfile_Set() would handle everything from decimation settings to gain setting throughout your signal chain. It may even configure your PFIR, I'm afraid I'm not certain on that one. Experiment with it to determine that for sure.

    If ever you're in doubt about an API call, you can always use TES to see what APIs we use and how we use them. Simply open the Driver Debugger window under the View menu, and watch our APIs be called in real time. You could use TES to manually switch to a new profile and see what APIs get called in the Driver Debugger.

    We also have a section dedicated to the Dynamic Profile Switching functionality in the upcoming User Guide Release. I will return here and announce when this latest revision of User Guide is available to the public!

    Let me know how well this information helps you!

    Best Regards,
    Oisín.

  • Many thanks for your reply!

    Now, I I'm using a lower version API (version 39.0.7), so it looks different from yours. The 2nd parameter of adi_adrv9001_arm_NextDynamicProfile_Set()  is indexDynamicProfile, and 3rd parameter is dynamicProfile. That's why I asked you.

    I'm looking forward to the upcoming User Guide Release.

    Best Regards,

    Truc.

  • Hello Truc,

    Ah! That makes sense, thanks for clarifying!

    The User Guide has been released overnight, it is now available on analog.com!

    Best Regards,
    Oisín.

  • Hi OWatkins,

    I migrated to TES v0.18.1, but I have below error:

    Log "[Check1]ADRV9002 Rev 12.0, Firmware 0.18.1.4 API version: 48.34.4 successfully initialized" is added to check after Digital Initialization.

    Looking forward to support.

    Best Regards,

    TrucTran.

  • Hello again OWatkins ,

    I saw Dynamic Profile session in new User Guide.  I found it only support switch wideband profiles, "all profiles must be wideband profiles with a signal bandwidth no less than 1MHz". But, I want switch between narrowband with wideband., what should I do?

    Best Regards,

    Truc.

  • Hello Truc,

    As I mentioned, Dynamic Profile Switching is still in its early days of development. More features will be added as we go through SW releases (the next one is due within the next 2 months). I will ask on your behalf if the ability to go between Narrowband and Wideband is in the pipeline.

    Best Regards,
    Oisín.

  • Hello again TrucTran,

    Just replying to confirm that switching between NB and WB modes of operation is not in our pipeline, we will not be supporting this. Doing so would require a switch between operating in ZIF Mode and Low IF Mode dynamically, which is a lot more than just a profile change.

    Best Regards,
    Oisín.