On Sat, Sep 4, 2010 at 1:53 AM, Marcus D. Leech <[email protected]> wrote: > OK, so I'm wetting my collective feet (all two of them) in the Tx side > of the world, with a comms/telecom application, no less. > > I'm playing with the OP25 project, which is an open-source initiative to > produce tools to deal with the so-called > "Project 25" digital radio standard that is emerging as the way lots > of public-service people talk to each other > on their radios. > > The TX side of the project is still fairly primitive--they have a > hand-coded flow-graph that implements an APCO-25 4-level > FSK modulator, using an *audio* sink, and then carefully plugging the > audio into the guts of a physical radio, right at the > FM modulator (for those of you who were around in the old amateur > packet radio days, that's the way we used to do 9600BPS > packet--bypass the usual FM audio filtering, and plug directly into > the FM modulator). > > So, I decided to adapt what they'd done on the audio side to driving a > USRP directly (with an appropriate RF card, naturally). > > The audio version of their modulator is fairly straightforward. It > takes two-bit sequences from a packed-byte stream, and uses them > to produce symbols from a simple [1.0, 3.0, -1.0, -3.0] > chunks-to-simples conversion. From there, the symbols are run through > an RRC filter, then an FM preemphasis filter, then a gain multiplier > block, and thence to the audio sink. > > I have constructed a flow-graph in GRC that I think does pretty-much the > same thing, only instead of dumping to the audio port, it > has an FM modulator block, and then goes to a USRP sink, with > appropriate interpolation specified. > > My GRC flow-graph is here: http://www.sbrac.org/files/fm4_usrp_modulator.grc > > APCO-25 runs at a nominal symbol rate of 4800sps, to give 9600BPS, and > occupies a nominal 12.5KHz of bandwidth. The rest of it > involves the usual suspects of FEC coding, packetizing, etc, etc. I'm > just interested in getting the modulator correct at this stage, since > the rest of the "goo" is already partially addressed in the existing > OP25 work. > > I'm not sure that my parameters for the RRC are correct, for one, and > exactly what to set the "sensitivity" parameter to in the > the FM modulator (I imagine it's similar to setting the deviation > control on an analog FM modulator).
Hi Marcus, In the nbfm_tx.py and wfm_tx.py blocks the sensitivity is calculated as: k = 2 * math.pi * max_dev / quad_rate > Also, I've copied the signal processing chain almost directly from the > version of the modulator that dumps to the audio port, so perhaps > there are shortcuts I can take to produce a nice APCO-25 4-level FSK > signal that are "cheaper". Maybe you can use the wfm_tx block? Alex _______________________________________________ Discuss-gnuradio mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
