├── DAB
├── README.md
└── fl2k_transmit_dab.grc
├── DVB-T
├── README.md
├── dvbt_tx_demo.grc
└── fl2k_transmit_dvb-t.grc
├── GPS
├── README.md
└── fl2k_transmit_gps.grc
├── GSM
├── 0001-gr-gsm-print-PPM-error.patch
├── README.md
├── fl2k_transmit_gsm.grc
└── gsm_osmo-trx_4sps.cf32.xz
├── LTE
├── fl2k_transmit_lte_band20.grc
├── fl2k_transmit_lte_band5.grc
├── srsLTE_B20_earfcn6425_5M_5.76e6.cs16.xz
└── srsLTE_B5_earfcn2420_1.4M_1.92e6.cs16.xz
├── README.md
└── UMTS
├── README.md
├── fl2k_transmit_umts.grc
└── openbts-umts_6.25e6.cs16.xz
/DAB/README.md:
--------------------------------------------------------------------------------
1 | Follow http://wiki.opendigitalradio.org/Main_Page and http://wiki.opendigitalradio.org/ODR-DabMod in order to generate an ETI file and install odr-dabmod.
2 |
3 | Then generate the DAB baseband samples with the following command:
4 |
5 | ```
6 | odr-dabmod yourensemble.eti -l -g1 -r 2048000 -f odr-dabmod.cf32
7 | ```
8 |
9 | After running the flowgraph to upsample the baseband samples for the fl2k, run the following command to transmit the samples:
10 | ```
11 | fl2k_file -s 138e6 /tmp/fl2k_dab.bin
12 | ```
13 |
14 | This results in a DAB Ensemble broadcasted at channel 6B.
15 |
--------------------------------------------------------------------------------
/DAB/fl2k_transmit_dab.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wed Feb 21 22:09:20 2018
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 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (8, 548)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | arb_resamp
113 |
114 |
115 | value
116 | float(out_rate)/(float(in_rate)*float(interpolate))
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (8, 100)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | in_rate
140 |
141 |
142 | value
143 | 2.048e6
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (8, 484)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | interpolate
167 |
168 |
169 | value
170 | int((out_rate/in_rate)/2)
171 |
172 |
173 |
174 | variable
175 |
176 | comment
177 |
178 |
179 |
180 | _enabled
181 | True
182 |
183 |
184 | _coordinate
185 | (8, 292)
186 |
187 |
188 | _rotation
189 | 0
190 |
191 |
192 | id
193 | n_harmonic
194 |
195 |
196 | value
197 | 1
198 |
199 |
200 |
201 | variable
202 |
203 | comment
204 |
205 |
206 |
207 | _enabled
208 | True
209 |
210 |
211 | _coordinate
212 | (8, 164)
213 |
214 |
215 | _rotation
216 | 0
217 |
218 |
219 | id
220 | out_rate
221 |
222 |
223 | value
224 | 138e6*(1+(ppm/1e6))
225 |
226 |
227 |
228 | variable
229 |
230 | comment
231 |
232 |
233 |
234 | _enabled
235 | True
236 |
237 |
238 | _coordinate
239 | (120, 164)
240 |
241 |
242 | _rotation
243 | 0
244 |
245 |
246 | id
247 | ppm
248 |
249 |
250 | value
251 | 15
252 |
253 |
254 |
255 | variable
256 |
257 | comment
258 |
259 |
260 |
261 | _enabled
262 | True
263 |
264 |
265 | _coordinate
266 | (8, 612)
267 |
268 |
269 | _rotation
270 | 0
271 |
272 |
273 | id
274 | shift
275 |
276 |
277 | value
278 | (n_harmonic*out_rate)-tx_freq
279 |
280 |
281 |
282 | variable
283 |
284 | comment
285 |
286 |
287 |
288 | _enabled
289 | True
290 |
291 |
292 | _coordinate
293 | (8, 228)
294 |
295 |
296 | _rotation
297 | 0
298 |
299 |
300 | id
301 | tx_freq
302 |
303 |
304 | value
305 | 183.648e6
306 |
307 |
308 |
309 | analog_sig_source_x
310 |
311 | amp
312 | 1
313 |
314 |
315 | alias
316 |
317 |
318 |
319 | comment
320 |
321 |
322 |
323 | affinity
324 |
325 |
326 |
327 | _enabled
328 | 1
329 |
330 |
331 | freq
332 | shift
333 |
334 |
335 | _coordinate
336 | (360, 292)
337 |
338 |
339 | _rotation
340 | 0
341 |
342 |
343 | id
344 | analog_sig_source_x_0
345 |
346 |
347 | maxoutbuf
348 | 0
349 |
350 |
351 | minoutbuf
352 | 0
353 |
354 |
355 | offset
356 | 0
357 |
358 |
359 | type
360 | float
361 |
362 |
363 | samp_rate
364 | out_rate
365 |
366 |
367 | waveform
368 | analog.GR_COS_WAVE
369 |
370 |
371 |
372 | analog_sig_source_x
373 |
374 | amp
375 | 1
376 |
377 |
378 | alias
379 |
380 |
381 |
382 | comment
383 |
384 |
385 |
386 | affinity
387 |
388 |
389 |
390 | _enabled
391 | 1
392 |
393 |
394 | freq
395 | shift
396 |
397 |
398 | _coordinate
399 | (360, 500)
400 |
401 |
402 | _rotation
403 | 0
404 |
405 |
406 | id
407 | analog_sig_source_x_1
408 |
409 |
410 | maxoutbuf
411 | 0
412 |
413 |
414 | minoutbuf
415 | 0
416 |
417 |
418 | offset
419 | 0
420 |
421 |
422 | type
423 | float
424 |
425 |
426 | samp_rate
427 | out_rate
428 |
429 |
430 | waveform
431 | analog.GR_SIN_WAVE
432 |
433 |
434 |
435 | blocks_add_xx
436 |
437 | alias
438 |
439 |
440 |
441 | comment
442 |
443 |
444 |
445 | affinity
446 |
447 |
448 |
449 | _enabled
450 | 1
451 |
452 |
453 | _coordinate
454 | (712, 416)
455 |
456 |
457 | _rotation
458 | 0
459 |
460 |
461 | id
462 | blocks_add_xx_0
463 |
464 |
465 | type
466 | float
467 |
468 |
469 | maxoutbuf
470 | 0
471 |
472 |
473 | minoutbuf
474 | 0
475 |
476 |
477 | num_inputs
478 | 2
479 |
480 |
481 | vlen
482 | 1
483 |
484 |
485 |
486 | blocks_complex_to_float
487 |
488 | alias
489 |
490 |
491 |
492 | comment
493 |
494 |
495 |
496 | affinity
497 |
498 |
499 |
500 | _enabled
501 | 1
502 |
503 |
504 | _coordinate
505 | (360, 416)
506 |
507 |
508 | _rotation
509 | 0
510 |
511 |
512 | id
513 | blocks_complex_to_float_0
514 |
515 |
516 | maxoutbuf
517 | 0
518 |
519 |
520 | minoutbuf
521 | 0
522 |
523 |
524 | vlen
525 | 1
526 |
527 |
528 |
529 | blocks_file_sink
530 |
531 | append
532 | False
533 |
534 |
535 | alias
536 |
537 |
538 |
539 | comment
540 |
541 |
542 |
543 | affinity
544 |
545 |
546 |
547 | _enabled
548 | 1
549 |
550 |
551 | file
552 | /tmp/fl2k_dab.bin
553 |
554 |
555 | _coordinate
556 | (1016, 580)
557 |
558 |
559 | _rotation
560 | 0
561 |
562 |
563 | id
564 | blocks_file_sink_1
565 |
566 |
567 | type
568 | byte
569 |
570 |
571 | unbuffered
572 | False
573 |
574 |
575 | vlen
576 | 1
577 |
578 |
579 |
580 | blocks_file_source
581 |
582 | begin_tag
583 | pmt.PMT_NIL
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | True
600 |
601 |
602 | file
603 | odr-dabmod.cf32
604 |
605 |
606 | _coordinate
607 | (200, 84)
608 |
609 |
610 | _rotation
611 | 0
612 |
613 |
614 | id
615 | blocks_file_source_0
616 |
617 |
618 | maxoutbuf
619 | 0
620 |
621 |
622 | minoutbuf
623 | 0
624 |
625 |
626 | type
627 | complex
628 |
629 |
630 | repeat
631 | False
632 |
633 |
634 | vlen
635 | 1
636 |
637 |
638 |
639 | blocks_float_to_char
640 |
641 | alias
642 |
643 |
644 |
645 | comment
646 |
647 |
648 |
649 | affinity
650 |
651 |
652 |
653 | _enabled
654 | 1
655 |
656 |
657 | _coordinate
658 | (856, 596)
659 |
660 |
661 | _rotation
662 | 0
663 |
664 |
665 | id
666 | blocks_float_to_char_0
667 |
668 |
669 | maxoutbuf
670 | 0
671 |
672 |
673 | minoutbuf
674 | 0
675 |
676 |
677 | scale
678 | 1
679 |
680 |
681 | vlen
682 | 1
683 |
684 |
685 |
686 | blocks_multiply_const_vxx
687 |
688 | alias
689 |
690 |
691 |
692 | comment
693 |
694 |
695 |
696 | const
697 | 1/35000.0
698 |
699 |
700 | affinity
701 |
702 |
703 |
704 | _enabled
705 | True
706 |
707 |
708 | _coordinate
709 | (632, 100)
710 |
711 |
712 | _rotation
713 | 0
714 |
715 |
716 | id
717 | blocks_multiply_const_vxx_0
718 |
719 |
720 | type
721 | complex
722 |
723 |
724 | maxoutbuf
725 | 0
726 |
727 |
728 | minoutbuf
729 | 0
730 |
731 |
732 | vlen
733 | 1
734 |
735 |
736 |
737 | blocks_multiply_const_vxx
738 |
739 | alias
740 |
741 |
742 |
743 | comment
744 |
745 |
746 |
747 | const
748 | 127
749 |
750 |
751 | affinity
752 |
753 |
754 |
755 | _enabled
756 | True
757 |
758 |
759 | _coordinate
760 | (688, 540)
761 |
762 |
763 | _rotation
764 | 0
765 |
766 |
767 | id
768 | blocks_multiply_const_vxx_1
769 |
770 |
771 | type
772 | float
773 |
774 |
775 | maxoutbuf
776 | 0
777 |
778 |
779 | minoutbuf
780 | 0
781 |
782 |
783 | vlen
784 | 1
785 |
786 |
787 |
788 | blocks_multiply_xx
789 |
790 | alias
791 |
792 |
793 |
794 | comment
795 |
796 |
797 |
798 | affinity
799 |
800 |
801 |
802 | _enabled
803 | 1
804 |
805 |
806 | _coordinate
807 | (576, 384)
808 |
809 |
810 | _rotation
811 | 0
812 |
813 |
814 | id
815 | blocks_multiply_xx_0
816 |
817 |
818 | type
819 | float
820 |
821 |
822 | maxoutbuf
823 | 0
824 |
825 |
826 | minoutbuf
827 | 0
828 |
829 |
830 | num_inputs
831 | 2
832 |
833 |
834 | vlen
835 | 1
836 |
837 |
838 |
839 | blocks_multiply_xx
840 |
841 | alias
842 |
843 |
844 |
845 | comment
846 |
847 |
848 |
849 | affinity
850 |
851 |
852 |
853 | _enabled
854 | 1
855 |
856 |
857 | _coordinate
858 | (576, 448)
859 |
860 |
861 | _rotation
862 | 0
863 |
864 |
865 | id
866 | blocks_multiply_xx_1
867 |
868 |
869 | type
870 | float
871 |
872 |
873 | maxoutbuf
874 | 0
875 |
876 |
877 | minoutbuf
878 | 0
879 |
880 |
881 | num_inputs
882 | 2
883 |
884 |
885 | vlen
886 | 1
887 |
888 |
889 |
890 | blocks_threshold_ff
891 |
892 | alias
893 |
894 |
895 |
896 | comment
897 |
898 |
899 |
900 | affinity
901 |
902 |
903 |
904 | _enabled
905 | 0
906 |
907 |
908 | _coordinate
909 | (856, 460)
910 |
911 |
912 | _rotation
913 | 0
914 |
915 |
916 | high
917 | 127.1
918 |
919 |
920 | id
921 | blocks_threshold_ff_0
922 |
923 |
924 | init
925 | 0
926 |
927 |
928 | low
929 | 127
930 |
931 |
932 | maxoutbuf
933 | 0
934 |
935 |
936 | minoutbuf
937 | 0
938 |
939 |
940 |
941 | blocks_throttle
942 |
943 | alias
944 |
945 |
946 |
947 | comment
948 |
949 |
950 |
951 | affinity
952 |
953 |
954 |
955 | _enabled
956 | True
957 |
958 |
959 | _coordinate
960 | (424, 100)
961 |
962 |
963 | _rotation
964 | 0
965 |
966 |
967 | id
968 | blocks_throttle_0
969 |
970 |
971 | ignoretag
972 | True
973 |
974 |
975 | maxoutbuf
976 | 0
977 |
978 |
979 | minoutbuf
980 | 0
981 |
982 |
983 | samples_per_second
984 | in_rate
985 |
986 |
987 | type
988 | complex
989 |
990 |
991 | vlen
992 | 1
993 |
994 |
995 |
996 | pfb_arb_resampler_xxx
997 |
998 | alias
999 |
1000 |
1001 |
1002 | comment
1003 |
1004 |
1005 |
1006 | affinity
1007 |
1008 |
1009 |
1010 | _enabled
1011 | 1
1012 |
1013 |
1014 | _coordinate
1015 | (800, 76)
1016 |
1017 |
1018 | _rotation
1019 | 0
1020 |
1021 |
1022 | id
1023 | pfb_arb_resampler_xxx_0
1024 |
1025 |
1026 | maxoutbuf
1027 | 0
1028 |
1029 |
1030 | minoutbuf
1031 | 0
1032 |
1033 |
1034 | nfilts
1035 | 32
1036 |
1037 |
1038 | rrate
1039 | arb_resamp
1040 |
1041 |
1042 | samp_delay
1043 | 0
1044 |
1045 |
1046 | atten
1047 | 100
1048 |
1049 |
1050 | taps
1051 |
1052 |
1053 |
1054 | type
1055 | ccf
1056 |
1057 |
1058 |
1059 | pfb_interpolator_ccf
1060 |
1061 | atten
1062 | 90
1063 |
1064 |
1065 | alias
1066 |
1067 |
1068 |
1069 | comment
1070 |
1071 |
1072 |
1073 | affinity
1074 |
1075 |
1076 |
1077 | _enabled
1078 | 1
1079 |
1080 |
1081 | _coordinate
1082 | (152, 412)
1083 |
1084 |
1085 | _rotation
1086 | 0
1087 |
1088 |
1089 | id
1090 | pfb_interpolator_ccf_0
1091 |
1092 |
1093 | interp
1094 | interpolate
1095 |
1096 |
1097 | maxoutbuf
1098 | 0
1099 |
1100 |
1101 | minoutbuf
1102 | 0
1103 |
1104 |
1105 | samp_delay
1106 | 0
1107 |
1108 |
1109 | taps
1110 |
1111 |
1112 |
1113 |
1114 | wxgui_fftsink2
1115 |
1116 | avg_alpha
1117 | 0
1118 |
1119 |
1120 | average
1121 | False
1122 |
1123 |
1124 | baseband_freq
1125 | 0
1126 |
1127 |
1128 | alias
1129 |
1130 |
1131 |
1132 | comment
1133 |
1134 |
1135 |
1136 | affinity
1137 |
1138 |
1139 |
1140 | _enabled
1141 | 0
1142 |
1143 |
1144 | fft_size
1145 | 1024
1146 |
1147 |
1148 | freqvar
1149 | None
1150 |
1151 |
1152 | _coordinate
1153 | (1064, 204)
1154 |
1155 |
1156 | _rotation
1157 | 0
1158 |
1159 |
1160 | grid_pos
1161 |
1162 |
1163 |
1164 | id
1165 | wxgui_fftsink2_0
1166 |
1167 |
1168 | notebook
1169 |
1170 |
1171 |
1172 | peak_hold
1173 | False
1174 |
1175 |
1176 | ref_level
1177 | 0
1178 |
1179 |
1180 | ref_scale
1181 | 2.0
1182 |
1183 |
1184 | fft_rate
1185 | 15
1186 |
1187 |
1188 | samp_rate
1189 | out_rate
1190 |
1191 |
1192 | title
1193 | FFT Plot
1194 |
1195 |
1196 | type
1197 | float
1198 |
1199 |
1200 | win_size
1201 |
1202 |
1203 |
1204 | win
1205 | None
1206 |
1207 |
1208 | y_divs
1209 | 10
1210 |
1211 |
1212 | y_per_div
1213 | 10
1214 |
1215 |
1216 |
1217 | wxgui_scopesink2
1218 |
1219 | ac_couple
1220 | False
1221 |
1222 |
1223 | alias
1224 |
1225 |
1226 |
1227 | comment
1228 |
1229 |
1230 |
1231 | affinity
1232 |
1233 |
1234 |
1235 | _enabled
1236 | 0
1237 |
1238 |
1239 | _coordinate
1240 | (1064, 396)
1241 |
1242 |
1243 | _rotation
1244 | 0
1245 |
1246 |
1247 | grid_pos
1248 |
1249 |
1250 |
1251 | id
1252 | wxgui_scopesink2_1
1253 |
1254 |
1255 | notebook
1256 |
1257 |
1258 |
1259 | num_inputs
1260 | 2
1261 |
1262 |
1263 | samp_rate
1264 | out_rate
1265 |
1266 |
1267 | t_scale
1268 | 0.5
1269 |
1270 |
1271 | title
1272 | Saturation Detection
1273 |
1274 |
1275 | trig_mode
1276 | wxgui.TRIG_MODE_NORM
1277 |
1278 |
1279 | type
1280 | float
1281 |
1282 |
1283 | v_offset
1284 | 0
1285 |
1286 |
1287 | v_scale
1288 | 0.5
1289 |
1290 |
1291 | win_size
1292 |
1293 |
1294 |
1295 | xy_mode
1296 | True
1297 |
1298 |
1299 | y_axis_label
1300 | Counts
1301 |
1302 |
1303 |
1304 | analog_sig_source_x_0
1305 | blocks_multiply_xx_0
1306 | 0
1307 | 0
1308 |
1309 |
1310 | analog_sig_source_x_1
1311 | blocks_multiply_xx_1
1312 | 0
1313 | 1
1314 |
1315 |
1316 | blocks_add_xx_0
1317 | blocks_multiply_const_vxx_1
1318 | 0
1319 | 0
1320 |
1321 |
1322 | blocks_add_xx_0
1323 | wxgui_fftsink2_0
1324 | 0
1325 | 0
1326 |
1327 |
1328 | blocks_add_xx_0
1329 | wxgui_scopesink2_1
1330 | 0
1331 | 0
1332 |
1333 |
1334 | blocks_complex_to_float_0
1335 | blocks_multiply_xx_1
1336 | 1
1337 | 0
1338 |
1339 |
1340 | blocks_complex_to_float_0
1341 | blocks_multiply_xx_0
1342 | 0
1343 | 1
1344 |
1345 |
1346 | blocks_file_source_0
1347 | blocks_throttle_0
1348 | 0
1349 | 0
1350 |
1351 |
1352 | blocks_float_to_char_0
1353 | blocks_file_sink_1
1354 | 0
1355 | 0
1356 |
1357 |
1358 | blocks_multiply_const_vxx_0
1359 | pfb_arb_resampler_xxx_0
1360 | 0
1361 | 0
1362 |
1363 |
1364 | blocks_multiply_const_vxx_1
1365 | blocks_float_to_char_0
1366 | 0
1367 | 0
1368 |
1369 |
1370 | blocks_multiply_const_vxx_1
1371 | blocks_threshold_ff_0
1372 | 0
1373 | 0
1374 |
1375 |
1376 | blocks_multiply_xx_0
1377 | blocks_add_xx_0
1378 | 0
1379 | 0
1380 |
1381 |
1382 | blocks_multiply_xx_1
1383 | blocks_add_xx_0
1384 | 0
1385 | 1
1386 |
1387 |
1388 | blocks_threshold_ff_0
1389 | wxgui_scopesink2_1
1390 | 0
1391 | 1
1392 |
1393 |
1394 | blocks_throttle_0
1395 | blocks_multiply_const_vxx_0
1396 | 0
1397 | 0
1398 |
1399 |
1400 | pfb_arb_resampler_xxx_0
1401 | pfb_interpolator_ccf_0
1402 | 0
1403 | 0
1404 |
1405 |
1406 | pfb_interpolator_ccf_0
1407 | blocks_complex_to_float_0
1408 | 0
1409 | 0
1410 |
1411 |
1412 |
--------------------------------------------------------------------------------
/DVB-T/README.md:
--------------------------------------------------------------------------------
1 | This flowgraph will create samples for DVB-T which can be transmitted with fl2k_file
2 | and received with rtl-sdr dongles and VLC.
3 |
4 | First, run the dvbt_tx_demo.grc flowgraph to generate DVB-T baseband samples.
5 | As a demo transport stream file (which contains the actual video), you can use
6 | https://github.com/BogdanDIA/gr-dvbt/raw/master/apps/test.ts
7 |
8 | Then upsample the baseband samples for fl2k_file with fl2k_transmit_dvb-t.grc.
9 |
10 | The signal then can be transmitted with:
11 | ```
12 | fl2k_file -s 138e6 /tmp/fl2k_dvb-t.bin
13 | ```
14 |
15 | This results in a DVB-T signal at 490 MHz.
16 |
--------------------------------------------------------------------------------
/DVB-T/dvbt_tx_demo.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Thu Jan 16 23:00:58 2014
5 |
6 | options
7 |
8 | author
9 |
10 |
11 |
12 | window_size
13 | 1280, 1024
14 |
15 |
16 | category
17 | Custom
18 |
19 |
20 | comment
21 |
22 |
23 |
24 | description
25 |
26 |
27 |
28 | _enabled
29 | True
30 |
31 |
32 | _coordinate
33 | (10, 10)
34 |
35 |
36 | _rotation
37 | 0
38 |
39 |
40 | generate_options
41 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (182, 5)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | samp_rate
113 |
114 |
115 | value
116 | 32000
117 |
118 |
119 |
120 | blocks_file_sink
121 |
122 | append
123 | False
124 |
125 |
126 | alias
127 |
128 |
129 |
130 | comment
131 |
132 |
133 |
134 | affinity
135 |
136 |
137 |
138 | _enabled
139 | True
140 |
141 |
142 | file
143 | dvbt_bb.bin
144 |
145 |
146 | _coordinate
147 | (1055, 704)
148 |
149 |
150 | _rotation
151 | 180
152 |
153 |
154 | id
155 | blocks_file_sink_0
156 |
157 |
158 | type
159 | complex
160 |
161 |
162 | unbuffered
163 | False
164 |
165 |
166 | vlen
167 | 1
168 |
169 |
170 |
171 | blocks_file_source
172 |
173 | begin_tag
174 | pmt.PMT_NIL
175 |
176 |
177 | alias
178 |
179 |
180 |
181 | comment
182 |
183 |
184 |
185 | affinity
186 |
187 |
188 |
189 | _enabled
190 | True
191 |
192 |
193 | file
194 | gr-dvbt/apps/test.ts
195 |
196 |
197 | _coordinate
198 | (33, 107)
199 |
200 |
201 | _rotation
202 | 0
203 |
204 |
205 | id
206 | blocks_file_source_0
207 |
208 |
209 | maxoutbuf
210 | 0
211 |
212 |
213 | minoutbuf
214 | 0
215 |
216 |
217 | type
218 | byte
219 |
220 |
221 | repeat
222 | False
223 |
224 |
225 | vlen
226 | 1
227 |
228 |
229 |
230 | blocks_multiply_const_vxx
231 |
232 | alias
233 |
234 |
235 |
236 | comment
237 |
238 |
239 |
240 | const
241 | 0.0022097087
242 |
243 |
244 | affinity
245 |
246 |
247 |
248 | _enabled
249 | True
250 |
251 |
252 | _coordinate
253 | (661, 435)
254 |
255 |
256 | _rotation
257 | 0
258 |
259 |
260 | id
261 | blocks_multiply_const_vxx_0
262 |
263 |
264 | type
265 | complex
266 |
267 |
268 | maxoutbuf
269 | 0
270 |
271 |
272 | minoutbuf
273 | 0
274 |
275 |
276 | vlen
277 | 1
278 |
279 |
280 |
281 | blocks_vector_to_stream
282 |
283 | alias
284 |
285 |
286 |
287 | comment
288 |
289 |
290 |
291 | affinity
292 |
293 |
294 |
295 | _enabled
296 | True
297 |
298 |
299 | _coordinate
300 | (91, 675)
301 |
302 |
303 | _rotation
304 | 0
305 |
306 |
307 | id
308 | blocks_vector_to_stream_0
309 |
310 |
311 | type
312 | complex
313 |
314 |
315 | maxoutbuf
316 | 0
317 |
318 |
319 | minoutbuf
320 | 0
321 |
322 |
323 | num_items
324 | 2048
325 |
326 |
327 | vlen
328 | 1
329 |
330 |
331 |
332 | digital_ofdm_cyclic_prefixer
333 |
334 | alias
335 |
336 |
337 |
338 | cp_len
339 | 64
340 |
341 |
342 | comment
343 |
344 |
345 |
346 | affinity
347 |
348 |
349 |
350 | _enabled
351 | True
352 |
353 |
354 | input_size
355 | 2048
356 |
357 |
358 | _coordinate
359 | (386, 419)
360 |
361 |
362 | _rotation
363 | 0
364 |
365 |
366 | id
367 | digital_ofdm_cyclic_prefixer_0
368 |
369 |
370 | tagname
371 |
372 |
373 |
374 | maxoutbuf
375 | 0
376 |
377 |
378 | minoutbuf
379 | 0
380 |
381 |
382 | rolloff
383 | 0
384 |
385 |
386 |
387 | dtv_dvbt_bit_inner_interleaver
388 |
389 | alias
390 |
391 |
392 |
393 | comment
394 |
395 |
396 |
397 | constellation
398 | qpsk
399 |
400 |
401 | affinity
402 |
403 |
404 |
405 | _enabled
406 | True
407 |
408 |
409 | _coordinate
410 | (975, 245)
411 |
412 |
413 | _rotation
414 | 180
415 |
416 |
417 | hierarchy
418 | nh
419 |
420 |
421 | id
422 | dtv_dvbt_bit_inner_interleaver_0
423 |
424 |
425 | maxoutbuf
426 | 0
427 |
428 |
429 | minoutbuf
430 | 0
431 |
432 |
433 | transmission_mode
434 | T2k
435 |
436 |
437 |
438 | dtv_dvbt_convolutional_interleaver
439 |
440 | alias
441 |
442 |
443 |
444 | blocks
445 | 136
446 |
447 |
448 | comment
449 |
450 |
451 |
452 | affinity
453 |
454 |
455 |
456 | M
457 | 17
458 |
459 |
460 | _enabled
461 | True
462 |
463 |
464 | _coordinate
465 | (674, 99)
466 |
467 |
468 | _rotation
469 | 0
470 |
471 |
472 | id
473 | dtv_dvbt_convolutional_interleaver_0
474 |
475 |
476 | maxoutbuf
477 | 0
478 |
479 |
480 | minoutbuf
481 | 0
482 |
483 |
484 | I
485 | 12
486 |
487 |
488 |
489 | dtv_dvbt_energy_dispersal
490 |
491 | alias
492 |
493 |
494 |
495 | nsize
496 | 1
497 |
498 |
499 | comment
500 |
501 |
502 |
503 | affinity
504 |
505 |
506 |
507 | _enabled
508 | True
509 |
510 |
511 | _coordinate
512 | (242, 119)
513 |
514 |
515 | _rotation
516 | 0
517 |
518 |
519 | id
520 | dtv_dvbt_energy_dispersal_0
521 |
522 |
523 | maxoutbuf
524 | 0
525 |
526 |
527 | minoutbuf
528 | 0
529 |
530 |
531 |
532 | dtv_dvbt_inner_coder
533 |
534 | alias
535 |
536 |
537 |
538 | code_rate
539 | C1_2
540 |
541 |
542 | comment
543 |
544 |
545 |
546 | constellation
547 | qpsk
548 |
549 |
550 | affinity
551 |
552 |
553 |
554 | _enabled
555 | True
556 |
557 |
558 | _coordinate
559 | (964, 91)
560 |
561 |
562 | _rotation
563 | 0
564 |
565 |
566 | hierarchy
567 | nh
568 |
569 |
570 | id
571 | dtv_dvbt_inner_coder_0
572 |
573 |
574 | ninput
575 | 1
576 |
577 |
578 | maxoutbuf
579 | 0
580 |
581 |
582 | minoutbuf
583 | 0
584 |
585 |
586 | noutput
587 | 1512
588 |
589 |
590 |
591 | dtv_dvbt_map
592 |
593 | alias
594 |
595 |
596 |
597 | comment
598 |
599 |
600 |
601 | constellation
602 | qpsk
603 |
604 |
605 | affinity
606 |
607 |
608 |
609 | _enabled
610 | True
611 |
612 |
613 | _coordinate
614 | (375, 229)
615 |
616 |
617 | _rotation
618 | 180
619 |
620 |
621 | gain
622 | 1
623 |
624 |
625 | hierarchy
626 | nh
627 |
628 |
629 | id
630 | dtv_dvbt_map_0
631 |
632 |
633 | maxoutbuf
634 | 0
635 |
636 |
637 | minoutbuf
638 | 0
639 |
640 |
641 | transmission_mode
642 | T2k
643 |
644 |
645 |
646 | dtv_dvbt_reed_solomon_enc
647 |
648 | alias
649 |
650 |
651 |
652 | blocks
653 | 8
654 |
655 |
656 | comment
657 |
658 |
659 |
660 | affinity
661 |
662 |
663 |
664 | _enabled
665 | True
666 |
667 |
668 | gfpoly
669 | 0x11d
670 |
671 |
672 | _coordinate
673 | (469, 67)
674 |
675 |
676 | _rotation
677 | 0
678 |
679 |
680 | id
681 | dtv_dvbt_reed_solomon_enc_0
682 |
683 |
684 | k
685 | 239
686 |
687 |
688 | maxoutbuf
689 | 0
690 |
691 |
692 | minoutbuf
693 | 0
694 |
695 |
696 | n
697 | 255
698 |
699 |
700 | s
701 | 51
702 |
703 |
704 | m
705 | 8
706 |
707 |
708 | p
709 | 2
710 |
711 |
712 | t
713 | 8
714 |
715 |
716 |
717 | dtv_dvbt_reference_signals
718 |
719 | alias
720 |
721 |
722 |
723 | cell_id
724 | 0
725 |
726 |
727 | code_rate_hp
728 | C1_2
729 |
730 |
731 | code_rate_lp
732 | C1_2
733 |
734 |
735 | comment
736 |
737 |
738 |
739 | constellation
740 | qpsk
741 |
742 |
743 | affinity
744 |
745 |
746 |
747 | _enabled
748 | True
749 |
750 |
751 | _coordinate
752 | (53, 189)
753 |
754 |
755 | _rotation
756 | 180
757 |
758 |
759 | guard_interval
760 | GI_1_32
761 |
762 |
763 | hierarchy
764 | nh
765 |
766 |
767 | id
768 | dtv_dvbt_reference_signals_0
769 |
770 |
771 | type
772 | complex
773 |
774 |
775 | include_cell_id
776 | call_id_yes
777 |
778 |
779 | maxoutbuf
780 | 0
781 |
782 |
783 | minoutbuf
784 | 0
785 |
786 |
787 | transmission_mode
788 | T2k
789 |
790 |
791 |
792 | dtv_dvbt_symbol_inner_interleaver
793 |
794 | alias
795 |
796 |
797 |
798 | comment
799 |
800 |
801 |
802 | affinity
803 |
804 |
805 |
806 | direction
807 | Interleave
808 |
809 |
810 | _enabled
811 | True
812 |
813 |
814 | _coordinate
815 | (673, 245)
816 |
817 |
818 | _rotation
819 | 180
820 |
821 |
822 | id
823 | dtv_dvbt_symbol_inner_interleaver_0
824 |
825 |
826 | maxoutbuf
827 | 0
828 |
829 |
830 | minoutbuf
831 | 0
832 |
833 |
834 | transmission_mode
835 | T2k
836 |
837 |
838 |
839 | fft_vxx
840 |
841 | alias
842 |
843 |
844 |
845 | comment
846 |
847 |
848 |
849 | affinity
850 |
851 |
852 |
853 | _enabled
854 | True
855 |
856 |
857 | fft_size
858 | 2048
859 |
860 |
861 | forward
862 | False
863 |
864 |
865 | _coordinate
866 | (73, 403)
867 |
868 |
869 | _rotation
870 | 0
871 |
872 |
873 | id
874 | fft_vxx_0
875 |
876 |
877 | type
878 | complex
879 |
880 |
881 | maxoutbuf
882 | 0
883 |
884 |
885 | minoutbuf
886 | 0
887 |
888 |
889 | nthreads
890 | 10
891 |
892 |
893 | shift
894 | True
895 |
896 |
897 | window
898 | window.rectangular(2048)
899 |
900 |
901 |
902 | rational_resampler_xxx
903 |
904 | alias
905 |
906 |
907 |
908 | comment
909 |
910 |
911 |
912 | affinity
913 |
914 |
915 |
916 | decim
917 | 64
918 |
919 |
920 | _enabled
921 | True
922 |
923 |
924 | fbw
925 | 0
926 |
927 |
928 | _coordinate
929 | (928, 411)
930 |
931 |
932 | _rotation
933 | 0
934 |
935 |
936 | id
937 | rational_resampler_xxx_0
938 |
939 |
940 | interp
941 | 70
942 |
943 |
944 | maxoutbuf
945 | 0
946 |
947 |
948 | minoutbuf
949 | 0
950 |
951 |
952 | taps
953 |
954 |
955 |
956 | type
957 | ccc
958 |
959 |
960 |
961 | wxgui_fftsink2
962 |
963 | avg_alpha
964 | 0
965 |
966 |
967 | average
968 | False
969 |
970 |
971 | baseband_freq
972 | 1200e6
973 |
974 |
975 | alias
976 |
977 |
978 |
979 | comment
980 |
981 |
982 |
983 | affinity
984 |
985 |
986 |
987 | _enabled
988 | True
989 |
990 |
991 | fft_size
992 | 1024
993 |
994 |
995 | freqvar
996 | None
997 |
998 |
999 | _coordinate
1000 | (805, 586)
1001 |
1002 |
1003 | _rotation
1004 | 180
1005 |
1006 |
1007 | grid_pos
1008 |
1009 |
1010 |
1011 | id
1012 | wxgui_fftsink2_0
1013 |
1014 |
1015 | notebook
1016 |
1017 |
1018 |
1019 | peak_hold
1020 | False
1021 |
1022 |
1023 | ref_level
1024 | 0
1025 |
1026 |
1027 | ref_scale
1028 | 2.0
1029 |
1030 |
1031 | fft_rate
1032 | 15
1033 |
1034 |
1035 | samp_rate
1036 | 10e6
1037 |
1038 |
1039 | title
1040 | FFT Plot
1041 |
1042 |
1043 | type
1044 | complex
1045 |
1046 |
1047 | win_size
1048 |
1049 |
1050 |
1051 | win
1052 | None
1053 |
1054 |
1055 | y_divs
1056 | 10
1057 |
1058 |
1059 | y_per_div
1060 | 10
1061 |
1062 |
1063 |
1064 | wxgui_scopesink2
1065 |
1066 | ac_couple
1067 | False
1068 |
1069 |
1070 | alias
1071 |
1072 |
1073 |
1074 | comment
1075 |
1076 |
1077 |
1078 | affinity
1079 |
1080 |
1081 |
1082 | _enabled
1083 | True
1084 |
1085 |
1086 | _coordinate
1087 | (295, 643)
1088 |
1089 |
1090 | _rotation
1091 | 0
1092 |
1093 |
1094 | grid_pos
1095 |
1096 |
1097 |
1098 | id
1099 | wxgui_scopesink2_0
1100 |
1101 |
1102 | notebook
1103 |
1104 |
1105 |
1106 | num_inputs
1107 | 1
1108 |
1109 |
1110 | samp_rate
1111 | samp_rate
1112 |
1113 |
1114 | t_scale
1115 | 0
1116 |
1117 |
1118 | title
1119 | Scope Plot
1120 |
1121 |
1122 | trig_mode
1123 | wxgui.TRIG_MODE_AUTO
1124 |
1125 |
1126 | type
1127 | complex
1128 |
1129 |
1130 | v_offset
1131 | 0
1132 |
1133 |
1134 | v_scale
1135 | 0
1136 |
1137 |
1138 | win_size
1139 |
1140 |
1141 |
1142 | xy_mode
1143 | True
1144 |
1145 |
1146 | y_axis_label
1147 | Counts
1148 |
1149 |
1150 |
1151 | blocks_file_source_0
1152 | dtv_dvbt_energy_dispersal_0
1153 | 0
1154 | 0
1155 |
1156 |
1157 | blocks_multiply_const_vxx_0
1158 | rational_resampler_xxx_0
1159 | 0
1160 | 0
1161 |
1162 |
1163 | blocks_vector_to_stream_0
1164 | wxgui_scopesink2_0
1165 | 0
1166 | 0
1167 |
1168 |
1169 | digital_ofdm_cyclic_prefixer_0
1170 | blocks_multiply_const_vxx_0
1171 | 0
1172 | 0
1173 |
1174 |
1175 | dtv_dvbt_bit_inner_interleaver_0
1176 | dtv_dvbt_symbol_inner_interleaver_0
1177 | 0
1178 | 0
1179 |
1180 |
1181 | dtv_dvbt_convolutional_interleaver_0
1182 | dtv_dvbt_inner_coder_0
1183 | 0
1184 | 0
1185 |
1186 |
1187 | dtv_dvbt_energy_dispersal_0
1188 | dtv_dvbt_reed_solomon_enc_0
1189 | 0
1190 | 0
1191 |
1192 |
1193 | dtv_dvbt_inner_coder_0
1194 | dtv_dvbt_bit_inner_interleaver_0
1195 | 0
1196 | 0
1197 |
1198 |
1199 | dtv_dvbt_map_0
1200 | dtv_dvbt_reference_signals_0
1201 | 0
1202 | 0
1203 |
1204 |
1205 | dtv_dvbt_reed_solomon_enc_0
1206 | dtv_dvbt_convolutional_interleaver_0
1207 | 0
1208 | 0
1209 |
1210 |
1211 | dtv_dvbt_reference_signals_0
1212 | blocks_vector_to_stream_0
1213 | 0
1214 | 0
1215 |
1216 |
1217 | dtv_dvbt_reference_signals_0
1218 | fft_vxx_0
1219 | 0
1220 | 0
1221 |
1222 |
1223 | dtv_dvbt_symbol_inner_interleaver_0
1224 | dtv_dvbt_map_0
1225 | 0
1226 | 0
1227 |
1228 |
1229 | fft_vxx_0
1230 | digital_ofdm_cyclic_prefixer_0
1231 | 0
1232 | 0
1233 |
1234 |
1235 | rational_resampler_xxx_0
1236 | blocks_file_sink_0
1237 | 0
1238 | 0
1239 |
1240 |
1241 | rational_resampler_xxx_0
1242 | wxgui_fftsink2_0
1243 | 0
1244 | 0
1245 |
1246 |
1247 |
--------------------------------------------------------------------------------
/DVB-T/fl2k_transmit_dvb-t.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wed Feb 21 22:09:20 2018
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 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (8, 548)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | arb_resamp
113 |
114 |
115 | value
116 | float(out_rate)/(float(in_rate)*float(interpolate))
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (8, 100)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | in_rate
140 |
141 |
142 | value
143 | 10e6
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (8, 484)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | interpolate
167 |
168 |
169 | value
170 | int((out_rate/in_rate)/2)
171 |
172 |
173 |
174 | variable
175 |
176 | comment
177 |
178 |
179 |
180 | _enabled
181 | True
182 |
183 |
184 | _coordinate
185 | (8, 292)
186 |
187 |
188 | _rotation
189 | 0
190 |
191 |
192 | id
193 | n_harmonic
194 |
195 |
196 | value
197 | 3
198 |
199 |
200 |
201 | variable
202 |
203 | comment
204 |
205 |
206 |
207 | _enabled
208 | True
209 |
210 |
211 | _coordinate
212 | (8, 164)
213 |
214 |
215 | _rotation
216 | 0
217 |
218 |
219 | id
220 | out_rate
221 |
222 |
223 | value
224 | 138e6*(1+(ppm/1e6))
225 |
226 |
227 |
228 | variable
229 |
230 | comment
231 |
232 |
233 |
234 | _enabled
235 | True
236 |
237 |
238 | _coordinate
239 | (120, 164)
240 |
241 |
242 | _rotation
243 | 0
244 |
245 |
246 | id
247 | ppm
248 |
249 |
250 | value
251 | 15
252 |
253 |
254 |
255 | variable
256 |
257 | comment
258 |
259 |
260 |
261 | _enabled
262 | True
263 |
264 |
265 | _coordinate
266 | (8, 612)
267 |
268 |
269 | _rotation
270 | 0
271 |
272 |
273 | id
274 | shift
275 |
276 |
277 | value
278 | (n_harmonic*out_rate)-tx_freq
279 |
280 |
281 |
282 | variable
283 |
284 | comment
285 |
286 |
287 |
288 | _enabled
289 | True
290 |
291 |
292 | _coordinate
293 | (8, 228)
294 |
295 |
296 | _rotation
297 | 0
298 |
299 |
300 | id
301 | tx_freq
302 |
303 |
304 | value
305 | 490e6
306 |
307 |
308 |
309 | analog_sig_source_x
310 |
311 | amp
312 | 1
313 |
314 |
315 | alias
316 |
317 |
318 |
319 | comment
320 |
321 |
322 |
323 | affinity
324 |
325 |
326 |
327 | _enabled
328 | 1
329 |
330 |
331 | freq
332 | shift
333 |
334 |
335 | _coordinate
336 | (360, 292)
337 |
338 |
339 | _rotation
340 | 0
341 |
342 |
343 | id
344 | analog_sig_source_x_0
345 |
346 |
347 | maxoutbuf
348 | 0
349 |
350 |
351 | minoutbuf
352 | 0
353 |
354 |
355 | offset
356 | 0
357 |
358 |
359 | type
360 | float
361 |
362 |
363 | samp_rate
364 | out_rate
365 |
366 |
367 | waveform
368 | analog.GR_COS_WAVE
369 |
370 |
371 |
372 | analog_sig_source_x
373 |
374 | amp
375 | 1
376 |
377 |
378 | alias
379 |
380 |
381 |
382 | comment
383 |
384 |
385 |
386 | affinity
387 |
388 |
389 |
390 | _enabled
391 | 1
392 |
393 |
394 | freq
395 | shift
396 |
397 |
398 | _coordinate
399 | (360, 500)
400 |
401 |
402 | _rotation
403 | 0
404 |
405 |
406 | id
407 | analog_sig_source_x_1
408 |
409 |
410 | maxoutbuf
411 | 0
412 |
413 |
414 | minoutbuf
415 | 0
416 |
417 |
418 | offset
419 | 0
420 |
421 |
422 | type
423 | float
424 |
425 |
426 | samp_rate
427 | out_rate
428 |
429 |
430 | waveform
431 | analog.GR_SIN_WAVE
432 |
433 |
434 |
435 | blocks_add_xx
436 |
437 | alias
438 |
439 |
440 |
441 | comment
442 |
443 |
444 |
445 | affinity
446 |
447 |
448 |
449 | _enabled
450 | 1
451 |
452 |
453 | _coordinate
454 | (712, 416)
455 |
456 |
457 | _rotation
458 | 0
459 |
460 |
461 | id
462 | blocks_add_xx_0
463 |
464 |
465 | type
466 | float
467 |
468 |
469 | maxoutbuf
470 | 0
471 |
472 |
473 | minoutbuf
474 | 0
475 |
476 |
477 | num_inputs
478 | 2
479 |
480 |
481 | vlen
482 | 1
483 |
484 |
485 |
486 | blocks_complex_to_float
487 |
488 | alias
489 |
490 |
491 |
492 | comment
493 |
494 |
495 |
496 | affinity
497 |
498 |
499 |
500 | _enabled
501 | 1
502 |
503 |
504 | _coordinate
505 | (360, 416)
506 |
507 |
508 | _rotation
509 | 0
510 |
511 |
512 | id
513 | blocks_complex_to_float_0
514 |
515 |
516 | maxoutbuf
517 | 0
518 |
519 |
520 | minoutbuf
521 | 0
522 |
523 |
524 | vlen
525 | 1
526 |
527 |
528 |
529 | blocks_file_sink
530 |
531 | append
532 | False
533 |
534 |
535 | alias
536 |
537 |
538 |
539 | comment
540 |
541 |
542 |
543 | affinity
544 |
545 |
546 |
547 | _enabled
548 | 1
549 |
550 |
551 | file
552 | /tmp/fl2k_dvb-t.bin
553 |
554 |
555 | _coordinate
556 | (1016, 580)
557 |
558 |
559 | _rotation
560 | 0
561 |
562 |
563 | id
564 | blocks_file_sink_1
565 |
566 |
567 | type
568 | byte
569 |
570 |
571 | unbuffered
572 | False
573 |
574 |
575 | vlen
576 | 1
577 |
578 |
579 |
580 | blocks_file_source
581 |
582 | begin_tag
583 | pmt.PMT_NIL
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | True
600 |
601 |
602 | file
603 | dvbt_bb.bin
604 |
605 |
606 | _coordinate
607 | (200, 84)
608 |
609 |
610 | _rotation
611 | 0
612 |
613 |
614 | id
615 | blocks_file_source_0
616 |
617 |
618 | maxoutbuf
619 | 0
620 |
621 |
622 | minoutbuf
623 | 0
624 |
625 |
626 | type
627 | complex
628 |
629 |
630 | repeat
631 | False
632 |
633 |
634 | vlen
635 | 1
636 |
637 |
638 |
639 | blocks_float_to_char
640 |
641 | alias
642 |
643 |
644 |
645 | comment
646 |
647 |
648 |
649 | affinity
650 |
651 |
652 |
653 | _enabled
654 | 1
655 |
656 |
657 | _coordinate
658 | (856, 596)
659 |
660 |
661 | _rotation
662 | 0
663 |
664 |
665 | id
666 | blocks_float_to_char_0
667 |
668 |
669 | maxoutbuf
670 | 0
671 |
672 |
673 | minoutbuf
674 | 0
675 |
676 |
677 | scale
678 | 1
679 |
680 |
681 | vlen
682 | 1
683 |
684 |
685 |
686 | blocks_multiply_const_vxx
687 |
688 | alias
689 |
690 |
691 |
692 | comment
693 |
694 |
695 |
696 | const
697 | 3.6
698 |
699 |
700 | affinity
701 |
702 |
703 |
704 | _enabled
705 | True
706 |
707 |
708 | _coordinate
709 | (632, 100)
710 |
711 |
712 | _rotation
713 | 0
714 |
715 |
716 | id
717 | blocks_multiply_const_vxx_0
718 |
719 |
720 | type
721 | complex
722 |
723 |
724 | maxoutbuf
725 | 0
726 |
727 |
728 | minoutbuf
729 | 0
730 |
731 |
732 | vlen
733 | 1
734 |
735 |
736 |
737 | blocks_multiply_const_vxx
738 |
739 | alias
740 |
741 |
742 |
743 | comment
744 |
745 |
746 |
747 | const
748 | 127
749 |
750 |
751 | affinity
752 |
753 |
754 |
755 | _enabled
756 | True
757 |
758 |
759 | _coordinate
760 | (688, 540)
761 |
762 |
763 | _rotation
764 | 0
765 |
766 |
767 | id
768 | blocks_multiply_const_vxx_1
769 |
770 |
771 | type
772 | float
773 |
774 |
775 | maxoutbuf
776 | 0
777 |
778 |
779 | minoutbuf
780 | 0
781 |
782 |
783 | vlen
784 | 1
785 |
786 |
787 |
788 | blocks_multiply_xx
789 |
790 | alias
791 |
792 |
793 |
794 | comment
795 |
796 |
797 |
798 | affinity
799 |
800 |
801 |
802 | _enabled
803 | 1
804 |
805 |
806 | _coordinate
807 | (576, 384)
808 |
809 |
810 | _rotation
811 | 0
812 |
813 |
814 | id
815 | blocks_multiply_xx_0
816 |
817 |
818 | type
819 | float
820 |
821 |
822 | maxoutbuf
823 | 0
824 |
825 |
826 | minoutbuf
827 | 0
828 |
829 |
830 | num_inputs
831 | 2
832 |
833 |
834 | vlen
835 | 1
836 |
837 |
838 |
839 | blocks_multiply_xx
840 |
841 | alias
842 |
843 |
844 |
845 | comment
846 |
847 |
848 |
849 | affinity
850 |
851 |
852 |
853 | _enabled
854 | 1
855 |
856 |
857 | _coordinate
858 | (576, 448)
859 |
860 |
861 | _rotation
862 | 0
863 |
864 |
865 | id
866 | blocks_multiply_xx_1
867 |
868 |
869 | type
870 | float
871 |
872 |
873 | maxoutbuf
874 | 0
875 |
876 |
877 | minoutbuf
878 | 0
879 |
880 |
881 | num_inputs
882 | 2
883 |
884 |
885 | vlen
886 | 1
887 |
888 |
889 |
890 | blocks_threshold_ff
891 |
892 | alias
893 |
894 |
895 |
896 | comment
897 |
898 |
899 |
900 | affinity
901 |
902 |
903 |
904 | _enabled
905 | 1
906 |
907 |
908 | _coordinate
909 | (856, 460)
910 |
911 |
912 | _rotation
913 | 0
914 |
915 |
916 | high
917 | 127.1
918 |
919 |
920 | id
921 | blocks_threshold_ff_0
922 |
923 |
924 | init
925 | 0
926 |
927 |
928 | low
929 | 127
930 |
931 |
932 | maxoutbuf
933 | 0
934 |
935 |
936 | minoutbuf
937 | 0
938 |
939 |
940 |
941 | blocks_throttle
942 |
943 | alias
944 |
945 |
946 |
947 | comment
948 |
949 |
950 |
951 | affinity
952 |
953 |
954 |
955 | _enabled
956 | True
957 |
958 |
959 | _coordinate
960 | (424, 100)
961 |
962 |
963 | _rotation
964 | 0
965 |
966 |
967 | id
968 | blocks_throttle_0
969 |
970 |
971 | ignoretag
972 | True
973 |
974 |
975 | maxoutbuf
976 | 0
977 |
978 |
979 | minoutbuf
980 | 0
981 |
982 |
983 | samples_per_second
984 | in_rate
985 |
986 |
987 | type
988 | complex
989 |
990 |
991 | vlen
992 | 1
993 |
994 |
995 |
996 | pfb_arb_resampler_xxx
997 |
998 | alias
999 |
1000 |
1001 |
1002 | comment
1003 |
1004 |
1005 |
1006 | affinity
1007 |
1008 |
1009 |
1010 | _enabled
1011 | 1
1012 |
1013 |
1014 | _coordinate
1015 | (800, 76)
1016 |
1017 |
1018 | _rotation
1019 | 0
1020 |
1021 |
1022 | id
1023 | pfb_arb_resampler_xxx_0
1024 |
1025 |
1026 | maxoutbuf
1027 | 0
1028 |
1029 |
1030 | minoutbuf
1031 | 0
1032 |
1033 |
1034 | nfilts
1035 | 32
1036 |
1037 |
1038 | rrate
1039 | arb_resamp
1040 |
1041 |
1042 | samp_delay
1043 | 0
1044 |
1045 |
1046 | atten
1047 | 100
1048 |
1049 |
1050 | taps
1051 |
1052 |
1053 |
1054 | type
1055 | ccf
1056 |
1057 |
1058 |
1059 | pfb_interpolator_ccf
1060 |
1061 | atten
1062 | 90
1063 |
1064 |
1065 | alias
1066 |
1067 |
1068 |
1069 | comment
1070 |
1071 |
1072 |
1073 | affinity
1074 |
1075 |
1076 |
1077 | _enabled
1078 | 1
1079 |
1080 |
1081 | _coordinate
1082 | (152, 412)
1083 |
1084 |
1085 | _rotation
1086 | 0
1087 |
1088 |
1089 | id
1090 | pfb_interpolator_ccf_0
1091 |
1092 |
1093 | interp
1094 | interpolate
1095 |
1096 |
1097 | maxoutbuf
1098 | 0
1099 |
1100 |
1101 | minoutbuf
1102 | 0
1103 |
1104 |
1105 | samp_delay
1106 | 0
1107 |
1108 |
1109 | taps
1110 |
1111 |
1112 |
1113 |
1114 | wxgui_fftsink2
1115 |
1116 | avg_alpha
1117 | 0
1118 |
1119 |
1120 | average
1121 | False
1122 |
1123 |
1124 | baseband_freq
1125 | 0
1126 |
1127 |
1128 | alias
1129 |
1130 |
1131 |
1132 | comment
1133 |
1134 |
1135 |
1136 | affinity
1137 |
1138 |
1139 |
1140 | _enabled
1141 | 1
1142 |
1143 |
1144 | fft_size
1145 | 1024
1146 |
1147 |
1148 | freqvar
1149 | None
1150 |
1151 |
1152 | _coordinate
1153 | (1064, 204)
1154 |
1155 |
1156 | _rotation
1157 | 0
1158 |
1159 |
1160 | grid_pos
1161 |
1162 |
1163 |
1164 | id
1165 | wxgui_fftsink2_0
1166 |
1167 |
1168 | notebook
1169 |
1170 |
1171 |
1172 | peak_hold
1173 | False
1174 |
1175 |
1176 | ref_level
1177 | 0
1178 |
1179 |
1180 | ref_scale
1181 | 2.0
1182 |
1183 |
1184 | fft_rate
1185 | 15
1186 |
1187 |
1188 | samp_rate
1189 | out_rate
1190 |
1191 |
1192 | title
1193 | FFT Plot
1194 |
1195 |
1196 | type
1197 | float
1198 |
1199 |
1200 | win_size
1201 |
1202 |
1203 |
1204 | win
1205 | None
1206 |
1207 |
1208 | y_divs
1209 | 10
1210 |
1211 |
1212 | y_per_div
1213 | 10
1214 |
1215 |
1216 |
1217 | wxgui_scopesink2
1218 |
1219 | ac_couple
1220 | False
1221 |
1222 |
1223 | alias
1224 |
1225 |
1226 |
1227 | comment
1228 |
1229 |
1230 |
1231 | affinity
1232 |
1233 |
1234 |
1235 | _enabled
1236 | 1
1237 |
1238 |
1239 | _coordinate
1240 | (1064, 396)
1241 |
1242 |
1243 | _rotation
1244 | 0
1245 |
1246 |
1247 | grid_pos
1248 |
1249 |
1250 |
1251 | id
1252 | wxgui_scopesink2_1
1253 |
1254 |
1255 | notebook
1256 |
1257 |
1258 |
1259 | num_inputs
1260 | 2
1261 |
1262 |
1263 | samp_rate
1264 | out_rate
1265 |
1266 |
1267 | t_scale
1268 | 0.5
1269 |
1270 |
1271 | title
1272 | Saturation Detection
1273 |
1274 |
1275 | trig_mode
1276 | wxgui.TRIG_MODE_NORM
1277 |
1278 |
1279 | type
1280 | float
1281 |
1282 |
1283 | v_offset
1284 | 0
1285 |
1286 |
1287 | v_scale
1288 | 0.5
1289 |
1290 |
1291 | win_size
1292 |
1293 |
1294 |
1295 | xy_mode
1296 | True
1297 |
1298 |
1299 | y_axis_label
1300 | Counts
1301 |
1302 |
1303 |
1304 | analog_sig_source_x_0
1305 | blocks_multiply_xx_0
1306 | 0
1307 | 0
1308 |
1309 |
1310 | analog_sig_source_x_1
1311 | blocks_multiply_xx_1
1312 | 0
1313 | 1
1314 |
1315 |
1316 | blocks_add_xx_0
1317 | blocks_multiply_const_vxx_1
1318 | 0
1319 | 0
1320 |
1321 |
1322 | blocks_add_xx_0
1323 | wxgui_fftsink2_0
1324 | 0
1325 | 0
1326 |
1327 |
1328 | blocks_add_xx_0
1329 | wxgui_scopesink2_1
1330 | 0
1331 | 0
1332 |
1333 |
1334 | blocks_complex_to_float_0
1335 | blocks_multiply_xx_1
1336 | 1
1337 | 0
1338 |
1339 |
1340 | blocks_complex_to_float_0
1341 | blocks_multiply_xx_0
1342 | 0
1343 | 1
1344 |
1345 |
1346 | blocks_file_source_0
1347 | blocks_throttle_0
1348 | 0
1349 | 0
1350 |
1351 |
1352 | blocks_float_to_char_0
1353 | blocks_file_sink_1
1354 | 0
1355 | 0
1356 |
1357 |
1358 | blocks_multiply_const_vxx_0
1359 | pfb_arb_resampler_xxx_0
1360 | 0
1361 | 0
1362 |
1363 |
1364 | blocks_multiply_const_vxx_1
1365 | blocks_float_to_char_0
1366 | 0
1367 | 0
1368 |
1369 |
1370 | blocks_multiply_const_vxx_1
1371 | blocks_threshold_ff_0
1372 | 0
1373 | 0
1374 |
1375 |
1376 | blocks_multiply_xx_0
1377 | blocks_add_xx_0
1378 | 0
1379 | 0
1380 |
1381 |
1382 | blocks_multiply_xx_1
1383 | blocks_add_xx_0
1384 | 0
1385 | 1
1386 |
1387 |
1388 | blocks_threshold_ff_0
1389 | wxgui_scopesink2_1
1390 | 0
1391 | 1
1392 |
1393 |
1394 | blocks_throttle_0
1395 | blocks_multiply_const_vxx_0
1396 | 0
1397 | 0
1398 |
1399 |
1400 | pfb_arb_resampler_xxx_0
1401 | pfb_interpolator_ccf_0
1402 | 0
1403 | 0
1404 |
1405 |
1406 | pfb_interpolator_ccf_0
1407 | blocks_complex_to_float_0
1408 | 0
1409 | 0
1410 |
1411 |
1412 |
--------------------------------------------------------------------------------
/GPS/README.md:
--------------------------------------------------------------------------------
1 | This flowgraph is using https://github.com/osqzss/gps-sdr-sim to generate the
2 | samples needed for transmission.
3 |
4 | First run gps-sdr-sim to generate GPS baseband samples:
5 |
6 | ```
7 | gps-sdr-sim -e brdc3540.14n -l 30.286502,120.032669,100
8 | ```
9 |
10 | Then upsample them with the GNU Radio flowgraph. It's important to set the ppm variable with the value of your dongle, see the main README.md for details.
11 |
12 | You need to generate at least 15-20 GB of samples for fl2k_file, as the GPS receiver needs at least a minute before acquiring a fix.
13 |
14 | Put your phone really close to the device and play back the samples with:
15 |
16 | ```
17 | fl2k_file -s 138e6 /tmp/fl2k_gps.bin
18 | ```
19 |
20 | If you use a monitoring app, you should see satellites appearing and get a fix eventually.
21 |
22 | Recommended apps:
23 | https://f-droid.org/en/packages/com.vonglasow.michael.satstat/
24 |
25 | https://play.google.com/store/apps/details?id=com.eclipsim.gpsstatus2
26 |
--------------------------------------------------------------------------------
/GPS/fl2k_transmit_gps.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wed Feb 21 22:09:20 2018
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 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (8, 548)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | arb_resamp
113 |
114 |
115 | value
116 | float(out_rate)/(float(in_rate)*float(interpolate))
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (8, 100)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | in_rate
140 |
141 |
142 | value
143 | 2.6e6
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (8, 484)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | interpolate
167 |
168 |
169 | value
170 | int((out_rate/in_rate)/2)
171 |
172 |
173 |
174 | variable
175 |
176 | comment
177 |
178 |
179 |
180 | _enabled
181 | True
182 |
183 |
184 | _coordinate
185 | (8, 292)
186 |
187 |
188 | _rotation
189 | 0
190 |
191 |
192 | id
193 | n_harmonic
194 |
195 |
196 | value
197 | 11
198 |
199 |
200 |
201 | variable
202 |
203 | comment
204 |
205 |
206 |
207 | _enabled
208 | True
209 |
210 |
211 | _coordinate
212 | (8, 164)
213 |
214 |
215 | _rotation
216 | 0
217 |
218 |
219 | id
220 | out_rate
221 |
222 |
223 | value
224 | 138e6*(1+(ppm/1e6))
225 |
226 |
227 |
228 | variable
229 |
230 | comment
231 |
232 |
233 |
234 | _enabled
235 | True
236 |
237 |
238 | _coordinate
239 | (120, 164)
240 |
241 |
242 | _rotation
243 | 0
244 |
245 |
246 | id
247 | ppm
248 |
249 |
250 | value
251 | -21+36
252 |
253 |
254 |
255 | variable
256 |
257 | comment
258 |
259 |
260 |
261 | _enabled
262 | True
263 |
264 |
265 | _coordinate
266 | (8, 612)
267 |
268 |
269 | _rotation
270 | 0
271 |
272 |
273 | id
274 | shift
275 |
276 |
277 | value
278 | (n_harmonic*out_rate)-tx_freq
279 |
280 |
281 |
282 | variable
283 |
284 | comment
285 |
286 |
287 |
288 | _enabled
289 | True
290 |
291 |
292 | _coordinate
293 | (8, 228)
294 |
295 |
296 | _rotation
297 | 0
298 |
299 |
300 | id
301 | tx_freq
302 |
303 |
304 | value
305 | 1575.42e6
306 |
307 |
308 |
309 | analog_sig_source_x
310 |
311 | amp
312 | 1
313 |
314 |
315 | alias
316 |
317 |
318 |
319 | comment
320 |
321 |
322 |
323 | affinity
324 |
325 |
326 |
327 | _enabled
328 | 1
329 |
330 |
331 | freq
332 | shift
333 |
334 |
335 | _coordinate
336 | (360, 292)
337 |
338 |
339 | _rotation
340 | 0
341 |
342 |
343 | id
344 | analog_sig_source_x_0
345 |
346 |
347 | maxoutbuf
348 | 0
349 |
350 |
351 | minoutbuf
352 | 0
353 |
354 |
355 | offset
356 | 0
357 |
358 |
359 | type
360 | float
361 |
362 |
363 | samp_rate
364 | out_rate
365 |
366 |
367 | waveform
368 | analog.GR_COS_WAVE
369 |
370 |
371 |
372 | analog_sig_source_x
373 |
374 | amp
375 | 1
376 |
377 |
378 | alias
379 |
380 |
381 |
382 | comment
383 |
384 |
385 |
386 | affinity
387 |
388 |
389 |
390 | _enabled
391 | 1
392 |
393 |
394 | freq
395 | shift
396 |
397 |
398 | _coordinate
399 | (360, 500)
400 |
401 |
402 | _rotation
403 | 0
404 |
405 |
406 | id
407 | analog_sig_source_x_1
408 |
409 |
410 | maxoutbuf
411 | 0
412 |
413 |
414 | minoutbuf
415 | 0
416 |
417 |
418 | offset
419 | 0
420 |
421 |
422 | type
423 | float
424 |
425 |
426 | samp_rate
427 | out_rate
428 |
429 |
430 | waveform
431 | analog.GR_SIN_WAVE
432 |
433 |
434 |
435 | blocks_add_xx
436 |
437 | alias
438 |
439 |
440 |
441 | comment
442 |
443 |
444 |
445 | affinity
446 |
447 |
448 |
449 | _enabled
450 | 1
451 |
452 |
453 | _coordinate
454 | (712, 416)
455 |
456 |
457 | _rotation
458 | 0
459 |
460 |
461 | id
462 | blocks_add_xx_0
463 |
464 |
465 | type
466 | float
467 |
468 |
469 | maxoutbuf
470 | 0
471 |
472 |
473 | minoutbuf
474 | 0
475 |
476 |
477 | num_inputs
478 | 2
479 |
480 |
481 | vlen
482 | 1
483 |
484 |
485 |
486 | blocks_complex_to_float
487 |
488 | alias
489 |
490 |
491 |
492 | comment
493 |
494 |
495 |
496 | affinity
497 |
498 |
499 |
500 | _enabled
501 | 1
502 |
503 |
504 | _coordinate
505 | (360, 416)
506 |
507 |
508 | _rotation
509 | 0
510 |
511 |
512 | id
513 | blocks_complex_to_float_0
514 |
515 |
516 | maxoutbuf
517 | 0
518 |
519 |
520 | minoutbuf
521 | 0
522 |
523 |
524 | vlen
525 | 1
526 |
527 |
528 |
529 | blocks_file_sink
530 |
531 | append
532 | False
533 |
534 |
535 | alias
536 |
537 |
538 |
539 | comment
540 |
541 |
542 |
543 | affinity
544 |
545 |
546 |
547 | _enabled
548 | 1
549 |
550 |
551 | file
552 | /tmp/fl2k_gps.bin
553 |
554 |
555 | _coordinate
556 | (1016, 580)
557 |
558 |
559 | _rotation
560 | 0
561 |
562 |
563 | id
564 | blocks_file_sink_1
565 |
566 |
567 | type
568 | byte
569 |
570 |
571 | unbuffered
572 | False
573 |
574 |
575 | vlen
576 | 1
577 |
578 |
579 |
580 | blocks_file_source
581 |
582 | begin_tag
583 | pmt.PMT_NIL
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | 1
600 |
601 |
602 | file
603 | gps-sdr-sim/gpssim.bin
604 |
605 |
606 | _coordinate
607 | (112, 84)
608 |
609 |
610 | _rotation
611 | 0
612 |
613 |
614 | id
615 | blocks_file_source_0_0_0
616 |
617 |
618 | maxoutbuf
619 | 0
620 |
621 |
622 | minoutbuf
623 | 0
624 |
625 |
626 | type
627 | short
628 |
629 |
630 | repeat
631 | False
632 |
633 |
634 | vlen
635 | 1
636 |
637 |
638 |
639 | blocks_float_to_char
640 |
641 | alias
642 |
643 |
644 |
645 | comment
646 |
647 |
648 |
649 | affinity
650 |
651 |
652 |
653 | _enabled
654 | 1
655 |
656 |
657 | _coordinate
658 | (856, 596)
659 |
660 |
661 | _rotation
662 | 0
663 |
664 |
665 | id
666 | blocks_float_to_char_0
667 |
668 |
669 | maxoutbuf
670 | 0
671 |
672 |
673 | minoutbuf
674 | 0
675 |
676 |
677 | scale
678 | 1
679 |
680 |
681 | vlen
682 | 1
683 |
684 |
685 |
686 | blocks_interleaved_short_to_complex
687 |
688 | alias
689 |
690 |
691 |
692 | comment
693 |
694 |
695 |
696 | affinity
697 |
698 |
699 |
700 | _enabled
701 | 1
702 |
703 |
704 | _coordinate
705 | (320, 100)
706 |
707 |
708 | _rotation
709 | 0
710 |
711 |
712 | id
713 | blocks_interleaved_short_to_complex_0_0
714 |
715 |
716 | maxoutbuf
717 | 0
718 |
719 |
720 | minoutbuf
721 | 0
722 |
723 |
724 | swap
725 | False
726 |
727 |
728 | vector_input
729 | False
730 |
731 |
732 |
733 | blocks_multiply_const_vxx
734 |
735 | alias
736 |
737 |
738 |
739 | comment
740 |
741 |
742 |
743 | const
744 | 780e-6
745 |
746 |
747 | affinity
748 |
749 |
750 |
751 | _enabled
752 | True
753 |
754 |
755 | _coordinate
756 | (672, 100)
757 |
758 |
759 | _rotation
760 | 0
761 |
762 |
763 | id
764 | blocks_multiply_const_vxx_0
765 |
766 |
767 | type
768 | complex
769 |
770 |
771 | maxoutbuf
772 | 0
773 |
774 |
775 | minoutbuf
776 | 0
777 |
778 |
779 | vlen
780 | 1
781 |
782 |
783 |
784 | blocks_multiply_const_vxx
785 |
786 | alias
787 |
788 |
789 |
790 | comment
791 |
792 |
793 |
794 | const
795 | 127
796 |
797 |
798 | affinity
799 |
800 |
801 |
802 | _enabled
803 | True
804 |
805 |
806 | _coordinate
807 | (688, 540)
808 |
809 |
810 | _rotation
811 | 0
812 |
813 |
814 | id
815 | blocks_multiply_const_vxx_1
816 |
817 |
818 | type
819 | float
820 |
821 |
822 | maxoutbuf
823 | 0
824 |
825 |
826 | minoutbuf
827 | 0
828 |
829 |
830 | vlen
831 | 1
832 |
833 |
834 |
835 | blocks_multiply_xx
836 |
837 | alias
838 |
839 |
840 |
841 | comment
842 |
843 |
844 |
845 | affinity
846 |
847 |
848 |
849 | _enabled
850 | 1
851 |
852 |
853 | _coordinate
854 | (576, 384)
855 |
856 |
857 | _rotation
858 | 0
859 |
860 |
861 | id
862 | blocks_multiply_xx_0
863 |
864 |
865 | type
866 | float
867 |
868 |
869 | maxoutbuf
870 | 0
871 |
872 |
873 | minoutbuf
874 | 0
875 |
876 |
877 | num_inputs
878 | 2
879 |
880 |
881 | vlen
882 | 1
883 |
884 |
885 |
886 | blocks_multiply_xx
887 |
888 | alias
889 |
890 |
891 |
892 | comment
893 |
894 |
895 |
896 | affinity
897 |
898 |
899 |
900 | _enabled
901 | 1
902 |
903 |
904 | _coordinate
905 | (576, 448)
906 |
907 |
908 | _rotation
909 | 0
910 |
911 |
912 | id
913 | blocks_multiply_xx_1
914 |
915 |
916 | type
917 | float
918 |
919 |
920 | maxoutbuf
921 | 0
922 |
923 |
924 | minoutbuf
925 | 0
926 |
927 |
928 | num_inputs
929 | 2
930 |
931 |
932 | vlen
933 | 1
934 |
935 |
936 |
937 | blocks_threshold_ff
938 |
939 | alias
940 |
941 |
942 |
943 | comment
944 |
945 |
946 |
947 | affinity
948 |
949 |
950 |
951 | _enabled
952 | 0
953 |
954 |
955 | _coordinate
956 | (856, 460)
957 |
958 |
959 | _rotation
960 | 0
961 |
962 |
963 | high
964 | 127.1
965 |
966 |
967 | id
968 | blocks_threshold_ff_0
969 |
970 |
971 | init
972 | 0
973 |
974 |
975 | low
976 | 127
977 |
978 |
979 | maxoutbuf
980 | 0
981 |
982 |
983 | minoutbuf
984 | 0
985 |
986 |
987 |
988 | blocks_throttle
989 |
990 | alias
991 |
992 |
993 |
994 | comment
995 |
996 |
997 |
998 | affinity
999 |
1000 |
1001 |
1002 | _enabled
1003 | True
1004 |
1005 |
1006 | _coordinate
1007 | (496, 100)
1008 |
1009 |
1010 | _rotation
1011 | 0
1012 |
1013 |
1014 | id
1015 | blocks_throttle_0
1016 |
1017 |
1018 | ignoretag
1019 | True
1020 |
1021 |
1022 | maxoutbuf
1023 | 0
1024 |
1025 |
1026 | minoutbuf
1027 | 0
1028 |
1029 |
1030 | samples_per_second
1031 | in_rate
1032 |
1033 |
1034 | type
1035 | complex
1036 |
1037 |
1038 | vlen
1039 | 1
1040 |
1041 |
1042 |
1043 | pfb_arb_resampler_xxx
1044 |
1045 | alias
1046 |
1047 |
1048 |
1049 | comment
1050 |
1051 |
1052 |
1053 | affinity
1054 |
1055 |
1056 |
1057 | _enabled
1058 | 1
1059 |
1060 |
1061 | _coordinate
1062 | (824, 76)
1063 |
1064 |
1065 | _rotation
1066 | 0
1067 |
1068 |
1069 | id
1070 | pfb_arb_resampler_xxx_0
1071 |
1072 |
1073 | maxoutbuf
1074 | 0
1075 |
1076 |
1077 | minoutbuf
1078 | 0
1079 |
1080 |
1081 | nfilts
1082 | 32
1083 |
1084 |
1085 | rrate
1086 | arb_resamp
1087 |
1088 |
1089 | samp_delay
1090 | 0
1091 |
1092 |
1093 | atten
1094 | 100
1095 |
1096 |
1097 | taps
1098 |
1099 |
1100 |
1101 | type
1102 | ccf
1103 |
1104 |
1105 |
1106 | pfb_interpolator_ccf
1107 |
1108 | atten
1109 | 90
1110 |
1111 |
1112 | alias
1113 |
1114 |
1115 |
1116 | comment
1117 |
1118 |
1119 |
1120 | affinity
1121 |
1122 |
1123 |
1124 | _enabled
1125 | 1
1126 |
1127 |
1128 | _coordinate
1129 | (152, 412)
1130 |
1131 |
1132 | _rotation
1133 | 0
1134 |
1135 |
1136 | id
1137 | pfb_interpolator_ccf_0
1138 |
1139 |
1140 | interp
1141 | interpolate
1142 |
1143 |
1144 | maxoutbuf
1145 | 0
1146 |
1147 |
1148 | minoutbuf
1149 | 0
1150 |
1151 |
1152 | samp_delay
1153 | 0
1154 |
1155 |
1156 | taps
1157 |
1158 |
1159 |
1160 |
1161 | wxgui_fftsink2
1162 |
1163 | avg_alpha
1164 | 0
1165 |
1166 |
1167 | average
1168 | False
1169 |
1170 |
1171 | baseband_freq
1172 | 0
1173 |
1174 |
1175 | alias
1176 |
1177 |
1178 |
1179 | comment
1180 |
1181 |
1182 |
1183 | affinity
1184 |
1185 |
1186 |
1187 | _enabled
1188 | 0
1189 |
1190 |
1191 | fft_size
1192 | 1024
1193 |
1194 |
1195 | freqvar
1196 | None
1197 |
1198 |
1199 | _coordinate
1200 | (1064, 204)
1201 |
1202 |
1203 | _rotation
1204 | 0
1205 |
1206 |
1207 | grid_pos
1208 |
1209 |
1210 |
1211 | id
1212 | wxgui_fftsink2_0
1213 |
1214 |
1215 | notebook
1216 |
1217 |
1218 |
1219 | peak_hold
1220 | False
1221 |
1222 |
1223 | ref_level
1224 | 0
1225 |
1226 |
1227 | ref_scale
1228 | 2.0
1229 |
1230 |
1231 | fft_rate
1232 | 15
1233 |
1234 |
1235 | samp_rate
1236 | out_rate
1237 |
1238 |
1239 | title
1240 | FFT Plot
1241 |
1242 |
1243 | type
1244 | float
1245 |
1246 |
1247 | win_size
1248 |
1249 |
1250 |
1251 | win
1252 | None
1253 |
1254 |
1255 | y_divs
1256 | 10
1257 |
1258 |
1259 | y_per_div
1260 | 10
1261 |
1262 |
1263 |
1264 | wxgui_scopesink2
1265 |
1266 | ac_couple
1267 | False
1268 |
1269 |
1270 | alias
1271 |
1272 |
1273 |
1274 | comment
1275 |
1276 |
1277 |
1278 | affinity
1279 |
1280 |
1281 |
1282 | _enabled
1283 | 0
1284 |
1285 |
1286 | _coordinate
1287 | (1064, 396)
1288 |
1289 |
1290 | _rotation
1291 | 0
1292 |
1293 |
1294 | grid_pos
1295 |
1296 |
1297 |
1298 | id
1299 | wxgui_scopesink2_1
1300 |
1301 |
1302 | notebook
1303 |
1304 |
1305 |
1306 | num_inputs
1307 | 2
1308 |
1309 |
1310 | samp_rate
1311 | out_rate
1312 |
1313 |
1314 | t_scale
1315 | 0.5
1316 |
1317 |
1318 | title
1319 | Saturation Detection
1320 |
1321 |
1322 | trig_mode
1323 | wxgui.TRIG_MODE_NORM
1324 |
1325 |
1326 | type
1327 | float
1328 |
1329 |
1330 | v_offset
1331 | 0
1332 |
1333 |
1334 | v_scale
1335 | 0.5
1336 |
1337 |
1338 | win_size
1339 |
1340 |
1341 |
1342 | xy_mode
1343 | True
1344 |
1345 |
1346 | y_axis_label
1347 | Counts
1348 |
1349 |
1350 |
1351 | analog_sig_source_x_0
1352 | blocks_multiply_xx_0
1353 | 0
1354 | 0
1355 |
1356 |
1357 | analog_sig_source_x_1
1358 | blocks_multiply_xx_1
1359 | 0
1360 | 1
1361 |
1362 |
1363 | blocks_add_xx_0
1364 | blocks_multiply_const_vxx_1
1365 | 0
1366 | 0
1367 |
1368 |
1369 | blocks_add_xx_0
1370 | wxgui_fftsink2_0
1371 | 0
1372 | 0
1373 |
1374 |
1375 | blocks_add_xx_0
1376 | wxgui_scopesink2_1
1377 | 0
1378 | 0
1379 |
1380 |
1381 | blocks_complex_to_float_0
1382 | blocks_multiply_xx_1
1383 | 1
1384 | 0
1385 |
1386 |
1387 | blocks_complex_to_float_0
1388 | blocks_multiply_xx_0
1389 | 0
1390 | 1
1391 |
1392 |
1393 | blocks_file_source_0_0_0
1394 | blocks_interleaved_short_to_complex_0_0
1395 | 0
1396 | 0
1397 |
1398 |
1399 | blocks_float_to_char_0
1400 | blocks_file_sink_1
1401 | 0
1402 | 0
1403 |
1404 |
1405 | blocks_interleaved_short_to_complex_0_0
1406 | blocks_throttle_0
1407 | 0
1408 | 0
1409 |
1410 |
1411 | blocks_multiply_const_vxx_0
1412 | pfb_arb_resampler_xxx_0
1413 | 0
1414 | 0
1415 |
1416 |
1417 | blocks_multiply_const_vxx_1
1418 | blocks_float_to_char_0
1419 | 0
1420 | 0
1421 |
1422 |
1423 | blocks_multiply_const_vxx_1
1424 | blocks_threshold_ff_0
1425 | 0
1426 | 0
1427 |
1428 |
1429 | blocks_multiply_xx_0
1430 | blocks_add_xx_0
1431 | 0
1432 | 0
1433 |
1434 |
1435 | blocks_multiply_xx_1
1436 | blocks_add_xx_0
1437 | 0
1438 | 1
1439 |
1440 |
1441 | blocks_threshold_ff_0
1442 | wxgui_scopesink2_1
1443 | 0
1444 | 1
1445 |
1446 |
1447 | blocks_throttle_0
1448 | blocks_multiply_const_vxx_0
1449 | 0
1450 | 0
1451 |
1452 |
1453 | pfb_arb_resampler_xxx_0
1454 | pfb_interpolator_ccf_0
1455 | 0
1456 | 0
1457 |
1458 |
1459 | pfb_interpolator_ccf_0
1460 | blocks_complex_to_float_0
1461 | 0
1462 | 0
1463 |
1464 |
1465 |
--------------------------------------------------------------------------------
/GSM/0001-gr-gsm-print-PPM-error.patch:
--------------------------------------------------------------------------------
1 | From eec02559aae91454211c01dcb1afa4c7701a69fe Mon Sep 17 00:00:00 2001
2 | From: Steve Markgraf
3 | Date: Wed, 25 Apr 2018 01:48:32 +0200
4 | Subject: [PATCH] gr-gsm: print PPM error
5 |
6 | ---
7 | lib/receiver/clock_offset_control_impl.cc | 1 +
8 | 1 file changed, 1 insertion(+)
9 |
10 | diff --git a/lib/receiver/clock_offset_control_impl.cc b/lib/receiver/clock_offset_control_impl.cc
11 | index 868cbc2..c0a8606 100644
12 | --- a/lib/receiver/clock_offset_control_impl.cc
13 | +++ b/lib/receiver/clock_offset_control_impl.cc
14 | @@ -135,6 +135,7 @@ void clock_offset_control_impl::process_measurement(pmt::pmt_t msg)
15 | else
16 | {
17 | d_ppm_estimate = (1-d_alfa)*d_ppm_estimate+d_alfa*ppm;
18 | + std::cout << "PPM estimate: " << d_ppm_estimate << std::endl;
19 | }
20 |
21 | if(d_counter == 5)
22 | --
23 | 2.17.0
24 |
25 |
--------------------------------------------------------------------------------
/GSM/README.md:
--------------------------------------------------------------------------------
1 | Before running the flowgraph, unpack gsm_osmo-trx_4sps.cf32.xz first, which contains the samples.
2 |
3 | Then run:
4 | ```
5 | fl2k_file -s 138e6 /tmp/fl2k_gsm.bin
6 | ```
7 |
8 | This results in a GSM signal at 925.4 MHz (ARFCN 976).
9 |
--------------------------------------------------------------------------------
/GSM/fl2k_transmit_gsm.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wed Feb 21 22:09:20 2018
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 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (8, 548)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | arb_resamp
113 |
114 |
115 | value
116 | float(out_rate)/(float(in_rate)*float(interpolate))
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (8, 100)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | in_rate
140 |
141 |
142 | value
143 | 1083333.33333333
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (8, 484)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | interpolate
167 |
168 |
169 | value
170 | int((out_rate/in_rate)/2)
171 |
172 |
173 |
174 | variable
175 |
176 | comment
177 |
178 |
179 |
180 | _enabled
181 | True
182 |
183 |
184 | _coordinate
185 | (8, 292)
186 |
187 |
188 | _rotation
189 | 0
190 |
191 |
192 | id
193 | n_harmonic
194 |
195 |
196 | value
197 | 7
198 |
199 |
200 |
201 | variable
202 |
203 | comment
204 |
205 |
206 |
207 | _enabled
208 | True
209 |
210 |
211 | _coordinate
212 | (8, 164)
213 |
214 |
215 | _rotation
216 | 0
217 |
218 |
219 | id
220 | out_rate
221 |
222 |
223 | value
224 | 138e6*(1+(ppm/1e6))
225 |
226 |
227 |
228 | variable
229 |
230 | comment
231 |
232 |
233 |
234 | _enabled
235 | True
236 |
237 |
238 | _coordinate
239 | (120, 164)
240 |
241 |
242 | _rotation
243 | 0
244 |
245 |
246 | id
247 | ppm
248 |
249 |
250 | value
251 | 15
252 |
253 |
254 |
255 | variable
256 |
257 | comment
258 |
259 |
260 |
261 | _enabled
262 | True
263 |
264 |
265 | _coordinate
266 | (8, 612)
267 |
268 |
269 | _rotation
270 | 0
271 |
272 |
273 | id
274 | shift
275 |
276 |
277 | value
278 | (n_harmonic*out_rate)-tx_freq
279 |
280 |
281 |
282 | variable
283 |
284 | comment
285 |
286 |
287 |
288 | _enabled
289 | True
290 |
291 |
292 | _coordinate
293 | (8, 228)
294 |
295 |
296 | _rotation
297 | 0
298 |
299 |
300 | id
301 | tx_freq
302 |
303 |
304 | value
305 | 925.4e6
306 |
307 |
308 |
309 | analog_sig_source_x
310 |
311 | amp
312 | 1
313 |
314 |
315 | alias
316 |
317 |
318 |
319 | comment
320 |
321 |
322 |
323 | affinity
324 |
325 |
326 |
327 | _enabled
328 | 1
329 |
330 |
331 | freq
332 | shift
333 |
334 |
335 | _coordinate
336 | (360, 292)
337 |
338 |
339 | _rotation
340 | 0
341 |
342 |
343 | id
344 | analog_sig_source_x_0
345 |
346 |
347 | maxoutbuf
348 | 0
349 |
350 |
351 | minoutbuf
352 | 0
353 |
354 |
355 | offset
356 | 0
357 |
358 |
359 | type
360 | float
361 |
362 |
363 | samp_rate
364 | out_rate
365 |
366 |
367 | waveform
368 | analog.GR_COS_WAVE
369 |
370 |
371 |
372 | analog_sig_source_x
373 |
374 | amp
375 | 1
376 |
377 |
378 | alias
379 |
380 |
381 |
382 | comment
383 |
384 |
385 |
386 | affinity
387 |
388 |
389 |
390 | _enabled
391 | 1
392 |
393 |
394 | freq
395 | shift
396 |
397 |
398 | _coordinate
399 | (360, 500)
400 |
401 |
402 | _rotation
403 | 0
404 |
405 |
406 | id
407 | analog_sig_source_x_1
408 |
409 |
410 | maxoutbuf
411 | 0
412 |
413 |
414 | minoutbuf
415 | 0
416 |
417 |
418 | offset
419 | 0
420 |
421 |
422 | type
423 | float
424 |
425 |
426 | samp_rate
427 | out_rate
428 |
429 |
430 | waveform
431 | analog.GR_SIN_WAVE
432 |
433 |
434 |
435 | blocks_add_xx
436 |
437 | alias
438 |
439 |
440 |
441 | comment
442 |
443 |
444 |
445 | affinity
446 |
447 |
448 |
449 | _enabled
450 | 1
451 |
452 |
453 | _coordinate
454 | (712, 416)
455 |
456 |
457 | _rotation
458 | 0
459 |
460 |
461 | id
462 | blocks_add_xx_0
463 |
464 |
465 | type
466 | float
467 |
468 |
469 | maxoutbuf
470 | 0
471 |
472 |
473 | minoutbuf
474 | 0
475 |
476 |
477 | num_inputs
478 | 2
479 |
480 |
481 | vlen
482 | 1
483 |
484 |
485 |
486 | blocks_complex_to_float
487 |
488 | alias
489 |
490 |
491 |
492 | comment
493 |
494 |
495 |
496 | affinity
497 |
498 |
499 |
500 | _enabled
501 | 1
502 |
503 |
504 | _coordinate
505 | (360, 416)
506 |
507 |
508 | _rotation
509 | 0
510 |
511 |
512 | id
513 | blocks_complex_to_float_0
514 |
515 |
516 | maxoutbuf
517 | 0
518 |
519 |
520 | minoutbuf
521 | 0
522 |
523 |
524 | vlen
525 | 1
526 |
527 |
528 |
529 | blocks_file_sink
530 |
531 | append
532 | False
533 |
534 |
535 | alias
536 |
537 |
538 |
539 | comment
540 |
541 |
542 |
543 | affinity
544 |
545 |
546 |
547 | _enabled
548 | 1
549 |
550 |
551 | file
552 | /tmp/fl2k_gsm.bin
553 |
554 |
555 | _coordinate
556 | (1016, 580)
557 |
558 |
559 | _rotation
560 | 0
561 |
562 |
563 | id
564 | blocks_file_sink_1
565 |
566 |
567 | type
568 | byte
569 |
570 |
571 | unbuffered
572 | False
573 |
574 |
575 | vlen
576 | 1
577 |
578 |
579 |
580 | blocks_file_source
581 |
582 | begin_tag
583 | pmt.PMT_NIL
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | True
600 |
601 |
602 | file
603 | gsm_osmo-trx_4sps.cf32
604 |
605 |
606 | _coordinate
607 | (200, 84)
608 |
609 |
610 | _rotation
611 | 0
612 |
613 |
614 | id
615 | blocks_file_source_0
616 |
617 |
618 | maxoutbuf
619 | 0
620 |
621 |
622 | minoutbuf
623 | 0
624 |
625 |
626 | type
627 | complex
628 |
629 |
630 | repeat
631 | False
632 |
633 |
634 | vlen
635 | 1
636 |
637 |
638 |
639 | blocks_float_to_char
640 |
641 | alias
642 |
643 |
644 |
645 | comment
646 |
647 |
648 |
649 | affinity
650 |
651 |
652 |
653 | _enabled
654 | 1
655 |
656 |
657 | _coordinate
658 | (856, 596)
659 |
660 |
661 | _rotation
662 | 0
663 |
664 |
665 | id
666 | blocks_float_to_char_0
667 |
668 |
669 | maxoutbuf
670 | 0
671 |
672 |
673 | minoutbuf
674 | 0
675 |
676 |
677 | scale
678 | 1
679 |
680 |
681 | vlen
682 | 1
683 |
684 |
685 |
686 | blocks_multiply_const_vxx
687 |
688 | alias
689 |
690 |
691 |
692 | comment
693 |
694 |
695 |
696 | const
697 | 100e-6
698 |
699 |
700 | affinity
701 |
702 |
703 |
704 | _enabled
705 | True
706 |
707 |
708 | _coordinate
709 | (632, 100)
710 |
711 |
712 | _rotation
713 | 0
714 |
715 |
716 | id
717 | blocks_multiply_const_vxx_0
718 |
719 |
720 | type
721 | complex
722 |
723 |
724 | maxoutbuf
725 | 0
726 |
727 |
728 | minoutbuf
729 | 0
730 |
731 |
732 | vlen
733 | 1
734 |
735 |
736 |
737 | blocks_multiply_const_vxx
738 |
739 | alias
740 |
741 |
742 |
743 | comment
744 |
745 |
746 |
747 | const
748 | 127
749 |
750 |
751 | affinity
752 |
753 |
754 |
755 | _enabled
756 | True
757 |
758 |
759 | _coordinate
760 | (688, 540)
761 |
762 |
763 | _rotation
764 | 0
765 |
766 |
767 | id
768 | blocks_multiply_const_vxx_1
769 |
770 |
771 | type
772 | float
773 |
774 |
775 | maxoutbuf
776 | 0
777 |
778 |
779 | minoutbuf
780 | 0
781 |
782 |
783 | vlen
784 | 1
785 |
786 |
787 |
788 | blocks_multiply_xx
789 |
790 | alias
791 |
792 |
793 |
794 | comment
795 |
796 |
797 |
798 | affinity
799 |
800 |
801 |
802 | _enabled
803 | 1
804 |
805 |
806 | _coordinate
807 | (576, 384)
808 |
809 |
810 | _rotation
811 | 0
812 |
813 |
814 | id
815 | blocks_multiply_xx_0
816 |
817 |
818 | type
819 | float
820 |
821 |
822 | maxoutbuf
823 | 0
824 |
825 |
826 | minoutbuf
827 | 0
828 |
829 |
830 | num_inputs
831 | 2
832 |
833 |
834 | vlen
835 | 1
836 |
837 |
838 |
839 | blocks_multiply_xx
840 |
841 | alias
842 |
843 |
844 |
845 | comment
846 |
847 |
848 |
849 | affinity
850 |
851 |
852 |
853 | _enabled
854 | 1
855 |
856 |
857 | _coordinate
858 | (576, 448)
859 |
860 |
861 | _rotation
862 | 0
863 |
864 |
865 | id
866 | blocks_multiply_xx_1
867 |
868 |
869 | type
870 | float
871 |
872 |
873 | maxoutbuf
874 | 0
875 |
876 |
877 | minoutbuf
878 | 0
879 |
880 |
881 | num_inputs
882 | 2
883 |
884 |
885 | vlen
886 | 1
887 |
888 |
889 |
890 | blocks_threshold_ff
891 |
892 | alias
893 |
894 |
895 |
896 | comment
897 |
898 |
899 |
900 | affinity
901 |
902 |
903 |
904 | _enabled
905 | 1
906 |
907 |
908 | _coordinate
909 | (856, 460)
910 |
911 |
912 | _rotation
913 | 0
914 |
915 |
916 | high
917 | 127.1
918 |
919 |
920 | id
921 | blocks_threshold_ff_0
922 |
923 |
924 | init
925 | 0
926 |
927 |
928 | low
929 | 127
930 |
931 |
932 | maxoutbuf
933 | 0
934 |
935 |
936 | minoutbuf
937 | 0
938 |
939 |
940 |
941 | blocks_throttle
942 |
943 | alias
944 |
945 |
946 |
947 | comment
948 |
949 |
950 |
951 | affinity
952 |
953 |
954 |
955 | _enabled
956 | True
957 |
958 |
959 | _coordinate
960 | (424, 100)
961 |
962 |
963 | _rotation
964 | 0
965 |
966 |
967 | id
968 | blocks_throttle_0
969 |
970 |
971 | ignoretag
972 | True
973 |
974 |
975 | maxoutbuf
976 | 0
977 |
978 |
979 | minoutbuf
980 | 0
981 |
982 |
983 | samples_per_second
984 | in_rate
985 |
986 |
987 | type
988 | complex
989 |
990 |
991 | vlen
992 | 1
993 |
994 |
995 |
996 | pfb_arb_resampler_xxx
997 |
998 | alias
999 |
1000 |
1001 |
1002 | comment
1003 |
1004 |
1005 |
1006 | affinity
1007 |
1008 |
1009 |
1010 | _enabled
1011 | 1
1012 |
1013 |
1014 | _coordinate
1015 | (800, 76)
1016 |
1017 |
1018 | _rotation
1019 | 0
1020 |
1021 |
1022 | id
1023 | pfb_arb_resampler_xxx_0
1024 |
1025 |
1026 | maxoutbuf
1027 | 0
1028 |
1029 |
1030 | minoutbuf
1031 | 0
1032 |
1033 |
1034 | nfilts
1035 | 32
1036 |
1037 |
1038 | rrate
1039 | arb_resamp
1040 |
1041 |
1042 | samp_delay
1043 | 0
1044 |
1045 |
1046 | atten
1047 | 100
1048 |
1049 |
1050 | taps
1051 |
1052 |
1053 |
1054 | type
1055 | ccf
1056 |
1057 |
1058 |
1059 | pfb_interpolator_ccf
1060 |
1061 | atten
1062 | 90
1063 |
1064 |
1065 | alias
1066 |
1067 |
1068 |
1069 | comment
1070 |
1071 |
1072 |
1073 | affinity
1074 |
1075 |
1076 |
1077 | _enabled
1078 | 1
1079 |
1080 |
1081 | _coordinate
1082 | (152, 412)
1083 |
1084 |
1085 | _rotation
1086 | 0
1087 |
1088 |
1089 | id
1090 | pfb_interpolator_ccf_0
1091 |
1092 |
1093 | interp
1094 | interpolate
1095 |
1096 |
1097 | maxoutbuf
1098 | 0
1099 |
1100 |
1101 | minoutbuf
1102 | 0
1103 |
1104 |
1105 | samp_delay
1106 | 0
1107 |
1108 |
1109 | taps
1110 |
1111 |
1112 |
1113 |
1114 | wxgui_fftsink2
1115 |
1116 | avg_alpha
1117 | 0
1118 |
1119 |
1120 | average
1121 | False
1122 |
1123 |
1124 | baseband_freq
1125 | 0
1126 |
1127 |
1128 | alias
1129 |
1130 |
1131 |
1132 | comment
1133 |
1134 |
1135 |
1136 | affinity
1137 |
1138 |
1139 |
1140 | _enabled
1141 | 1
1142 |
1143 |
1144 | fft_size
1145 | 1024
1146 |
1147 |
1148 | freqvar
1149 | None
1150 |
1151 |
1152 | _coordinate
1153 | (1064, 204)
1154 |
1155 |
1156 | _rotation
1157 | 0
1158 |
1159 |
1160 | grid_pos
1161 |
1162 |
1163 |
1164 | id
1165 | wxgui_fftsink2_0
1166 |
1167 |
1168 | notebook
1169 |
1170 |
1171 |
1172 | peak_hold
1173 | False
1174 |
1175 |
1176 | ref_level
1177 | 0
1178 |
1179 |
1180 | ref_scale
1181 | 2.0
1182 |
1183 |
1184 | fft_rate
1185 | 15
1186 |
1187 |
1188 | samp_rate
1189 | out_rate
1190 |
1191 |
1192 | title
1193 | FFT Plot
1194 |
1195 |
1196 | type
1197 | float
1198 |
1199 |
1200 | win_size
1201 |
1202 |
1203 |
1204 | win
1205 | None
1206 |
1207 |
1208 | y_divs
1209 | 10
1210 |
1211 |
1212 | y_per_div
1213 | 10
1214 |
1215 |
1216 |
1217 | wxgui_scopesink2
1218 |
1219 | ac_couple
1220 | False
1221 |
1222 |
1223 | alias
1224 |
1225 |
1226 |
1227 | comment
1228 |
1229 |
1230 |
1231 | affinity
1232 |
1233 |
1234 |
1235 | _enabled
1236 | 1
1237 |
1238 |
1239 | _coordinate
1240 | (1064, 396)
1241 |
1242 |
1243 | _rotation
1244 | 0
1245 |
1246 |
1247 | grid_pos
1248 |
1249 |
1250 |
1251 | id
1252 | wxgui_scopesink2_1
1253 |
1254 |
1255 | notebook
1256 |
1257 |
1258 |
1259 | num_inputs
1260 | 2
1261 |
1262 |
1263 | samp_rate
1264 | out_rate
1265 |
1266 |
1267 | t_scale
1268 | 0.5
1269 |
1270 |
1271 | title
1272 | Saturation Detection
1273 |
1274 |
1275 | trig_mode
1276 | wxgui.TRIG_MODE_NORM
1277 |
1278 |
1279 | type
1280 | float
1281 |
1282 |
1283 | v_offset
1284 | 0
1285 |
1286 |
1287 | v_scale
1288 | 0.5
1289 |
1290 |
1291 | win_size
1292 |
1293 |
1294 |
1295 | xy_mode
1296 | True
1297 |
1298 |
1299 | y_axis_label
1300 | Counts
1301 |
1302 |
1303 |
1304 | analog_sig_source_x_0
1305 | blocks_multiply_xx_0
1306 | 0
1307 | 0
1308 |
1309 |
1310 | analog_sig_source_x_1
1311 | blocks_multiply_xx_1
1312 | 0
1313 | 1
1314 |
1315 |
1316 | blocks_add_xx_0
1317 | blocks_multiply_const_vxx_1
1318 | 0
1319 | 0
1320 |
1321 |
1322 | blocks_add_xx_0
1323 | wxgui_fftsink2_0
1324 | 0
1325 | 0
1326 |
1327 |
1328 | blocks_add_xx_0
1329 | wxgui_scopesink2_1
1330 | 0
1331 | 0
1332 |
1333 |
1334 | blocks_complex_to_float_0
1335 | blocks_multiply_xx_1
1336 | 1
1337 | 0
1338 |
1339 |
1340 | blocks_complex_to_float_0
1341 | blocks_multiply_xx_0
1342 | 0
1343 | 1
1344 |
1345 |
1346 | blocks_file_source_0
1347 | blocks_throttle_0
1348 | 0
1349 | 0
1350 |
1351 |
1352 | blocks_float_to_char_0
1353 | blocks_file_sink_1
1354 | 0
1355 | 0
1356 |
1357 |
1358 | blocks_multiply_const_vxx_0
1359 | pfb_arb_resampler_xxx_0
1360 | 0
1361 | 0
1362 |
1363 |
1364 | blocks_multiply_const_vxx_1
1365 | blocks_float_to_char_0
1366 | 0
1367 | 0
1368 |
1369 |
1370 | blocks_multiply_const_vxx_1
1371 | blocks_threshold_ff_0
1372 | 0
1373 | 0
1374 |
1375 |
1376 | blocks_multiply_xx_0
1377 | blocks_add_xx_0
1378 | 0
1379 | 0
1380 |
1381 |
1382 | blocks_multiply_xx_1
1383 | blocks_add_xx_0
1384 | 0
1385 | 1
1386 |
1387 |
1388 | blocks_threshold_ff_0
1389 | wxgui_scopesink2_1
1390 | 0
1391 | 1
1392 |
1393 |
1394 | blocks_throttle_0
1395 | blocks_multiply_const_vxx_0
1396 | 0
1397 | 0
1398 |
1399 |
1400 | pfb_arb_resampler_xxx_0
1401 | pfb_interpolator_ccf_0
1402 | 0
1403 | 0
1404 |
1405 |
1406 | pfb_interpolator_ccf_0
1407 | blocks_complex_to_float_0
1408 | 0
1409 | 0
1410 |
1411 |
1412 |
--------------------------------------------------------------------------------
/GSM/gsm_osmo-trx_4sps.cf32.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steve-m/fl2k-examples/8794a155741920162536623a61e0a34c343dc5c2/GSM/gsm_osmo-trx_4sps.cf32.xz
--------------------------------------------------------------------------------
/LTE/srsLTE_B20_earfcn6425_5M_5.76e6.cs16.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steve-m/fl2k-examples/8794a155741920162536623a61e0a34c343dc5c2/LTE/srsLTE_B20_earfcn6425_5M_5.76e6.cs16.xz
--------------------------------------------------------------------------------
/LTE/srsLTE_B5_earfcn2420_1.4M_1.92e6.cs16.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steve-m/fl2k-examples/8794a155741920162536623a61e0a34c343dc5c2/LTE/srsLTE_B5_earfcn2420_1.4M_1.92e6.cs16.xz
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # fl2k-examples
2 | This repository contains example flowgraphs for osmo-fl2k. These perform offline computation of samples which then can be transmitted with fl2k_file.
3 |
4 | See https://osmocom.org/projects/osmo-fl2k/wiki for more information.
5 |
6 | Note: Before transmitting any of those signals, you need to calibrate the clock error of your device first. You then need to adapt the 'ppm' variable in the flowgraphs according to your error.
7 |
8 | Depending on the accuracy of your system clock, fl2k_test can be used for a coarse calibration. For fine calibration, the recommended approach is to use the GSM flowgraph, and then synchronize to the transmitted channel with [grgsm_livemon](https://github.com/ptrkrysik/gr-gsm), e.g. with an rtl-sdr. The GSM folder contains a patch for gr-gsm that outputs the clock error. You then can compare the clock error you get from your own transmitted GSM channel to a real GSM base station in order to determine the clock error of the FL2000 dongle.
9 |
--------------------------------------------------------------------------------
/UMTS/README.md:
--------------------------------------------------------------------------------
1 | Before running the flowgraph, unpack openbts-umts_6.25e6.cs16.xz first, which contains the samples.
2 |
3 | Then run:
4 | ```
5 | fl2k_file -s 130e6 /tmp/fl2k_umts.bin
6 | ```
7 |
8 | This results in a UMTS signal at 879 MHz (UARFCN 4395).
9 |
--------------------------------------------------------------------------------
/UMTS/fl2k_transmit_umts.grc:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Wed Feb 21 22:09:20 2018
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 | wx_gui
42 |
43 |
44 | hier_block_src_path
45 | .:
46 |
47 |
48 | id
49 | top_block
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 | (8, 548)
105 |
106 |
107 | _rotation
108 | 0
109 |
110 |
111 | id
112 | arb_resamp
113 |
114 |
115 | value
116 | float(out_rate)/(float(in_rate)*float(interpolate))
117 |
118 |
119 |
120 | variable
121 |
122 | comment
123 |
124 |
125 |
126 | _enabled
127 | True
128 |
129 |
130 | _coordinate
131 | (8, 100)
132 |
133 |
134 | _rotation
135 | 0
136 |
137 |
138 | id
139 | in_rate
140 |
141 |
142 | value
143 | 6.25e6
144 |
145 |
146 |
147 | variable
148 |
149 | comment
150 |
151 |
152 |
153 | _enabled
154 | True
155 |
156 |
157 | _coordinate
158 | (8, 484)
159 |
160 |
161 | _rotation
162 | 0
163 |
164 |
165 | id
166 | interpolate
167 |
168 |
169 | value
170 | int((out_rate/in_rate)/2)
171 |
172 |
173 |
174 | variable
175 |
176 | comment
177 |
178 |
179 |
180 | _enabled
181 | True
182 |
183 |
184 | _coordinate
185 | (8, 292)
186 |
187 |
188 | _rotation
189 | 0
190 |
191 |
192 | id
193 | n_harmonic
194 |
195 |
196 | value
197 | 7
198 |
199 |
200 |
201 | variable
202 |
203 | comment
204 |
205 |
206 |
207 | _enabled
208 | True
209 |
210 |
211 | _coordinate
212 | (8, 164)
213 |
214 |
215 | _rotation
216 | 0
217 |
218 |
219 | id
220 | out_rate
221 |
222 |
223 | value
224 | 130e6*(1+(ppm/1e6))
225 |
226 |
227 |
228 | variable
229 |
230 | comment
231 |
232 |
233 |
234 | _enabled
235 | True
236 |
237 |
238 | _coordinate
239 | (120, 164)
240 |
241 |
242 | _rotation
243 | 0
244 |
245 |
246 | id
247 | ppm
248 |
249 |
250 | value
251 | -21+36
252 |
253 |
254 |
255 | variable
256 |
257 | comment
258 |
259 |
260 |
261 | _enabled
262 | True
263 |
264 |
265 | _coordinate
266 | (8, 612)
267 |
268 |
269 | _rotation
270 | 0
271 |
272 |
273 | id
274 | shift
275 |
276 |
277 | value
278 | (n_harmonic*out_rate)-tx_freq
279 |
280 |
281 |
282 | variable
283 |
284 | comment
285 |
286 |
287 |
288 | _enabled
289 | True
290 |
291 |
292 | _coordinate
293 | (8, 228)
294 |
295 |
296 | _rotation
297 | 0
298 |
299 |
300 | id
301 | tx_freq
302 |
303 |
304 | value
305 | 879e6
306 |
307 |
308 |
309 | analog_sig_source_x
310 |
311 | amp
312 | 1
313 |
314 |
315 | alias
316 |
317 |
318 |
319 | comment
320 |
321 |
322 |
323 | affinity
324 |
325 |
326 |
327 | _enabled
328 | 1
329 |
330 |
331 | freq
332 | shift
333 |
334 |
335 | _coordinate
336 | (360, 292)
337 |
338 |
339 | _rotation
340 | 0
341 |
342 |
343 | id
344 | analog_sig_source_x_0
345 |
346 |
347 | maxoutbuf
348 | 0
349 |
350 |
351 | minoutbuf
352 | 0
353 |
354 |
355 | offset
356 | 0
357 |
358 |
359 | type
360 | float
361 |
362 |
363 | samp_rate
364 | out_rate
365 |
366 |
367 | waveform
368 | analog.GR_COS_WAVE
369 |
370 |
371 |
372 | analog_sig_source_x
373 |
374 | amp
375 | 1
376 |
377 |
378 | alias
379 |
380 |
381 |
382 | comment
383 |
384 |
385 |
386 | affinity
387 |
388 |
389 |
390 | _enabled
391 | 1
392 |
393 |
394 | freq
395 | shift
396 |
397 |
398 | _coordinate
399 | (360, 500)
400 |
401 |
402 | _rotation
403 | 0
404 |
405 |
406 | id
407 | analog_sig_source_x_1
408 |
409 |
410 | maxoutbuf
411 | 0
412 |
413 |
414 | minoutbuf
415 | 0
416 |
417 |
418 | offset
419 | 0
420 |
421 |
422 | type
423 | float
424 |
425 |
426 | samp_rate
427 | out_rate
428 |
429 |
430 | waveform
431 | analog.GR_SIN_WAVE
432 |
433 |
434 |
435 | blocks_add_xx
436 |
437 | alias
438 |
439 |
440 |
441 | comment
442 |
443 |
444 |
445 | affinity
446 |
447 |
448 |
449 | _enabled
450 | 1
451 |
452 |
453 | _coordinate
454 | (712, 416)
455 |
456 |
457 | _rotation
458 | 0
459 |
460 |
461 | id
462 | blocks_add_xx_0
463 |
464 |
465 | type
466 | float
467 |
468 |
469 | maxoutbuf
470 | 0
471 |
472 |
473 | minoutbuf
474 | 0
475 |
476 |
477 | num_inputs
478 | 2
479 |
480 |
481 | vlen
482 | 1
483 |
484 |
485 |
486 | blocks_complex_to_float
487 |
488 | alias
489 |
490 |
491 |
492 | comment
493 |
494 |
495 |
496 | affinity
497 |
498 |
499 |
500 | _enabled
501 | 1
502 |
503 |
504 | _coordinate
505 | (360, 416)
506 |
507 |
508 | _rotation
509 | 0
510 |
511 |
512 | id
513 | blocks_complex_to_float_0
514 |
515 |
516 | maxoutbuf
517 | 0
518 |
519 |
520 | minoutbuf
521 | 0
522 |
523 |
524 | vlen
525 | 1
526 |
527 |
528 |
529 | blocks_file_sink
530 |
531 | append
532 | False
533 |
534 |
535 | alias
536 |
537 |
538 |
539 | comment
540 |
541 |
542 |
543 | affinity
544 |
545 |
546 |
547 | _enabled
548 | 1
549 |
550 |
551 | file
552 | /tmp/fl2k_umts.bin
553 |
554 |
555 | _coordinate
556 | (1016, 580)
557 |
558 |
559 | _rotation
560 | 0
561 |
562 |
563 | id
564 | blocks_file_sink_1
565 |
566 |
567 | type
568 | byte
569 |
570 |
571 | unbuffered
572 | False
573 |
574 |
575 | vlen
576 | 1
577 |
578 |
579 |
580 | blocks_file_source
581 |
582 | begin_tag
583 | pmt.PMT_NIL
584 |
585 |
586 | alias
587 |
588 |
589 |
590 | comment
591 |
592 |
593 |
594 | affinity
595 |
596 |
597 |
598 | _enabled
599 | 1
600 |
601 |
602 | file
603 | openbts-umts_6.25e6.cs16
604 |
605 |
606 | _coordinate
607 | (112, 84)
608 |
609 |
610 | _rotation
611 | 0
612 |
613 |
614 | id
615 | blocks_file_source_0_0_0
616 |
617 |
618 | maxoutbuf
619 | 0
620 |
621 |
622 | minoutbuf
623 | 0
624 |
625 |
626 | type
627 | short
628 |
629 |
630 | repeat
631 | False
632 |
633 |
634 | vlen
635 | 1
636 |
637 |
638 |
639 | blocks_float_to_char
640 |
641 | alias
642 |
643 |
644 |
645 | comment
646 |
647 |
648 |
649 | affinity
650 |
651 |
652 |
653 | _enabled
654 | 1
655 |
656 |
657 | _coordinate
658 | (856, 596)
659 |
660 |
661 | _rotation
662 | 0
663 |
664 |
665 | id
666 | blocks_float_to_char_0
667 |
668 |
669 | maxoutbuf
670 | 0
671 |
672 |
673 | minoutbuf
674 | 0
675 |
676 |
677 | scale
678 | 1
679 |
680 |
681 | vlen
682 | 1
683 |
684 |
685 |
686 | blocks_interleaved_short_to_complex
687 |
688 | alias
689 |
690 |
691 |
692 | comment
693 |
694 |
695 |
696 | affinity
697 |
698 |
699 |
700 | _enabled
701 | 1
702 |
703 |
704 | _coordinate
705 | (320, 100)
706 |
707 |
708 | _rotation
709 | 0
710 |
711 |
712 | id
713 | blocks_interleaved_short_to_complex_0_0
714 |
715 |
716 | maxoutbuf
717 | 0
718 |
719 |
720 | minoutbuf
721 | 0
722 |
723 |
724 | swap
725 | False
726 |
727 |
728 | vector_input
729 | False
730 |
731 |
732 |
733 | blocks_multiply_const_vxx
734 |
735 | alias
736 |
737 |
738 |
739 | comment
740 |
741 |
742 |
743 | const
744 | 240e-6
745 |
746 |
747 | affinity
748 |
749 |
750 |
751 | _enabled
752 | True
753 |
754 |
755 | _coordinate
756 | (672, 100)
757 |
758 |
759 | _rotation
760 | 0
761 |
762 |
763 | id
764 | blocks_multiply_const_vxx_0
765 |
766 |
767 | type
768 | complex
769 |
770 |
771 | maxoutbuf
772 | 0
773 |
774 |
775 | minoutbuf
776 | 0
777 |
778 |
779 | vlen
780 | 1
781 |
782 |
783 |
784 | blocks_multiply_const_vxx
785 |
786 | alias
787 |
788 |
789 |
790 | comment
791 |
792 |
793 |
794 | const
795 | 127
796 |
797 |
798 | affinity
799 |
800 |
801 |
802 | _enabled
803 | True
804 |
805 |
806 | _coordinate
807 | (688, 540)
808 |
809 |
810 | _rotation
811 | 0
812 |
813 |
814 | id
815 | blocks_multiply_const_vxx_1
816 |
817 |
818 | type
819 | float
820 |
821 |
822 | maxoutbuf
823 | 0
824 |
825 |
826 | minoutbuf
827 | 0
828 |
829 |
830 | vlen
831 | 1
832 |
833 |
834 |
835 | blocks_multiply_xx
836 |
837 | alias
838 |
839 |
840 |
841 | comment
842 |
843 |
844 |
845 | affinity
846 |
847 |
848 |
849 | _enabled
850 | 1
851 |
852 |
853 | _coordinate
854 | (576, 384)
855 |
856 |
857 | _rotation
858 | 0
859 |
860 |
861 | id
862 | blocks_multiply_xx_0
863 |
864 |
865 | type
866 | float
867 |
868 |
869 | maxoutbuf
870 | 0
871 |
872 |
873 | minoutbuf
874 | 0
875 |
876 |
877 | num_inputs
878 | 2
879 |
880 |
881 | vlen
882 | 1
883 |
884 |
885 |
886 | blocks_multiply_xx
887 |
888 | alias
889 |
890 |
891 |
892 | comment
893 |
894 |
895 |
896 | affinity
897 |
898 |
899 |
900 | _enabled
901 | 1
902 |
903 |
904 | _coordinate
905 | (576, 448)
906 |
907 |
908 | _rotation
909 | 0
910 |
911 |
912 | id
913 | blocks_multiply_xx_1
914 |
915 |
916 | type
917 | float
918 |
919 |
920 | maxoutbuf
921 | 0
922 |
923 |
924 | minoutbuf
925 | 0
926 |
927 |
928 | num_inputs
929 | 2
930 |
931 |
932 | vlen
933 | 1
934 |
935 |
936 |
937 | blocks_threshold_ff
938 |
939 | alias
940 |
941 |
942 |
943 | comment
944 |
945 |
946 |
947 | affinity
948 |
949 |
950 |
951 | _enabled
952 | 0
953 |
954 |
955 | _coordinate
956 | (856, 460)
957 |
958 |
959 | _rotation
960 | 0
961 |
962 |
963 | high
964 | 127.1
965 |
966 |
967 | id
968 | blocks_threshold_ff_0
969 |
970 |
971 | init
972 | 0
973 |
974 |
975 | low
976 | 127
977 |
978 |
979 | maxoutbuf
980 | 0
981 |
982 |
983 | minoutbuf
984 | 0
985 |
986 |
987 |
988 | blocks_throttle
989 |
990 | alias
991 |
992 |
993 |
994 | comment
995 |
996 |
997 |
998 | affinity
999 |
1000 |
1001 |
1002 | _enabled
1003 | True
1004 |
1005 |
1006 | _coordinate
1007 | (496, 100)
1008 |
1009 |
1010 | _rotation
1011 | 0
1012 |
1013 |
1014 | id
1015 | blocks_throttle_0
1016 |
1017 |
1018 | ignoretag
1019 | True
1020 |
1021 |
1022 | maxoutbuf
1023 | 0
1024 |
1025 |
1026 | minoutbuf
1027 | 0
1028 |
1029 |
1030 | samples_per_second
1031 | in_rate
1032 |
1033 |
1034 | type
1035 | complex
1036 |
1037 |
1038 | vlen
1039 | 1
1040 |
1041 |
1042 |
1043 | pfb_arb_resampler_xxx
1044 |
1045 | alias
1046 |
1047 |
1048 |
1049 | comment
1050 |
1051 |
1052 |
1053 | affinity
1054 |
1055 |
1056 |
1057 | _enabled
1058 | 1
1059 |
1060 |
1061 | _coordinate
1062 | (824, 76)
1063 |
1064 |
1065 | _rotation
1066 | 0
1067 |
1068 |
1069 | id
1070 | pfb_arb_resampler_xxx_0
1071 |
1072 |
1073 | maxoutbuf
1074 | 0
1075 |
1076 |
1077 | minoutbuf
1078 | 0
1079 |
1080 |
1081 | nfilts
1082 | 32
1083 |
1084 |
1085 | rrate
1086 | arb_resamp
1087 |
1088 |
1089 | samp_delay
1090 | 0
1091 |
1092 |
1093 | atten
1094 | 100
1095 |
1096 |
1097 | taps
1098 |
1099 |
1100 |
1101 | type
1102 | ccf
1103 |
1104 |
1105 |
1106 | pfb_interpolator_ccf
1107 |
1108 | atten
1109 | 90
1110 |
1111 |
1112 | alias
1113 |
1114 |
1115 |
1116 | comment
1117 |
1118 |
1119 |
1120 | affinity
1121 |
1122 |
1123 |
1124 | _enabled
1125 | 1
1126 |
1127 |
1128 | _coordinate
1129 | (152, 412)
1130 |
1131 |
1132 | _rotation
1133 | 0
1134 |
1135 |
1136 | id
1137 | pfb_interpolator_ccf_0
1138 |
1139 |
1140 | interp
1141 | interpolate
1142 |
1143 |
1144 | maxoutbuf
1145 | 0
1146 |
1147 |
1148 | minoutbuf
1149 | 0
1150 |
1151 |
1152 | samp_delay
1153 | 0
1154 |
1155 |
1156 | taps
1157 |
1158 |
1159 |
1160 |
1161 | wxgui_fftsink2
1162 |
1163 | avg_alpha
1164 | 0
1165 |
1166 |
1167 | average
1168 | False
1169 |
1170 |
1171 | baseband_freq
1172 | 0
1173 |
1174 |
1175 | alias
1176 |
1177 |
1178 |
1179 | comment
1180 |
1181 |
1182 |
1183 | affinity
1184 |
1185 |
1186 |
1187 | _enabled
1188 | 0
1189 |
1190 |
1191 | fft_size
1192 | 1024
1193 |
1194 |
1195 | freqvar
1196 | None
1197 |
1198 |
1199 | _coordinate
1200 | (1064, 204)
1201 |
1202 |
1203 | _rotation
1204 | 0
1205 |
1206 |
1207 | grid_pos
1208 |
1209 |
1210 |
1211 | id
1212 | wxgui_fftsink2_0
1213 |
1214 |
1215 | notebook
1216 |
1217 |
1218 |
1219 | peak_hold
1220 | False
1221 |
1222 |
1223 | ref_level
1224 | 0
1225 |
1226 |
1227 | ref_scale
1228 | 2.0
1229 |
1230 |
1231 | fft_rate
1232 | 15
1233 |
1234 |
1235 | samp_rate
1236 | out_rate
1237 |
1238 |
1239 | title
1240 | FFT Plot
1241 |
1242 |
1243 | type
1244 | float
1245 |
1246 |
1247 | win_size
1248 |
1249 |
1250 |
1251 | win
1252 | None
1253 |
1254 |
1255 | y_divs
1256 | 10
1257 |
1258 |
1259 | y_per_div
1260 | 10
1261 |
1262 |
1263 |
1264 | wxgui_scopesink2
1265 |
1266 | ac_couple
1267 | False
1268 |
1269 |
1270 | alias
1271 |
1272 |
1273 |
1274 | comment
1275 |
1276 |
1277 |
1278 | affinity
1279 |
1280 |
1281 |
1282 | _enabled
1283 | 0
1284 |
1285 |
1286 | _coordinate
1287 | (1064, 396)
1288 |
1289 |
1290 | _rotation
1291 | 0
1292 |
1293 |
1294 | grid_pos
1295 |
1296 |
1297 |
1298 | id
1299 | wxgui_scopesink2_1
1300 |
1301 |
1302 | notebook
1303 |
1304 |
1305 |
1306 | num_inputs
1307 | 2
1308 |
1309 |
1310 | samp_rate
1311 | out_rate
1312 |
1313 |
1314 | t_scale
1315 | 0.5
1316 |
1317 |
1318 | title
1319 | Saturation Detection
1320 |
1321 |
1322 | trig_mode
1323 | wxgui.TRIG_MODE_NORM
1324 |
1325 |
1326 | type
1327 | float
1328 |
1329 |
1330 | v_offset
1331 | 0
1332 |
1333 |
1334 | v_scale
1335 | 0.5
1336 |
1337 |
1338 | win_size
1339 |
1340 |
1341 |
1342 | xy_mode
1343 | True
1344 |
1345 |
1346 | y_axis_label
1347 | Counts
1348 |
1349 |
1350 |
1351 | analog_sig_source_x_0
1352 | blocks_multiply_xx_0
1353 | 0
1354 | 0
1355 |
1356 |
1357 | analog_sig_source_x_1
1358 | blocks_multiply_xx_1
1359 | 0
1360 | 1
1361 |
1362 |
1363 | blocks_add_xx_0
1364 | blocks_multiply_const_vxx_1
1365 | 0
1366 | 0
1367 |
1368 |
1369 | blocks_add_xx_0
1370 | wxgui_fftsink2_0
1371 | 0
1372 | 0
1373 |
1374 |
1375 | blocks_add_xx_0
1376 | wxgui_scopesink2_1
1377 | 0
1378 | 0
1379 |
1380 |
1381 | blocks_complex_to_float_0
1382 | blocks_multiply_xx_1
1383 | 1
1384 | 0
1385 |
1386 |
1387 | blocks_complex_to_float_0
1388 | blocks_multiply_xx_0
1389 | 0
1390 | 1
1391 |
1392 |
1393 | blocks_file_source_0_0_0
1394 | blocks_interleaved_short_to_complex_0_0
1395 | 0
1396 | 0
1397 |
1398 |
1399 | blocks_float_to_char_0
1400 | blocks_file_sink_1
1401 | 0
1402 | 0
1403 |
1404 |
1405 | blocks_interleaved_short_to_complex_0_0
1406 | blocks_throttle_0
1407 | 0
1408 | 0
1409 |
1410 |
1411 | blocks_multiply_const_vxx_0
1412 | pfb_arb_resampler_xxx_0
1413 | 0
1414 | 0
1415 |
1416 |
1417 | blocks_multiply_const_vxx_1
1418 | blocks_float_to_char_0
1419 | 0
1420 | 0
1421 |
1422 |
1423 | blocks_multiply_const_vxx_1
1424 | blocks_threshold_ff_0
1425 | 0
1426 | 0
1427 |
1428 |
1429 | blocks_multiply_xx_0
1430 | blocks_add_xx_0
1431 | 0
1432 | 0
1433 |
1434 |
1435 | blocks_multiply_xx_1
1436 | blocks_add_xx_0
1437 | 0
1438 | 1
1439 |
1440 |
1441 | blocks_threshold_ff_0
1442 | wxgui_scopesink2_1
1443 | 0
1444 | 1
1445 |
1446 |
1447 | blocks_throttle_0
1448 | blocks_multiply_const_vxx_0
1449 | 0
1450 | 0
1451 |
1452 |
1453 | pfb_arb_resampler_xxx_0
1454 | pfb_interpolator_ccf_0
1455 | 0
1456 | 0
1457 |
1458 |
1459 | pfb_interpolator_ccf_0
1460 | blocks_complex_to_float_0
1461 | 0
1462 | 0
1463 |
1464 |
1465 |
--------------------------------------------------------------------------------
/UMTS/openbts-umts_6.25e6.cs16.xz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/steve-m/fl2k-examples/8794a155741920162536623a61e0a34c343dc5c2/UMTS/openbts-umts_6.25e6.cs16.xz
--------------------------------------------------------------------------------