discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to Change the modulation mode of "constellation decoder" in real


From: Martin Braun
Subject: Re: How to Change the modulation mode of "constellation decoder" in real time?
Date: Thu, 6 Jan 2022 16:33:21 +0100

Hey,

I don't see a conceptual reason why you can't change the equalizer at runtime, but you have to be careful to not get into concurrency issues. You should hold onto a reference to your new equalizer until some condition is met, and then replace d_eq at "the right time", whatever that is (before the frame processing starts, but after some condition is met, like the timestamp you want to change it at or something like that).

From your linker errors, it looks like you have some conceptual problem though (unrelated to equalizers). I recommend you read some other blocks' code first to see how callbacks are added, then try adding some empty callbacks until the linker is happy, and then proceed.

--M

On Mon, Dec 27, 2021 at 2:46 AM maolin liu <linge93@outlook.com> wrote:

Hello everyone

    I'm sorry to bother you hereI wasn't sure whether my previous email was sent, but I was eager to know the answer to this question, so I sent it again. I would like to ask if there is any method or suggestion for me to control the modulation mode of "OFDM frame equalizer" module and "constellation decoder" through "QT GUI chooser" or other widgets. I know that they cannot be changed. Because they do not have "callback" function, they will be fixed once the flow graph runs. I try to write "callback" function myself, But my C + + level is really limited. There are some errors here. I don't know how to solve them.

 

/usr/bin/ld: libgnuradio-digital.so.v3.8.2.0-111-g6aad98a6: undefined reference to `gr::digital::ofdm_frame_equalizer_vcvc::set_equalizer(boost::shared_ptr<gr::digital::ofdm_equalizer_base>)'

/usr/bin/ld: libgnuradio-digital.so.v3.8.2.0-111-g6aad98a6: undefined reference to `typeinfo for gr::digital::ofdm_frame_equalizer_vcvc'

collect2: error: ld returned 1 exit status

make[2]: *** [gr-digital/lib/CMakeFiles/digital_qa_header_buffer.cc.dir/build.make:104gr-digital/lib/digital_qa_header_buffer.cc] error 1

make[1]: *** [CMakeFiles/Makefile2:8900gr-digital/lib/CMakeFiles/digital_qa_header_buffer.cc.dir/all] error 2

 

    I refer to the writing method of callback in other modules, but there are still errors, and I think it is not good to change the source code, which may cause many unknown errors, so I want to know whether there are other ways for me to change the modulation mode at any time? Or is it feasible to add the callback function directly?

    Any suggestion would be appreciated

Bset Regrads,

linge93

 

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]