fm_radio.grc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524
  1. options:
  2. parameters:
  3. author: ''
  4. catch_exceptions: 'True'
  5. category: '[GRC Hier Blocks]'
  6. cmake_opt: ''
  7. comment: ''
  8. copyright: ''
  9. description: ''
  10. gen_cmake: 'On'
  11. gen_linking: dynamic
  12. generate_options: no_gui
  13. hier_block_src_path: '.:'
  14. id: fm_radio
  15. max_nouts: '0'
  16. output_language: python
  17. placement: (0,0)
  18. qt_qss_theme: ''
  19. realtime_scheduling: ''
  20. run: 'True'
  21. run_command: '{python} -u {filename}'
  22. run_options: prompt
  23. sizing_mode: fixed
  24. thread_safe_setters: ''
  25. title: FM Radio Receiver
  26. window_size: ''
  27. states:
  28. bus_sink: false
  29. bus_source: false
  30. bus_structure: null
  31. coordinate: [32, 34]
  32. rotation: 0
  33. state: enabled
  34. blocks:
  35. - name: audio_sample_rate_hertz
  36. id: variable
  37. parameters:
  38. comment: ''
  39. value: '48000'
  40. states:
  41. bus_sink: false
  42. bus_source: false
  43. bus_structure: null
  44. coordinate: [1105, 404]
  45. rotation: 0
  46. state: true
  47. - name: channel_width_hertz
  48. id: variable
  49. parameters:
  50. comment: ''
  51. value: '250000'
  52. states:
  53. bus_sink: false
  54. bus_source: false
  55. bus_structure: null
  56. coordinate: [705, 156]
  57. rotation: 0
  58. state: true
  59. - name: samp_rate
  60. id: variable
  61. parameters:
  62. comment: ''
  63. value: '2560000'
  64. states:
  65. bus_sink: false
  66. bus_source: false
  67. bus_structure: null
  68. coordinate: [33, 182]
  69. rotation: 0
  70. state: enabled
  71. - name: analog_wfm_rcv_0
  72. id: analog_wfm_rcv
  73. parameters:
  74. affinity: ''
  75. alias: ''
  76. audio_decimation: '1'
  77. comment: ''
  78. maxoutbuf: '0'
  79. minoutbuf: '0'
  80. quad_rate: channel_width_hertz
  81. states:
  82. bus_sink: false
  83. bus_source: false
  84. bus_structure: null
  85. coordinate: [1100, 261]
  86. rotation: 0
  87. state: enabled
  88. - name: audio_sink_0
  89. id: audio_sink
  90. parameters:
  91. affinity: ''
  92. alias: ''
  93. comment: ''
  94. device_name: ''
  95. num_inputs: '1'
  96. ok_to_block: 'True'
  97. samp_rate: audio_sample_rate_hertz
  98. states:
  99. bus_sink: false
  100. bus_source: false
  101. bus_structure: null
  102. coordinate: [1156, 503]
  103. rotation: 180
  104. state: enabled
  105. - name: low_pass_filter_0
  106. id: low_pass_filter
  107. parameters:
  108. affinity: ''
  109. alias: ''
  110. beta: '6.76'
  111. comment: https://de.wikipedia.org/wiki/Datei:UKW-Rundfunk-Basisband.svg
  112. cutoff_freq: '100000'
  113. decim: int(samp_rate/channel_width_hertz)
  114. gain: '2'
  115. interp: '1'
  116. maxoutbuf: '0'
  117. minoutbuf: '0'
  118. samp_rate: samp_rate
  119. type: fir_filter_ccf
  120. width: '10000'
  121. win: window.WIN_KAISER
  122. states:
  123. bus_sink: false
  124. bus_source: false
  125. bus_structure: null
  126. coordinate: [669, 283]
  127. rotation: 0
  128. state: true
  129. - name: rational_resampler_xxx_0
  130. id: rational_resampler_xxx
  131. parameters:
  132. affinity: ''
  133. alias: ''
  134. comment: ''
  135. decim: channel_width_hertz
  136. fbw: '0'
  137. interp: audio_sample_rate_hertz
  138. maxoutbuf: '0'
  139. minoutbuf: '0'
  140. taps: ''
  141. type: fff
  142. states:
  143. bus_sink: false
  144. bus_source: false
  145. bus_structure: null
  146. coordinate: [1576, 292]
  147. rotation: 0
  148. state: true
  149. - name: rtlsdr_source_0
  150. id: rtlsdr_source
  151. parameters:
  152. affinity: ''
  153. alias: ''
  154. ant0: ''
  155. ant1: ''
  156. ant10: ''
  157. ant11: ''
  158. ant12: ''
  159. ant13: ''
  160. ant14: ''
  161. ant15: ''
  162. ant16: ''
  163. ant17: ''
  164. ant18: ''
  165. ant19: ''
  166. ant2: ''
  167. ant20: ''
  168. ant21: ''
  169. ant22: ''
  170. ant23: ''
  171. ant24: ''
  172. ant25: ''
  173. ant26: ''
  174. ant27: ''
  175. ant28: ''
  176. ant29: ''
  177. ant3: ''
  178. ant30: ''
  179. ant31: ''
  180. ant4: ''
  181. ant5: ''
  182. ant6: ''
  183. ant7: ''
  184. ant8: ''
  185. ant9: ''
  186. args: '""'
  187. bb_gain0: '20'
  188. bb_gain1: '20'
  189. bb_gain10: '20'
  190. bb_gain11: '20'
  191. bb_gain12: '20'
  192. bb_gain13: '20'
  193. bb_gain14: '20'
  194. bb_gain15: '20'
  195. bb_gain16: '20'
  196. bb_gain17: '20'
  197. bb_gain18: '20'
  198. bb_gain19: '20'
  199. bb_gain2: '20'
  200. bb_gain20: '20'
  201. bb_gain21: '20'
  202. bb_gain22: '20'
  203. bb_gain23: '20'
  204. bb_gain24: '20'
  205. bb_gain25: '20'
  206. bb_gain26: '20'
  207. bb_gain27: '20'
  208. bb_gain28: '20'
  209. bb_gain29: '20'
  210. bb_gain3: '20'
  211. bb_gain30: '20'
  212. bb_gain31: '20'
  213. bb_gain4: '20'
  214. bb_gain5: '20'
  215. bb_gain6: '20'
  216. bb_gain7: '20'
  217. bb_gain8: '20'
  218. bb_gain9: '20'
  219. bw0: '0'
  220. bw1: '0'
  221. bw10: '0'
  222. bw11: '0'
  223. bw12: '0'
  224. bw13: '0'
  225. bw14: '0'
  226. bw15: '0'
  227. bw16: '0'
  228. bw17: '0'
  229. bw18: '0'
  230. bw19: '0'
  231. bw2: '0'
  232. bw20: '0'
  233. bw21: '0'
  234. bw22: '0'
  235. bw23: '0'
  236. bw24: '0'
  237. bw25: '0'
  238. bw26: '0'
  239. bw27: '0'
  240. bw28: '0'
  241. bw29: '0'
  242. bw3: '0'
  243. bw30: '0'
  244. bw31: '0'
  245. bw4: '0'
  246. bw5: '0'
  247. bw6: '0'
  248. bw7: '0'
  249. bw8: '0'
  250. bw9: '0'
  251. clock_source0: ''
  252. clock_source1: ''
  253. clock_source2: ''
  254. clock_source3: ''
  255. clock_source4: ''
  256. clock_source5: ''
  257. clock_source6: ''
  258. clock_source7: ''
  259. comment: '> What is the RTL-SDRs sample rate?
  260. > The maximum sample rate is 3.2 MS/s (mega samples per second).
  261. > However, the RTL-SDR is unstable at this rate and may drop samples.
  262. > The maximum sample rate that does not drop samples is 2.56 MS/s, [...]
  263. https://www.rtl-sdr.com/about-rtl-sdr/'
  264. corr0: '0'
  265. corr1: '0'
  266. corr10: '0'
  267. corr11: '0'
  268. corr12: '0'
  269. corr13: '0'
  270. corr14: '0'
  271. corr15: '0'
  272. corr16: '0'
  273. corr17: '0'
  274. corr18: '0'
  275. corr19: '0'
  276. corr2: '0'
  277. corr20: '0'
  278. corr21: '0'
  279. corr22: '0'
  280. corr23: '0'
  281. corr24: '0'
  282. corr25: '0'
  283. corr26: '0'
  284. corr27: '0'
  285. corr28: '0'
  286. corr29: '0'
  287. corr3: '0'
  288. corr30: '0'
  289. corr31: '0'
  290. corr4: '0'
  291. corr5: '0'
  292. corr6: '0'
  293. corr7: '0'
  294. corr8: '0'
  295. corr9: '0'
  296. dc_offset_mode0: '0'
  297. dc_offset_mode1: '0'
  298. dc_offset_mode10: '0'
  299. dc_offset_mode11: '0'
  300. dc_offset_mode12: '0'
  301. dc_offset_mode13: '0'
  302. dc_offset_mode14: '0'
  303. dc_offset_mode15: '0'
  304. dc_offset_mode16: '0'
  305. dc_offset_mode17: '0'
  306. dc_offset_mode18: '0'
  307. dc_offset_mode19: '0'
  308. dc_offset_mode2: '0'
  309. dc_offset_mode20: '0'
  310. dc_offset_mode21: '0'
  311. dc_offset_mode22: '0'
  312. dc_offset_mode23: '0'
  313. dc_offset_mode24: '0'
  314. dc_offset_mode25: '0'
  315. dc_offset_mode26: '0'
  316. dc_offset_mode27: '0'
  317. dc_offset_mode28: '0'
  318. dc_offset_mode29: '0'
  319. dc_offset_mode3: '0'
  320. dc_offset_mode30: '0'
  321. dc_offset_mode31: '0'
  322. dc_offset_mode4: '0'
  323. dc_offset_mode5: '0'
  324. dc_offset_mode6: '0'
  325. dc_offset_mode7: '0'
  326. dc_offset_mode8: '0'
  327. dc_offset_mode9: '0'
  328. freq0: 98.3*1e6
  329. freq1: 100e6
  330. freq10: 100e6
  331. freq11: 100e6
  332. freq12: 100e6
  333. freq13: 100e6
  334. freq14: 100e6
  335. freq15: 100e6
  336. freq16: 100e6
  337. freq17: 100e6
  338. freq18: 100e6
  339. freq19: 100e6
  340. freq2: 100e6
  341. freq20: 100e6
  342. freq21: 100e6
  343. freq22: 100e6
  344. freq23: 100e6
  345. freq24: 100e6
  346. freq25: 100e6
  347. freq26: 100e6
  348. freq27: 100e6
  349. freq28: 100e6
  350. freq29: 100e6
  351. freq3: 100e6
  352. freq30: 100e6
  353. freq31: 100e6
  354. freq4: 100e6
  355. freq5: 100e6
  356. freq6: 100e6
  357. freq7: 100e6
  358. freq8: 100e6
  359. freq9: 100e6
  360. gain0: '20'
  361. gain1: '10'
  362. gain10: '10'
  363. gain11: '10'
  364. gain12: '10'
  365. gain13: '10'
  366. gain14: '10'
  367. gain15: '10'
  368. gain16: '10'
  369. gain17: '10'
  370. gain18: '10'
  371. gain19: '10'
  372. gain2: '10'
  373. gain20: '10'
  374. gain21: '10'
  375. gain22: '10'
  376. gain23: '10'
  377. gain24: '10'
  378. gain25: '10'
  379. gain26: '10'
  380. gain27: '10'
  381. gain28: '10'
  382. gain29: '10'
  383. gain3: '10'
  384. gain30: '10'
  385. gain31: '10'
  386. gain4: '10'
  387. gain5: '10'
  388. gain6: '10'
  389. gain7: '10'
  390. gain8: '10'
  391. gain9: '10'
  392. gain_mode0: 'False'
  393. gain_mode1: 'False'
  394. gain_mode10: 'False'
  395. gain_mode11: 'False'
  396. gain_mode12: 'False'
  397. gain_mode13: 'False'
  398. gain_mode14: 'False'
  399. gain_mode15: 'False'
  400. gain_mode16: 'False'
  401. gain_mode17: 'False'
  402. gain_mode18: 'False'
  403. gain_mode19: 'False'
  404. gain_mode2: 'False'
  405. gain_mode20: 'False'
  406. gain_mode21: 'False'
  407. gain_mode22: 'False'
  408. gain_mode23: 'False'
  409. gain_mode24: 'False'
  410. gain_mode25: 'False'
  411. gain_mode26: 'False'
  412. gain_mode27: 'False'
  413. gain_mode28: 'False'
  414. gain_mode29: 'False'
  415. gain_mode3: 'False'
  416. gain_mode30: 'False'
  417. gain_mode31: 'False'
  418. gain_mode4: 'False'
  419. gain_mode5: 'False'
  420. gain_mode6: 'False'
  421. gain_mode7: 'False'
  422. gain_mode8: 'False'
  423. gain_mode9: 'False'
  424. if_gain0: '20'
  425. if_gain1: '20'
  426. if_gain10: '20'
  427. if_gain11: '20'
  428. if_gain12: '20'
  429. if_gain13: '20'
  430. if_gain14: '20'
  431. if_gain15: '20'
  432. if_gain16: '20'
  433. if_gain17: '20'
  434. if_gain18: '20'
  435. if_gain19: '20'
  436. if_gain2: '20'
  437. if_gain20: '20'
  438. if_gain21: '20'
  439. if_gain22: '20'
  440. if_gain23: '20'
  441. if_gain24: '20'
  442. if_gain25: '20'
  443. if_gain26: '20'
  444. if_gain27: '20'
  445. if_gain28: '20'
  446. if_gain29: '20'
  447. if_gain3: '20'
  448. if_gain30: '20'
  449. if_gain31: '20'
  450. if_gain4: '20'
  451. if_gain5: '20'
  452. if_gain6: '20'
  453. if_gain7: '20'
  454. if_gain8: '20'
  455. if_gain9: '20'
  456. iq_balance_mode0: '0'
  457. iq_balance_mode1: '0'
  458. iq_balance_mode10: '0'
  459. iq_balance_mode11: '0'
  460. iq_balance_mode12: '0'
  461. iq_balance_mode13: '0'
  462. iq_balance_mode14: '0'
  463. iq_balance_mode15: '0'
  464. iq_balance_mode16: '0'
  465. iq_balance_mode17: '0'
  466. iq_balance_mode18: '0'
  467. iq_balance_mode19: '0'
  468. iq_balance_mode2: '0'
  469. iq_balance_mode20: '0'
  470. iq_balance_mode21: '0'
  471. iq_balance_mode22: '0'
  472. iq_balance_mode23: '0'
  473. iq_balance_mode24: '0'
  474. iq_balance_mode25: '0'
  475. iq_balance_mode26: '0'
  476. iq_balance_mode27: '0'
  477. iq_balance_mode28: '0'
  478. iq_balance_mode29: '0'
  479. iq_balance_mode3: '0'
  480. iq_balance_mode30: '0'
  481. iq_balance_mode31: '0'
  482. iq_balance_mode4: '0'
  483. iq_balance_mode5: '0'
  484. iq_balance_mode6: '0'
  485. iq_balance_mode7: '0'
  486. iq_balance_mode8: '0'
  487. iq_balance_mode9: '0'
  488. maxoutbuf: '0'
  489. minoutbuf: '0'
  490. nchan: '1'
  491. num_mboards: '1'
  492. sample_rate: samp_rate
  493. sync: sync
  494. time_source0: ''
  495. time_source1: ''
  496. time_source2: ''
  497. time_source3: ''
  498. time_source4: ''
  499. time_source5: ''
  500. time_source6: ''
  501. time_source7: ''
  502. type: fc32
  503. states:
  504. bus_sink: false
  505. bus_source: false
  506. bus_structure: null
  507. coordinate: [31, 290]
  508. rotation: 0
  509. state: true
  510. connections:
  511. - [analog_wfm_rcv_0, '0', rational_resampler_xxx_0, '0']
  512. - [low_pass_filter_0, '0', analog_wfm_rcv_0, '0']
  513. - [rational_resampler_xxx_0, '0', audio_sink_0, '0']
  514. - [rtlsdr_source_0, '0', low_pass_filter_0, '0']
  515. metadata:
  516. file_format: 1
  517. grc_version: 3.10.5.1