blob: 395440bc55992ac1b394cd31eabcefdfda4b5a04 [file] [log] [blame]
Piotr Krysik09826732016-07-15 13:14:24 +02001<?xml version='1.0' encoding='utf-8'?>
2<?grc format='1' created='3.7.9'?>
3<flow_graph>
4 <timestamp>Thu Nov 6 10:22:20 2014</timestamp>
5 <block>
6 <key>options</key>
7 <param>
8 <key>author</key>
9 <value>Piotr Krysik</value>
10 </param>
11 <param>
12 <key>window_size</key>
13 <value>2280, 1024</value>
14 </param>
15 <param>
16 <key>category</key>
17 <value>GSM</value>
18 </param>
19 <param>
20 <key>comment</key>
21 <value></value>
22 </param>
23 <param>
24 <key>description</key>
25 <value>Clock offset corrector with blocks that use tags to switch offsets</value>
26 </param>
27 <param>
28 <key>_enabled</key>
29 <value>True</value>
30 </param>
31 <param>
32 <key>_coordinate</key>
33 <value>(10, 10)</value>
34 </param>
35 <param>
36 <key>_rotation</key>
37 <value>0</value>
38 </param>
39 <param>
40 <key>generate_options</key>
41 <value>hb</value>
42 </param>
43 <param>
44 <key>hier_block_src_path</key>
45 <value>.:</value>
46 </param>
47 <param>
48 <key>id</key>
49 <value>clock_offset_corrector_tagged</value>
50 </param>
51 <param>
52 <key>max_nouts</key>
53 <value>0</value>
54 </param>
55 <param>
56 <key>qt_qss_theme</key>
57 <value></value>
58 </param>
59 <param>
60 <key>realtime_scheduling</key>
61 <value></value>
62 </param>
63 <param>
64 <key>run_command</key>
65 <value>{python} -u {filename}</value>
66 </param>
67 <param>
68 <key>run_options</key>
69 <value>prompt</value>
70 </param>
71 <param>
72 <key>run</key>
73 <value>True</value>
74 </param>
75 <param>
76 <key>thread_safe_setters</key>
77 <value></value>
78 </param>
79 <param>
80 <key>title</key>
Piotr Krysik83afe732016-07-17 22:48:35 +020081 <value>Clock Offset Corrector Tagged</value>
Piotr Krysik09826732016-07-15 13:14:24 +020082 </param>
83 </block>
84 <block>
85 <key>variable</key>
86 <param>
87 <key>comment</key>
88 <value></value>
89 </param>
90 <param>
91 <key>_enabled</key>
92 <value>True</value>
93 </param>
94 <param>
95 <key>_coordinate</key>
Piotr Krysik83afe732016-07-17 22:48:35 +020096 <value>(688, 21)</value>
97 </param>
98 <param>
99 <key>_rotation</key>
100 <value>0</value>
101 </param>
102 <param>
103 <key>id</key>
104 <value>gsm_symb_rate</value>
105 </param>
106 <param>
107 <key>value</key>
108 <value>1625000.0/6.0</value>
109 </param>
110 </block>
111 <block>
112 <key>variable</key>
113 <param>
114 <key>comment</key>
115 <value></value>
116 </param>
117 <param>
118 <key>_enabled</key>
119 <value>True</value>
120 </param>
121 <param>
122 <key>_coordinate</key>
123 <value>(808, 21)</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200124 </param>
125 <param>
126 <key>_rotation</key>
127 <value>0</value>
128 </param>
129 <param>
130 <key>id</key>
131 <value>samp_rate_out</value>
132 </param>
133 <param>
134 <key>value</key>
Piotr Krysik83afe732016-07-17 22:48:35 +0200135 <value>osr*gsm_symb_rate</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200136 </param>
137 </block>
138 <block>
139 <key>pad_source</key>
140 <param>
141 <key>comment</key>
142 <value></value>
143 </param>
144 <param>
145 <key>_enabled</key>
146 <value>True</value>
147 </param>
148 <param>
149 <key>_coordinate</key>
150 <value>(32, 244)</value>
151 </param>
152 <param>
153 <key>_rotation</key>
154 <value>0</value>
155 </param>
156 <param>
157 <key>id</key>
158 <value>ctrl</value>
159 </param>
160 <param>
161 <key>label</key>
162 <value>ctrl</value>
163 </param>
164 <param>
165 <key>num_streams</key>
166 <value>1</value>
167 </param>
168 <param>
169 <key>optional</key>
170 <value>True</value>
171 </param>
172 <param>
173 <key>type</key>
174 <value>message</value>
175 </param>
176 <param>
177 <key>vlen</key>
178 <value>1</value>
179 </param>
180 </block>
181 <block>
182 <key>parameter</key>
183 <param>
184 <key>alias</key>
185 <value></value>
186 </param>
187 <param>
188 <key>comment</key>
189 <value></value>
190 </param>
191 <param>
192 <key>_enabled</key>
193 <value>True</value>
194 </param>
195 <param>
196 <key>_coordinate</key>
197 <value>(274, 19)</value>
198 </param>
199 <param>
200 <key>_rotation</key>
201 <value>0</value>
202 </param>
203 <param>
204 <key>id</key>
205 <value>fc</value>
206 </param>
207 <param>
208 <key>label</key>
209 <value>fc</value>
210 </param>
211 <param>
212 <key>short_id</key>
213 <value></value>
214 </param>
215 <param>
216 <key>type</key>
217 <value>eng_float</value>
218 </param>
219 <param>
220 <key>value</key>
221 <value>936.6e6</value>
222 </param>
223 </block>
224 <block>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200225 <key>gsm_controlled_fractional_resampler_cc</key>
Piotr Krysik09826732016-07-15 13:14:24 +0200226 <param>
227 <key>alias</key>
228 <value></value>
229 </param>
230 <param>
231 <key>comment</key>
232 <value></value>
233 </param>
234 <param>
235 <key>affinity</key>
236 <value></value>
237 </param>
238 <param>
239 <key>_enabled</key>
240 <value>1</value>
241 </param>
242 <param>
243 <key>_coordinate</key>
Piotr Krysik83afe732016-07-17 22:48:35 +0200244 <value>(344, 197)</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200245 </param>
246 <param>
247 <key>_rotation</key>
248 <value>0</value>
249 </param>
250 <param>
251 <key>id</key>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200252 <value>gsm_controlled_fractional_resampler_cc_0</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200253 </param>
254 <param>
255 <key>maxoutbuf</key>
256 <value>0</value>
257 </param>
258 <param>
259 <key>minoutbuf</key>
260 <value>0</value>
261 </param>
262 <param>
263 <key>phase_shift</key>
264 <value>0</value>
265 </param>
266 <param>
267 <key>resamp_ratio</key>
Piotr Krysikf9508012016-07-20 21:35:10 +0200268 <value>(1-ppm/1.0e6)*(samp_rate_in/samp_rate_out)</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200269 </param>
270 </block>
271 <block>
Piotr Krysik09826732016-07-15 13:14:24 +0200272 <key>gsm_controlled_rotator_cc</key>
273 <param>
274 <key>alias</key>
275 <value></value>
276 </param>
277 <param>
278 <key>comment</key>
279 <value></value>
280 </param>
281 <param>
282 <key>affinity</key>
283 <value></value>
284 </param>
285 <param>
286 <key>_enabled</key>
287 <value>True</value>
288 </param>
289 <param>
290 <key>_coordinate</key>
Piotr Krysik83afe732016-07-17 22:48:35 +0200291 <value>(600, 204)</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200292 </param>
293 <param>
294 <key>_rotation</key>
295 <value>0</value>
296 </param>
297 <param>
298 <key>id</key>
299 <value>gsm_controlled_rotator_cc_0</value>
300 </param>
301 <param>
302 <key>maxoutbuf</key>
303 <value>0</value>
304 </param>
305 <param>
306 <key>minoutbuf</key>
307 <value>0</value>
308 </param>
309 <param>
310 <key>phase_inc</key>
Piotr Krysik83afe732016-07-17 22:48:35 +0200311 <value>ppm/1.0e6*2*math.pi*fc/samp_rate_out</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200312 </param>
313 </block>
314 <block>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200315 <key>gsm_msg_to_tag</key>
316 <param>
317 <key>alias</key>
318 <value></value>
319 </param>
320 <param>
321 <key>comment</key>
322 <value></value>
323 </param>
324 <param>
325 <key>affinity</key>
326 <value></value>
327 </param>
328 <param>
329 <key>_enabled</key>
330 <value>True</value>
331 </param>
332 <param>
333 <key>_coordinate</key>
334 <value>(192, 193)</value>
335 </param>
336 <param>
337 <key>_rotation</key>
338 <value>0</value>
339 </param>
340 <param>
341 <key>id</key>
342 <value>gsm_msg_to_tag_0</value>
343 </param>
344 <param>
345 <key>maxoutbuf</key>
346 <value>0</value>
347 </param>
348 <param>
349 <key>minoutbuf</key>
350 <value>0</value>
351 </param>
352 </block>
353 <block>
Piotr Krysik09826732016-07-15 13:14:24 +0200354 <key>import</key>
355 <param>
356 <key>alias</key>
357 <value></value>
358 </param>
359 <param>
360 <key>comment</key>
361 <value></value>
362 </param>
363 <param>
364 <key>_enabled</key>
365 <value>True</value>
366 </param>
367 <param>
368 <key>_coordinate</key>
369 <value>(11, 125)</value>
370 </param>
371 <param>
372 <key>_rotation</key>
373 <value>0</value>
374 </param>
375 <param>
376 <key>id</key>
377 <value>math_imp</value>
378 </param>
379 <param>
380 <key>import</key>
381 <value>import math</value>
382 </param>
383 </block>
384 <block>
Piotr Krysik83afe732016-07-17 22:48:35 +0200385 <key>parameter</key>
386 <param>
387 <key>alias</key>
388 <value></value>
389 </param>
390 <param>
391 <key>comment</key>
392 <value></value>
393 </param>
394 <param>
395 <key>_enabled</key>
396 <value>True</value>
397 </param>
398 <param>
399 <key>_coordinate</key>
400 <value>(584, 23)</value>
401 </param>
402 <param>
403 <key>_rotation</key>
404 <value>0</value>
405 </param>
406 <param>
407 <key>id</key>
408 <value>osr</value>
409 </param>
410 <param>
411 <key>label</key>
412 <value>OSR</value>
413 </param>
414 <param>
415 <key>short_id</key>
416 <value></value>
417 </param>
418 <param>
419 <key>type</key>
420 <value>intx</value>
421 </param>
422 <param>
423 <key>value</key>
424 <value>4</value>
425 </param>
426 </block>
427 <block>
Piotr Krysik09826732016-07-15 13:14:24 +0200428 <key>pad_sink</key>
429 <param>
430 <key>comment</key>
431 <value></value>
432 </param>
433 <param>
434 <key>_enabled</key>
435 <value>True</value>
436 </param>
437 <param>
438 <key>_coordinate</key>
Piotr Krysik83afe732016-07-17 22:48:35 +0200439 <value>(776, 204)</value>
Piotr Krysik09826732016-07-15 13:14:24 +0200440 </param>
441 <param>
442 <key>_rotation</key>
443 <value>0</value>
444 </param>
445 <param>
446 <key>id</key>
447 <value>pad_sink_1</value>
448 </param>
449 <param>
450 <key>type</key>
451 <value>complex</value>
452 </param>
453 <param>
454 <key>label</key>
455 <value>out</value>
456 </param>
457 <param>
458 <key>num_streams</key>
459 <value>1</value>
460 </param>
461 <param>
462 <key>optional</key>
463 <value>False</value>
464 </param>
465 <param>
466 <key>vlen</key>
467 <value>1</value>
468 </param>
469 </block>
470 <block>
471 <key>pad_source</key>
472 <param>
473 <key>comment</key>
474 <value></value>
475 </param>
476 <param>
477 <key>_enabled</key>
478 <value>True</value>
479 </param>
480 <param>
481 <key>_coordinate</key>
482 <value>(32, 188)</value>
483 </param>
484 <param>
485 <key>_rotation</key>
486 <value>0</value>
487 </param>
488 <param>
489 <key>id</key>
490 <value>pad_source_0</value>
491 </param>
492 <param>
493 <key>label</key>
494 <value>in</value>
495 </param>
496 <param>
497 <key>num_streams</key>
498 <value>1</value>
499 </param>
500 <param>
501 <key>optional</key>
502 <value>False</value>
503 </param>
504 <param>
505 <key>type</key>
506 <value>complex</value>
507 </param>
508 <param>
509 <key>vlen</key>
510 <value>1</value>
511 </param>
512 </block>
513 <block>
514 <key>parameter</key>
515 <param>
516 <key>alias</key>
517 <value></value>
518 </param>
519 <param>
520 <key>comment</key>
521 <value></value>
522 </param>
523 <param>
524 <key>_enabled</key>
525 <value>True</value>
526 </param>
527 <param>
528 <key>_coordinate</key>
529 <value>(496, 19)</value>
530 </param>
531 <param>
532 <key>_rotation</key>
533 <value>0</value>
534 </param>
535 <param>
536 <key>id</key>
537 <value>ppm</value>
538 </param>
539 <param>
540 <key>label</key>
541 <value>ppm</value>
542 </param>
543 <param>
544 <key>short_id</key>
545 <value></value>
546 </param>
547 <param>
548 <key>type</key>
549 <value>eng_float</value>
550 </param>
551 <param>
552 <key>value</key>
553 <value>0</value>
554 </param>
555 </block>
556 <block>
557 <key>parameter</key>
558 <param>
559 <key>alias</key>
560 <value></value>
561 </param>
562 <param>
563 <key>comment</key>
564 <value></value>
565 </param>
566 <param>
567 <key>_enabled</key>
568 <value>True</value>
569 </param>
570 <param>
571 <key>_coordinate</key>
572 <value>(368, 19)</value>
573 </param>
574 <param>
575 <key>_rotation</key>
576 <value>0</value>
577 </param>
578 <param>
579 <key>id</key>
580 <value>samp_rate_in</value>
581 </param>
582 <param>
583 <key>label</key>
584 <value>samp_rate_in</value>
585 </param>
586 <param>
587 <key>short_id</key>
588 <value></value>
589 </param>
590 <param>
591 <key>type</key>
592 <value>eng_float</value>
593 </param>
594 <param>
595 <key>value</key>
596 <value>1625000.0/6.0*4.0</value>
597 </param>
598 </block>
Piotr Krysik09826732016-07-15 13:14:24 +0200599 <connection>
600 <source_block_id>ctrl</source_block_id>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200601 <sink_block_id>gsm_msg_to_tag_0</sink_block_id>
Piotr Krysik09826732016-07-15 13:14:24 +0200602 <source_key>out</source_key>
603 <sink_key>msg</sink_key>
604 </connection>
605 <connection>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200606 <source_block_id>gsm_controlled_fractional_resampler_cc_0</source_block_id>
Piotr Krysik09826732016-07-15 13:14:24 +0200607 <sink_block_id>gsm_controlled_rotator_cc_0</sink_block_id>
608 <source_key>0</source_key>
609 <sink_key>0</sink_key>
610 </connection>
611 <connection>
Piotr Krysik09826732016-07-15 13:14:24 +0200612 <source_block_id>gsm_controlled_rotator_cc_0</source_block_id>
613 <sink_block_id>pad_sink_1</sink_block_id>
614 <source_key>0</source_key>
615 <sink_key>0</sink_key>
616 </connection>
617 <connection>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200618 <source_block_id>gsm_msg_to_tag_0</source_block_id>
619 <sink_block_id>gsm_controlled_fractional_resampler_cc_0</sink_block_id>
620 <source_key>0</source_key>
621 <sink_key>0</sink_key>
622 </connection>
623 <connection>
Piotr Krysik09826732016-07-15 13:14:24 +0200624 <source_block_id>pad_source_0</source_block_id>
Piotr Krysikd1ca3892016-07-17 11:33:50 +0200625 <sink_block_id>gsm_msg_to_tag_0</sink_block_id>
Piotr Krysik09826732016-07-15 13:14:24 +0200626 <source_key>0</source_key>
627 <sink_key>0</sink_key>
628 </connection>
629</flow_graph>