Subversion Repositories svnkaklik

Compare Revisions

No changes between revisions

Ignore whitespace Rev 514 → Rev 515

/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>