Changes for page SDR
Last modified by Administrator on 10-03-2021, 11:01
edited by Jean-Yves Dupertuis
on 04-04-2018, 16:19
on 04-04-2018, 16:19
edited by Jean-Yves Dupertuis
on 27-03-2018, 16:54
on 27-03-2018, 16:54
Change comment:
SDR-linux
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 6 removed)
Details
- Page properties
-
- Content
-
... ... @@ -27,436 +27,6 @@ 27 27 Le wiki me demande de lancer un script écrit en python qui se trouve : 28 28 https://raw.githubusercontent.com/pothosware/gnuradio-companion-exe/master/GNURadioHelper.py 29 29 30 - 31 -{{code language="python" title="fichier de test"}} 32 -# Copyright (c) 2015-2016 Josh Blum 33 -# SPDX-License-Identifier: BSL-1.0 34 - 35 -######################################################################## 36 -## Do checks and prepare dependencies for GRC 37 -######################################################################## 38 -import os 39 -import sys 40 -import inspect 41 -import tempfile 42 -import subprocess 43 -from ctypes.util import find_library 44 - 45 -######################################################################## 46 -## Registry/Environment helpers 47 -######################################################################## 48 -import ctypes 49 -from ctypes.wintypes import HWND, UINT, WPARAM, LPARAM, LPVOID 50 -LRESULT = LPARAM 51 -import os 52 -import sys 53 -try: 54 - import winreg 55 - unicode = str 56 -except ImportError: 57 - import _winreg as winreg # Python 2.x 58 - 59 -class Environment(object): 60 - #path = r'SYSTEM\CurrentControlSet\Control\Session Manager\Environment' 61 - #hklm = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) 62 - path = r'Environment' 63 - hklm = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) 64 - key = winreg.OpenKey(hklm, path, 0, winreg.KEY_READ | winreg.KEY_WRITE) 65 - SendMessage = ctypes.windll.user32.SendMessageW 66 - SendMessage.argtypes = HWND, UINT, WPARAM, LPVOID 67 - SendMessage.restype = LRESULT 68 - HWND_BROADCAST = 0xFFFF 69 - WM_SETTINGCHANGE = 0x1A 70 - NO_DEFAULT = type('NO_DEFAULT', (object,), {})() 71 - 72 - def get(self, name, default=NO_DEFAULT): 73 - try: 74 - value = winreg.QueryValueEx(self.key, name)[0] 75 - except WindowsError: 76 - if default is self.NO_DEFAULT: 77 - raise ValueError("No such registry key", name) 78 - value = default 79 - return value 80 - 81 - def set(self, name, value): 82 - if value: 83 - winreg.SetValueEx(self.key, name, 0, winreg.REG_EXPAND_SZ, value) 84 - else: 85 - winreg.DeleteValue(self.key, name) 86 - self.notify() 87 - 88 - def notify(self): 89 - self.SendMessage( 90 - self.HWND_BROADCAST, self.WM_SETTINGCHANGE, 0, u'Environment') 91 - 92 -######################################################################## 93 -## determine-if-an-executable-or-library-is-32-or-64-bits-on-windows 94 -## https://stackoverflow.com/questions/1345632 95 -######################################################################## 96 -import struct 97 - 98 -IMAGE_FILE_MACHINE_I386=332 99 -IMAGE_FILE_MACHINE_IA64=512 100 -IMAGE_FILE_MACHINE_AMD64=34404 101 - 102 -def getDllMachineType(path): 103 - f=open(path, "rb") 104 - s=f.read(2) 105 - if s!="MZ": raise Exception("%s is not a DLL"%path) 106 - f.seek(60) 107 - s=f.read(4) 108 - header_offset=struct.unpack("<L", s)[0] 109 - f.seek(header_offset+4) 110 - s=f.read(2) 111 - machine=struct.unpack("<H", s)[0] 112 - f.close() 113 - return machine 114 - 115 -######################################################################## 116 -## Pip helpers 117 -######################################################################## 118 -PIP_EXE = os.path.join(os.path.dirname(sys.executable), 'Scripts', 'pip.exe') 119 - 120 -def pip_install(arg): 121 - ret = subprocess.call([PIP_EXE, 'install', arg], shell=True) 122 - if ret != 0: 123 - print("Error: pip failed to install %s"%arg) 124 - return -1 125 - 126 -######################################################################## 127 -## Python checks 128 -######################################################################## 129 -def check_python_version(): 130 - is_64bits = sys.maxsize > 2**32 131 - if not is_64bits: 132 - raise Exception("requires 64-bit Python") 133 - 134 - if sys.version_info.major != 2 or sys.version_info.minor != 7: 135 - raise Exception("requires Python version 2.7") 136 - 137 - if not os.path.exists(PIP_EXE): 138 - raise Exception("can't find pip executable %s"%PIP_EXE) 139 - 140 - return sys.version 141 - 142 -def handle_python_version(): 143 - print("Error: Invoke/Reinstall Python2.7 for amd64") 144 - return -1 145 - 146 -######################################################################## 147 -## GTK checks 148 -######################################################################## 149 -def check_gtk_runtime(): 150 - 151 - gtk_dll_name = "libgtk-win32-2.0-0.dll" 152 - 153 - #first check that the installer default is found 154 - installer_default = os.path.join("C:\\Program Files\\GTK2-Runtime Win64\\bin", gtk_dll_name) 155 - if os.path.exists(installer_default): return installer_default 156 - 157 - #regular dll search within the path 158 - libgtk = find_library(gtk_dll_name) 159 - if libgtk is None: 160 - raise Exception("failed to locate the GTK+ runtime DLL") 161 - 162 - #reject 32-bit versions of this dll 163 - if getDllMachineType(libgtk) != IMAGE_FILE_MACHINE_AMD64: 164 - raise Exception("%s is not AMD64"%libgtk) 165 - 166 - return libgtk 167 - 168 -def handle_gtk_runtime(): 169 - 170 - GTK_URL = 'http://downloads.myriadrf.org/binaries/python27_amd64/gtk2-runtime-2.22.1-2014-02-01-ts-win64.exe' 171 - GTK_EXE = os.path.join(tempfile.gettempdir(), 'gtk2-runtime-2.22.1-2014-02-01-ts-win64.exe') 172 - 173 - if not os.path.exists(GTK_EXE): 174 - 175 - #need requests to download the exe 176 - try: import requests 177 - except: pip_install("requests") 178 - import requests 179 - 180 - #download from the url to the destination 181 - r = requests.get(GTK_URL) 182 - with open(GTK_EXE, 'wb') as fd: 183 - for chunk in r.iter_content(1024*1024): 184 - fd.write(chunk) 185 - 186 - if not os.path.exists(GTK_EXE): 187 - print("Cant find installer: %s"%GTK_EXE) 188 - print("Failed to download: %s"%GTK_URL) 189 - return -1 190 - 191 - print("Running installer: %s"%GTK_EXE) 192 - ret = subprocess.call([GTK_EXE, '/S'], shell=True) #silent install 193 - if ret != 0: 194 - print("The GTK installer failed with exit code %d"%ret) 195 - exit(ret) 196 - 197 - print("The GTK installer should have modified the system path") 198 - print("Open a new command window and re-run this script...") 199 - 200 -def check_import_gtk(): 201 - import gtk 202 - return inspect.getfile(gtk) 203 - 204 -def handle_import_gtk(): 205 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/pygtk-2.22.0-cp27-none-win_amd64.whl') 206 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/pygobject-2.28.6-cp27-none-win_amd64.whl') 207 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/pycairo_gtk-1.10.0-cp27-none-win_amd64.whl') 208 - 209 -######################################################################## 210 -## GNU Radio checks 211 -######################################################################## 212 -def guess_bin_path(): 213 - 214 - #was it run from the proper install directory? 215 - path = os.path.abspath(os.path.dirname(__file__)) 216 - if os.path.exists(os.path.join(path, "gnuradio-runtime.dll")): return path 217 - 218 - #otherwise search the path to find the root 219 - gnuradio_runtime = find_library("gnuradio-runtime.dll") 220 - if gnuradio_runtime: return gnuradio_runtime 221 - 222 -def check_gr_runtime(): 223 - gnuradio_runtime = find_library("gnuradio-runtime.dll") 224 - 225 - if gnuradio_runtime is None: 226 - raise Exception("failed to locate the GNURadio runtime DLL") 227 - 228 - return gnuradio_runtime 229 - 230 -def handle_gr_runtime(): 231 - 232 - path = guess_bin_path() 233 - 234 - #we dont know where the bin path is, this is probably an installer issue 235 - #print this message and return error so other handlers are not invoked 236 - if path is None: 237 - print("Error: PothosSDR DLLs missing from the system path") 238 - print(" See instructions to 'Add PothosSDR to the system PATH'") 239 - print(" https://github.com/pothosware/PothosSDR/wiki/Tutorial") 240 - return -1 241 - 242 - e = Environment() 243 - PATH = e.get('PATH', '') 244 - print("Current PATH: '%s'"%PATH) 245 - if not PATH: PATH = list() 246 - else: PATH = PATH.split(';') 247 - 248 - if path not in PATH: 249 - print("Adding %s to the PATH"%path) 250 - PATH.append(path) 251 - e.set('PATH', ';'.join(PATH)) 252 - 253 - print("") 254 - print("The PATH for the current user has been modified") 255 - print("Open a new command window and re-run this script...") 256 - 257 -def check_import_gr(): 258 - import gnuradio 259 - from gnuradio import gr 260 - return inspect.getfile(gnuradio) 261 - 262 -def handle_import_gr(): 263 - binDir = guess_bin_path() 264 - path = os.path.join(os.path.dirname(binDir), 'lib', 'python2.7', 'site-packages') 265 - if not os.path.exists(path): #or use old-style path without python version 266 - path = os.path.join(os.path.dirname(binDir), 'lib', 'site-packages') 267 - path = os.path.normpath(path) 268 - print("Error: GNURadio modules missing from PYTHONPATH") 269 - 270 - print("") 271 - print("Current search path:") 272 - for searchPath in sys.path: print(" * %s"%searchPath) 273 - print("") 274 - 275 - e = Environment() 276 - PYTHONPATH = e.get('PYTHONPATH', '') 277 - print("Current PYTHONPATH: '%s'"%PYTHONPATH) 278 - if not PYTHONPATH: PYTHONPATH = list() 279 - else: PYTHONPATH = PYTHONPATH.split(';') 280 - 281 - if path not in PYTHONPATH: 282 - print("Adding %s to the PYTHONPATH"%path) 283 - PYTHONPATH.append(path) 284 - e.set('PYTHONPATH', ';'.join(PYTHONPATH)) 285 - 286 - print("") 287 - print("The PYTHONPATH for the current user has been modified") 288 - print("Open a new command window and re-run this script...") 289 - 290 -def check_grc_blocks_path(): 291 - GRC_BLOCKS_PATH = os.environ.get('GRC_BLOCKS_PATH', '').split(';')[0] #take the first entry 292 - if not GRC_BLOCKS_PATH: 293 - raise Exception("GRC_BLOCKS_PATH is not set") 294 - if not os.path.exists(GRC_BLOCKS_PATH): 295 - raise Exception("GRC_BLOCKS_PATH '%s' does not exist"%GRC_BLOCKS_PATH) 296 - if not os.path.exists(os.path.join(GRC_BLOCKS_PATH, 'options.xml')): 297 - raise Exception("GRC_BLOCKS_PATH '%s' does not contain options.xml"%GRC_BLOCKS_PATH) 298 - return GRC_BLOCKS_PATH 299 - 300 -def handle_grc_blocks_path(): 301 - binDir = guess_bin_path() 302 - path = os.path.join(os.path.dirname(binDir), 'share', 'gnuradio', 'grc', 'blocks') 303 - path = os.path.normpath(path) 304 - 305 - print("Setting the GRC_BLOCKS_PATH to %s"%path) 306 - e = Environment() 307 - e.set('GRC_BLOCKS_PATH', path) 308 - 309 - print("") 310 - print("The GRC_BLOCKS_PATH for the current user has been modified") 311 - print("Open a new command window and re-run this script...") 312 - 313 -######################################################################## 314 -## Other module checks 315 -######################################################################## 316 -def check_import_numpy(): 317 - import numpy 318 - return inspect.getfile(numpy) 319 - 320 -def handle_import_numpy(): 321 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/numpy-1.12.0+mkl-cp27-cp27m-win_amd64.whl') 322 - 323 -def check_import_lxml(): 324 - import lxml 325 - return inspect.getfile(lxml) 326 - 327 -def handle_import_lxml(): 328 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/lxml-3.7.2-cp27-cp27m-win_amd64.whl') 329 - 330 -def check_import_cheetah(): 331 - import Cheetah 332 - return inspect.getfile(Cheetah) 333 - 334 -def handle_import_cheetah(): 335 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/Cheetah-2.4.4-cp27-none-win_amd64.whl') 336 - 337 -def check_import_wxpython(): 338 - import wx 339 - import wx.glcanvas 340 - return inspect.getfile(wx) 341 - 342 -def handle_import_wxpython(): 343 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/wxPython-3.0.2.0-cp27-none-win_amd64.whl') 344 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/wxPython_common-3.0.2.0-py2-none-any.whl') 345 - 346 -def check_import_pyopengl(): 347 - import OpenGL 348 - import OpenGL.GL 349 - return inspect.getfile(OpenGL) 350 - 351 -def handle_import_pyopengl(): 352 - print("Installing PyOpenGL with pip:") 353 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/PyOpenGL-3.1.1-cp27-cp27m-win_amd64.whl') 354 - pip_install('http://downloads.myriadrf.org/binaries/python27_amd64/PyOpenGL_accelerate-3.1.1-cp27-cp27m-win_amd64.whl') 355 - print(" Done!") 356 - 357 -CHECKS = [ 358 - #first check gr runtime so we can locate the install based on runtime dll in PATH 359 - ("GR_RUNTIME", 'locate GNURadio runtime', check_gr_runtime, handle_gr_runtime), 360 - 361 - #gtk runtime is similar check for dlls in the seatch PATH (no python required) 362 - ("GTK_RUNTIME", 'locate GTK+ runtime', check_gtk_runtime, handle_gtk_runtime), 363 - 364 - #basic python environment and import checks and using pip to install from a URL 365 - ("PYVERSION", 'Python version is 2.7', check_python_version, handle_python_version), 366 - ("IMPORT_GTK", 'import gtk module', check_import_gtk, handle_import_gtk), 367 - ("IMPORT_NUMPY", 'import numpy module', check_import_numpy, handle_import_numpy), 368 - ("IMPORT_LXML", 'import lxml module', check_import_lxml, handle_import_lxml), 369 - ("IMPORT_CHEETAH", 'import Cheetah module', check_import_cheetah, handle_import_cheetah), 370 - ("IMPORT_WX", 'import wx module', check_import_wxpython, handle_import_wxpython), 371 - ("IMPORT_OPENGL", 'import OpenGL module', check_import_pyopengl, handle_import_pyopengl), 372 - 373 - #final checks for GNU Radio and GRC that set local environment variables 374 - ("GRC_BLOCKS", 'GRC blocks path set', check_grc_blocks_path, handle_grc_blocks_path), 375 - ("IMPORT_GR", 'import GNURadio module', check_import_gr, handle_import_gr), 376 -] 377 - 378 -def main(): 379 - print("") 380 - print("="*40) 381 - print("== Runtime and import checks") 382 - print("="*40) 383 - 384 - maxLen = max([len(c[1]) for c in CHECKS]) 385 - msgs = dict() 386 - statuses = dict() 387 - numFails = 0 388 - numPasses = 0 389 - for key, what, check, handle in CHECKS: 390 - whatStr = "%s...%s"%(what, ' '*(maxLen-len(what))) 391 - try: 392 - msg = check() 393 - statStr = "PASS" 394 - checkPassed = True 395 - numPasses += 1 396 - except Exception as ex: 397 - statStr = "FAIL" 398 - checkPassed = False 399 - msg = str(ex) 400 - numFails += 1 401 - 402 - print(" * Check %s %s"%(whatStr, statStr)) 403 - msgs[key] = msg 404 - statuses[key] = checkPassed 405 - 406 - if numPasses: 407 - print("") 408 - print("="*40) 409 - print("== Checks passed summary") 410 - print("="*40) 411 - for key, what, check, handle in CHECKS: 412 - if statuses[key]: print("%s:\t%s"%(key, msgs[key])) 413 - 414 - if numFails == 0: 415 - print("") 416 - print("All checked passed! gnuradio-companion is ready to use.") 417 - return 0 418 - 419 - if numFails: 420 - print("") 421 - print("="*40) 422 - print("== Checks failed summary") 423 - print("="*40) 424 - for key, what, check, handle in CHECKS: 425 - if not statuses[key]: print("%s:\t%s"%(key, msgs[key])) 426 - 427 - if numFails: 428 - print("") 429 - print("="*40) 430 - print("== Fixing problems") 431 - print("="*40) 432 - for key, what, check, handle in CHECKS: 433 - if not statuses[key]: 434 - print("Handling issues for %s..."%key) 435 - ret = handle() 436 - #exit asap when return code provided 437 - if ret is not None: return ret 438 - 439 - print("") 440 - print("Changes made! Please re-run this script in a new terminal.") 441 - 442 -if __name__ == '__main__': 443 - 444 - #run main with exception handling 445 - ret = None 446 - try: ret = main() 447 - except Exception as ex: 448 - print("Error: %s"%str(ex)) 449 - 450 - #give time to read message if opened from explorer 451 - #wait for user to press a key 452 - print("") 453 - os.system('pause') 454 - 455 - #return the error code from main 456 - if ret is None: ret = 0 457 - exit(ret) 458 -{{/code}} 459 - 460 460 Avec copier - coller, je l'ai sauvé sur mon PC. 461 461 462 462 J'ouvre le fichier avec "Edit with IDLE", ensuite via "run modul F5" , après avoir installé GTK+ runtime, il m'annonce que je dois réinstallé python 2.7, car j'avais chargé un autre 2.7.14 ! ... ... @@ -593,7 +593,7 @@ 593 593 594 594 Je profite pour installer directement GQRX : 595 595 596 -~~$//sudo apt install gqrx -sdr//166 +~~$//sudo apt install gqrx// 597 597 598 598 Ensuite je branche ma clef DVB-t, et je regarde si le programme GQRX la trouve. 599 599 ... ... @@ -608,38 +608,4 @@ 608 608 Après scan, je trouve une radio sur 98,2 MHz 609 609 610 610 611 -== GNURadio == 612 - 613 -{{error}} 614 -Attention AVANT DE LANCER GNU COMPAGNON VOUS DEVEZ INSTALLER GQRX-SDR, SINON il vous manquera des bibliothèques !!! 615 -{{/error}} 616 - 617 - 618 -En suivant l'excellent document qui se trouve : 619 -http://f0fyf.blogspot.ch/2014/08/recepteur-fm-avec-gnuradio.html 620 -je réalise mon premier programme SDR avec ma clef RTL-SDR. 621 - 622 -[[testSDR-b.grc>>attach:testSDR-b.grc]] 623 - 624 -{{error}} 625 -Sur une version linux , mon module "Options" n'avait pas la dimension de la page !? 626 -ecrivez : 1280, 1024 627 -{{/error}} 628 - 629 - 630 -[[image:DJtestDaarioSDR.png||height="545" width="562"]] 631 - 632 - 633 -Normalement on doit pouvoir lancer directement avec le fichier python : 634 - 635 -[[DJTestRadioSDR.py>>attach:DJTestRadioSDR.py||title="fonctionne avec python 2.7"]] 636 - 637 - 638 -[[image:testRadioSDR.png||height="358" width="599"]] 639 - 640 - 641 -C'est confirmé ! depuis un terminal : 642 - 643 -~~$//python DJTestRadioSDR.py// 644 - 645 -[[image:terminalDirectPython.png||height="196" width="610"]] 181 +== GNURadio ==
- DJTestRadioSDR.py
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -7.3 KB - Content
-
... ... @@ -1,220 +1,0 @@ 1 -#!/usr/bin/env python2 2 -# -*- coding: utf-8 -*- 3 -################################################## 4 -# GNU Radio Python Flow Graph 5 -# Title: Test Radion SDR 6 -# Author: Jean-Yves HB9FOU 7 -# Generated: Tue Mar 27 17:01:00 2018 8 -################################################## 9 - 10 -if __name__ == '__main__': 11 - import ctypes 12 - import sys 13 - if sys.platform.startswith('linux'): 14 - try: 15 - x11 = ctypes.cdll.LoadLibrary('libX11.so') 16 - x11.XInitThreads() 17 - except: 18 - print "Warning: failed to XInitThreads()" 19 - 20 -from gnuradio import analog 21 -from gnuradio import audio 22 -from gnuradio import blocks 23 -from gnuradio import eng_notation 24 -from gnuradio import filter 25 -from gnuradio import gr 26 -from gnuradio import wxgui 27 -from gnuradio.eng_option import eng_option 28 -from gnuradio.fft import window 29 -from gnuradio.filter import firdes 30 -from gnuradio.wxgui import forms 31 -from gnuradio.wxgui import waterfallsink2 32 -from grc_gnuradio import wxgui as grc_wxgui 33 -from optparse import OptionParser 34 -import osmosdr 35 -import time 36 -import wx 37 - 38 - 39 -class DJTestRadioSDR(grc_wxgui.top_block_gui): 40 - 41 - def __init__(self): 42 - grc_wxgui.top_block_gui.__init__(self, title="Test Radion SDR") 43 - _icon_path = "/usr/share/icons/hicolor/32x32/apps/gnuradio-grc.png" 44 - self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) 45 - 46 - ################################################## 47 - # Variables 48 - ################################################## 49 - self.samp_rate = samp_rate = 2e6 50 - self.quadrature = quadrature = 500e3 51 - self.freq = freq = 98.2 52 - self.cutoff = cutoff = 100e3 53 - self.audio_dec = audio_dec = 10 54 - self.Volume = Volume = 8 55 - 56 - ################################################## 57 - # Blocks 58 - ################################################## 59 - _freq_sizer = wx.BoxSizer(wx.VERTICAL) 60 - self._freq_text_box = forms.text_box( 61 - parent=self.GetWin(), 62 - sizer=_freq_sizer, 63 - value=self.freq, 64 - callback=self.set_freq, 65 - label="Frequence", 66 - converter=forms.float_converter(), 67 - proportion=0, 68 - ) 69 - self._freq_slider = forms.slider( 70 - parent=self.GetWin(), 71 - sizer=_freq_sizer, 72 - value=self.freq, 73 - callback=self.set_freq, 74 - minimum=88, 75 - maximum=108, 76 - num_steps=100, 77 - style=wx.SL_HORIZONTAL, 78 - cast=float, 79 - proportion=1, 80 - ) 81 - self.Add(_freq_sizer) 82 - _Volume_sizer = wx.BoxSizer(wx.VERTICAL) 83 - self._Volume_text_box = forms.text_box( 84 - parent=self.GetWin(), 85 - sizer=_Volume_sizer, 86 - value=self.Volume, 87 - callback=self.set_Volume, 88 - label="volume", 89 - converter=forms.float_converter(), 90 - proportion=0, 91 - ) 92 - self._Volume_slider = forms.slider( 93 - parent=self.GetWin(), 94 - sizer=_Volume_sizer, 95 - value=self.Volume, 96 - callback=self.set_Volume, 97 - minimum=0, 98 - maximum=100, 99 - num_steps=100, 100 - style=wx.SL_HORIZONTAL, 101 - cast=float, 102 - proportion=1, 103 - ) 104 - self.Add(_Volume_sizer) 105 - self.wxgui_waterfallsink2_0 = waterfallsink2.waterfall_sink_c( 106 - self.GetWin(), 107 - baseband_freq=0, 108 - dynamic_range=100, 109 - ref_level=0, 110 - ref_scale=2.0, 111 - sample_rate=samp_rate, 112 - fft_size=512, 113 - fft_rate=15, 114 - average=False, 115 - avg_alpha=None, 116 - title="Waterfall ", 117 - ) 118 - self.Add(self.wxgui_waterfallsink2_0.win) 119 - self.rtlsdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + "" ) 120 - self.rtlsdr_source_0.set_sample_rate(samp_rate) 121 - self.rtlsdr_source_0.set_center_freq(freq*1e6, 0) 122 - self.rtlsdr_source_0.set_freq_corr(-30, 0) 123 - self.rtlsdr_source_0.set_dc_offset_mode(0, 0) 124 - self.rtlsdr_source_0.set_iq_balance_mode(0, 0) 125 - self.rtlsdr_source_0.set_gain_mode(True, 0) 126 - self.rtlsdr_source_0.set_gain(50, 0) 127 - self.rtlsdr_source_0.set_if_gain(30, 0) 128 - self.rtlsdr_source_0.set_bb_gain(20, 0) 129 - self.rtlsdr_source_0.set_antenna("1", 0) 130 - self.rtlsdr_source_0.set_bandwidth(0, 0) 131 - 132 - self.rational_resampler_xxx_1 = filter.rational_resampler_fff( 133 - interpolation=48, 134 - decimation=int(quadrature/1e3/audio_dec), 135 - taps=None, 136 - fractional_bw=None, 137 - ) 138 - self.rational_resampler_xxx_0 = filter.rational_resampler_ccc( 139 - interpolation=1, 140 - decimation=int(samp_rate/quadrature), 141 - taps=None, 142 - fractional_bw=None, 143 - ) 144 - self.low_pass_filter_0 = filter.fir_filter_ccf(1, firdes.low_pass( 145 - 1, samp_rate, cutoff, 1e6, firdes.WIN_HAMMING, 6.76)) 146 - self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff((Volume, )) 147 - self.audio_sink_0 = audio.sink(48000, "", True) 148 - self.analog_wfm_rcv_0 = analog.wfm_rcv( 149 - quad_rate=quadrature, 150 - audio_decimation=audio_dec, 151 - ) 152 - 153 - ################################################## 154 - # Connections 155 - ################################################## 156 - self.connect((self.analog_wfm_rcv_0, 0), (self.rational_resampler_xxx_1, 0)) 157 - self.connect((self.blocks_multiply_const_vxx_0, 0), (self.audio_sink_0, 0)) 158 - self.connect((self.low_pass_filter_0, 0), (self.analog_wfm_rcv_0, 0)) 159 - self.connect((self.rational_resampler_xxx_0, 0), (self.low_pass_filter_0, 0)) 160 - self.connect((self.rational_resampler_xxx_1, 0), (self.blocks_multiply_const_vxx_0, 0)) 161 - self.connect((self.rtlsdr_source_0, 0), (self.rational_resampler_xxx_0, 0)) 162 - self.connect((self.rtlsdr_source_0, 0), (self.wxgui_waterfallsink2_0, 0)) 163 - 164 - def get_samp_rate(self): 165 - return self.samp_rate 166 - 167 - def set_samp_rate(self, samp_rate): 168 - self.samp_rate = samp_rate 169 - self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate, self.cutoff, 1e6, firdes.WIN_HAMMING, 6.76)) 170 - self.rtlsdr_source_0.set_sample_rate(self.samp_rate) 171 - self.wxgui_waterfallsink2_0.set_sample_rate(self.samp_rate) 172 - 173 - def get_quadrature(self): 174 - return self.quadrature 175 - 176 - def set_quadrature(self, quadrature): 177 - self.quadrature = quadrature 178 - 179 - def get_freq(self): 180 - return self.freq 181 - 182 - def set_freq(self, freq): 183 - self.freq = freq 184 - self._freq_slider.set_value(self.freq) 185 - self._freq_text_box.set_value(self.freq) 186 - self.rtlsdr_source_0.set_center_freq(self.freq*1e6, 0) 187 - 188 - def get_cutoff(self): 189 - return self.cutoff 190 - 191 - def set_cutoff(self, cutoff): 192 - self.cutoff = cutoff 193 - self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate, self.cutoff, 1e6, firdes.WIN_HAMMING, 6.76)) 194 - 195 - def get_audio_dec(self): 196 - return self.audio_dec 197 - 198 - def set_audio_dec(self, audio_dec): 199 - self.audio_dec = audio_dec 200 - 201 - def get_Volume(self): 202 - return self.Volume 203 - 204 - def set_Volume(self, Volume): 205 - self.Volume = Volume 206 - self._Volume_slider.set_value(self.Volume) 207 - self._Volume_text_box.set_value(self.Volume) 208 - self.blocks_multiply_const_vxx_0.set_k((self.Volume, )) 209 - 210 - 211 -def main(top_block_cls=DJTestRadioSDR, options=None): 212 - 213 - tb = top_block_cls() 214 - tb.Start(True) 215 - tb.Wait() 216 - 217 - 218 -if __name__ == '__main__': 219 - main() 220 -
- DJtestDaarioSDR.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -107.0 KB - Content
- terminalDirectPython.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.8 KB - Content
- testRadioSDR.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -279.5 KB - Content
- testSDR-b.grc
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.1 KB - Content
-
... ... @@ -1,932 +1,0 @@ 1 -<?xml version='1.0' encoding='ASCII'?> 2 -<flow_graph> 3 - <timestamp>Wed Apr 4 10:10:57 2018</timestamp> 4 - <block> 5 - <key>variable</key> 6 - <param> 7 - <key>id</key> 8 - <value>samp_rate</value> 9 - </param> 10 - <param> 11 - <key>_enabled</key> 12 - <value>True</value> 13 - </param> 14 - <param> 15 - <key>value</key> 16 - <value>2e6</value> 17 - </param> 18 - <param> 19 - <key>_coordinate</key> 20 - <value>(176, 5)</value> 21 - </param> 22 - <param> 23 - <key>_rotation</key> 24 - <value>0</value> 25 - </param> 26 - </block> 27 - <block> 28 - <key>variable</key> 29 - <param> 30 - <key>id</key> 31 - <value>cutoff</value> 32 - </param> 33 - <param> 34 - <key>_enabled</key> 35 - <value>True</value> 36 - </param> 37 - <param> 38 - <key>value</key> 39 - <value>100e3</value> 40 - </param> 41 - <param> 42 - <key>_coordinate</key> 43 - <value>(494, 193)</value> 44 - </param> 45 - <param> 46 - <key>_rotation</key> 47 - <value>0</value> 48 - </param> 49 - </block> 50 - <block> 51 - <key>variable</key> 52 - <param> 53 - <key>id</key> 54 - <value>audio_dec</value> 55 - </param> 56 - <param> 57 - <key>_enabled</key> 58 - <value>True</value> 59 - </param> 60 - <param> 61 - <key>value</key> 62 - <value>10</value> 63 - </param> 64 - <param> 65 - <key>_coordinate</key> 66 - <value>(747, 226)</value> 67 - </param> 68 - <param> 69 - <key>_rotation</key> 70 - <value>0</value> 71 - </param> 72 - </block> 73 - <block> 74 - <key>variable</key> 75 - <param> 76 - <key>id</key> 77 - <value>quadrature</value> 78 - </param> 79 - <param> 80 - <key>_enabled</key> 81 - <value>True</value> 82 - </param> 83 - <param> 84 - <key>value</key> 85 - <value>500e3</value> 86 - </param> 87 - <param> 88 - <key>_coordinate</key> 89 - <value>(176, 69)</value> 90 - </param> 91 - <param> 92 - <key>_rotation</key> 93 - <value>0</value> 94 - </param> 95 - </block> 96 - <block> 97 - <key>rational_resampler_xxx</key> 98 - <param> 99 - <key>id</key> 100 - <value>rational_resampler_xxx_1</value> 101 - </param> 102 - <param> 103 - <key>_enabled</key> 104 - <value>True</value> 105 - </param> 106 - <param> 107 - <key>type</key> 108 - <value>fff</value> 109 - </param> 110 - <param> 111 - <key>interp</key> 112 - <value>48</value> 113 - </param> 114 - <param> 115 - <key>decim</key> 116 - <value>int(quadrature/1e3/audio_dec)</value> 117 - </param> 118 - <param> 119 - <key>taps</key> 120 - <value></value> 121 - </param> 122 - <param> 123 - <key>fbw</key> 124 - <value>0</value> 125 - </param> 126 - <param> 127 - <key>affinity</key> 128 - <value></value> 129 - </param> 130 - <param> 131 - <key>minoutbuf</key> 132 - <value>0</value> 133 - </param> 134 - <param> 135 - <key>maxoutbuf</key> 136 - <value>0</value> 137 - </param> 138 - <param> 139 - <key>_coordinate</key> 140 - <value>(312, 455)</value> 141 - </param> 142 - <param> 143 - <key>_rotation</key> 144 - <value>0</value> 145 - </param> 146 - </block> 147 - <block> 148 - <key>options</key> 149 - <param> 150 - <key>id</key> 151 - <value>DJTestRadioSDR</value> 152 - </param> 153 - <param> 154 - <key>_enabled</key> 155 - <value>True</value> 156 - </param> 157 - <param> 158 - <key>title</key> 159 - <value>Test Radion SDR</value> 160 - </param> 161 - <param> 162 - <key>author</key> 163 - <value>Jean-Yves HB9FOU</value> 164 - </param> 165 - <param> 166 - <key>description</key> 167 - <value></value> 168 - </param> 169 - <param> 170 - <key>window_size</key> 171 - <value>1280, 1024</value> 172 - </param> 173 - <param> 174 - <key>generate_options</key> 175 - <value>wx_gui</value> 176 - </param> 177 - <param> 178 - <key>category</key> 179 - <value>Custom</value> 180 - </param> 181 - <param> 182 - <key>run_options</key> 183 - <value>prompt</value> 184 - </param> 185 - <param> 186 - <key>run</key> 187 - <value>True</value> 188 - </param> 189 - <param> 190 - <key>max_nouts</key> 191 - <value>0</value> 192 - </param> 193 - <param> 194 - <key>realtime_scheduling</key> 195 - <value></value> 196 - </param> 197 - <param> 198 - <key>_coordinate</key> 199 - <value>(8, -1)</value> 200 - </param> 201 - <param> 202 - <key>_rotation</key> 203 - <value>0</value> 204 - </param> 205 - </block> 206 - <block> 207 - <key>analog_wfm_rcv</key> 208 - <param> 209 - <key>id</key> 210 - <value>analog_wfm_rcv_0</value> 211 - </param> 212 - <param> 213 - <key>_enabled</key> 214 - <value>True</value> 215 - </param> 216 - <param> 217 - <key>quad_rate</key> 218 - <value>quadrature</value> 219 - </param> 220 - <param> 221 - <key>audio_decimation</key> 222 - <value>audio_dec</value> 223 - </param> 224 - <param> 225 - <key>affinity</key> 226 - <value></value> 227 - </param> 228 - <param> 229 - <key>minoutbuf</key> 230 - <value>0</value> 231 - </param> 232 - <param> 233 - <key>maxoutbuf</key> 234 - <value>0</value> 235 - </param> 236 - <param> 237 - <key>_coordinate</key> 238 - <value>(734, 297)</value> 239 - </param> 240 - <param> 241 - <key>_rotation</key> 242 - <value>0</value> 243 - </param> 244 - </block> 245 - <block> 246 - <key>low_pass_filter</key> 247 - <param> 248 - <key>id</key> 249 - <value>low_pass_filter_0</value> 250 - </param> 251 - <param> 252 - <key>_enabled</key> 253 - <value>True</value> 254 - </param> 255 - <param> 256 - <key>type</key> 257 - <value>fir_filter_ccf</value> 258 - </param> 259 - <param> 260 - <key>decim</key> 261 - <value>1</value> 262 - </param> 263 - <param> 264 - <key>interp</key> 265 - <value>1</value> 266 - </param> 267 - <param> 268 - <key>gain</key> 269 - <value>1</value> 270 - </param> 271 - <param> 272 - <key>samp_rate</key> 273 - <value>samp_rate</value> 274 - </param> 275 - <param> 276 - <key>cutoff_freq</key> 277 - <value>cutoff</value> 278 - </param> 279 - <param> 280 - <key>width</key> 281 - <value>1e6</value> 282 - </param> 283 - <param> 284 - <key>win</key> 285 - <value>firdes.WIN_HAMMING</value> 286 - </param> 287 - <param> 288 - <key>beta</key> 289 - <value>6.76</value> 290 - </param> 291 - <param> 292 - <key>affinity</key> 293 - <value></value> 294 - </param> 295 - <param> 296 - <key>minoutbuf</key> 297 - <value>0</value> 298 - </param> 299 - <param> 300 - <key>maxoutbuf</key> 301 - <value>0</value> 302 - </param> 303 - <param> 304 - <key>_coordinate</key> 305 - <value>(489, 256)</value> 306 - </param> 307 - <param> 308 - <key>_rotation</key> 309 - <value>0</value> 310 - </param> 311 - </block> 312 - <block> 313 - <key>wxgui_waterfallsink2</key> 314 - <param> 315 - <key>id</key> 316 - <value>wxgui_waterfallsink2_0</value> 317 - </param> 318 - <param> 319 - <key>_enabled</key> 320 - <value>True</value> 321 - </param> 322 - <param> 323 - <key>type</key> 324 - <value>complex</value> 325 - </param> 326 - <param> 327 - <key>title</key> 328 - <value>Waterfall </value> 329 - </param> 330 - <param> 331 - <key>samp_rate</key> 332 - <value>samp_rate</value> 333 - </param> 334 - <param> 335 - <key>baseband_freq</key> 336 - <value>0</value> 337 - </param> 338 - <param> 339 - <key>dynamic_range</key> 340 - <value>100</value> 341 - </param> 342 - <param> 343 - <key>ref_level</key> 344 - <value>0</value> 345 - </param> 346 - <param> 347 - <key>ref_scale</key> 348 - <value>2.0</value> 349 - </param> 350 - <param> 351 - <key>fft_size</key> 352 - <value>512</value> 353 - </param> 354 - <param> 355 - <key>fft_rate</key> 356 - <value>15</value> 357 - </param> 358 - <param> 359 - <key>average</key> 360 - <value>False</value> 361 - </param> 362 - <param> 363 - <key>avg_alpha</key> 364 - <value>0</value> 365 - </param> 366 - <param> 367 - <key>win</key> 368 - <value>None</value> 369 - </param> 370 - <param> 371 - <key>win_size</key> 372 - <value></value> 373 - </param> 374 - <param> 375 - <key>grid_pos</key> 376 - <value></value> 377 - </param> 378 - <param> 379 - <key>notebook</key> 380 - <value></value> 381 - </param> 382 - <param> 383 - <key>freqvar</key> 384 - <value>None</value> 385 - </param> 386 - <param> 387 - <key>affinity</key> 388 - <value></value> 389 - </param> 390 - <param> 391 - <key>_coordinate</key> 392 - <value>(249, 586)</value> 393 - </param> 394 - <param> 395 - <key>_rotation</key> 396 - <value>0</value> 397 - </param> 398 - </block> 399 - <block> 400 - <key>rational_resampler_xxx</key> 401 - <param> 402 - <key>id</key> 403 - <value>rational_resampler_xxx_0</value> 404 - </param> 405 - <param> 406 - <key>_enabled</key> 407 - <value>True</value> 408 - </param> 409 - <param> 410 - <key>type</key> 411 - <value>ccc</value> 412 - </param> 413 - <param> 414 - <key>interp</key> 415 - <value>1</value> 416 - </param> 417 - <param> 418 - <key>decim</key> 419 - <value>int(samp_rate/quadrature)</value> 420 - </param> 421 - <param> 422 - <key>taps</key> 423 - <value></value> 424 - </param> 425 - <param> 426 - <key>fbw</key> 427 - <value>0</value> 428 - </param> 429 - <param> 430 - <key>affinity</key> 431 - <value></value> 432 - </param> 433 - <param> 434 - <key>minoutbuf</key> 435 - <value>0</value> 436 - </param> 437 - <param> 438 - <key>maxoutbuf</key> 439 - <value>0</value> 440 - </param> 441 - <param> 442 - <key>_coordinate</key> 443 - <value>(260, 287)</value> 444 - </param> 445 - <param> 446 - <key>_rotation</key> 447 - <value>0</value> 448 - </param> 449 - </block> 450 - <block> 451 - <key>audio_sink</key> 452 - <param> 453 - <key>id</key> 454 - <value>audio_sink_0</value> 455 - </param> 456 - <param> 457 - <key>_enabled</key> 458 - <value>True</value> 459 - </param> 460 - <param> 461 - <key>samp_rate</key> 462 - <value>48000</value> 463 - </param> 464 - <param> 465 - <key>device_name</key> 466 - <value></value> 467 - </param> 468 - <param> 469 - <key>ok_to_block</key> 470 - <value>True</value> 471 - </param> 472 - <param> 473 - <key>num_inputs</key> 474 - <value>1</value> 475 - </param> 476 - <param> 477 - <key>affinity</key> 478 - <value></value> 479 - </param> 480 - <param> 481 - <key>_coordinate</key> 482 - <value>(770, 476)</value> 483 - </param> 484 - <param> 485 - <key>_rotation</key> 486 - <value>0</value> 487 - </param> 488 - </block> 489 - <block> 490 - <key>blocks_multiply_const_vxx</key> 491 - <param> 492 - <key>id</key> 493 - <value>blocks_multiply_const_vxx_0</value> 494 - </param> 495 - <param> 496 - <key>_enabled</key> 497 - <value>True</value> 498 - </param> 499 - <param> 500 - <key>type</key> 501 - <value>float</value> 502 - </param> 503 - <param> 504 - <key>const</key> 505 - <value>Volume</value> 506 - </param> 507 - <param> 508 - <key>vlen</key> 509 - <value>1</value> 510 - </param> 511 - <param> 512 - <key>affinity</key> 513 - <value></value> 514 - </param> 515 - <param> 516 - <key>minoutbuf</key> 517 - <value>0</value> 518 - </param> 519 - <param> 520 - <key>maxoutbuf</key> 521 - <value>0</value> 522 - </param> 523 - <param> 524 - <key>_coordinate</key> 525 - <value>(535, 474)</value> 526 - </param> 527 - <param> 528 - <key>_rotation</key> 529 - <value>0</value> 530 - </param> 531 - </block> 532 - <block> 533 - <key>variable_slider</key> 534 - <param> 535 - <key>id</key> 536 - <value>Volume</value> 537 - </param> 538 - <param> 539 - <key>_enabled</key> 540 - <value>True</value> 541 - </param> 542 - <param> 543 - <key>label</key> 544 - <value>volume</value> 545 - </param> 546 - <param> 547 - <key>value</key> 548 - <value>1</value> 549 - </param> 550 - <param> 551 - <key>min</key> 552 - <value>0</value> 553 - </param> 554 - <param> 555 - <key>max</key> 556 - <value>100</value> 557 - </param> 558 - <param> 559 - <key>num_steps</key> 560 - <value>100</value> 561 - </param> 562 - <param> 563 - <key>style</key> 564 - <value>wx.SL_HORIZONTAL</value> 565 - </param> 566 - <param> 567 - <key>converver</key> 568 - <value>float_converter</value> 569 - </param> 570 - <param> 571 - <key>grid_pos</key> 572 - <value></value> 573 - </param> 574 - <param> 575 - <key>notebook</key> 576 - <value></value> 577 - </param> 578 - <param> 579 - <key>_coordinate</key> 580 - <value>(524, 539)</value> 581 - </param> 582 - <param> 583 - <key>_rotation</key> 584 - <value>0</value> 585 - </param> 586 - </block> 587 - <block> 588 - <key>rtlsdr_source</key> 589 - <param> 590 - <key>id</key> 591 - <value>rtlsdr_source_0</value> 592 - </param> 593 - <param> 594 - <key>_enabled</key> 595 - <value>True</value> 596 - </param> 597 - <param> 598 - <key>type</key> 599 - <value>fc32</value> 600 - </param> 601 - <param> 602 - <key>args</key> 603 - <value></value> 604 - </param> 605 - <param> 606 - <key>nchan</key> 607 - <value>1</value> 608 - </param> 609 - <param> 610 - <key>sample_rate</key> 611 - <value>samp_rate</value> 612 - </param> 613 - <param> 614 - <key>freq0</key> 615 - <value>freq*1e6</value> 616 - </param> 617 - <param> 618 - <key>corr0</key> 619 - <value>-30</value> 620 - </param> 621 - <param> 622 - <key>dc_offset_mode0</key> 623 - <value>0</value> 624 - </param> 625 - <param> 626 - <key>iq_balance_mode0</key> 627 - <value>0</value> 628 - </param> 629 - <param> 630 - <key>gain_mode0</key> 631 - <value>True</value> 632 - </param> 633 - <param> 634 - <key>gain0</key> 635 - <value>50</value> 636 - </param> 637 - <param> 638 - <key>if_gain0</key> 639 - <value>30</value> 640 - </param> 641 - <param> 642 - <key>bb_gain0</key> 643 - <value>20</value> 644 - </param> 645 - <param> 646 - <key>ant0</key> 647 - <value>1</value> 648 - </param> 649 - <param> 650 - <key>bw0</key> 651 - <value>0</value> 652 - </param> 653 - <param> 654 - <key>freq1</key> 655 - <value>100e6</value> 656 - </param> 657 - <param> 658 - <key>corr1</key> 659 - <value>0</value> 660 - </param> 661 - <param> 662 - <key>dc_offset_mode1</key> 663 - <value>0</value> 664 - </param> 665 - <param> 666 - <key>iq_balance_mode1</key> 667 - <value>0</value> 668 - </param> 669 - <param> 670 - <key>gain_mode1</key> 671 - <value>False</value> 672 - </param> 673 - <param> 674 - <key>gain1</key> 675 - <value>10</value> 676 - </param> 677 - <param> 678 - <key>if_gain1</key> 679 - <value>20</value> 680 - </param> 681 - <param> 682 - <key>bb_gain1</key> 683 - <value>20</value> 684 - </param> 685 - <param> 686 - <key>ant1</key> 687 - <value></value> 688 - </param> 689 - <param> 690 - <key>bw1</key> 691 - <value>0</value> 692 - </param> 693 - <param> 694 - <key>freq2</key> 695 - <value>100e6</value> 696 - </param> 697 - <param> 698 - <key>corr2</key> 699 - <value>0</value> 700 - </param> 701 - <param> 702 - <key>dc_offset_mode2</key> 703 - <value>0</value> 704 - </param> 705 - <param> 706 - <key>iq_balance_mode2</key> 707 - <value>0</value> 708 - </param> 709 - <param> 710 - <key>gain_mode2</key> 711 - <value>False</value> 712 - </param> 713 - <param> 714 - <key>gain2</key> 715 - <value>10</value> 716 - </param> 717 - <param> 718 - <key>if_gain2</key> 719 - <value>20</value> 720 - </param> 721 - <param> 722 - <key>bb_gain2</key> 723 - <value>20</value> 724 - </param> 725 - <param> 726 - <key>ant2</key> 727 - <value></value> 728 - </param> 729 - <param> 730 - <key>bw2</key> 731 - <value>0</value> 732 - </param> 733 - <param> 734 - <key>freq3</key> 735 - <value>100e6</value> 736 - </param> 737 - <param> 738 - <key>corr3</key> 739 - <value>0</value> 740 - </param> 741 - <param> 742 - <key>dc_offset_mode3</key> 743 - <value>0</value> 744 - </param> 745 - <param> 746 - <key>iq_balance_mode3</key> 747 - <value>0</value> 748 - </param> 749 - <param> 750 - <key>gain_mode3</key> 751 - <value>False</value> 752 - </param> 753 - <param> 754 - <key>gain3</key> 755 - <value>10</value> 756 - </param> 757 - <param> 758 - <key>if_gain3</key> 759 - <value>20</value> 760 - </param> 761 - <param> 762 - <key>bb_gain3</key> 763 - <value>20</value> 764 - </param> 765 - <param> 766 - <key>ant3</key> 767 - <value></value> 768 - </param> 769 - <param> 770 - <key>bw3</key> 771 - <value>0</value> 772 - </param> 773 - <param> 774 - <key>freq4</key> 775 - <value>100e6</value> 776 - </param> 777 - <param> 778 - <key>corr4</key> 779 - <value>0</value> 780 - </param> 781 - <param> 782 - <key>dc_offset_mode4</key> 783 - <value>0</value> 784 - </param> 785 - <param> 786 - <key>iq_balance_mode4</key> 787 - <value>0</value> 788 - </param> 789 - <param> 790 - <key>gain_mode4</key> 791 - <value>False</value> 792 - </param> 793 - <param> 794 - <key>gain4</key> 795 - <value>10</value> 796 - </param> 797 - <param> 798 - <key>if_gain4</key> 799 - <value>20</value> 800 - </param> 801 - <param> 802 - <key>bb_gain4</key> 803 - <value>20</value> 804 - </param> 805 - <param> 806 - <key>ant4</key> 807 - <value></value> 808 - </param> 809 - <param> 810 - <key>bw4</key> 811 - <value>0</value> 812 - </param> 813 - <param> 814 - <key>affinity</key> 815 - <value></value> 816 - </param> 817 - <param> 818 - <key>minoutbuf</key> 819 - <value>0</value> 820 - </param> 821 - <param> 822 - <key>maxoutbuf</key> 823 - <value>0</value> 824 - </param> 825 - <param> 826 - <key>_coordinate</key> 827 - <value>(0, 237)</value> 828 - </param> 829 - <param> 830 - <key>_rotation</key> 831 - <value>0</value> 832 - </param> 833 - </block> 834 - <block> 835 - <key>variable_slider</key> 836 - <param> 837 - <key>id</key> 838 - <value>freq</value> 839 - </param> 840 - <param> 841 - <key>_enabled</key> 842 - <value>True</value> 843 - </param> 844 - <param> 845 - <key>label</key> 846 - <value>Frequence RTN</value> 847 - </param> 848 - <param> 849 - <key>value</key> 850 - <value>98.2</value> 851 - </param> 852 - <param> 853 - <key>min</key> 854 - <value>88</value> 855 - </param> 856 - <param> 857 - <key>max</key> 858 - <value>108</value> 859 - </param> 860 - <param> 861 - <key>num_steps</key> 862 - <value>100</value> 863 - </param> 864 - <param> 865 - <key>style</key> 866 - <value>wx.SL_HORIZONTAL</value> 867 - </param> 868 - <param> 869 - <key>converver</key> 870 - <value>float_converter</value> 871 - </param> 872 - <param> 873 - <key>grid_pos</key> 874 - <value></value> 875 - </param> 876 - <param> 877 - <key>notebook</key> 878 - <value></value> 879 - </param> 880 - <param> 881 - <key>_coordinate</key> 882 - <value>(4, 460)</value> 883 - </param> 884 - <param> 885 - <key>_rotation</key> 886 - <value>0</value> 887 - </param> 888 - </block> 889 - <connection> 890 - <source_block_id>analog_wfm_rcv_0</source_block_id> 891 - <sink_block_id>rational_resampler_xxx_1</sink_block_id> 892 - <source_key>0</source_key> 893 - <sink_key>0</sink_key> 894 - </connection> 895 - <connection> 896 - <source_block_id>blocks_multiply_const_vxx_0</source_block_id> 897 - <sink_block_id>audio_sink_0</sink_block_id> 898 - <source_key>0</source_key> 899 - <sink_key>0</sink_key> 900 - </connection> 901 - <connection> 902 - <source_block_id>low_pass_filter_0</source_block_id> 903 - <sink_block_id>analog_wfm_rcv_0</sink_block_id> 904 - <source_key>0</source_key> 905 - <sink_key>0</sink_key> 906 - </connection> 907 - <connection> 908 - <source_block_id>rational_resampler_xxx_0</source_block_id> 909 - <sink_block_id>low_pass_filter_0</sink_block_id> 910 - <source_key>0</source_key> 911 - <sink_key>0</sink_key> 912 - </connection> 913 - <connection> 914 - <source_block_id>rational_resampler_xxx_1</source_block_id> 915 - <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id> 916 - <source_key>0</source_key> 917 - <sink_key>0</sink_key> 918 - </connection> 919 - <connection> 920 - <source_block_id>rtlsdr_source_0</source_block_id> 921 - <sink_block_id>rational_resampler_xxx_0</sink_block_id> 922 - <source_key>0</source_key> 923 - <sink_key>0</sink_key> 924 - </connection> 925 - <connection> 926 - <source_block_id>rtlsdr_source_0</source_block_id> 927 - <sink_block_id>wxgui_waterfallsink2_0</sink_block_id> 928 - <source_key>0</source_key> 929 - <sink_key>0</sink_key> 930 - </connection> 931 -</flow_graph> 932 -
- testSDR.grc
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Dupertuis - Size
-
... ... @@ -1,1 +1,0 @@ 1 -41.3 KB - Content
-
... ... @@ -1,2193 +1,0 @@ 1 -<?xml version='1.0' encoding='utf-8'?> 2 -<?grc format='1' created='3.7.9'?> 3 -<flow_graph> 4 - <timestamp>Tue Mar 27 14:31:41 2018</timestamp> 5 - <block> 6 - <key>options</key> 7 - <param> 8 - <key>author</key> 9 - <value>Jean-Yves HB9FOU</value> 10 - </param> 11 - <param> 12 - <key>window_size</key> 13 - <value></value> 14 - </param> 15 - <param> 16 - <key>category</key> 17 - <value>Custom</value> 18 - </param> 19 - <param> 20 - <key>comment</key> 21 - <value></value> 22 - </param> 23 - <param> 24 - <key>description</key> 25 - <value></value> 26 - </param> 27 - <param> 28 - <key>_enabled</key> 29 - <value>True</value> 30 - </param> 31 - <param> 32 - <key>_coordinate</key> 33 - <value>(8, -1)</value> 34 - </param> 35 - <param> 36 - <key>_rotation</key> 37 - <value>0</value> 38 - </param> 39 - <param> 40 - <key>generate_options</key> 41 - <value>wx_gui</value> 42 - </param> 43 - <param> 44 - <key>hier_block_src_path</key> 45 - <value>.:</value> 46 - </param> 47 - <param> 48 - <key>id</key> 49 - <value>DJTestRadioSDR</value> 50 - </param> 51 - <param> 52 - <key>max_nouts</key> 53 - <value>0</value> 54 - </param> 55 - <param> 56 - <key>qt_qss_theme</key> 57 - <value></value> 58 - </param> 59 - <param> 60 - <key>realtime_scheduling</key> 61 - <value></value> 62 - </param> 63 - <param> 64 - <key>run_command</key> 65 - <value>{python} -u {filename}</value> 66 - </param> 67 - <param> 68 - <key>run_options</key> 69 - <value>prompt</value> 70 - </param> 71 - <param> 72 - <key>run</key> 73 - <value>True</value> 74 - </param> 75 - <param> 76 - <key>thread_safe_setters</key> 77 - <value></value> 78 - </param> 79 - <param> 80 - <key>title</key> 81 - <value>Test Radion SDR</value> 82 - </param> 83 - </block> 84 - <block> 85 - <key>variable_slider</key> 86 - <param> 87 - <key>comment</key> 88 - <value></value> 89 - </param> 90 - <param> 91 - <key>converver</key> 92 - <value>float_converter</value> 93 - </param> 94 - <param> 95 - <key>value</key> 96 - <value>8</value> 97 - </param> 98 - <param> 99 - <key>_enabled</key> 100 - <value>True</value> 101 - </param> 102 - <param> 103 - <key>_coordinate</key> 104 - <value>(304, 9)</value> 105 - </param> 106 - <param> 107 - <key>_rotation</key> 108 - <value>0</value> 109 - </param> 110 - <param> 111 - <key>grid_pos</key> 112 - <value></value> 113 - </param> 114 - <param> 115 - <key>id</key> 116 - <value>Volume</value> 117 - </param> 118 - <param> 119 - <key>label</key> 120 - <value>volume</value> 121 - </param> 122 - <param> 123 - <key>max</key> 124 - <value>100</value> 125 - </param> 126 - <param> 127 - <key>min</key> 128 - <value>0</value> 129 - </param> 130 - <param> 131 - <key>notebook</key> 132 - <value></value> 133 - </param> 134 - <param> 135 - <key>num_steps</key> 136 - <value>100</value> 137 - </param> 138 - <param> 139 - <key>style</key> 140 - <value>wx.SL_HORIZONTAL</value> 141 - </param> 142 - </block> 143 - <block> 144 - <key>variable</key> 145 - <param> 146 - <key>comment</key> 147 - <value></value> 148 - </param> 149 - <param> 150 - <key>_enabled</key> 151 - <value>True</value> 152 - </param> 153 - <param> 154 - <key>_coordinate</key> 155 - <value>(656, 221)</value> 156 - </param> 157 - <param> 158 - <key>_rotation</key> 159 - <value>0</value> 160 - </param> 161 - <param> 162 - <key>id</key> 163 - <value>audio_dec</value> 164 - </param> 165 - <param> 166 - <key>value</key> 167 - <value>10</value> 168 - </param> 169 - </block> 170 - <block> 171 - <key>variable</key> 172 - <param> 173 - <key>comment</key> 174 - <value></value> 175 - </param> 176 - <param> 177 - <key>_enabled</key> 178 - <value>True</value> 179 - </param> 180 - <param> 181 - <key>_coordinate</key> 182 - <value>(456, 197)</value> 183 - </param> 184 - <param> 185 - <key>_rotation</key> 186 - <value>0</value> 187 - </param> 188 - <param> 189 - <key>id</key> 190 - <value>cutoff</value> 191 - </param> 192 - <param> 193 - <key>value</key> 194 - <value>100e3</value> 195 - </param> 196 - </block> 197 - <block> 198 - <key>variable_slider</key> 199 - <param> 200 - <key>comment</key> 201 - <value></value> 202 - </param> 203 - <param> 204 - <key>converver</key> 205 - <value>float_converter</value> 206 - </param> 207 - <param> 208 - <key>value</key> 209 - <value>98.2</value> 210 - </param> 211 - <param> 212 - <key>_enabled</key> 213 - <value>True</value> 214 - </param> 215 - <param> 216 - <key>_coordinate</key> 217 - <value>(424, 9)</value> 218 - </param> 219 - <param> 220 - <key>_rotation</key> 221 - <value>0</value> 222 - </param> 223 - <param> 224 - <key>grid_pos</key> 225 - <value></value> 226 - </param> 227 - <param> 228 - <key>id</key> 229 - <value>freq</value> 230 - </param> 231 - <param> 232 - <key>label</key> 233 - <value>Frequence</value> 234 - </param> 235 - <param> 236 - <key>max</key> 237 - <value>108</value> 238 - </param> 239 - <param> 240 - <key>min</key> 241 - <value>88</value> 242 - </param> 243 - <param> 244 - <key>notebook</key> 245 - <value></value> 246 - </param> 247 - <param> 248 - <key>num_steps</key> 249 - <value>100</value> 250 - </param> 251 - <param> 252 - <key>style</key> 253 - <value>wx.SL_HORIZONTAL</value> 254 - </param> 255 - </block> 256 - <block> 257 - <key>variable</key> 258 - <param> 259 - <key>comment</key> 260 - <value></value> 261 - </param> 262 - <param> 263 - <key>_enabled</key> 264 - <value>True</value> 265 - </param> 266 - <param> 267 - <key>_coordinate</key> 268 - <value>(176, 69)</value> 269 - </param> 270 - <param> 271 - <key>_rotation</key> 272 - <value>0</value> 273 - </param> 274 - <param> 275 - <key>id</key> 276 - <value>quadrature</value> 277 - </param> 278 - <param> 279 - <key>value</key> 280 - <value>500e3</value> 281 - </param> 282 - </block> 283 - <block> 284 - <key>variable</key> 285 - <param> 286 - <key>comment</key> 287 - <value></value> 288 - </param> 289 - <param> 290 - <key>_enabled</key> 291 - <value>True</value> 292 - </param> 293 - <param> 294 - <key>_coordinate</key> 295 - <value>(176, 5)</value> 296 - </param> 297 - <param> 298 - <key>_rotation</key> 299 - <value>0</value> 300 - </param> 301 - <param> 302 - <key>id</key> 303 - <value>samp_rate</value> 304 - </param> 305 - <param> 306 - <key>value</key> 307 - <value>2e6</value> 308 - </param> 309 - </block> 310 - <block> 311 - <key>analog_wfm_rcv</key> 312 - <param> 313 - <key>audio_decimation</key> 314 - <value>audio_dec</value> 315 - </param> 316 - <param> 317 - <key>alias</key> 318 - <value></value> 319 - </param> 320 - <param> 321 - <key>comment</key> 322 - <value></value> 323 - </param> 324 - <param> 325 - <key>affinity</key> 326 - <value></value> 327 - </param> 328 - <param> 329 - <key>_enabled</key> 330 - <value>True</value> 331 - </param> 332 - <param> 333 - <key>_coordinate</key> 334 - <value>(656, 293)</value> 335 - </param> 336 - <param> 337 - <key>_rotation</key> 338 - <value>0</value> 339 - </param> 340 - <param> 341 - <key>id</key> 342 - <value>analog_wfm_rcv_0</value> 343 - </param> 344 - <param> 345 - <key>maxoutbuf</key> 346 - <value>0</value> 347 - </param> 348 - <param> 349 - <key>minoutbuf</key> 350 - <value>0</value> 351 - </param> 352 - <param> 353 - <key>quad_rate</key> 354 - <value>quadrature</value> 355 - </param> 356 - </block> 357 - <block> 358 - <key>audio_sink</key> 359 - <param> 360 - <key>alias</key> 361 - <value></value> 362 - </param> 363 - <param> 364 - <key>comment</key> 365 - <value></value> 366 - </param> 367 - <param> 368 - <key>affinity</key> 369 - <value></value> 370 - </param> 371 - <param> 372 - <key>device_name</key> 373 - <value></value> 374 - </param> 375 - <param> 376 - <key>_enabled</key> 377 - <value>True</value> 378 - </param> 379 - <param> 380 - <key>_coordinate</key> 381 - <value>(688, 476)</value> 382 - </param> 383 - <param> 384 - <key>_rotation</key> 385 - <value>0</value> 386 - </param> 387 - <param> 388 - <key>id</key> 389 - <value>audio_sink_0</value> 390 - </param> 391 - <param> 392 - <key>num_inputs</key> 393 - <value>1</value> 394 - </param> 395 - <param> 396 - <key>ok_to_block</key> 397 - <value>True</value> 398 - </param> 399 - <param> 400 - <key>samp_rate</key> 401 - <value>48000</value> 402 - </param> 403 - </block> 404 - <block> 405 - <key>blocks_multiply_const_vxx</key> 406 - <param> 407 - <key>alias</key> 408 - <value></value> 409 - </param> 410 - <param> 411 - <key>comment</key> 412 - <value></value> 413 - </param> 414 - <param> 415 - <key>const</key> 416 - <value>Volume</value> 417 - </param> 418 - <param> 419 - <key>affinity</key> 420 - <value></value> 421 - </param> 422 - <param> 423 - <key>_enabled</key> 424 - <value>True</value> 425 - </param> 426 - <param> 427 - <key>_coordinate</key> 428 - <value>(504, 476)</value> 429 - </param> 430 - <param> 431 - <key>_rotation</key> 432 - <value>0</value> 433 - </param> 434 - <param> 435 - <key>id</key> 436 - <value>blocks_multiply_const_vxx_0</value> 437 - </param> 438 - <param> 439 - <key>type</key> 440 - <value>float</value> 441 - </param> 442 - <param> 443 - <key>maxoutbuf</key> 444 - <value>0</value> 445 - </param> 446 - <param> 447 - <key>minoutbuf</key> 448 - <value>0</value> 449 - </param> 450 - <param> 451 - <key>vlen</key> 452 - <value>1</value> 453 - </param> 454 - </block> 455 - <block> 456 - <key>low_pass_filter</key> 457 - <param> 458 - <key>beta</key> 459 - <value>6.76</value> 460 - </param> 461 - <param> 462 - <key>alias</key> 463 - <value></value> 464 - </param> 465 - <param> 466 - <key>comment</key> 467 - <value></value> 468 - </param> 469 - <param> 470 - <key>affinity</key> 471 - <value></value> 472 - </param> 473 - <param> 474 - <key>cutoff_freq</key> 475 - <value>cutoff</value> 476 - </param> 477 - <param> 478 - <key>decim</key> 479 - <value>1</value> 480 - </param> 481 - <param> 482 - <key>_enabled</key> 483 - <value>True</value> 484 - </param> 485 - <param> 486 - <key>type</key> 487 - <value>fir_filter_ccf</value> 488 - </param> 489 - <param> 490 - <key>_coordinate</key> 491 - <value>(456, 258)</value> 492 - </param> 493 - <param> 494 - <key>_rotation</key> 495 - <value>0</value> 496 - </param> 497 - <param> 498 - <key>gain</key> 499 - <value>1</value> 500 - </param> 501 - <param> 502 - <key>id</key> 503 - <value>low_pass_filter_0</value> 504 - </param> 505 - <param> 506 - <key>interp</key> 507 - <value>1</value> 508 - </param> 509 - <param> 510 - <key>maxoutbuf</key> 511 - <value>0</value> 512 - </param> 513 - <param> 514 - <key>minoutbuf</key> 515 - <value>0</value> 516 - </param> 517 - <param> 518 - <key>samp_rate</key> 519 - <value>samp_rate</value> 520 - </param> 521 - <param> 522 - <key>width</key> 523 - <value>1e6</value> 524 - </param> 525 - <param> 526 - <key>win</key> 527 - <value>firdes.WIN_HAMMING</value> 528 - </param> 529 - </block> 530 - <block> 531 - <key>rational_resampler_xxx</key> 532 - <param> 533 - <key>alias</key> 534 - <value></value> 535 - </param> 536 - <param> 537 - <key>comment</key> 538 - <value></value> 539 - </param> 540 - <param> 541 - <key>affinity</key> 542 - <value></value> 543 - </param> 544 - <param> 545 - <key>decim</key> 546 - <value>int(samp_rate/quadrature)</value> 547 - </param> 548 - <param> 549 - <key>_enabled</key> 550 - <value>True</value> 551 - </param> 552 - <param> 553 - <key>fbw</key> 554 - <value>0</value> 555 - </param> 556 - <param> 557 - <key>_coordinate</key> 558 - <value>(256, 279)</value> 559 - </param> 560 - <param> 561 - <key>_rotation</key> 562 - <value>0</value> 563 - </param> 564 - <param> 565 - <key>id</key> 566 - <value>rational_resampler_xxx_0</value> 567 - </param> 568 - <param> 569 - <key>interp</key> 570 - <value>1</value> 571 - </param> 572 - <param> 573 - <key>maxoutbuf</key> 574 - <value>0</value> 575 - </param> 576 - <param> 577 - <key>minoutbuf</key> 578 - <value>0</value> 579 - </param> 580 - <param> 581 - <key>taps</key> 582 - <value></value> 583 - </param> 584 - <param> 585 - <key>type</key> 586 - <value>ccc</value> 587 - </param> 588 - </block> 589 - <block> 590 - <key>rational_resampler_xxx</key> 591 - <param> 592 - <key>alias</key> 593 - <value></value> 594 - </param> 595 - <param> 596 - <key>comment</key> 597 - <value></value> 598 - </param> 599 - <param> 600 - <key>affinity</key> 601 - <value></value> 602 - </param> 603 - <param> 604 - <key>decim</key> 605 - <value>int(quadrature/1e3/audio_dec)</value> 606 - </param> 607 - <param> 608 - <key>_enabled</key> 609 - <value>True</value> 610 - </param> 611 - <param> 612 - <key>fbw</key> 613 - <value>0</value> 614 - </param> 615 - <param> 616 - <key>_coordinate</key> 617 - <value>(312, 455)</value> 618 - </param> 619 - <param> 620 - <key>_rotation</key> 621 - <value>0</value> 622 - </param> 623 - <param> 624 - <key>id</key> 625 - <value>rational_resampler_xxx_1</value> 626 - </param> 627 - <param> 628 - <key>interp</key> 629 - <value>48</value> 630 - </param> 631 - <param> 632 - <key>maxoutbuf</key> 633 - <value>0</value> 634 - </param> 635 - <param> 636 - <key>minoutbuf</key> 637 - <value>0</value> 638 - </param> 639 - <param> 640 - <key>taps</key> 641 - <value></value> 642 - </param> 643 - <param> 644 - <key>type</key> 645 - <value>fff</value> 646 - </param> 647 - </block> 648 - <block> 649 - <key>rtlsdr_source</key> 650 - <param> 651 - <key>alias</key> 652 - <value></value> 653 - </param> 654 - <param> 655 - <key>ant0</key> 656 - <value>1</value> 657 - </param> 658 - <param> 659 - <key>bb_gain0</key> 660 - <value>20</value> 661 - </param> 662 - <param> 663 - <key>bw0</key> 664 - <value>0</value> 665 - </param> 666 - <param> 667 - <key>dc_offset_mode0</key> 668 - <value>0</value> 669 - </param> 670 - <param> 671 - <key>corr0</key> 672 - <value>-30</value> 673 - </param> 674 - <param> 675 - <key>freq0</key> 676 - <value>freq*1e6</value> 677 - </param> 678 - <param> 679 - <key>gain_mode0</key> 680 - <value>True</value> 681 - </param> 682 - <param> 683 - <key>if_gain0</key> 684 - <value>30</value> 685 - </param> 686 - <param> 687 - <key>iq_balance_mode0</key> 688 - <value>0</value> 689 - </param> 690 - <param> 691 - <key>gain0</key> 692 - <value>50</value> 693 - </param> 694 - <param> 695 - <key>ant10</key> 696 - <value></value> 697 - </param> 698 - <param> 699 - <key>bb_gain10</key> 700 - <value>20</value> 701 - </param> 702 - <param> 703 - <key>bw10</key> 704 - <value>0</value> 705 - </param> 706 - <param> 707 - <key>dc_offset_mode10</key> 708 - <value>0</value> 709 - </param> 710 - <param> 711 - <key>corr10</key> 712 - <value>0</value> 713 - </param> 714 - <param> 715 - <key>freq10</key> 716 - <value>100e6</value> 717 - </param> 718 - <param> 719 - <key>gain_mode10</key> 720 - <value>False</value> 721 - </param> 722 - <param> 723 - <key>if_gain10</key> 724 - <value>20</value> 725 - </param> 726 - <param> 727 - <key>iq_balance_mode10</key> 728 - <value>0</value> 729 - </param> 730 - <param> 731 - <key>gain10</key> 732 - <value>10</value> 733 - </param> 734 - <param> 735 - <key>ant11</key> 736 - <value></value> 737 - </param> 738 - <param> 739 - <key>bb_gain11</key> 740 - <value>20</value> 741 - </param> 742 - <param> 743 - <key>bw11</key> 744 - <value>0</value> 745 - </param> 746 - <param> 747 - <key>dc_offset_mode11</key> 748 - <value>0</value> 749 - </param> 750 - <param> 751 - <key>corr11</key> 752 - <value>0</value> 753 - </param> 754 - <param> 755 - <key>freq11</key> 756 - <value>100e6</value> 757 - </param> 758 - <param> 759 - <key>gain_mode11</key> 760 - <value>False</value> 761 - </param> 762 - <param> 763 - <key>if_gain11</key> 764 - <value>20</value> 765 - </param> 766 - <param> 767 - <key>iq_balance_mode11</key> 768 - <value>0</value> 769 - </param> 770 - <param> 771 - <key>gain11</key> 772 - <value>10</value> 773 - </param> 774 - <param> 775 - <key>ant12</key> 776 - <value></value> 777 - </param> 778 - <param> 779 - <key>bb_gain12</key> 780 - <value>20</value> 781 - </param> 782 - <param> 783 - <key>bw12</key> 784 - <value>0</value> 785 - </param> 786 - <param> 787 - <key>dc_offset_mode12</key> 788 - <value>0</value> 789 - </param> 790 - <param> 791 - <key>corr12</key> 792 - <value>0</value> 793 - </param> 794 - <param> 795 - <key>freq12</key> 796 - <value>100e6</value> 797 - </param> 798 - <param> 799 - <key>gain_mode12</key> 800 - <value>False</value> 801 - </param> 802 - <param> 803 - <key>if_gain12</key> 804 - <value>20</value> 805 - </param> 806 - <param> 807 - <key>iq_balance_mode12</key> 808 - <value>0</value> 809 - </param> 810 - <param> 811 - <key>gain12</key> 812 - <value>10</value> 813 - </param> 814 - <param> 815 - <key>ant13</key> 816 - <value></value> 817 - </param> 818 - <param> 819 - <key>bb_gain13</key> 820 - <value>20</value> 821 - </param> 822 - <param> 823 - <key>bw13</key> 824 - <value>0</value> 825 - </param> 826 - <param> 827 - <key>dc_offset_mode13</key> 828 - <value>0</value> 829 - </param> 830 - <param> 831 - <key>corr13</key> 832 - <value>0</value> 833 - </param> 834 - <param> 835 - <key>freq13</key> 836 - <value>100e6</value> 837 - </param> 838 - <param> 839 - <key>gain_mode13</key> 840 - <value>False</value> 841 - </param> 842 - <param> 843 - <key>if_gain13</key> 844 - <value>20</value> 845 - </param> 846 - <param> 847 - <key>iq_balance_mode13</key> 848 - <value>0</value> 849 - </param> 850 - <param> 851 - <key>gain13</key> 852 - <value>10</value> 853 - </param> 854 - <param> 855 - <key>ant14</key> 856 - <value></value> 857 - </param> 858 - <param> 859 - <key>bb_gain14</key> 860 - <value>20</value> 861 - </param> 862 - <param> 863 - <key>bw14</key> 864 - <value>0</value> 865 - </param> 866 - <param> 867 - <key>dc_offset_mode14</key> 868 - <value>0</value> 869 - </param> 870 - <param> 871 - <key>corr14</key> 872 - <value>0</value> 873 - </param> 874 - <param> 875 - <key>freq14</key> 876 - <value>100e6</value> 877 - </param> 878 - <param> 879 - <key>gain_mode14</key> 880 - <value>False</value> 881 - </param> 882 - <param> 883 - <key>if_gain14</key> 884 - <value>20</value> 885 - </param> 886 - <param> 887 - <key>iq_balance_mode14</key> 888 - <value>0</value> 889 - </param> 890 - <param> 891 - <key>gain14</key> 892 - <value>10</value> 893 - </param> 894 - <param> 895 - <key>ant15</key> 896 - <value></value> 897 - </param> 898 - <param> 899 - <key>bb_gain15</key> 900 - <value>20</value> 901 - </param> 902 - <param> 903 - <key>bw15</key> 904 - <value>0</value> 905 - </param> 906 - <param> 907 - <key>dc_offset_mode15</key> 908 - <value>0</value> 909 - </param> 910 - <param> 911 - <key>corr15</key> 912 - <value>0</value> 913 - </param> 914 - <param> 915 - <key>freq15</key> 916 - <value>100e6</value> 917 - </param> 918 - <param> 919 - <key>gain_mode15</key> 920 - <value>False</value> 921 - </param> 922 - <param> 923 - <key>if_gain15</key> 924 - <value>20</value> 925 - </param> 926 - <param> 927 - <key>iq_balance_mode15</key> 928 - <value>0</value> 929 - </param> 930 - <param> 931 - <key>gain15</key> 932 - <value>10</value> 933 - </param> 934 - <param> 935 - <key>ant16</key> 936 - <value></value> 937 - </param> 938 - <param> 939 - <key>bb_gain16</key> 940 - <value>20</value> 941 - </param> 942 - <param> 943 - <key>bw16</key> 944 - <value>0</value> 945 - </param> 946 - <param> 947 - <key>dc_offset_mode16</key> 948 - <value>0</value> 949 - </param> 950 - <param> 951 - <key>corr16</key> 952 - <value>0</value> 953 - </param> 954 - <param> 955 - <key>freq16</key> 956 - <value>100e6</value> 957 - </param> 958 - <param> 959 - <key>gain_mode16</key> 960 - <value>False</value> 961 - </param> 962 - <param> 963 - <key>if_gain16</key> 964 - <value>20</value> 965 - </param> 966 - <param> 967 - <key>iq_balance_mode16</key> 968 - <value>0</value> 969 - </param> 970 - <param> 971 - <key>gain16</key> 972 - <value>10</value> 973 - </param> 974 - <param> 975 - <key>ant17</key> 976 - <value></value> 977 - </param> 978 - <param> 979 - <key>bb_gain17</key> 980 - <value>20</value> 981 - </param> 982 - <param> 983 - <key>bw17</key> 984 - <value>0</value> 985 - </param> 986 - <param> 987 - <key>dc_offset_mode17</key> 988 - <value>0</value> 989 - </param> 990 - <param> 991 - <key>corr17</key> 992 - <value>0</value> 993 - </param> 994 - <param> 995 - <key>freq17</key> 996 - <value>100e6</value> 997 - </param> 998 - <param> 999 - <key>gain_mode17</key> 1000 - <value>False</value> 1001 - </param> 1002 - <param> 1003 - <key>if_gain17</key> 1004 - <value>20</value> 1005 - </param> 1006 - <param> 1007 - <key>iq_balance_mode17</key> 1008 - <value>0</value> 1009 - </param> 1010 - <param> 1011 - <key>gain17</key> 1012 - <value>10</value> 1013 - </param> 1014 - <param> 1015 - <key>ant18</key> 1016 - <value></value> 1017 - </param> 1018 - <param> 1019 - <key>bb_gain18</key> 1020 - <value>20</value> 1021 - </param> 1022 - <param> 1023 - <key>bw18</key> 1024 - <value>0</value> 1025 - </param> 1026 - <param> 1027 - <key>dc_offset_mode18</key> 1028 - <value>0</value> 1029 - </param> 1030 - <param> 1031 - <key>corr18</key> 1032 - <value>0</value> 1033 - </param> 1034 - <param> 1035 - <key>freq18</key> 1036 - <value>100e6</value> 1037 - </param> 1038 - <param> 1039 - <key>gain_mode18</key> 1040 - <value>False</value> 1041 - </param> 1042 - <param> 1043 - <key>if_gain18</key> 1044 - <value>20</value> 1045 - </param> 1046 - <param> 1047 - <key>iq_balance_mode18</key> 1048 - <value>0</value> 1049 - </param> 1050 - <param> 1051 - <key>gain18</key> 1052 - <value>10</value> 1053 - </param> 1054 - <param> 1055 - <key>ant19</key> 1056 - <value></value> 1057 - </param> 1058 - <param> 1059 - <key>bb_gain19</key> 1060 - <value>20</value> 1061 - </param> 1062 - <param> 1063 - <key>bw19</key> 1064 - <value>0</value> 1065 - </param> 1066 - <param> 1067 - <key>dc_offset_mode19</key> 1068 - <value>0</value> 1069 - </param> 1070 - <param> 1071 - <key>corr19</key> 1072 - <value>0</value> 1073 - </param> 1074 - <param> 1075 - <key>freq19</key> 1076 - <value>100e6</value> 1077 - </param> 1078 - <param> 1079 - <key>gain_mode19</key> 1080 - <value>False</value> 1081 - </param> 1082 - <param> 1083 - <key>if_gain19</key> 1084 - <value>20</value> 1085 - </param> 1086 - <param> 1087 - <key>iq_balance_mode19</key> 1088 - <value>0</value> 1089 - </param> 1090 - <param> 1091 - <key>gain19</key> 1092 - <value>10</value> 1093 - </param> 1094 - <param> 1095 - <key>ant1</key> 1096 - <value></value> 1097 - </param> 1098 - <param> 1099 - <key>bb_gain1</key> 1100 - <value>20</value> 1101 - </param> 1102 - <param> 1103 - <key>bw1</key> 1104 - <value>0</value> 1105 - </param> 1106 - <param> 1107 - <key>dc_offset_mode1</key> 1108 - <value>0</value> 1109 - </param> 1110 - <param> 1111 - <key>corr1</key> 1112 - <value>0</value> 1113 - </param> 1114 - <param> 1115 - <key>freq1</key> 1116 - <value>100e6</value> 1117 - </param> 1118 - <param> 1119 - <key>gain_mode1</key> 1120 - <value>False</value> 1121 - </param> 1122 - <param> 1123 - <key>if_gain1</key> 1124 - <value>20</value> 1125 - </param> 1126 - <param> 1127 - <key>iq_balance_mode1</key> 1128 - <value>0</value> 1129 - </param> 1130 - <param> 1131 - <key>gain1</key> 1132 - <value>10</value> 1133 - </param> 1134 - <param> 1135 - <key>ant20</key> 1136 - <value></value> 1137 - </param> 1138 - <param> 1139 - <key>bb_gain20</key> 1140 - <value>20</value> 1141 - </param> 1142 - <param> 1143 - <key>bw20</key> 1144 - <value>0</value> 1145 - </param> 1146 - <param> 1147 - <key>dc_offset_mode20</key> 1148 - <value>0</value> 1149 - </param> 1150 - <param> 1151 - <key>corr20</key> 1152 - <value>0</value> 1153 - </param> 1154 - <param> 1155 - <key>freq20</key> 1156 - <value>100e6</value> 1157 - </param> 1158 - <param> 1159 - <key>gain_mode20</key> 1160 - <value>False</value> 1161 - </param> 1162 - <param> 1163 - <key>if_gain20</key> 1164 - <value>20</value> 1165 - </param> 1166 - <param> 1167 - <key>iq_balance_mode20</key> 1168 - <value>0</value> 1169 - </param> 1170 - <param> 1171 - <key>gain20</key> 1172 - <value>10</value> 1173 - </param> 1174 - <param> 1175 - <key>ant21</key> 1176 - <value></value> 1177 - </param> 1178 - <param> 1179 - <key>bb_gain21</key> 1180 - <value>20</value> 1181 - </param> 1182 - <param> 1183 - <key>bw21</key> 1184 - <value>0</value> 1185 - </param> 1186 - <param> 1187 - <key>dc_offset_mode21</key> 1188 - <value>0</value> 1189 - </param> 1190 - <param> 1191 - <key>corr21</key> 1192 - <value>0</value> 1193 - </param> 1194 - <param> 1195 - <key>freq21</key> 1196 - <value>100e6</value> 1197 - </param> 1198 - <param> 1199 - <key>gain_mode21</key> 1200 - <value>False</value> 1201 - </param> 1202 - <param> 1203 - <key>if_gain21</key> 1204 - <value>20</value> 1205 - </param> 1206 - <param> 1207 - <key>iq_balance_mode21</key> 1208 - <value>0</value> 1209 - </param> 1210 - <param> 1211 - <key>gain21</key> 1212 - <value>10</value> 1213 - </param> 1214 - <param> 1215 - <key>ant22</key> 1216 - <value></value> 1217 - </param> 1218 - <param> 1219 - <key>bb_gain22</key> 1220 - <value>20</value> 1221 - </param> 1222 - <param> 1223 - <key>bw22</key> 1224 - <value>0</value> 1225 - </param> 1226 - <param> 1227 - <key>dc_offset_mode22</key> 1228 - <value>0</value> 1229 - </param> 1230 - <param> 1231 - <key>corr22</key> 1232 - <value>0</value> 1233 - </param> 1234 - <param> 1235 - <key>freq22</key> 1236 - <value>100e6</value> 1237 - </param> 1238 - <param> 1239 - <key>gain_mode22</key> 1240 - <value>False</value> 1241 - </param> 1242 - <param> 1243 - <key>if_gain22</key> 1244 - <value>20</value> 1245 - </param> 1246 - <param> 1247 - <key>iq_balance_mode22</key> 1248 - <value>0</value> 1249 - </param> 1250 - <param> 1251 - <key>gain22</key> 1252 - <value>10</value> 1253 - </param> 1254 - <param> 1255 - <key>ant23</key> 1256 - <value></value> 1257 - </param> 1258 - <param> 1259 - <key>bb_gain23</key> 1260 - <value>20</value> 1261 - </param> 1262 - <param> 1263 - <key>bw23</key> 1264 - <value>0</value> 1265 - </param> 1266 - <param> 1267 - <key>dc_offset_mode23</key> 1268 - <value>0</value> 1269 - </param> 1270 - <param> 1271 - <key>corr23</key> 1272 - <value>0</value> 1273 - </param> 1274 - <param> 1275 - <key>freq23</key> 1276 - <value>100e6</value> 1277 - </param> 1278 - <param> 1279 - <key>gain_mode23</key> 1280 - <value>False</value> 1281 - </param> 1282 - <param> 1283 - <key>if_gain23</key> 1284 - <value>20</value> 1285 - </param> 1286 - <param> 1287 - <key>iq_balance_mode23</key> 1288 - <value>0</value> 1289 - </param> 1290 - <param> 1291 - <key>gain23</key> 1292 - <value>10</value> 1293 - </param> 1294 - <param> 1295 - <key>ant24</key> 1296 - <value></value> 1297 - </param> 1298 - <param> 1299 - <key>bb_gain24</key> 1300 - <value>20</value> 1301 - </param> 1302 - <param> 1303 - <key>bw24</key> 1304 - <value>0</value> 1305 - </param> 1306 - <param> 1307 - <key>dc_offset_mode24</key> 1308 - <value>0</value> 1309 - </param> 1310 - <param> 1311 - <key>corr24</key> 1312 - <value>0</value> 1313 - </param> 1314 - <param> 1315 - <key>freq24</key> 1316 - <value>100e6</value> 1317 - </param> 1318 - <param> 1319 - <key>gain_mode24</key> 1320 - <value>False</value> 1321 - </param> 1322 - <param> 1323 - <key>if_gain24</key> 1324 - <value>20</value> 1325 - </param> 1326 - <param> 1327 - <key>iq_balance_mode24</key> 1328 - <value>0</value> 1329 - </param> 1330 - <param> 1331 - <key>gain24</key> 1332 - <value>10</value> 1333 - </param> 1334 - <param> 1335 - <key>ant25</key> 1336 - <value></value> 1337 - </param> 1338 - <param> 1339 - <key>bb_gain25</key> 1340 - <value>20</value> 1341 - </param> 1342 - <param> 1343 - <key>bw25</key> 1344 - <value>0</value> 1345 - </param> 1346 - <param> 1347 - <key>dc_offset_mode25</key> 1348 - <value>0</value> 1349 - </param> 1350 - <param> 1351 - <key>corr25</key> 1352 - <value>0</value> 1353 - </param> 1354 - <param> 1355 - <key>freq25</key> 1356 - <value>100e6</value> 1357 - </param> 1358 - <param> 1359 - <key>gain_mode25</key> 1360 - <value>False</value> 1361 - </param> 1362 - <param> 1363 - <key>if_gain25</key> 1364 - <value>20</value> 1365 - </param> 1366 - <param> 1367 - <key>iq_balance_mode25</key> 1368 - <value>0</value> 1369 - </param> 1370 - <param> 1371 - <key>gain25</key> 1372 - <value>10</value> 1373 - </param> 1374 - <param> 1375 - <key>ant26</key> 1376 - <value></value> 1377 - </param> 1378 - <param> 1379 - <key>bb_gain26</key> 1380 - <value>20</value> 1381 - </param> 1382 - <param> 1383 - <key>bw26</key> 1384 - <value>0</value> 1385 - </param> 1386 - <param> 1387 - <key>dc_offset_mode26</key> 1388 - <value>0</value> 1389 - </param> 1390 - <param> 1391 - <key>corr26</key> 1392 - <value>0</value> 1393 - </param> 1394 - <param> 1395 - <key>freq26</key> 1396 - <value>100e6</value> 1397 - </param> 1398 - <param> 1399 - <key>gain_mode26</key> 1400 - <value>False</value> 1401 - </param> 1402 - <param> 1403 - <key>if_gain26</key> 1404 - <value>20</value> 1405 - </param> 1406 - <param> 1407 - <key>iq_balance_mode26</key> 1408 - <value>0</value> 1409 - </param> 1410 - <param> 1411 - <key>gain26</key> 1412 - <value>10</value> 1413 - </param> 1414 - <param> 1415 - <key>ant27</key> 1416 - <value></value> 1417 - </param> 1418 - <param> 1419 - <key>bb_gain27</key> 1420 - <value>20</value> 1421 - </param> 1422 - <param> 1423 - <key>bw27</key> 1424 - <value>0</value> 1425 - </param> 1426 - <param> 1427 - <key>dc_offset_mode27</key> 1428 - <value>0</value> 1429 - </param> 1430 - <param> 1431 - <key>corr27</key> 1432 - <value>0</value> 1433 - </param> 1434 - <param> 1435 - <key>freq27</key> 1436 - <value>100e6</value> 1437 - </param> 1438 - <param> 1439 - <key>gain_mode27</key> 1440 - <value>False</value> 1441 - </param> 1442 - <param> 1443 - <key>if_gain27</key> 1444 - <value>20</value> 1445 - </param> 1446 - <param> 1447 - <key>iq_balance_mode27</key> 1448 - <value>0</value> 1449 - </param> 1450 - <param> 1451 - <key>gain27</key> 1452 - <value>10</value> 1453 - </param> 1454 - <param> 1455 - <key>ant28</key> 1456 - <value></value> 1457 - </param> 1458 - <param> 1459 - <key>bb_gain28</key> 1460 - <value>20</value> 1461 - </param> 1462 - <param> 1463 - <key>bw28</key> 1464 - <value>0</value> 1465 - </param> 1466 - <param> 1467 - <key>dc_offset_mode28</key> 1468 - <value>0</value> 1469 - </param> 1470 - <param> 1471 - <key>corr28</key> 1472 - <value>0</value> 1473 - </param> 1474 - <param> 1475 - <key>freq28</key> 1476 - <value>100e6</value> 1477 - </param> 1478 - <param> 1479 - <key>gain_mode28</key> 1480 - <value>False</value> 1481 - </param> 1482 - <param> 1483 - <key>if_gain28</key> 1484 - <value>20</value> 1485 - </param> 1486 - <param> 1487 - <key>iq_balance_mode28</key> 1488 - <value>0</value> 1489 - </param> 1490 - <param> 1491 - <key>gain28</key> 1492 - <value>10</value> 1493 - </param> 1494 - <param> 1495 - <key>ant29</key> 1496 - <value></value> 1497 - </param> 1498 - <param> 1499 - <key>bb_gain29</key> 1500 - <value>20</value> 1501 - </param> 1502 - <param> 1503 - <key>bw29</key> 1504 - <value>0</value> 1505 - </param> 1506 - <param> 1507 - <key>dc_offset_mode29</key> 1508 - <value>0</value> 1509 - </param> 1510 - <param> 1511 - <key>corr29</key> 1512 - <value>0</value> 1513 - </param> 1514 - <param> 1515 - <key>freq29</key> 1516 - <value>100e6</value> 1517 - </param> 1518 - <param> 1519 - <key>gain_mode29</key> 1520 - <value>False</value> 1521 - </param> 1522 - <param> 1523 - <key>if_gain29</key> 1524 - <value>20</value> 1525 - </param> 1526 - <param> 1527 - <key>iq_balance_mode29</key> 1528 - <value>0</value> 1529 - </param> 1530 - <param> 1531 - <key>gain29</key> 1532 - <value>10</value> 1533 - </param> 1534 - <param> 1535 - <key>ant2</key> 1536 - <value></value> 1537 - </param> 1538 - <param> 1539 - <key>bb_gain2</key> 1540 - <value>20</value> 1541 - </param> 1542 - <param> 1543 - <key>bw2</key> 1544 - <value>0</value> 1545 - </param> 1546 - <param> 1547 - <key>dc_offset_mode2</key> 1548 - <value>0</value> 1549 - </param> 1550 - <param> 1551 - <key>corr2</key> 1552 - <value>0</value> 1553 - </param> 1554 - <param> 1555 - <key>freq2</key> 1556 - <value>100e6</value> 1557 - </param> 1558 - <param> 1559 - <key>gain_mode2</key> 1560 - <value>False</value> 1561 - </param> 1562 - <param> 1563 - <key>if_gain2</key> 1564 - <value>20</value> 1565 - </param> 1566 - <param> 1567 - <key>iq_balance_mode2</key> 1568 - <value>0</value> 1569 - </param> 1570 - <param> 1571 - <key>gain2</key> 1572 - <value>10</value> 1573 - </param> 1574 - <param> 1575 - <key>ant30</key> 1576 - <value></value> 1577 - </param> 1578 - <param> 1579 - <key>bb_gain30</key> 1580 - <value>20</value> 1581 - </param> 1582 - <param> 1583 - <key>bw30</key> 1584 - <value>0</value> 1585 - </param> 1586 - <param> 1587 - <key>dc_offset_mode30</key> 1588 - <value>0</value> 1589 - </param> 1590 - <param> 1591 - <key>corr30</key> 1592 - <value>0</value> 1593 - </param> 1594 - <param> 1595 - <key>freq30</key> 1596 - <value>100e6</value> 1597 - </param> 1598 - <param> 1599 - <key>gain_mode30</key> 1600 - <value>False</value> 1601 - </param> 1602 - <param> 1603 - <key>if_gain30</key> 1604 - <value>20</value> 1605 - </param> 1606 - <param> 1607 - <key>iq_balance_mode30</key> 1608 - <value>0</value> 1609 - </param> 1610 - <param> 1611 - <key>gain30</key> 1612 - <value>10</value> 1613 - </param> 1614 - <param> 1615 - <key>ant31</key> 1616 - <value></value> 1617 - </param> 1618 - <param> 1619 - <key>bb_gain31</key> 1620 - <value>20</value> 1621 - </param> 1622 - <param> 1623 - <key>bw31</key> 1624 - <value>0</value> 1625 - </param> 1626 - <param> 1627 - <key>dc_offset_mode31</key> 1628 - <value>0</value> 1629 - </param> 1630 - <param> 1631 - <key>corr31</key> 1632 - <value>0</value> 1633 - </param> 1634 - <param> 1635 - <key>freq31</key> 1636 - <value>100e6</value> 1637 - </param> 1638 - <param> 1639 - <key>gain_mode31</key> 1640 - <value>False</value> 1641 - </param> 1642 - <param> 1643 - <key>if_gain31</key> 1644 - <value>20</value> 1645 - </param> 1646 - <param> 1647 - <key>iq_balance_mode31</key> 1648 - <value>0</value> 1649 - </param> 1650 - <param> 1651 - <key>gain31</key> 1652 - <value>10</value> 1653 - </param> 1654 - <param> 1655 - <key>ant3</key> 1656 - <value></value> 1657 - </param> 1658 - <param> 1659 - <key>bb_gain3</key> 1660 - <value>20</value> 1661 - </param> 1662 - <param> 1663 - <key>bw3</key> 1664 - <value>0</value> 1665 - </param> 1666 - <param> 1667 - <key>dc_offset_mode3</key> 1668 - <value>0</value> 1669 - </param> 1670 - <param> 1671 - <key>corr3</key> 1672 - <value>0</value> 1673 - </param> 1674 - <param> 1675 - <key>freq3</key> 1676 - <value>100e6</value> 1677 - </param> 1678 - <param> 1679 - <key>gain_mode3</key> 1680 - <value>False</value> 1681 - </param> 1682 - <param> 1683 - <key>if_gain3</key> 1684 - <value>20</value> 1685 - </param> 1686 - <param> 1687 - <key>iq_balance_mode3</key> 1688 - <value>0</value> 1689 - </param> 1690 - <param> 1691 - <key>gain3</key> 1692 - <value>10</value> 1693 - </param> 1694 - <param> 1695 - <key>ant4</key> 1696 - <value></value> 1697 - </param> 1698 - <param> 1699 - <key>bb_gain4</key> 1700 - <value>20</value> 1701 - </param> 1702 - <param> 1703 - <key>bw4</key> 1704 - <value>0</value> 1705 - </param> 1706 - <param> 1707 - <key>dc_offset_mode4</key> 1708 - <value>0</value> 1709 - </param> 1710 - <param> 1711 - <key>corr4</key> 1712 - <value>0</value> 1713 - </param> 1714 - <param> 1715 - <key>freq4</key> 1716 - <value>100e6</value> 1717 - </param> 1718 - <param> 1719 - <key>gain_mode4</key> 1720 - <value>False</value> 1721 - </param> 1722 - <param> 1723 - <key>if_gain4</key> 1724 - <value>20</value> 1725 - </param> 1726 - <param> 1727 - <key>iq_balance_mode4</key> 1728 - <value>0</value> 1729 - </param> 1730 - <param> 1731 - <key>gain4</key> 1732 - <value>10</value> 1733 - </param> 1734 - <param> 1735 - <key>ant5</key> 1736 - <value></value> 1737 - </param> 1738 - <param> 1739 - <key>bb_gain5</key> 1740 - <value>20</value> 1741 - </param> 1742 - <param> 1743 - <key>bw5</key> 1744 - <value>0</value> 1745 - </param> 1746 - <param> 1747 - <key>dc_offset_mode5</key> 1748 - <value>0</value> 1749 - </param> 1750 - <param> 1751 - <key>corr5</key> 1752 - <value>0</value> 1753 - </param> 1754 - <param> 1755 - <key>freq5</key> 1756 - <value>100e6</value> 1757 - </param> 1758 - <param> 1759 - <key>gain_mode5</key> 1760 - <value>False</value> 1761 - </param> 1762 - <param> 1763 - <key>if_gain5</key> 1764 - <value>20</value> 1765 - </param> 1766 - <param> 1767 - <key>iq_balance_mode5</key> 1768 - <value>0</value> 1769 - </param> 1770 - <param> 1771 - <key>gain5</key> 1772 - <value>10</value> 1773 - </param> 1774 - <param> 1775 - <key>ant6</key> 1776 - <value></value> 1777 - </param> 1778 - <param> 1779 - <key>bb_gain6</key> 1780 - <value>20</value> 1781 - </param> 1782 - <param> 1783 - <key>bw6</key> 1784 - <value>0</value> 1785 - </param> 1786 - <param> 1787 - <key>dc_offset_mode6</key> 1788 - <value>0</value> 1789 - </param> 1790 - <param> 1791 - <key>corr6</key> 1792 - <value>0</value> 1793 - </param> 1794 - <param> 1795 - <key>freq6</key> 1796 - <value>100e6</value> 1797 - </param> 1798 - <param> 1799 - <key>gain_mode6</key> 1800 - <value>False</value> 1801 - </param> 1802 - <param> 1803 - <key>if_gain6</key> 1804 - <value>20</value> 1805 - </param> 1806 - <param> 1807 - <key>iq_balance_mode6</key> 1808 - <value>0</value> 1809 - </param> 1810 - <param> 1811 - <key>gain6</key> 1812 - <value>10</value> 1813 - </param> 1814 - <param> 1815 - <key>ant7</key> 1816 - <value></value> 1817 - </param> 1818 - <param> 1819 - <key>bb_gain7</key> 1820 - <value>20</value> 1821 - </param> 1822 - <param> 1823 - <key>bw7</key> 1824 - <value>0</value> 1825 - </param> 1826 - <param> 1827 - <key>dc_offset_mode7</key> 1828 - <value>0</value> 1829 - </param> 1830 - <param> 1831 - <key>corr7</key> 1832 - <value>0</value> 1833 - </param> 1834 - <param> 1835 - <key>freq7</key> 1836 - <value>100e6</value> 1837 - </param> 1838 - <param> 1839 - <key>gain_mode7</key> 1840 - <value>False</value> 1841 - </param> 1842 - <param> 1843 - <key>if_gain7</key> 1844 - <value>20</value> 1845 - </param> 1846 - <param> 1847 - <key>iq_balance_mode7</key> 1848 - <value>0</value> 1849 - </param> 1850 - <param> 1851 - <key>gain7</key> 1852 - <value>10</value> 1853 - </param> 1854 - <param> 1855 - <key>ant8</key> 1856 - <value></value> 1857 - </param> 1858 - <param> 1859 - <key>bb_gain8</key> 1860 - <value>20</value> 1861 - </param> 1862 - <param> 1863 - <key>bw8</key> 1864 - <value>0</value> 1865 - </param> 1866 - <param> 1867 - <key>dc_offset_mode8</key> 1868 - <value>0</value> 1869 - </param> 1870 - <param> 1871 - <key>corr8</key> 1872 - <value>0</value> 1873 - </param> 1874 - <param> 1875 - <key>freq8</key> 1876 - <value>100e6</value> 1877 - </param> 1878 - <param> 1879 - <key>gain_mode8</key> 1880 - <value>False</value> 1881 - </param> 1882 - <param> 1883 - <key>if_gain8</key> 1884 - <value>20</value> 1885 - </param> 1886 - <param> 1887 - <key>iq_balance_mode8</key> 1888 - <value>0</value> 1889 - </param> 1890 - <param> 1891 - <key>gain8</key> 1892 - <value>10</value> 1893 - </param> 1894 - <param> 1895 - <key>ant9</key> 1896 - <value></value> 1897 - </param> 1898 - <param> 1899 - <key>bb_gain9</key> 1900 - <value>20</value> 1901 - </param> 1902 - <param> 1903 - <key>bw9</key> 1904 - <value>0</value> 1905 - </param> 1906 - <param> 1907 - <key>dc_offset_mode9</key> 1908 - <value>0</value> 1909 - </param> 1910 - <param> 1911 - <key>corr9</key> 1912 - <value>0</value> 1913 - </param> 1914 - <param> 1915 - <key>freq9</key> 1916 - <value>100e6</value> 1917 - </param> 1918 - <param> 1919 - <key>gain_mode9</key> 1920 - <value>False</value> 1921 - </param> 1922 - <param> 1923 - <key>if_gain9</key> 1924 - <value>20</value> 1925 - </param> 1926 - <param> 1927 - <key>iq_balance_mode9</key> 1928 - <value>0</value> 1929 - </param> 1930 - <param> 1931 - <key>gain9</key> 1932 - <value>10</value> 1933 - </param> 1934 - <param> 1935 - <key>comment</key> 1936 - <value></value> 1937 - </param> 1938 - <param> 1939 - <key>affinity</key> 1940 - <value></value> 1941 - </param> 1942 - <param> 1943 - <key>args</key> 1944 - <value></value> 1945 - </param> 1946 - <param> 1947 - <key>_enabled</key> 1948 - <value>True</value> 1949 - </param> 1950 - <param> 1951 - <key>_coordinate</key> 1952 - <value>(0, 237)</value> 1953 - </param> 1954 - <param> 1955 - <key>_rotation</key> 1956 - <value>0</value> 1957 - </param> 1958 - <param> 1959 - <key>id</key> 1960 - <value>rtlsdr_source_0</value> 1961 - </param> 1962 - <param> 1963 - <key>maxoutbuf</key> 1964 - <value>0</value> 1965 - </param> 1966 - <param> 1967 - <key>clock_source0</key> 1968 - <value></value> 1969 - </param> 1970 - <param> 1971 - <key>time_source0</key> 1972 - <value></value> 1973 - </param> 1974 - <param> 1975 - <key>clock_source1</key> 1976 - <value></value> 1977 - </param> 1978 - <param> 1979 - <key>time_source1</key> 1980 - <value></value> 1981 - </param> 1982 - <param> 1983 - <key>clock_source2</key> 1984 - <value></value> 1985 - </param> 1986 - <param> 1987 - <key>time_source2</key> 1988 - <value></value> 1989 - </param> 1990 - <param> 1991 - <key>clock_source3</key> 1992 - <value></value> 1993 - </param> 1994 - <param> 1995 - <key>time_source3</key> 1996 - <value></value> 1997 - </param> 1998 - <param> 1999 - <key>clock_source4</key> 2000 - <value></value> 2001 - </param> 2002 - <param> 2003 - <key>time_source4</key> 2004 - <value></value> 2005 - </param> 2006 - <param> 2007 - <key>clock_source5</key> 2008 - <value></value> 2009 - </param> 2010 - <param> 2011 - <key>time_source5</key> 2012 - <value></value> 2013 - </param> 2014 - <param> 2015 - <key>clock_source6</key> 2016 - <value></value> 2017 - </param> 2018 - <param> 2019 - <key>time_source6</key> 2020 - <value></value> 2021 - </param> 2022 - <param> 2023 - <key>clock_source7</key> 2024 - <value></value> 2025 - </param> 2026 - <param> 2027 - <key>time_source7</key> 2028 - <value></value> 2029 - </param> 2030 - <param> 2031 - <key>minoutbuf</key> 2032 - <value>0</value> 2033 - </param> 2034 - <param> 2035 - <key>nchan</key> 2036 - <value>1</value> 2037 - </param> 2038 - <param> 2039 - <key>num_mboards</key> 2040 - <value>1</value> 2041 - </param> 2042 - <param> 2043 - <key>type</key> 2044 - <value>fc32</value> 2045 - </param> 2046 - <param> 2047 - <key>sample_rate</key> 2048 - <value>samp_rate</value> 2049 - </param> 2050 - <param> 2051 - <key>sync</key> 2052 - <value></value> 2053 - </param> 2054 - </block> 2055 - <block> 2056 - <key>wxgui_waterfallsink2</key> 2057 - <param> 2058 - <key>avg_alpha</key> 2059 - <value>0</value> 2060 - </param> 2061 - <param> 2062 - <key>average</key> 2063 - <value>False</value> 2064 - </param> 2065 - <param> 2066 - <key>baseband_freq</key> 2067 - <value>0</value> 2068 - </param> 2069 - <param> 2070 - <key>alias</key> 2071 - <value></value> 2072 - </param> 2073 - <param> 2074 - <key>comment</key> 2075 - <value></value> 2076 - </param> 2077 - <param> 2078 - <key>affinity</key> 2079 - <value></value> 2080 - </param> 2081 - <param> 2082 - <key>dynamic_range</key> 2083 - <value>100</value> 2084 - </param> 2085 - <param> 2086 - <key>_enabled</key> 2087 - <value>True</value> 2088 - </param> 2089 - <param> 2090 - <key>fft_rate</key> 2091 - <value>15</value> 2092 - </param> 2093 - <param> 2094 - <key>fft_size</key> 2095 - <value>512</value> 2096 - </param> 2097 - <param> 2098 - <key>freqvar</key> 2099 - <value>None</value> 2100 - </param> 2101 - <param> 2102 - <key>_coordinate</key> 2103 - <value>(232, 580)</value> 2104 - </param> 2105 - <param> 2106 - <key>_rotation</key> 2107 - <value>0</value> 2108 - </param> 2109 - <param> 2110 - <key>grid_pos</key> 2111 - <value></value> 2112 - </param> 2113 - <param> 2114 - <key>id</key> 2115 - <value>wxgui_waterfallsink2_0</value> 2116 - </param> 2117 - <param> 2118 - <key>notebook</key> 2119 - <value></value> 2120 - </param> 2121 - <param> 2122 - <key>ref_scale</key> 2123 - <value>2.0</value> 2124 - </param> 2125 - <param> 2126 - <key>ref_level</key> 2127 - <value>0</value> 2128 - </param> 2129 - <param> 2130 - <key>samp_rate</key> 2131 - <value>samp_rate</value> 2132 - </param> 2133 - <param> 2134 - <key>title</key> 2135 - <value>Waterfall </value> 2136 - </param> 2137 - <param> 2138 - <key>type</key> 2139 - <value>complex</value> 2140 - </param> 2141 - <param> 2142 - <key>win_size</key> 2143 - <value></value> 2144 - </param> 2145 - <param> 2146 - <key>win</key> 2147 - <value>None</value> 2148 - </param> 2149 - </block> 2150 - <connection> 2151 - <source_block_id>analog_wfm_rcv_0</source_block_id> 2152 - <sink_block_id>rational_resampler_xxx_1</sink_block_id> 2153 - <source_key>0</source_key> 2154 - <sink_key>0</sink_key> 2155 - </connection> 2156 - <connection> 2157 - <source_block_id>blocks_multiply_const_vxx_0</source_block_id> 2158 - <sink_block_id>audio_sink_0</sink_block_id> 2159 - <source_key>0</source_key> 2160 - <sink_key>0</sink_key> 2161 - </connection> 2162 - <connection> 2163 - <source_block_id>low_pass_filter_0</source_block_id> 2164 - <sink_block_id>analog_wfm_rcv_0</sink_block_id> 2165 - <source_key>0</source_key> 2166 - <sink_key>0</sink_key> 2167 - </connection> 2168 - <connection> 2169 - <source_block_id>rational_resampler_xxx_0</source_block_id> 2170 - <sink_block_id>low_pass_filter_0</sink_block_id> 2171 - <source_key>0</source_key> 2172 - <sink_key>0</sink_key> 2173 - </connection> 2174 - <connection> 2175 - <source_block_id>rational_resampler_xxx_1</source_block_id> 2176 - <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id> 2177 - <source_key>0</source_key> 2178 - <sink_key>0</sink_key> 2179 - </connection> 2180 - <connection> 2181 - <source_block_id>rtlsdr_source_0</source_block_id> 2182 - <sink_block_id>rational_resampler_xxx_0</sink_block_id> 2183 - <source_key>0</source_key> 2184 - <sink_key>0</sink_key> 2185 - </connection> 2186 - <connection> 2187 - <source_block_id>rtlsdr_source_0</source_block_id> 2188 - <sink_block_id>wxgui_waterfallsink2_0</sink_block_id> 2189 - <source_key>0</source_key> 2190 - <sink_key>0</sink_key> 2191 - </connection> 2192 -</flow_graph> 2193 -