Hi Sourya,
that does indeed look pretty nice!
I think you made a minor typo:
self.freq = 0
should probably read
self.freq = freq
Best regards,
Marcus
On 11.03.24 00:01, Sourya Saha wrote:
> I am trying to make a custo wave through an OOT python module. I am very
> new to DSP and GNU Radio. I decided to replicate the Sine wave from Signal
> source block. I seem to get no output. My code is as follows:
>
> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
> #
> # Copyright 2024 sourya.
> #
> # SPDX-License-Identifier: GPL-3.0-or-later
> #
>
>
> import numpy as np
> from gnuradio import gr
>
> class sine(gr.sync_block):
> """
> docstring for block sine
> """
> def __init__(self, sample_rate, duration=1000, freq=0, phase=0):
> gr.sync_block.__init__(self,
> name="sine",
> in_sig=None,
> out_sig=[np.float32, ])
> self.sample_rate = sample_rate
> self.duration = duration
> self.freq = 0
> self.phase = 0
>
>
> def work(self, input_items, output_items):
> #out = output_items[0]
>
> t = np.arange(0, len(output_items[0]),
> len(output_items[0])/self.sample_rate)
>
> s = np.sin(2*np.pi*self.freq*t + self.phase)
> self.phase += 2 * np.pi * self.freq / self.sample_rate
>
> # <+signal processing here+>
> output_items[0][:] = s
> return len(output_items[0])
>
> Last time I made some mistakes which I have corrected in this code. I am
> not sure about what the phase part will be and what value it will be
> updated to. Also, detailed help about this will really be appreciated since
> I am very new to this field and Mailing lists doesnt simply allow to get
> back to the solution provider in form of a reply like a forum does.
>
No comments:
Post a Comment