概要
pythonでgnuradioやってみた。
練習問題やってみた。
練習問題
1kHzのサイン波を表示せよ。
写真
サンプルコード
from gnuradio import gr
from gnuradio import blocks
import sys
try:
from gnuradio import qtgui
from PyQt5 import QtWidgets, Qt
import sip
except ImportError:
sys.stderr.write("Error: Program requires PyQt5 and gr-qtgui.\n")
sys.exit(1)
try:
from gnuradio import audio
from gnuradio import analog
except ImportError:
sys.stderr.write("Error: Program requires gr-analog.\n")
sys.exit(1)
class my_top_block(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
sample_rate = 8000
ampl = 0.2
npts = 256
src0 = analog.sig_source_f(sample_rate, analog.GR_SIN_WAVE, 1000, ampl)
dst = audio.sink(sample_rate, "")
self.connect(src0, (dst, 0))
self.snk1 = qtgui.time_sink_f(npts, sample_rate, "Sin Time Example", 1)
self.connect(src0, (self.snk1, 0))
self.qapp = QtWidgets.QApplication(sys.argv)
pyQt = self.snk1.qwidget()
pyWin = sip.wrapinstance(pyQt, QtWidgets.QWidget)
pyWin.show()
if __name__ == "__main__":
tb = my_top_block()
tb.start()
tb.qapp.exec_()
tb.stop()
以上。