├── GNU Radio ZMQ Receivers
├── gr_3.10_zmq_nbfm_rx.grc
├── gr_3.10_zmq_usb_rx.grc
├── gr_3.7_zmq_nbfm_rx.grc
├── gr_3.7_zmq_usb_rx.grc
├── gr_3.8_zmq_nbfm_rx.grc
├── gr_3.8_zmq_usb_rx.grc
├── gr_3.9_zmq_nbfm_rx.grc
└── gr_3.9_zmq_usb_rx.grc
├── LICENSE
└── README.md
/GNU Radio ZMQ Receivers/gr_3.10_zmq_nbfm_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
4 | catch_exceptions: 'True'
5 | category: '[GRC Hier Blocks]'
6 | cmake_opt: ''
7 | comment: ''
8 | copyright: ''
9 | description: ''
10 | gen_cmake: 'On'
11 | gen_linking: dynamic
12 | generate_options: qt_gui
13 | hier_block_src_path: '.:'
14 | id: zmq_nbfm_rx
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: ZMQ NBFM Receiver
26 | window_size: (1000,1000)
27 | states:
28 | bus_sink: false
29 | bus_source: false
30 | bus_structure: null
31 | coordinate: [0, 4]
32 | rotation: 0
33 | state: enabled
34 |
35 | blocks:
36 | - name: ip
37 | id: variable
38 | parameters:
39 | comment: ''
40 | value: '"sdr.rfhackers.com"'
41 | states:
42 | bus_sink: false
43 | bus_source: false
44 | bus_structure: null
45 | coordinate: [272, 4]
46 | rotation: 0
47 | state: enabled
48 | - name: out_file
49 | id: variable
50 | parameters:
51 | comment: ''
52 | value: '"zmq_nbfm_rx_" + port + ".wav"'
53 | states:
54 | bus_sink: false
55 | bus_source: false
56 | bus_structure: null
57 | coordinate: [512, 4.0]
58 | rotation: 0
59 | state: enabled
60 | - name: port
61 | id: variable
62 | parameters:
63 | comment: ''
64 | value: '"6556"'
65 | states:
66 | bus_sink: false
67 | bus_source: false
68 | bus_structure: null
69 | coordinate: [416, 4.0]
70 | rotation: 0
71 | state: enabled
72 | - name: samp_rate
73 | id: variable
74 | parameters:
75 | comment: ''
76 | value: '96000'
77 | states:
78 | bus_sink: false
79 | bus_source: false
80 | bus_structure: null
81 | coordinate: [168, 4]
82 | rotation: 0
83 | state: enabled
84 | - name: analog_nbfm_rx_0
85 | id: analog_nbfm_rx
86 | parameters:
87 | affinity: ''
88 | alias: ''
89 | audio_rate: '48000'
90 | comment: ''
91 | max_dev: 5e3
92 | maxoutbuf: '0'
93 | minoutbuf: '0'
94 | quad_rate: samp_rate
95 | tau: 75e-6
96 | states:
97 | bus_sink: false
98 | bus_source: false
99 | bus_structure: null
100 | coordinate: [464, 100]
101 | rotation: 0
102 | state: enabled
103 | - name: audio_sink_0
104 | id: audio_sink
105 | parameters:
106 | affinity: ''
107 | alias: ''
108 | comment: ''
109 | device_name: ''
110 | num_inputs: '1'
111 | ok_to_block: 'True'
112 | samp_rate: '48000'
113 | states:
114 | bus_sink: false
115 | bus_source: false
116 | bus_structure: null
117 | coordinate: [672, 124]
118 | rotation: 0
119 | state: enabled
120 | - name: blocks_wavfile_sink_0
121 | id: blocks_wavfile_sink
122 | parameters:
123 | affinity: ''
124 | alias: ''
125 | append: 'False'
126 | bits_per_sample1: FORMAT_PCM_16
127 | bits_per_sample2: FORMAT_PCM_16
128 | bits_per_sample3: FORMAT_VORBIS
129 | bits_per_sample4: FORMAT_PCM_16
130 | comment: ''
131 | file: out_file
132 | format: FORMAT_WAV
133 | nchan: '1'
134 | samp_rate: samp_rate
135 | states:
136 | bus_sink: false
137 | bus_source: false
138 | bus_structure: null
139 | coordinate: [704, 240.0]
140 | rotation: 0
141 | state: disabled
142 | - name: low_pass_filter_0
143 | id: low_pass_filter
144 | parameters:
145 | affinity: ''
146 | alias: ''
147 | beta: '6.76'
148 | comment: ''
149 | cutoff_freq: 5e3
150 | decim: '1'
151 | gain: '1'
152 | interp: '1'
153 | maxoutbuf: '0'
154 | minoutbuf: '0'
155 | samp_rate: samp_rate
156 | type: fir_filter_ccf
157 | width: 1e3
158 | win: window.WIN_HAMMING
159 | states:
160 | bus_sink: false
161 | bus_source: false
162 | bus_structure: null
163 | coordinate: [256, 76]
164 | rotation: 0
165 | state: enabled
166 | - name: qtgui_sink_x_0
167 | id: qtgui_sink_x
168 | parameters:
169 | affinity: ''
170 | alias: ''
171 | bw: samp_rate
172 | comment: ''
173 | fc: '0'
174 | fftsize: '1024'
175 | gui_hint: ''
176 | maxoutbuf: '0'
177 | minoutbuf: '0'
178 | name: '"RX from " + ip + ":" + port'
179 | plotconst: 'True'
180 | plotfreq: 'True'
181 | plottime: 'True'
182 | plotwaterfall: 'True'
183 | rate: '10'
184 | showports: 'True'
185 | showrf: 'False'
186 | type: complex
187 | wintype: window.WIN_BLACKMAN_hARRIS
188 | states:
189 | bus_sink: false
190 | bus_source: false
191 | bus_structure: null
192 | coordinate: [256, 260]
193 | rotation: 0
194 | state: enabled
195 | - name: zeromq_sub_source_0
196 | id: zeromq_sub_source
197 | parameters:
198 | address: '"tcp://"+ip+":"+port'
199 | affinity: ''
200 | alias: ''
201 | bind: 'False'
202 | comment: ''
203 | hwm: '-1'
204 | key: ''
205 | maxoutbuf: '0'
206 | minoutbuf: '0'
207 | pass_tags: 'False'
208 | timeout: '100'
209 | type: complex
210 | vlen: '1'
211 | states:
212 | bus_sink: false
213 | bus_source: false
214 | bus_structure: null
215 | coordinate: [16, 108]
216 | rotation: 0
217 | state: enabled
218 |
219 | connections:
220 | - [analog_nbfm_rx_0, '0', audio_sink_0, '0']
221 | - [analog_nbfm_rx_0, '0', blocks_wavfile_sink_0, '0']
222 | - [low_pass_filter_0, '0', analog_nbfm_rx_0, '0']
223 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
224 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
225 |
226 | metadata:
227 | file_format: 1
228 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.10_zmq_usb_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
4 | catch_exceptions: 'True'
5 | category: '[GRC Hier Blocks]'
6 | cmake_opt: ''
7 | comment: ''
8 | copyright: ''
9 | description: Upper Sideband Receiver
10 | gen_cmake: 'On'
11 | gen_linking: dynamic
12 | generate_options: qt_gui
13 | hier_block_src_path: '.:'
14 | id: zmq_usb_rx
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: ZMQ USB Receiver
26 | window_size: (1000,1000)
27 | states:
28 | bus_sink: false
29 | bus_source: false
30 | bus_structure: null
31 | coordinate: [0, 4]
32 | rotation: 0
33 | state: enabled
34 |
35 | blocks:
36 | - name: ip
37 | id: variable
38 | parameters:
39 | comment: ''
40 | value: '"sdr.rfhackers.com"'
41 | states:
42 | bus_sink: false
43 | bus_source: false
44 | bus_structure: null
45 | coordinate: [280, 4]
46 | rotation: 0
47 | state: enabled
48 | - name: out_file
49 | id: variable
50 | parameters:
51 | comment: ''
52 | value: '"zmq_usb_rx_"+port+".wav"'
53 | states:
54 | bus_sink: false
55 | bus_source: false
56 | bus_structure: null
57 | coordinate: [472, 4.0]
58 | rotation: 0
59 | state: enabled
60 | - name: port
61 | id: variable
62 | parameters:
63 | comment: ''
64 | value: '"6556"'
65 | states:
66 | bus_sink: false
67 | bus_source: false
68 | bus_structure: null
69 | coordinate: [384, 4]
70 | rotation: 0
71 | state: enabled
72 | - name: samp_rate
73 | id: variable
74 | parameters:
75 | comment: ''
76 | value: '96000'
77 | states:
78 | bus_sink: false
79 | bus_source: false
80 | bus_structure: null
81 | coordinate: [184, 4]
82 | rotation: 0
83 | state: enabled
84 | - name: analog_agc2_xx_0
85 | id: analog_agc2_xx
86 | parameters:
87 | affinity: ''
88 | alias: ''
89 | attack_rate: 1e-1
90 | comment: ''
91 | decay_rate: 50e-6
92 | gain: '1.0'
93 | max_gain: '1'
94 | maxoutbuf: '0'
95 | minoutbuf: '0'
96 | reference: '0.8'
97 | type: complex
98 | states:
99 | bus_sink: false
100 | bus_source: false
101 | bus_structure: null
102 | coordinate: [720, 124]
103 | rotation: 0
104 | state: enabled
105 | - name: audio_sink_0
106 | id: audio_sink
107 | parameters:
108 | affinity: ''
109 | alias: ''
110 | comment: ''
111 | device_name: ''
112 | num_inputs: '1'
113 | ok_to_block: 'True'
114 | samp_rate: '48000'
115 | states:
116 | bus_sink: false
117 | bus_source: false
118 | bus_structure: null
119 | coordinate: [1120, 156]
120 | rotation: 0
121 | state: enabled
122 | - name: band_pass_filter_0
123 | id: band_pass_filter
124 | parameters:
125 | affinity: ''
126 | alias: ''
127 | beta: '6.76'
128 | comment: ''
129 | decim: '2'
130 | gain: '1'
131 | high_cutoff_freq: '3000'
132 | interp: '1'
133 | low_cutoff_freq: '300'
134 | maxoutbuf: '0'
135 | minoutbuf: '0'
136 | samp_rate: samp_rate
137 | type: fir_filter_ccf
138 | width: '500'
139 | win: window.WIN_HAMMING
140 | states:
141 | bus_sink: false
142 | bus_source: false
143 | bus_structure: null
144 | coordinate: [520, 100]
145 | rotation: 0
146 | state: enabled
147 | - name: blocks_complex_to_real_0
148 | id: blocks_complex_to_real
149 | parameters:
150 | affinity: ''
151 | alias: ''
152 | comment: ''
153 | maxoutbuf: '0'
154 | minoutbuf: '0'
155 | vlen: '1'
156 | states:
157 | bus_sink: false
158 | bus_source: false
159 | bus_structure: null
160 | coordinate: [928, 160]
161 | rotation: 0
162 | state: enabled
163 | - name: blocks_wavfile_sink_0
164 | id: blocks_wavfile_sink
165 | parameters:
166 | affinity: ''
167 | alias: ''
168 | append: 'False'
169 | bits_per_sample1: FORMAT_PCM_16
170 | bits_per_sample2: FORMAT_PCM_16
171 | bits_per_sample3: FORMAT_VORBIS
172 | bits_per_sample4: FORMAT_PCM_16
173 | comment: ''
174 | file: out_file
175 | format: FORMAT_WAV
176 | nchan: '1'
177 | samp_rate: samp_rate
178 | states:
179 | bus_sink: false
180 | bus_source: false
181 | bus_structure: null
182 | coordinate: [1104, 264.0]
183 | rotation: 0
184 | state: disabled
185 | - name: low_pass_filter_0
186 | id: low_pass_filter
187 | parameters:
188 | affinity: ''
189 | alias: ''
190 | beta: '6.76'
191 | comment: ''
192 | cutoff_freq: 5e3
193 | decim: '1'
194 | gain: '1'
195 | interp: '1'
196 | maxoutbuf: '0'
197 | minoutbuf: '0'
198 | samp_rate: samp_rate
199 | type: fir_filter_ccf
200 | width: 1e3
201 | win: window.WIN_HAMMING
202 | states:
203 | bus_sink: false
204 | bus_source: false
205 | bus_structure: null
206 | coordinate: [304, 108]
207 | rotation: 0
208 | state: enabled
209 | - name: qtgui_sink_x_0
210 | id: qtgui_sink_x
211 | parameters:
212 | affinity: ''
213 | alias: ''
214 | bw: samp_rate
215 | comment: ''
216 | fc: '0'
217 | fftsize: '1024'
218 | gui_hint: ''
219 | maxoutbuf: '0'
220 | minoutbuf: '0'
221 | name: '"RX from " + ip + ":" + port'
222 | plotconst: 'True'
223 | plotfreq: 'True'
224 | plottime: 'True'
225 | plotwaterfall: 'True'
226 | rate: '10'
227 | showports: 'True'
228 | showrf: 'False'
229 | type: complex
230 | wintype: window.WIN_BLACKMAN_hARRIS
231 | states:
232 | bus_sink: false
233 | bus_source: false
234 | bus_structure: null
235 | coordinate: [272, 292]
236 | rotation: 0
237 | state: enabled
238 | - name: zeromq_sub_source_0
239 | id: zeromq_sub_source
240 | parameters:
241 | address: '"tcp://"+ip+":"+port'
242 | affinity: ''
243 | alias: ''
244 | bind: 'False'
245 | comment: ''
246 | hwm: '-1'
247 | key: ''
248 | maxoutbuf: '0'
249 | minoutbuf: '0'
250 | pass_tags: 'False'
251 | timeout: '100'
252 | type: complex
253 | vlen: '1'
254 | states:
255 | bus_sink: false
256 | bus_source: false
257 | bus_structure: null
258 | coordinate: [32, 140]
259 | rotation: 0
260 | state: enabled
261 |
262 | connections:
263 | - [analog_agc2_xx_0, '0', blocks_complex_to_real_0, '0']
264 | - [band_pass_filter_0, '0', analog_agc2_xx_0, '0']
265 | - [blocks_complex_to_real_0, '0', audio_sink_0, '0']
266 | - [blocks_complex_to_real_0, '0', blocks_wavfile_sink_0, '0']
267 | - [low_pass_filter_0, '0', band_pass_filter_0, '0']
268 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
269 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
270 |
271 | metadata:
272 | file_format: 1
273 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.7_zmq_nbfm_rx.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Mon Aug 3 16:31:24 2020
5 |
6 | options
7 |
8 | author
9 | Corey
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 | (0, 4)
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 | zmq_nbfm_rx
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 | ZMQ NBFM Receiver
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 | (272, 4)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | ip
113 |
114 |
115 | value
116 | "sdr.rfhackers.com"
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (376, 4)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | port
140 |
141 |
142 | value
143 | "6556"
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (168, 4)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | samp_rate
167 |
168 |
169 | value
170 | 96000
171 |
172 |
173 |
174 | analog_nbfm_rx
175 |
176 | audio_rate
177 | 48000
178 |
179 |
180 | alias
181 |
182 |
183 |
184 | comment
185 |
186 |
187 |
188 | affinity
189 |
190 |
191 |
192 | _enabled
193 | True
194 |
195 |
196 | _coordinate
197 | (464, 100)
198 |
199 |
200 | _rotation
201 | 0
202 |
203 |
204 | id
205 | analog_nbfm_rx_0
206 |
207 |
208 | max_dev
209 | 5e3
210 |
211 |
212 | maxoutbuf
213 | 0
214 |
215 |
216 | minoutbuf
217 | 0
218 |
219 |
220 | quad_rate
221 | samp_rate
222 |
223 |
224 | tau
225 | 75e-6
226 |
227 |
228 |
229 | audio_sink
230 |
231 | alias
232 |
233 |
234 |
235 | comment
236 |
237 |
238 |
239 | affinity
240 |
241 |
242 |
243 | device_name
244 |
245 |
246 |
247 | _enabled
248 | True
249 |
250 |
251 | _coordinate
252 | (672, 124)
253 |
254 |
255 | _rotation
256 | 0
257 |
258 |
259 | id
260 | audio_sink_0
261 |
262 |
263 | num_inputs
264 | 1
265 |
266 |
267 | ok_to_block
268 | True
269 |
270 |
271 | samp_rate
272 | 48000
273 |
274 |
275 |
276 | low_pass_filter
277 |
278 | beta
279 | 6.76
280 |
281 |
282 | alias
283 |
284 |
285 |
286 | comment
287 |
288 |
289 |
290 | affinity
291 |
292 |
293 |
294 | cutoff_freq
295 | 5e3
296 |
297 |
298 | decim
299 | 1
300 |
301 |
302 | _enabled
303 | True
304 |
305 |
306 | type
307 | fir_filter_ccf
308 |
309 |
310 | _coordinate
311 | (256, 76)
312 |
313 |
314 | _rotation
315 | 0
316 |
317 |
318 | gain
319 | 1
320 |
321 |
322 | id
323 | low_pass_filter_0
324 |
325 |
326 | interp
327 | 1
328 |
329 |
330 | maxoutbuf
331 | 0
332 |
333 |
334 | minoutbuf
335 | 0
336 |
337 |
338 | samp_rate
339 | samp_rate
340 |
341 |
342 | width
343 | 1e3
344 |
345 |
346 | win
347 | firdes.WIN_HAMMING
348 |
349 |
350 |
351 | qtgui_sink_x
352 |
353 | bw
354 | samp_rate
355 |
356 |
357 | alias
358 |
359 |
360 |
361 | fc
362 | 0
363 |
364 |
365 | freqchangevar
366 | None
367 |
368 |
369 | comment
370 |
371 |
372 |
373 | affinity
374 |
375 |
376 |
377 | _enabled
378 | True
379 |
380 |
381 | fftsize
382 | 1024
383 |
384 |
385 | _coordinate
386 | (256, 260)
387 |
388 |
389 | gui_hint
390 |
391 |
392 |
393 | _rotation
394 | 0
395 |
396 |
397 | id
398 | qtgui_sink_x_0
399 |
400 |
401 | maxoutbuf
402 | 0
403 |
404 |
405 | minoutbuf
406 | 0
407 |
408 |
409 | name
410 | "RX from " + ip + ":" + port
411 |
412 |
413 | plotconst
414 | True
415 |
416 |
417 | plotfreq
418 | True
419 |
420 |
421 | plottime
422 | True
423 |
424 |
425 | plotwaterfall
426 | True
427 |
428 |
429 | showports
430 | True
431 |
432 |
433 | showrf
434 | False
435 |
436 |
437 | type
438 | complex
439 |
440 |
441 | rate
442 | 10
443 |
444 |
445 | wintype
446 | firdes.WIN_BLACKMAN_hARRIS
447 |
448 |
449 |
450 | zeromq_sub_source
451 |
452 | address
453 | "tcp://"+ip+":"+port
454 |
455 |
456 | alias
457 |
458 |
459 |
460 | comment
461 |
462 |
463 |
464 | affinity
465 |
466 |
467 |
468 | _enabled
469 | True
470 |
471 |
472 | _coordinate
473 | (16, 108)
474 |
475 |
476 | _rotation
477 | 0
478 |
479 |
480 | hwm
481 | -1
482 |
483 |
484 | id
485 | zeromq_sub_source_0
486 |
487 |
488 | type
489 | complex
490 |
491 |
492 | maxoutbuf
493 | 0
494 |
495 |
496 | minoutbuf
497 | 0
498 |
499 |
500 | pass_tags
501 | False
502 |
503 |
504 | timeout
505 | 100
506 |
507 |
508 | vlen
509 | 1
510 |
511 |
512 |
513 | analog_nbfm_rx_0
514 | audio_sink_0
515 | 0
516 | 0
517 |
518 |
519 | low_pass_filter_0
520 | analog_nbfm_rx_0
521 | 0
522 | 0
523 |
524 |
525 | zeromq_sub_source_0
526 | low_pass_filter_0
527 | 0
528 | 0
529 |
530 |
531 | zeromq_sub_source_0
532 | qtgui_sink_x_0
533 | 0
534 | 0
535 |
536 |
537 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.7_zmq_usb_rx.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Mon Aug 3 16:40:24 2020
5 |
6 | options
7 |
8 | author
9 | Corey
10 |
11 |
12 | window_size
13 |
14 |
15 |
16 | category
17 | [GRC Hier Blocks]
18 |
19 |
20 | comment
21 |
22 |
23 |
24 | description
25 | Upper Sideband Receiver
26 |
27 |
28 | _enabled
29 | True
30 |
31 |
32 | _coordinate
33 | (0, 4)
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 | zmq_usb_rx
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 | ZMQ USB Receiver
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 | (280, 4)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | ip
113 |
114 |
115 | value
116 | "sdr.rfhackers.com"
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (384, 4)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | port
140 |
141 |
142 | value
143 | "6556"
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (184, 4)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | samp_rate
167 |
168 |
169 | value
170 | 96000
171 |
172 |
173 |
174 | analog_agc2_xx
175 |
176 | attack_rate
177 | 1e-1
178 |
179 |
180 | alias
181 |
182 |
183 |
184 | comment
185 |
186 |
187 |
188 | affinity
189 |
190 |
191 |
192 | decay_rate
193 | 50e-6
194 |
195 |
196 | _enabled
197 | True
198 |
199 |
200 | _coordinate
201 | (720, 124)
202 |
203 |
204 | _rotation
205 | 0
206 |
207 |
208 | gain
209 | 1.0
210 |
211 |
212 | id
213 | analog_agc2_xx_0
214 |
215 |
216 | max_gain
217 | 1
218 |
219 |
220 | maxoutbuf
221 | 0
222 |
223 |
224 | minoutbuf
225 | 0
226 |
227 |
228 | reference
229 | 0.8
230 |
231 |
232 | type
233 | complex
234 |
235 |
236 |
237 | audio_sink
238 |
239 | alias
240 |
241 |
242 |
243 | comment
244 |
245 |
246 |
247 | affinity
248 |
249 |
250 |
251 | device_name
252 |
253 |
254 |
255 | _enabled
256 | True
257 |
258 |
259 | _coordinate
260 | (1120, 156)
261 |
262 |
263 | _rotation
264 | 0
265 |
266 |
267 | id
268 | audio_sink_0
269 |
270 |
271 | num_inputs
272 | 1
273 |
274 |
275 | ok_to_block
276 | True
277 |
278 |
279 | samp_rate
280 | 48000
281 |
282 |
283 |
284 | band_pass_filter
285 |
286 | beta
287 | 6.76
288 |
289 |
290 | alias
291 |
292 |
293 |
294 | comment
295 |
296 |
297 |
298 | affinity
299 |
300 |
301 |
302 | decim
303 | 2
304 |
305 |
306 | _enabled
307 | True
308 |
309 |
310 | type
311 | fir_filter_ccf
312 |
313 |
314 | _coordinate
315 | (520, 100)
316 |
317 |
318 | _rotation
319 | 0
320 |
321 |
322 | gain
323 | 1
324 |
325 |
326 | high_cutoff_freq
327 | 3000
328 |
329 |
330 | id
331 | band_pass_filter_0
332 |
333 |
334 | interp
335 | 1
336 |
337 |
338 | low_cutoff_freq
339 | 300
340 |
341 |
342 | maxoutbuf
343 | 0
344 |
345 |
346 | minoutbuf
347 | 0
348 |
349 |
350 | samp_rate
351 | samp_rate
352 |
353 |
354 | width
355 | 500
356 |
357 |
358 | win
359 | firdes.WIN_HAMMING
360 |
361 |
362 |
363 | blocks_complex_to_real
364 |
365 | alias
366 |
367 |
368 |
369 | comment
370 |
371 |
372 |
373 | affinity
374 |
375 |
376 |
377 | _enabled
378 | True
379 |
380 |
381 | _coordinate
382 | (928, 160)
383 |
384 |
385 | _rotation
386 | 0
387 |
388 |
389 | id
390 | blocks_complex_to_real_0
391 |
392 |
393 | maxoutbuf
394 | 0
395 |
396 |
397 | minoutbuf
398 | 0
399 |
400 |
401 | vlen
402 | 1
403 |
404 |
405 |
406 | low_pass_filter
407 |
408 | beta
409 | 6.76
410 |
411 |
412 | alias
413 |
414 |
415 |
416 | comment
417 |
418 |
419 |
420 | affinity
421 |
422 |
423 |
424 | cutoff_freq
425 | 5e3
426 |
427 |
428 | decim
429 | 1
430 |
431 |
432 | _enabled
433 | True
434 |
435 |
436 | type
437 | fir_filter_ccf
438 |
439 |
440 | _coordinate
441 | (304, 108)
442 |
443 |
444 | _rotation
445 | 0
446 |
447 |
448 | gain
449 | 1
450 |
451 |
452 | id
453 | low_pass_filter_0
454 |
455 |
456 | interp
457 | 1
458 |
459 |
460 | maxoutbuf
461 | 0
462 |
463 |
464 | minoutbuf
465 | 0
466 |
467 |
468 | samp_rate
469 | samp_rate
470 |
471 |
472 | width
473 | 1e3
474 |
475 |
476 | win
477 | firdes.WIN_HAMMING
478 |
479 |
480 |
481 | qtgui_sink_x
482 |
483 | bw
484 | samp_rate
485 |
486 |
487 | alias
488 |
489 |
490 |
491 | fc
492 | 0
493 |
494 |
495 | freqchangevar
496 | None
497 |
498 |
499 | comment
500 |
501 |
502 |
503 | affinity
504 |
505 |
506 |
507 | _enabled
508 | True
509 |
510 |
511 | fftsize
512 | 1024
513 |
514 |
515 | _coordinate
516 | (272, 292)
517 |
518 |
519 | gui_hint
520 |
521 |
522 |
523 | _rotation
524 | 0
525 |
526 |
527 | id
528 | qtgui_sink_x_0
529 |
530 |
531 | maxoutbuf
532 | 0
533 |
534 |
535 | minoutbuf
536 | 0
537 |
538 |
539 | name
540 | "RX from " + ip + ":" + port
541 |
542 |
543 | plotconst
544 | True
545 |
546 |
547 | plotfreq
548 | True
549 |
550 |
551 | plottime
552 | True
553 |
554 |
555 | plotwaterfall
556 | True
557 |
558 |
559 | showports
560 | True
561 |
562 |
563 | showrf
564 | False
565 |
566 |
567 | type
568 | complex
569 |
570 |
571 | rate
572 | 10
573 |
574 |
575 | wintype
576 | firdes.WIN_BLACKMAN_hARRIS
577 |
578 |
579 |
580 | zeromq_sub_source
581 |
582 | address
583 | "tcp://"+ip+":"+port
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | True
600 |
601 |
602 | _coordinate
603 | (32, 140)
604 |
605 |
606 | _rotation
607 | 0
608 |
609 |
610 | hwm
611 | -1
612 |
613 |
614 | id
615 | zeromq_sub_source_0
616 |
617 |
618 | type
619 | complex
620 |
621 |
622 | maxoutbuf
623 | 0
624 |
625 |
626 | minoutbuf
627 | 0
628 |
629 |
630 | pass_tags
631 | False
632 |
633 |
634 | timeout
635 | 100
636 |
637 |
638 | vlen
639 | 1
640 |
641 |
642 |
643 | analog_agc2_xx_0
644 | blocks_complex_to_real_0
645 | 0
646 | 0
647 |
648 |
649 | band_pass_filter_0
650 | analog_agc2_xx_0
651 | 0
652 | 0
653 |
654 |
655 | blocks_complex_to_real_0
656 | audio_sink_0
657 | 0
658 | 0
659 |
660 |
661 | low_pass_filter_0
662 | band_pass_filter_0
663 | 0
664 | 0
665 |
666 |
667 | zeromq_sub_source_0
668 | low_pass_filter_0
669 | 0
670 | 0
671 |
672 |
673 | zeromq_sub_source_0
674 | qtgui_sink_x_0
675 | 0
676 | 0
677 |
678 |
679 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.8_zmq_nbfm_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
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: zmq_nbfm_rx
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: ZMQ NBFM Receiver
25 | window_size: ''
26 | states:
27 | bus_sink: false
28 | bus_source: false
29 | bus_structure: null
30 | coordinate: [0, 4]
31 | rotation: 0
32 | state: enabled
33 |
34 | blocks:
35 | - name: filename
36 | id: variable
37 | parameters:
38 | comment: ''
39 | value: '"zmq_nbfm_port_"+port+".bin"'
40 | states:
41 | bus_sink: false
42 | bus_source: false
43 | bus_structure: null
44 | coordinate: [456, 4.0]
45 | rotation: 0
46 | state: true
47 | - name: ip
48 | id: variable
49 | parameters:
50 | comment: ''
51 | value: '"sdr.rfhackers.com"'
52 | states:
53 | bus_sink: false
54 | bus_source: false
55 | bus_structure: null
56 | coordinate: [272, 4]
57 | rotation: 0
58 | state: enabled
59 | - name: port
60 | id: variable
61 | parameters:
62 | comment: ''
63 | value: '"6556"'
64 | states:
65 | bus_sink: false
66 | bus_source: false
67 | bus_structure: null
68 | coordinate: [376, 4]
69 | rotation: 0
70 | state: enabled
71 | - name: samp_rate
72 | id: variable
73 | parameters:
74 | comment: ''
75 | value: '96000'
76 | states:
77 | bus_sink: false
78 | bus_source: false
79 | bus_structure: null
80 | coordinate: [168, 4]
81 | rotation: 0
82 | state: enabled
83 | - name: analog_nbfm_rx_0
84 | id: analog_nbfm_rx
85 | parameters:
86 | affinity: ''
87 | alias: ''
88 | audio_rate: '48000'
89 | comment: ''
90 | max_dev: 5e3
91 | maxoutbuf: '0'
92 | minoutbuf: '0'
93 | quad_rate: samp_rate
94 | tau: 75e-6
95 | states:
96 | bus_sink: false
97 | bus_source: false
98 | bus_structure: null
99 | coordinate: [464, 100]
100 | rotation: 0
101 | state: enabled
102 | - name: audio_sink_0
103 | id: audio_sink
104 | parameters:
105 | affinity: ''
106 | alias: ''
107 | comment: ''
108 | device_name: ''
109 | num_inputs: '1'
110 | ok_to_block: 'True'
111 | samp_rate: '48000'
112 | states:
113 | bus_sink: false
114 | bus_source: false
115 | bus_structure: null
116 | coordinate: [672, 124]
117 | rotation: 0
118 | state: enabled
119 | - name: blocks_file_sink_0
120 | id: blocks_file_sink
121 | parameters:
122 | affinity: ''
123 | alias: ''
124 | append: 'False'
125 | comment: ''
126 | file: filename
127 | type: float
128 | unbuffered: 'False'
129 | vlen: '1'
130 | states:
131 | bus_sink: false
132 | bus_source: false
133 | bus_structure: null
134 | coordinate: [672, 188.0]
135 | rotation: 0
136 | state: disabled
137 | - name: low_pass_filter_0
138 | id: low_pass_filter
139 | parameters:
140 | affinity: ''
141 | alias: ''
142 | beta: '6.76'
143 | comment: ''
144 | cutoff_freq: 5e3
145 | decim: '1'
146 | gain: '1'
147 | interp: '1'
148 | maxoutbuf: '0'
149 | minoutbuf: '0'
150 | samp_rate: samp_rate
151 | type: fir_filter_ccf
152 | width: 1e3
153 | win: firdes.WIN_HAMMING
154 | states:
155 | bus_sink: false
156 | bus_source: false
157 | bus_structure: null
158 | coordinate: [256, 76]
159 | rotation: 0
160 | state: enabled
161 | - name: qtgui_sink_x_0
162 | id: qtgui_sink_x
163 | parameters:
164 | affinity: ''
165 | alias: ''
166 | bw: samp_rate
167 | comment: ''
168 | fc: '0'
169 | fftsize: '1024'
170 | gui_hint: ''
171 | maxoutbuf: '0'
172 | minoutbuf: '0'
173 | name: '"RX from " + ip + ":" + port'
174 | plotconst: 'True'
175 | plotfreq: 'True'
176 | plottime: 'True'
177 | plotwaterfall: 'True'
178 | rate: '10'
179 | showports: 'True'
180 | showrf: 'False'
181 | type: complex
182 | wintype: firdes.WIN_BLACKMAN_hARRIS
183 | states:
184 | bus_sink: false
185 | bus_source: false
186 | bus_structure: null
187 | coordinate: [256, 260]
188 | rotation: 0
189 | state: enabled
190 | - name: zeromq_sub_source_0
191 | id: zeromq_sub_source
192 | parameters:
193 | address: '"tcp://"+ip+":"+port'
194 | affinity: ''
195 | alias: ''
196 | comment: ''
197 | hwm: '-1'
198 | maxoutbuf: '0'
199 | minoutbuf: '0'
200 | pass_tags: 'False'
201 | timeout: '100'
202 | type: complex
203 | vlen: '1'
204 | states:
205 | bus_sink: false
206 | bus_source: false
207 | bus_structure: null
208 | coordinate: [16, 108]
209 | rotation: 0
210 | state: enabled
211 |
212 | connections:
213 | - [analog_nbfm_rx_0, '0', audio_sink_0, '0']
214 | - [analog_nbfm_rx_0, '0', blocks_file_sink_0, '0']
215 | - [low_pass_filter_0, '0', analog_nbfm_rx_0, '0']
216 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
217 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
218 |
219 | metadata:
220 | file_format: 1
221 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.8_zmq_usb_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
4 | category: '[GRC Hier Blocks]'
5 | cmake_opt: ''
6 | comment: ''
7 | copyright: ''
8 | description: Upper Sideband Receiver
9 | gen_cmake: 'On'
10 | gen_linking: dynamic
11 | generate_options: qt_gui
12 | hier_block_src_path: '.:'
13 | id: zmq_usb_rx
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: ZMQ USB Receiver
25 | window_size: ''
26 | states:
27 | bus_sink: false
28 | bus_source: false
29 | bus_structure: null
30 | coordinate: [0, 4]
31 | rotation: 0
32 | state: enabled
33 |
34 | blocks:
35 | - name: filename
36 | id: variable
37 | parameters:
38 | comment: ''
39 | value: '"zmq_usb_port_"+port+".bin"'
40 | states:
41 | bus_sink: false
42 | bus_source: false
43 | bus_structure: null
44 | coordinate: [464, 4.0]
45 | rotation: 0
46 | state: true
47 | - name: ip
48 | id: variable
49 | parameters:
50 | comment: ''
51 | value: '"sdr.rfhackers.com"'
52 | states:
53 | bus_sink: false
54 | bus_source: false
55 | bus_structure: null
56 | coordinate: [280, 4]
57 | rotation: 0
58 | state: enabled
59 | - name: port
60 | id: variable
61 | parameters:
62 | comment: ''
63 | value: '"6556"'
64 | states:
65 | bus_sink: false
66 | bus_source: false
67 | bus_structure: null
68 | coordinate: [384, 4]
69 | rotation: 0
70 | state: enabled
71 | - name: samp_rate
72 | id: variable
73 | parameters:
74 | comment: ''
75 | value: '96000'
76 | states:
77 | bus_sink: false
78 | bus_source: false
79 | bus_structure: null
80 | coordinate: [184, 4]
81 | rotation: 0
82 | state: enabled
83 | - name: analog_agc2_xx_0
84 | id: analog_agc2_xx
85 | parameters:
86 | affinity: ''
87 | alias: ''
88 | attack_rate: 1e-1
89 | comment: ''
90 | decay_rate: 50e-6
91 | gain: '1.0'
92 | max_gain: '1'
93 | maxoutbuf: '0'
94 | minoutbuf: '0'
95 | reference: '0.8'
96 | type: complex
97 | states:
98 | bus_sink: false
99 | bus_source: false
100 | bus_structure: null
101 | coordinate: [720, 124]
102 | rotation: 0
103 | state: enabled
104 | - name: audio_sink_0
105 | id: audio_sink
106 | parameters:
107 | affinity: ''
108 | alias: ''
109 | comment: ''
110 | device_name: ''
111 | num_inputs: '1'
112 | ok_to_block: 'True'
113 | samp_rate: '48000'
114 | states:
115 | bus_sink: false
116 | bus_source: false
117 | bus_structure: null
118 | coordinate: [1120, 156]
119 | rotation: 0
120 | state: enabled
121 | - name: band_pass_filter_0
122 | id: band_pass_filter
123 | parameters:
124 | affinity: ''
125 | alias: ''
126 | beta: '6.76'
127 | comment: ''
128 | decim: '2'
129 | gain: '1'
130 | high_cutoff_freq: '3000'
131 | interp: '1'
132 | low_cutoff_freq: '300'
133 | maxoutbuf: '0'
134 | minoutbuf: '0'
135 | samp_rate: samp_rate
136 | type: fir_filter_ccf
137 | width: '500'
138 | win: firdes.WIN_HAMMING
139 | states:
140 | bus_sink: false
141 | bus_source: false
142 | bus_structure: null
143 | coordinate: [520, 100]
144 | rotation: 0
145 | state: enabled
146 | - name: blocks_complex_to_real_0
147 | id: blocks_complex_to_real
148 | parameters:
149 | affinity: ''
150 | alias: ''
151 | comment: ''
152 | maxoutbuf: '0'
153 | minoutbuf: '0'
154 | vlen: '1'
155 | states:
156 | bus_sink: false
157 | bus_source: false
158 | bus_structure: null
159 | coordinate: [928, 160]
160 | rotation: 0
161 | state: enabled
162 | - name: blocks_file_sink_0
163 | id: blocks_file_sink
164 | parameters:
165 | affinity: ''
166 | alias: ''
167 | append: 'False'
168 | comment: ''
169 | file: filename
170 | type: float
171 | unbuffered: 'False'
172 | vlen: '1'
173 | states:
174 | bus_sink: false
175 | bus_source: false
176 | bus_structure: null
177 | coordinate: [1120, 220.0]
178 | rotation: 0
179 | state: disabled
180 | - name: low_pass_filter_0
181 | id: low_pass_filter
182 | parameters:
183 | affinity: ''
184 | alias: ''
185 | beta: '6.76'
186 | comment: ''
187 | cutoff_freq: 5e3
188 | decim: '1'
189 | gain: '1'
190 | interp: '1'
191 | maxoutbuf: '0'
192 | minoutbuf: '0'
193 | samp_rate: samp_rate
194 | type: fir_filter_ccf
195 | width: 1e3
196 | win: firdes.WIN_HAMMING
197 | states:
198 | bus_sink: false
199 | bus_source: false
200 | bus_structure: null
201 | coordinate: [304, 108]
202 | rotation: 0
203 | state: enabled
204 | - name: qtgui_sink_x_0
205 | id: qtgui_sink_x
206 | parameters:
207 | affinity: ''
208 | alias: ''
209 | bw: samp_rate
210 | comment: ''
211 | fc: '0'
212 | fftsize: '1024'
213 | gui_hint: ''
214 | maxoutbuf: '0'
215 | minoutbuf: '0'
216 | name: '"RX from " + ip + ":" + port'
217 | plotconst: 'True'
218 | plotfreq: 'True'
219 | plottime: 'True'
220 | plotwaterfall: 'True'
221 | rate: '10'
222 | showports: 'True'
223 | showrf: 'False'
224 | type: complex
225 | wintype: firdes.WIN_BLACKMAN_hARRIS
226 | states:
227 | bus_sink: false
228 | bus_source: false
229 | bus_structure: null
230 | coordinate: [272, 292]
231 | rotation: 0
232 | state: enabled
233 | - name: zeromq_sub_source_0
234 | id: zeromq_sub_source
235 | parameters:
236 | address: '"tcp://"+ip+":"+port'
237 | affinity: ''
238 | alias: ''
239 | comment: ''
240 | hwm: '-1'
241 | maxoutbuf: '0'
242 | minoutbuf: '0'
243 | pass_tags: 'False'
244 | timeout: '100'
245 | type: complex
246 | vlen: '1'
247 | states:
248 | bus_sink: false
249 | bus_source: false
250 | bus_structure: null
251 | coordinate: [32, 140]
252 | rotation: 0
253 | state: enabled
254 |
255 | connections:
256 | - [analog_agc2_xx_0, '0', blocks_complex_to_real_0, '0']
257 | - [band_pass_filter_0, '0', analog_agc2_xx_0, '0']
258 | - [blocks_complex_to_real_0, '0', audio_sink_0, '0']
259 | - [blocks_complex_to_real_0, '0', blocks_file_sink_0, '0']
260 | - [low_pass_filter_0, '0', band_pass_filter_0, '0']
261 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
262 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
263 |
264 | metadata:
265 | file_format: 1
266 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.9_zmq_nbfm_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
4 | catch_exceptions: 'True'
5 | category: '[GRC Hier Blocks]'
6 | cmake_opt: ''
7 | comment: ''
8 | copyright: ''
9 | description: ''
10 | gen_cmake: 'On'
11 | gen_linking: dynamic
12 | generate_options: qt_gui
13 | hier_block_src_path: '.:'
14 | id: zmq_nbfm_rx
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: ZMQ NBFM Receiver
26 | states:
27 | bus_sink: false
28 | bus_source: false
29 | bus_structure: null
30 | coordinate: [0, 4]
31 | rotation: 0
32 | state: enabled
33 |
34 | blocks:
35 | - name: ip
36 | id: variable
37 | parameters:
38 | comment: ''
39 | value: '"sdr.rfhackers.com"'
40 | states:
41 | bus_sink: false
42 | bus_source: false
43 | bus_structure: null
44 | coordinate: [272, 4]
45 | rotation: 0
46 | state: enabled
47 | - name: port
48 | id: variable
49 | parameters:
50 | comment: ''
51 | value: '"6556"'
52 | states:
53 | bus_sink: false
54 | bus_source: false
55 | bus_structure: null
56 | coordinate: [376, 4]
57 | rotation: 0
58 | state: enabled
59 | - name: samp_rate
60 | id: variable
61 | parameters:
62 | comment: ''
63 | value: '96000'
64 | states:
65 | bus_sink: false
66 | bus_source: false
67 | bus_structure: null
68 | coordinate: [168, 4]
69 | rotation: 0
70 | state: enabled
71 | - name: analog_nbfm_rx_0
72 | id: analog_nbfm_rx
73 | parameters:
74 | affinity: ''
75 | alias: ''
76 | audio_rate: '48000'
77 | comment: ''
78 | max_dev: 5e3
79 | maxoutbuf: '0'
80 | minoutbuf: '0'
81 | quad_rate: samp_rate
82 | tau: 75e-6
83 | states:
84 | bus_sink: false
85 | bus_source: false
86 | bus_structure: null
87 | coordinate: [464, 100]
88 | rotation: 0
89 | state: enabled
90 | - name: audio_sink_0
91 | id: audio_sink
92 | parameters:
93 | affinity: ''
94 | alias: ''
95 | comment: ''
96 | device_name: ''
97 | num_inputs: '1'
98 | ok_to_block: 'True'
99 | samp_rate: '48000'
100 | states:
101 | bus_sink: false
102 | bus_source: false
103 | bus_structure: null
104 | coordinate: [672, 124]
105 | rotation: 0
106 | state: enabled
107 | - name: low_pass_filter_0
108 | id: low_pass_filter
109 | parameters:
110 | affinity: ''
111 | alias: ''
112 | beta: '6.76'
113 | comment: ''
114 | cutoff_freq: 5e3
115 | decim: '1'
116 | gain: '1'
117 | interp: '1'
118 | maxoutbuf: '0'
119 | minoutbuf: '0'
120 | samp_rate: samp_rate
121 | type: fir_filter_ccf
122 | width: 1e3
123 | win: window.WIN_HAMMING
124 | states:
125 | bus_sink: false
126 | bus_source: false
127 | bus_structure: null
128 | coordinate: [256, 76]
129 | rotation: 0
130 | state: enabled
131 | - name: qtgui_sink_x_0
132 | id: qtgui_sink_x
133 | parameters:
134 | affinity: ''
135 | alias: ''
136 | bw: samp_rate
137 | comment: ''
138 | fc: '0'
139 | fftsize: '1024'
140 | gui_hint: ''
141 | maxoutbuf: '0'
142 | minoutbuf: '0'
143 | name: '"RX from " + ip + ":" + port'
144 | plotconst: 'True'
145 | plotfreq: 'True'
146 | plottime: 'True'
147 | plotwaterfall: 'True'
148 | rate: '10'
149 | showports: 'True'
150 | showrf: 'False'
151 | type: complex
152 | wintype: window.WIN_BLACKMAN_hARRIS
153 | states:
154 | bus_sink: false
155 | bus_source: false
156 | bus_structure: null
157 | coordinate: [256, 260]
158 | rotation: 0
159 | state: enabled
160 | - name: zeromq_sub_source_0
161 | id: zeromq_sub_source
162 | parameters:
163 | address: '"tcp://"+ip+":"+port'
164 | affinity: ''
165 | alias: ''
166 | comment: ''
167 | hwm: '-1'
168 | key: ''
169 | maxoutbuf: '0'
170 | minoutbuf: '0'
171 | pass_tags: 'False'
172 | timeout: '100'
173 | type: complex
174 | vlen: '1'
175 | states:
176 | bus_sink: false
177 | bus_source: false
178 | bus_structure: null
179 | coordinate: [16, 108]
180 | rotation: 0
181 | state: enabled
182 |
183 | connections:
184 | - [analog_nbfm_rx_0, '0', audio_sink_0, '0']
185 | - [low_pass_filter_0, '0', analog_nbfm_rx_0, '0']
186 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
187 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
188 |
189 | metadata:
190 | file_format: 1
191 |
--------------------------------------------------------------------------------
/GNU Radio ZMQ Receivers/gr_3.9_zmq_usb_rx.grc:
--------------------------------------------------------------------------------
1 | options:
2 | parameters:
3 | author: Corey
4 | catch_exceptions: 'True'
5 | category: '[GRC Hier Blocks]'
6 | cmake_opt: ''
7 | comment: ''
8 | copyright: ''
9 | description: Upper Sideband Receiver
10 | gen_cmake: 'On'
11 | gen_linking: dynamic
12 | generate_options: qt_gui
13 | hier_block_src_path: '.:'
14 | id: zmq_usb_rx
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: ZMQ USB Receiver
26 | states:
27 | bus_sink: false
28 | bus_source: false
29 | bus_structure: null
30 | coordinate: [0, 4]
31 | rotation: 0
32 | state: enabled
33 |
34 | blocks:
35 | - name: ip
36 | id: variable
37 | parameters:
38 | comment: ''
39 | value: '"sdr.rfhackers.com"'
40 | states:
41 | bus_sink: false
42 | bus_source: false
43 | bus_structure: null
44 | coordinate: [280, 4]
45 | rotation: 0
46 | state: enabled
47 | - name: port
48 | id: variable
49 | parameters:
50 | comment: ''
51 | value: '"6556"'
52 | states:
53 | bus_sink: false
54 | bus_source: false
55 | bus_structure: null
56 | coordinate: [384, 4]
57 | rotation: 0
58 | state: enabled
59 | - name: samp_rate
60 | id: variable
61 | parameters:
62 | comment: ''
63 | value: '96000'
64 | states:
65 | bus_sink: false
66 | bus_source: false
67 | bus_structure: null
68 | coordinate: [184, 4]
69 | rotation: 0
70 | state: enabled
71 | - name: analog_agc2_xx_0
72 | id: analog_agc2_xx
73 | parameters:
74 | affinity: ''
75 | alias: ''
76 | attack_rate: 1e-1
77 | comment: ''
78 | decay_rate: 50e-6
79 | gain: '1.0'
80 | max_gain: '1'
81 | maxoutbuf: '0'
82 | minoutbuf: '0'
83 | reference: '0.8'
84 | type: complex
85 | states:
86 | bus_sink: false
87 | bus_source: false
88 | bus_structure: null
89 | coordinate: [720, 124]
90 | rotation: 0
91 | state: enabled
92 | - name: audio_sink_0
93 | id: audio_sink
94 | parameters:
95 | affinity: ''
96 | alias: ''
97 | comment: ''
98 | device_name: ''
99 | num_inputs: '1'
100 | ok_to_block: 'True'
101 | samp_rate: '48000'
102 | states:
103 | bus_sink: false
104 | bus_source: false
105 | bus_structure: null
106 | coordinate: [1120, 156]
107 | rotation: 0
108 | state: enabled
109 | - name: band_pass_filter_0
110 | id: band_pass_filter
111 | parameters:
112 | affinity: ''
113 | alias: ''
114 | beta: '6.76'
115 | comment: ''
116 | decim: '2'
117 | gain: '1'
118 | high_cutoff_freq: '3000'
119 | interp: '1'
120 | low_cutoff_freq: '300'
121 | maxoutbuf: '0'
122 | minoutbuf: '0'
123 | samp_rate: samp_rate
124 | type: fir_filter_ccf
125 | width: '500'
126 | win: window.WIN_HAMMING
127 | states:
128 | bus_sink: false
129 | bus_source: false
130 | bus_structure: null
131 | coordinate: [520, 100]
132 | rotation: 0
133 | state: enabled
134 | - name: blocks_complex_to_real_0
135 | id: blocks_complex_to_real
136 | parameters:
137 | affinity: ''
138 | alias: ''
139 | comment: ''
140 | maxoutbuf: '0'
141 | minoutbuf: '0'
142 | vlen: '1'
143 | states:
144 | bus_sink: false
145 | bus_source: false
146 | bus_structure: null
147 | coordinate: [928, 160]
148 | rotation: 0
149 | state: enabled
150 | - name: low_pass_filter_0
151 | id: low_pass_filter
152 | parameters:
153 | affinity: ''
154 | alias: ''
155 | beta: '6.76'
156 | comment: ''
157 | cutoff_freq: 5e3
158 | decim: '1'
159 | gain: '1'
160 | interp: '1'
161 | maxoutbuf: '0'
162 | minoutbuf: '0'
163 | samp_rate: samp_rate
164 | type: fir_filter_ccf
165 | width: 1e3
166 | win: window.WIN_HAMMING
167 | states:
168 | bus_sink: false
169 | bus_source: false
170 | bus_structure: null
171 | coordinate: [304, 108]
172 | rotation: 0
173 | state: enabled
174 | - name: qtgui_sink_x_0
175 | id: qtgui_sink_x
176 | parameters:
177 | affinity: ''
178 | alias: ''
179 | bw: samp_rate
180 | comment: ''
181 | fc: '0'
182 | fftsize: '1024'
183 | gui_hint: ''
184 | maxoutbuf: '0'
185 | minoutbuf: '0'
186 | name: '"RX from " + ip + ":" + port'
187 | plotconst: 'True'
188 | plotfreq: 'True'
189 | plottime: 'True'
190 | plotwaterfall: 'True'
191 | rate: '10'
192 | showports: 'True'
193 | showrf: 'False'
194 | type: complex
195 | wintype: window.WIN_BLACKMAN_hARRIS
196 | states:
197 | bus_sink: false
198 | bus_source: false
199 | bus_structure: null
200 | coordinate: [272, 292]
201 | rotation: 0
202 | state: enabled
203 | - name: zeromq_sub_source_0
204 | id: zeromq_sub_source
205 | parameters:
206 | address: '"tcp://"+ip+":"+port'
207 | affinity: ''
208 | alias: ''
209 | comment: ''
210 | hwm: '-1'
211 | key: ''
212 | maxoutbuf: '0'
213 | minoutbuf: '0'
214 | pass_tags: 'False'
215 | timeout: '100'
216 | type: complex
217 | vlen: '1'
218 | states:
219 | bus_sink: false
220 | bus_source: false
221 | bus_structure: null
222 | coordinate: [32, 140]
223 | rotation: 0
224 | state: enabled
225 |
226 | connections:
227 | - [analog_agc2_xx_0, '0', blocks_complex_to_real_0, '0']
228 | - [band_pass_filter_0, '0', analog_agc2_xx_0, '0']
229 | - [blocks_complex_to_real_0, '0', audio_sink_0, '0']
230 | - [low_pass_filter_0, '0', band_pass_filter_0, '0']
231 | - [zeromq_sub_source_0, '0', low_pass_filter_0, '0']
232 | - [zeromq_sub_source_0, '0', qtgui_sink_x_0, '0']
233 |
234 | metadata:
235 | file_format: 1
236 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 3-Clause License
2 |
3 | Copyright (c) 2020, rfhs
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | 3. Neither the name of the copyright holder nor the names of its
17 | contributors may be used to endorse or promote products derived from
18 | this software without specific prior written permission.
19 |
20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # rfctf-sdr-tools
2 |
3 | ## GNU Radio ZMQ Receivers
4 |
5 | These ZMQ receivers can be opened in GNUradio and used to modify a signal into a visible and audible format. The virtual machines used for the virtual wifi *can* be used, but performance will be poor. If possible, it is recommended to use Gnuradio on your local computer for better performance.
6 |
7 | https://zeromq.org/
8 |
9 | The server is sdr.rfhackers.com ports 6550-6570. By modifying the 'port' variable, you can access each of the different challenges.
10 |
11 | **Note:** If you're on a low bandwidth connection, it's recommended to save the IQ stream to a file first, then decode the information from the file. There is a file sink in 3.8 and a wav file sink in 3.10. They are disabled by default, right click and enable to save to a file and use in your favorite program.
12 |
--------------------------------------------------------------------------------