/programy/GRC/Sonar/Sonar.py |
---|
0,0 → 1,101 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: Sonar |
# Author: Kaklik |
# Description: Sonar waform generator |
# Generated: Fri Feb 20 19:31:13 2009 |
################################################## |
from gnuradio import audio |
from gnuradio import gr |
from gnuradio.wxgui import scopesink2 |
from grc_gnuradio import wxgui as grc_wxgui |
import wx |
class Sonar(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__( |
self, |
title="GRC - Executing: Sonar", |
icon="/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png", |
) |
################################################## |
# Variables |
################################################## |
self.samp_rate = samp_rate = 96000 |
self.frequency = frequency = 20000 |
self.ampl = ampl = .4 |
################################################## |
# Controls |
################################################## |
_frequency_control = grc_wxgui.slider_horizontal_control( |
window=self.GetWin(), |
callback=self.set_frequency, |
label='frequency', |
value=frequency, |
min=5000, |
max=30000, |
num_steps=1000, |
slider_length=500, |
) |
self.Add(_frequency_control) |
_ampl_control = grc_wxgui.slider_horizontal_control( |
window=self.GetWin(), |
callback=self.set_ampl, |
label="Volume", |
value=ampl, |
min=0, |
max=.5, |
num_steps=100, |
slider_length=200, |
) |
self.GridAdd(_ampl_control, 0, 0, 1, 2) |
################################################## |
# Blocks |
################################################## |
self.audio_sink = audio.sink(48000, "hw:1,0", True) |
self.audio_source_0 = audio.source(48000, "hw:1,0", True) |
self.gr_sig_source_x = gr.sig_source_f(samp_rate, gr.GR_SIN_WAVE, frequency, ampl, 0) |
self.wxgui_scopesink2_0 = scopesink2.scope_sink_f( |
self.GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate*2, |
frame_decim=15, |
v_scale=None, |
t_scale=.0001, |
num_inputs=2, |
) |
self.wxgui_scopesink2_0.win.set_format_line() |
self.Add(self.wxgui_scopesink2_0.win) |
################################################## |
# Connections |
################################################## |
self.connect((self.gr_sig_source_x, 0), (self.audio_sink, 0)) |
self.connect((self.gr_sig_source_x, 0), (self.wxgui_scopesink2_0, 0)) |
self.connect((self.audio_source_0, 0), (self.wxgui_scopesink2_0, 1)) |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
self.gr_sig_source_x.set_sampling_freq(self.samp_rate) |
self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate*2) |
def set_frequency(self, frequency): |
self.frequency = frequency |
self.gr_sig_source_x.set_frequency(self.frequency) |
def set_ampl(self, ampl): |
self.ampl = ampl |
self.gr_sig_source_x.set_amplitude(self.ampl) |
if __name__ == '__main__': |
if gr.enable_realtime_scheduling() != gr.RT_OK: |
print "Error: failed to enable realtime scheduling." |
tb = Sonar() |
tb.Run() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/programy/GRC/Sonar/Sonar_40kHz.py |
---|
0,0 → 1,85 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: Sonar |
# Author: Kaklik |
# Description: Sonar waform generator |
# Generated: Sat Feb 14 20:14:10 2009 |
################################################## |
from gnuradio import audio |
from gnuradio import gr |
from gnuradio.wxgui import scopesink2 |
from grc_gnuradio import wxgui as grc_wxgui |
import wx |
class Sonar(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__( |
self, |
title="GRC - Executing: Sonar", |
icon="/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png", |
) |
################################################## |
# Variables |
################################################## |
self.samp_rate = samp_rate = 96000 |
self.ampl = ampl = .4 |
################################################## |
# Controls |
################################################## |
_ampl_control = grc_wxgui.slider_horizontal_control( |
window=self.GetWin(), |
callback=self.set_ampl, |
label="Volume", |
value=ampl, |
min=0, |
max=.5, |
num_steps=100, |
slider_length=200, |
) |
self.GridAdd(_ampl_control, 0, 0, 1, 2) |
################################################## |
# Blocks |
################################################## |
self.audio_sink = audio.sink(96000, "hw:1,0", True) |
self.audio_source_0 = audio.source(96000, "hw:1,0", True) |
self.gr_sig_source_x = gr.sig_source_f(samp_rate, gr.GR_SIN_WAVE, 39000, ampl, 0) |
self.wxgui_scopesink2_0 = scopesink2.scope_sink_f( |
self.GetWin(), |
title="Scope Plot", |
sample_rate=250000, |
frame_decim=15, |
v_scale=None, |
t_scale=.0001, |
num_inputs=2, |
) |
self.wxgui_scopesink2_0.win.set_format_line() |
self.Add(self.wxgui_scopesink2_0.win) |
################################################## |
# Connections |
################################################## |
self.connect((self.audio_source_0, 0), (self.wxgui_scopesink2_0, 1)) |
self.connect((self.gr_sig_source_x, 0), (self.audio_sink, 0)) |
self.connect((self.gr_sig_source_x, 0), (self.wxgui_scopesink2_0, 0)) |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate) |
self.gr_sig_source_x.set_sampling_freq(self.samp_rate) |
def set_ampl(self, ampl): |
self.ampl = ampl |
self.gr_sig_source_x.set_amplitude(self.ampl) |
if __name__ == '__main__': |
if gr.enable_realtime_scheduling() != gr.RT_OK: |
print "Error: failed to enable realtime scheduling." |
tb = Sonar() |
tb.Run() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/programy/GRC/Sonar/frequency_response.grc |
---|
0,0 → 1,262 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Fri Feb 20 19:47:38 2009</timestamp> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value>hw:1,0</value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(653, 387)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_source</key> |
<param> |
<key>id</key> |
<value>audio_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value>hw:1,0</value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_outputs</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(452, 510)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>32000</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 170)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>gr_noise_source_x</key> |
<param> |
<key>id</key> |
<value>gr_noise_source_x_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>noise_type</key> |
<value>gr.GR_UNIFORM</value> |
</param> |
<param> |
<key>amp</key> |
<value>1</value> |
</param> |
<param> |
<key>seed</key> |
<value>100</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(450, 388)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_fftsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_fftsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>FFT Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>96000</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>y_per_div</key> |
<value>10</value> |
</param> |
<param> |
<key>y_divs</key> |
<value>8</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>50</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>2048</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>25</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>average</key> |
<value>True</value> |
</param> |
<param> |
<key>peak_hold</key> |
<value>False</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(807, 446)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>frequency_response</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value>untitled</value> |
</param> |
<param> |
<key>author</key> |
<value>unknown</value> |
</param> |
<param> |
<key>description</key> |
<value>gnuradio flow graph</value> |
</param> |
<param> |
<key>window_size</key> |
<value>1280, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>gr_noise_source_x_0</source_block_id> |
<sink_block_id>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>audio_source_0</source_block_id> |
<sink_block_id>wxgui_fftsink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/programy/GRC/Sonar/frequency_response.py |
---|
0,0 → 1,66 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: untitled |
# Author: unknown |
# Description: gnuradio flow graph |
# Generated: Fri Feb 20 19:47:38 2009 |
################################################## |
from gnuradio import audio |
from gnuradio import gr |
from gnuradio.wxgui import fftsink2 |
from grc_gnuradio import wxgui as grc_wxgui |
import wx |
class frequency_response(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__( |
self, |
title="GRC - Executing: untitled", |
icon="/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png", |
) |
################################################## |
# Variables |
################################################## |
self.samp_rate = samp_rate = 32000 |
################################################## |
# Blocks |
################################################## |
self.audio_sink_0 = audio.sink(48000, "hw:1,0", True) |
self.audio_source_0 = audio.source(48000, "hw:1,0", True) |
self.gr_noise_source_x_0 = gr.noise_source_f(gr.GR_UNIFORM, 1, 100) |
self.wxgui_fftsink2_0 = fftsink2.fft_sink_f( |
self.GetWin(), |
baseband_freq=0, |
y_per_div=10, |
y_divs=8, |
ref_level=50, |
sample_rate=96000, |
fft_size=2048, |
fft_rate=25, |
average=True, |
avg_alpha=None, |
title="FFT Plot", |
peak_hold=False, |
) |
self.Add(self.wxgui_fftsink2_0.win) |
################################################## |
# Connections |
################################################## |
self.connect((self.gr_noise_source_x_0, 0), (self.audio_sink_0, 0)) |
self.connect((self.audio_source_0, 0), (self.wxgui_fftsink2_0, 0)) |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
if __name__ == '__main__': |
if gr.enable_realtime_scheduling() != gr.RT_OK: |
print "Error: failed to enable realtime scheduling." |
tb = frequency_response() |
tb.Run() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/programy/GRC/Sonar/sonar.grc |
---|
0,0 → 1,362 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Fri Feb 20 19:31:11 2009</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Sonar</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value>Sonar</value> |
</param> |
<param> |
<key>author</key> |
<value>Kaklik</value> |
</param> |
<param> |
<key>description</key> |
<value>Sonar waform generator</value> |
</param> |
<param> |
<key>window_size</key> |
<value>1280, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>ampl</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value>Volume</value> |
</param> |
<param> |
<key>value</key> |
<value>.4</value> |
</param> |
<param> |
<key>min</key> |
<value>0</value> |
</param> |
<param> |
<key>max</key> |
<value>.5</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>100</value> |
</param> |
<param> |
<key>slider_length</key> |
<value>200</value> |
</param> |
<param> |
<key>slider_type</key> |
<value>horizontal</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value>0, 0, 1, 2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(13, 254)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value>hw:1,0</value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(771, 132)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>96000</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(11, 171)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>gr_sig_source_x</key> |
<param> |
<key>id</key> |
<value>gr_sig_source_x</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>waveform</key> |
<value>gr.GR_SIN_WAVE</value> |
</param> |
<param> |
<key>freq</key> |
<value>frequency</value> |
</param> |
<param> |
<key>amp</key> |
<value>ampl</value> |
</param> |
<param> |
<key>offset</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(310, 197)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>frequency</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value></value> |
</param> |
<param> |
<key>value</key> |
<value>20000</value> |
</param> |
<param> |
<key>min</key> |
<value>5000</value> |
</param> |
<param> |
<key>max</key> |
<value>30000</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>1000</value> |
</param> |
<param> |
<key>slider_length</key> |
<value>500</value> |
</param> |
<param> |
<key>slider_type</key> |
<value>horizontal</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(16, 419)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_source</key> |
<param> |
<key>id</key> |
<value>audio_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value>hw:1,0</value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_outputs</key> |
<value>1</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(293, 340)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate*2</value> |
</param> |
<param> |
<key>frame_decim</key> |
<value>15</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>.0001</value> |
</param> |
<param> |
<key>marker</key> |
<value>set_format_line</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(770, 294)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>gr_sig_source_x</source_block_id> |
<sink_block_id>audio_sink</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>gr_sig_source_x</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>audio_source_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
</flow_graph> |