|
From: | Hou Jonny |
Subject: | Re: [Discuss-gnuradio] Linear regression error when handling looping data in file source |
Date: | Mon, 04 Jul 2016 07:35:26 +0000 |
Hey folks,
This that somehow related the python code I used?
""" Embedded Python Blocks: Each this file is saved, GRC will instantiate the first class it finds to get ports and parameters of your block. The arguments to __init__ will be the parameters. All of them are required to have default values! """ import numpy as np from gnuradio import gr from sklearn.linear_model import LinearRegression class blk(gr.sync_block): def __init__(self, factor=1.0): # only default arguments here gr.sync_block.__init__( self, name='Embedded Python Block', in_sig=[np.complex64,np.complex64], out_sig=[np.float32, np.float32, np.float32] ) self.factor = factor def work(self, input_items, output_items): H = input_items[0] * input_items[1] output_items[0][:] = np.abs(H) phase = np.unwrap(np.angle(H)) output_items[1][:] = phase ##linear regression phase_x_train = np.array(range(1,len(phase)+1)).reshape(-1,1) phase_y_train = phase regr = LinearRegression() regr.fit(phase_x_train, phase_y_train) print regr.coef_, regr.intercept_, len(phase_x_train),phase_x_train[0],phase_x_train[-1] output_items[2][:] = regr.predict(phase_x_train) return len(output_items[0])
Or any others information needed for further trouble shooting?
Cheers!BR//Jonny
On Tue, Jun 28, 2016 at 5:46 PM Hou Jonny <address@hidden> wrote:
Hi guys and gals,I get a question regarding buffer size when looping the file source:
Currently I intent to have an offline processing with some captured data: read the data (for example, size 1201) from file sources, then handle the data with certain filtering and so on.... After that I intend to analysis the data with linear regression in python block. While the read size of data in GNURadio could not perfectly fit the size 1201 when looping ("REPEAT"=YES) enabled, which causes the linear regression some time happen between 2 loops of read(tail of the 1st loop and head of 2nd loop) and it leads to error results of regression.I tried to adjust the max/min buffer value but it did not work as I expected. Warnings like "max output buffer set to 1536 instead of requested 1201" always popped up ...Any advice and insights?BR//Jonny
[Prev in Thread] | Current Thread | [Next in Thread] |