Yikes, I was playing quad_rate to see if I could change the behavior of my audio problem - I couldn't - but I forgot to restore to the correct quad_rate.
Enclosed is the corrected version. The quad_rate should be set to channel_width*12/5. -- Cinaed On 12/09/2018 01:39 PM, Cinaed Simson wrote: > Here's an example of broadcast FM. It's from the first couple of > tutorials at > > https://greatscottgadgets.com/sdr > > All you need to do is to change the samp rate and the center_freq, and > swap out the osmocom Source for the RTL-SDR Source. > > Since each channel is roughly 200 kHz wide, you probably won't get more > then 2 stations at a sampling rate of 2 MHz. > > I have HackRF One and it runs fine on my i7 at sampling rate of 20 MHz. > > However, this was the first time I tried on the i7 - and when I drop > the sampling rate to 2 MHz, I got the 'Ua's - audio underflows, > > But it sounded fine. Not sure what is causing the audio underflow. > > I would guess you should be able to replace the "Signal > Source/Multiply/Low Pass Filter" with the "Frequency Xlating FIR Filter" > or the "Low Pass Filter/Rational Resampler" with the polyphase filter bank. > > -- Cinaed > > > On 12/07/2018 11:33 AM, Luis Roca wrote: >> Thanks! >> >> On Fri, Dec 7, 2018 at 1:12 PM <discuss-gnuradio-requ...@gnu.org >> <mailto:discuss-gnuradio-requ...@gnu.org>> wrote: >> >> Send Discuss-gnuradio mailing list submissions to >> discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> >> To subscribe or unsubscribe via the World Wide Web, visit >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> or, via email, send a message with subject or body 'help' to >> discuss-gnuradio-requ...@gnu.org >> <mailto:discuss-gnuradio-requ...@gnu.org> >> >> You can reach the person managing the list at >> discuss-gnuradio-ow...@gnu.org >> <mailto:discuss-gnuradio-ow...@gnu.org> >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of Discuss-gnuradio digest..." >> >> >> Today's Topics: >> >> 1. Re: help: optimizing a fm broadcast flowchart. Getting >> multiple stations in a rtlsdr (Derek Kozel) (Luis Roca) >> 2. Re: help: optimizing a fm broadcast flowchart. Getting >> multiple stations in a rtlsdr (Derek Kozel) (Michael Dickens) >> 3. Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio (M?ller) >> 4. Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio (M?ller) >> 5. Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio (Christoph Mayer) >> 6. Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio (M?ller) >> 7. Receiving NOAA signals and passing to BB (Guilherme Theis) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Thu, 6 Dec 2018 13:17:01 -0400 >> From: Luis Roca <lrocaigu...@gmail.com <mailto:lrocaigu...@gmail.com>> >> To: discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast >> flowchart. Getting multiple stations in a rtlsdr (Derek Kozel) >> Message-ID: >> >> <CALNke=J=5-v5e6fspr+-ghrtzdbk3qrvb_hobehguf_gi9t...@mail.gmail.com >> <mailto:5-v5e6fspr%2b-ghrtzdbk3qrvb_hobehguf_gi9t...@mail.gmail.com>> >> Content-Type: text/plain; charset="utf-8" >> >> Thanks for your response Derek, we are using a FIR filter. I am >> including >> the flowchart >> >> On Thu, Dec 6, 2018 at 1:01 PM <discuss-gnuradio-requ...@gnu.org >> <mailto:discuss-gnuradio-requ...@gnu.org>> wrote: >> >> > Send Discuss-gnuradio mailing list submissions to >> > discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> > >> > To subscribe or unsubscribe via the World Wide Web, visit >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > or, via email, send a message with subject or body 'help' to >> > discuss-gnuradio-requ...@gnu.org >> <mailto:discuss-gnuradio-requ...@gnu.org> >> > >> > You can reach the person managing the list at >> > discuss-gnuradio-ow...@gnu.org >> <mailto:discuss-gnuradio-ow...@gnu.org> >> > >> > When replying, please edit your Subject line so it is more specific >> > than "Re: Contents of Discuss-gnuradio digest..." >> > >> > >> > Today's Topics: >> > >> > 1. help: optimizing a fm broadcast flowchart. Getting multiple >> > stations in a rtlsdr (Luis Roca) >> > 2. Re: help: optimizing a fm broadcast flowchart. Getting >> > multiple stations in a rtlsdr (Derek Kozel) >> > 3. Re: [USRP-users] Segmentation fault commands to USRP with >> > gnuradio (samuel verdon) >> > 4. Lock/unlock? (Albin Stig?) >> > >> > >> > ---------------------------------------------------------------------- >> > >> > Message: 1 >> > Date: Wed, 5 Dec 2018 20:54:52 -0400 >> > From: Luis Roca <lrocaigu...@gmail.com <mailto:lrocaigu...@gmail.com>> >> > To: discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> > Subject: [Discuss-gnuradio] help: optimizing a fm broadcast flowchart. >> > Getting multiple stations in a rtlsdr >> > Message-ID: >> > <CALNke= >> > kkgriikg8stg-d_srpv31oe7nk3biysg8ihojsfmg...@mail.gmail.com >> <mailto:kkgriikg8stg-d_srpv31oe7nk3biysg8ihojsfmg...@mail.gmail.com>> >> > Content-Type: text/plain; charset="utf-8" >> > >> > Thanks for this great software. We are tinkering with a setup for >> listening >> > to radio and storing the streams as wavs. We have two challenges >> that we >> > haven't been able to tackle satisfactorily. Any help would be >> appreciated. >> > >> > 1. What do we need in order to tune into as many stations as an >> rtlsdr can >> > fit in its bandwidth and create wav files for each one. In our >> setup we use >> > each sdr for a single station but scaling is a challenge. >> > >> > 2. How can we optimize our existing flowchart ( included >> screenshot) for >> > broadcasting wavs from the computer thru a hackRF. We use this >> for testing >> > the sdr setup. >> > >> > Thanks all, >> > Luis >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL: < >> > >> >> http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181205/f813c036/attachment.html >> > > >> > >> > ------------------------------ >> > >> > Message: 2 >> > Date: Thu, 6 Dec 2018 13:50:09 +0000 >> > From: Derek Kozel <derek.ko...@gmail.com >> <mailto:derek.ko...@gmail.com>> >> > To: discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> > Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast >> > flowchart. Getting multiple stations in a rtlsdr >> > Message-ID: <3da22a95-25bb-d46f-4780-ace2b1541...@gmail.com >> <mailto:3da22a95-25bb-d46f-4780-ace2b1541...@gmail.com>> >> > Content-Type: text/plain; charset="utf-8"; Format="flowed" >> > >> > Hi Luis, >> > >> > At least on my end I can't see an attachment. Since FM broadcast >> > stations are regularly spaced the polyphase filterbank is a good >> choice >> > for separating out each of the individual channels. You can then >> use the >> > same demodulation set of blocks and file sink that you're (presumably) >> > using now to handle each channel. >> > >> > Regards, >> > Derek >> > >> > On 06/12/2018 00:54, Luis Roca wrote: >> > > Thanks for this great software. We are tinkering with a setup for >> > > listening to radio and storing the streams as wavs.? We have two >> > > challenges that we haven't been able to tackle satisfactorily.? Any >> > > help would be appreciated. >> > > >> > > 1. What do we need in order to tune into as many stations as an >> rtlsdr >> > > can fit in its bandwidth and create wav files for each one. In our >> > > setup we use each sdr for a single station but scaling is a >> challenge. >> > > >> > > 2. How can we optimize our existing flowchart ( included screenshot) >> > > for broadcasting wavs from the computer thru a hackRF.? We use this >> > > for testing the sdr setup. >> > > >> > > Thanks all, >> > > Luis >> > > >> > > _______________________________________________ >> > > Discuss-gnuradio mailing list >> > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL: < >> > >> >> http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/4b58fd34/attachment.html >> > > >> > >> > ------------------------------ >> > >> > Message: 3 >> > Date: Thu, 6 Dec 2018 16:48:52 +0100 >> > From: samuel verdon <sam.ver...@gmail.com >> <mailto:sam.ver...@gmail.com>> >> > To: Marcus M?ller <marcus.muel...@ettus.com >> <mailto:marcus.muel...@ettus.com>>, >> > "discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org>" <discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org>> >> > Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault >> > commands to USRP with gnuradio >> > Message-ID: <5c0944e5.1c69fb81.4463e.0...@mx.google.com >> <mailto:5c0944e5.1c69fb81.4463e.0...@mx.google.com>> >> > Content-Type: text/plain; charset="utf-8" >> > >> > Hi Marcus and Martin, >> > Thank you for your help! >> > Do you now how I can follow the problem? >> > Or if is it already solved, how can I fix it? >> > >> > Thanks a lot! >> > >> > Samuel >> > >> > >> > De?: Marcus M?ller >> > Envoy? le?:Wednesday, December 5, 2018 13:50 >> > ??: discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>; >> samuel verdon >> > Cc?: Martin Braun >> > Objet?:Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio >> > >> > <ugly expletive> >> > this looks like my fault. Not feeling well enough to fix now, but wait >> > a day and I'll have something to test. >> > On Wed, 2018-12-05 at 12:56 +0100, Marcus M?ller wrote: >> > > Hi Samuel, >> > > >> > > cool! That's really helpful :) >> > > >> > > I'm now cross-posting this to discuss-gr, because it's a GNU Radio- >> > > land >> > > issue. The maintainers of gr-uhd are active over there, too, so this >> > > seems the smarter place to continue discussion. >> > > >> > > >> > > so, in medias res: >> > > >> > > On Wed, 2018-12-05 at 12:43 +0100, samuel verdon wrote: >> > > > #3 0x00007f7f15906700 in pmt::dict_has_key (dict=..., key=...) at >> > > > /usr/local/src/gnuradio/gnuradio-runtime/lib/pmt/pmt.cc:937 >> > > >> > > m?p m???p. Our favorite (only) variadic type library leads to >> > > segfaults. >> > > >> > > I'll look into that and be back in a while. >> > > >> > > Best regards, >> > > Marcus >> > > >> > >> > >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL: < >> > >> >> http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/0116089a/attachment.html >> > > >> > >> > ------------------------------ >> > >> > Message: 4 >> > Date: Thu, 6 Dec 2018 17:51:39 +0100 >> > From: Albin Stig? <albin.st...@gmail.com >> <mailto:albin.st...@gmail.com>> >> > To: GNURadio Discussion List <discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org>> >> > Subject: [Discuss-gnuradio] Lock/unlock? >> > Message-ID: >> > < >> > camc++1wbw0bum8wo446sl4hscqrag9k9jj75hw7pmc04-zp...@mail.gmail.com >> >> <mailto:camc%2b%2b1wbw0bum8wo446sl4hscqrag9k9jj75hw7pmc04-zp...@mail.gmail.com>> >> > Content-Type: text/plain; charset="utf-8" >> > >> > Does calling lock/unlock on a top block call the stop method on >> connected >> > blocks? And does it flush/empty buffers? >> > >> > >> > --Albin >> > -------------- next part -------------- >> > An HTML attachment was scrubbed... >> > URL: < >> > >> >> http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/4fd8d57e/attachment.html >> > > >> > >> > ------------------------------ >> > >> > Subject: Digest Footer >> > >> > _______________________________________________ >> > Discuss-gnuradio mailing list >> > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > >> > >> > ------------------------------ >> > >> > End of Discuss-gnuradio Digest, Vol 194, Issue 5 >> > ************************************************ >> > >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> >> <http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/ab22faea/attachment.html> >> -------------- next part -------------- >> A non-text attachment was scrubbed... >> Name: Screen Shot 2018-12-06 at 12.10.23 PM.jpeg >> Type: image/jpeg >> Size: 241723 bytes >> Desc: not available >> URL: >> >> <http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/ab22faea/attachment.jpeg> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 06 Dec 2018 12:33:56 -0500 >> From: Michael Dickens <michael.dick...@ettus.com >> <mailto:michael.dick...@ettus.com>> >> To: Luis Roca <lrocaigu...@gmail.com >> <mailto:lrocaigu...@gmail.com>>, discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org> >> Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast >> flowchart. Getting multiple stations in a rtlsdr (Derek Kozel) >> Message-ID: >> >> <1544117636.734517.1601150376.31a23...@webmail.messagingengine.com >> >> <mailto:1544117636.734517.1601150376.31a23...@webmail.messagingengine.com>> >> Content-Type: text/plain; charset="utf-8" >> >> Unless your host computer's CPU is way underpowered, I'm with Derek >> here: use polyphase filterbanks to channelize into 200 kHz bandwidth per >> channel, then have a bank of FM demodulators, one per channel. Output to >> files, or display, or whatever you need. - MLD >> On Thu, Dec 6, 2018, at 12:17 PM, Luis Roca wrote: >> > Thanks for your response Derek, we are using a FIR filter. I am >> > including the flowchart> Email had 1 attachment: >> > * Screen Shot 2018-12-06 at 12.10.23 PM.jpeg 331k (image/jpeg) >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> >> <http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181206/46a4e5f9/attachment.html> >> >> ------------------------------ >> >> Message: 3 >> Date: Fri, 7 Dec 2018 10:21:24 +0000 >> From: M?ller, Marcus (CEL) <muel...@kit.edu <mailto:muel...@kit.edu>> >> To: "discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>" >> <discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>>, >> "sam.ver...@gmail.com <mailto:sam.ver...@gmail.com>" >> <sam.ver...@gmail.com <mailto:sam.ver...@gmail.com>>, >> "marcus.muel...@ettus.com >> <mailto:marcus.muel...@ettus.com>" <marcus.muel...@ettus.com >> <mailto:marcus.muel...@ettus.com>> >> Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault >> commands to USRP with gnuradio >> Message-ID: <71e7afacdda941e9edceeb417814b3497eef867d.ca...@kit.edu >> <mailto:71e7afacdda941e9edceeb417814b3497eef867d.ca...@kit.edu>> >> Content-Type: text/plain; charset="utf-8" >> >> Hi Samuel, >> >> so, my guess is that once again, we're running into the C++-specific >> static initialization order fiasco (SIOF, yes, it's a term) for the PMT >> keys used in the dicts. >> >> Solution: I've extracted functions to return these keys and statically >> initialize them but once, because PMT's pmt_symbol creation is >> relatively CPU-intense, and shouldn't be done at run time. >> >> Somehow, it seems, that can sometimes lead to different notions of the >> same symbol. >> >> Solution: I was going to go in there, and instead of having these >> functions that all look like >> >> const pmt::pmt_t gr::uhd::cmd_time_key() >> { >> static const pmt::pmt_t val >> = pmt::mp("time"); >> return val; >> } >> >> just go in there, and give each instance of a usrp_block its own const >> fields of the same name, and initialize them in block constructor >> initialization list; that's what I did for the rest of GR, and I hope >> it works there. >> >> Best regards, >> Marcus >> >> On Thu, 2018-12-06 at 16:48 +0100, samuel verdon wrote: >> > Hi Marcus and Martin, >> > Thank you for your help! >> > Do you now how I can follow the problem? >> > Or if is it already solved, how can I fix it? >> > >> > Thanks a lot! >> > >> > Samuel >> > >> > >> > De : Marcus M?ller >> > Envoy? le :Wednesday, December 5, 2018 13:50 >> > ? : discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>; >> samuel verdon >> > Cc : Martin Braun >> > Objet :Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio >> > >> > <ugly expletive> >> > this looks like my fault. Not feeling well enough to fix now, but wait >> > a day and I'll have something to test. >> > On Wed, 2018-12-05 at 12:56 +0100, Marcus M?ller wrote: >> > > Hi Samuel, >> > > >> > > cool! That's really helpful :) >> > > >> > > I'm now cross-posting this to discuss-gr, because it's a GNU Radio- >> > > land >> > > issue. The maintainers of gr-uhd are active over there, too, so this >> > > seems the smarter place to continue discussion. >> > > >> > > >> > > so, in medias res: >> > > >> > > On Wed, 2018-12-05 at 12:43 +0100, samuel verdon wrote: >> > > > #3 0x00007f7f15906700 in pmt::dict_has_key (dict=..., key=...) at >> > > > /usr/local/src/gnuradio/gnuradio-runtime/lib/pmt/pmt.cc:937 >> > > >> > > m?p m???p. Our favorite (only) variadic type library leads to >> > > segfaults. >> > > >> > > I'll look into that and be back in a while. >> > > >> > > Best regards, >> > > Marcus >> > > >> > >> > >> > _______________________________________________ >> > Discuss-gnuradio mailing list >> > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> ------------------------------ >> >> Message: 4 >> Date: Fri, 7 Dec 2018 10:30:34 +0000 >> From: M?ller, Marcus (CEL) <muel...@kit.edu <mailto:muel...@kit.edu>> >> To: "discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>" >> <discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>> >> Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault >> commands to USRP with gnuradio >> Message-ID: <10f739cc901fb14337ee55b76639cb0808a12cdb.ca...@kit.edu >> <mailto:10f739cc901fb14337ee55b76639cb0808a12cdb.ca...@kit.edu>> >> Content-Type: text/plain; charset="utf-8" >> >> By the way, I think the reason this goes wrong is that a) I've managed >> to run into the Static Initialization Order Fiasco, destructor edition, >> and b) that can't be solved with pmt_t, as pmt_t is actually a typedef >> for smart_pointer<actual_type>, and the moment the statically generated >> object (the smart pointer) leaves scope of the consuming function the >> first time, its destructor is being called. >> >> So, yay, if that assessment is correct, by putting PMT keys into the >> members of class instances, I've only postponed the problem you're >> seeing now to the destruction of blocks, and since that typically >> doesn't happen until the end of programs, it doesn't "hurt" anyone. >> >> It's still wrong, and would lead to unpredictable behaviour in case >> someone cleans up blocks at runtime. Which they should be able to do. >> >> Soooo argh. No simple solution here. Anyone a great idea? >> >> Best regards, >> Marcus >> On Fri, 2018-12-07 at 10:21 +0000, M?ller, Marcus (CEL) wrote: >> > Hi Samuel, >> > >> > so, my guess is that once again, we're running into the C++-specific >> > static initialization order fiasco (SIOF, yes, it's a term) for >> the PMT >> > keys used in the dicts. >> > >> > Solution: I've extracted functions to return these keys and statically >> > initialize them but once, because PMT's pmt_symbol creation is >> > relatively CPU-intense, and shouldn't be done at run time. >> > >> > Somehow, it seems, that can sometimes lead to different notions of the >> > same symbol. >> > >> > Solution: I was going to go in there, and instead of having these >> > functions that all look like >> > >> > const pmt::pmt_t gr::uhd::cmd_time_key() >> > { >> > static const pmt::pmt_t val >> > = pmt::mp("time"); >> > return val; >> > } >> > >> > just go in there, and give each instance of a usrp_block its own const >> > fields of the same name, and initialize them in block constructor >> > initialization list; that's what I did for the rest of GR, and I hope >> > it works there. >> > >> > Best regards, >> > Marcus >> > >> > On Thu, 2018-12-06 at 16:48 +0100, samuel verdon wrote: >> > > Hi Marcus and Martin, >> > > Thank you for your help! >> > > Do you now how I can follow the problem? >> > > Or if is it already solved, how can I fix it? >> > > >> > > Thanks a lot! >> > > >> > > Samuel >> > > >> > > >> > > De : Marcus M?ller >> > > Envoy? le :Wednesday, December 5, 2018 13:50 >> > > ? : discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>; >> samuel verdon >> > > Cc : Martin Braun >> > > Objet :Re: [USRP-users] Segmentation fault commands to USRP with >> gnuradio >> > > >> > > <ugly expletive> >> > > this looks like my fault. Not feeling well enough to fix now, >> but wait >> > > a day and I'll have something to test. >> > > On Wed, 2018-12-05 at 12:56 +0100, Marcus M?ller wrote: >> > > > Hi Samuel, >> > > > >> > > > cool! That's really helpful :) >> > > > >> > > > I'm now cross-posting this to discuss-gr, because it's a GNU >> Radio- >> > > > land >> > > > issue. The maintainers of gr-uhd are active over there, too, >> so this >> > > > seems the smarter place to continue discussion. >> > > > >> > > > >> > > > so, in medias res: >> > > > >> > > > On Wed, 2018-12-05 at 12:43 +0100, samuel verdon wrote: >> > > > > #3 0x00007f7f15906700 in pmt::dict_has_key (dict=..., >> key=...) at >> > > > > /usr/local/src/gnuradio/gnuradio-runtime/lib/pmt/pmt.cc:937 >> > > > >> > > > m?p m???p. Our favorite (only) variadic type library leads to >> > > > segfaults. >> > > > >> > > > I'll look into that and be back in a while. >> > > > >> > > > Best regards, >> > > > Marcus >> > > > >> > > >> > > >> > > >> > > _______________________________________________ >> > > Discuss-gnuradio mailing list >> > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > >> > _______________________________________________ >> > Discuss-gnuradio mailing list >> > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> ------------------------------ >> >> Message: 5 >> Date: Fri, 7 Dec 2018 13:00:53 +0100 >> From: Christoph Mayer <hca...@gmail.com <mailto:hca...@gmail.com>> >> To: muel...@kit.edu <mailto:muel...@kit.edu> >> Cc: discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org> >> Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault >> commands to USRP with gnuradio >> Message-ID: >> >> <CAJahsjWMGnZJShTFH8-n+hdz_0fqa5Zk4=tbahxsma4ssuc...@mail.gmail.com >> <mailto:tbahxsma4ssuc...@mail.gmail.com>> >> Content-Type: text/plain; charset="UTF-8" >> >> Hi Marcus, >> >> what is the reason for having >> typedef boost::intrusive_ptr<pmt_base> pmt_t; >> and not using a shared_ptr? >> >> As far as I understand, if a shared_ptr instead of >> boost::intrusive_ptr were used, one could use either the method >> described here: >> >> https://www.boost.org/doc/libs/1_68_0/libs/smart_ptr/doc/html/smart_ptr.html#techniques_static >> or use the aliasing constructor of a shared_ptr (probably better). >> >> Best regards >> Christoph >> >> On Fri, Dec 7, 2018 at 11:32 AM M?ller, Marcus (CEL) >> <muel...@kit.edu <mailto:muel...@kit.edu>> wrote: >> > >> > By the way, I think the reason this goes wrong is that a) I've managed >> > to run into the Static Initialization Order Fiasco, destructor >> edition, >> > and b) that can't be solved with pmt_t, as pmt_t is actually a typedef >> > for smart_pointer<actual_type>, and the moment the statically >> generated >> > object (the smart pointer) leaves scope of the consuming function the >> > first time, its destructor is being called. >> > >> > So, yay, if that assessment is correct, by putting PMT keys into the >> > members of class instances, I've only postponed the problem you're >> > seeing now to the destruction of blocks, and since that typically >> > doesn't happen until the end of programs, it doesn't "hurt" anyone. >> > >> > It's still wrong, and would lead to unpredictable behaviour in case >> > someone cleans up blocks at runtime. Which they should be able to do. >> > >> > Soooo argh. No simple solution here. Anyone a great idea? >> > >> > Best regards, >> > Marcus >> > On Fri, 2018-12-07 at 10:21 +0000, M?ller, Marcus (CEL) wrote: >> > > Hi Samuel, >> > > >> > > so, my guess is that once again, we're running into the C++-specific >> > > static initialization order fiasco (SIOF, yes, it's a term) for >> the PMT >> > > keys used in the dicts. >> > > >> > > Solution: I've extracted functions to return these keys and >> statically >> > > initialize them but once, because PMT's pmt_symbol creation is >> > > relatively CPU-intense, and shouldn't be done at run time. >> > > >> > > Somehow, it seems, that can sometimes lead to different notions >> of the >> > > same symbol. >> > > >> > > Solution: I was going to go in there, and instead of having these >> > > functions that all look like >> > > >> > > const pmt::pmt_t gr::uhd::cmd_time_key() >> > > { >> > > static const pmt::pmt_t val >> > > = pmt::mp("time"); >> > > return val; >> > > } >> > > >> > > just go in there, and give each instance of a usrp_block its own >> const >> > > fields of the same name, and initialize them in block constructor >> > > initialization list; that's what I did for the rest of GR, and I >> hope >> > > it works there. >> > > >> > > Best regards, >> > > Marcus >> > > >> > > On Thu, 2018-12-06 at 16:48 +0100, samuel verdon wrote: >> > > > Hi Marcus and Martin, >> > > > Thank you for your help! >> > > > Do you now how I can follow the problem? >> > > > Or if is it already solved, how can I fix it? >> > > > >> > > > Thanks a lot! >> > > > >> > > > Samuel >> > > > >> > > > >> > > > De : Marcus M?ller >> > > > Envoy? le :Wednesday, December 5, 2018 13:50 >> > > > ? : discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org>; samuel verdon >> > > > Cc : Martin Braun >> > > > Objet :Re: [USRP-users] Segmentation fault commands to USRP >> with gnuradio >> > > > >> > > > <ugly expletive> >> > > > this looks like my fault. Not feeling well enough to fix now, >> but wait >> > > > a day and I'll have something to test. >> > > > On Wed, 2018-12-05 at 12:56 +0100, Marcus M?ller wrote: >> > > > > Hi Samuel, >> > > > > >> > > > > cool! That's really helpful :) >> > > > > >> > > > > I'm now cross-posting this to discuss-gr, because it's a GNU >> Radio- >> > > > > land >> > > > > issue. The maintainers of gr-uhd are active over there, too, >> so this >> > > > > seems the smarter place to continue discussion. >> > > > > >> > > > > >> > > > > so, in medias res: >> > > > > >> > > > > On Wed, 2018-12-05 at 12:43 +0100, samuel verdon wrote: >> > > > > > #3 0x00007f7f15906700 in pmt::dict_has_key (dict=..., >> key=...) at >> > > > > > /usr/local/src/gnuradio/gnuradio-runtime/lib/pmt/pmt.cc:937 >> > > > > >> > > > > m?p m???p. Our favorite (only) variadic type library leads to >> > > > > segfaults. >> > > > > >> > > > > I'll look into that and be back in a while. >> > > > > >> > > > > Best regards, >> > > > > Marcus >> > > > > >> > > > >> > > > >> > > > >> > > > _______________________________________________ >> > > > Discuss-gnuradio mailing list >> > > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > > >> > > _______________________________________________ >> > > Discuss-gnuradio mailing list >> > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > _______________________________________________ >> > Discuss-gnuradio mailing list >> > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> >> >> ------------------------------ >> >> Message: 6 >> Date: Fri, 7 Dec 2018 12:13:24 +0000 >> From: M?ller, Marcus (CEL) <muel...@kit.edu <mailto:muel...@kit.edu>> >> To: "hca...@gmail.com <mailto:hca...@gmail.com>" <hca...@gmail.com >> <mailto:hca...@gmail.com>> >> Cc: "discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>" >> <discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>> >> Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault >> commands to USRP with gnuradio >> Message-ID: <6daa68fea75bc3595d663f304bf51502ef79e99a.ca...@kit.edu >> <mailto:6daa68fea75bc3595d663f304bf51502ef79e99a.ca...@kit.edu>> >> Content-Type: text/plain; charset="utf-8" >> >> Hi Christoph, >> >> The ancient lore goes that this was a evaluation-based decision on >> account of performance. Technically, intrusive_ptr is nice because the >> object lies right next to the refcounter, so your memory controller can >> do the linear fetching thing and things should be nice without jumping >> through wildly different RAM areas. >> >> I haven't been able so far to produce a useful performance metric for >> PMT operations that reflects this, because real-world PMT usage is >> dominated by the efficiency of the involved operations, not by the >> smart pointer derefencing. I do, however, really believe this was done >> with serious evaluation of performance. >> >> Anyway, I'd love to change that, but it would be ? pun intended ? an >> intrusive API change, and tbh, I'm not sure I want to get all the tests >> for that change sorted out before 3.8's release. After 3.8, I'd like to >> get rid of PMT altogether. >> However, this situation here changes things. Maybe I'll whip up a test >> branch this weekend where I just go and make the exact change you >> recommend and test whether it works without further ado. >> >> Thanks! Haven't thought about that, and maybe things are really much >> easier than I was afraid they were. >> >> Best regards, >> Marcus >> >> >> On Fri, 2018-12-07 at 13:00 +0100, Christoph Mayer wrote: >> > Hi Marcus, >> > >> > what is the reason for having >> > typedef boost::intrusive_ptr<pmt_base> pmt_t; >> > and not using a shared_ptr? >> > >> > As far as I understand, if a shared_ptr instead of >> > boost::intrusive_ptr were used, one could use either the method >> > described here: >> > >> >> https://www.boost.org/doc/libs/1_68_0/libs/smart_ptr/doc/html/smart_ptr.html#techniques_static >> > or use the aliasing constructor of a shared_ptr (probably better). >> > >> > Best regards >> > Christoph >> > >> > On Fri, Dec 7, 2018 at 11:32 AM M?ller, Marcus (CEL) >> <muel...@kit.edu <mailto:muel...@kit.edu>> wrote: >> > > >> > > By the way, I think the reason this goes wrong is that a) I've >> managed >> > > to run into the Static Initialization Order Fiasco, destructor >> edition, >> > > and b) that can't be solved with pmt_t, as pmt_t is actually a >> typedef >> > > for smart_pointer<actual_type>, and the moment the statically >> generated >> > > object (the smart pointer) leaves scope of the consuming >> function the >> > > first time, its destructor is being called. >> > > >> > > So, yay, if that assessment is correct, by putting PMT keys into the >> > > members of class instances, I've only postponed the problem you're >> > > seeing now to the destruction of blocks, and since that typically >> > > doesn't happen until the end of programs, it doesn't "hurt" anyone. >> > > >> > > It's still wrong, and would lead to unpredictable behaviour in case >> > > someone cleans up blocks at runtime. Which they should be able >> to do. >> > > >> > > Soooo argh. No simple solution here. Anyone a great idea? >> > > >> > > Best regards, >> > > Marcus >> > > On Fri, 2018-12-07 at 10:21 +0000, M?ller, Marcus (CEL) wrote: >> > > > Hi Samuel, >> > > > >> > > > so, my guess is that once again, we're running into the >> C++-specific >> > > > static initialization order fiasco (SIOF, yes, it's a term) >> for the PMT >> > > > keys used in the dicts. >> > > > >> > > > Solution: I've extracted functions to return these keys and >> statically >> > > > initialize them but once, because PMT's pmt_symbol creation is >> > > > relatively CPU-intense, and shouldn't be done at run time. >> > > > >> > > > Somehow, it seems, that can sometimes lead to different >> notions of the >> > > > same symbol. >> > > > >> > > > Solution: I was going to go in there, and instead of having these >> > > > functions that all look like >> > > > >> > > > const pmt::pmt_t gr::uhd::cmd_time_key() >> > > > { >> > > > static const pmt::pmt_t val >> > > > = pmt::mp("time"); >> > > > return val; >> > > > } >> > > > >> > > > just go in there, and give each instance of a usrp_block its >> own const >> > > > fields of the same name, and initialize them in block constructor >> > > > initialization list; that's what I did for the rest of GR, and >> I hope >> > > > it works there. >> > > > >> > > > Best regards, >> > > > Marcus >> > > > >> > > > On Thu, 2018-12-06 at 16:48 +0100, samuel verdon wrote: >> > > > > Hi Marcus and Martin, >> > > > > Thank you for your help! >> > > > > Do you now how I can follow the problem? >> > > > > Or if is it already solved, how can I fix it? >> > > > > >> > > > > Thanks a lot! >> > > > > >> > > > > Samuel >> > > > > >> > > > > >> > > > > De : Marcus M?ller >> > > > > Envoy? le :Wednesday, December 5, 2018 13:50 >> > > > > ? : discuss-gnuradio@gnu.org >> <mailto:discuss-gnuradio@gnu.org>; samuel verdon >> > > > > Cc : Martin Braun >> > > > > Objet :Re: [USRP-users] Segmentation fault commands to USRP >> with gnuradio >> > > > > >> > > > > <ugly expletive> >> > > > > this looks like my fault. Not feeling well enough to fix >> now, but wait >> > > > > a day and I'll have something to test. >> > > > > On Wed, 2018-12-05 at 12:56 +0100, Marcus M?ller wrote: >> > > > > > Hi Samuel, >> > > > > > >> > > > > > cool! That's really helpful :) >> > > > > > >> > > > > > I'm now cross-posting this to discuss-gr, because it's a >> GNU Radio- >> > > > > > land >> > > > > > issue. The maintainers of gr-uhd are active over there, >> too, so this >> > > > > > seems the smarter place to continue discussion. >> > > > > > >> > > > > > >> > > > > > so, in medias res: >> > > > > > >> > > > > > On Wed, 2018-12-05 at 12:43 +0100, samuel verdon wrote: >> > > > > > > #3 0x00007f7f15906700 in pmt::dict_has_key (dict=..., >> key=...) at >> > > > > > > /usr/local/src/gnuradio/gnuradio-runtime/lib/pmt/pmt.cc:937 >> > > > > > >> > > > > > m?p m???p. Our favorite (only) variadic type library leads to >> > > > > > segfaults. >> > > > > > >> > > > > > I'll look into that and be back in a while. >> > > > > > >> > > > > > Best regards, >> > > > > > Marcus >> > > > > > >> > > > > >> > > > > >> > > > > >> > > > > _______________________________________________ >> > > > > Discuss-gnuradio mailing list >> > > > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > > > >> > > > _______________________________________________ >> > > > Discuss-gnuradio mailing list >> > > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> > > >> > > _______________________________________________ >> > > Discuss-gnuradio mailing list >> > > Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> ------------------------------ >> >> Message: 7 >> Date: Fri, 7 Dec 2018 16:21:53 +0000 >> From: Guilherme Theis <guilhermethei...@outlook.com >> <mailto:guilhermethei...@outlook.com>> >> To: "discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>" >> <discuss-gnuradio@gnu.org <mailto:discuss-gnuradio@gnu.org>> >> Subject: [Discuss-gnuradio] Receiving NOAA signals and passing to BB >> Message-ID: >> >> >> <mwhpr0501mb38181db13d809a1b034a3772db...@mwhpr0501mb3818.namprd05.prod.outlook.com >> >> <mailto:mwhpr0501mb38181db13d809a1b034a3772db...@mwhpr0501mb3818.namprd05.prod.outlook.com>> >> >> Content-Type: text/plain; charset="iso-8859-1" >> >> Hello, >> >> I've been looking up for a way to use an USRP+Gnuradio to simply >> receive the HRPT signals and generate an .wav output to be processed >> afterwards But all I can find is this processing using a .wav input >> in the flow. There is any way to demodulate this split-phase >> modulation from NOAA using GRC? >> >> Best regards, >> >> Guilherme >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: >> >> <http://lists.gnu.org/archive/html/discuss-gnuradio/attachments/20181207/3ab07632/attachment.html> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org> >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >> >> ------------------------------ >> >> End of Discuss-gnuradio Digest, Vol 194, Issue 6 >> ************************************************ >> >> >> >> _______________________________________________ >> Discuss-gnuradio mailing list >> Discuss-gnuradio@gnu.org >> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio >> >
<?xml version='1.0' encoding='utf-8'?> <?grc format='1' created='3.7.13'?> <flow_graph> <timestamp>Thu Dec 15 09:03:41 2016</timestamp> <block> <key>options</key> <param> <key>author</key> <value></value> </param> <param> <key>window_size</key> <value></value> </param> <param> <key>category</key> <value>[GRC Hier Blocks]</value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>description</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(0, 4)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>generate_options</key> <value>qt_gui</value> </param> <param> <key>hier_block_src_path</key> <value>.:</value> </param> <param> <key>id</key> <value>broadcast_fm</value> </param> <param> <key>max_nouts</key> <value>0</value> </param> <param> <key>qt_qss_theme</key> <value></value> </param> <param> <key>realtime_scheduling</key> <value></value> </param> <param> <key>run_command</key> <value>{python} -u {filename}</value> </param> <param> <key>run_options</key> <value>run</value> </param> <param> <key>run</key> <value>True</value> </param> <param> <key>sizing_mode</key> <value>fixed</value> </param> <param> <key>thread_safe_setters</key> <value></value> </param> <param> <key>title</key> <value></value> </param> <param> <key>placement</key> <value>(0,0)</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(8, 460)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>audio_rate</value> </param> <param> <key>value</key> <value>48000</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(176, 4)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>center_freq</value> </param> <param> <key>value</key> <value>97300000</value> </param> </block> <block> <key>variable_qtgui_range</key> <param> <key>comment</key> <value></value> </param> <param> <key>value</key> <value>97.3e6</value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(360, 456)</value> </param> <param> <key>gui_hint</key> <value></value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>channel_freq</value> </param> <param> <key>label</key> <value></value> </param> <param> <key>min_len</key> <value>200</value> </param> <param> <key>orient</key> <value>Qt.Horizontal</value> </param> <param> <key>start</key> <value>88e6</value> </param> <param> <key>step</key> <value>1</value> </param> <param> <key>stop</key> <value>108e6</value> </param> <param> <key>rangeType</key> <value>float</value> </param> <param> <key>widget</key> <value>counter_slider</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(8, 100)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>channel_width</value> </param> <param> <key>value</key> <value>200000</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(8, 316)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>cutoff_freq</value> </param> <param> <key>value</key> <value>75e3</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(8, 172)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>decimate</value> </param> <param> <key>value</key> <value>samp_rate/channel_width</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(8, 244)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>quad_rate</value> </param> <param> <key>value</key> <value>(channel_width*12)/5</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(280, 4)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>samp_rate</value> </param> <param> <key>value</key> <value>20000000</value> </param> </block> <block> <key>variable</key> <param> <key>comment</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(8, 388)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>transition_width</value> </param> <param> <key>value</key> <value>25e3</value> </param> </block> <block> <key>variable_qtgui_range</key> <param> <key>comment</key> <value></value> </param> <param> <key>value</key> <value>.001</value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(216, 456)</value> </param> <param> <key>gui_hint</key> <value></value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>volume</value> </param> <param> <key>label</key> <value></value> </param> <param> <key>min_len</key> <value>200</value> </param> <param> <key>orient</key> <value>Qt.Horizontal</value> </param> <param> <key>start</key> <value>.001</value> </param> <param> <key>step</key> <value>.001</value> </param> <param> <key>stop</key> <value>.01</value> </param> <param> <key>rangeType</key> <value>float</value> </param> <param> <key>widget</key> <value>slider</value> </param> </block> <block> <key>analog_sig_source_x</key> <param> <key>amp</key> <value>1</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>freq</key> <value>center_freq-channel_freq</value> </param> <param> <key>_coordinate</key> <value>(280, 320)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>analog_sig_source_x_0_0</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>offset</key> <value>0</value> </param> <param> <key>type</key> <value>complex</value> </param> <param> <key>samp_rate</key> <value>samp_rate</value> </param> <param> <key>waveform</key> <value>analog.GR_COS_WAVE</value> </param> </block> <block> <key>analog_wfm_rcv</key> <param> <key>audio_decimation</key> <value>10</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(600, 380)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>analog_wfm_rcv_0</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>quad_rate</key> <value>quad_rate</value> </param> </block> <block> <key>audio_sink</key> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>device_name</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(968, 388)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>audio_sink_0</value> </param> <param> <key>num_inputs</key> <value>1</value> </param> <param> <key>ok_to_block</key> <value>True</value> </param> <param> <key>samp_rate</key> <value>audio_rate</value> </param> </block> <block> <key>blocks_multiply_xx</key> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(496, 216)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>blocks_multiply_xx_0</value> </param> <param> <key>type</key> <value>complex</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>num_inputs</key> <value>2</value> </param> <param> <key>vlen</key> <value>1</value> </param> </block> <block> <key>low_pass_filter</key> <param> <key>beta</key> <value>6.76</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>cutoff_freq</key> <value>cutoff_freq</value> </param> <param> <key>decim</key> <value>decimate</value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>type</key> <value>fir_filter_ccf</value> </param> <param> <key>_coordinate</key> <value>(624, 184)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>gain</key> <value>1</value> </param> <param> <key>id</key> <value>low_pass_filter_0</value> </param> <param> <key>interp</key> <value>1</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>samp_rate</key> <value>samp_rate</value> </param> <param> <key>width</key> <value>transition_width</value> </param> <param> <key>win</key> <value>firdes.WIN_HAMMING</value> </param> </block> <block> <key>osmosdr_source</key> <param> <key>alias</key> <value></value> </param> <param> <key>ant0</key> <value></value> </param> <param> <key>bb_gain0</key> <value>32</value> </param> <param> <key>bw0</key> <value>0</value> </param> <param> <key>dc_offset_mode0</key> <value>0</value> </param> <param> <key>corr0</key> <value>0</value> </param> <param> <key>freq0</key> <value>center_freq</value> </param> <param> <key>gain_mode0</key> <value>False</value> </param> <param> <key>if_gain0</key> <value>32</value> </param> <param> <key>iq_balance_mode0</key> <value>0</value> </param> <param> <key>gain0</key> <value>0</value> </param> <param> <key>ant10</key> <value></value> </param> <param> <key>bb_gain10</key> <value>20</value> </param> <param> <key>bw10</key> <value>0</value> </param> <param> <key>dc_offset_mode10</key> <value>0</value> </param> <param> <key>corr10</key> <value>0</value> </param> <param> <key>freq10</key> <value>100e6</value> </param> <param> <key>gain_mode10</key> <value>False</value> </param> <param> <key>if_gain10</key> <value>20</value> </param> <param> <key>iq_balance_mode10</key> <value>0</value> </param> <param> <key>gain10</key> <value>10</value> </param> <param> <key>ant11</key> <value></value> </param> <param> <key>bb_gain11</key> <value>20</value> </param> <param> <key>bw11</key> <value>0</value> </param> <param> <key>dc_offset_mode11</key> <value>0</value> </param> <param> <key>corr11</key> <value>0</value> </param> <param> <key>freq11</key> <value>100e6</value> </param> <param> <key>gain_mode11</key> <value>False</value> </param> <param> <key>if_gain11</key> <value>20</value> </param> <param> <key>iq_balance_mode11</key> <value>0</value> </param> <param> <key>gain11</key> <value>10</value> </param> <param> <key>ant12</key> <value></value> </param> <param> <key>bb_gain12</key> <value>20</value> </param> <param> <key>bw12</key> <value>0</value> </param> <param> <key>dc_offset_mode12</key> <value>0</value> </param> <param> <key>corr12</key> <value>0</value> </param> <param> <key>freq12</key> <value>100e6</value> </param> <param> <key>gain_mode12</key> <value>False</value> </param> <param> <key>if_gain12</key> <value>20</value> </param> <param> <key>iq_balance_mode12</key> <value>0</value> </param> <param> <key>gain12</key> <value>10</value> </param> <param> <key>ant13</key> <value></value> </param> <param> <key>bb_gain13</key> <value>20</value> </param> <param> <key>bw13</key> <value>0</value> </param> <param> <key>dc_offset_mode13</key> <value>0</value> </param> <param> <key>corr13</key> <value>0</value> </param> <param> <key>freq13</key> <value>100e6</value> </param> <param> <key>gain_mode13</key> <value>False</value> </param> <param> <key>if_gain13</key> <value>20</value> </param> <param> <key>iq_balance_mode13</key> <value>0</value> </param> <param> <key>gain13</key> <value>10</value> </param> <param> <key>ant14</key> <value></value> </param> <param> <key>bb_gain14</key> <value>20</value> </param> <param> <key>bw14</key> <value>0</value> </param> <param> <key>dc_offset_mode14</key> <value>0</value> </param> <param> <key>corr14</key> <value>0</value> </param> <param> <key>freq14</key> <value>100e6</value> </param> <param> <key>gain_mode14</key> <value>False</value> </param> <param> <key>if_gain14</key> <value>20</value> </param> <param> <key>iq_balance_mode14</key> <value>0</value> </param> <param> <key>gain14</key> <value>10</value> </param> <param> <key>ant15</key> <value></value> </param> <param> <key>bb_gain15</key> <value>20</value> </param> <param> <key>bw15</key> <value>0</value> </param> <param> <key>dc_offset_mode15</key> <value>0</value> </param> <param> <key>corr15</key> <value>0</value> </param> <param> <key>freq15</key> <value>100e6</value> </param> <param> <key>gain_mode15</key> <value>False</value> </param> <param> <key>if_gain15</key> <value>20</value> </param> <param> <key>iq_balance_mode15</key> <value>0</value> </param> <param> <key>gain15</key> <value>10</value> </param> <param> <key>ant16</key> <value></value> </param> <param> <key>bb_gain16</key> <value>20</value> </param> <param> <key>bw16</key> <value>0</value> </param> <param> <key>dc_offset_mode16</key> <value>0</value> </param> <param> <key>corr16</key> <value>0</value> </param> <param> <key>freq16</key> <value>100e6</value> </param> <param> <key>gain_mode16</key> <value>False</value> </param> <param> <key>if_gain16</key> <value>20</value> </param> <param> <key>iq_balance_mode16</key> <value>0</value> </param> <param> <key>gain16</key> <value>10</value> </param> <param> <key>ant17</key> <value></value> </param> <param> <key>bb_gain17</key> <value>20</value> </param> <param> <key>bw17</key> <value>0</value> </param> <param> <key>dc_offset_mode17</key> <value>0</value> </param> <param> <key>corr17</key> <value>0</value> </param> <param> <key>freq17</key> <value>100e6</value> </param> <param> <key>gain_mode17</key> <value>False</value> </param> <param> <key>if_gain17</key> <value>20</value> </param> <param> <key>iq_balance_mode17</key> <value>0</value> </param> <param> <key>gain17</key> <value>10</value> </param> <param> <key>ant18</key> <value></value> </param> <param> <key>bb_gain18</key> <value>20</value> </param> <param> <key>bw18</key> <value>0</value> </param> <param> <key>dc_offset_mode18</key> <value>0</value> </param> <param> <key>corr18</key> <value>0</value> </param> <param> <key>freq18</key> <value>100e6</value> </param> <param> <key>gain_mode18</key> <value>False</value> </param> <param> <key>if_gain18</key> <value>20</value> </param> <param> <key>iq_balance_mode18</key> <value>0</value> </param> <param> <key>gain18</key> <value>10</value> </param> <param> <key>ant19</key> <value></value> </param> <param> <key>bb_gain19</key> <value>20</value> </param> <param> <key>bw19</key> <value>0</value> </param> <param> <key>dc_offset_mode19</key> <value>0</value> </param> <param> <key>corr19</key> <value>0</value> </param> <param> <key>freq19</key> <value>100e6</value> </param> <param> <key>gain_mode19</key> <value>False</value> </param> <param> <key>if_gain19</key> <value>20</value> </param> <param> <key>iq_balance_mode19</key> <value>0</value> </param> <param> <key>gain19</key> <value>10</value> </param> <param> <key>ant1</key> <value></value> </param> <param> <key>bb_gain1</key> <value>20</value> </param> <param> <key>bw1</key> <value>0</value> </param> <param> <key>dc_offset_mode1</key> <value>0</value> </param> <param> <key>corr1</key> <value>0</value> </param> <param> <key>freq1</key> <value>100e6</value> </param> <param> <key>gain_mode1</key> <value>False</value> </param> <param> <key>if_gain1</key> <value>20</value> </param> <param> <key>iq_balance_mode1</key> <value>0</value> </param> <param> <key>gain1</key> <value>10</value> </param> <param> <key>ant20</key> <value></value> </param> <param> <key>bb_gain20</key> <value>20</value> </param> <param> <key>bw20</key> <value>0</value> </param> <param> <key>dc_offset_mode20</key> <value>0</value> </param> <param> <key>corr20</key> <value>0</value> </param> <param> <key>freq20</key> <value>100e6</value> </param> <param> <key>gain_mode20</key> <value>False</value> </param> <param> <key>if_gain20</key> <value>20</value> </param> <param> <key>iq_balance_mode20</key> <value>0</value> </param> <param> <key>gain20</key> <value>10</value> </param> <param> <key>ant21</key> <value></value> </param> <param> <key>bb_gain21</key> <value>20</value> </param> <param> <key>bw21</key> <value>0</value> </param> <param> <key>dc_offset_mode21</key> <value>0</value> </param> <param> <key>corr21</key> <value>0</value> </param> <param> <key>freq21</key> <value>100e6</value> </param> <param> <key>gain_mode21</key> <value>False</value> </param> <param> <key>if_gain21</key> <value>20</value> </param> <param> <key>iq_balance_mode21</key> <value>0</value> </param> <param> <key>gain21</key> <value>10</value> </param> <param> <key>ant22</key> <value></value> </param> <param> <key>bb_gain22</key> <value>20</value> </param> <param> <key>bw22</key> <value>0</value> </param> <param> <key>dc_offset_mode22</key> <value>0</value> </param> <param> <key>corr22</key> <value>0</value> </param> <param> <key>freq22</key> <value>100e6</value> </param> <param> <key>gain_mode22</key> <value>False</value> </param> <param> <key>if_gain22</key> <value>20</value> </param> <param> <key>iq_balance_mode22</key> <value>0</value> </param> <param> <key>gain22</key> <value>10</value> </param> <param> <key>ant23</key> <value></value> </param> <param> <key>bb_gain23</key> <value>20</value> </param> <param> <key>bw23</key> <value>0</value> </param> <param> <key>dc_offset_mode23</key> <value>0</value> </param> <param> <key>corr23</key> <value>0</value> </param> <param> <key>freq23</key> <value>100e6</value> </param> <param> <key>gain_mode23</key> <value>False</value> </param> <param> <key>if_gain23</key> <value>20</value> </param> <param> <key>iq_balance_mode23</key> <value>0</value> </param> <param> <key>gain23</key> <value>10</value> </param> <param> <key>ant24</key> <value></value> </param> <param> <key>bb_gain24</key> <value>20</value> </param> <param> <key>bw24</key> <value>0</value> </param> <param> <key>dc_offset_mode24</key> <value>0</value> </param> <param> <key>corr24</key> <value>0</value> </param> <param> <key>freq24</key> <value>100e6</value> </param> <param> <key>gain_mode24</key> <value>False</value> </param> <param> <key>if_gain24</key> <value>20</value> </param> <param> <key>iq_balance_mode24</key> <value>0</value> </param> <param> <key>gain24</key> <value>10</value> </param> <param> <key>ant25</key> <value></value> </param> <param> <key>bb_gain25</key> <value>20</value> </param> <param> <key>bw25</key> <value>0</value> </param> <param> <key>dc_offset_mode25</key> <value>0</value> </param> <param> <key>corr25</key> <value>0</value> </param> <param> <key>freq25</key> <value>100e6</value> </param> <param> <key>gain_mode25</key> <value>False</value> </param> <param> <key>if_gain25</key> <value>20</value> </param> <param> <key>iq_balance_mode25</key> <value>0</value> </param> <param> <key>gain25</key> <value>10</value> </param> <param> <key>ant26</key> <value></value> </param> <param> <key>bb_gain26</key> <value>20</value> </param> <param> <key>bw26</key> <value>0</value> </param> <param> <key>dc_offset_mode26</key> <value>0</value> </param> <param> <key>corr26</key> <value>0</value> </param> <param> <key>freq26</key> <value>100e6</value> </param> <param> <key>gain_mode26</key> <value>False</value> </param> <param> <key>if_gain26</key> <value>20</value> </param> <param> <key>iq_balance_mode26</key> <value>0</value> </param> <param> <key>gain26</key> <value>10</value> </param> <param> <key>ant27</key> <value></value> </param> <param> <key>bb_gain27</key> <value>20</value> </param> <param> <key>bw27</key> <value>0</value> </param> <param> <key>dc_offset_mode27</key> <value>0</value> </param> <param> <key>corr27</key> <value>0</value> </param> <param> <key>freq27</key> <value>100e6</value> </param> <param> <key>gain_mode27</key> <value>False</value> </param> <param> <key>if_gain27</key> <value>20</value> </param> <param> <key>iq_balance_mode27</key> <value>0</value> </param> <param> <key>gain27</key> <value>10</value> </param> <param> <key>ant28</key> <value></value> </param> <param> <key>bb_gain28</key> <value>20</value> </param> <param> <key>bw28</key> <value>0</value> </param> <param> <key>dc_offset_mode28</key> <value>0</value> </param> <param> <key>corr28</key> <value>0</value> </param> <param> <key>freq28</key> <value>100e6</value> </param> <param> <key>gain_mode28</key> <value>False</value> </param> <param> <key>if_gain28</key> <value>20</value> </param> <param> <key>iq_balance_mode28</key> <value>0</value> </param> <param> <key>gain28</key> <value>10</value> </param> <param> <key>ant29</key> <value></value> </param> <param> <key>bb_gain29</key> <value>20</value> </param> <param> <key>bw29</key> <value>0</value> </param> <param> <key>dc_offset_mode29</key> <value>0</value> </param> <param> <key>corr29</key> <value>0</value> </param> <param> <key>freq29</key> <value>100e6</value> </param> <param> <key>gain_mode29</key> <value>False</value> </param> <param> <key>if_gain29</key> <value>20</value> </param> <param> <key>iq_balance_mode29</key> <value>0</value> </param> <param> <key>gain29</key> <value>10</value> </param> <param> <key>ant2</key> <value></value> </param> <param> <key>bb_gain2</key> <value>20</value> </param> <param> <key>bw2</key> <value>0</value> </param> <param> <key>dc_offset_mode2</key> <value>0</value> </param> <param> <key>corr2</key> <value>0</value> </param> <param> <key>freq2</key> <value>100e6</value> </param> <param> <key>gain_mode2</key> <value>False</value> </param> <param> <key>if_gain2</key> <value>20</value> </param> <param> <key>iq_balance_mode2</key> <value>0</value> </param> <param> <key>gain2</key> <value>10</value> </param> <param> <key>ant30</key> <value></value> </param> <param> <key>bb_gain30</key> <value>20</value> </param> <param> <key>bw30</key> <value>0</value> </param> <param> <key>dc_offset_mode30</key> <value>0</value> </param> <param> <key>corr30</key> <value>0</value> </param> <param> <key>freq30</key> <value>100e6</value> </param> <param> <key>gain_mode30</key> <value>False</value> </param> <param> <key>if_gain30</key> <value>20</value> </param> <param> <key>iq_balance_mode30</key> <value>0</value> </param> <param> <key>gain30</key> <value>10</value> </param> <param> <key>ant31</key> <value></value> </param> <param> <key>bb_gain31</key> <value>20</value> </param> <param> <key>bw31</key> <value>0</value> </param> <param> <key>dc_offset_mode31</key> <value>0</value> </param> <param> <key>corr31</key> <value>0</value> </param> <param> <key>freq31</key> <value>100e6</value> </param> <param> <key>gain_mode31</key> <value>False</value> </param> <param> <key>if_gain31</key> <value>20</value> </param> <param> <key>iq_balance_mode31</key> <value>0</value> </param> <param> <key>gain31</key> <value>10</value> </param> <param> <key>ant3</key> <value></value> </param> <param> <key>bb_gain3</key> <value>20</value> </param> <param> <key>bw3</key> <value>0</value> </param> <param> <key>dc_offset_mode3</key> <value>0</value> </param> <param> <key>corr3</key> <value>0</value> </param> <param> <key>freq3</key> <value>100e6</value> </param> <param> <key>gain_mode3</key> <value>False</value> </param> <param> <key>if_gain3</key> <value>20</value> </param> <param> <key>iq_balance_mode3</key> <value>0</value> </param> <param> <key>gain3</key> <value>10</value> </param> <param> <key>ant4</key> <value></value> </param> <param> <key>bb_gain4</key> <value>20</value> </param> <param> <key>bw4</key> <value>0</value> </param> <param> <key>dc_offset_mode4</key> <value>0</value> </param> <param> <key>corr4</key> <value>0</value> </param> <param> <key>freq4</key> <value>100e6</value> </param> <param> <key>gain_mode4</key> <value>False</value> </param> <param> <key>if_gain4</key> <value>20</value> </param> <param> <key>iq_balance_mode4</key> <value>0</value> </param> <param> <key>gain4</key> <value>10</value> </param> <param> <key>ant5</key> <value></value> </param> <param> <key>bb_gain5</key> <value>20</value> </param> <param> <key>bw5</key> <value>0</value> </param> <param> <key>dc_offset_mode5</key> <value>0</value> </param> <param> <key>corr5</key> <value>0</value> </param> <param> <key>freq5</key> <value>100e6</value> </param> <param> <key>gain_mode5</key> <value>False</value> </param> <param> <key>if_gain5</key> <value>20</value> </param> <param> <key>iq_balance_mode5</key> <value>0</value> </param> <param> <key>gain5</key> <value>10</value> </param> <param> <key>ant6</key> <value></value> </param> <param> <key>bb_gain6</key> <value>20</value> </param> <param> <key>bw6</key> <value>0</value> </param> <param> <key>dc_offset_mode6</key> <value>0</value> </param> <param> <key>corr6</key> <value>0</value> </param> <param> <key>freq6</key> <value>100e6</value> </param> <param> <key>gain_mode6</key> <value>False</value> </param> <param> <key>if_gain6</key> <value>20</value> </param> <param> <key>iq_balance_mode6</key> <value>0</value> </param> <param> <key>gain6</key> <value>10</value> </param> <param> <key>ant7</key> <value></value> </param> <param> <key>bb_gain7</key> <value>20</value> </param> <param> <key>bw7</key> <value>0</value> </param> <param> <key>dc_offset_mode7</key> <value>0</value> </param> <param> <key>corr7</key> <value>0</value> </param> <param> <key>freq7</key> <value>100e6</value> </param> <param> <key>gain_mode7</key> <value>False</value> </param> <param> <key>if_gain7</key> <value>20</value> </param> <param> <key>iq_balance_mode7</key> <value>0</value> </param> <param> <key>gain7</key> <value>10</value> </param> <param> <key>ant8</key> <value></value> </param> <param> <key>bb_gain8</key> <value>20</value> </param> <param> <key>bw8</key> <value>0</value> </param> <param> <key>dc_offset_mode8</key> <value>0</value> </param> <param> <key>corr8</key> <value>0</value> </param> <param> <key>freq8</key> <value>100e6</value> </param> <param> <key>gain_mode8</key> <value>False</value> </param> <param> <key>if_gain8</key> <value>20</value> </param> <param> <key>iq_balance_mode8</key> <value>0</value> </param> <param> <key>gain8</key> <value>10</value> </param> <param> <key>ant9</key> <value></value> </param> <param> <key>bb_gain9</key> <value>20</value> </param> <param> <key>bw9</key> <value>0</value> </param> <param> <key>dc_offset_mode9</key> <value>0</value> </param> <param> <key>corr9</key> <value>0</value> </param> <param> <key>freq9</key> <value>100e6</value> </param> <param> <key>gain_mode9</key> <value>False</value> </param> <param> <key>if_gain9</key> <value>20</value> </param> <param> <key>iq_balance_mode9</key> <value>0</value> </param> <param> <key>gain9</key> <value>10</value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>args</key> <value></value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>_coordinate</key> <value>(216, 124)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>osmosdr_source_0</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>clock_source0</key> <value></value> </param> <param> <key>time_source0</key> <value></value> </param> <param> <key>clock_source1</key> <value></value> </param> <param> <key>time_source1</key> <value></value> </param> <param> <key>clock_source2</key> <value></value> </param> <param> <key>time_source2</key> <value></value> </param> <param> <key>clock_source3</key> <value></value> </param> <param> <key>time_source3</key> <value></value> </param> <param> <key>clock_source4</key> <value></value> </param> <param> <key>time_source4</key> <value></value> </param> <param> <key>clock_source5</key> <value></value> </param> <param> <key>time_source5</key> <value></value> </param> <param> <key>clock_source6</key> <value></value> </param> <param> <key>time_source6</key> <value></value> </param> <param> <key>clock_source7</key> <value></value> </param> <param> <key>time_source7</key> <value></value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>nchan</key> <value>1</value> </param> <param> <key>num_mboards</key> <value>1</value> </param> <param> <key>type</key> <value>fc32</value> </param> <param> <key>sample_rate</key> <value>samp_rate</value> </param> <param> <key>sync</key> <value></value> </param> </block> <block> <key>qtgui_freq_sink_x</key> <param> <key>autoscale</key> <value>False</value> </param> <param> <key>average</key> <value>1.0</value> </param> <param> <key>axislabels</key> <value>True</value> </param> <param> <key>bw</key> <value>samp_rate</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>fc</key> <value>channel_freq</value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>ctrlpanel</key> <value>False</value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>fftsize</key> <value>1024</value> </param> <param> <key>_coordinate</key> <value>(520, 88)</value> </param> <param> <key>gui_hint</key> <value></value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>grid</key> <value>True</value> </param> <param> <key>id</key> <value>qtgui_freq_sink_x_0_0_0</value> </param> <param> <key>legend</key> <value>True</value> </param> <param> <key>alpha1</key> <value>1.0</value> </param> <param> <key>color1</key> <value>"red"</value> </param> <param> <key>label1</key> <value></value> </param> <param> <key>width1</key> <value>1</value> </param> <param> <key>alpha10</key> <value>1.0</value> </param> <param> <key>color10</key> <value>"dark blue"</value> </param> <param> <key>label10</key> <value></value> </param> <param> <key>width10</key> <value>1</value> </param> <param> <key>alpha2</key> <value>1.0</value> </param> <param> <key>color2</key> <value>"blue"</value> </param> <param> <key>label2</key> <value></value> </param> <param> <key>width2</key> <value>1</value> </param> <param> <key>alpha3</key> <value>1.0</value> </param> <param> <key>color3</key> <value>"green"</value> </param> <param> <key>label3</key> <value></value> </param> <param> <key>width3</key> <value>1</value> </param> <param> <key>alpha4</key> <value>1.0</value> </param> <param> <key>color4</key> <value>"black"</value> </param> <param> <key>label4</key> <value></value> </param> <param> <key>width4</key> <value>1</value> </param> <param> <key>alpha5</key> <value>1.0</value> </param> <param> <key>color5</key> <value>"cyan"</value> </param> <param> <key>label5</key> <value></value> </param> <param> <key>width5</key> <value>1</value> </param> <param> <key>alpha6</key> <value>1.0</value> </param> <param> <key>color6</key> <value>"magenta"</value> </param> <param> <key>label6</key> <value></value> </param> <param> <key>width6</key> <value>1</value> </param> <param> <key>alpha7</key> <value>1.0</value> </param> <param> <key>color7</key> <value>"yellow"</value> </param> <param> <key>label7</key> <value></value> </param> <param> <key>width7</key> <value>1</value> </param> <param> <key>alpha8</key> <value>1.0</value> </param> <param> <key>color8</key> <value>"dark red"</value> </param> <param> <key>label8</key> <value></value> </param> <param> <key>width8</key> <value>1</value> </param> <param> <key>alpha9</key> <value>1.0</value> </param> <param> <key>color9</key> <value>"dark green"</value> </param> <param> <key>label9</key> <value></value> </param> <param> <key>width9</key> <value>1</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>name</key> <value>Signal Sources</value> </param> <param> <key>nconnections</key> <value>2</value> </param> <param> <key>showports</key> <value>True</value> </param> <param> <key>freqhalf</key> <value>True</value> </param> <param> <key>tr_chan</key> <value>0</value> </param> <param> <key>tr_level</key> <value>0.0</value> </param> <param> <key>tr_mode</key> <value>qtgui.TRIG_MODE_FREE</value> </param> <param> <key>tr_tag</key> <value>""</value> </param> <param> <key>type</key> <value>complex</value> </param> <param> <key>update_time</key> <value>0.10</value> </param> <param> <key>wintype</key> <value>firdes.WIN_BLACKMAN_hARRIS</value> </param> <param> <key>label</key> <value>Relative Gain</value> </param> <param> <key>ymax</key> <value>10</value> </param> <param> <key>ymin</key> <value>-140</value> </param> <param> <key>units</key> <value>dB</value> </param> </block> <block> <key>qtgui_freq_sink_x</key> <param> <key>autoscale</key> <value>False</value> </param> <param> <key>average</key> <value>1.0</value> </param> <param> <key>axislabels</key> <value>True</value> </param> <param> <key>bw</key> <value>quad_rate</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>fc</key> <value>channel_freq</value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>ctrlpanel</key> <value>False</value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>fftsize</key> <value>1024</value> </param> <param> <key>_coordinate</key> <value>(824, 104)</value> </param> <param> <key>gui_hint</key> <value></value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>grid</key> <value>True</value> </param> <param> <key>id</key> <value>qtgui_freq_sink_x_0_0_0_0</value> </param> <param> <key>legend</key> <value>True</value> </param> <param> <key>alpha1</key> <value>1.0</value> </param> <param> <key>color1</key> <value>"blue"</value> </param> <param> <key>label1</key> <value></value> </param> <param> <key>width1</key> <value>1</value> </param> <param> <key>alpha10</key> <value>1.0</value> </param> <param> <key>color10</key> <value>"dark blue"</value> </param> <param> <key>label10</key> <value></value> </param> <param> <key>width10</key> <value>1</value> </param> <param> <key>alpha2</key> <value>1.0</value> </param> <param> <key>color2</key> <value>"red"</value> </param> <param> <key>label2</key> <value></value> </param> <param> <key>width2</key> <value>1</value> </param> <param> <key>alpha3</key> <value>1.0</value> </param> <param> <key>color3</key> <value>"green"</value> </param> <param> <key>label3</key> <value></value> </param> <param> <key>width3</key> <value>1</value> </param> <param> <key>alpha4</key> <value>1.0</value> </param> <param> <key>color4</key> <value>"black"</value> </param> <param> <key>label4</key> <value></value> </param> <param> <key>width4</key> <value>1</value> </param> <param> <key>alpha5</key> <value>1.0</value> </param> <param> <key>color5</key> <value>"cyan"</value> </param> <param> <key>label5</key> <value></value> </param> <param> <key>width5</key> <value>1</value> </param> <param> <key>alpha6</key> <value>1.0</value> </param> <param> <key>color6</key> <value>"magenta"</value> </param> <param> <key>label6</key> <value></value> </param> <param> <key>width6</key> <value>1</value> </param> <param> <key>alpha7</key> <value>1.0</value> </param> <param> <key>color7</key> <value>"yellow"</value> </param> <param> <key>label7</key> <value></value> </param> <param> <key>width7</key> <value>1</value> </param> <param> <key>alpha8</key> <value>1.0</value> </param> <param> <key>color8</key> <value>"dark red"</value> </param> <param> <key>label8</key> <value></value> </param> <param> <key>width8</key> <value>1</value> </param> <param> <key>alpha9</key> <value>1.0</value> </param> <param> <key>color9</key> <value>"dark green"</value> </param> <param> <key>label9</key> <value></value> </param> <param> <key>width9</key> <value>1</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>name</key> <value>Low Pass Signal</value> </param> <param> <key>nconnections</key> <value>1</value> </param> <param> <key>showports</key> <value>True</value> </param> <param> <key>freqhalf</key> <value>True</value> </param> <param> <key>tr_chan</key> <value>0</value> </param> <param> <key>tr_level</key> <value>0.0</value> </param> <param> <key>tr_mode</key> <value>qtgui.TRIG_MODE_FREE</value> </param> <param> <key>tr_tag</key> <value>""</value> </param> <param> <key>type</key> <value>complex</value> </param> <param> <key>update_time</key> <value>0.10</value> </param> <param> <key>wintype</key> <value>firdes.WIN_BLACKMAN_hARRIS</value> </param> <param> <key>label</key> <value>Relative Gain</value> </param> <param> <key>ymax</key> <value>10</value> </param> <param> <key>ymin</key> <value>-140</value> </param> <param> <key>units</key> <value>dB</value> </param> </block> <block> <key>rational_resampler_xxx</key> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>decim</key> <value>5</value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>fbw</key> <value>0</value> </param> <param> <key>_coordinate</key> <value>(816, 208)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>rational_resampler_xxx_0</value> </param> <param> <key>interp</key> <value>12</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>taps</key> <value></value> </param> <param> <key>type</key> <value>ccc</value> </param> </block> <block> <key>blocks_multiply_const_vxx</key> <param> <key>alias</key> <value></value> </param> <param> <key>comment</key> <value></value> </param> <param> <key>const</key> <value>volume</value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_enabled</key> <value>1</value> </param> <param> <key>_coordinate</key> <value>(800, 388)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> <param> <key>id</key> <value>sound</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>maxoutbuf</key> <value>0</value> </param> <param> <key>minoutbuf</key> <value>0</value> </param> <param> <key>vlen</key> <value>1</value> </param> </block> <connection> <source_block_id>analog_sig_source_x_0_0</source_block_id> <sink_block_id>blocks_multiply_xx_0</sink_block_id> <source_key>0</source_key> <sink_key>1</sink_key> </connection> <connection> <source_block_id>analog_wfm_rcv_0</source_block_id> <sink_block_id>sound</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>blocks_multiply_xx_0</source_block_id> <sink_block_id>low_pass_filter_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>blocks_multiply_xx_0</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>1</sink_key> </connection> <connection> <source_block_id>low_pass_filter_0</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>low_pass_filter_0</source_block_id> <sink_block_id>rational_resampler_xxx_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>osmosdr_source_0</source_block_id> <sink_block_id>blocks_multiply_xx_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>osmosdr_source_0</source_block_id> <sink_block_id>qtgui_freq_sink_x_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>rational_resampler_xxx_0</source_block_id> <sink_block_id>analog_wfm_rcv_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>sound</source_block_id> <sink_block_id>audio_sink_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> </flow_graph>
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio