discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sine wave from OOT module


From: Sourya Saha
Subject: Sine wave from OOT module
Date: Sun, 10 Mar 2024 19:01:33 -0400

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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]