summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorttt-42015-02-24 15:02:53 +0530
committerttt-42015-02-24 15:02:53 +0530
commit65b50f1ed0b38037dda404a49abda9c809af9bcb (patch)
tree1f075df8ef14109932b5f250bc84bba5ef9f2619
parent8f12533c70eac0f2ed67c9fff77c1f6e7f115f2e (diff)
downloadgnuradio-65b50f1ed0b38037dda404a49abda9c809af9bcb.tar.gz
gnuradio-65b50f1ed0b38037dda404a49abda9c809af9bcb.tar.bz2
gnuradio-65b50f1ed0b38037dda404a49abda9c809af9bcb.zip
polezero plot
-rw-r--r--gr-input/grc/plzr_plot.xml37
-rw-r--r--gr-input/python/plzr_plot.py71
2 files changed, 108 insertions, 0 deletions
diff --git a/gr-input/grc/plzr_plot.xml b/gr-input/grc/plzr_plot.xml
new file mode 100644
index 000000000..833149ea5
--- /dev/null
+++ b/gr-input/grc/plzr_plot.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<block>
+ <name>plzr_plot</name>
+ <key>plzr_plot</key>
+ <category>Python_Blocks</category>
+ <import>import gnuradio.plzr_plot</import>
+ <make>gnuradio.plzr_plot.plzr_plot($order)</make>
+
+<param>
+ <name>Order of transfer function</name>
+ <key>order</key>
+ <value>1</value>
+ <type>real</type>
+
+</param>
+
+
+
+ <sink>
+ <name>in</name>
+ <type>float</type>
+ <nports>2</nports>
+ </sink>
+</block>
+<!--
+ <sink>
+ <name>in1</name>
+ <type>float</type>
+ <nports>4</nports>
+ </sink>
+
+
+ <source>
+ <name>in</name>
+ <type>float</type>
+ </source>
+</block>-->
diff --git a/gr-input/python/plzr_plot.py b/gr-input/python/plzr_plot.py
new file mode 100644
index 000000000..e1b0ff3fc
--- /dev/null
+++ b/gr-input/python/plzr_plot.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+#
+# Copyright 2015 <+YOU OR YOUR COMPANY+>.
+#
+# This is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# This software is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this software; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+#
+import sys
+import time
+import numpy
+from gnuradio import gr
+import sciscipy
+
+class plzr_plot(gr.sync_block):
+ """
+ docstring for block add_python
+ """
+ def __init__(self,order):
+ sys.setrecursionlimit(2000)
+ a = []
+# self.flag = 0
+ self.b = [0,0,0,0,0,0]
+ self.c = [0,0,0,0,0,0]
+ self.i = 0
+ self.order=int(order)+1
+ gr.sync_block.__init__(self,
+ name="plzr_plot",
+ in_sig=[numpy.float32,numpy.float32],
+ out_sig=None)
+
+ def plot(self,b,c):
+ string1 = "s=%s; h=syslin('c',"
+ string2 = str(b[4])+"*s^4+"+str(b[3])+"*s^3+"+str(b[2])+"*s^2+"+str(b[1])+"*s+"+str(b[0])+","
+ string3 = str(c[4])+"*s^4+"+str(c[3])+"*s^3+"+str(c[2])+"*s^2+"+str(c[1])+"*s+"+str(c[0])+");"
+ string4 = "plzr(h);"
+
+ string = string1 + string2 +string3 + string4
+ sciscipy.eval(string)
+
+
+
+ def work(self, input_items, output_items):
+ print "I am input", input_items
+ print "I am output", output_items
+ k = self.order
+ for i in range(0,k):
+ self.b[i] = input_items[0][i]
+ print "I am value of b\n",self.b
+
+
+ for j in range(0,k):
+ self.c[j] = input_items[1][j]
+ print "I am vlaue of c\n", self.c
+
+ self.plot(self.b,self.c)
+ in0 = input_items[0]
+ # <+signal processing here+>
+ return len(input_items[0])
+