[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] How to change PSK roll-off during runtime (or an
From: |
Martin Braun |
Subject: |
Re: [Discuss-gnuradio] How to change PSK roll-off during runtime (or an arbitrary parameter) |
Date: |
Mon, 17 Aug 2015 11:05:52 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0 |
Matthias,
I can see how this would be a pretty cool demo. Off the top off my head,
some thoughts:
- The RRC is implemented as a FIR in C++ (a pfb_arb_resampler_ccf, to be
precise). But this doesn't have a method to update the taps :/
- An update-able filter would be interesting, though. If you want to
take a crack at it, people here would surely be interested.
- You'd need to consider how to handle history (what happens when you
change the number of filter taps?). Not sure what the best way is here.
M
On 17.08.2015 07:38, Matthias Weber wrote:
> Hi all!
>
> Thank you for contributing to gnuradio and providing new users like
> me with help.
>
> I have read and worked through some of the guided tutorials. However
> I come to a point now where it seems that own Python code has to be
> written. Unfortunately I am more like a C++ guy and would appreciate
> it if someone could give me some advice.
>
> Let us please take a look at the QPSK transmitter example of tutorial
> 6 [1]. It gives a nice example and you can play around with the
> parameters of the PSK Mod block in gnuradio-companion. What we would
> like to do is to change the roll-off factor during runtime using a Qt
> GUI Range element (i.e. a slider control) to demonstrate its effect.
> As the associated parameter is not underlined in the properties
> dialogue I wonder how this can be done during runtime.
>
> When looking at the generated sourcecode it can be seen that an
> instance of `digital.psk.psk_mod` is created in `__init__` method and
> stored in element `self.digital_psk_mod_0`. I tried to add code in
> the slider's callback function `def set_excess_bw_slider(self,
> excess_bw_slider)`. But it does not show changes in constellation and
> spectrum plot though printing debug messages like `RRC roll-off
> factor: 0.15` on the command line.
>
> I tried: - to access the excess_bw property of the
> digital.psk.psk_mod directly to be modified - to create a new
> instance of digital.psk.psk_mod in the callback function and
> overwriting the original one (in C++ this would be bad practice
> probably leading to memory leaks and might be the same for Python)
>
> I did not really find the documentation of the digital.psk.psk_mod
> class, except at [2]. And in the sources themselves [3].
>
> A short hint where to take a closer look would be great!
>
> Thank you in advance Matthias
>
>
> [1]
> https://raw.githubusercontent.com/gnuradio/gr-tutorial/master/examples/tutorial6/gr-tutorial-qpsk-tx.grc
>
>
[2] http://www.reynwar.net/gnuradio/sphinx/digital/blocks.html
> [3]
> http://gnuradio.org/redmine/projects/gnuradio/repository/revisions/master/entry/gr-digital/python/digital/psk.py
>
>
>
> _______________________________________________ Discuss-gnuradio
> mailing list address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>