Hi Marcus,
Sorry for replying late. I was travelling.
My point is we can have a statistical module for GNU Radio. Although Scipy has extensive library available, we can have it's wrappers for GNU Radio. We can use those wrappers in GRC. Basically, all major statistical analysis can be done at GRC level instead of going to the python/c++ backend.
There are some fundamental statistical tools (can be extended with suggestions from community): 1. generation of RV, 2. various distributions and distribution fitting, 3. regressions 4. hypothesis testing (including non-parametric testing which basically check whether current samples matches a particular distribution or not) 5. parameter estimations. We will need various distributions/functions from Scipy.
So, consider a scenario where we have a block of "random variable generators" which will get input from a block called "distribution" which will specify the distribution as well as it's parameters. There can be another block for "distribution fitting". Which will take two inputs: vector of samples and input from "distribution" block. Consider a hypothesis testing scenario: Get a input vector: Provide a condition of testing (like energy of vector should be greater than some value). Consider a testing mechanism where we test whether a sample vector is taken from a distribution or not (aka non-parametric goodness-of-fit based testing): It may take input from a "distribution block" and set of samples. and based on value of some "false alarm probability", it will give the decision.
We can try to make these testing completely generic. Like, you can write whole equation in textbox in GRC (may be. need to see how can we do it). It's similar to some blocks in Simulink (not sure exactly which one, but I remember those).
Note1: the "distribution" block will provide a distribution object. It may work internally, or externally. That's debatable. Note2: This is a idea. We can discuss on various implementation approaches once the scope of project etc are discussed.
|