MCPcopy Create free account
hub / github.com/AlexandreRouma/SDRPlusPlus / init

Method init

decoder_modules/m17_decoder/src/m17dsp.h:604–638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

602 }
603
604 void init(stream<complex_t>* input, float sampleRate, void (*handler)(M17LSF& lsf, void* ctx), void* ctx) {
605 _sampleRate = sampleRate;
606
607 demod.init(input, _sampleRate, M17_DEVIATION);
608 rrc.init(31, _sampleRate, M17_BAUDRATE, M17_RRC_ALPHA);
609 fir.init(&demod.out, &rrc);
610 recov.init(&fir.out, _sampleRate / M17_BAUDRATE, 1e-6f, 0.01f, 0.01f);
611 doubler.init(&recov.out);
612 slice.init(&doubler.outA);
613 demux.init(&slice.out);
614 lsfFEC.init(&demux.linkSetupOut, handler, ctx);
615 payloadFEC.init(&demux.streamOut);
616 decodeLICH.init(&demux.lichOut, handler, ctx);
617 decodeAudio.init(&payloadFEC.out);
618
619 ns2.init(&demux.packetOut);
620
621 diagOut = &doubler.outB;
622 out = &decodeAudio.out;
623
624 generic_hier_block<M17Decoder>::registerBlock(&demod);
625 generic_hier_block<M17Decoder>::registerBlock(&fir);
626 generic_hier_block<M17Decoder>::registerBlock(&recov);
627 generic_hier_block<M17Decoder>::registerBlock(&doubler);
628 generic_hier_block<M17Decoder>::registerBlock(&slice);
629 generic_hier_block<M17Decoder>::registerBlock(&demux);
630 generic_hier_block<M17Decoder>::registerBlock(&lsfFEC);
631 generic_hier_block<M17Decoder>::registerBlock(&payloadFEC);
632 generic_hier_block<M17Decoder>::registerBlock(&decodeLICH);
633 generic_hier_block<M17Decoder>::registerBlock(&decodeAudio);
634
635 generic_hier_block<M17Decoder>::registerBlock(&ns2);
636
637 generic_hier_block<M17Decoder>::_block_init = true;
638 }
639
640 void setInput(stream<complex_t>* input) {
641 assert(generic_hier_block<M17Decoder>::_block_init);

Callers 2

M17DecoderModuleMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected