<div dir="ltr">Cool.. well that means I've got a suitable test bed ready and waiting.<div><br></div><div>The receiver I've got lined up has a full rockwell collins 3kHz IF filter (not 2k7 or 2k4 like most japanese radios) so that should work nicely.</div><div><br></div><div>Time to start working out how to get the levels and drive right, something for me to do over xmas.</div><div><br></div><div>73</div><div><br></div><div>Matthew</div><div>VK5ZM</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 19 December 2017 at 09:24, Glen English VK1XX <span dir="ltr"><<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.com.au</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The original would run about 3kHz search window at full 'gain' on a C1 (quad A5).<br>
<br>
The XU4 would smoke it at 10kHz BW. The out of order reordering CPU really smokes. but it also smokes the power supply.<br>
<br>
The C2 would run a 10kHz search window IRRC.<br>
<br>
I have some TV boxes with RK3288s and they also are excelllent processor.<br>
<br>
good on the internal sound card.<br>
<br>
code currently only uses the 2010 grade NEON, not the new v8 NEON AArch-64 etc on the A53 etc .<br>
<br>
<br>
g<span class=""><br>
On 19/12/2017 9:39 AM, Matthew Cook wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
It will be interesting to see how this code goes on different platforms.<br>
<br>
I've been looking at the Odroids C2 (quad A53 @1.5GHz), C1+ (quad A5@1.5GHz) & XU4 (quad A15@2.1GHz + quad A7@1.4GHz) there is no doubt the XU4 has some serious grunt.<br>
<br>
However the ASUS Tinkerboards I've got at home have a RK3288 which is a quad A17 running at 1.8GHz also featuring a Neon Co-pro! So on paper this should give the C1+ and C2 Odroids a bloody nose in a MIPS fight or at least a run for their money.<br>
<br>
What I really like about the Tinkerboards is they have an inbuilt sound card (192kHz)/24bit) for both record (microphone) and playback (stereo out) for the same money as an Odroid.   So that would just leave me needing to build a suitable PTT circuit with h/w timeout.<br>
<br>
It will be interesting to see just how hard I can push one of these Tinkerboards, for ~A$85 delivered to VK they seem good value.<br>
<br>
The plot thickens.<br>
<br>
73<br>
<br>
Matthew<br>
VK5ZM<br>
<br></span><div><div class="h5">
On 19 December 2017 at 06:42, Glen English VK1XX <<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.com.au</a> <mailto:<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.<wbr>com.au</a>>> wrote:<br>
<br>
    Good discussion<br>
<br>
    yeah a small drop on PCB would be simple. I THINK that later Cx<br>
    ODROIDS are header-compatible with the R-PI headers.<br>
<br>
    after madly writing debugging python modules all day yesterday,<br>
    and remembering how to write ODBC expressions heading out to do<br>
    some mobile survey work and will get back on the case at xmas.<br>
<br>
    SNR requirements are very low, so sound card quality is pretty<br>
    unimportant except that the sample rate clock should be better<br>
    than a free running LC...<br>
<br>
    I will do a full writeup while familying with emily's family up<br>
    north at xmas.<br>
<br>
    The demodulator requirements are proportional to the recv<br>
    bandwidth search window, the frequency step search, the sync<br>
    threshold, and the LDPC FEC "gain control".<br>
<br>
    The whole spectrum is step frequency searched with a matched<br>
    filter-correlator for my sync word which provides the next stage<br>
    time and frequency offset data. When a sync detection is<br>
    triggered, the time and frequency offset of this "candidate" is<br>
    pushed into a FIFO and  is passed to stage 2, and that stage goes<br>
    about extracting the samples from a deep buffer  and attempting<br>
    decoding. Stage 1 sync works on about 1 second of audio data,<br>
    stage 2 works on about 10 seconds worth.<br>
<br>
    Using an STM32F7 there would be enough memory to implement the<br>
    demodulator with reduce peformance but stil very useable (say +3,<br>
    +4 dB CNR).<br>
<br>
    Pi Zeros probably on par with a STM32F7, the old ARM11<br>
    architecture is pretty slow.<br>
<br>
    Cache misses is what hurts the implementation. Care is taken not<br>
    to abuse the cache, but the system operates by searching all over<br>
    a large buffer so memory misses are part of the game.<br>
<br>
    The existing implementation is 46.875 bps (48000/1024) however the<br>
    bit rate can be change by simply changing a $define DIVIDER to<br>
    anything you like. I was thinking 48000/512 was a good starting point.<br>
<br>
    This permits multiple use of a channel. a sideband channel can fit<br>
    alot of 50Hz or 100 Hz wide signals, and the demod is designed to<br>
    deal with it. I would say the end performance is something like<br>
    PSK31 but with reduced SNR requirements. You can push it right<br>
    down to 0dB SNR but the demodulator ends up spending a bunch of<br>
    time in stage 2 attempting to demod candidates that are really<br>
    noise ... CPU requirements increase.<br>
<br>
<br>
    On 18/12/2017 10:04 PM, Matthew Cook wrote:<br>
<br>
        That interface card is hideously expensive for what it is;<br>
<br>
        Other options;<br>
<br>
          * The wolfson sound card is less than a third that price<br>
        including<br>
            shipping from E14, however a syba USB sound card is less<br>
        than $5<br>
            from eBay.<br>
          * PTT is just a transistor of an I/O pin, preferably with a h/w<br>
            monostable timer to prevent locking the transmitter on; I<br>
        still<br>
            don't trust Pi's with 100Wpep of HF present, box or no box.<br>
<br>
        Personally I'll be trying a Tinkerboard first since it has<br>
        onboard microphone and audio, more grunt that a Pi-3, wifi,<br>
        BT, I/O and serial ports. In my case I can read the GPS from<br>
        within the HF transceiver, which is already shared three times<br>
        in the back of the car already.<br>
<br>
        However will still experiment with STM32 option since this<br>
        would make a very nicely integrated option in the new year.<br>
<br>
        73<br>
<br>
        Matthew<br>
        VK5ZM<br>
<br>
<br>
<br>
        On 18 December 2017 at 20:57, Mark Jessop<br>
        <<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail.com</a><br>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a>><br></div></div>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a><span class=""><br>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a>>>> wrote:<br>
<br>
            David Giddy has reminded me off-list of the existence of the<br>
            UDRC-II: <a href="http://nwdigitalradio.com/product/udrc/" rel="noreferrer" target="_blank">http://nwdigitalradio.com/prod<wbr>uct/udrc/</a><br>
        <<a href="http://nwdigitalradio.com/product/udrc/" rel="noreferrer" target="_blank">http://nwdigitalradio.com/pro<wbr>duct/udrc/</a>><br>
            <<a href="http://nwdigitalradio.com/product/udrc/" rel="noreferrer" target="_blank">http://nwdigitalradio.com/pro<wbr>duct/udrc/</a><br>
        <<a href="http://nwdigitalradio.com/product/udrc/" rel="noreferrer" target="_blank">http://nwdigitalradio.com/pro<wbr>duct/udrc/</a>>><br>
<br>
            This is pretty much what I was looking for, with the<br>
        exception of<br>
            the onboard GPS. A little bit pricier than I was hoping<br>
        for, but<br>
            time vs money and all that...<br>
            Would require a bit of coding to make whatever modem Glen<br>
        writes<br>
            key to the relevant GPIO pins, but hey - open source, and<br>
        I'm more<br>
            than happy to write and test code :-)<br>
<br>
            73<br>
            Mark VK5QI<br>
<br>
            On Mon, Dec 18, 2017 at 7:35 PM, Mark Jessop<br>
            <<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail.com</a><br>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a>><br></span>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a><div><div class="h5"><br>
        <mailto:<a href="mailto:lenniethelemming@gmail.com" target="_blank">lenniethelemming@gmail<wbr>.com</a>>>><br>
            wrote:<br>
<br>
                Given the cost of boards like the Raspberry Pi Zero,<br>
        and other<br>
                similar boards, I don't see it being targeted at ARM-NEON<br>
                being that big of a deal.<br>
<br>
                I guess a good product to complement the modem would be a<br>
                'shield' (or hat, or cape, or whatever the kids call them<br>
                nowadays), for a raspberry pi or similar, that includes:<br>
                - An Audio codec chip (probably via I2S? Example DAC board<br>
                here, but no ADC:<br>
        <a href="https://core-electronics.com.au/pimoroni-phat-dac-for-raspberry-pi-zero.html" rel="noreferrer" target="_blank">https://core-electronics.com.a<wbr>u/pimoroni-phat-dac-for-raspbe<wbr>rry-pi-zero.html</a><br>
        <<a href="https://core-electronics.com.au/pimoroni-phat-dac-for-raspberry-pi-zero.html" rel="noreferrer" target="_blank">https://core-electronics.com.<wbr>au/pimoroni-phat-dac-for-raspb<wbr>erry-pi-zero.html</a>><br>
               <br>
        <<a href="https://core-electronics.com.au/pimoroni-phat-dac-for-raspberry-pi-zero.html" rel="noreferrer" target="_blank">https://core-electronics.com.<wbr>au/pimoroni-phat-dac-for-raspb<wbr>erry-pi-zero.html</a><br>
        <<a href="https://core-electronics.com.au/pimoroni-phat-dac-for-raspberry-pi-zero.html" rel="noreferrer" target="_blank">https://core-electronics.com.<wbr>au/pimoroni-phat-dac-for-raspb<wbr>erry-pi-zero.html</a>>>)<br>
                - PTT interface (relay? FET?)<br>
                - Maybe even a GPS unit? (Something like a uBlox MAX-8<br>
        would<br>
                go nicely)<br>
<br>
                Of course you can do a lot of this with a USB sound<br>
        card and<br>
                some external circuitry, but I like the idea of a<br>
                self-contained unit that you could mount in a small box.<br>
<br>
                I might look into parts for such a board over the<br>
        holidays, if<br>
                I'm not too busy chasing balloons at Mt Gambier...<br>
<br>
                73<br>
                Mark VK5QI<br>
<br>
                On Mon, Dec 18, 2017 at 1:22 PM, Glen English VK1XX<br>
                <<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.com.au</a><br>
        <mailto:<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.<wbr>com.au</a>><br></div></div>
                <mailto:<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.<wbr>com.au</a><span class=""><br>
        <mailto:<a href="mailto:glenlist@pacificmedia.com.au" target="_blank">glenlist@pacificmedia.<wbr>com.au</a>>>> wrote:<br>
<br>
                    Matthew Cook asked me about the hardware and STM32 :<br>
<br>
                    STM32F7 MIGHT run the decoder, for narrow<br>
        bandwidth search<br>
                    windows and slightly higher SNR requirements (+1<br>
        dB say) .<br>
                    The search algorithm is intensive and the LDPC<br>
        decoder is<br>
                    hard work, also. But there is a nice vernier<br>
        control on<br>
                    the "how hard it tries" to control CPU usage.<br>
<br>
                    STM32-anything will definitely run the encoder<br>
        (lots of<br>
                    LUTs in FLASH)<br>
<br>
                    (it already is implemented on STM32L151 back in 2014)<br>
<br>
                    talk soon when I am not so flat out<br>
<br>
                    cheers<br>
<br>
<br>
<br>
                    ______________________________<wbr>_________________<br>
                    OZAPRS mailing list<br>
        <a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>><br></span>
        <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>>><span class=""><br>
        <a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
        <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>><br>
                    <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a><br>
        <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>>><br>
<br>
<br>
<br>
<br>
            ______________________________<wbr>_________________<br>
            OZAPRS mailing list<br>
        <a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>><br></span>
        <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>>><span class=""><br>
        <a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
        <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>><br>
            <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a><br>
        <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>>><br>
<br>
<br>
<br>
<br>
        ______________________________<wbr>_________________<br>
        OZAPRS mailing list<br>
        <a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>><br>
        <a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
        <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>><br>
<br>
<br>
<br>
    ______________________________<wbr>_________________<br>
    OZAPRS mailing list<br>
    <a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a> <mailto:<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a>><br>
    <a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
    <<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mail<wbr>man/listinfo/ozaprs</a>><br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
OZAPRS mailing list<br>
<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a><br>
<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
</span></blockquote><div class="HOEnZb"><div class="h5">
<br>
<br>
______________________________<wbr>_________________<br>
OZAPRS mailing list<br>
<a href="mailto:OZAPRS@aprs.net.au" target="_blank">OZAPRS@aprs.net.au</a><br>
<a href="http://lists.aprs.net.au/mailman/listinfo/ozaprs" rel="noreferrer" target="_blank">http://lists.aprs.net.au/mailm<wbr>an/listinfo/ozaprs</a><br>
</div></div></blockquote></div><br></div>