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.

  • 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.

Reply
  • 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.

Children