Maybe somebody should make detailed tutorials, for the people that knows
only signal processing, not Linux, just for smooth start, unti they get
used.
Regards
Nemanja
Unfortunately, you cannot separate the signal processing of SDR from
the operating system. You need to understand a bit of each if you’re
going to do anything really, truly useful. So while you’re struggling
to get some of this stuff started, you are also learning a lot about
Linux and the build tools. This will serve you immeasurably well in
the future. I am right now struggling through similar issues with OSX.
That having been said, we are slowly producing more information to
help people out. Look at the Doxygen manual that get’s generated when
you install GNU Radio. There’s a lot more information in there to help
people understand some features of GNU Radio and of the build system.
The -V ‘trick’ for ctest is kind of outside of the scope of GNU Radio.
That’s something that’s documented with ctest. I learned about this
myself by just searching for help on getting information out of ‘make
test.’
One of the biggest problems we can have as developers is that we are
probably the worst people to document the code, especially features
like what you are talking about. It’s hard to know what others don’t
know. A lot of what is on the instructions and manuals that I’ve put
in are because I was just learning something, like using cmake
properly, and thought, “oh, this is something that should be
documented.” We have to rely on people to help us put this together.
and what could be wrong with implementation like this:
[garbled code]
It doesn’t specify the vlen (that’s what’s wrong).
And just one question, in the block gr_add_const_ff, you did loop unrolling
by yourself, is that because you don’t believe to the compiler or something
else?
gr_add_const_ff is pretty old, you should check out
gr-blocks/lib/add_const_vXX_impl.cc.t.
And yes, there’s a lot of hand-optimized code.
MB
–
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)
Ok, thanks for the explanation and link with more information.
Is there any benefit of using for example adder block which calculates
output using input vectors, then using single flat or whatever.
I expect that for calculating for example FFT one usually need packets
of
512 or 256, etc samples, and then you have to provide precise number of
samples at the input.
I have to take another look on adder block tomorrow, but I couldn’t find
today, how is specified number of inputs. Since u can input any number
of
inputs in GRC for that block, I would expect that value specified inside
of
constructor.
Can you just explain breafly what is idea behind, cause i was expecting
something more simpler.
Thanks
It is actually quite simple, you just have a misunderstanding of what
it’s supposed to be doing.
The first call is to set the input signature:
gr_make_io_signature(min inputs, max inputs, input item size)
The second one is for the output signature:
gr_make_io_signature(min outputs, max outputs, output item size)
The min value specifies how many inputs MUST be connected. The max
value says how many CAN be connected. A value of -1 means it’s
undefined and any number can be connected.
The item size is the size in bytes of each item. So for floats, this
is sizeof(float). If you want to handle vectors, you treat the vector
as an item. So a vector of vlen floats has a size
‘sizeof(float)*vlen’.
I am facing few problems and i need your help in this regard.
I was able to install HOWTO block in gnuradio properly by closely
following the instructions given on the following page using gr-modtool
all test passed successfully and two block (1) square_ff (2) square2_ff
came in gnuradio-companion GUI too and i used them without any problem
by
importing howto.
But the main thing is that same procedure i followed for
gr_bin_statistics_f too and after installation it came in GRC in some
other block named “howto” (notice small letters) , not in “HOWTO” where
were the square block. But as soon as i drag them to GRC window
everything
becomes blank in that window.
and also when i try to use this function in spectrum sense python file
as
howto.gr_bin_statistic_f it gives following error.
stats = howto.gr_bin_statistics_f(self.fft_size, self.msgq,
AttributeError: ‘module’ object has no attribute ‘gr_bin_statistics_f’