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 <[email protected]> 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 [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
