From 306f5ac8c75d3946d0d43e45754df9d98433a1ee Mon Sep 17 00:00:00 2001 From: sara Date: Sat, 20 Nov 2021 16:19:36 +0100 Subject: FIR filter eigerner Block angefangen --- simulation/QAM_Fading/epy_block_0.py | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 simulation/QAM_Fading/epy_block_0.py (limited to 'simulation/QAM_Fading/epy_block_0.py') diff --git a/simulation/QAM_Fading/epy_block_0.py b/simulation/QAM_Fading/epy_block_0.py new file mode 100644 index 0000000..8c7e300 --- /dev/null +++ b/simulation/QAM_Fading/epy_block_0.py @@ -0,0 +1,50 @@ +""" +Embedded Python Blocks: + +Each time 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 + + +class blk(gr.sync_block): # other base classes are basic_block, decim_block, interp_block + """Embedded Python Block example - a simple multiply const""" + + def __init__(self, amplitudes=[], delays=[]): # only default arguments here + """arguments to this function show up as parameters in GRC""" + gr.sync_block.__init__( + self, + name='Embedded Python Block', # will show up in GRC + in_sig=[np.complex64], + out_sig=[np.complex64] + ) + # if an attribute with the same name as a parameter is found, + # a callback is registered (properties work, too). + self.amplitues = amplitudes + self.delays = delays + + #self.fir = + + def work(self, input_items, output_items): + """example: multiply with constant""" + inp = input_items[0] + oup = output_items[0] + amplitudes = [0.2, 0.5 ,0.8] + delays = [3,5,2] + i = len(amplitudes) + + outp[:] = [([1]+[0 for n in range (0,delays[i])]+[amplitudes[i]]) for i in range(0,i)] + + return len(output_items[0]) + + +if __name__ == '__main__': + ampl = [0.2, 0.5 ,0.8] + delays = [3,5,2] + i = len(ampl) + [([1]+[0 for n in range (0,delays[i])]+[ampl[i]]) for i in range(0,i)] + + -- cgit v1.2.1