discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] PSK31 (from audio to radio)


From: Cinaed Simson
Subject: Re: [Discuss-gnuradio] PSK31 (from audio to radio)
Date: Tue, 13 Sep 2016 23:11:10 -0700
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

On 09/10/2016 05:19 PM, pen tester wrote:
> Thanks Cinaed for your response.
> 
> For everything up to the multiply on the TX side - this is actually from
> a working example that TXs using an audio card [1]. So just for a proof
> of concept I would like to leave that as-is and just append on TX over
> Osmocom Sink. Happy to look at simplifying later, just wanted to get POC
> for PSK31 over radio for now on the transmit and receive. 
> 
> Also thanks for spotting my Freq mistake too.
> 
> My plan now is to use the fldigi app for testing the rx side while I try
> and make the rx side work - just figuring out how to write to a wav file
> sink that is accepted by fldigi too... and trying to find some TX examples. 
> 
> [1] https://github.com/tkuester/gr-psk31/
> <https://github.com/tkuester/gr-psk31/> (examples/psk31_tx.grc)
> 

The output of the psk31_tx.grc example doesn't appear to be either BPSK
or QPSK - both which should have a constant envelope  - or at least
approximately constant.

Instead, the output looks like a beat signal of 2 signals close in
frequency - resulting in an envelope varying in amplitude.

I'm presuming psk31 implies BPSK with a low baud rate - 31 symbols per
second.

I may be missing something.


> On 10 September 2016 at 11:40, pen tester <address@hidden
> <mailto:address@hidden>> wrote:
> 
>     Hi,
>        Still playing around and I have a question about the value which
>     should go in the Polyphase Resampler on the tx side please. Any
>     advice on the AM rx too would be helpful :-)
> 
>     Transmit
> 
>       * Simply trying make the working PSK31 audio tx to tx over HackRF
>         instead using [1] and updates from Tim's response
>       * Screenshot: http://pasteboard.co/1dLjHxMAU.png
>         <http://pasteboard.co/1dLjHxMAU.png>
> 
> 
>     Receive
> 
>       * Simply trying to make the working PSK31 audio rx work using a
>         RTLSDR instead based on [2]
>       * The first line is an attempt to take in the AM signal and just
>         pass it on to [2]
>       * For the AM rx, I used [3] as a guide
>       * Screenshot: http://pasteboard.co/1dLZWV9mv.png
>         <http://pasteboard.co/1dLZWV9mv.png>
> 
> 
>     [1] https://github.com/tkuester/gr-psk31/
>     <https://github.com/tkuester/gr-psk31/> (examples/psk31_tx.grc)
>     [2] https://github.com/tkuester/gr-psk31/
>     <https://github.com/tkuester/gr-psk31/> (examples/psk31_rx.grc)
>     [3] https://www.csun.edu/~skatz/katzpage/sdr_project/sdr/grc_tutorial3.pdf
>     
> <https://www.csun.edu/%7Eskatz/katzpage/sdr_project/sdr/grc_tutorial3.pdf> 
> 
>     On 6 September 2016 at 05:49, pen tester <address@hidden
>     <mailto:address@hidden>> wrote:
> 
>         Tim,
>            Yes, your graphs are really useful :-) Thank you for
>         responding in such detail! 
> 
>            Here is what I am up to:
> 
>         Transmit side:
> 
>           * I made your changes to your transmit graph [1]
>           * All the changes were fine but I was confused about the use
>             of the Polyphase Resampler as I could not get the values to
>             work without underflows when executing i.e. "UUUU..."
>           * So instead (this is probably wrong) I tried using a Rational
>             Resampler with an Interpolation of 1e6 and a Decimation of 48e3.
>           * Updated version: http://pasteboard.co/hmyGOGTE4.png
>             <http://pasteboard.co/hmyGOGTE4.png>
>           * Either way, the tx graph looks healthier - just need some
>             advice on the resampler perhaps?
> 
> 
>         Receive side:
> 
>           * I am using the start of this receive graph [2] as it was
>             using radio rx already 
>           * and just modifying the demod portion to be more like your rx
>             graph 
>           * Updated version: http://pasteboard.co/hmzrMBAIi.png
>             <http://pasteboard.co/hmzrMBAIi.png>
>           * I also need advice from anyone who could point in the right
>             direction on the AM rx side please?
> 
> 
>         [1] https://github.com/tkuester/gr-psk31/
>         <https://github.com/tkuester/gr-psk31/> (examples/psk31_tx.grc)
>         [2] https://github.com/argilo/sdr-examples
>         <https://github.com/argilo/sdr-examples> (tutorial/6_psk.grc)
>         [3] https://github.com/tkuester/gr-psk31/
>         <https://github.com/tkuester/gr-psk31/> (examples/psk31_rx.grc)
> 
>         On 4 September 2016 at 12:33, Tim K <address@hidden
>         <mailto:address@hidden>> wrote:
> 
>             Hey hey!
> 
>             Glad to see someone using this. (And that it's apparently
>             still working! Goodness... I need to clean this up...)
> 
>             I'm giving advice freehand right now, as I don't have my
>             radios with me to test this. There are definitely more
>             elegant ways for this solution, this is just the quickest I
>             could think of without reverse engineering what I wrote
>             forever ago.
> 
>             Since this is AM, I think you'll only need the Real port on
>             your "Float to Complex" block. You can attach the "Null
>             Source" to the Imaginary port. Do a quick check to make sure
>             the real signal's not exceeding +/- 1... you might want to
>             attenuate it to +/- 0.7 for now, someone else should comment.
> 
>             As far as the transmit side goes, I'd leave everything up to
>             the "Multiply" block untouched. Consider that your "audio
>             input" to the radio. After that...
>              - Multiply Const (set to 0.7 for safety)
>              - Polyphase Resampler (float/float) set to (1e6 / 48e3) -
>             This gets your sample rate up to radio speeds
>              - Float to Complex (in the Real port, Null Source to the
>             Imag port) - This makes your signal "complex AM"
>              - Send the Complex stream into your Osmocom Sink (set to
>             1e6 sps) - And transmit!
> 
>             If I remember correctly, some radios don't like working at
>             non-integer sample rates. (The hackRF may be ok though...)
> 
>             Play gently with your TX gain until you can see it on
>             another radio. (IIRC the HackRF is simplex... perhaps an
>             RTL?) Use AM to demodulate.
> 
>             I've been meaning to do a write up on this for a while. If I
>             ever get around to it, I'll make sure to CC you.
> 
>             - Tim
> 
> 
>             On Fri, Sep 2, 2016 at 11:55 PM, pen tester
>             <address@hidden <mailto:address@hidden>> wrote:
> 
>                 Hi,
>                 I am trying to get a simple working example of PSk31
>                 working (transmitting with a hackrf and receiving with a
>                 rtlsdr dongle). Here is what I have so far.
> 
> 
>                 Working PSK31 tx and rx with a sound card
>                 ==========================================
>                 Transmit: https://github.com/tkuester/gr-psk31/
>                 <https://github.com/tkuester/gr-psk31/>
>                 (examples/psk31_tx.grc)
>                 Receive: https://github.com/tkuester/gr-psk31/
>                 <https://github.com/tkuester/gr-psk31/>
>                 (examples/psk31_rx.grc)
> 
>                 These work great for sending a PSK31 message over audio
>                 card and receiving with the audio card.
> 
>                 I just slightly modified them to take input from the
>                 "Audio Source" block instead of a "Wav File Source" to
>                 use the sound card directly:
> 
>                 Transmit Graph:
>                 http://www.megafileupload.com/7sm9/psk31_tx.grc
>                 <http://www.megafileupload.com/7sm9/psk31_tx.grc> 
>                 Transmit Image: http://pasteboard.co/giNm3kNzC.png
>                 <http://pasteboard.co/giNm3kNzC.png> or
>                 http://www.megafileupload.com/7smc/psk31_tx-audiocard.png 
> <http://www.megafileupload.com/7smc/psk31_tx-audiocard.png>
> 
>                 Receive Graph:
>                 http://www.megafileupload.com/7sma/psk31_rx.grc
>                 <http://www.megafileupload.com/7sma/psk31_rx.grc>
>                 Receive Image: http://pasteboard.co/giOlxtWUf.png
>                 <http://pasteboard.co/giOlxtWUf.png> or
>                 http://www.megafileupload.com/7smb/psk31_rx-audiocard.png 
> <http://www.megafileupload.com/7smb/psk31_rx-audiocard.png>
> 
>                 Turning up the audio a little and tuning to 2003 approx
>                 on the rx graph results in reception of the sent message
>                 "Hello World!"
> 
> 
> 
>                 Reference version for using hackrf instead of sound card
>                 ==========================================================
>                 Next, I wanted to modify these to audio versions to work
>                 over Radio using a HackRF and RTLSDR dongle.
> 
>                 These graphs seems very useful but I couldn't get it
>                 working end to end for some reason.
> 
>                 Transmit: https://github.com/argilo/sdr-examples
>                 <https://github.com/argilo/sdr-examples> (multi_tx.grc)
>                 Receive:  https://github.com/argilo/sdr-examples
>                 <https://github.com/argilo/sdr-examples>
>                 (tutorial/6_psk.grc)
> 
>                 I made some changes to the freq to be in range for
>                 RTLSDR .e.g changed freq from 441e6 in ref graph,
>                 changed to 841e6. 
> 
> 
> 
>                 My merged attempt
>                 =================
>                 The attempt I am currently trying to get working is
>                 based on the audio soundcard flies for the transmit:
> 
>                 Transmit: Using  audio tx (psk31_tx_attempt2): where I
>                 just replaced the audio sink with the Osmocom sink (not
>                 sure what else is needed here for transmission over hackrf)
> 
>                 Transmit Graph:
>                 http://www.megafileupload.com/7smi/psk31_tx-attempt2.grc
>                 <http://www.megafileupload.com/7smi/psk31_tx-attempt2.grc>
>                 Transmit Image: http://pasteboard.co/giOMGNqD9.png
>                 <http://pasteboard.co/giOMGNqD9.png> or
>                 http://www.megafileupload.com/7sme/psk31_tx-attempt2.png
>                 <http://www.megafileupload.com/7sme/psk31_tx-attempt2.png>
> 
>                 Receive Graph:
>                 http://www.megafileupload.com/7smh/6_psk-hackrf.grc
>                 <http://www.megafileupload.com/7smh/6_psk-hackrf.grc>
>                 Receive Image: http://pasteboard.co/giPflR4TI.png
>                 <http://pasteboard.co/giPflR4TI.png> or
>                 http://www.megafileupload.com/7smf/6_psk_hackrf.png
>                 <http://www.megafileupload.com/7smf/6_psk_hackrf.png>
> 
>                 For the receive, I just left radio rx part in and
>                 replaced the decoder parts with decoding logic from
>                 https://github.com/tkuester/gr-psk31/
>                 <https://github.com/tkuester/gr-psk31/>
>                 (examples/psk31_rx.grc). I made other minor changes such
>                 as freq and sample rates.
> 
> 
> 
>                 My question
>                 ============
>                 So in summary, just looking for a little guidance on my
>                 merged attempt to get psk31 out over a hackrf and
>                 received using a RTLSDR. Any advice for a learner would
>                 be great :-)
> 
> 
> 
>                 _______________________________________________
>                 Discuss-gnuradio mailing list
>                 address@hidden <mailto:address@hidden>
>                 https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>                 <https://lists.gnu.org/mailman/listinfo/discuss-gnuradio>
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
> 




reply via email to

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