Re: USRP B210 sink 2 channels

2022-02-22 Thread hnas cable guy
" The LO synthesizer on the B210 is shared between the two channels, so
only your 2nd tune request is actually "honored".

Thanks for this answer, so both are always tuned to the same frequency. I
should have bought 2 B200 as it also seems that the bandwidth is limited
(not 2x56MHz) if you use both channels .
ps; The WBFM part was just an example to point out the issue.

Regards,
Hans

Op ma 21 feb. 2022 om 16:34 schreef Marcus D. Leech :

> On 2022-02-21 09:35, hnas cable guy wrote:
> > Hi all,
> >
> > I recently purchased a USRP B210.
> > I am trying to use two channel transmissions but do not get it to work.
> >
> > As a simple test I created 2 FM modulated carriers.
> > If I configure only one channel it works as expected but when I
> > configure 2 channels I only get the second channel on my spectrum
> > analyzer.
> >
> > Any suggestions?
> >
> > Regards,
> > Hans
> The LO synthesizer on the B210 is shared between the two channels, so
> only your 2nd tune request is actually "honored".
>
> Since they're only 100khz apart, you can simply shift them in baseband
> and send to the radio in an appropriate bandwidth. Further, your WBFM block
>has an audio rate and quadrature rate that are the same. Normally,
> the output bandwidth of a WBFM block is about 150kHz or more.
>
>
>
>


Improving GRC usability: How do you deal with changes in .grc file behaviour caused by opening it on newer/older GRC version?

2022-02-22 Thread Bernard Tyers - EI8FDB

Hi there,

I contribute to usability improvements to GNU Radio, and I'm looking for 
input from the community.


Has this scenario ever happened to you -

You open a .grc file with an older (or newer) version of GRC than the 
file was created with.
When you try to open it the .grc file behaves differently, due to 
differences in GRC version.

--

How did you deal with this scenario? How did you get the .grc to execute 
as you expected?


Give your input by completing this short 3 question form:

https://saneuxdesign.survey.fm/dealing-with-changes-in-how-grc-file-behaves-caused-by-opening-it-in-newer-or-older-grc-version 



You don't need to be a GNU Radio expert to give your input.

If you've not experienced this scenario, but you have ideas on how you 
would go about it, your input is welcome.



Any questions, please let me know.

Thanks in advance,
Bernard

--

Bernard Tyers
Sane UX Design / ei8fdb

PGP Key: https://keybase.io/ei8fdb

I work on User-centred Design, Open Source Software, and user privacy.



Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
Hi George,
I also tried to use *low_pass() *function in my C++ program but with no
luck. My linker shouts that there is undefined reference to this function
but headers where recognized.
How did you install the GNU Radio? Was it installation from PPA or
building from source?
Marcin

pon., 21 lut 2022 o 18:28 George Edwards 
napisał(a):

> Hi Marcin,
>
> Thanks again for your help! I was a little busy and finally got around to
> looking at the two C++ fir filter documents you sent me.
>
> I tried to design an OOT C++ FIR lowpass filter block based on my
> understanding of these documents but my code shows error (squidly). In the
> OOT C++ code, I included all the #include header files shown in the
> documents. Then using the first document above for the lowpass design, I
> wrote the following:
> vector  lpfilter;
> then, I defined all the filter parameters (give them value) and tried to
> use the filter method:
> lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq,
> transition_bandwidth,
> fft::window::win_type
> 
> window = fft::window::win_type::WIN_HAMMING, beta = 6.76);
>
> This failed and showed a squidly across the line with
> fft::window::win_type! I also tried leaving off the gr::filter::firdes
>
> nothing worked and I included the fft window header file!
> Please send me code examples if you have any that shows how to use these
> functions/methods.
>
> One more question: on a search on the second document, it says the remez 
> filter_types
> are: one of "bandpass", "hilbert" or "differentiator", I would have
> thought lowpass filters would be included??
>
> Thank you!
>
> George
>
> On Mon, Feb 14, 2022 at 12:05 AM Marcin Puchlik 
> wrote:
>
>> Hello George,
>> Yes, there is. Check this out:
>> https://www.gnuradio.org/doc/doxygen/firdes_8h_source.html
>> https://www.gnuradio.org/doc/doxygen/pm__remez_8h.html
>> BR,
>> Marcin
>>
>> pon., 14 lut 2022 o 00:07 George Edwards 
>> napisał(a):
>>
>>> Hello GNURadio Community,
>>>
>>> I am designing a Gnuradio OOT block in C++. Are there firls and kaiser
>>> filter methods (analogous to the scipy package methods that one would use
>>> in Python OOT) that I can call to generate coefficients.
>>>
>>> Thank you!
>>>
>>> Regards,
>>> George
>>>
>>


Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread Vasil Velichkov
Hi George,

On 21/02/2022 18.31, George Edwards wrote:
> lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq, 
> transition_bandwidth,
> fft::window::win_type 
> window
>  = fft::window::win_type::WIN_HAMMING, beta = 6.76);
> 
> This failed and showed a squidly across the line with 
> fft::window::win_type!

Try adding "gr::" before "fft::window" and make sure gnuradio/fft/window.h is 
included.

  #include 

  lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq, 
transition_bandwidth,
gr::fft::window::win_type window = fft::window::win_type::WIN_HAMMING, 
beta = 6.76);

If this does not fix it then provide the exact error you are getting.

Regards,
Vasil



Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread Vasil Velichkov
Hi Marcin,

On 22/02/2022 13.09, Marcin Puchlik via GNU Radio, the Free & Open-Source 
Toolkit for Software Radio wrote:
> I also tried to use *low_pass() *function in my C++ program but with no
> luck. My linker shouts that there is undefined reference to this function
> but headers where recognized.

You need to link your OOT module to gnuradio-filter library - in 
lib/CMakeLists.txt in target_link_libraries() add gnuradio-filter.

target_link_libraries(gnuradio-test gnuradio::gnuradio-runtime 
gnuradio-filter)

Regards,
Vasil



Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
Hi Vasil,
But I am not creating the OOT module, I want to get filter taps using
*low_pass()*  function in simple C++ program (Hello World).
I just want to link gnuradio library and use its function in custom C++
program, here is the code of main.cpp:

#include 
#include 
#include 
#include 

using namespace std;

int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
std::vector taps = gr::filter::firdes::low_pass(1, 1, 0.3, 0.1);
return 0;
}

I even ran this from cmd with the command: *g++
-I/usr/include/gnuradio/filter -L/usr/lib/x86_64-linux-gnu/ main.cpp *
and the error is:



*/bin/ld: /tmp/ccTlKCri.o: in function `main':main.cpp:(.text+0xc7):
undefined reference to `gr::filter::firdes::low_pass_2(double, double,
double, double, double, gr::fft::window::win_type, double)'collect2: error:
ld returned 1 exit status*



wt., 22 lut 2022 o 13:22 Vasil Velichkov  napisał(a):

> Hi Marcin,
>
> On 22/02/2022 13.09, Marcin Puchlik via GNU Radio, the Free & Open-Source
> Toolkit for Software Radio wrote:
> > I also tried to use *low_pass() *function in my C++ program but with no
> > luck. My linker shouts that there is undefined reference to this function
> > but headers where recognized.
>
> You need to link your OOT module to gnuradio-filter library - in
> lib/CMakeLists.txt in target_link_libraries() add gnuradio-filter.
>
> target_link_libraries(gnuradio-test gnuradio::gnuradio-runtime
> gnuradio-filter)
>
> Regards,
> Vasil
>


Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread Vasil Velichkov
Hi Marcin,

On 22/02/2022 14.32, Marcin Puchlik wrote:
> But I am not creating the OOT module, I want to get filter taps using
> *low_pass()*  function in simple C++ program (Hello World).

It does not really matter what you are building, if you want to use this 
function then you need to link this library.
> I even ran this from cmd with the command: *g++
> -I/usr/include/gnuradio/filter -L/usr/lib/x86_64-linux-gnu/ main.cpp *

You need to add -lgnuradio-filter parameter

  g++ -I/usr/include/gnuradio/filter -L/usr/lib/x86_64-linux-gnu/ 
-lgnuradio-filter main.cpp 

Cheers,
Vasil


> and the error is:
> 
> 
> 
> */bin/ld: /tmp/ccTlKCri.o: in function `main':main.cpp:(.text+0xc7):
> undefined reference to `gr::filter::firdes::low_pass_2(double, double,
> double, double, double, gr::fft::window::win_type, double)'collect2: error:
> ld returned 1 exit status*
> 
> 
> 
> wt., 22 lut 2022 o 13:22 Vasil Velichkov  napisał(a):
> 
>> Hi Marcin,
>>
>> On 22/02/2022 13.09, Marcin Puchlik via GNU Radio, the Free & Open-Source
>> Toolkit for Software Radio wrote:
>>> I also tried to use *low_pass() *function in my C++ program but with no
>>> luck. My linker shouts that there is undefined reference to this function
>>> but headers where recognized.
>>
>> You need to link your OOT module to gnuradio-filter library - in
>> lib/CMakeLists.txt in target_link_libraries() add gnuradio-filter.
>>
>> target_link_libraries(gnuradio-test gnuradio::gnuradio-runtime
>> gnuradio-filter)
>>
>> Regards,
>> Vasil
>>
> 




Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
Hi Vasil,
You are right, it helped thank you.
One more question, do you know why the command: *g++ main.cpp
-lgnuradio-filter *works correctly but in different order: *g++
-lgnuradio-filter main.cpp* crashes?

wt., 22 lut 2022 o 14:19 Vasil Velichkov  napisał(a):

> Hi Marcin,
>
> On 22/02/2022 14.32, Marcin Puchlik wrote:
> > But I am not creating the OOT module, I want to get filter taps using
> > *low_pass()*  function in simple C++ program (Hello World).
>
> It does not really matter what you are building, if you want to use this
> function then you need to link this library.
> > I even ran this from cmd with the command: *g++
> > -I/usr/include/gnuradio/filter -L/usr/lib/x86_64-linux-gnu/ main.cpp *
>
> You need to add -lgnuradio-filter parameter
>
>   g++ -I/usr/include/gnuradio/filter -L/usr/lib/x86_64-linux-gnu/
> -lgnuradio-filter main.cpp
>
> Cheers,
> Vasil
>
>
> > and the error is:
> >
> >
> >
> > */bin/ld: /tmp/ccTlKCri.o: in function `main':main.cpp:(.text+0xc7):
> > undefined reference to `gr::filter::firdes::low_pass_2(double, double,
> > double, double, double, gr::fft::window::win_type, double)'collect2:
> error:
> > ld returned 1 exit status*
> >
> >
> >
> > wt., 22 lut 2022 o 13:22 Vasil Velichkov 
> napisał(a):
> >
> >> Hi Marcin,
> >>
> >> On 22/02/2022 13.09, Marcin Puchlik via GNU Radio, the Free &
> Open-Source
> >> Toolkit for Software Radio wrote:
> >>> I also tried to use *low_pass() *function in my C++ program but with no
> >>> luck. My linker shouts that there is undefined reference to this
> function
> >>> but headers where recognized.
> >>
> >> You need to link your OOT module to gnuradio-filter library - in
> >> lib/CMakeLists.txt in target_link_libraries() add gnuradio-filter.
> >>
> >> target_link_libraries(gnuradio-test gnuradio::gnuradio-runtime
> >> gnuradio-filter)
> >>
> >> Regards,
> >> Vasil
> >>
> >
>
>


Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
So while running: *g++ -gnuradio-filter main.cpp*   I get:



*/bin/ld: /tmp/ccChkcfC.o: in function `main':main.cpp:(.text+0x8d):
undefined reference to `gr::filter::firdes::low_pass(double, double,
double, double, gr::fft::window::win_type, double)'collect2: error: ld
returned 1 exit status*

main.cpp is:












*#include #include #include
#include using namespace
std;int main() {cout << "!!!Hello World!!!" << endl; // prints
!!!Hello World!!!std::vector taps =
gr::filter::firdes::low_pass(1, 1, 0.3, 0.1);return 0;}*

wt., 22 lut 2022 o 14:34 Vasil Velichkov  napisał(a):

> On 22/02/2022 15.31, Marcin Puchlik wrote:
> > You are right, it helped thank you.
>
> You are welcome.
>
> > One more question, do you know why the command: *g++ main.cpp
> > -lgnuradio-filter *works correctly but in different order: *g++
> > -lgnuradio-filter main.cpp* crashes?
>
> No idea. Give me the full output (the exact error).
>


Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread Vasil Velichkov
On 22/02/2022 15.31, Marcin Puchlik wrote:
> You are right, it helped thank you.

You are welcome.

> One more question, do you know why the command: *g++ main.cpp
> -lgnuradio-filter *works correctly but in different order: *g++
> -lgnuradio-filter main.cpp* crashes?

No idea. Give me the full output (the exact error).



Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread Vasil Velichkov
On 22/02/2022 15.39, Marcin Puchlik wrote:
> So while running: *g++ -gnuradio-filter main.cpp*   I get:

You are missing an l between - and gnuradio

> */bin/ld: /tmp/ccChkcfC.o: in function `main':main.cpp:(.text+0x8d):
> undefined reference to `gr::filter::firdes::low_pass(double, double,
> double, double, gr::fft::window::win_type, double)'collect2: error: ld
> returned 1 exit status*

Works on my machine :)

$ g++ -lgnuradio-filter main.cpp  
$ ll
total 32
-rwxrwxr-x. 1 vasko vasko 27112 Feb 22 15:41 a.out
-rw-rw-r--. 1 vasko vasko   325 Feb 22 15:40 main.cpp

$ ./a.out 
!!!Hello World!!!

$ ldd a.out | grep filter
libgnuradio-filter.so.3.8.2 => /lib64/libgnuradio-filter.so.3.8.2 
(0x7fbf4984d000)

$ objdump -TC a.out  | grep filter
  DF *UND*    
gr::filter::firdes::low_pass(double, double, double, double, 
gr::filter::firdes::win_type, double)

 






Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
That's strange, in this order it doesn't work for me.
Thank you anyways :)
Marcin

wt., 22 lut 2022 o 14:47 Vasil Velichkov  napisał(a):

> On 22/02/2022 15.39, Marcin Puchlik wrote:
> > So while running: *g++ -gnuradio-filter main.cpp*   I get:
>
> You are missing an l between - and gnuradio
>
> > */bin/ld: /tmp/ccChkcfC.o: in function `main':main.cpp:(.text+0x8d):
> > undefined reference to `gr::filter::firdes::low_pass(double, double,
> > double, double, gr::fft::window::win_type, double)'collect2: error: ld
> > returned 1 exit status*
>
> Works on my machine :)
>
> $ g++ -lgnuradio-filter main.cpp
> $ ll
> total 32
> -rwxrwxr-x. 1 vasko vasko 27112 Feb 22 15:41 a.out
> -rw-rw-r--. 1 vasko vasko   325 Feb 22 15:40 main.cpp
>
> $ ./a.out
> !!!Hello World!!!
>
> $ ldd a.out | grep filter
> libgnuradio-filter.so.3.8.2 => /lib64/libgnuradio-filter.so.3.8.2
> (0x7fbf4984d000)
>
> $ objdump -TC a.out  | grep filter
>   DF *UND*  
> gr::filter::firdes::low_pass(double, double, double, double,
> gr::filter::firdes::win_type, double)
>
>
>
>
>
>


Re: Using VSCode With gr-tutorial

2022-02-22 Thread Jeff S
Dave,

I came across a situation that you described.  I had a breakpoint, and I 
disabled it after hitting it.  Sure enough, it brroke there again.  It seems to 
be hitting it from another thread.  So, check your call stack when you come 
across that situation and it may be that it is coming from another thread.  I'm 
not sure why it does it that way, maybe because all threads hit the breakpoint 
and VSC is just cycling through all of the breaks (?).  I haven't spent much 
time on investigating it because it wasn't stopping me from doing what I needed 
to do.

Just a thought,
Jeff


From: Discuss-gnuradio  
on behalf of David Cherkus 
Sent: Monday, February 21, 2022 9:44 AM
To: GNURadio Discussion List
Subject: Re: Using VSCode With gr-tutorial

Thanks for the helpful info, Jeff.  I did try using the breakpoint window to 
clear all breakpoints last night and it didn't change anything.  I'll play 
around with it some more later today.   I'm a total noob with VS Code so it 
could be some form of 'user error'.

Regards,
Dave.





Re: Sharing GR block developed on Linux with Windows 10 radioconda environment?

2022-02-22 Thread Ryan Volz

Hi Dave,

On 2/22/22 12:10 PM, David Cherkus wrote:

So, I am trying to write some GR blocks on Linux and if they work I want to 
share them with a friend who is happily running GRC flowgraphs using the 
radioconda install on Windows 10.  I don't have any Windows development tools.  
I don't know, is a MSVC cross compilation environment available for Linux?  Or 
is there a Docker image that I can run on Linux to do that?  Or some other 
cloud-based way?


If you bundle your blocks up as an OOT module, then your friend should be able to compile 
them on Windows by following the "Building OOT modules to use with conda-installed 
GNU Radio" instructions on the wiki:

https://wiki.gnuradio.org/index.php/CondaInstall#Building_OOT_modules_to_use_with_conda-installed_GNU_Radio

But that requires some comfort with compiling things on your friend's side, and 
maybe that doesn't best fit your situation.

If you want to be able to compile things yourself and just have them 
installable and directly usable on Windows+radioconda, then the most natural 
way is to create a conda package. That's more work for you, but I'm endeavoring 
to make it easier. As of now, that means that I have a template repository on 
Github where you can write a conda recipe for a GNU Radio OOT module and have 
it built and uploaded to anaconda.org from the Github CI. Then your friend 
could install it from your anaconda.org channel. See the instructions here:

https://github.com/ryanvolz/gnuradio-oot-template-feedstock/



PS: Shout out to Ryan!  I watched his GRCon 2021 preso on radioconda on youtube 
and it's excellent work!

Regards,
Dave.


Thanks, and good luck!

Ryan



Re: Adding external libs to an OOT block

2022-02-22 Thread Ryan Volz

Hi Dave,

On 2/22/22 11:34 AM, David Cherkus wrote:

So, I found 
https://stackoverflow.com/questions/48562304/gnuradio-c-oot-extrernal-so-library 

 which is a very good answer to how to get your OOT block to link to a shared library 
from another package.

/As pointed out by the answer of Marcus Müller below I did not link 
properly. In fact *one has to edit three different cmake files in three places 
to add an external dynamically loaded library (.so) to an OOT module in 
GNURadio*. I try to explain briefly what to do:
/

 1. /Put a find_package(LIBNAME) in the CMakeLists.txt in the base 
directory of the OOT module./
 2. /Corresponding to that a FindLIBNAME.cmake file in the cmake module 
path is necessary. This file has the purpose to implement the search for 
include directories and library files (.so files)./
 3. /Once found the path to the library has to be used with 
target_link_libraries(...) in lib/CMakeLists.txt (linking)./
 4. /The include file path, i.e. LIBNAME.h has to be added as include 
directory using include_directories(...) in the CMakeLists.txt in the base 
directory of the module.
/

/With ldd it is possible to find out if the external library is linked 
correctly./
/
*ldd /usr/local/lib/YOURLIB.so*/

Am wondering if this is documented on the GNUradio web site?  I could use a bit more 
info, but will give it a go anyway.  I did the C++ tutorial ( 
https://wiki.gnuradio.org/index.php?title=Guided_Tutorial_GNU_Radio_in_C%2B%2B 

  ) and this was the very next thing I wanted to do, and I presume many others as 
well.   I know it's hard to know where to draw the line on teaching enough vs too 
much, but I think this is a pretty frequent use case, no?  Note that I am teaching 
myself cmake on the fly.  That's OK, I just taught myself enough C++ to understand 
the tutorial on the fly as well.

Regards,
Dave.


This can be easier or harder depending on how well the library you want to link with 
supports CMake. In more detail, you may or may not have to do step 2 of the instructions 
above, and it may be possible to skip 4 as well if the library's include paths are part 
of the target that you "link" with in step 3. So I think it is most helpful to 
ask: what library specifically are you needing to link with?

In general I think covering how to use CMake is best left to the CMake documentation, but 
the GNU Radio tutorials could probably benefit from a simple example of linking with a 
"nice" external library. (That's if they don't already include that somewhere, 
and I can't say that I've looked!)

Cheers,
Ryan



Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread George Edwards
Hello Vasil and Marcin,

Thanks very much for your help.

I have all the relevant #include header files and invoke the low_pass
filter as follows:
lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq,
transition_bandwidth,
fft::window::win_type::WIN_HAMMING, beta);

Observations:
Using the mouse to hover over WIN_HAMMING, I can see that it interprets the
win_type enum variable and correctly assigns it a value of "0" (which is
the value stated in the Gnuradio C++ API Reference manual). However, there
is a squidly under beta. Hovering over beta, the error message is:
Argument of type "double" is incompatible with parameter of type
"gr::fft::window::win_type"

If one of you has a working code fragment using one of the C++ Gnuradio
filter methods that you can cut, paste and send in your next email I would
appreciate it.

Thanks for your help.

George

On Tue, Feb 22, 2022 at 6:15 AM Vasil Velichkov 
wrote:

> Hi George,
>
> On 21/02/2022 18.31, George Edwards wrote:
> > lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
> cutoff_freq, transition_bandwidth,
> > fft::window::win_type <
> https://www.gnuradio.org/doc/doxygen/classgr_1_1fft_1_1window.html#a599d7e9625d6cc77203a8b877c4911e2>window
> = fft::window::win_type::WIN_HAMMING, beta = 6.76);
> >
> > This failed and showed a squidly across the line with
> fft::window::win_type!
>
> Try adding "gr::" before "fft::window" and make sure gnuradio/fft/window.h
> is included.
>
>   #include 
>
>   lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
> cutoff_freq, transition_bandwidth,
> gr::fft::window::win_type window =
> fft::window::win_type::WIN_HAMMING, beta = 6.76);
>
> If this does not fix it then provide the exact error you are getting.
>
> Regards,
> Vasil
>


Job Opportunity - RF Engineer in San Antonio, TX

2022-02-22 Thread Michael Morrison
Hi everyone,

Just wanted to advertise that my team is hiring an RF Engineer in San
Antonio, TX [1].

We do vulnerability assessments and adversarial red-teaming for US
Government customers, so an active clearance is required.

If interested, give me a shout or apply using the link below.

See you all in DC this September!

Michael Morrison

[1] https://careers.dynetics.com/job-view.php?p=8782


Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
Geroge,
I posted the working code a few messages ago. Try to check this out. BTW as
far as I can see those two arguments are optional (window type and beta).
Try to run your code without them and check if it works.


wt., 22 lut 2022 o 19:25 George Edwards  napisał(a):

> Hello Vasil and Marcin,
>
> Thanks very much for your help.
>
> I have all the relevant #include header files and invoke the low_pass
> filter as follows:
> lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq,
> transition_bandwidth,
> fft::window::win_type::WIN_HAMMING, beta);
>
> Observations:
> Using the mouse to hover over WIN_HAMMING, I can see that it interprets
> the win_type enum variable and correctly assigns it a value of "0" (which
> is the value stated in the Gnuradio C++ API Reference manual). However,
> there is a squidly under beta. Hovering over beta, the error message is:
> Argument of type "double" is incompatible with parameter of type
> "gr::fft::window::win_type"
>
> If one of you has a working code fragment using one of the C++ Gnuradio
> filter methods that you can cut, paste and send in your next email I would
> appreciate it.
>
> Thanks for your help.
>
> George
>
> On Tue, Feb 22, 2022 at 6:15 AM Vasil Velichkov 
> wrote:
>
>> Hi George,
>>
>> On 21/02/2022 18.31, George Edwards wrote:
>> > lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
>> cutoff_freq, transition_bandwidth,
>> > fft::window::win_type <
>> https://www.gnuradio.org/doc/doxygen/classgr_1_1fft_1_1window.html#a599d7e9625d6cc77203a8b877c4911e2>window
>> = fft::window::win_type::WIN_HAMMING, beta = 6.76);
>> >
>> > This failed and showed a squidly across the line with
>> fft::window::win_type!
>>
>> Try adding "gr::" before "fft::window" and make sure
>> gnuradio/fft/window.h is included.
>>
>>   #include 
>>
>>   lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
>> cutoff_freq, transition_bandwidth,
>> gr::fft::window::win_type window =
>> fft::window::win_type::WIN_HAMMING, beta = 6.76);
>>
>> If this does not fix it then provide the exact error you are getting.
>>
>> Regards,
>> Vasil
>>
>


Re: GNU Radio install on Mac Monterey

2022-02-22 Thread James Merkel
Ok, long story short, I was able to install and run gnuradio on macOS.
In MacPorts, I uninstalled gnuradio and all dependencies, then reinstalled 
gnuradio.
When I ran gnuradio-companion in terminal, I got an error messages similar to 
those described in:

https://github.com/gnuradio/gnuradio/issues/3893

So, I uninstalled gnuradio again and reinstalled with the variants shown in the 
GitHub link above:

sudo port install gnuradio -x11 +no_x11 +quartz

It’s a longer install— more things are built from source (including gnuradio 
itself), but, that worked. 
When I run gnuradio-companion I still get a message:

No such schema “org.gnome.desktop.interface” 

but that doesn’t seem to matter.
I also get some deprecation warnings when a flowgraph is run.
The blocks and text in the gnuradio-companion flowgraphs are extremely small.
I’ll have to see if that can be fixed.
In the mean time, gnuradio does run faster on this newer Mac!

Re: Are there firls and kaiser filter methods for C++ OOT?

2022-02-22 Thread George Edwards
Hi Marcin and Vasil,

Thank you guys very much!

Marcin: I did as you suggested and left out win_type and beta.
Vasil: Based on the conversation exchanges between you Marcin, I followed
your suggestion to link in the gnuradio-filter library - in
lib/CMakeLists.txt in target_link_libraries() by adding gnuradio-filter.
Thus, the target_link_libraries in the original OOT lib/CMakeLists.txt file
was:
target_link_libraries(gnuradio-ge_filters gnuradio::gnuradio-runtime)
and I added to it as shown below:
target_link_libraries(gnuradio-ge_filters gnuradio::gnuradio-runtime
gnuradio-filter)
The OOT program compiles and makes the intended Gnuradio block for me to
load in a GRC flowgraph. For experimental purposes, I made the OOT block to
output the filter coefficients. When I run the grc, the lowpass filter
outputs all zeros, so something is wrong!
Marcin: You had written a piece of code to print "Hello World". Please run
your code to print out the returned filter coefficients and let me know if
it works well because mine is having some problems.

This is how I invoked the filter method (all parameters are defined):
vector  lpfilter; //vector variable will contain the filter
coeff's
lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq,
transition_bandwidth);

Thank you guys!

George


On Tue, Feb 22, 2022 at 3:41 PM Marcin Puchlik 
wrote:

> Geroge,
> I posted the working code a few messages ago. Try to check this out. BTW
> as far as I can see those two arguments are optional (window type and
> beta). Try to run your code without them and check if it works.
>
>
> wt., 22 lut 2022 o 19:25 George Edwards 
> napisał(a):
>
>> Hello Vasil and Marcin,
>>
>> Thanks very much for your help.
>>
>> I have all the relevant #include header files and invoke the low_pass
>> filter as follows:
>> lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq, cutoff_freq,
>> transition_bandwidth,
>> fft::window::win_type::WIN_HAMMING, beta);
>>
>> Observations:
>> Using the mouse to hover over WIN_HAMMING, I can see that it interprets
>> the win_type enum variable and correctly assigns it a value of "0" (which
>> is the value stated in the Gnuradio C++ API Reference manual). However,
>> there is a squidly under beta. Hovering over beta, the error message is:
>> Argument of type "double" is incompatible with parameter of type
>> "gr::fft::window::win_type"
>>
>> If one of you has a working code fragment using one of the C++ Gnuradio
>> filter methods that you can cut, paste and send in your next email I would
>> appreciate it.
>>
>> Thanks for your help.
>>
>> George
>>
>> On Tue, Feb 22, 2022 at 6:15 AM Vasil Velichkov 
>> wrote:
>>
>>> Hi George,
>>>
>>> On 21/02/2022 18.31, George Edwards wrote:
>>> > lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
>>> cutoff_freq, transition_bandwidth,
>>> > fft::window::win_type <
>>> https://www.gnuradio.org/doc/doxygen/classgr_1_1fft_1_1window.html#a599d7e9625d6cc77203a8b877c4911e2>window
>>> = fft::window::win_type::WIN_HAMMING, beta = 6.76);
>>> >
>>> > This failed and showed a squidly across the line with
>>> fft::window::win_type!
>>>
>>> Try adding "gr::" before "fft::window" and make sure
>>> gnuradio/fft/window.h is included.
>>>
>>>   #include 
>>>
>>>   lpfilter = gr::filter::firdes::low_pass(gain, sampling_freq,
>>> cutoff_freq, transition_bandwidth,
>>> gr::fft::window::win_type window =
>>> fft::window::win_type::WIN_HAMMING, beta = 6.76);
>>>
>>> If this does not fix it then provide the exact error you are getting.
>>>
>>> Regards,
>>> Vasil
>>>
>>