├── BelgianSDRMeetups ├── BE.SDR2 │ └── besdrmeetup2.md ├── BE.SDR3 │ ├── Voordracht_BESDR3_30-10-2020.mp4.torrent │ ├── besdr3.odp │ ├── besdr3.pdf │ ├── ctf2-initial.grc │ ├── ctf2.grc │ └── readme.md ├── Presentation_ON1ARF_SDR_GNURadio _04-09-2020.mp4.torrent ├── WorkShopGRC1 │ ├── WorkshopGRC_CTF1.odp │ ├── WorkshopGRC_CTF1.pdf │ ├── ctf2.grc │ └── readme.md ├── capture147_1200sps.iq ├── dwd_besdr2.odp ├── dwd_besdr2.pdf ├── rtty147_3_fskdemod.grc └── rtty147_3_fskdemod_37.grc ├── README.md ├── events.md ├── iqfiles ├── 20200919_1210Z_490Khz_1200sps.torrent ├── 20200919_1240Z_518Khz_1200sps.torrent ├── CTF3_48000sps.wav.torrent ├── CTF4.flac.torrent ├── ctf2_1200bps.iq.torrent ├── ctf4.flac ├── dcf77summertowinter_amdemodfl32_1200sps.raw.torrent └── readme.txt ├── links.md ├── linksfr.md └── linksnl.md /BelgianSDRMeetups/BE.SDR2/besdrmeetup2.md: -------------------------------------------------------------------------------- 1 | 2 | # 2nd Belgian SDR Meetup on Friday 4/9/2020 3 | 4 | As announced, the next Belgian UBA SDR Meetup will be held on 4/9/2020. 5 | (see information at the bottom of this message) 6 | 7 | ## GNU Radio 8 | The meeting will include a small presentation and demonstration of GNU Radio, in fact, a complete walk-through of an GNU Radio flowgraph + some python-code. 9 | For that reason, having some background on GNU Radio, GRC (GNU Radio Companion) and some of the underlying principles of signals will surely help 10 | understand the presentation. 11 | 12 | For that, especially people who are new to GNU Radio- to already take the time to watch some video's on this topic: 13 | the excellent "Software Defined Radio with HackRF" video-course by Michael Ossmann. 14 | 15 | The videos can be found here: 16 | [sdr with the hackRF](https://greatscottgadgets.com/sdr/) 17 | 18 | The complete videocourse is 11 video's in total, totalling in about 2 hours of viewing-time. If you do not have time to watch them all, The following ones are 19 | the most interesting to give a good first impression of some of the topics that will be discussed during the meetup: 20 | 21 | * [1 Welcome](https://greatscottgadgets.com/sdr/1/) 22 | * [2 DSP](https://greatscottgadgets.com/sdr/2/) 23 | * [4 Mysteries](https://greatscottgadgets.com/sdr/4/) 24 | * [6 Complex Numbers](https://greatscottgadgets.com/sdr/6/) 25 | * [7 Complex Numbers in DSP](https://greatscottgadgets.com/sdr/7/) 26 | 27 | 28 | ## Understanding signals: 29 | SDR is based on signal-processing. These two videos provide some background on two aspects of SDR that do not exist in analog electronics: 30 | IQ signals and negative Frequencies: 31 | 32 | * Basics of IQ Signals and IQ modulation & demodulation - A tutorial 33 | [video](https://www.youtube.com/watch?v=h_7d-m1ehoY) 34 | 35 | * Quadrature Mixers, IQ Demodulation, and the Tayloe Detector 36 | [video](https://www.youtube.com/watch?v=JuuKF1RFvBM) 37 | 38 | * I/Q data explained 39 | [article](https://www.pe0sat.vgnet.nl/sdr/iq-data-explained/) 40 | 41 | * Negative Frequencies 42 | [video](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-negative-frequency) 43 | 44 | See you at the Meetup! 45 | Kristoff - ON1ARF 46 | 47 | The meeting will be held online via jitsi. The URL is: 48 | [jitsi](https://meet.jit.si/UBABelgianSDRMeetup) 49 | 50 | The meetup starts friday 4/9/2020 at 20:00h. 51 | The presentation will start at 20:30h 52 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/Voordracht_BESDR3_30-10-2020.mp4.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/BE.SDR3/Voordracht_BESDR3_30-10-2020.mp4.torrent -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/besdr3.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/BE.SDR3/besdr3.odp -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/besdr3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/BE.SDR3/besdr3.pdf -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/ctf2-initial.grc: -------------------------------------------------------------------------------- 1 | options: 2 | parameters: 3 | author: jan 4 | category: '[GRC Hier Blocks]' 5 | cmake_opt: '' 6 | comment: '' 7 | copyright: '' 8 | description: '' 9 | gen_cmake: 'On' 10 | gen_linking: dynamic 11 | generate_options: qt_gui 12 | hier_block_src_path: '.:' 13 | id: ctf2_initial 14 | max_nouts: '0' 15 | output_language: python 16 | placement: (0,0) 17 | qt_qss_theme: '' 18 | realtime_scheduling: '' 19 | run: 'True' 20 | run_command: '{python} -u {filename}' 21 | run_options: prompt 22 | sizing_mode: fixed 23 | thread_safe_setters: '' 24 | title: ctf2-initial 25 | window_size: '' 26 | states: 27 | bus_sink: false 28 | bus_source: false 29 | bus_structure: null 30 | coordinate: [9, 11] 31 | rotation: 0 32 | state: enabled 33 | 34 | blocks: 35 | - name: samp_rate 36 | id: variable 37 | parameters: 38 | comment: '' 39 | value: 1200*10 40 | states: 41 | bus_sink: false 42 | bus_source: false 43 | bus_structure: null 44 | coordinate: [236, 28] 45 | rotation: 0 46 | state: enabled 47 | - name: blocks_complex_to_mag_squared_0 48 | id: blocks_complex_to_mag_squared 49 | parameters: 50 | affinity: '' 51 | alias: '' 52 | comment: '' 53 | maxoutbuf: '0' 54 | minoutbuf: '0' 55 | vlen: '1' 56 | states: 57 | bus_sink: false 58 | bus_source: false 59 | bus_structure: null 60 | coordinate: [569, 30] 61 | rotation: 0 62 | state: enabled 63 | - name: blocks_file_source_0 64 | id: blocks_file_source 65 | parameters: 66 | affinity: '' 67 | alias: '' 68 | begin_tag: pmt.PMT_NIL 69 | comment: '' 70 | file: /home/jan/Downloads/ctf2_1200bps.iq 71 | length: '0' 72 | maxoutbuf: '0' 73 | minoutbuf: '0' 74 | offset: '0' 75 | repeat: 'True' 76 | type: complex 77 | vlen: '1' 78 | states: 79 | bus_sink: false 80 | bus_source: false 81 | bus_structure: null 82 | coordinate: [28, 128] 83 | rotation: 0 84 | state: true 85 | - name: blocks_throttle_1 86 | id: blocks_throttle 87 | parameters: 88 | affinity: '' 89 | alias: '' 90 | comment: '' 91 | ignoretag: 'True' 92 | maxoutbuf: '0' 93 | minoutbuf: '0' 94 | samples_per_second: samp_rate 95 | type: complex 96 | vlen: '1' 97 | states: 98 | bus_sink: false 99 | bus_source: false 100 | bus_structure: null 101 | coordinate: [304, 122] 102 | rotation: 0 103 | state: enabled 104 | - name: qtgui_time_sink_x_0 105 | id: qtgui_time_sink_x 106 | parameters: 107 | affinity: '' 108 | alias: '' 109 | alpha1: '1.0' 110 | alpha10: '1.0' 111 | alpha2: '1.0' 112 | alpha3: '1.0' 113 | alpha4: '1.0' 114 | alpha5: '1.0' 115 | alpha6: '1.0' 116 | alpha7: '1.0' 117 | alpha8: '1.0' 118 | alpha9: '1.0' 119 | autoscale: 'False' 120 | axislabels: 'True' 121 | color1: blue 122 | color10: dark blue 123 | color2: red 124 | color3: green 125 | color4: black 126 | color5: cyan 127 | color6: magenta 128 | color7: yellow 129 | color8: dark red 130 | color9: dark green 131 | comment: '' 132 | ctrlpanel: 'True' 133 | entags: 'True' 134 | grid: 'False' 135 | gui_hint: '' 136 | label1: Signal 1 137 | label10: Signal 10 138 | label2: Signal 2 139 | label3: Signal 3 140 | label4: Signal 4 141 | label5: Signal 5 142 | label6: Signal 6 143 | label7: Signal 7 144 | label8: Signal 8 145 | label9: Signal 9 146 | legend: 'True' 147 | marker1: '-1' 148 | marker10: '-1' 149 | marker2: '-1' 150 | marker3: '-1' 151 | marker4: '-1' 152 | marker5: '-1' 153 | marker6: '-1' 154 | marker7: '-1' 155 | marker8: '-1' 156 | marker9: '-1' 157 | name: '""' 158 | nconnections: '1' 159 | size: '1024' 160 | srate: samp_rate 161 | stemplot: 'False' 162 | style1: '1' 163 | style10: '1' 164 | style2: '1' 165 | style3: '1' 166 | style4: '1' 167 | style5: '1' 168 | style6: '1' 169 | style7: '1' 170 | style8: '1' 171 | style9: '1' 172 | tr_chan: '0' 173 | tr_delay: '0' 174 | tr_level: '0.0' 175 | tr_mode: qtgui.TRIG_MODE_FREE 176 | tr_slope: qtgui.TRIG_SLOPE_POS 177 | tr_tag: '""' 178 | type: float 179 | update_time: '0.10' 180 | width1: '1' 181 | width10: '1' 182 | width2: '1' 183 | width3: '1' 184 | width4: '1' 185 | width5: '1' 186 | width6: '1' 187 | width7: '1' 188 | width8: '1' 189 | width9: '1' 190 | ylabel: Amplitude 191 | ymax: '1' 192 | ymin: '-1' 193 | yunit: '""' 194 | states: 195 | bus_sink: false 196 | bus_source: false 197 | bus_structure: null 198 | coordinate: [816, 15] 199 | rotation: 0 200 | state: enabled 201 | - name: qtgui_time_sink_x_0_0 202 | id: qtgui_time_sink_x 203 | parameters: 204 | affinity: '' 205 | alias: '' 206 | alpha1: '1.0' 207 | alpha10: '1.0' 208 | alpha2: '1.0' 209 | alpha3: '1.0' 210 | alpha4: '1.0' 211 | alpha5: '1.0' 212 | alpha6: '1.0' 213 | alpha7: '1.0' 214 | alpha8: '1.0' 215 | alpha9: '1.0' 216 | autoscale: 'False' 217 | axislabels: 'True' 218 | color1: blue 219 | color10: dark blue 220 | color2: red 221 | color3: green 222 | color4: black 223 | color5: cyan 224 | color6: magenta 225 | color7: yellow 226 | color8: dark red 227 | color9: dark green 228 | comment: '' 229 | ctrlpanel: 'True' 230 | entags: 'True' 231 | grid: 'False' 232 | gui_hint: '' 233 | label1: Signal 1 234 | label10: Signal 10 235 | label2: Signal 2 236 | label3: Signal 3 237 | label4: Signal 4 238 | label5: Signal 5 239 | label6: Signal 6 240 | label7: Signal 7 241 | label8: Signal 8 242 | label9: Signal 9 243 | legend: 'True' 244 | marker1: '-1' 245 | marker10: '-1' 246 | marker2: '-1' 247 | marker3: '-1' 248 | marker4: '-1' 249 | marker5: '-1' 250 | marker6: '-1' 251 | marker7: '-1' 252 | marker8: '-1' 253 | marker9: '-1' 254 | name: '""' 255 | nconnections: '1' 256 | size: '1024' 257 | srate: samp_rate 258 | stemplot: 'False' 259 | style1: '1' 260 | style10: '1' 261 | style2: '1' 262 | style3: '1' 263 | style4: '1' 264 | style5: '1' 265 | style6: '1' 266 | style7: '1' 267 | style8: '1' 268 | style9: '1' 269 | tr_chan: '0' 270 | tr_delay: '0' 271 | tr_level: '0.0' 272 | tr_mode: qtgui.TRIG_MODE_FREE 273 | tr_slope: qtgui.TRIG_SLOPE_POS 274 | tr_tag: '""' 275 | type: complex 276 | update_time: '0.10' 277 | width1: '1' 278 | width10: '1' 279 | width2: '1' 280 | width3: '1' 281 | width4: '1' 282 | width5: '1' 283 | width6: '1' 284 | width7: '1' 285 | width8: '1' 286 | width9: '1' 287 | ylabel: Amplitude 288 | ymax: '1' 289 | ymin: '-1' 290 | yunit: '""' 291 | states: 292 | bus_sink: false 293 | bus_source: false 294 | bus_structure: null 295 | coordinate: [703, 133] 296 | rotation: 0 297 | state: disabled 298 | - name: qtgui_waterfall_sink_x_0 299 | id: qtgui_waterfall_sink_x 300 | parameters: 301 | affinity: '' 302 | alias: '' 303 | alpha1: '1.0' 304 | alpha10: '1.0' 305 | alpha2: '1.0' 306 | alpha3: '1.0' 307 | alpha4: '1.0' 308 | alpha5: '1.0' 309 | alpha6: '1.0' 310 | alpha7: '1.0' 311 | alpha8: '1.0' 312 | alpha9: '1.0' 313 | axislabels: 'True' 314 | bw: samp_rate 315 | color1: '0' 316 | color10: '0' 317 | color2: '0' 318 | color3: '0' 319 | color4: '0' 320 | color5: '0' 321 | color6: '0' 322 | color7: '0' 323 | color8: '0' 324 | color9: '0' 325 | comment: '' 326 | fc: '0' 327 | fftsize: '1024' 328 | freqhalf: 'True' 329 | grid: 'False' 330 | gui_hint: '' 331 | int_max: '10' 332 | int_min: '-140' 333 | label1: '' 334 | label10: '' 335 | label2: '' 336 | label3: '' 337 | label4: '' 338 | label5: '' 339 | label6: '' 340 | label7: '' 341 | label8: '' 342 | label9: '' 343 | legend: 'True' 344 | maxoutbuf: '0' 345 | minoutbuf: '0' 346 | name: '""' 347 | nconnections: '1' 348 | showports: 'False' 349 | type: complex 350 | update_time: '0.10' 351 | wintype: firdes.WIN_BLACKMAN_hARRIS 352 | states: 353 | bus_sink: false 354 | bus_source: false 355 | bus_structure: null 356 | coordinate: [627, 262] 357 | rotation: 0 358 | state: true 359 | 360 | connections: 361 | - [blocks_complex_to_mag_squared_0, '0', qtgui_time_sink_x_0, '0'] 362 | - [blocks_file_source_0, '0', blocks_throttle_1, '0'] 363 | - [blocks_throttle_1, '0', blocks_complex_to_mag_squared_0, '0'] 364 | - [blocks_throttle_1, '0', qtgui_time_sink_x_0_0, '0'] 365 | - [blocks_throttle_1, '0', qtgui_waterfall_sink_x_0, '0'] 366 | 367 | metadata: 368 | file_format: 1 369 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/ctf2.grc: -------------------------------------------------------------------------------- 1 | options: 2 | parameters: 3 | author: '' 4 | category: '[GRC Hier Blocks]' 5 | cmake_opt: '' 6 | comment: '' 7 | copyright: '' 8 | description: '' 9 | gen_cmake: 'On' 10 | gen_linking: dynamic 11 | generate_options: qt_gui 12 | hier_block_src_path: '.:' 13 | id: ctf2 14 | max_nouts: '0' 15 | output_language: python 16 | placement: (0,0) 17 | qt_qss_theme: '' 18 | realtime_scheduling: '' 19 | run: 'True' 20 | run_command: '{python} -u {filename}' 21 | run_options: prompt 22 | sizing_mode: fixed 23 | thread_safe_setters: '' 24 | title: Not titled yet 25 | window_size: '' 26 | states: 27 | bus_sink: false 28 | bus_source: false 29 | bus_structure: null 30 | coordinate: [8, 6] 31 | rotation: 0 32 | state: enabled 33 | 34 | blocks: 35 | - name: samp_rate 36 | id: variable 37 | parameters: 38 | comment: '' 39 | value: 1200*10 40 | states: 41 | bus_sink: false 42 | bus_source: false 43 | bus_structure: null 44 | coordinate: [255, 35] 45 | rotation: 0 46 | state: enabled 47 | - name: blocks_complex_to_mag_squared_0 48 | id: blocks_complex_to_mag_squared 49 | parameters: 50 | affinity: '' 51 | alias: '' 52 | comment: '' 53 | maxoutbuf: '0' 54 | minoutbuf: '0' 55 | vlen: '1' 56 | states: 57 | bus_sink: false 58 | bus_source: false 59 | bus_structure: null 60 | coordinate: [442, 173] 61 | rotation: 0 62 | state: true 63 | - name: blocks_file_source_0 64 | id: blocks_file_source 65 | parameters: 66 | affinity: '' 67 | alias: '' 68 | begin_tag: pmt.PMT_NIL 69 | comment: '' 70 | file: /home/jan/Downloads/ctf2_1200bps.iq 71 | length: '0' 72 | maxoutbuf: '0' 73 | minoutbuf: '0' 74 | offset: '0' 75 | repeat: 'True' 76 | type: complex 77 | vlen: '1' 78 | states: 79 | bus_sink: false 80 | bus_source: false 81 | bus_structure: null 82 | coordinate: [25, 95] 83 | rotation: 0 84 | state: true 85 | - name: blocks_float_to_char_0 86 | id: blocks_float_to_char 87 | parameters: 88 | affinity: '' 89 | alias: '' 90 | comment: '' 91 | maxoutbuf: '0' 92 | minoutbuf: '0' 93 | scale: '1' 94 | vlen: '1' 95 | states: 96 | bus_sink: false 97 | bus_source: false 98 | bus_structure: null 99 | coordinate: [793, 310] 100 | rotation: 0 101 | state: enabled 102 | - name: blocks_threshold_ff_0 103 | id: blocks_threshold_ff 104 | parameters: 105 | affinity: '' 106 | alias: '' 107 | comment: '' 108 | high: '.1' 109 | init: '0' 110 | low: '.05' 111 | maxoutbuf: '0' 112 | minoutbuf: '0' 113 | states: 114 | bus_sink: false 115 | bus_source: false 116 | bus_structure: null 117 | coordinate: [611, 239] 118 | rotation: 0 119 | state: true 120 | - name: blocks_throttle_1 121 | id: blocks_throttle 122 | parameters: 123 | affinity: '' 124 | alias: '' 125 | comment: '' 126 | ignoretag: 'True' 127 | maxoutbuf: '0' 128 | minoutbuf: '0' 129 | samples_per_second: samp_rate 130 | type: complex 131 | vlen: '1' 132 | states: 133 | bus_sink: false 134 | bus_source: false 135 | bus_structure: null 136 | coordinate: [232, 156] 137 | rotation: 0 138 | state: enabled 139 | - name: blocks_udp_sink_0_0 140 | id: blocks_udp_sink 141 | parameters: 142 | affinity: '' 143 | alias: '' 144 | comment: '' 145 | eof: 'True' 146 | ipaddr: 225.0.0.1 147 | port: '10000' 148 | psize: '10' 149 | type: byte 150 | vlen: '1' 151 | states: 152 | bus_sink: false 153 | bus_source: false 154 | bus_structure: null 155 | coordinate: [972, 254] 156 | rotation: 0 157 | state: enabled 158 | - name: qtgui_time_sink_x_0_0 159 | id: qtgui_time_sink_x 160 | parameters: 161 | affinity: '' 162 | alias: '' 163 | alpha1: '1.0' 164 | alpha10: '1.0' 165 | alpha2: '1.0' 166 | alpha3: '1.0' 167 | alpha4: '1.0' 168 | alpha5: '1.0' 169 | alpha6: '1.0' 170 | alpha7: '1.0' 171 | alpha8: '1.0' 172 | alpha9: '1.0' 173 | autoscale: 'False' 174 | axislabels: 'True' 175 | color1: blue 176 | color10: dark blue 177 | color2: red 178 | color3: green 179 | color4: black 180 | color5: cyan 181 | color6: magenta 182 | color7: yellow 183 | color8: dark red 184 | color9: dark green 185 | comment: '' 186 | ctrlpanel: 'True' 187 | entags: 'True' 188 | grid: 'True' 189 | gui_hint: '' 190 | label1: Signal 1 191 | label10: Signal 10 192 | label2: Signal 2 193 | label3: Signal 3 194 | label4: Signal 4 195 | label5: Signal 5 196 | label6: Signal 6 197 | label7: Signal 7 198 | label8: Signal 8 199 | label9: Signal 9 200 | legend: 'True' 201 | marker1: '-1' 202 | marker10: '-1' 203 | marker2: '-1' 204 | marker3: '-1' 205 | marker4: '-1' 206 | marker5: '-1' 207 | marker6: '-1' 208 | marker7: '-1' 209 | marker8: '-1' 210 | marker9: '-1' 211 | name: '""' 212 | nconnections: '2' 213 | size: int(samp_rate/2) 214 | srate: samp_rate 215 | stemplot: 'False' 216 | style1: '1' 217 | style10: '1' 218 | style2: '1' 219 | style3: '1' 220 | style4: '1' 221 | style5: '1' 222 | style6: '1' 223 | style7: '1' 224 | style8: '1' 225 | style9: '1' 226 | tr_chan: '0' 227 | tr_delay: '0' 228 | tr_level: '0.0' 229 | tr_mode: qtgui.TRIG_MODE_FREE 230 | tr_slope: qtgui.TRIG_SLOPE_POS 231 | tr_tag: '""' 232 | type: float 233 | update_time: '0.10' 234 | width1: '1' 235 | width10: '1' 236 | width2: '1' 237 | width3: '1' 238 | width4: '1' 239 | width5: '1' 240 | width6: '1' 241 | width7: '1' 242 | width8: '1' 243 | width9: '1' 244 | ylabel: Phase 245 | ymax: '1' 246 | ymin: '-1' 247 | yunit: '""' 248 | states: 249 | bus_sink: false 250 | bus_source: false 251 | bus_structure: null 252 | coordinate: [811, 152] 253 | rotation: 0 254 | state: true 255 | - name: qtgui_waterfall_sink_x_0 256 | id: qtgui_waterfall_sink_x 257 | parameters: 258 | affinity: '' 259 | alias: '' 260 | alpha1: '1.0' 261 | alpha10: '1.0' 262 | alpha2: '1.0' 263 | alpha3: '1.0' 264 | alpha4: '1.0' 265 | alpha5: '1.0' 266 | alpha6: '1.0' 267 | alpha7: '1.0' 268 | alpha8: '1.0' 269 | alpha9: '1.0' 270 | axislabels: 'True' 271 | bw: samp_rate 272 | color1: '0' 273 | color10: '0' 274 | color2: '0' 275 | color3: '0' 276 | color4: '0' 277 | color5: '0' 278 | color6: '0' 279 | color7: '0' 280 | color8: '0' 281 | color9: '0' 282 | comment: '' 283 | fc: '0' 284 | fftsize: '1024' 285 | freqhalf: 'True' 286 | grid: 'False' 287 | gui_hint: '' 288 | int_max: '10' 289 | int_min: '-140' 290 | label1: '' 291 | label10: '' 292 | label2: '' 293 | label3: '' 294 | label4: '' 295 | label5: '' 296 | label6: '' 297 | label7: '' 298 | label8: '' 299 | label9: '' 300 | legend: 'True' 301 | maxoutbuf: '0' 302 | minoutbuf: '0' 303 | name: '""' 304 | nconnections: '1' 305 | showports: 'False' 306 | type: complex 307 | update_time: '0.10' 308 | wintype: firdes.WIN_BLACKMAN_hARRIS 309 | states: 310 | bus_sink: false 311 | bus_source: false 312 | bus_structure: null 313 | coordinate: [501, 22] 314 | rotation: 0 315 | state: true 316 | 317 | connections: 318 | - [blocks_complex_to_mag_squared_0, '0', blocks_threshold_ff_0, '0'] 319 | - [blocks_complex_to_mag_squared_0, '0', qtgui_time_sink_x_0_0, '0'] 320 | - [blocks_file_source_0, '0', blocks_throttle_1, '0'] 321 | - [blocks_float_to_char_0, '0', blocks_udp_sink_0_0, '0'] 322 | - [blocks_threshold_ff_0, '0', blocks_float_to_char_0, '0'] 323 | - [blocks_threshold_ff_0, '0', qtgui_time_sink_x_0_0, '1'] 324 | - [blocks_throttle_1, '0', blocks_complex_to_mag_squared_0, '0'] 325 | - [blocks_throttle_1, '0', qtgui_waterfall_sink_x_0, '0'] 326 | 327 | metadata: 328 | file_format: 1 329 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/BE.SDR3/readme.md: -------------------------------------------------------------------------------- 1 | # UBA Belgian SDR Meetup 30.10.2020 2 | 3 | Please note that this Friday, 30 October, the 3th UBA Belgian (online) SDR Meetup will be organised. 4 | 5 | As the previous meetup's, the event will be held online (jitsi link, see below), starting at 20h00. 6 | 7 | The agenda is as follows: 8 | - Question & Answer round: 9 | This allows everybody to ask questions on SDR, show of any SDR related projects you are working on, or just introduce yourself. 10 | 11 | - The solution of the two CTF challenges. 12 | 13 | CTF1: 14 | [CTF1 iq-file 1](https://github.com/on1arf/sdr/blob/master/iqfiles/20200919_1210Z_490Khz_1200sps.torrent) 15 | [CTF1 iq-file 2](https://github.com/on1arf/sdr/blob/master/iqfiles/20200919_1240Z_518Khz_1200sps.torrent) 16 | 17 | Hint: "SDR Meetup 2" 18 | 19 | CTF2: 20 | [CTF2 iq-file](https://github.com/on1arf/sdr/blob/master/iqfiles/ctf2_1200bps.iq.torrent) 21 | 22 | Question: "what time (date/hour) was this recording made?" 23 | 24 | Hint: "the question is also a hint" 25 | 26 | 27 | - A small presentation of the 'Elektor SDR shield' project. 28 | What have we learned sofar? How well does it work? 29 | How does SDR receiver hardware actually work and what are the pitfalls? 30 | 31 | - Time permitting, we can have a free discussion afterwards on any SDR related topic. 32 | 33 | Like last time, the Meetup starts at 20:00. The presentations start around 20:30 and should be finished between 21:30-22:00 34 | 35 | The URL of the jitsi meeting is: 36 | [jitsi](https://meet.jit.si/UBABelgianSDRMeetup) 37 | 38 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/Presentation_ON1ARF_SDR_GNURadio _04-09-2020.mp4.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/Presentation_ON1ARF_SDR_GNURadio _04-09-2020.mp4.torrent -------------------------------------------------------------------------------- /BelgianSDRMeetups/WorkShopGRC1/WorkshopGRC_CTF1.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/WorkShopGRC1/WorkshopGRC_CTF1.odp -------------------------------------------------------------------------------- /BelgianSDRMeetups/WorkShopGRC1/WorkshopGRC_CTF1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/WorkShopGRC1/WorkshopGRC_CTF1.pdf -------------------------------------------------------------------------------- /BelgianSDRMeetups/WorkShopGRC1/ctf2.grc: -------------------------------------------------------------------------------- 1 | options: 2 | parameters: 3 | author: '' 4 | category: '[GRC Hier Blocks]' 5 | cmake_opt: '' 6 | comment: '' 7 | copyright: '' 8 | description: '' 9 | gen_cmake: 'On' 10 | gen_linking: dynamic 11 | generate_options: qt_gui 12 | hier_block_src_path: '.:' 13 | id: ctf2resol 14 | max_nouts: '0' 15 | output_language: python 16 | placement: (0,0) 17 | qt_qss_theme: '' 18 | realtime_scheduling: '' 19 | run: 'True' 20 | run_command: '{python} -u {filename}' 21 | run_options: prompt 22 | sizing_mode: fixed 23 | thread_safe_setters: '' 24 | title: Not titled yet 25 | window_size: '' 26 | states: 27 | bus_sink: false 28 | bus_source: false 29 | bus_structure: null 30 | coordinate: [8, 8] 31 | rotation: 0 32 | state: enabled 33 | 34 | blocks: 35 | - name: movavg 36 | id: variable_qtgui_range 37 | parameters: 38 | comment: '' 39 | gui_hint: '' 40 | label: '' 41 | min_len: '200' 42 | orient: Qt.Horizontal 43 | rangeType: int 44 | start: '2' 45 | step: '1' 46 | stop: '100' 47 | value: '60' 48 | widget: counter_slider 49 | states: 50 | bus_sink: false 51 | bus_source: false 52 | bus_structure: null 53 | coordinate: [504, 28.0] 54 | rotation: 0 55 | state: true 56 | - name: samp_rate 57 | id: variable 58 | parameters: 59 | comment: '' 60 | value: '1200' 61 | states: 62 | bus_sink: false 63 | bus_source: false 64 | bus_structure: null 65 | coordinate: [184, 12] 66 | rotation: 0 67 | state: enabled 68 | - name: thr 69 | id: variable_qtgui_entry 70 | parameters: 71 | comment: '' 72 | gui_hint: '' 73 | label: '' 74 | type: real 75 | value: '0.3' 76 | states: 77 | bus_sink: false 78 | bus_source: false 79 | bus_structure: null 80 | coordinate: [88, 316.0] 81 | rotation: 0 82 | state: true 83 | - name: analog_agc_xx_0 84 | id: analog_agc_xx 85 | parameters: 86 | affinity: '' 87 | alias: '' 88 | comment: '' 89 | gain: '3' 90 | max_gain: '10' 91 | maxoutbuf: '0' 92 | minoutbuf: '0' 93 | rate: 1e-4 94 | reference: '1.0' 95 | type: float 96 | states: 97 | bus_sink: false 98 | bus_source: false 99 | bus_structure: null 100 | coordinate: [1256, 4.0] 101 | rotation: 0 102 | state: true 103 | - name: blocks_complex_to_mag_squared_0 104 | id: blocks_complex_to_mag_squared 105 | parameters: 106 | affinity: '' 107 | alias: '' 108 | comment: '' 109 | maxoutbuf: '0' 110 | minoutbuf: '0' 111 | vlen: '1' 112 | states: 113 | bus_sink: false 114 | bus_source: false 115 | bus_structure: null 116 | coordinate: [768, 88.0] 117 | rotation: 0 118 | state: true 119 | - name: blocks_file_sink_0 120 | id: blocks_file_sink 121 | parameters: 122 | affinity: '' 123 | alias: '' 124 | append: 'False' 125 | comment: '' 126 | file: /home/kristoff/gnuradio/fifo.f 127 | type: byte 128 | unbuffered: 'True' 129 | vlen: '1' 130 | states: 131 | bus_sink: false 132 | bus_source: false 133 | bus_structure: null 134 | coordinate: [752, 380.0] 135 | rotation: 0 136 | state: true 137 | - name: blocks_file_source_0 138 | id: blocks_file_source 139 | parameters: 140 | affinity: '' 141 | alias: '' 142 | begin_tag: pmt.PMT_NIL 143 | comment: '' 144 | file: /home/kristoff/gnuradio/CTF2/ctf2_1200bps.iq 145 | length: '0' 146 | maxoutbuf: '0' 147 | minoutbuf: '0' 148 | offset: '0' 149 | repeat: 'True' 150 | type: complex 151 | vlen: '1' 152 | states: 153 | bus_sink: false 154 | bus_source: false 155 | bus_structure: null 156 | coordinate: [280, 196.0] 157 | rotation: 0 158 | state: true 159 | - name: blocks_float_to_char_0 160 | id: blocks_float_to_char 161 | parameters: 162 | affinity: '' 163 | alias: '' 164 | comment: '' 165 | maxoutbuf: '0' 166 | minoutbuf: '0' 167 | scale: '1' 168 | vlen: '1' 169 | states: 170 | bus_sink: false 171 | bus_source: false 172 | bus_structure: null 173 | coordinate: [552, 380.0] 174 | rotation: 0 175 | state: true 176 | - name: blocks_moving_average_xx_0 177 | id: blocks_moving_average_xx 178 | parameters: 179 | affinity: '' 180 | alias: '' 181 | comment: '' 182 | length: movavg 183 | max_iter: '4000' 184 | maxoutbuf: '0' 185 | minoutbuf: '0' 186 | scale: 1/movavg 187 | type: float 188 | vlen: '1' 189 | states: 190 | bus_sink: false 191 | bus_source: false 192 | bus_structure: null 193 | coordinate: [1008, 60.0] 194 | rotation: 0 195 | state: true 196 | - name: blocks_threshold_ff_0 197 | id: blocks_threshold_ff 198 | parameters: 199 | affinity: '' 200 | alias: '' 201 | comment: '' 202 | high: thr 203 | init: '0' 204 | low: thr 205 | maxoutbuf: '0' 206 | minoutbuf: '0' 207 | states: 208 | bus_sink: false 209 | bus_source: false 210 | bus_structure: null 211 | coordinate: [288, 388.0] 212 | rotation: 0 213 | state: true 214 | - name: blocks_throttle_0 215 | id: blocks_throttle 216 | parameters: 217 | affinity: '' 218 | alias: '' 219 | comment: '' 220 | ignoretag: 'True' 221 | maxoutbuf: '0' 222 | minoutbuf: '0' 223 | samples_per_second: samp_rate 224 | type: complex 225 | vlen: '1' 226 | states: 227 | bus_sink: false 228 | bus_source: false 229 | bus_structure: null 230 | coordinate: [568, 236.0] 231 | rotation: 0 232 | state: true 233 | - name: qtgui_freq_sink_x_0 234 | id: qtgui_freq_sink_x 235 | parameters: 236 | affinity: '' 237 | alias: '' 238 | alpha1: '1.0' 239 | alpha10: '1.0' 240 | alpha2: '1.0' 241 | alpha3: '1.0' 242 | alpha4: '1.0' 243 | alpha5: '1.0' 244 | alpha6: '1.0' 245 | alpha7: '1.0' 246 | alpha8: '1.0' 247 | alpha9: '1.0' 248 | autoscale: 'False' 249 | average: '1.0' 250 | axislabels: 'True' 251 | bw: samp_rate 252 | color1: '"blue"' 253 | color10: '"dark blue"' 254 | color2: '"red"' 255 | color3: '"green"' 256 | color4: '"black"' 257 | color5: '"cyan"' 258 | color6: '"magenta"' 259 | color7: '"yellow"' 260 | color8: '"dark red"' 261 | color9: '"dark green"' 262 | comment: '' 263 | ctrlpanel: 'False' 264 | fc: '0' 265 | fftsize: '1024' 266 | freqhalf: 'True' 267 | grid: 'False' 268 | gui_hint: '' 269 | label: Relative Gain 270 | label1: '' 271 | label10: '''''' 272 | label2: '''''' 273 | label3: '''''' 274 | label4: '''''' 275 | label5: '''''' 276 | label6: '''''' 277 | label7: '''''' 278 | label8: '''''' 279 | label9: '''''' 280 | legend: 'True' 281 | maxoutbuf: '0' 282 | minoutbuf: '0' 283 | name: '""' 284 | nconnections: '1' 285 | showports: 'False' 286 | tr_chan: '0' 287 | tr_level: '0.0' 288 | tr_mode: qtgui.TRIG_MODE_FREE 289 | tr_tag: '""' 290 | type: complex 291 | units: dB 292 | update_time: '0.10' 293 | width1: '1' 294 | width10: '1' 295 | width2: '1' 296 | width3: '1' 297 | width4: '1' 298 | width5: '1' 299 | width6: '1' 300 | width7: '1' 301 | width8: '1' 302 | width9: '1' 303 | wintype: firdes.WIN_BLACKMAN_hARRIS 304 | ymax: '10' 305 | ymin: '-140' 306 | states: 307 | bus_sink: false 308 | bus_source: false 309 | bus_structure: null 310 | coordinate: [1176, 152.0] 311 | rotation: 0 312 | state: disabled 313 | - name: qtgui_time_sink_x_0 314 | id: qtgui_time_sink_x 315 | parameters: 316 | affinity: '' 317 | alias: '' 318 | alpha1: '1.0' 319 | alpha10: '1.0' 320 | alpha2: '1.0' 321 | alpha3: '1.0' 322 | alpha4: '1.0' 323 | alpha5: '1.0' 324 | alpha6: '1.0' 325 | alpha7: '1.0' 326 | alpha8: '1.0' 327 | alpha9: '1.0' 328 | autoscale: 'False' 329 | axislabels: 'True' 330 | color1: blue 331 | color10: dark blue 332 | color2: red 333 | color3: green 334 | color4: black 335 | color5: cyan 336 | color6: magenta 337 | color7: yellow 338 | color8: dark red 339 | color9: dark green 340 | comment: '' 341 | ctrlpanel: 'False' 342 | entags: 'True' 343 | grid: 'False' 344 | gui_hint: '' 345 | label1: Signal 1 346 | label10: Signal 10 347 | label2: Signal 2 348 | label3: Signal 3 349 | label4: Signal 4 350 | label5: Signal 5 351 | label6: Signal 6 352 | label7: Signal 7 353 | label8: Signal 8 354 | label9: Signal 9 355 | legend: 'True' 356 | marker1: '-1' 357 | marker10: '-1' 358 | marker2: '-1' 359 | marker3: '-1' 360 | marker4: '-1' 361 | marker5: '-1' 362 | marker6: '-1' 363 | marker7: '-1' 364 | marker8: '-1' 365 | marker9: '-1' 366 | name: '""' 367 | nconnections: '1' 368 | size: '1024' 369 | srate: samp_rate 370 | stemplot: 'False' 371 | style1: '1' 372 | style10: '1' 373 | style2: '1' 374 | style3: '1' 375 | style4: '1' 376 | style5: '1' 377 | style6: '1' 378 | style7: '1' 379 | style8: '1' 380 | style9: '1' 381 | tr_chan: '0' 382 | tr_delay: '0' 383 | tr_level: '0.0' 384 | tr_mode: qtgui.TRIG_MODE_FREE 385 | tr_slope: qtgui.TRIG_SLOPE_POS 386 | tr_tag: '""' 387 | type: complex 388 | update_time: '0.10' 389 | width1: '1' 390 | width10: '1' 391 | width2: '1' 392 | width3: '1' 393 | width4: '1' 394 | width5: '1' 395 | width6: '1' 396 | width7: '1' 397 | width8: '1' 398 | width9: '1' 399 | ylabel: Amplitude 400 | ymax: '1' 401 | ymin: '-1' 402 | yunit: '""' 403 | states: 404 | bus_sink: false 405 | bus_source: false 406 | bus_structure: null 407 | coordinate: [1000, 204.0] 408 | rotation: 0 409 | state: disabled 410 | - name: qtgui_time_sink_x_0_0 411 | id: qtgui_time_sink_x 412 | parameters: 413 | affinity: '' 414 | alias: '' 415 | alpha1: '1.0' 416 | alpha10: '1.0' 417 | alpha2: '1.0' 418 | alpha3: '1.0' 419 | alpha4: '1.0' 420 | alpha5: '1.0' 421 | alpha6: '1.0' 422 | alpha7: '1.0' 423 | alpha8: '1.0' 424 | alpha9: '1.0' 425 | autoscale: 'False' 426 | axislabels: 'True' 427 | color1: blue 428 | color10: dark blue 429 | color2: red 430 | color3: green 431 | color4: black 432 | color5: cyan 433 | color6: magenta 434 | color7: yellow 435 | color8: dark red 436 | color9: dark green 437 | comment: '' 438 | ctrlpanel: 'False' 439 | entags: 'True' 440 | grid: 'False' 441 | gui_hint: '' 442 | label1: Signal 1 443 | label10: Signal 10 444 | label2: Signal 2 445 | label3: Signal 3 446 | label4: Signal 4 447 | label5: Signal 5 448 | label6: Signal 6 449 | label7: Signal 7 450 | label8: Signal 8 451 | label9: Signal 9 452 | legend: 'True' 453 | marker1: '-1' 454 | marker10: '-1' 455 | marker2: '-1' 456 | marker3: '-1' 457 | marker4: '-1' 458 | marker5: '-1' 459 | marker6: '-1' 460 | marker7: '-1' 461 | marker8: '-1' 462 | marker9: '-1' 463 | name: '""' 464 | nconnections: '2' 465 | size: samp_rate * 90 466 | srate: samp_rate 467 | stemplot: 'False' 468 | style1: '1' 469 | style10: '1' 470 | style2: '1' 471 | style3: '1' 472 | style4: '1' 473 | style5: '1' 474 | style6: '1' 475 | style7: '1' 476 | style8: '1' 477 | style9: '1' 478 | tr_chan: '0' 479 | tr_delay: '0' 480 | tr_level: '0.0' 481 | tr_mode: qtgui.TRIG_MODE_FREE 482 | tr_slope: qtgui.TRIG_SLOPE_POS 483 | tr_tag: '""' 484 | type: float 485 | update_time: '0.10' 486 | width1: '1' 487 | width10: '1' 488 | width2: '1' 489 | width3: '1' 490 | width4: '1' 491 | width5: '1' 492 | width6: '1' 493 | width7: '1' 494 | width8: '1' 495 | width9: '1' 496 | ylabel: Amplitude 497 | ymax: '1.2' 498 | ymin: '0' 499 | yunit: '""' 500 | states: 501 | bus_sink: false 502 | bus_source: false 503 | bus_structure: null 504 | coordinate: [528, 444.0] 505 | rotation: 0 506 | state: enabled 507 | - name: qtgui_waterfall_sink_x_0 508 | id: qtgui_waterfall_sink_x 509 | parameters: 510 | affinity: '' 511 | alias: '' 512 | alpha1: '1.0' 513 | alpha10: '1.0' 514 | alpha2: '1.0' 515 | alpha3: '1.0' 516 | alpha4: '1.0' 517 | alpha5: '1.0' 518 | alpha6: '1.0' 519 | alpha7: '1.0' 520 | alpha8: '1.0' 521 | alpha9: '1.0' 522 | axislabels: 'True' 523 | bw: samp_rate 524 | color1: '0' 525 | color10: '0' 526 | color2: '0' 527 | color3: '0' 528 | color4: '0' 529 | color5: '0' 530 | color6: '0' 531 | color7: '0' 532 | color8: '0' 533 | color9: '0' 534 | comment: '' 535 | fc: '0' 536 | fftsize: '1024' 537 | freqhalf: 'True' 538 | grid: 'False' 539 | gui_hint: '' 540 | int_max: '10' 541 | int_min: '-140' 542 | label1: '' 543 | label10: '' 544 | label2: '' 545 | label3: '' 546 | label4: '' 547 | label5: '' 548 | label6: '' 549 | label7: '' 550 | label8: '' 551 | label9: '' 552 | legend: 'True' 553 | maxoutbuf: '0' 554 | minoutbuf: '0' 555 | name: '""' 556 | nconnections: '1' 557 | showports: 'False' 558 | type: complex 559 | update_time: '0.10' 560 | wintype: firdes.WIN_BLACKMAN_hARRIS 561 | states: 562 | bus_sink: false 563 | bus_source: false 564 | bus_structure: null 565 | coordinate: [832, 264.0] 566 | rotation: 0 567 | state: disabled 568 | - name: virtual_sink_0 569 | id: virtual_sink 570 | parameters: 571 | alias: '' 572 | comment: '' 573 | stream_id: virt1 574 | states: 575 | bus_sink: false 576 | bus_source: false 577 | bus_structure: null 578 | coordinate: [1448, 60.0] 579 | rotation: 0 580 | state: true 581 | - name: virtual_source_0 582 | id: virtual_source 583 | parameters: 584 | alias: '' 585 | comment: '' 586 | stream_id: virt1 587 | states: 588 | bus_sink: false 589 | bus_source: false 590 | bus_structure: null 591 | coordinate: [104, 468.0] 592 | rotation: 0 593 | state: true 594 | 595 | connections: 596 | - [analog_agc_xx_0, '0', virtual_sink_0, '0'] 597 | - [blocks_complex_to_mag_squared_0, '0', blocks_moving_average_xx_0, '0'] 598 | - [blocks_file_source_0, '0', blocks_throttle_0, '0'] 599 | - [blocks_float_to_char_0, '0', blocks_file_sink_0, '0'] 600 | - [blocks_moving_average_xx_0, '0', analog_agc_xx_0, '0'] 601 | - [blocks_threshold_ff_0, '0', blocks_float_to_char_0, '0'] 602 | - [blocks_threshold_ff_0, '0', qtgui_time_sink_x_0_0, '0'] 603 | - [blocks_throttle_0, '0', blocks_complex_to_mag_squared_0, '0'] 604 | - [blocks_throttle_0, '0', qtgui_freq_sink_x_0, '0'] 605 | - [blocks_throttle_0, '0', qtgui_time_sink_x_0, '0'] 606 | - [blocks_throttle_0, '0', qtgui_waterfall_sink_x_0, '0'] 607 | - [virtual_source_0, '0', blocks_threshold_ff_0, '0'] 608 | - [virtual_source_0, '0', qtgui_time_sink_x_0_0, '1'] 609 | 610 | metadata: 611 | file_format: 1 612 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/WorkShopGRC1/readme.md: -------------------------------------------------------------------------------- 1 | Files used during the workshop 1 "Getting started with GNU Radio companion and CTFs" 2 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/capture147_1200sps.iq: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/capture147_1200sps.iq -------------------------------------------------------------------------------- /BelgianSDRMeetups/dwd_besdr2.odp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/dwd_besdr2.odp -------------------------------------------------------------------------------- /BelgianSDRMeetups/dwd_besdr2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/BelgianSDRMeetups/dwd_besdr2.pdf -------------------------------------------------------------------------------- /BelgianSDRMeetups/rtty147_3_fskdemod.grc: -------------------------------------------------------------------------------- 1 | options: 2 | parameters: 3 | author: Kristoff Bonne (on1ARF) 4 | category: '[GRC Hier Blocks]' 5 | cmake_opt: '' 6 | comment: '' 7 | copyright: gpl-3.0 or newer 8 | description: rtty decoder for DWD at 147.3 KHz, sends decoded audio to UDP 225.0.0.1/10000 9 | to external baudot decoder 10 | gen_cmake: 'On' 11 | gen_linking: dynamic 12 | generate_options: qt_gui 13 | hier_block_src_path: '.:' 14 | id: top_block_dwd 15 | max_nouts: '0' 16 | output_language: python 17 | placement: (0,0) 18 | qt_qss_theme: '' 19 | realtime_scheduling: '' 20 | run: 'True' 21 | run_command: '{python} -u {filename}' 22 | run_options: prompt 23 | sizing_mode: fixed 24 | thread_safe_setters: '' 25 | title: DWD rtty decoder 26 | window_size: '' 27 | states: 28 | bus_sink: false 29 | bus_source: false 30 | bus_structure: null 31 | coordinate: [8, 8] 32 | rotation: 0 33 | state: enabled 34 | 35 | blocks: 36 | - name: decim 37 | id: variable 38 | parameters: 39 | comment: '' 40 | value: '800' 41 | states: 42 | bus_sink: false 43 | bus_source: false 44 | bus_structure: null 45 | coordinate: [800, 28] 46 | rotation: 0 47 | state: enabled 48 | - name: delay 49 | id: variable_qtgui_range 50 | parameters: 51 | comment: '' 52 | gui_hint: '' 53 | label: delay 54 | min_len: '200' 55 | orient: Qt.Horizontal 56 | rangeType: int 57 | start: '-10' 58 | step: '1' 59 | stop: '10' 60 | value: '0' 61 | widget: counter_slider 62 | states: 63 | bus_sink: false 64 | bus_source: false 65 | bus_structure: null 66 | coordinate: [376, 620] 67 | rotation: 0 68 | state: enabled 69 | - name: demod_baudrate 70 | id: variable 71 | parameters: 72 | comment: '' 73 | value: rtty_baudrate*2 74 | states: 75 | bus_sink: false 76 | bus_source: false 77 | bus_structure: null 78 | coordinate: [232, 12] 79 | rotation: 0 80 | state: enabled 81 | - name: freq_offset 82 | id: variable 83 | parameters: 84 | comment: '' 85 | value: '3000' 86 | states: 87 | bus_sink: false 88 | bus_source: false 89 | bus_structure: null 90 | coordinate: [496, 44] 91 | rotation: 0 92 | state: enabled 93 | - name: fsk_deviation_hz 94 | id: variable 95 | parameters: 96 | comment: '' 97 | value: '42.5' 98 | states: 99 | bus_sink: false 100 | bus_source: false 101 | bus_structure: null 102 | coordinate: [216, 484] 103 | rotation: 0 104 | state: enabled 105 | - name: gain 106 | id: variable_qtgui_range 107 | parameters: 108 | comment: '' 109 | gui_hint: '' 110 | label: gain 111 | min_len: '200' 112 | orient: Qt.Horizontal 113 | rangeType: float 114 | start: '0' 115 | step: 1e-5 116 | stop: '1' 117 | value: '0.1' 118 | widget: counter_slider 119 | states: 120 | bus_sink: false 121 | bus_source: false 122 | bus_structure: null 123 | coordinate: [208, 548] 124 | rotation: 0 125 | state: enabled 126 | - name: gainrf 127 | id: variable 128 | parameters: 129 | comment: '' 130 | value: '10' 131 | states: 132 | bus_sink: false 133 | bus_source: false 134 | bus_structure: null 135 | coordinate: [16, 164] 136 | rotation: 0 137 | state: enabled 138 | - name: inselect 139 | id: variable_qtgui_chooser 140 | parameters: 141 | comment: '' 142 | gui_hint: '' 143 | label: '' 144 | label0: dc block 145 | label1: no dc block 146 | label2: '' 147 | label3: '' 148 | label4: '' 149 | labels: '[]' 150 | num_opts: '2' 151 | option1: '1' 152 | option2: '2' 153 | option3: '3' 154 | option4: '4' 155 | options: '[0, 1, 2]' 156 | orient: Qt.QVBoxLayout 157 | type: int 158 | value: '0' 159 | widget: radio_buttons 160 | states: 161 | bus_sink: false 162 | bus_source: false 163 | bus_structure: null 164 | coordinate: [968, 12] 165 | rotation: 0 166 | state: enabled 167 | - name: lpfreq 168 | id: variable_qtgui_range 169 | parameters: 170 | comment: '' 171 | gui_hint: '' 172 | label: lpfreq 173 | min_len: '200' 174 | orient: Qt.Horizontal 175 | rangeType: float 176 | start: '50' 177 | step: '1' 178 | stop: '300' 179 | value: '100' 180 | widget: counter_slider 181 | states: 182 | bus_sink: false 183 | bus_source: false 184 | bus_structure: null 185 | coordinate: [1072, 292.0] 186 | rotation: 0 187 | state: enabled 188 | - name: nfilts 189 | id: variable 190 | parameters: 191 | comment: '' 192 | value: '16' 193 | states: 194 | bus_sink: false 195 | bus_source: false 196 | bus_structure: null 197 | coordinate: [184, 708] 198 | rotation: 0 199 | state: enabled 200 | - name: rtty_baudrate 201 | id: variable 202 | parameters: 203 | comment: '' 204 | value: '50' 205 | states: 206 | bus_sink: false 207 | bus_source: false 208 | bus_structure: null 209 | coordinate: [384, 20] 210 | rotation: 0 211 | state: enabled 212 | - name: samp_per_sym 213 | id: variable 214 | parameters: 215 | comment: '' 216 | value: int(samp_rate/decim/demod_baudrate) 217 | states: 218 | bus_sink: false 219 | bus_source: false 220 | bus_structure: null 221 | coordinate: [328, 916] 222 | rotation: 0 223 | state: enabled 224 | - name: samp_rate 225 | id: variable 226 | parameters: 227 | comment: '' 228 | value: 960e3 229 | states: 230 | bus_sink: false 231 | bus_source: false 232 | bus_structure: null 233 | coordinate: [24, 84] 234 | rotation: 0 235 | state: enabled 236 | - name: transition_bw 237 | id: variable 238 | parameters: 239 | comment: '' 240 | value: '300' 241 | states: 242 | bus_sink: false 243 | bus_source: false 244 | bus_structure: null 245 | coordinate: [456, 116] 246 | rotation: 0 247 | state: enabled 248 | - name: tunefreq 249 | id: variable_qtgui_range 250 | parameters: 251 | comment: '' 252 | gui_hint: '' 253 | label: tunefreq 254 | min_len: '200' 255 | orient: Qt.Horizontal 256 | rangeType: float 257 | start: '-100' 258 | step: '1' 259 | stop: '100' 260 | value: '0' 261 | widget: counter_slider 262 | states: 263 | bus_sink: false 264 | bus_source: false 265 | bus_structure: null 266 | coordinate: [608, 52] 267 | rotation: 0 268 | state: enabled 269 | - name: analog_agc_xx_0 270 | id: analog_agc_xx 271 | parameters: 272 | affinity: '' 273 | alias: '' 274 | comment: '' 275 | gain: '1' 276 | max_gain: '65536' 277 | maxoutbuf: '0' 278 | minoutbuf: '0' 279 | rate: 1e-4 280 | reference: '1.0' 281 | type: float 282 | states: 283 | bus_sink: false 284 | bus_source: false 285 | bus_structure: null 286 | coordinate: [680, 532.0] 287 | rotation: 0 288 | state: enabled 289 | - name: analog_quadrature_demod_cf_0 290 | id: analog_quadrature_demod_cf 291 | parameters: 292 | affinity: '' 293 | alias: '' 294 | comment: '' 295 | gain: samp_rate/decim/(2*math.pi*fsk_deviation_hz/8.0) 296 | maxoutbuf: '0' 297 | minoutbuf: '0' 298 | states: 299 | bus_sink: false 300 | bus_source: false 301 | bus_structure: null 302 | coordinate: [736, 380.0] 303 | rotation: 180 304 | state: enabled 305 | - name: blocks_delay_0 306 | id: blocks_delay 307 | parameters: 308 | affinity: '' 309 | alias: '' 310 | comment: '' 311 | delay: delay 312 | maxoutbuf: '0' 313 | minoutbuf: '0' 314 | num_ports: '1' 315 | type: float 316 | vlen: '1' 317 | states: 318 | bus_sink: false 319 | bus_source: false 320 | bus_structure: null 321 | coordinate: [824, 676] 322 | rotation: 0 323 | state: enabled 324 | - name: blocks_file_source_0 325 | id: blocks_file_source 326 | parameters: 327 | affinity: '' 328 | alias: '' 329 | begin_tag: pmt.PMT_NIL 330 | comment: '' 331 | file: capture147_1200sps.iq 332 | length: '0' 333 | maxoutbuf: '0' 334 | minoutbuf: '0' 335 | offset: '0' 336 | repeat: 'True' 337 | type: complex 338 | vlen: '1' 339 | states: 340 | bus_sink: false 341 | bus_source: false 342 | bus_structure: null 343 | coordinate: [208, 100.0] 344 | rotation: 0 345 | state: enabled 346 | - name: blocks_float_to_char_0 347 | id: blocks_float_to_char 348 | parameters: 349 | affinity: '' 350 | alias: '' 351 | comment: '' 352 | maxoutbuf: '0' 353 | minoutbuf: '0' 354 | scale: '1' 355 | vlen: '1' 356 | states: 357 | bus_sink: false 358 | bus_source: false 359 | bus_structure: null 360 | coordinate: [1032, 876.0] 361 | rotation: 0 362 | state: enabled 363 | - name: blocks_moving_average_xx_0 364 | id: blocks_moving_average_xx 365 | parameters: 366 | affinity: '' 367 | alias: '' 368 | comment: '' 369 | length: int(samp_rate/decim/demod_baudrate) 370 | max_iter: '4000' 371 | maxoutbuf: '0' 372 | minoutbuf: '0' 373 | scale: 1/(samp_rate/decim/demod_baudrate) 374 | type: float 375 | vlen: '1' 376 | states: 377 | bus_sink: false 378 | bus_source: false 379 | bus_structure: null 380 | coordinate: [520, 756.0] 381 | rotation: 0 382 | state: bypassed 383 | - name: blocks_repeat_0 384 | id: blocks_repeat 385 | parameters: 386 | affinity: '' 387 | alias: '' 388 | comment: '' 389 | interp: samp_per_sym 390 | maxoutbuf: '0' 391 | minoutbuf: '0' 392 | type: float 393 | vlen: '1' 394 | states: 395 | bus_sink: false 396 | bus_source: false 397 | bus_structure: null 398 | coordinate: [1008, 756.0] 399 | rotation: 0 400 | state: enabled 401 | - name: blocks_repeat_0_0 402 | id: blocks_repeat 403 | parameters: 404 | affinity: '' 405 | alias: '' 406 | comment: '' 407 | interp: samp_per_sym 408 | maxoutbuf: '0' 409 | minoutbuf: '0' 410 | type: float 411 | vlen: '1' 412 | states: 413 | bus_sink: false 414 | bus_source: false 415 | bus_structure: null 416 | coordinate: [808, 732] 417 | rotation: 0 418 | state: enabled 419 | - name: blocks_selector_0 420 | id: blocks_selector 421 | parameters: 422 | affinity: '' 423 | alias: '' 424 | comment: '' 425 | enabled: 'True' 426 | input_index: inselect 427 | maxoutbuf: '0' 428 | minoutbuf: '0' 429 | num_inputs: '2' 430 | num_outputs: '1' 431 | output_index: '0' 432 | showports: 'True' 433 | type: float 434 | vlen: '1' 435 | states: 436 | bus_sink: false 437 | bus_source: false 438 | bus_structure: null 439 | coordinate: [488, 492.0] 440 | rotation: 0 441 | state: true 442 | - name: blocks_threshold_ff_1 443 | id: blocks_threshold_ff 444 | parameters: 445 | affinity: '' 446 | alias: '' 447 | comment: '' 448 | high: 1e-5 449 | init: '0' 450 | low: -1e-5 451 | maxoutbuf: '0' 452 | minoutbuf: '0' 453 | states: 454 | bus_sink: false 455 | bus_source: false 456 | bus_structure: null 457 | coordinate: [848, 820] 458 | rotation: 0 459 | state: enabled 460 | - name: blocks_throttle_0 461 | id: blocks_throttle 462 | parameters: 463 | affinity: '' 464 | alias: '' 465 | comment: '' 466 | ignoretag: 'True' 467 | maxoutbuf: '0' 468 | minoutbuf: '0' 469 | samples_per_second: samp_rate/800 470 | type: complex 471 | vlen: '1' 472 | states: 473 | bus_sink: false 474 | bus_source: false 475 | bus_structure: null 476 | coordinate: [424, 196.0] 477 | rotation: 0 478 | state: enabled 479 | - name: blocks_udp_sink_0 480 | id: blocks_udp_sink 481 | parameters: 482 | affinity: '' 483 | alias: '' 484 | comment: '' 485 | eof: 'True' 486 | ipaddr: 225.0.0.1 487 | port: '10000' 488 | psize: '10' 489 | type: byte 490 | vlen: '1' 491 | states: 492 | bus_sink: false 493 | bus_source: false 494 | bus_structure: null 495 | coordinate: [1224, 764.0] 496 | rotation: 0 497 | state: enabled 498 | - name: dc_blocker_xx_0 499 | id: dc_blocker_xx 500 | parameters: 501 | affinity: '' 502 | alias: '' 503 | comment: '' 504 | length: '1024' 505 | long_form: 'True' 506 | maxoutbuf: '0' 507 | minoutbuf: '0' 508 | type: ff 509 | states: 510 | bus_sink: false 511 | bus_source: false 512 | bus_structure: null 513 | coordinate: [408, 372.0] 514 | rotation: 180 515 | state: enabled 516 | - name: digital_clock_recovery_mm_xx_0 517 | id: digital_clock_recovery_mm_xx 518 | parameters: 519 | affinity: '' 520 | alias: '' 521 | comment: '' 522 | gain_mu: '0.175' 523 | gain_omega: 0.25*0.175*0.175 524 | maxoutbuf: '0' 525 | minoutbuf: '0' 526 | mu: '0.5' 527 | omega: samp_per_sym 528 | omega_relative_limit: '0.005' 529 | type: float 530 | states: 531 | bus_sink: false 532 | bus_source: false 533 | bus_structure: null 534 | coordinate: [528, 916] 535 | rotation: 0 536 | state: enabled 537 | - name: freq_xlating_fir_filter_xxx_0_0 538 | id: freq_xlating_fir_filter_xxx 539 | parameters: 540 | affinity: '' 541 | alias: '' 542 | center_freq: freq_offset+tunefreq 543 | comment: '' 544 | decim: decim 545 | maxoutbuf: '0' 546 | minoutbuf: '0' 547 | samp_rate: samp_rate 548 | taps: firdes.low_pass(1, samp_rate, samp_rate/(2*decim), transition_bw) 549 | type: ccf 550 | states: 551 | bus_sink: false 552 | bus_source: false 553 | bus_structure: null 554 | coordinate: [416, 244.0] 555 | rotation: 0 556 | state: disabled 557 | - name: low_pass_filter_0 558 | id: low_pass_filter 559 | parameters: 560 | affinity: '' 561 | alias: '' 562 | beta: '6.76' 563 | comment: '' 564 | cutoff_freq: lpfreq 565 | decim: '1' 566 | gain: '1' 567 | interp: '1' 568 | maxoutbuf: '0' 569 | minoutbuf: '0' 570 | samp_rate: 960e3/decim 571 | type: fir_filter_ccf 572 | width: lpfreq*1.5 573 | win: firdes.WIN_HAMMING 574 | states: 575 | bus_sink: false 576 | bus_source: false 577 | bus_structure: null 578 | coordinate: [712, 220.0] 579 | rotation: 0 580 | state: enabled 581 | - name: osmosdr_source_0 582 | id: osmosdr_source 583 | parameters: 584 | affinity: '' 585 | alias: '' 586 | ant0: '' 587 | ant1: '' 588 | ant10: '' 589 | ant11: '' 590 | ant12: '' 591 | ant13: '' 592 | ant14: '' 593 | ant15: '' 594 | ant16: '' 595 | ant17: '' 596 | ant18: '' 597 | ant19: '' 598 | ant2: '' 599 | ant20: '' 600 | ant21: '' 601 | ant22: '' 602 | ant23: '' 603 | ant24: '' 604 | ant25: '' 605 | ant26: '' 606 | ant27: '' 607 | ant28: '' 608 | ant29: '' 609 | ant3: '' 610 | ant30: '' 611 | ant31: '' 612 | ant4: '' 613 | ant5: '' 614 | ant6: '' 615 | ant7: '' 616 | ant8: '' 617 | ant9: '' 618 | args: rtl=0,direct_samp=2 619 | bb_gain0: '10' 620 | bb_gain1: '20' 621 | bb_gain10: '20' 622 | bb_gain11: '20' 623 | bb_gain12: '20' 624 | bb_gain13: '20' 625 | bb_gain14: '20' 626 | bb_gain15: '20' 627 | bb_gain16: '20' 628 | bb_gain17: '20' 629 | bb_gain18: '20' 630 | bb_gain19: '20' 631 | bb_gain2: '20' 632 | bb_gain20: '20' 633 | bb_gain21: '20' 634 | bb_gain22: '20' 635 | bb_gain23: '20' 636 | bb_gain24: '20' 637 | bb_gain25: '20' 638 | bb_gain26: '20' 639 | bb_gain27: '20' 640 | bb_gain28: '20' 641 | bb_gain29: '20' 642 | bb_gain3: '20' 643 | bb_gain30: '20' 644 | bb_gain31: '20' 645 | bb_gain4: '20' 646 | bb_gain5: '20' 647 | bb_gain6: '20' 648 | bb_gain7: '20' 649 | bb_gain8: '20' 650 | bb_gain9: '20' 651 | bw0: '0' 652 | bw1: '0' 653 | bw10: '0' 654 | bw11: '0' 655 | bw12: '0' 656 | bw13: '0' 657 | bw14: '0' 658 | bw15: '0' 659 | bw16: '0' 660 | bw17: '0' 661 | bw18: '0' 662 | bw19: '0' 663 | bw2: '0' 664 | bw20: '0' 665 | bw21: '0' 666 | bw22: '0' 667 | bw23: '0' 668 | bw24: '0' 669 | bw25: '0' 670 | bw26: '0' 671 | bw27: '0' 672 | bw28: '0' 673 | bw29: '0' 674 | bw3: '0' 675 | bw30: '0' 676 | bw31: '0' 677 | bw4: '0' 678 | bw5: '0' 679 | bw6: '0' 680 | bw7: '0' 681 | bw8: '0' 682 | bw9: '0' 683 | clock_source0: '' 684 | clock_source1: '' 685 | clock_source2: '' 686 | clock_source3: '' 687 | clock_source4: '' 688 | clock_source5: '' 689 | clock_source6: '' 690 | clock_source7: '' 691 | comment: '' 692 | corr0: '0' 693 | corr1: '0' 694 | corr10: '0' 695 | corr11: '0' 696 | corr12: '0' 697 | corr13: '0' 698 | corr14: '0' 699 | corr15: '0' 700 | corr16: '0' 701 | corr17: '0' 702 | corr18: '0' 703 | corr19: '0' 704 | corr2: '0' 705 | corr20: '0' 706 | corr21: '0' 707 | corr22: '0' 708 | corr23: '0' 709 | corr24: '0' 710 | corr25: '0' 711 | corr26: '0' 712 | corr27: '0' 713 | corr28: '0' 714 | corr29: '0' 715 | corr3: '0' 716 | corr30: '0' 717 | corr31: '0' 718 | corr4: '0' 719 | corr5: '0' 720 | corr6: '0' 721 | corr7: '0' 722 | corr8: '0' 723 | corr9: '0' 724 | dc_offset_mode0: '2' 725 | dc_offset_mode1: '0' 726 | dc_offset_mode10: '0' 727 | dc_offset_mode11: '0' 728 | dc_offset_mode12: '0' 729 | dc_offset_mode13: '0' 730 | dc_offset_mode14: '0' 731 | dc_offset_mode15: '0' 732 | dc_offset_mode16: '0' 733 | dc_offset_mode17: '0' 734 | dc_offset_mode18: '0' 735 | dc_offset_mode19: '0' 736 | dc_offset_mode2: '0' 737 | dc_offset_mode20: '0' 738 | dc_offset_mode21: '0' 739 | dc_offset_mode22: '0' 740 | dc_offset_mode23: '0' 741 | dc_offset_mode24: '0' 742 | dc_offset_mode25: '0' 743 | dc_offset_mode26: '0' 744 | dc_offset_mode27: '0' 745 | dc_offset_mode28: '0' 746 | dc_offset_mode29: '0' 747 | dc_offset_mode3: '0' 748 | dc_offset_mode30: '0' 749 | dc_offset_mode31: '0' 750 | dc_offset_mode4: '0' 751 | dc_offset_mode5: '0' 752 | dc_offset_mode6: '0' 753 | dc_offset_mode7: '0' 754 | dc_offset_mode8: '0' 755 | dc_offset_mode9: '0' 756 | freq0: 147.3e3-freq_offset 757 | freq1: 100e6 758 | freq10: 100e6 759 | freq11: 100e6 760 | freq12: 100e6 761 | freq13: 100e6 762 | freq14: 100e6 763 | freq15: 100e6 764 | freq16: 100e6 765 | freq17: 100e6 766 | freq18: 100e6 767 | freq19: 100e6 768 | freq2: 100e6 769 | freq20: 100e6 770 | freq21: 100e6 771 | freq22: 100e6 772 | freq23: 100e6 773 | freq24: 100e6 774 | freq25: 100e6 775 | freq26: 100e6 776 | freq27: 100e6 777 | freq28: 100e6 778 | freq29: 100e6 779 | freq3: 100e6 780 | freq30: 100e6 781 | freq31: 100e6 782 | freq4: 100e6 783 | freq5: 100e6 784 | freq6: 100e6 785 | freq7: 100e6 786 | freq8: 100e6 787 | freq9: 100e6 788 | gain0: gainrf 789 | gain1: '10' 790 | gain10: '10' 791 | gain11: '10' 792 | gain12: '10' 793 | gain13: '10' 794 | gain14: '10' 795 | gain15: '10' 796 | gain16: '10' 797 | gain17: '10' 798 | gain18: '10' 799 | gain19: '10' 800 | gain2: '10' 801 | gain20: '10' 802 | gain21: '10' 803 | gain22: '10' 804 | gain23: '10' 805 | gain24: '10' 806 | gain25: '10' 807 | gain26: '10' 808 | gain27: '10' 809 | gain28: '10' 810 | gain29: '10' 811 | gain3: '10' 812 | gain30: '10' 813 | gain31: '10' 814 | gain4: '10' 815 | gain5: '10' 816 | gain6: '10' 817 | gain7: '10' 818 | gain8: '10' 819 | gain9: '10' 820 | gain_mode0: 'True' 821 | gain_mode1: 'False' 822 | gain_mode10: 'False' 823 | gain_mode11: 'False' 824 | gain_mode12: 'False' 825 | gain_mode13: 'False' 826 | gain_mode14: 'False' 827 | gain_mode15: 'False' 828 | gain_mode16: 'False' 829 | gain_mode17: 'False' 830 | gain_mode18: 'False' 831 | gain_mode19: 'False' 832 | gain_mode2: 'False' 833 | gain_mode20: 'False' 834 | gain_mode21: 'False' 835 | gain_mode22: 'False' 836 | gain_mode23: 'False' 837 | gain_mode24: 'False' 838 | gain_mode25: 'False' 839 | gain_mode26: 'False' 840 | gain_mode27: 'False' 841 | gain_mode28: 'False' 842 | gain_mode29: 'False' 843 | gain_mode3: 'False' 844 | gain_mode30: 'False' 845 | gain_mode31: 'False' 846 | gain_mode4: 'False' 847 | gain_mode5: 'False' 848 | gain_mode6: 'False' 849 | gain_mode7: 'False' 850 | gain_mode8: 'False' 851 | gain_mode9: 'False' 852 | if_gain0: '10' 853 | if_gain1: '20' 854 | if_gain10: '20' 855 | if_gain11: '20' 856 | if_gain12: '20' 857 | if_gain13: '20' 858 | if_gain14: '20' 859 | if_gain15: '20' 860 | if_gain16: '20' 861 | if_gain17: '20' 862 | if_gain18: '20' 863 | if_gain19: '20' 864 | if_gain2: '20' 865 | if_gain20: '20' 866 | if_gain21: '20' 867 | if_gain22: '20' 868 | if_gain23: '20' 869 | if_gain24: '20' 870 | if_gain25: '20' 871 | if_gain26: '20' 872 | if_gain27: '20' 873 | if_gain28: '20' 874 | if_gain29: '20' 875 | if_gain3: '20' 876 | if_gain30: '20' 877 | if_gain31: '20' 878 | if_gain4: '20' 879 | if_gain5: '20' 880 | if_gain6: '20' 881 | if_gain7: '20' 882 | if_gain8: '20' 883 | if_gain9: '20' 884 | iq_balance_mode0: '2' 885 | iq_balance_mode1: '0' 886 | iq_balance_mode10: '0' 887 | iq_balance_mode11: '0' 888 | iq_balance_mode12: '0' 889 | iq_balance_mode13: '0' 890 | iq_balance_mode14: '0' 891 | iq_balance_mode15: '0' 892 | iq_balance_mode16: '0' 893 | iq_balance_mode17: '0' 894 | iq_balance_mode18: '0' 895 | iq_balance_mode19: '0' 896 | iq_balance_mode2: '0' 897 | iq_balance_mode20: '0' 898 | iq_balance_mode21: '0' 899 | iq_balance_mode22: '0' 900 | iq_balance_mode23: '0' 901 | iq_balance_mode24: '0' 902 | iq_balance_mode25: '0' 903 | iq_balance_mode26: '0' 904 | iq_balance_mode27: '0' 905 | iq_balance_mode28: '0' 906 | iq_balance_mode29: '0' 907 | iq_balance_mode3: '0' 908 | iq_balance_mode30: '0' 909 | iq_balance_mode31: '0' 910 | iq_balance_mode4: '0' 911 | iq_balance_mode5: '0' 912 | iq_balance_mode6: '0' 913 | iq_balance_mode7: '0' 914 | iq_balance_mode8: '0' 915 | iq_balance_mode9: '0' 916 | maxoutbuf: '0' 917 | minoutbuf: '0' 918 | nchan: '1' 919 | num_mboards: '1' 920 | sample_rate: samp_rate 921 | sync: pc_clock 922 | time_source0: '' 923 | time_source1: '' 924 | time_source2: '' 925 | time_source3: '' 926 | time_source4: '' 927 | time_source5: '' 928 | time_source6: '' 929 | time_source7: '' 930 | type: fc32 931 | states: 932 | bus_sink: false 933 | bus_source: false 934 | bus_structure: null 935 | coordinate: [96, 212.0] 936 | rotation: 0 937 | state: disabled 938 | - name: qtgui_time_sink_x_0_0 939 | id: qtgui_time_sink_x 940 | parameters: 941 | affinity: '' 942 | alias: '' 943 | alpha1: '1.0' 944 | alpha10: '1.0' 945 | alpha2: '1.0' 946 | alpha3: '1.0' 947 | alpha4: '1.0' 948 | alpha5: '1.0' 949 | alpha6: '1.0' 950 | alpha7: '1.0' 951 | alpha8: '1.0' 952 | alpha9: '1.0' 953 | autoscale: 'True' 954 | axislabels: 'True' 955 | color1: blue 956 | color10: dark blue 957 | color2: red 958 | color3: green 959 | color4: black 960 | color5: cyan 961 | color6: magenta 962 | color7: yellow 963 | color8: dark red 964 | color9: dark green 965 | comment: '' 966 | ctrlpanel: 'True' 967 | entags: 'True' 968 | grid: 'True' 969 | gui_hint: '' 970 | label1: '' 971 | label10: '' 972 | label2: '' 973 | label3: '' 974 | label4: '' 975 | label5: '' 976 | label6: '' 977 | label7: '' 978 | label8: '' 979 | label9: '' 980 | legend: 'True' 981 | marker1: '-1' 982 | marker10: '-1' 983 | marker2: '-1' 984 | marker3: '-1' 985 | marker4: '-1' 986 | marker5: '-1' 987 | marker6: '-1' 988 | marker7: '-1' 989 | marker8: '-1' 990 | marker9: '-1' 991 | name: '""' 992 | nconnections: '5' 993 | size: '1200' 994 | srate: samp_rate/decim 995 | stemplot: 'False' 996 | style1: '1' 997 | style10: '1' 998 | style2: '1' 999 | style3: '1' 1000 | style4: '1' 1001 | style5: '1' 1002 | style6: '1' 1003 | style7: '1' 1004 | style8: '1' 1005 | style9: '1' 1006 | tr_chan: '0' 1007 | tr_delay: '0' 1008 | tr_level: '0.0' 1009 | tr_mode: qtgui.TRIG_MODE_FREE 1010 | tr_slope: qtgui.TRIG_SLOPE_POS 1011 | tr_tag: '""' 1012 | type: float 1013 | update_time: '0.10' 1014 | width1: '1' 1015 | width10: '1' 1016 | width2: '1' 1017 | width3: '1' 1018 | width4: '1' 1019 | width5: '1' 1020 | width6: '1' 1021 | width7: '1' 1022 | width8: '1' 1023 | width9: '1' 1024 | ylabel: Amplitude 1025 | ymax: 3e3 1026 | ymin: -3e3 1027 | yunit: '""' 1028 | states: 1029 | bus_sink: false 1030 | bus_source: false 1031 | bus_structure: null 1032 | coordinate: [1080, 496] 1033 | rotation: 0 1034 | state: enabled 1035 | - name: qtgui_waterfall_sink_x_0 1036 | id: qtgui_waterfall_sink_x 1037 | parameters: 1038 | affinity: '' 1039 | alias: '' 1040 | alpha1: '1.0' 1041 | alpha10: '1.0' 1042 | alpha2: '1.0' 1043 | alpha3: '1.0' 1044 | alpha4: '1.0' 1045 | alpha5: '1.0' 1046 | alpha6: '1.0' 1047 | alpha7: '1.0' 1048 | alpha8: '1.0' 1049 | alpha9: '1.0' 1050 | axislabels: 'True' 1051 | bw: samp_rate/decim 1052 | color1: '0' 1053 | color10: '0' 1054 | color2: '0' 1055 | color3: '0' 1056 | color4: '0' 1057 | color5: '0' 1058 | color6: '0' 1059 | color7: '0' 1060 | color8: '0' 1061 | color9: '0' 1062 | comment: '' 1063 | fc: '0' 1064 | fftsize: '1024' 1065 | freqhalf: 'True' 1066 | grid: 'False' 1067 | gui_hint: '' 1068 | int_max: '10' 1069 | int_min: '-140' 1070 | label1: '' 1071 | label10: '' 1072 | label2: '' 1073 | label3: '' 1074 | label4: '' 1075 | label5: '' 1076 | label6: '' 1077 | label7: '' 1078 | label8: '' 1079 | label9: '' 1080 | legend: 'True' 1081 | maxoutbuf: '0' 1082 | minoutbuf: '0' 1083 | name: '""' 1084 | nconnections: '1' 1085 | showports: 'True' 1086 | type: complex 1087 | update_time: '0.10' 1088 | wintype: firdes.WIN_BLACKMAN_hARRIS 1089 | states: 1090 | bus_sink: false 1091 | bus_source: false 1092 | bus_structure: null 1093 | coordinate: [1000, 160.0] 1094 | rotation: 0 1095 | state: enabled 1096 | 1097 | connections: 1098 | - [analog_agc_xx_0, '0', blocks_moving_average_xx_0, '0'] 1099 | - [analog_agc_xx_0, '0', qtgui_time_sink_x_0_0, '3'] 1100 | - [analog_quadrature_demod_cf_0, '0', blocks_selector_0, '1'] 1101 | - [analog_quadrature_demod_cf_0, '0', dc_blocker_xx_0, '0'] 1102 | - [analog_quadrature_demod_cf_0, '0', qtgui_time_sink_x_0_0, '4'] 1103 | - [blocks_delay_0, '0', qtgui_time_sink_x_0_0, '0'] 1104 | - [blocks_file_source_0, '0', blocks_throttle_0, '0'] 1105 | - [blocks_float_to_char_0, '0', blocks_udp_sink_0, '0'] 1106 | - [blocks_moving_average_xx_0, '0', blocks_delay_0, '0'] 1107 | - [blocks_moving_average_xx_0, '0', digital_clock_recovery_mm_xx_0, '0'] 1108 | - [blocks_repeat_0, '0', qtgui_time_sink_x_0_0, '2'] 1109 | - [blocks_repeat_0_0, '0', qtgui_time_sink_x_0_0, '1'] 1110 | - [blocks_selector_0, '0', analog_agc_xx_0, '0'] 1111 | - [blocks_threshold_ff_1, '0', blocks_float_to_char_0, '0'] 1112 | - [blocks_threshold_ff_1, '0', blocks_repeat_0, '0'] 1113 | - [blocks_throttle_0, '0', low_pass_filter_0, '0'] 1114 | - [dc_blocker_xx_0, '0', blocks_selector_0, '0'] 1115 | - [digital_clock_recovery_mm_xx_0, '0', blocks_repeat_0_0, '0'] 1116 | - [digital_clock_recovery_mm_xx_0, '0', blocks_threshold_ff_1, '0'] 1117 | - [freq_xlating_fir_filter_xxx_0_0, '0', low_pass_filter_0, '0'] 1118 | - [low_pass_filter_0, '0', analog_quadrature_demod_cf_0, '0'] 1119 | - [low_pass_filter_0, '0', qtgui_waterfall_sink_x_0, '0'] 1120 | - [osmosdr_source_0, '0', freq_xlating_fir_filter_xxx_0_0, '0'] 1121 | 1122 | metadata: 1123 | file_format: 1 1124 | -------------------------------------------------------------------------------- /BelgianSDRMeetups/rtty147_3_fskdemod_37.grc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sun Aug 9 22:01:57 2020 5 | 6 | options 7 | 8 | author 9 | 10 | 11 | 12 | window_size 13 | 14 | 15 | 16 | category 17 | [GRC Hier Blocks] 18 | 19 | 20 | comment 21 | 22 | 23 | 24 | description 25 | 26 | 27 | 28 | _enabled 29 | True 30 | 31 | 32 | _coordinate 33 | (8, 8) 34 | 35 | 36 | _rotation 37 | 0 38 | 39 | 40 | generate_options 41 | qt_gui 42 | 43 | 44 | hier_block_src_path 45 | .: 46 | 47 | 48 | id 49 | top_block_dwd_nogui_pan 50 | 51 | 52 | max_nouts 53 | 0 54 | 55 | 56 | qt_qss_theme 57 | 58 | 59 | 60 | realtime_scheduling 61 | 62 | 63 | 64 | run_command 65 | {python} -u {filename} 66 | 67 | 68 | run_options 69 | prompt 70 | 71 | 72 | run 73 | True 74 | 75 | 76 | sizing_mode 77 | fixed 78 | 79 | 80 | thread_safe_setters 81 | 82 | 83 | 84 | title 85 | 86 | 87 | 88 | placement 89 | (0,0) 90 | 91 | 92 | 93 | variable 94 | 95 | comment 96 | 97 | 98 | 99 | _enabled 100 | True 101 | 102 | 103 | _coordinate 104 | (808, 20) 105 | 106 | 107 | _rotation 108 | 0 109 | 110 | 111 | id 112 | decim 113 | 114 | 115 | value 116 | 800 117 | 118 | 119 | 120 | variable_qtgui_range 121 | 122 | comment 123 | 124 | 125 | 126 | value 127 | 0 128 | 129 | 130 | _enabled 131 | True 132 | 133 | 134 | _coordinate 135 | (1152, 180) 136 | 137 | 138 | gui_hint 139 | 140 | 141 | 142 | _rotation 143 | 0 144 | 145 | 146 | id 147 | delay 148 | 149 | 150 | label 151 | delay 152 | 153 | 154 | min_len 155 | 200 156 | 157 | 158 | orient 159 | Qt.Horizontal 160 | 161 | 162 | start 163 | -10 164 | 165 | 166 | step 167 | 1 168 | 169 | 170 | stop 171 | 10 172 | 173 | 174 | rangeType 175 | int 176 | 177 | 178 | widget 179 | counter_slider 180 | 181 | 182 | 183 | variable 184 | 185 | comment 186 | 187 | 188 | 189 | _enabled 190 | True 191 | 192 | 193 | _coordinate 194 | (248, 12) 195 | 196 | 197 | _rotation 198 | 0 199 | 200 | 201 | id 202 | demod_baudrate 203 | 204 | 205 | value 206 | rtty_baudrate*2 207 | 208 | 209 | 210 | variable 211 | 212 | comment 213 | 214 | 215 | 216 | _enabled 217 | True 218 | 219 | 220 | _coordinate 221 | (536, 12) 222 | 223 | 224 | _rotation 225 | 0 226 | 227 | 228 | id 229 | freq_offset 230 | 231 | 232 | value 233 | 3000 234 | 235 | 236 | 237 | variable 238 | 239 | comment 240 | 241 | 242 | 243 | _enabled 244 | True 245 | 246 | 247 | _coordinate 248 | (800, 100) 249 | 250 | 251 | _rotation 252 | 0 253 | 254 | 255 | id 256 | fsk_deviation_hz 257 | 258 | 259 | value 260 | 42.5 261 | 262 | 263 | 264 | variable_qtgui_range 265 | 266 | comment 267 | 268 | 269 | 270 | value 271 | 0.1 272 | 273 | 274 | _enabled 275 | True 276 | 277 | 278 | _coordinate 279 | (1104, 12) 280 | 281 | 282 | gui_hint 283 | 284 | 285 | 286 | _rotation 287 | 0 288 | 289 | 290 | id 291 | gain 292 | 293 | 294 | label 295 | gain 296 | 297 | 298 | min_len 299 | 200 300 | 301 | 302 | orient 303 | Qt.Horizontal 304 | 305 | 306 | start 307 | 0 308 | 309 | 310 | step 311 | 1e-5 312 | 313 | 314 | stop 315 | 1 316 | 317 | 318 | rangeType 319 | float 320 | 321 | 322 | widget 323 | counter_slider 324 | 325 | 326 | 327 | variable 328 | 329 | comment 330 | 331 | 332 | 333 | _enabled 334 | True 335 | 336 | 337 | _coordinate 338 | (648, 100) 339 | 340 | 341 | _rotation 342 | 0 343 | 344 | 345 | id 346 | gainrf 347 | 348 | 349 | value 350 | 10 351 | 352 | 353 | 354 | variable_qtgui_chooser 355 | 356 | comment 357 | 358 | 359 | 360 | value 361 | 0 362 | 363 | 364 | _enabled 365 | True 366 | 367 | 368 | _coordinate 369 | (968, 244) 370 | 371 | 372 | gui_hint 373 | 374 | 375 | 376 | _rotation 377 | 0 378 | 379 | 380 | id 381 | inselect 382 | 383 | 384 | label0 385 | dc block 386 | 387 | 388 | label1 389 | no dc block 390 | 391 | 392 | label2 393 | 394 | 395 | 396 | label3 397 | 398 | 399 | 400 | label4 401 | 402 | 403 | 404 | label 405 | 406 | 407 | 408 | labels 409 | [] 410 | 411 | 412 | num_opts 413 | 2 414 | 415 | 416 | option0 417 | 0 418 | 419 | 420 | option1 421 | 1 422 | 423 | 424 | option2 425 | 2 426 | 427 | 428 | option3 429 | 3 430 | 431 | 432 | option4 433 | 4 434 | 435 | 436 | options 437 | [0, 1, 2] 438 | 439 | 440 | orient 441 | Qt.QVBoxLayout 442 | 443 | 444 | type 445 | int 446 | 447 | 448 | widget 449 | combo_box 450 | 451 | 452 | 453 | variable 454 | 455 | comment 456 | 457 | 458 | 459 | _enabled 460 | True 461 | 462 | 463 | _coordinate 464 | (936, 20) 465 | 466 | 467 | _rotation 468 | 0 469 | 470 | 471 | id 472 | lpfreq 473 | 474 | 475 | value 476 | 100 477 | 478 | 479 | 480 | variable 481 | 482 | comment 483 | 484 | 485 | 486 | _enabled 487 | True 488 | 489 | 490 | _coordinate 491 | (392, 12) 492 | 493 | 494 | _rotation 495 | 0 496 | 497 | 498 | id 499 | rtty_baudrate 500 | 501 | 502 | value 503 | 50 504 | 505 | 506 | 507 | variable 508 | 509 | comment 510 | 511 | 512 | 513 | _enabled 514 | True 515 | 516 | 517 | _coordinate 518 | (960, 108) 519 | 520 | 521 | _rotation 522 | 0 523 | 524 | 525 | id 526 | samp_per_sym 527 | 528 | 529 | value 530 | int(samp_rate/decim/demod_baudrate) 531 | 532 | 533 | 534 | variable 535 | 536 | comment 537 | 538 | 539 | 540 | _enabled 541 | True 542 | 543 | 544 | _coordinate 545 | (512, 108) 546 | 547 | 548 | _rotation 549 | 0 550 | 551 | 552 | id 553 | samp_rate 554 | 555 | 556 | value 557 | 960000 558 | 559 | 560 | 561 | variable 562 | 563 | comment 564 | 565 | 566 | 567 | _enabled 568 | True 569 | 570 | 571 | _coordinate 572 | (664, 20) 573 | 574 | 575 | _rotation 576 | 0 577 | 578 | 579 | id 580 | transition_bw 581 | 582 | 583 | value 584 | 300 585 | 586 | 587 | 588 | analog_agc_xx 589 | 590 | alias 591 | 592 | 593 | 594 | comment 595 | 596 | 597 | 598 | affinity 599 | 600 | 601 | 602 | _enabled 603 | True 604 | 605 | 606 | _coordinate 607 | (384, 452) 608 | 609 | 610 | _rotation 611 | 0 612 | 613 | 614 | gain 615 | 1.0 616 | 617 | 618 | id 619 | analog_agc_xx_0 620 | 621 | 622 | max_gain 623 | 65536 624 | 625 | 626 | maxoutbuf 627 | 0 628 | 629 | 630 | minoutbuf 631 | 0 632 | 633 | 634 | rate 635 | 1e-4 636 | 637 | 638 | reference 639 | 1.0 640 | 641 | 642 | type 643 | float 644 | 645 | 646 | 647 | analog_quadrature_demod_cf 648 | 649 | alias 650 | 651 | 652 | 653 | comment 654 | 655 | 656 | 657 | affinity 658 | 659 | 660 | 661 | _enabled 662 | True 663 | 664 | 665 | _coordinate 666 | (448, 372) 667 | 668 | 669 | _rotation 670 | 180 671 | 672 | 673 | gain 674 | samp_rate/decim/(2*math.pi*fsk_deviation_hz/8.0) 675 | 676 | 677 | id 678 | analog_quadrature_demod_cf_0 679 | 680 | 681 | maxoutbuf 682 | 0 683 | 684 | 685 | minoutbuf 686 | 0 687 | 688 | 689 | 690 | blks2_selector 691 | 692 | alias 693 | 694 | 695 | 696 | comment 697 | 698 | 699 | 700 | affinity 701 | 702 | 703 | 704 | _enabled 705 | True 706 | 707 | 708 | _coordinate 709 | (208, 464) 710 | 711 | 712 | _rotation 713 | 0 714 | 715 | 716 | id 717 | blks2_selector_0 718 | 719 | 720 | input_index 721 | inselect 722 | 723 | 724 | maxoutbuf 725 | 0 726 | 727 | 728 | minoutbuf 729 | 0 730 | 731 | 732 | num_inputs 733 | 2 734 | 735 | 736 | num_outputs 737 | 1 738 | 739 | 740 | output_index 741 | 0 742 | 743 | 744 | type 745 | float 746 | 747 | 748 | vlen 749 | 1 750 | 751 | 752 | 753 | blocks_delay 754 | 755 | alias 756 | 757 | 758 | 759 | comment 760 | 761 | 762 | 763 | affinity 764 | 765 | 766 | 767 | delay 768 | delay 769 | 770 | 771 | _enabled 772 | True 773 | 774 | 775 | _coordinate 776 | (696, 412) 777 | 778 | 779 | _rotation 780 | 0 781 | 782 | 783 | id 784 | blocks_delay_0 785 | 786 | 787 | maxoutbuf 788 | 0 789 | 790 | 791 | minoutbuf 792 | 0 793 | 794 | 795 | num_ports 796 | 1 797 | 798 | 799 | type 800 | float 801 | 802 | 803 | vlen 804 | 1 805 | 806 | 807 | 808 | blocks_float_to_char 809 | 810 | alias 811 | 812 | 813 | 814 | comment 815 | 816 | 817 | 818 | affinity 819 | 820 | 821 | 822 | _enabled 823 | True 824 | 825 | 826 | _coordinate 827 | (880, 796) 828 | 829 | 830 | _rotation 831 | 0 832 | 833 | 834 | id 835 | blocks_float_to_char_0 836 | 837 | 838 | maxoutbuf 839 | 0 840 | 841 | 842 | minoutbuf 843 | 0 844 | 845 | 846 | scale 847 | 1 848 | 849 | 850 | vlen 851 | 1 852 | 853 | 854 | 855 | blocks_moving_average_xx 856 | 857 | alias 858 | 859 | 860 | 861 | comment 862 | 863 | 864 | 865 | affinity 866 | 867 | 868 | 869 | _enabled 870 | True 871 | 872 | 873 | _coordinate 874 | (320, 580) 875 | 876 | 877 | _rotation 878 | 0 879 | 880 | 881 | id 882 | blocks_moving_average_xx_0 883 | 884 | 885 | vlen 886 | 1 887 | 888 | 889 | length 890 | int(samp_rate/decim/demod_baudrate) 891 | 892 | 893 | max_iter 894 | 4000 895 | 896 | 897 | maxoutbuf 898 | 0 899 | 900 | 901 | minoutbuf 902 | 0 903 | 904 | 905 | scale 906 | 1/(samp_rate/decim/demod_baudrate) 907 | 908 | 909 | type 910 | float 911 | 912 | 913 | 914 | blocks_repeat 915 | 916 | alias 917 | 918 | 919 | 920 | comment 921 | 922 | 923 | 924 | affinity 925 | 926 | 927 | 928 | _enabled 929 | True 930 | 931 | 932 | _coordinate 933 | (816, 444) 934 | 935 | 936 | _rotation 937 | 0 938 | 939 | 940 | id 941 | blocks_repeat_0 942 | 943 | 944 | interp 945 | samp_per_sym 946 | 947 | 948 | maxoutbuf 949 | 0 950 | 951 | 952 | minoutbuf 953 | 0 954 | 955 | 956 | type 957 | float 958 | 959 | 960 | vlen 961 | 1 962 | 963 | 964 | 965 | blocks_repeat 966 | 967 | alias 968 | 969 | 970 | 971 | comment 972 | 973 | 974 | 975 | affinity 976 | 977 | 978 | 979 | _enabled 980 | True 981 | 982 | 983 | _coordinate 984 | (900, 560) 985 | 986 | 987 | _rotation 988 | 90 989 | 990 | 991 | id 992 | blocks_repeat_0_0 993 | 994 | 995 | interp 996 | samp_per_sym 997 | 998 | 999 | maxoutbuf 1000 | 0 1001 | 1002 | 1003 | minoutbuf 1004 | 0 1005 | 1006 | 1007 | type 1008 | float 1009 | 1010 | 1011 | vlen 1012 | 1 1013 | 1014 | 1015 | 1016 | blocks_threshold_ff 1017 | 1018 | alias 1019 | 1020 | 1021 | 1022 | comment 1023 | 1024 | 1025 | 1026 | affinity 1027 | 1028 | 1029 | 1030 | _enabled 1031 | True 1032 | 1033 | 1034 | _coordinate 1035 | (768, 668) 1036 | 1037 | 1038 | _rotation 1039 | 0 1040 | 1041 | 1042 | high 1043 | -1e-5 1044 | 1045 | 1046 | id 1047 | blocks_threshold_ff_0 1048 | 1049 | 1050 | init 1051 | 0 1052 | 1053 | 1054 | low 1055 | 1e-5 1056 | 1057 | 1058 | maxoutbuf 1059 | 0 1060 | 1061 | 1062 | minoutbuf 1063 | 0 1064 | 1065 | 1066 | 1067 | blocks_udp_sink 1068 | 1069 | alias 1070 | 1071 | 1072 | 1073 | comment 1074 | 1075 | 1076 | 1077 | affinity 1078 | 1079 | 1080 | 1081 | ipaddr 1082 | 225.0.0.1 1083 | 1084 | 1085 | port 1086 | 10000 1087 | 1088 | 1089 | _enabled 1090 | True 1091 | 1092 | 1093 | _coordinate 1094 | (1056, 772) 1095 | 1096 | 1097 | _rotation 1098 | 0 1099 | 1100 | 1101 | id 1102 | blocks_udp_sink_0 1103 | 1104 | 1105 | type 1106 | byte 1107 | 1108 | 1109 | psize 1110 | 10 1111 | 1112 | 1113 | eof 1114 | True 1115 | 1116 | 1117 | vlen 1118 | 1 1119 | 1120 | 1121 | 1122 | dc_blocker_xx 1123 | 1124 | alias 1125 | 1126 | 1127 | 1128 | comment 1129 | 1130 | 1131 | 1132 | affinity 1133 | 1134 | 1135 | 1136 | _enabled 1137 | True 1138 | 1139 | 1140 | _coordinate 1141 | (144, 316) 1142 | 1143 | 1144 | _rotation 1145 | 180 1146 | 1147 | 1148 | id 1149 | dc_blocker_xx_0 1150 | 1151 | 1152 | length 1153 | 1024 1154 | 1155 | 1156 | long_form 1157 | True 1158 | 1159 | 1160 | maxoutbuf 1161 | 0 1162 | 1163 | 1164 | minoutbuf 1165 | 0 1166 | 1167 | 1168 | type 1169 | ff 1170 | 1171 | 1172 | 1173 | digital_clock_recovery_mm_xx 1174 | 1175 | alias 1176 | 1177 | 1178 | 1179 | comment 1180 | 1181 | 1182 | 1183 | affinity 1184 | 1185 | 1186 | 1187 | _enabled 1188 | True 1189 | 1190 | 1191 | _coordinate 1192 | (472, 652) 1193 | 1194 | 1195 | _rotation 1196 | 0 1197 | 1198 | 1199 | gain_mu 1200 | 0.175 1201 | 1202 | 1203 | gain_omega 1204 | 0.25*0.175*0.175 1205 | 1206 | 1207 | id 1208 | digital_clock_recovery_mm_xx_0 1209 | 1210 | 1211 | maxoutbuf 1212 | 0 1213 | 1214 | 1215 | minoutbuf 1216 | 0 1217 | 1218 | 1219 | mu 1220 | 0.5 1221 | 1222 | 1223 | omega_relative_limit 1224 | 0.005 1225 | 1226 | 1227 | omega 1228 | samp_per_sym*(1+0.0) 1229 | 1230 | 1231 | type 1232 | float 1233 | 1234 | 1235 | 1236 | freq_xlating_fir_filter_xxx 1237 | 1238 | alias 1239 | 1240 | 1241 | 1242 | center_freq 1243 | freq_offset 1244 | 1245 | 1246 | comment 1247 | 1248 | 1249 | 1250 | affinity 1251 | 1252 | 1253 | 1254 | decim 1255 | decim 1256 | 1257 | 1258 | _enabled 1259 | True 1260 | 1261 | 1262 | _coordinate 1263 | (304, 180) 1264 | 1265 | 1266 | _rotation 1267 | 0 1268 | 1269 | 1270 | id 1271 | freq_xlating_fir_filter_xxx_0 1272 | 1273 | 1274 | maxoutbuf 1275 | 0 1276 | 1277 | 1278 | minoutbuf 1279 | 0 1280 | 1281 | 1282 | samp_rate 1283 | samp_rate 1284 | 1285 | 1286 | taps 1287 | firdes.low_pass(1, samp_rate, samp_rate/(2*decim), transition_bw) 1288 | 1289 | 1290 | type 1291 | ccc 1292 | 1293 | 1294 | 1295 | low_pass_filter 1296 | 1297 | beta 1298 | 6.76 1299 | 1300 | 1301 | alias 1302 | 1303 | 1304 | 1305 | comment 1306 | 1307 | 1308 | 1309 | affinity 1310 | 1311 | 1312 | 1313 | cutoff_freq 1314 | lpfreq 1315 | 1316 | 1317 | decim 1318 | 1 1319 | 1320 | 1321 | _enabled 1322 | True 1323 | 1324 | 1325 | type 1326 | fir_filter_ccf 1327 | 1328 | 1329 | _coordinate 1330 | (568, 188) 1331 | 1332 | 1333 | _rotation 1334 | 0 1335 | 1336 | 1337 | gain 1338 | 1 1339 | 1340 | 1341 | id 1342 | low_pass_filter_0 1343 | 1344 | 1345 | interp 1346 | 1 1347 | 1348 | 1349 | maxoutbuf 1350 | 0 1351 | 1352 | 1353 | minoutbuf 1354 | 0 1355 | 1356 | 1357 | samp_rate 1358 | samp_rate/decim 1359 | 1360 | 1361 | width 1362 | lpfreq*1.5 1363 | 1364 | 1365 | win 1366 | firdes.WIN_HAMMING 1367 | 1368 | 1369 | 1370 | osmosdr_source 1371 | 1372 | alias 1373 | 1374 | 1375 | 1376 | ant0 1377 | 1378 | 1379 | 1380 | bb_gain0 1381 | 10 1382 | 1383 | 1384 | bw0 1385 | 0 1386 | 1387 | 1388 | dc_offset_mode0 1389 | 0 1390 | 1391 | 1392 | corr0 1393 | 0 1394 | 1395 | 1396 | freq0 1397 | 147.3e3-freq_offset 1398 | 1399 | 1400 | gain_mode0 1401 | False 1402 | 1403 | 1404 | if_gain0 1405 | 10 1406 | 1407 | 1408 | iq_balance_mode0 1409 | 0 1410 | 1411 | 1412 | gain0 1413 | gainrf 1414 | 1415 | 1416 | ant10 1417 | 1418 | 1419 | 1420 | bb_gain10 1421 | 20 1422 | 1423 | 1424 | bw10 1425 | 0 1426 | 1427 | 1428 | dc_offset_mode10 1429 | 0 1430 | 1431 | 1432 | corr10 1433 | 0 1434 | 1435 | 1436 | freq10 1437 | 100e6 1438 | 1439 | 1440 | gain_mode10 1441 | False 1442 | 1443 | 1444 | if_gain10 1445 | 20 1446 | 1447 | 1448 | iq_balance_mode10 1449 | 0 1450 | 1451 | 1452 | gain10 1453 | 10 1454 | 1455 | 1456 | ant11 1457 | 1458 | 1459 | 1460 | bb_gain11 1461 | 20 1462 | 1463 | 1464 | bw11 1465 | 0 1466 | 1467 | 1468 | dc_offset_mode11 1469 | 0 1470 | 1471 | 1472 | corr11 1473 | 0 1474 | 1475 | 1476 | freq11 1477 | 100e6 1478 | 1479 | 1480 | gain_mode11 1481 | False 1482 | 1483 | 1484 | if_gain11 1485 | 20 1486 | 1487 | 1488 | iq_balance_mode11 1489 | 0 1490 | 1491 | 1492 | gain11 1493 | 10 1494 | 1495 | 1496 | ant12 1497 | 1498 | 1499 | 1500 | bb_gain12 1501 | 20 1502 | 1503 | 1504 | bw12 1505 | 0 1506 | 1507 | 1508 | dc_offset_mode12 1509 | 0 1510 | 1511 | 1512 | corr12 1513 | 0 1514 | 1515 | 1516 | freq12 1517 | 100e6 1518 | 1519 | 1520 | gain_mode12 1521 | False 1522 | 1523 | 1524 | if_gain12 1525 | 20 1526 | 1527 | 1528 | iq_balance_mode12 1529 | 0 1530 | 1531 | 1532 | gain12 1533 | 10 1534 | 1535 | 1536 | ant13 1537 | 1538 | 1539 | 1540 | bb_gain13 1541 | 20 1542 | 1543 | 1544 | bw13 1545 | 0 1546 | 1547 | 1548 | dc_offset_mode13 1549 | 0 1550 | 1551 | 1552 | corr13 1553 | 0 1554 | 1555 | 1556 | freq13 1557 | 100e6 1558 | 1559 | 1560 | gain_mode13 1561 | False 1562 | 1563 | 1564 | if_gain13 1565 | 20 1566 | 1567 | 1568 | iq_balance_mode13 1569 | 0 1570 | 1571 | 1572 | gain13 1573 | 10 1574 | 1575 | 1576 | ant14 1577 | 1578 | 1579 | 1580 | bb_gain14 1581 | 20 1582 | 1583 | 1584 | bw14 1585 | 0 1586 | 1587 | 1588 | dc_offset_mode14 1589 | 0 1590 | 1591 | 1592 | corr14 1593 | 0 1594 | 1595 | 1596 | freq14 1597 | 100e6 1598 | 1599 | 1600 | gain_mode14 1601 | False 1602 | 1603 | 1604 | if_gain14 1605 | 20 1606 | 1607 | 1608 | iq_balance_mode14 1609 | 0 1610 | 1611 | 1612 | gain14 1613 | 10 1614 | 1615 | 1616 | ant15 1617 | 1618 | 1619 | 1620 | bb_gain15 1621 | 20 1622 | 1623 | 1624 | bw15 1625 | 0 1626 | 1627 | 1628 | dc_offset_mode15 1629 | 0 1630 | 1631 | 1632 | corr15 1633 | 0 1634 | 1635 | 1636 | freq15 1637 | 100e6 1638 | 1639 | 1640 | gain_mode15 1641 | False 1642 | 1643 | 1644 | if_gain15 1645 | 20 1646 | 1647 | 1648 | iq_balance_mode15 1649 | 0 1650 | 1651 | 1652 | gain15 1653 | 10 1654 | 1655 | 1656 | ant16 1657 | 1658 | 1659 | 1660 | bb_gain16 1661 | 20 1662 | 1663 | 1664 | bw16 1665 | 0 1666 | 1667 | 1668 | dc_offset_mode16 1669 | 0 1670 | 1671 | 1672 | corr16 1673 | 0 1674 | 1675 | 1676 | freq16 1677 | 100e6 1678 | 1679 | 1680 | gain_mode16 1681 | False 1682 | 1683 | 1684 | if_gain16 1685 | 20 1686 | 1687 | 1688 | iq_balance_mode16 1689 | 0 1690 | 1691 | 1692 | gain16 1693 | 10 1694 | 1695 | 1696 | ant17 1697 | 1698 | 1699 | 1700 | bb_gain17 1701 | 20 1702 | 1703 | 1704 | bw17 1705 | 0 1706 | 1707 | 1708 | dc_offset_mode17 1709 | 0 1710 | 1711 | 1712 | corr17 1713 | 0 1714 | 1715 | 1716 | freq17 1717 | 100e6 1718 | 1719 | 1720 | gain_mode17 1721 | False 1722 | 1723 | 1724 | if_gain17 1725 | 20 1726 | 1727 | 1728 | iq_balance_mode17 1729 | 0 1730 | 1731 | 1732 | gain17 1733 | 10 1734 | 1735 | 1736 | ant18 1737 | 1738 | 1739 | 1740 | bb_gain18 1741 | 20 1742 | 1743 | 1744 | bw18 1745 | 0 1746 | 1747 | 1748 | dc_offset_mode18 1749 | 0 1750 | 1751 | 1752 | corr18 1753 | 0 1754 | 1755 | 1756 | freq18 1757 | 100e6 1758 | 1759 | 1760 | gain_mode18 1761 | False 1762 | 1763 | 1764 | if_gain18 1765 | 20 1766 | 1767 | 1768 | iq_balance_mode18 1769 | 0 1770 | 1771 | 1772 | gain18 1773 | 10 1774 | 1775 | 1776 | ant19 1777 | 1778 | 1779 | 1780 | bb_gain19 1781 | 20 1782 | 1783 | 1784 | bw19 1785 | 0 1786 | 1787 | 1788 | dc_offset_mode19 1789 | 0 1790 | 1791 | 1792 | corr19 1793 | 0 1794 | 1795 | 1796 | freq19 1797 | 100e6 1798 | 1799 | 1800 | gain_mode19 1801 | False 1802 | 1803 | 1804 | if_gain19 1805 | 20 1806 | 1807 | 1808 | iq_balance_mode19 1809 | 0 1810 | 1811 | 1812 | gain19 1813 | 10 1814 | 1815 | 1816 | ant1 1817 | 1818 | 1819 | 1820 | bb_gain1 1821 | 20 1822 | 1823 | 1824 | bw1 1825 | 0 1826 | 1827 | 1828 | dc_offset_mode1 1829 | 0 1830 | 1831 | 1832 | corr1 1833 | 0 1834 | 1835 | 1836 | freq1 1837 | 100e6 1838 | 1839 | 1840 | gain_mode1 1841 | False 1842 | 1843 | 1844 | if_gain1 1845 | 20 1846 | 1847 | 1848 | iq_balance_mode1 1849 | 0 1850 | 1851 | 1852 | gain1 1853 | 10 1854 | 1855 | 1856 | ant20 1857 | 1858 | 1859 | 1860 | bb_gain20 1861 | 20 1862 | 1863 | 1864 | bw20 1865 | 0 1866 | 1867 | 1868 | dc_offset_mode20 1869 | 0 1870 | 1871 | 1872 | corr20 1873 | 0 1874 | 1875 | 1876 | freq20 1877 | 100e6 1878 | 1879 | 1880 | gain_mode20 1881 | False 1882 | 1883 | 1884 | if_gain20 1885 | 20 1886 | 1887 | 1888 | iq_balance_mode20 1889 | 0 1890 | 1891 | 1892 | gain20 1893 | 10 1894 | 1895 | 1896 | ant21 1897 | 1898 | 1899 | 1900 | bb_gain21 1901 | 20 1902 | 1903 | 1904 | bw21 1905 | 0 1906 | 1907 | 1908 | dc_offset_mode21 1909 | 0 1910 | 1911 | 1912 | corr21 1913 | 0 1914 | 1915 | 1916 | freq21 1917 | 100e6 1918 | 1919 | 1920 | gain_mode21 1921 | False 1922 | 1923 | 1924 | if_gain21 1925 | 20 1926 | 1927 | 1928 | iq_balance_mode21 1929 | 0 1930 | 1931 | 1932 | gain21 1933 | 10 1934 | 1935 | 1936 | ant22 1937 | 1938 | 1939 | 1940 | bb_gain22 1941 | 20 1942 | 1943 | 1944 | bw22 1945 | 0 1946 | 1947 | 1948 | dc_offset_mode22 1949 | 0 1950 | 1951 | 1952 | corr22 1953 | 0 1954 | 1955 | 1956 | freq22 1957 | 100e6 1958 | 1959 | 1960 | gain_mode22 1961 | False 1962 | 1963 | 1964 | if_gain22 1965 | 20 1966 | 1967 | 1968 | iq_balance_mode22 1969 | 0 1970 | 1971 | 1972 | gain22 1973 | 10 1974 | 1975 | 1976 | ant23 1977 | 1978 | 1979 | 1980 | bb_gain23 1981 | 20 1982 | 1983 | 1984 | bw23 1985 | 0 1986 | 1987 | 1988 | dc_offset_mode23 1989 | 0 1990 | 1991 | 1992 | corr23 1993 | 0 1994 | 1995 | 1996 | freq23 1997 | 100e6 1998 | 1999 | 2000 | gain_mode23 2001 | False 2002 | 2003 | 2004 | if_gain23 2005 | 20 2006 | 2007 | 2008 | iq_balance_mode23 2009 | 0 2010 | 2011 | 2012 | gain23 2013 | 10 2014 | 2015 | 2016 | ant24 2017 | 2018 | 2019 | 2020 | bb_gain24 2021 | 20 2022 | 2023 | 2024 | bw24 2025 | 0 2026 | 2027 | 2028 | dc_offset_mode24 2029 | 0 2030 | 2031 | 2032 | corr24 2033 | 0 2034 | 2035 | 2036 | freq24 2037 | 100e6 2038 | 2039 | 2040 | gain_mode24 2041 | False 2042 | 2043 | 2044 | if_gain24 2045 | 20 2046 | 2047 | 2048 | iq_balance_mode24 2049 | 0 2050 | 2051 | 2052 | gain24 2053 | 10 2054 | 2055 | 2056 | ant25 2057 | 2058 | 2059 | 2060 | bb_gain25 2061 | 20 2062 | 2063 | 2064 | bw25 2065 | 0 2066 | 2067 | 2068 | dc_offset_mode25 2069 | 0 2070 | 2071 | 2072 | corr25 2073 | 0 2074 | 2075 | 2076 | freq25 2077 | 100e6 2078 | 2079 | 2080 | gain_mode25 2081 | False 2082 | 2083 | 2084 | if_gain25 2085 | 20 2086 | 2087 | 2088 | iq_balance_mode25 2089 | 0 2090 | 2091 | 2092 | gain25 2093 | 10 2094 | 2095 | 2096 | ant26 2097 | 2098 | 2099 | 2100 | bb_gain26 2101 | 20 2102 | 2103 | 2104 | bw26 2105 | 0 2106 | 2107 | 2108 | dc_offset_mode26 2109 | 0 2110 | 2111 | 2112 | corr26 2113 | 0 2114 | 2115 | 2116 | freq26 2117 | 100e6 2118 | 2119 | 2120 | gain_mode26 2121 | False 2122 | 2123 | 2124 | if_gain26 2125 | 20 2126 | 2127 | 2128 | iq_balance_mode26 2129 | 0 2130 | 2131 | 2132 | gain26 2133 | 10 2134 | 2135 | 2136 | ant27 2137 | 2138 | 2139 | 2140 | bb_gain27 2141 | 20 2142 | 2143 | 2144 | bw27 2145 | 0 2146 | 2147 | 2148 | dc_offset_mode27 2149 | 0 2150 | 2151 | 2152 | corr27 2153 | 0 2154 | 2155 | 2156 | freq27 2157 | 100e6 2158 | 2159 | 2160 | gain_mode27 2161 | False 2162 | 2163 | 2164 | if_gain27 2165 | 20 2166 | 2167 | 2168 | iq_balance_mode27 2169 | 0 2170 | 2171 | 2172 | gain27 2173 | 10 2174 | 2175 | 2176 | ant28 2177 | 2178 | 2179 | 2180 | bb_gain28 2181 | 20 2182 | 2183 | 2184 | bw28 2185 | 0 2186 | 2187 | 2188 | dc_offset_mode28 2189 | 0 2190 | 2191 | 2192 | corr28 2193 | 0 2194 | 2195 | 2196 | freq28 2197 | 100e6 2198 | 2199 | 2200 | gain_mode28 2201 | False 2202 | 2203 | 2204 | if_gain28 2205 | 20 2206 | 2207 | 2208 | iq_balance_mode28 2209 | 0 2210 | 2211 | 2212 | gain28 2213 | 10 2214 | 2215 | 2216 | ant29 2217 | 2218 | 2219 | 2220 | bb_gain29 2221 | 20 2222 | 2223 | 2224 | bw29 2225 | 0 2226 | 2227 | 2228 | dc_offset_mode29 2229 | 0 2230 | 2231 | 2232 | corr29 2233 | 0 2234 | 2235 | 2236 | freq29 2237 | 100e6 2238 | 2239 | 2240 | gain_mode29 2241 | False 2242 | 2243 | 2244 | if_gain29 2245 | 20 2246 | 2247 | 2248 | iq_balance_mode29 2249 | 0 2250 | 2251 | 2252 | gain29 2253 | 10 2254 | 2255 | 2256 | ant2 2257 | 2258 | 2259 | 2260 | bb_gain2 2261 | 20 2262 | 2263 | 2264 | bw2 2265 | 0 2266 | 2267 | 2268 | dc_offset_mode2 2269 | 0 2270 | 2271 | 2272 | corr2 2273 | 0 2274 | 2275 | 2276 | freq2 2277 | 100e6 2278 | 2279 | 2280 | gain_mode2 2281 | False 2282 | 2283 | 2284 | if_gain2 2285 | 20 2286 | 2287 | 2288 | iq_balance_mode2 2289 | 0 2290 | 2291 | 2292 | gain2 2293 | 10 2294 | 2295 | 2296 | ant30 2297 | 2298 | 2299 | 2300 | bb_gain30 2301 | 20 2302 | 2303 | 2304 | bw30 2305 | 0 2306 | 2307 | 2308 | dc_offset_mode30 2309 | 0 2310 | 2311 | 2312 | corr30 2313 | 0 2314 | 2315 | 2316 | freq30 2317 | 100e6 2318 | 2319 | 2320 | gain_mode30 2321 | False 2322 | 2323 | 2324 | if_gain30 2325 | 20 2326 | 2327 | 2328 | iq_balance_mode30 2329 | 0 2330 | 2331 | 2332 | gain30 2333 | 10 2334 | 2335 | 2336 | ant31 2337 | 2338 | 2339 | 2340 | bb_gain31 2341 | 20 2342 | 2343 | 2344 | bw31 2345 | 0 2346 | 2347 | 2348 | dc_offset_mode31 2349 | 0 2350 | 2351 | 2352 | corr31 2353 | 0 2354 | 2355 | 2356 | freq31 2357 | 100e6 2358 | 2359 | 2360 | gain_mode31 2361 | False 2362 | 2363 | 2364 | if_gain31 2365 | 20 2366 | 2367 | 2368 | iq_balance_mode31 2369 | 0 2370 | 2371 | 2372 | gain31 2373 | 10 2374 | 2375 | 2376 | ant3 2377 | 2378 | 2379 | 2380 | bb_gain3 2381 | 20 2382 | 2383 | 2384 | bw3 2385 | 0 2386 | 2387 | 2388 | dc_offset_mode3 2389 | 0 2390 | 2391 | 2392 | corr3 2393 | 0 2394 | 2395 | 2396 | freq3 2397 | 100e6 2398 | 2399 | 2400 | gain_mode3 2401 | False 2402 | 2403 | 2404 | if_gain3 2405 | 20 2406 | 2407 | 2408 | iq_balance_mode3 2409 | 0 2410 | 2411 | 2412 | gain3 2413 | 10 2414 | 2415 | 2416 | ant4 2417 | 2418 | 2419 | 2420 | bb_gain4 2421 | 20 2422 | 2423 | 2424 | bw4 2425 | 0 2426 | 2427 | 2428 | dc_offset_mode4 2429 | 0 2430 | 2431 | 2432 | corr4 2433 | 0 2434 | 2435 | 2436 | freq4 2437 | 100e6 2438 | 2439 | 2440 | gain_mode4 2441 | False 2442 | 2443 | 2444 | if_gain4 2445 | 20 2446 | 2447 | 2448 | iq_balance_mode4 2449 | 0 2450 | 2451 | 2452 | gain4 2453 | 10 2454 | 2455 | 2456 | ant5 2457 | 2458 | 2459 | 2460 | bb_gain5 2461 | 20 2462 | 2463 | 2464 | bw5 2465 | 0 2466 | 2467 | 2468 | dc_offset_mode5 2469 | 0 2470 | 2471 | 2472 | corr5 2473 | 0 2474 | 2475 | 2476 | freq5 2477 | 100e6 2478 | 2479 | 2480 | gain_mode5 2481 | False 2482 | 2483 | 2484 | if_gain5 2485 | 20 2486 | 2487 | 2488 | iq_balance_mode5 2489 | 0 2490 | 2491 | 2492 | gain5 2493 | 10 2494 | 2495 | 2496 | ant6 2497 | 2498 | 2499 | 2500 | bb_gain6 2501 | 20 2502 | 2503 | 2504 | bw6 2505 | 0 2506 | 2507 | 2508 | dc_offset_mode6 2509 | 0 2510 | 2511 | 2512 | corr6 2513 | 0 2514 | 2515 | 2516 | freq6 2517 | 100e6 2518 | 2519 | 2520 | gain_mode6 2521 | False 2522 | 2523 | 2524 | if_gain6 2525 | 20 2526 | 2527 | 2528 | iq_balance_mode6 2529 | 0 2530 | 2531 | 2532 | gain6 2533 | 10 2534 | 2535 | 2536 | ant7 2537 | 2538 | 2539 | 2540 | bb_gain7 2541 | 20 2542 | 2543 | 2544 | bw7 2545 | 0 2546 | 2547 | 2548 | dc_offset_mode7 2549 | 0 2550 | 2551 | 2552 | corr7 2553 | 0 2554 | 2555 | 2556 | freq7 2557 | 100e6 2558 | 2559 | 2560 | gain_mode7 2561 | False 2562 | 2563 | 2564 | if_gain7 2565 | 20 2566 | 2567 | 2568 | iq_balance_mode7 2569 | 0 2570 | 2571 | 2572 | gain7 2573 | 10 2574 | 2575 | 2576 | ant8 2577 | 2578 | 2579 | 2580 | bb_gain8 2581 | 20 2582 | 2583 | 2584 | bw8 2585 | 0 2586 | 2587 | 2588 | dc_offset_mode8 2589 | 0 2590 | 2591 | 2592 | corr8 2593 | 0 2594 | 2595 | 2596 | freq8 2597 | 100e6 2598 | 2599 | 2600 | gain_mode8 2601 | False 2602 | 2603 | 2604 | if_gain8 2605 | 20 2606 | 2607 | 2608 | iq_balance_mode8 2609 | 0 2610 | 2611 | 2612 | gain8 2613 | 10 2614 | 2615 | 2616 | ant9 2617 | 2618 | 2619 | 2620 | bb_gain9 2621 | 20 2622 | 2623 | 2624 | bw9 2625 | 0 2626 | 2627 | 2628 | dc_offset_mode9 2629 | 0 2630 | 2631 | 2632 | corr9 2633 | 0 2634 | 2635 | 2636 | freq9 2637 | 100e6 2638 | 2639 | 2640 | gain_mode9 2641 | False 2642 | 2643 | 2644 | if_gain9 2645 | 20 2646 | 2647 | 2648 | iq_balance_mode9 2649 | 0 2650 | 2651 | 2652 | gain9 2653 | 10 2654 | 2655 | 2656 | comment 2657 | 2658 | 2659 | 2660 | affinity 2661 | 2662 | 2663 | 2664 | args 2665 | rtl=0,direct_samp=2 2666 | 2667 | 2668 | _enabled 2669 | True 2670 | 2671 | 2672 | _coordinate 2673 | (56, 84) 2674 | 2675 | 2676 | _rotation 2677 | 0 2678 | 2679 | 2680 | id 2681 | osmosdr_source_0 2682 | 2683 | 2684 | maxoutbuf 2685 | 0 2686 | 2687 | 2688 | clock_source0 2689 | 2690 | 2691 | 2692 | time_source0 2693 | 2694 | 2695 | 2696 | clock_source1 2697 | 2698 | 2699 | 2700 | time_source1 2701 | 2702 | 2703 | 2704 | clock_source2 2705 | 2706 | 2707 | 2708 | time_source2 2709 | 2710 | 2711 | 2712 | clock_source3 2713 | 2714 | 2715 | 2716 | time_source3 2717 | 2718 | 2719 | 2720 | clock_source4 2721 | 2722 | 2723 | 2724 | time_source4 2725 | 2726 | 2727 | 2728 | clock_source5 2729 | 2730 | 2731 | 2732 | time_source5 2733 | 2734 | 2735 | 2736 | clock_source6 2737 | 2738 | 2739 | 2740 | time_source6 2741 | 2742 | 2743 | 2744 | clock_source7 2745 | 2746 | 2747 | 2748 | time_source7 2749 | 2750 | 2751 | 2752 | minoutbuf 2753 | 0 2754 | 2755 | 2756 | nchan 2757 | 1 2758 | 2759 | 2760 | num_mboards 2761 | 1 2762 | 2763 | 2764 | type 2765 | fc32 2766 | 2767 | 2768 | sample_rate 2769 | samp_rate 2770 | 2771 | 2772 | sync 2773 | pc_clock 2774 | 2775 | 2776 | 2777 | qtgui_time_sink_x 2778 | 2779 | autoscale 2780 | False 2781 | 2782 | 2783 | axislabels 2784 | True 2785 | 2786 | 2787 | alias 2788 | 2789 | 2790 | 2791 | comment 2792 | 2793 | 2794 | 2795 | ctrlpanel 2796 | False 2797 | 2798 | 2799 | affinity 2800 | 2801 | 2802 | 2803 | entags 2804 | True 2805 | 2806 | 2807 | _enabled 2808 | True 2809 | 2810 | 2811 | _coordinate 2812 | (1056, 416) 2813 | 2814 | 2815 | gui_hint 2816 | 2817 | 2818 | 2819 | _rotation 2820 | 0 2821 | 2822 | 2823 | grid 2824 | False 2825 | 2826 | 2827 | id 2828 | qtgui_time_sink_x_0 2829 | 2830 | 2831 | legend 2832 | True 2833 | 2834 | 2835 | alpha1 2836 | 1.0 2837 | 2838 | 2839 | color1 2840 | "blue" 2841 | 2842 | 2843 | label1 2844 | 2845 | 2846 | 2847 | marker1 2848 | -1 2849 | 2850 | 2851 | style1 2852 | 1 2853 | 2854 | 2855 | width1 2856 | 1 2857 | 2858 | 2859 | alpha10 2860 | 1.0 2861 | 2862 | 2863 | color10 2864 | "blue" 2865 | 2866 | 2867 | label10 2868 | 2869 | 2870 | 2871 | marker10 2872 | -1 2873 | 2874 | 2875 | style10 2876 | 1 2877 | 2878 | 2879 | width10 2880 | 1 2881 | 2882 | 2883 | alpha2 2884 | 1.0 2885 | 2886 | 2887 | color2 2888 | "red" 2889 | 2890 | 2891 | label2 2892 | 2893 | 2894 | 2895 | marker2 2896 | -1 2897 | 2898 | 2899 | style2 2900 | 1 2901 | 2902 | 2903 | width2 2904 | 1 2905 | 2906 | 2907 | alpha3 2908 | 1.0 2909 | 2910 | 2911 | color3 2912 | "green" 2913 | 2914 | 2915 | label3 2916 | 2917 | 2918 | 2919 | marker3 2920 | -1 2921 | 2922 | 2923 | style3 2924 | 1 2925 | 2926 | 2927 | width3 2928 | 1 2929 | 2930 | 2931 | alpha4 2932 | 1.0 2933 | 2934 | 2935 | color4 2936 | "black" 2937 | 2938 | 2939 | label4 2940 | 2941 | 2942 | 2943 | marker4 2944 | -1 2945 | 2946 | 2947 | style4 2948 | 1 2949 | 2950 | 2951 | width4 2952 | 1 2953 | 2954 | 2955 | alpha5 2956 | 1.0 2957 | 2958 | 2959 | color5 2960 | "cyan" 2961 | 2962 | 2963 | label5 2964 | 2965 | 2966 | 2967 | marker5 2968 | -1 2969 | 2970 | 2971 | style5 2972 | 1 2973 | 2974 | 2975 | width5 2976 | 1 2977 | 2978 | 2979 | alpha6 2980 | 1.0 2981 | 2982 | 2983 | color6 2984 | "magenta" 2985 | 2986 | 2987 | label6 2988 | 2989 | 2990 | 2991 | marker6 2992 | -1 2993 | 2994 | 2995 | style6 2996 | 1 2997 | 2998 | 2999 | width6 3000 | 1 3001 | 3002 | 3003 | alpha7 3004 | 1.0 3005 | 3006 | 3007 | color7 3008 | "yellow" 3009 | 3010 | 3011 | label7 3012 | 3013 | 3014 | 3015 | marker7 3016 | -1 3017 | 3018 | 3019 | style7 3020 | 1 3021 | 3022 | 3023 | width7 3024 | 1 3025 | 3026 | 3027 | alpha8 3028 | 1.0 3029 | 3030 | 3031 | color8 3032 | "dark red" 3033 | 3034 | 3035 | label8 3036 | 3037 | 3038 | 3039 | marker8 3040 | -1 3041 | 3042 | 3043 | style8 3044 | 1 3045 | 3046 | 3047 | width8 3048 | 1 3049 | 3050 | 3051 | alpha9 3052 | 1.0 3053 | 3054 | 3055 | color9 3056 | "dark green" 3057 | 3058 | 3059 | label9 3060 | 3061 | 3062 | 3063 | marker9 3064 | -1 3065 | 3066 | 3067 | style9 3068 | 1 3069 | 3070 | 3071 | width9 3072 | 1 3073 | 3074 | 3075 | name 3076 | "" 3077 | 3078 | 3079 | nconnections 3080 | 4 3081 | 3082 | 3083 | size 3084 | 1024 3085 | 3086 | 3087 | srate 3088 | samp_rate 3089 | 3090 | 3091 | stemplot 3092 | False 3093 | 3094 | 3095 | tr_chan 3096 | 0 3097 | 3098 | 3099 | tr_delay 3100 | 0 3101 | 3102 | 3103 | tr_level 3104 | 0.0 3105 | 3106 | 3107 | tr_mode 3108 | qtgui.TRIG_MODE_FREE 3109 | 3110 | 3111 | tr_slope 3112 | qtgui.TRIG_SLOPE_POS 3113 | 3114 | 3115 | tr_tag 3116 | "" 3117 | 3118 | 3119 | type 3120 | float 3121 | 3122 | 3123 | update_time 3124 | 0.10 3125 | 3126 | 3127 | ylabel 3128 | Amplitude 3129 | 3130 | 3131 | yunit 3132 | "" 3133 | 3134 | 3135 | ymax 3136 | 1 3137 | 3138 | 3139 | ymin 3140 | -1 3141 | 3142 | 3143 | 3144 | qtgui_waterfall_sink_x 3145 | 3146 | axislabels 3147 | True 3148 | 3149 | 3150 | bw 3151 | samp_rate/decim 3152 | 3153 | 3154 | alias 3155 | 3156 | 3157 | 3158 | fc 3159 | 0 3160 | 3161 | 3162 | comment 3163 | 3164 | 3165 | 3166 | affinity 3167 | 3168 | 3169 | 3170 | _enabled 3171 | True 3172 | 3173 | 3174 | fftsize 3175 | 1024 3176 | 3177 | 3178 | _coordinate 3179 | (784, 220) 3180 | 3181 | 3182 | gui_hint 3183 | 3184 | 3185 | 3186 | _rotation 3187 | 0 3188 | 3189 | 3190 | grid 3191 | False 3192 | 3193 | 3194 | id 3195 | qtgui_waterfall_sink_x_0 3196 | 3197 | 3198 | int_max 3199 | 10 3200 | 3201 | 3202 | int_min 3203 | -140 3204 | 3205 | 3206 | legend 3207 | True 3208 | 3209 | 3210 | alpha1 3211 | 1.0 3212 | 3213 | 3214 | color1 3215 | 0 3216 | 3217 | 3218 | label1 3219 | 3220 | 3221 | 3222 | alpha10 3223 | 1.0 3224 | 3225 | 3226 | color10 3227 | 0 3228 | 3229 | 3230 | label10 3231 | 3232 | 3233 | 3234 | alpha2 3235 | 1.0 3236 | 3237 | 3238 | color2 3239 | 0 3240 | 3241 | 3242 | label2 3243 | 3244 | 3245 | 3246 | alpha3 3247 | 1.0 3248 | 3249 | 3250 | color3 3251 | 0 3252 | 3253 | 3254 | label3 3255 | 3256 | 3257 | 3258 | alpha4 3259 | 1.0 3260 | 3261 | 3262 | color4 3263 | 0 3264 | 3265 | 3266 | label4 3267 | 3268 | 3269 | 3270 | alpha5 3271 | 1.0 3272 | 3273 | 3274 | color5 3275 | 0 3276 | 3277 | 3278 | label5 3279 | 3280 | 3281 | 3282 | alpha6 3283 | 1.0 3284 | 3285 | 3286 | color6 3287 | 0 3288 | 3289 | 3290 | label6 3291 | 3292 | 3293 | 3294 | alpha7 3295 | 1.0 3296 | 3297 | 3298 | color7 3299 | 0 3300 | 3301 | 3302 | label7 3303 | 3304 | 3305 | 3306 | alpha8 3307 | 1.0 3308 | 3309 | 3310 | color8 3311 | 0 3312 | 3313 | 3314 | label8 3315 | 3316 | 3317 | 3318 | alpha9 3319 | 1.0 3320 | 3321 | 3322 | color9 3323 | 0 3324 | 3325 | 3326 | label9 3327 | 3328 | 3329 | 3330 | maxoutbuf 3331 | 0 3332 | 3333 | 3334 | minoutbuf 3335 | 0 3336 | 3337 | 3338 | name 3339 | "" 3340 | 3341 | 3342 | nconnections 3343 | 1 3344 | 3345 | 3346 | showports 3347 | True 3348 | 3349 | 3350 | freqhalf 3351 | True 3352 | 3353 | 3354 | type 3355 | complex 3356 | 3357 | 3358 | update_time 3359 | 0.10 3360 | 3361 | 3362 | wintype 3363 | firdes.WIN_BLACKMAN_hARRIS 3364 | 3365 | 3366 | 3367 | analog_agc_xx_0 3368 | blocks_moving_average_xx_0 3369 | 0 3370 | 0 3371 | 3372 | 3373 | analog_agc_xx_0 3374 | qtgui_time_sink_x_0 3375 | 0 3376 | 3 3377 | 3378 | 3379 | analog_quadrature_demod_cf_0 3380 | blks2_selector_0 3381 | 0 3382 | 0 3383 | 3384 | 3385 | analog_quadrature_demod_cf_0 3386 | dc_blocker_xx_0 3387 | 0 3388 | 0 3389 | 3390 | 3391 | blks2_selector_0 3392 | analog_agc_xx_0 3393 | 0 3394 | 0 3395 | 3396 | 3397 | blocks_delay_0 3398 | qtgui_time_sink_x_0 3399 | 0 3400 | 0 3401 | 3402 | 3403 | blocks_float_to_char_0 3404 | blocks_udp_sink_0 3405 | 0 3406 | 0 3407 | 3408 | 3409 | blocks_moving_average_xx_0 3410 | blocks_delay_0 3411 | 0 3412 | 0 3413 | 3414 | 3415 | blocks_moving_average_xx_0 3416 | digital_clock_recovery_mm_xx_0 3417 | 0 3418 | 0 3419 | 3420 | 3421 | blocks_repeat_0 3422 | qtgui_time_sink_x_0 3423 | 0 3424 | 1 3425 | 3426 | 3427 | blocks_repeat_0_0 3428 | qtgui_time_sink_x_0 3429 | 0 3430 | 2 3431 | 3432 | 3433 | blocks_threshold_ff_0 3434 | blocks_float_to_char_0 3435 | 0 3436 | 0 3437 | 3438 | 3439 | blocks_threshold_ff_0 3440 | blocks_repeat_0_0 3441 | 0 3442 | 0 3443 | 3444 | 3445 | dc_blocker_xx_0 3446 | blks2_selector_0 3447 | 0 3448 | 1 3449 | 3450 | 3451 | digital_clock_recovery_mm_xx_0 3452 | blocks_repeat_0 3453 | 0 3454 | 0 3455 | 3456 | 3457 | digital_clock_recovery_mm_xx_0 3458 | blocks_threshold_ff_0 3459 | 0 3460 | 0 3461 | 3462 | 3463 | freq_xlating_fir_filter_xxx_0 3464 | low_pass_filter_0 3465 | 0 3466 | 0 3467 | 3468 | 3469 | low_pass_filter_0 3470 | analog_quadrature_demod_cf_0 3471 | 0 3472 | 0 3473 | 3474 | 3475 | low_pass_filter_0 3476 | qtgui_waterfall_sink_x_0 3477 | 0 3478 | 0 3479 | 3480 | 3481 | osmosdr_source_0 3482 | freq_xlating_fir_filter_xxx_0 3483 | 0 3484 | 0 3485 | 3486 | 3487 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # sdr information 2 | 3 | ## SDR Resources: Links 4 | * Complete list (all languages): 5 | [SDR Resources](https://github.com/on1arf/sdr/blob/master/links.md) 6 | 7 | * In Dutch: 8 | [SDR Informatiebronnen - NL](https://github.com/on1arf/sdr/blob/master/linksnl.md) 9 | 10 | * In Francais: 11 | [Resources SDR - FR](https://github.com/on1arf/sdr/blob/master/linksfr.md) 12 | 13 | 14 | ## SDR related events in 2020 15 | [sdr events](https://github.com/on1arf/sdr/blob/master/events.md) 16 | 17 | -------------------------------------------------------------------------------- /events.md: -------------------------------------------------------------------------------- 1 | # sdr events 2 | 3 | 4 | ## SDR related events in 2020: 5 | 6 | ### Conferences 7 | 8 | * SDR Academy (online): Saterday 27/06/2020 and Sunday 28/06/2020 9 | [Programme](http://https://2020.sdra.io/pages/programme.html) 10 | [Youtube](https://youtube.sdra.io) 11 | 12 | 13 | ### meetups 14 | 15 | * UBA Belgian SDR Meetup (online) 16 | [jitsi](https://meet.jit.si/UBABelgianSDRMeetup) 17 | * 1st edition: Wednesday 01/07/2020, 20:00 CEST 18 | * 2nd edition: Friday 04/09/2020, 20:00 CEST 19 | [some things to watch beforehand](https://github.com/on1arf/sdr/blob/master/besdrmeetup2.md) 20 | 21 | ### Past events with video-archive 22 | * Free Software Radio Devroom at FOSDEM 2020: Sunday 02/02/2020 23 | [schedule and video archive](https://fosdem.org/2020/schedule/track/free_software_radio/) 24 | -------------------------------------------------------------------------------- /iqfiles/20200919_1210Z_490Khz_1200sps.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/20200919_1210Z_490Khz_1200sps.torrent -------------------------------------------------------------------------------- /iqfiles/20200919_1240Z_518Khz_1200sps.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/20200919_1240Z_518Khz_1200sps.torrent -------------------------------------------------------------------------------- /iqfiles/CTF3_48000sps.wav.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/CTF3_48000sps.wav.torrent -------------------------------------------------------------------------------- /iqfiles/CTF4.flac.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/CTF4.flac.torrent -------------------------------------------------------------------------------- /iqfiles/ctf2_1200bps.iq.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/ctf2_1200bps.iq.torrent -------------------------------------------------------------------------------- /iqfiles/ctf4.flac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/ctf4.flac -------------------------------------------------------------------------------- /iqfiles/dcf77summertowinter_amdemodfl32_1200sps.raw.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/on1arf/sdr/9ef2eddfa0bd50791ad1fb6a8783913a28c37a4c/iqfiles/dcf77summertowinter_amdemodfl32_1200sps.raw.torrent -------------------------------------------------------------------------------- /iqfiles/readme.txt: -------------------------------------------------------------------------------- 1 | IQ files for GNU Radio 2 | 3 | Distributed via bittorrent 4 | -------------------------------------------------------------------------------- /links.md: -------------------------------------------------------------------------------- 1 | # Some interesting links, book and other info SDR 2 | (as collected by the members of the "SDR Belgium" mailing) 3 | 4 | 5 | Note: 6 | Also check out this page on SDR-related information in Dutch: 7 | [sdrlinks-nl](https://github.com/on1arf/sdr/blob/master/linksnl.md) 8 | 9 | Also check out this page on SDR-related information in French: 10 | [sdrlinks-fr](https://github.com/on1arf/sdr/blob/master/linksfr.md) 11 | 12 | 13 | ## On DSP: 14 | 15 | * "The Scientist and Engineer's Guide to Digital Signal Processing" by Steven W. Smith 16 | [website](https://dspguide.com/) 17 | Available as a free download or real "paper" book 18 | 19 | I found this quite a useful starting-point on DSP, especially not to much math. Gives a good introduction in sampling, some of the mathematical machinery behind DSP (lineair systems, convolution, the Fourier transform ... ), some examples of digital filters and an overview of DSP-based applications. 20 | 21 | 22 | * "Understanding Digital Signal Processing" by Richard G. Lyons 23 | ISBN 978-0137027415 24 | 25 | Seen by most people as the book to read once you got the DSPguide behind you. A good introduction into DSP but going a lot more into depth. 26 | 27 | 28 | 29 | * Practical Signal Processing by Mark Owen 30 | ISBN 978-1-107-41182-1 31 | 32 | 33 | 34 | 35 | ## On SDR: 36 | 37 | * "Software Defined Radio with HackRF" 38 | [videocourse](https://greatscottgadgets.com/sdr/) 39 | 40 | Probably one of the best known resources on SDR. A 11-part video course by Michael Ossmann of Great Scott Gadgets, the maker of the HackRF. 41 | Gives a very good visual introduction on SDR and some of the math behind it. 42 | 43 | 44 | * Wireless Pi, "an easy visual guide to SDR" by Qasim Chaudhari 45 | [website](https://wirelesspi.com/) 46 | 47 | I really like this one. This is a combination of a book, an online course and a large number of GNU Radio flowgraphs. The really nice thing is that he uses GNU Radio as an educational tool, allowing you to learn and really experiment with the principles of Software Defined Radio. 48 | 49 | 50 | * pysdr: "PySDR: A Guide to SDR and DSP using Python" 51 | [website](https://pysdr.org/) 52 | 53 | A very interesting website / book explaining SDR from a 'coders' (programmers) point of view. It provides a very good overview and basic introduction in the major elements of DSP and DSP with limited knowledge of math required. 54 | 55 | * Wireless Communications from the Ground Up by Qasim Chaudhari 56 | ISBN 978-1-729-73223-6 57 | Book accompanying the "Wireless Pi" website and video-course mentioned above 58 | 59 | * "Radio logicielSDR + GNU Radio" 60 | [pdf](http://stssnsb.free.fr/telecharger/blusson/stsse2/radiologiciel/Radiologiciel_sb.pdf) 61 | 62 | In french: a nice introduction about SDR using GNU Radio, including some example-projects for both reception and transmission. 63 | 64 | * Basics of I/Q Signals and I/Q modulation & demodulation - A tutorial 65 | [video](https://www.youtube.com/watch?v=h_7d-m1ehoY) 66 | 67 | DSP and SDR have a number of concepts that are quite now, e.g. I/Q sampling. This video explains the aspect of I/Q signals. 68 | 69 | * I/Q data explained 70 | [article](https://www.pe0sat.vgnet.nl/sdr/iq-data-explained/) 71 | 72 | Interesting article on I/Q signals with a lot of visual effects to help explain the concept. 73 | 74 | * Quadrature Mixers, IQ Demodulation, and the Tayloe Detector 75 | [video](https://www.youtube.com/watch?v=JuuKF1RFvBM) 76 | 77 | Another video on IQ signals, mixers and iq sampling. Gives a great insight into I/Q signals. 78 | 79 | 80 | * "Software-Defined Radio for Engineers", 2018. by Travis F. Collins, Robin Getz, Di Pu, and Alexander M. Wyglinski 81 | A free download from Analog Devices. 82 | [website](https://www.analog.com/en/education/education-library/software-defined-radio-for-engineers.html) 83 | 84 | As the title says, a course for engineers so expect a lot more math. 85 | 86 | * "Ontwerp van een Software Defined RF-ontvanger voor Digital Radio Mondiale" by Guus Colmanen and Jasmien Put (2007) 87 | [pdf](https://lib.ugent.be/fulltxt/RUG01/001/311/894/RUG01-001311894_2010_0001_AC.pdf) 88 | (In dutch). Graduation paper by Colmanen and Put for the EE-engineering department of the University of Ghent from 2007 about the design of a SDR receiver for DRM (Digital Radio Mondiale). A very extensive document providing a excelent overview of SDR receiver technology. 89 | 90 | * "SDR à conversion numérique directe. comment fonctionne ce qui est dans la boite noire et comment évaluer les performances" by Jean-François FLAMÉE (ON4IJ) 91 | [pdf](https://on5vl.org/fichiers/sdr.pdf) 92 | (in french). A very extensive document on direct conversion SDR receivers, including a very well written theoretical background on sampling, IQ-sampling and methodes to do quality measurements on this type of SDR receiver architecture. 93 | 94 | * rtl-sdr.com 95 | [website](https://www.rtl-sdr.com/) 96 | This started out as a website dedicated to the RTL-SDR dongle, but now contains a lot of information on different SDR related applications, using different SDR hardware devices. 97 | 98 | 99 | ## SDR by / for Amateur radio 100 | * SDR project by Paul ON5QM 101 | Paul ON5QM for ONZ (Section Knokke) has extensive document on SDR for Amateur radio. 102 | In dutch, available from the website of ONZ: 103 | [website](https://www.onz.be/diverse-projecten/) 104 | 105 | 106 | * SDR for the Radio Amateur: Experimental Methods in DSP design 107 | [website](https://www.g0kla.com/sdr/index.php) 108 | Examples in java and python 109 | 110 | 111 | * SDR Academy youtube archive 112 | [video channel](https://www.youtube.com/channel/UC1GAlgAQrkjeeLmIkCB8pgQ) 113 | 114 | Contains the video archive of the SDR Academy held at "Ham-radio Friedrichhafen" in 2020 and 2019, and the European GNU Radio days: 115 | Most of them are in English, some videos are in German 116 | 117 | * FOSDEM video archive of the "Free Software Radio" Devroom 118 | (called "SDR" devroom before 2020) 119 | [2020](https://video.fosdem.org/2020/AW1.120/) 120 | Look for videos starting with "fsr" 121 | [2019](https://video.fosdem.org/2019/AW1.120/) 122 | Look for videos starting with "sdr" 123 | For the years before 2018 the videos are less organised. Go to [videos] ("https://video.fosdem.org/"), pick a year and select the room AW1.120. 124 | Search the videos that have a title that kind-of mentions SDR. 125 | 126 | 127 | ## SDR in Belgim: 128 | 129 | * "SDR Belgium" discussion room on GNU Radio chat-server 130 | [website](https://chat.gnuradio.org/#/room/#sdrbe:gnuradio.org) 131 | 132 | 133 | ## SDR Hardware, Drivers and tools: 134 | 135 | * osmocom (Open Source Mobile Communications) 136 | [website](https://osmocom.org/) 137 | Drivers and tools for the RTL-SDR dongle 138 | 139 | * soapySDR 140 | [github](https://github.com/pothosware/SoapySDR/wiki) 141 | An open-source generalized API and runtime library for interfacing with SDR devices 142 | 143 | * Antenna connectors for RTL-SDR dongles 144 | [video](https://www.youtube.com/watch?v=9q2TYdo9cWY) 145 | An interesting overview of the different types of antenna connectors on SRTL-SDR dongles and how to go from one type of connector to another 146 | 147 | 148 | ## GNU Radio 149 | * GNU Radio "Tutorials" 150 | [website](https://wiki.gnuradio.org/index.php/Tutorials) 151 | 152 | * "GNU Radio, learning the basics" by Jarno Baselier 153 | In dutch: 154 | An extensive 3-part article on starting out with GNU Radio on Linux. 155 | [part1](https://jarnobaselier.nl/gnu-radio-learning-the-basics-13/) 156 | [part2](https://jarnobaselier.nl/gnu-radio-learning-the-basics-23/) 157 | [part3](https://jarnobaselier.nl/gnu-radio-learning-the-basics-33/) 158 | 159 | * GNU Radio Chat forum: 160 | [website](https://chat.gnuradio.org/) 161 | 162 | * GNU Radio mailing-list: 163 | [website](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio) 164 | 165 | 166 | ## SDR, CTFs and cybersecurity 167 | * BE.SDR CTFs: 168 | [Website]https://github.com/on1arf/sdr/tree/master/iqfiles 169 | 170 | CTF2: "when (date/time) was this file created?" (hint: the question is a hint by itself) 171 | CTF3: "find the flag" (Hint: "filter. filter and match") 172 | CTF4: "find the flag, amateur-radio style!" 173 | 174 | * gr-inspector 175 | "A signal analysis toolkit for GNU Radio" 176 | [video FOSDEM 2017]https://video.fosdem.org/2017/AW1.120/grinspector.mp4 177 | [github](https://github.com/gnuradio/gr-inspector) 178 | 179 | * Inspectrum: 180 | "A tool for analysing captured signals, primarily from software-defined radio receivers" 181 | [github](https://github.com/miek/inspectrum) 182 | [article + video](https://www.rtl-sdr.com/inspectrum-a-new-tool-for-analyzing-captured-signals/) 183 | 184 | * Sig id guide: "Signal Identification Guide" 185 | [website](https://www.sigidwiki.com/) 186 | Website that provides an overview of a large number of radio signals. 187 | 188 | * Universal Radio Hacker: 189 | [website](https://github.com/jopohl/urh) 190 | "The Universal Radio Hacker (URH) is a complete suite for wireless protocol investigation with native support for many common Software Defined Radios. URH allows easy demodulation of signals combined with an automatic detection of modulation parameters making it a breeze to identify the bits and bytes that fly over the air." 191 | 192 | * Pentoo linux 193 | [download site](https://pentoo.ch/downloads) 194 | Linux distro for pentesting. 195 | The LiveCD includes GNU Radio and gqrx. 196 | Also included other 'wireless' cracking tools, e.g. for wifi and bluetooth hacking. 197 | 198 | * SigIntOS 199 | [download site](https://www.sigintos.com/downloads/) 200 | Linux distro, includes GNU Radio and gqrx by default 201 | Also includes 'SigIntOS tool', which include a FM transmitter, IMSI catcher, GPS transmittor, e.a. 202 | (note: Use of this tool is illegal in Belgium) 203 | 204 | 205 | ## Mathematics 206 | Although there are quite a number of books on DSP and SDR that avoid to much math if possible, DSP and SDR are in its core completely based on math! 207 | 208 | For people who want to brush up the math, the khan academy has quite a few online courses on math at a more advanced level. 209 | 210 | Very interesting is the learning-track on Electrical Engineering: 211 | [Electrical Engineering learning-track](https://www.khanacademy.org/science/electrical-engineering) 212 | 213 | Some video's of particular interest to DSP and SDR are in the chapter on 'AC circuit Analysis': 214 | * [Trigonometry review](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-ac-trig-review) 215 | * [Sine and cosine come from circles](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-sine-cosine-circles) 216 | * [Sine of time](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-sine-of-time) 217 | * [Sine and cosine from rotating vector](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-sine-cosine-from-rotating-vector) 218 | * [lead lag](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-lead-lag) 219 | * [complex numbers](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-complex-numbers) 220 | * [negative frequencies](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-negative-frequency) 221 | * [AC analysis superposition](https://www.khanacademy.org/science/electrical-engineering/ee-circuit-analysis-topic/ee-ac-analysis/v/ee-ac-analysis-superposition) 222 | 223 | Some other courses: 224 | * lineair algebra 225 | [video-course](https://www.khanacademy.org/math/linear-algebra) English 226 | [video-course](https://fr.khanacademy.org/math/linear-algebra) French 227 | 228 | 229 | -------------------------------------------------------------------------------- /linksfr.md: -------------------------------------------------------------------------------- 1 | ## Quelque resources en Francais a propos de SDR: 2 | 3 | 4 | 5 | # SDR 6 | * "Radio logicielSDR + GNU Radio" 7 | [pdf](http://stssnsb.free.fr/telecharger/blusson/stsse2/radiologiciel/Radiologiciel_sb.pdf) 8 | 9 | Introduction de SDR et GNU Radio, inclusive quelques project de reception et transmission. 10 | 11 | 12 | -------------------------------------------------------------------------------- /linksnl.md: -------------------------------------------------------------------------------- 1 | ## Enkele interessante Nederlandstalige bronnen van informatie over SDR: 2 | (Zoals aangebracht door de leden van de "SDRbelgium" mailing-list) 3 | 4 | Opmerking: 5 | Deze lijst is een subset van de lijst "SDR Resources" lijst te vinden hier: 6 | [Sdr Resources - all languages](https://github.com/on1arf/sdr/blob/master/links.md) 7 | 8 | 9 | # SDR door / voor Radio Amateurs 10 | * Paul ON5QM, lid van ONZ (Section Knokke), heeft een heel uitgebreid document over SDR voor Amateur Radio. 11 | 12 | Beschikbaar via de website van ONZ: 13 | [website] (https://www.onz.be/diverse-projecten/) 14 | 15 | 16 | # GNU Radio 17 | * "GNU Radio, learning the basics" by Jarno Baselier 18 | In tegenstelling tot wat de titel doet vermoeden, een Nederlandstalige artikelreeks over beginnen met GNU Radio. 19 | 20 | [Deel 1] (https://jarnobaselier.nl/gnu-radio-learning-the-basics-13/) 21 | [Deel 2] (https://jarnobaselier.nl/gnu-radio-learning-the-basics-23/) 22 | [Deel 3] (https://jarnobaselier.nl/gnu-radio-learning-the-basics-33/) 23 | 24 | 25 | 26 | --------------------------------------------------------------------------------