Thank you for your detailed reply.
I've taken a look at those links and for now are having some success using
the Clock Recovery MM block with default settings (and 24 samples/symbol)
to capture the data at 2kbps...followed by a Bit Slicer.

After I modulate this 2kbps bit stream to 4-QAM I have a complex
1kSymbol/s stream...as a data stream...with bandlimiting from the QAM block.

Can you suggest how I can pad this out so that I can output it from my
48kSps DAC device  such that it is output at a real rate of 1kSymbol/sec ?

Ive tried out "repeat" blocks but without any significant progress.

What is the best approach for this situation of having to transpose a data
stream to a specific output rate ?

Regards.





On 1 June 2018 at 22:25, Andy Walls <a...@silverblocksystems.net> wrote:

> > From:         Carlo Manfredini
> > Date:         Fri, 1 Jun 2018 21:24:26 +1000
> > Hello,
> > I have a 2kbps bipolar data stream (in hardware) which I will sample
> > at 48kSps and bring into GR.
> > Once in GR, I wish to be able to sample only once per bit...so I use
> > the "Keep 1 in N" block (where N=24) and this reduces my rate to
> > 2kSps...with 1 sample per original data bit.
> >
> > However, I wish to be able to control exactly at which point in the
> > 48kSps stream that I sample down to 2kSps.
> >
> > This is equivalent in hardware terms to being able to select at which
> > point in each bit period that I sample once per bit.ie: selecting the
> > decision point in an eye pattern).
> >
> > The reason for this process is that I simply wish to read in the
> > original 2kbps bit stream so that I can use this data to do some PSK
> > modulation in GR etc...but my inputting device only runs at 48kSps.
> >
> > Is there some way with existing GR blocks that I can tell where
> > abouts in the 48kSps stream that I have actually sampled ? so that I
> > can manually set this sampling point.
>
> This is precisely the function of the Symbol Synchronization blocks.
>
> https://www.gnuradio.org/wp-content/uploads/2017/12/Andy-
> Walls-Samples-to-Digital-Symbols.pdf
>
> You should play with the example here:
>
> https://github.com/gnuradio/gnuradio/blob/master/gr-
> digital/examples/demod/symbol_sync_test_float.grc
> https://github.com/gnuradio/gnuradio/blob/master/gr-
> digital/examples/demod/symbol_sync_test_float_ted_gain.m
>
>
> You'll probably want to do something like:
>
>  -> Decimating FIR filter -> FIR Filter -> Symbol Sync -> Binary Slicer ->
>
> The first decimating FIR filter would anti-alias filter and downsample
> by, let's say, 2 or 4, to bring the stream down to either 12 or 6
> samples per symbol.
>
> The second FIR filter would be a pulse matched filter, to get rid of
> noise and peak the symbol centers.  (You can merge this filter into the
> previous filter, if you want.)
>
> The Symbol Sync block estimates the exact symbol centers, and
> downsamples to just those sample points.
>
> The binary slicer just thresholds its input samples to give you 1 or 0
> valued samples on output.
>
> > Perhaps a simpler question is : how do I know where the "Keep 1 in N"
> > block is sampling ?
>
> You don't.
>
> Regards,
> Andy
>
> > Thanks for any hints...hopefully I have explained this adequately.
>
>
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to