fm_radio.grc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. options:
  2. parameters:
  3. author: fabianpeter
  4. category: '[GRC Hier Blocks]'
  5. cmake_opt: ''
  6. comment: ''
  7. copyright: ''
  8. description: ''
  9. gen_cmake: 'On'
  10. gen_linking: dynamic
  11. generate_options: qt_gui
  12. hier_block_src_path: '.:'
  13. id: fm_radio
  14. max_nouts: '0'
  15. output_language: python
  16. placement: (0,0)
  17. qt_qss_theme: ''
  18. realtime_scheduling: ''
  19. run: 'True'
  20. run_command: '{python} -u {filename}'
  21. run_options: prompt
  22. sizing_mode: fixed
  23. thread_safe_setters: ''
  24. title: Not titled yet
  25. window_size: ''
  26. states:
  27. bus_sink: false
  28. bus_source: false
  29. bus_structure: null
  30. coordinate: [67, 22]
  31. rotation: 0
  32. state: enabled
  33. blocks:
  34. - name: down_rate_hertz
  35. id: variable
  36. parameters:
  37. comment: ''
  38. value: '250000'
  39. states:
  40. bus_sink: false
  41. bus_source: false
  42. bus_structure: null
  43. coordinate: [951, 44]
  44. rotation: 0
  45. state: true
  46. - name: frequency_mhz
  47. id: variable_qtgui_range
  48. parameters:
  49. comment: ''
  50. gui_hint: ''
  51. label: Frequency MHz
  52. min_len: '200'
  53. orient: Qt.Horizontal
  54. rangeType: float
  55. start: '87.5'
  56. step: '0.1'
  57. stop: '108'
  58. value: '98.3'
  59. widget: counter_slider
  60. states:
  61. bus_sink: false
  62. bus_source: false
  63. bus_structure: null
  64. coordinate: [528, 22]
  65. rotation: 0
  66. state: true
  67. - name: samp_rate
  68. id: variable
  69. parameters:
  70. comment: ''
  71. value: '2560000'
  72. states:
  73. bus_sink: false
  74. bus_source: false
  75. bus_structure: null
  76. coordinate: [947, 163]
  77. rotation: 0
  78. state: enabled
  79. - name: volume
  80. id: variable_qtgui_range
  81. parameters:
  82. comment: ''
  83. gui_hint: ''
  84. label: Volume
  85. min_len: '200'
  86. orient: Qt.Horizontal
  87. rangeType: float
  88. start: '0'
  89. step: '0.05'
  90. stop: '1'
  91. value: '0.5'
  92. widget: counter_slider
  93. states:
  94. bus_sink: false
  95. bus_source: false
  96. bus_structure: null
  97. coordinate: [1312, 52]
  98. rotation: 0
  99. state: true
  100. - name: analog_wfm_rcv_0
  101. id: analog_wfm_rcv
  102. parameters:
  103. affinity: ''
  104. alias: ''
  105. audio_decimation: '1'
  106. comment: ''
  107. maxoutbuf: '0'
  108. minoutbuf: '0'
  109. quad_rate: down_rate_hertz
  110. states:
  111. bus_sink: false
  112. bus_source: false
  113. bus_structure: null
  114. coordinate: [1018, 596]
  115. rotation: 0
  116. state: enabled
  117. - name: audio_sink_0
  118. id: audio_sink
  119. parameters:
  120. affinity: ''
  121. alias: ''
  122. comment: ''
  123. device_name: ''
  124. num_inputs: '1'
  125. ok_to_block: 'True'
  126. samp_rate: '48000'
  127. states:
  128. bus_sink: false
  129. bus_source: false
  130. bus_structure: null
  131. coordinate: [2025, 758]
  132. rotation: 0
  133. state: enabled
  134. - name: blocks_multiply_const_vxx_0
  135. id: blocks_multiply_const_vxx
  136. parameters:
  137. affinity: ''
  138. alias: ''
  139. comment: ''
  140. const: volume
  141. maxoutbuf: '0'
  142. minoutbuf: '0'
  143. type: float
  144. vlen: '1'
  145. states:
  146. bus_sink: false
  147. bus_source: false
  148. bus_structure: null
  149. coordinate: [1735, 527]
  150. rotation: 0
  151. state: true
  152. - name: low_pass_filter_0
  153. id: low_pass_filter
  154. parameters:
  155. affinity: ''
  156. alias: ''
  157. beta: '6.76'
  158. comment: https://de.wikipedia.org/wiki/Datei:UKW-Rundfunk-Basisband.svg
  159. cutoff_freq: '100000'
  160. decim: int(samp_rate/down_rate_hertz)
  161. gain: '2'
  162. interp: '1'
  163. maxoutbuf: '0'
  164. minoutbuf: '0'
  165. samp_rate: samp_rate
  166. type: fir_filter_ccf
  167. width: '10000'
  168. win: firdes.WIN_KAISER
  169. states:
  170. bus_sink: false
  171. bus_source: false
  172. bus_structure: null
  173. coordinate: [612, 520]
  174. rotation: 0
  175. state: true
  176. - name: qtgui_freq_sink_x_0
  177. id: qtgui_freq_sink_x
  178. parameters:
  179. affinity: ''
  180. alias: ''
  181. alpha1: '1.0'
  182. alpha10: '1.0'
  183. alpha2: '1.0'
  184. alpha3: '1.0'
  185. alpha4: '1.0'
  186. alpha5: '1.0'
  187. alpha6: '1.0'
  188. alpha7: '1.0'
  189. alpha8: '1.0'
  190. alpha9: '1.0'
  191. autoscale: 'False'
  192. average: '1.0'
  193. axislabels: 'True'
  194. bw: down_rate_hertz
  195. color1: '"blue"'
  196. color10: '"dark blue"'
  197. color2: '"red"'
  198. color3: '"green"'
  199. color4: '"black"'
  200. color5: '"cyan"'
  201. color6: '"magenta"'
  202. color7: '"yellow"'
  203. color8: '"dark red"'
  204. color9: '"dark green"'
  205. comment: ''
  206. ctrlpanel: 'False'
  207. fc: '0'
  208. fftsize: '1024'
  209. freqhalf: 'True'
  210. grid: 'False'
  211. gui_hint: ''
  212. label: Relative Gain
  213. label1: ''
  214. label10: ''''''
  215. label2: ''''''
  216. label3: ''''''
  217. label4: ''''''
  218. label5: ''''''
  219. label6: ''''''
  220. label7: ''''''
  221. label8: ''''''
  222. label9: ''''''
  223. legend: 'False'
  224. maxoutbuf: '0'
  225. minoutbuf: '0'
  226. name: '"Demod Out"'
  227. nconnections: '1'
  228. showports: 'False'
  229. tr_chan: '0'
  230. tr_level: '0.0'
  231. tr_mode: qtgui.TRIG_MODE_FREE
  232. tr_tag: '""'
  233. type: float
  234. units: dB
  235. update_time: '0.10'
  236. width1: '1'
  237. width10: '1'
  238. width2: '1'
  239. width3: '1'
  240. width4: '1'
  241. width5: '1'
  242. width6: '1'
  243. width7: '1'
  244. width8: '1'
  245. width9: '1'
  246. wintype: firdes.WIN_BLACKMAN_hARRIS
  247. ymax: '10'
  248. ymin: '-140'
  249. states:
  250. bus_sink: false
  251. bus_source: false
  252. bus_structure: null
  253. coordinate: [1473, 330]
  254. rotation: 0
  255. state: true
  256. - name: qtgui_waterfall_sink_x_0
  257. id: qtgui_waterfall_sink_x
  258. parameters:
  259. affinity: ''
  260. alias: ''
  261. alpha1: '1.0'
  262. alpha10: '1.0'
  263. alpha2: '1.0'
  264. alpha3: '1.0'
  265. alpha4: '1.0'
  266. alpha5: '1.0'
  267. alpha6: '1.0'
  268. alpha7: '1.0'
  269. alpha8: '1.0'
  270. alpha9: '1.0'
  271. axislabels: 'True'
  272. bw: samp_rate
  273. color1: '0'
  274. color10: '0'
  275. color2: '0'
  276. color3: '0'
  277. color4: '0'
  278. color5: '0'
  279. color6: '0'
  280. color7: '0'
  281. color8: '0'
  282. color9: '0'
  283. comment: ''
  284. fc: frequency_mhz*1e6
  285. fftsize: '1048'
  286. freqhalf: 'True'
  287. grid: 'False'
  288. gui_hint: ''
  289. int_max: '10'
  290. int_min: '-140'
  291. label1: ''
  292. label10: ''
  293. label2: ''
  294. label3: ''
  295. label4: ''
  296. label5: ''
  297. label6: ''
  298. label7: ''
  299. label8: ''
  300. label9: ''
  301. legend: 'True'
  302. maxoutbuf: '0'
  303. minoutbuf: '0'
  304. name: '""'
  305. nconnections: '1'
  306. showports: 'False'
  307. type: complex
  308. update_time: '0.10'
  309. wintype: firdes.WIN_BLACKMAN_hARRIS
  310. states:
  311. bus_sink: false
  312. bus_source: false
  313. bus_structure: null
  314. coordinate: [659, 339]
  315. rotation: 0
  316. state: true
  317. - name: rational_resampler_xxx_0
  318. id: rational_resampler_xxx
  319. parameters:
  320. affinity: ''
  321. alias: ''
  322. comment: ''
  323. decim: down_rate_hertz
  324. fbw: '0'
  325. interp: '48000'
  326. maxoutbuf: '0'
  327. minoutbuf: '0'
  328. taps: ''
  329. type: fff
  330. states:
  331. bus_sink: false
  332. bus_source: false
  333. bus_structure: null
  334. coordinate: [1419, 699]
  335. rotation: 0
  336. state: true
  337. - name: rtlsdr_source_0
  338. id: rtlsdr_source
  339. parameters:
  340. affinity: ''
  341. alias: ''
  342. ant0: ''
  343. ant1: ''
  344. ant10: ''
  345. ant11: ''
  346. ant12: ''
  347. ant13: ''
  348. ant14: ''
  349. ant15: ''
  350. ant16: ''
  351. ant17: ''
  352. ant18: ''
  353. ant19: ''
  354. ant2: ''
  355. ant20: ''
  356. ant21: ''
  357. ant22: ''
  358. ant23: ''
  359. ant24: ''
  360. ant25: ''
  361. ant26: ''
  362. ant27: ''
  363. ant28: ''
  364. ant29: ''
  365. ant3: ''
  366. ant30: ''
  367. ant31: ''
  368. ant4: ''
  369. ant5: ''
  370. ant6: ''
  371. ant7: ''
  372. ant8: ''
  373. ant9: ''
  374. args: '""'
  375. bb_gain0: '20'
  376. bb_gain1: '20'
  377. bb_gain10: '20'
  378. bb_gain11: '20'
  379. bb_gain12: '20'
  380. bb_gain13: '20'
  381. bb_gain14: '20'
  382. bb_gain15: '20'
  383. bb_gain16: '20'
  384. bb_gain17: '20'
  385. bb_gain18: '20'
  386. bb_gain19: '20'
  387. bb_gain2: '20'
  388. bb_gain20: '20'
  389. bb_gain21: '20'
  390. bb_gain22: '20'
  391. bb_gain23: '20'
  392. bb_gain24: '20'
  393. bb_gain25: '20'
  394. bb_gain26: '20'
  395. bb_gain27: '20'
  396. bb_gain28: '20'
  397. bb_gain29: '20'
  398. bb_gain3: '20'
  399. bb_gain30: '20'
  400. bb_gain31: '20'
  401. bb_gain4: '20'
  402. bb_gain5: '20'
  403. bb_gain6: '20'
  404. bb_gain7: '20'
  405. bb_gain8: '20'
  406. bb_gain9: '20'
  407. bw0: '0'
  408. bw1: '0'
  409. bw10: '0'
  410. bw11: '0'
  411. bw12: '0'
  412. bw13: '0'
  413. bw14: '0'
  414. bw15: '0'
  415. bw16: '0'
  416. bw17: '0'
  417. bw18: '0'
  418. bw19: '0'
  419. bw2: '0'
  420. bw20: '0'
  421. bw21: '0'
  422. bw22: '0'
  423. bw23: '0'
  424. bw24: '0'
  425. bw25: '0'
  426. bw26: '0'
  427. bw27: '0'
  428. bw28: '0'
  429. bw29: '0'
  430. bw3: '0'
  431. bw30: '0'
  432. bw31: '0'
  433. bw4: '0'
  434. bw5: '0'
  435. bw6: '0'
  436. bw7: '0'
  437. bw8: '0'
  438. bw9: '0'
  439. clock_source0: ''
  440. clock_source1: ''
  441. clock_source2: ''
  442. clock_source3: ''
  443. clock_source4: ''
  444. clock_source5: ''
  445. clock_source6: ''
  446. clock_source7: ''
  447. comment: '> What is the RTL-SDRs sample rate?
  448. > The maximum sample rate is 3.2 MS/s (mega samples per second).
  449. > However, the RTL-SDR is unstable at this rate and may drop samples.
  450. > The maximum sample rate that does not drop samples is 2.56 MS/s, [...]
  451. https://www.rtl-sdr.com/about-rtl-sdr/'
  452. corr0: '0'
  453. corr1: '0'
  454. corr10: '0'
  455. corr11: '0'
  456. corr12: '0'
  457. corr13: '0'
  458. corr14: '0'
  459. corr15: '0'
  460. corr16: '0'
  461. corr17: '0'
  462. corr18: '0'
  463. corr19: '0'
  464. corr2: '0'
  465. corr20: '0'
  466. corr21: '0'
  467. corr22: '0'
  468. corr23: '0'
  469. corr24: '0'
  470. corr25: '0'
  471. corr26: '0'
  472. corr27: '0'
  473. corr28: '0'
  474. corr29: '0'
  475. corr3: '0'
  476. corr30: '0'
  477. corr31: '0'
  478. corr4: '0'
  479. corr5: '0'
  480. corr6: '0'
  481. corr7: '0'
  482. corr8: '0'
  483. corr9: '0'
  484. dc_offset_mode0: '0'
  485. dc_offset_mode1: '0'
  486. dc_offset_mode10: '0'
  487. dc_offset_mode11: '0'
  488. dc_offset_mode12: '0'
  489. dc_offset_mode13: '0'
  490. dc_offset_mode14: '0'
  491. dc_offset_mode15: '0'
  492. dc_offset_mode16: '0'
  493. dc_offset_mode17: '0'
  494. dc_offset_mode18: '0'
  495. dc_offset_mode19: '0'
  496. dc_offset_mode2: '0'
  497. dc_offset_mode20: '0'
  498. dc_offset_mode21: '0'
  499. dc_offset_mode22: '0'
  500. dc_offset_mode23: '0'
  501. dc_offset_mode24: '0'
  502. dc_offset_mode25: '0'
  503. dc_offset_mode26: '0'
  504. dc_offset_mode27: '0'
  505. dc_offset_mode28: '0'
  506. dc_offset_mode29: '0'
  507. dc_offset_mode3: '0'
  508. dc_offset_mode30: '0'
  509. dc_offset_mode31: '0'
  510. dc_offset_mode4: '0'
  511. dc_offset_mode5: '0'
  512. dc_offset_mode6: '0'
  513. dc_offset_mode7: '0'
  514. dc_offset_mode8: '0'
  515. dc_offset_mode9: '0'
  516. freq0: frequency_mhz*1e6
  517. freq1: 100e6
  518. freq10: 100e6
  519. freq11: 100e6
  520. freq12: 100e6
  521. freq13: 100e6
  522. freq14: 100e6
  523. freq15: 100e6
  524. freq16: 100e6
  525. freq17: 100e6
  526. freq18: 100e6
  527. freq19: 100e6
  528. freq2: 100e6
  529. freq20: 100e6
  530. freq21: 100e6
  531. freq22: 100e6
  532. freq23: 100e6
  533. freq24: 100e6
  534. freq25: 100e6
  535. freq26: 100e6
  536. freq27: 100e6
  537. freq28: 100e6
  538. freq29: 100e6
  539. freq3: 100e6
  540. freq30: 100e6
  541. freq31: 100e6
  542. freq4: 100e6
  543. freq5: 100e6
  544. freq6: 100e6
  545. freq7: 100e6
  546. freq8: 100e6
  547. freq9: 100e6
  548. gain0: '20'
  549. gain1: '10'
  550. gain10: '10'
  551. gain11: '10'
  552. gain12: '10'
  553. gain13: '10'
  554. gain14: '10'
  555. gain15: '10'
  556. gain16: '10'
  557. gain17: '10'
  558. gain18: '10'
  559. gain19: '10'
  560. gain2: '10'
  561. gain20: '10'
  562. gain21: '10'
  563. gain22: '10'
  564. gain23: '10'
  565. gain24: '10'
  566. gain25: '10'
  567. gain26: '10'
  568. gain27: '10'
  569. gain28: '10'
  570. gain29: '10'
  571. gain3: '10'
  572. gain30: '10'
  573. gain31: '10'
  574. gain4: '10'
  575. gain5: '10'
  576. gain6: '10'
  577. gain7: '10'
  578. gain8: '10'
  579. gain9: '10'
  580. gain_mode0: 'False'
  581. gain_mode1: 'False'
  582. gain_mode10: 'False'
  583. gain_mode11: 'False'
  584. gain_mode12: 'False'
  585. gain_mode13: 'False'
  586. gain_mode14: 'False'
  587. gain_mode15: 'False'
  588. gain_mode16: 'False'
  589. gain_mode17: 'False'
  590. gain_mode18: 'False'
  591. gain_mode19: 'False'
  592. gain_mode2: 'False'
  593. gain_mode20: 'False'
  594. gain_mode21: 'False'
  595. gain_mode22: 'False'
  596. gain_mode23: 'False'
  597. gain_mode24: 'False'
  598. gain_mode25: 'False'
  599. gain_mode26: 'False'
  600. gain_mode27: 'False'
  601. gain_mode28: 'False'
  602. gain_mode29: 'False'
  603. gain_mode3: 'False'
  604. gain_mode30: 'False'
  605. gain_mode31: 'False'
  606. gain_mode4: 'False'
  607. gain_mode5: 'False'
  608. gain_mode6: 'False'
  609. gain_mode7: 'False'
  610. gain_mode8: 'False'
  611. gain_mode9: 'False'
  612. if_gain0: '20'
  613. if_gain1: '20'
  614. if_gain10: '20'
  615. if_gain11: '20'
  616. if_gain12: '20'
  617. if_gain13: '20'
  618. if_gain14: '20'
  619. if_gain15: '20'
  620. if_gain16: '20'
  621. if_gain17: '20'
  622. if_gain18: '20'
  623. if_gain19: '20'
  624. if_gain2: '20'
  625. if_gain20: '20'
  626. if_gain21: '20'
  627. if_gain22: '20'
  628. if_gain23: '20'
  629. if_gain24: '20'
  630. if_gain25: '20'
  631. if_gain26: '20'
  632. if_gain27: '20'
  633. if_gain28: '20'
  634. if_gain29: '20'
  635. if_gain3: '20'
  636. if_gain30: '20'
  637. if_gain31: '20'
  638. if_gain4: '20'
  639. if_gain5: '20'
  640. if_gain6: '20'
  641. if_gain7: '20'
  642. if_gain8: '20'
  643. if_gain9: '20'
  644. iq_balance_mode0: '0'
  645. iq_balance_mode1: '0'
  646. iq_balance_mode10: '0'
  647. iq_balance_mode11: '0'
  648. iq_balance_mode12: '0'
  649. iq_balance_mode13: '0'
  650. iq_balance_mode14: '0'
  651. iq_balance_mode15: '0'
  652. iq_balance_mode16: '0'
  653. iq_balance_mode17: '0'
  654. iq_balance_mode18: '0'
  655. iq_balance_mode19: '0'
  656. iq_balance_mode2: '0'
  657. iq_balance_mode20: '0'
  658. iq_balance_mode21: '0'
  659. iq_balance_mode22: '0'
  660. iq_balance_mode23: '0'
  661. iq_balance_mode24: '0'
  662. iq_balance_mode25: '0'
  663. iq_balance_mode26: '0'
  664. iq_balance_mode27: '0'
  665. iq_balance_mode28: '0'
  666. iq_balance_mode29: '0'
  667. iq_balance_mode3: '0'
  668. iq_balance_mode30: '0'
  669. iq_balance_mode31: '0'
  670. iq_balance_mode4: '0'
  671. iq_balance_mode5: '0'
  672. iq_balance_mode6: '0'
  673. iq_balance_mode7: '0'
  674. iq_balance_mode8: '0'
  675. iq_balance_mode9: '0'
  676. maxoutbuf: '0'
  677. minoutbuf: '0'
  678. nchan: '1'
  679. num_mboards: '1'
  680. sample_rate: samp_rate
  681. sync: sync
  682. time_source0: ''
  683. time_source1: ''
  684. time_source2: ''
  685. time_source3: ''
  686. time_source4: ''
  687. time_source5: ''
  688. time_source6: ''
  689. time_source7: ''
  690. type: fc32
  691. states:
  692. bus_sink: false
  693. bus_source: false
  694. bus_structure: null
  695. coordinate: [23, 345]
  696. rotation: 0
  697. state: true
  698. connections:
  699. - [analog_wfm_rcv_0, '0', qtgui_freq_sink_x_0, '0']
  700. - [analog_wfm_rcv_0, '0', rational_resampler_xxx_0, '0']
  701. - [blocks_multiply_const_vxx_0, '0', audio_sink_0, '0']
  702. - [low_pass_filter_0, '0', analog_wfm_rcv_0, '0']
  703. - [rational_resampler_xxx_0, '0', blocks_multiply_const_vxx_0, '0']
  704. - [rtlsdr_source_0, '0', low_pass_filter_0, '0']
  705. - [rtlsdr_source_0, '0', qtgui_waterfall_sink_x_0, '0']
  706. metadata:
  707. file_format: 1