gnuradio / gnuradio

GNU Radio – the Free and Open Software Radio Ecosystem
https://gnuradio.org
GNU General Public License v3.0
5.15k stars 1.92k forks source link

Dynamic Channel model block issue #7401

Open MaxCrt opened 5 months ago

MaxCrt commented 5 months ago

What happened?

After using GNUradio 3.7 and 3.8, I installed the latest Gnuradio version 3.10.10.0

I tried several times to utilize the Dynamic Channel model block on 3.10.10, without success. While on 3.7 and 3.8 it works always.

Here you find the error reported: File "C:\GNU Radio 3.10 my files\DmrIQPlayer.py", line 213, in init self.channels_dynamic_channel_model_0 = channels.dynamic_channel_model( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: init(): incompatible constructor arguments. The following argument types are supported:

  1. gnuradio.channels.channels_python.dynamic_channel_model(samp_rate: float, sro_std_dev: float, sro_max_dev: float, cfo_std_dev: float, cfo_max_dev: float, N: int, doppler_freq: float, LOS_model: bool, K: float, delays: list[float], mags: list[float], ntaps_mpath: int, noise_amp: float, noise_seed: float)

Invoked with: 93750, 1, 10, 1, 10, 6, 10, False, 4.0, 0.0, 5.0, 20.0, 50.0, 80.0, 1.0, 0.8, 0.7, 0.6, 0.1, 8, 0, 0

        Done (return code 1)

Could you check that block works properly on 3.10.10.0 ?

Thanks in advance

BR, Max IK1RGI

System Information

OS: Windows 11 Pro GR Installation Method: radioconda

GNU Radio Version

3.10 (maint-3.10)

Specific Version

3.10.10.0

Steps to Reproduce the Problem

Put a Dynamic Channel model block with the params you prefer. Connect a Source as input and a Sink as output.

When you run 3.10.10.0, the error above reported doesn't permit to launch the simulation.

Relevant log output

No response

pstoeferle commented 5 months ago

The problem is with the default arguments in the following lines: https://github.com/gnuradio/gnuradio/blob/2e59108989fb8e06a54abee0f23cba33827e0b2f/gr-channels/grc/channels_dynamic_channel_model.block.yml#L56 https://github.com/gnuradio/gnuradio/blob/2e59108989fb8e06a54abee0f23cba33827e0b2f/gr-channels/grc/channels_dynamic_channel_model.block.yml#L60 To make it work, you have to put brackets [ ] around the values in delays and magnitude e.g. from 0.0,0.1,1.3 to [0.0,0.1,1.3]

marcusmueller commented 5 months ago

@pstoeferle oh, good catch! Want to make a quick PR against the main branch? As long as you include the line (capitalization matters)

Signed-off-by: Your Name <youremail@example.com>

at the end of the commit message, you should even be able to do it directly from the github web UI, if that is quicker.