discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] help: optimizing a fm broadcast flowchart. Gettin


From: Cinaed Simson
Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast flowchart. Getting multiple stations in a rtlsdr (Derek Kozel) (Michael Dickens)
Date: Sun, 9 Dec 2018 13:39:00 -0800
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

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 <address@hidden
> <mailto:address@hidden>> wrote:
> 
>     Send Discuss-gnuradio mailing list submissions to
>             address@hidden <mailto:address@hidden>
> 
>     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
>             address@hidden
>     <mailto:address@hidden>
> 
>     You can reach the person managing the list at
>             address@hidden
>     <mailto:address@hidden>
> 
>     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 <address@hidden <mailto:address@hidden>>
>     To: address@hidden <mailto:address@hidden>
>     Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast
>             flowchart. Getting multiple stations in a rtlsdr (Derek Kozel)
>     Message-ID:
>            
>     <address@hidden
>     <mailto:address@hidden>>
>     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 <address@hidden
>     <mailto:address@hidden>> wrote:
> 
>     > Send Discuss-gnuradio mailing list submissions to
>     >        address@hidden <mailto:address@hidden>
>     >
>     > 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
>     >        address@hidden
>     <mailto:address@hidden>
>     >
>     > You can reach the person managing the list at
>     >        address@hidden
>     <mailto:address@hidden>
>     >
>     > 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 <address@hidden <mailto:address@hidden>>
>     > To: address@hidden <mailto:address@hidden>
>     > Subject: [Discuss-gnuradio] help: optimizing a fm broadcast flowchart.
>     >         Getting multiple stations in a rtlsdr
>     > Message-ID:
>     >         <CALNke=
>     > address@hidden
>     <mailto:address@hidden>>
>     > 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 <address@hidden
>     <mailto:address@hidden>>
>     > To: address@hidden <mailto:address@hidden>
>     > Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast
>     >         flowchart. Getting multiple stations in a rtlsdr
>     > Message-ID: <address@hidden
>     <mailto:address@hidden>>
>     > 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
>     > > address@hidden <mailto:address@hidden>
>     > > 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 <address@hidden
>     <mailto:address@hidden>>
>     > To: Marcus M?ller <address@hidden
>     <mailto:address@hidden>>,
>     >         "address@hidden
>     <mailto:address@hidden>" <address@hidden
>     <mailto:address@hidden>>
>     > Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault
>     >         commands to USRP with gnuradio
>     > Message-ID: <address@hidden
>     <mailto:address@hidden>>
>     > 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
>     > ??: address@hidden <mailto:address@hidden>;
>     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? <address@hidden
>     <mailto:address@hidden>>
>     > To: GNURadio Discussion List <address@hidden
>     <mailto:address@hidden>>
>     > Subject: [Discuss-gnuradio] Lock/unlock?
>     > Message-ID:
>     >         <
>     > address@hidden
>     <mailto:address@hidden>>
>     > 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
>     > address@hidden <mailto:address@hidden>
>     > 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 <address@hidden
>     <mailto:address@hidden>>
>     To: Luis Roca <address@hidden
>     <mailto:address@hidden>>, address@hidden
>     <mailto:address@hidden>
>     Subject: Re: [Discuss-gnuradio] help: optimizing a fm broadcast
>             flowchart. Getting multiple stations in a rtlsdr (Derek Kozel)
>     Message-ID:
>            
>     <address@hidden
>     <mailto:address@hidden>>
>     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) <address@hidden <mailto:address@hidden>>
>     To: "address@hidden <mailto:address@hidden>"
>     <address@hidden <mailto:address@hidden>>,
>             "address@hidden <mailto:address@hidden>"
>     <address@hidden <mailto:address@hidden>>,
>             "address@hidden
>     <mailto:address@hidden>"      <address@hidden
>     <mailto:address@hidden>>
>     Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault
>             commands to USRP with gnuradio
>     Message-ID: <address@hidden
>     <mailto:address@hidden>>
>     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
>     > ? : address@hidden <mailto:address@hidden>;
>     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
>     > address@hidden <mailto:address@hidden>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
>     ------------------------------
> 
>     Message: 4
>     Date: Fri, 7 Dec 2018 10:30:34 +0000
>     From: M?ller, Marcus (CEL) <address@hidden <mailto:address@hidden>>
>     To: "address@hidden <mailto:address@hidden>"
>     <address@hidden <mailto:address@hidden>>
>     Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault
>             commands to USRP with gnuradio
>     Message-ID: <address@hidden
>     <mailto:address@hidden>>
>     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
>     > > ? : address@hidden <mailto:address@hidden>;
>     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
>     > > address@hidden <mailto:address@hidden>
>     > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     >
>     > _______________________________________________
>     > Discuss-gnuradio mailing list
>     > address@hidden <mailto:address@hidden>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
>     ------------------------------
> 
>     Message: 5
>     Date: Fri, 7 Dec 2018 13:00:53 +0100
>     From: Christoph Mayer <address@hidden <mailto:address@hidden>>
>     To: address@hidden <mailto:address@hidden>
>     Cc: address@hidden <mailto:address@hidden>
>     Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault
>             commands to USRP with gnuradio
>     Message-ID:
>            
>     <address@hidden
>     <mailto:address@hidden>>
>     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)
>     <address@hidden <mailto:address@hidden>> 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
>     > > > ? : address@hidden
>     <mailto:address@hidden>; 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
>     > > > address@hidden <mailto:address@hidden>
>     > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     > >
>     > > _______________________________________________
>     > > Discuss-gnuradio mailing list
>     > > address@hidden <mailto:address@hidden>
>     > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     > _______________________________________________
>     > Discuss-gnuradio mailing list
>     > address@hidden <mailto:address@hidden>
>     > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 
> 
>     ------------------------------
> 
>     Message: 6
>     Date: Fri, 7 Dec 2018 12:13:24 +0000
>     From: M?ller, Marcus (CEL) <address@hidden <mailto:address@hidden>>
>     To: "address@hidden <mailto:address@hidden>" <address@hidden
>     <mailto:address@hidden>>
>     Cc: "address@hidden <mailto:address@hidden>"
>     <address@hidden <mailto:address@hidden>>
>     Subject: Re: [Discuss-gnuradio] [USRP-users] Segmentation fault
>             commands to USRP with gnuradio
>     Message-ID: <address@hidden
>     <mailto:address@hidden>>
>     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)
>     <address@hidden <mailto:address@hidden>> 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
>     > > > > ? : address@hidden
>     <mailto:address@hidden>; 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
>     > > > > address@hidden <mailto:address@hidden>
>     > > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     > > >
>     > > > _______________________________________________
>     > > > Discuss-gnuradio mailing list
>     > > > address@hidden <mailto:address@hidden>
>     > > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>     > >
>     > > _______________________________________________
>     > > Discuss-gnuradio mailing list
>     > > address@hidden <mailto:address@hidden>
>     > > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
>     ------------------------------
> 
>     Message: 7
>     Date: Fri, 7 Dec 2018 16:21:53 +0000
>     From: Guilherme Theis <address@hidden
>     <mailto:address@hidden>>
>     To: "address@hidden <mailto:address@hidden>"
>     <address@hidden <mailto:address@hidden>>
>     Subject: [Discuss-gnuradio] Receiving NOAA signals and passing to BB
>     Message-ID:
>            
>     <address@hidden
>     <mailto:address@hidden>>
> 
>     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
>     address@hidden <mailto:address@hidden>
>     https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 
> 
>     ------------------------------
> 
>     End of Discuss-gnuradio Digest, Vol 194, Issue 6
>     ************************************************
> 
> 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 

Attachment: broadcast_fm.grc
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]