Giter Club home page Giter Club logo

Comments (6)

guruofquality avatar guruofquality commented on August 18, 2024

So I think SetFrequencySX() or GetFrequencySX_MHz() didn't handle 7MHz correctly.

Correct, these functions configure only Rx/Tx PLL frequencies, and they
can't be configured that low. To achieve 7 MHz frequency additional chip
configuring is required. Perhaps a higher level function should be created
to handle all that.

So I think the call to set the RF frequency needs to clip the requested frequency to the closest possible frequency. When that happens, the default tuning algorithm in SoapySDR will automatically compensate for the error using the CORDIC.

If for some reason we don't like that automatic behaviour with the clipping and cordic correction outside of the driver, then SoapySDR::setFrequency(dir, chan, freq){} can be overloaded to implement something smart as well.

Is that basically the right idea here? And what is the actual/achievable lower bound that the LO can tune?

from limesuite.

9600 avatar 9600 commented on August 18, 2024

@guruofquality are you suggesting that applications would have to do something different with this particular hardware at lower frequencies? That doesn't sound right.

@rjonaitis could you comment on LO bounds.

from limesuite.

guruofquality avatar guruofquality commented on August 18, 2024

@guruofquality are you suggesting that applications would have to do something different with this particular hardware at lower frequencies? That doesn't sound right.

Nope, just driver related work in lms7suite. The SoapyLime::setFrequency() call will just need to clip the target frequency to a possible frequency.

It probably gets a bit hairy to tune near the lower VCO band edge, so we might need a slightly conservative lower bound, and I think it might be a function of the clock rate.

from limesuite.

guruofquality avatar guruofquality commented on August 18, 2024

FWIW, I have been using fixed (100e3, 3.8e9) as the tunable LO range in the LMS7002M. I may have pulled that from the data sheet rather than testing edge cases. I also added this as an API call to add to the LMS700M class, so if its configurable, that can be added like getSXXRange(): #15

from limesuite.

rjonaitis avatar rjonaitis commented on August 18, 2024

could you comment on LO bounds.

PLLs can be tuned from around 30 MHz to 3.8 GHz

from limesuite.

guruofquality avatar guruofquality commented on August 18, 2024

This should do the trick: 27b488b

from limesuite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.