Yeah, I have one.  The distal end still makes noise.  Better at galvanic
isolation.  It does prevent the PC noise from propagating down the cable.
I did think about using Toslink but that just seemed like another
can-o-worms.

On Fri, Mar 18, 2022 at 12:54 PM Marcus D. Leech <patchvonbr...@gmail.com>
wrote:

> On 2022-03-18 14:48, david vanhorn wrote:
>
> Noise is always an issue.  I could do a serial port over USB, or TTL
> USART, but I thought that the SD card would be the most quiet, not
> requiring any electrical connection to the PC.
> It also means that I automatically have my recordings available for
> regression testing.
>
> Yeah, I thought that your architecture was probably driven by noise
> concerns--630M would not be a "forgiving" band in this regard.  I will
> point out, just as an FYI,
>   that USB-over-fiber extenders do exist, but because they're rather
> "niche", they're not cheap at all....
>
>
>
> On Fri, Mar 18, 2022 at 12:32 PM Marcus Müller <mmuel...@gnuradio.org>
> wrote:
>
>> Ah cool! Thanks for clarifying :) This sounds to be a rather nice setup,
>> analog-wise!
>>
>> Yeah, then just dumping the raw 32bit unsigned to SD Card is probably
>> easiest.
>>
>> (by the way, this is << 1Mb/s, so just dumping the raw data over a UART
>> or SPI interface
>> to some serial-to-USB converter might work as well to get the data into
>> your PC. If your
>> ARM does have USB2 built-in, then that would also be a rather cool thing,
>> but knowing the
>> varying quality of chip vendor USB hardware abstractions, that might or
>> might not be easy
>> to implement :) In both cases, UART/SPI serial output converted to USB,
>> or native USB,
>> you'd probably have to afterwards write a schmall C/C++ driver, so that
>> SoapySDR or GNU
>> Radio directly can talk to it.)
>>
>> Cheers,
>> Marcus
>>
>> On 18.03.22 19:26, david vanhorn wrote:
>> > I'm using a PCB that I designed with an ARM chip, codec, and SD card
>> for logging, as my
>> > data capture platform.
>> > Feeding that is a QSD (Tayloe) front end that I designed, specifically
>> for the 630m ham
>> > band, converting down to 1kHz differential I and Q signals to the
>> codec, which has a 105dB
>> > SNR.
>> > The front end appears to have a 90dB linear dynamic range so far as I
>> can measure with my
>> > equipment. I'll improve that if I can.
>> > Once I capture to SD, then I can pull the SD and process on the PC to
>> develop weak signal
>> > detection.
>> >
>> >
>> >
>> > On Fri, Mar 18, 2022 at 12:12 PM Marcus Müller <mmuel...@gnuradio.org
>> > <mailto:mmuel...@gnuradio.org>> wrote:
>> >
>> >     Hey :)
>> >
>> >     CSV might or might not be convenient, but if C or assembler is your
>> tool: The things that
>> >     the GNU Radio file source reads or the file sink writes is exactly
>> what you get when you
>> >     take a buffer of samples and do an `fwrite` on that :) Just a dump
>> of the raw memory to a
>> >     file. 32 bit unsigned should be directly digestible by GNU Radio
>> (even if there were
>> >     endianness issues – you can just read as bytes and reshuffle as
>> needed :)).
>> >
>> >     I didn't fully get how you're currently interfacing your hardware.
>> Care to explain in a
>> >     bit more breadth? What are the components of your system, and how
>> does the computer
>> >     running GNU Radio relate?
>> >
>> >     Best and slightly excited regards,
>> >     Marcus
>> >
>> >     On 18.03.22 18:37, david vanhorn wrote:
>> >      > Hi!
>> >      >
>> >      > I'm trying to interface some radio hardware I built to GnuRadio
>> by way of data
>> >     captured to
>> >      > SD cards.
>> >      > I have two channels (I and Q) of 32 bit unsigned data
>> internally, and I originally
>> >     assumed
>> >      > CSV would be the easy path, but now I see it's not.
>> >      > Coming in through the PC sound card is not an option for me, I'm
>> using a particular
>> >     codec
>> >      > selected for the application, and my goal is to develop signal
>> processing
>> >     algorithms to
>> >      > then be implemented back on my processor in C or ASM.
>> >      >
>> >      > I suppose it would be easiest if I rework my hardware to log
>> data as if it were the
>> >      > "Signal Source" block with complex output.
>> >      > Where can I see what that looks like at the level of raw data?
>> >      >
>> >      >
>> >      >
>> >      >
>> >      > On Fri, Mar 18, 2022 at 4:59 AM Marcus Müller <
>> mmuel...@gnuradio.org
>> >     <mailto:mmuel...@gnuradio.org>
>> >      > <mailto:mmuel...@gnuradio.org <mailto:mmuel...@gnuradio.org>>>
>> wrote:
>> >      >
>> >      >     Hi David,
>> >      >
>> >      >     you could write a quick python block that just reads values
>> from the CSV file
>> >     and outputs
>> >      >     them. That'd be a very nice, basic exercise, and I think our
>> freshly overhauled
>> >      >     tutorials[1] should bring you there very quickly!
>> >      >     If you want help with that, hit us up in this mailing list
>> (ideally after
>> >     reading the
>> >      >     tutorials up to the point of roughly understanding how to
>> write (embedded) Python
>> >      >     blocks),
>> >      >     and tell us more about the data in your CSV files.
>> >      >
>> >      >     Alternatively, you could also write a converter of CSV to a
>> format that GNU
>> >     Radio by
>> >      >     itself already has a reader for – and the main candidate
>> here would probably
>> >     just be
>> >      >     plain
>> >      >     raw data files (as e.g. numpy's `ndarray.tofile("filename")`
>> does) – the File
>> >     Source
>> >      >     could
>> >      >     directly read that. But with our freshly rewrite Wavfile
>> sink and source
>> >     blocks, we can
>> >      >     write and read most audio files, just as well.
>> >      >
>> >      >     Then your flow graph could do the signal processing you want
>> – e.g frequency
>> >     translation,
>> >      >     low-pass filtering… and finally output it to any device that
>> you have a GNU Radio
>> >      >     interface to (e.g., your sound card). The hardware runs at a
>> sample rate – GNU
>> >     Radio
>> >      >     itself just tries to feed it as fast as possible. So, the
>> signal processing in
>> >     GNU Radio
>> >      >     itself isn't concerned with rate at all!
>> >      >
>> >      >     Hope this helps,
>> >      >     Marcus
>> >      >
>> >      >     [1] https://tutorials.gnuradio.org <
>> https://tutorials.gnuradio.org>
>> >     <https://tutorials.gnuradio.org <https://tutorials.gnuradio.org>>
>> >      >
>> >      >     PS: you'll often find me online, recommending not to use CSV
>> as a sample
>> >     storage format.
>> >      >     I'll do the same to you here, but not because I think it's
>> in any way invalid
>> >     to have
>> >      >     data
>> >      >     in CSV files; I just want to point out it might be worth
>> thinking about using
>> >     something
>> >      >     else. So take this with a "I think it's pretty cool you're
>> doing this!".
>> >      >
>> >      >     That has the reasons that
>> >      >     a) unless you're more restricted than "CSV" says, you don't
>> know how many bits
>> >     are there
>> >      >     per sample, as numbers might be represented in different
>> lengths, so seeking
>> >     exactly only
>> >      >     works by reading and understanding the whole file up to the
>> point you seek to,
>> >      >     b) conversion of floating point numbers to human-readable
>> form incurs rounding
>> >     errors,
>> >      >     and
>> >      >     that can really wreck your day if you need to rerun
>> *exactly* the same
>> >     experiment twice,
>> >      >     c) printing numbers as text is really inefficient, both
>> storage-wise as well as
>> >     compute
>> >      >     wise (which will only matter at higher sampling rates) and
>> sometimes, but only
>> >     sometimes,
>> >      >     ( d) people say that CSV is good because it's
>> human-readable, but I challenge
>> >     anyone to
>> >      >     read a text file with only 10000 values and be happier about
>> that than if he
>> >     used a tool
>> >      >     that displayed the values graphically, zoomably, and then
>> allows for inspection
>> >     of single
>> >      >     values once zoomed sufficiently in.)
>> >      >
>> >      >
>> >      >     On 18.03.22 04:55, david vanhorn wrote:
>> >      >      > I've done a little with Gnuradio a couple years ago, but
>> I'd now like to
>> >     apply it to a
>> >      >      > serious problem.
>> >      >      >
>> >      >      > I have a design I'm working on that will output raw data
>> that could be
>> >     interpreted
>> >      >     as an
>> >      >      > audio stream centered on 1kHz.  I'd like to work on
>> extracting CW signals
>> >     that are
>> >      >     rather
>> >      >      > slow, from a rather narrow bandwidth, and see how far
>> down into the noise I can
>> >      >     actually
>> >      >      > extract the signals.
>> >      >      >
>> >      >      > Is there a block that can bring in CSV data from a file
>> at a specific rate, and
>> >      >     serve as
>> >      >      > the input to my CW detection system?
>> >      >      >
>> >      >      >
>> >      >      > --
>> >      >      > K1FZY (WA4TPW) SK  9/29/37-4/13/15
>> >      >
>> >      >
>> >      >
>> >      > --
>> >      > K1FZY (WA4TPW) SK  9/29/37-4/13/15
>> >
>> >
>> >
>> > --
>> > K1FZY (WA4TPW) SK  9/29/37-4/13/15
>>
>
>
> --
> K1FZY (WA4TPW) SK  9/29/37-4/13/15
>
>
>

-- 
K1FZY (WA4TPW) SK  9/29/37-4/13/15

Reply via email to