GithubHelp home page GithubHelp logo

RRC frequency_response missing about komm HOT 7 CLOSED

mbe9a avatar mbe9a commented on June 14, 2024
RRC frequency_response missing

from komm.

Comments (7)

mbe9a avatar mbe9a commented on June 14, 2024

Also if I wanted to incorporate oversampling into the filter design, how would I do that?

from komm.

rwnobrega avatar rwnobrega commented on June 14, 2024

Thanks for the feedback! This is indeed a bug. I'm working on it.

from komm.

rwnobrega avatar rwnobrega commented on June 14, 2024

I just saw you fixed this on 188b094. So I merged into master. Thank you!

from komm.

mbe9a avatar mbe9a commented on June 14, 2024

No problem my man!

I think I figured out what you are doing to design the pulses too. I like it!

The 't' array you provide the pulse function defines everything -- the spacing between time points does actually. The way I incorporated 4X oversampling was making the spacing between points in 't' 0.25. Essentially making 4 points for every '1' unit of time/samples. This is how you intended it yes? It took me a while to figure that out because I've only ever used matlab filter design before.

from komm.

rwnobrega avatar rwnobrega commented on June 14, 2024

Also if I wanted to incorporate oversampling into the filter design, how would I do that?

Oversampling can be accomplished with komm.TransmitFilter. For example:

In [1]: import komm                                                                                                                                                                           

In [2]: pulse = komm.RectangularPulse()                                                                                                                                                       

In [3]: tx_filter = komm.TransmitFilter(pulse=pulse, samples_per_symbol=4)                                                                                                                    

In [4]: tx_filter([1, -1, 0.5])                                                                                                                                                               
Out[4]: array([ 1. ,  1. ,  1. ,  1. , -1. , -1. , -1. , -1. ,  0.5,  0.5,  0.5,  0.5])

In [5]: tx_filter([1])                                                                                                                                                                      
Out[5]: array([1., 1., 1., 1.])

The example above uses komm.RectangularPulse, but should work with other pulses.

The 't' array you provide the pulse function defines everything -- the spacing between time points does actually. The way I incorporated 4X oversampling was making the spacing between points in 't' 0.25. Essentially making 4 points for every '1' unit of time/samples. This is how you intended it yes? It took me a while to figure that out because I've only every used matlab filter design before.

Yes, you are right, you could also do that. Perhaps the docs should be improved (e.g., pointing to komm.TransmitFilter).

from komm.

mbe9a avatar mbe9a commented on June 14, 2024

Oh very cool. I will use that from now on.

from komm.

rwnobrega avatar rwnobrega commented on June 14, 2024

By the way, maybe length_in_symbols should be a property of TransmitFilter instead of SincPulse, RaisedCosinePulse, RootRaisedCosinePulse, and GaussianPulse. Opinions are welcome.

from komm.

Related Issues (6)

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.