|
From: | Estrada Lupianez, Jenniffer Marie |
Subject: | [Discuss-gnuradio] Question on using the GMSK Mod Block and GLFSR Block |
Date: | Tue, 20 Jun 2017 20:59:38 +0000 |
1. There appears to be an issue with the GMSK modulation blocks within GNU Radio. See the attached screen shots, where I've removed the the USRP completely from the flow graph, and am running it entirely within GNU Radio on a x64 host, comparing the two
GMSK modulation blocks (GMSK Mod and GMSK Modulator) available in GNU Radio.
2. Also, I am looking at the GLFSR block in GNU Radio, and I am wondering what the correct input for the GLFSR block parameters should be for what seems like a very odd configuration, since I want only 13 bits of a 16 bit stream comprised of 0xA5A5. All three fields, Degree, Mask, and Seed are type INT. I am looking to use a single length 13 LFSR polynomial, and have an initial seed of 0xA5A5 (How the 16 bits are handled to get the 13 bits of interest, depends on what software we are using, like MATLAB vs System Generator, and the GNU Radio implementation has to match).
What I have currently: Type: Byte Degree: 13 (int between 0 and 32 according to source code on-line, 13 seems like the correct input, but is causing some confusion for me with the Seed value)
and while I am fairly certain of those, the following parameters are what I am uncertain of: Mask (int format) Seed (int format)
Am I correct in thinking the Mask parameter is 0x0000100D, in correlation to the the polynomial degree that I want (13)? I found this at
http://wiki.spench.net/wiki/GNU_Radio_Notes. If I understand the GNU Radio Doxygen documentation and (Balint Seeber's) notes on the website, then leaving the Mask as 0 will have GNU Radio pick the correct
one for me based on the polynomial degree I enter.
If that is the case, then the only thing that is really catching me is the Seed being a type int, when I am using Type: Byte. Is the input to this parameter then the 8 bits within the byte? If so, how would I go about creating the 13 degree polynomial with that
configuration? I was trying to see if the Packet Encoder block or the vector Source block would be useful for this, but I am not sure it really is what I need for this. I have a 16 bit hexadecimal value (0xA5A5) that I am to use only 13 bits out of, but it
must be consistent with the formats in System Generator and MATLAB explained below:
Current Method: M-Code Polynomial (Koopman Format) Reg Init
So, this is the GLFSR configuration that I currently have:
If context is needed, I am trying to implement a pre-coded GMSK signal transmission of a 13 degree LSFR source with the 0xA5A5 seed, of which I can control how many times the output of the LFSR is generated (I notice that the repeat option in the LFSR source is only able to be set as "yes" or "no", but I assume I can tweak that within the python generated code to override somehow??), using an Ettus E310 SDR. The general layout of the blocks in the final flow graph could be something like:
GLFSR source --> Differential Encoder --> GMSK modulator --> USRP Sink
As seen in the precoded_gmsk.grc flowgraph and generated python code attached.
Any assistance is appreciated.
Thank you,
Jenn
|
test_gmsk.py
Description: test_gmsk.py
gmsk_test.grc
Description: gmsk_test.grc
flowgraph_test_gmsk.png
Description: flowgraph_test_gmsk.png
signal_gmsk_mod_block.png
Description: signal_gmsk_mod_block.png
signal_gmsk_modulator_block.png
Description: signal_gmsk_modulator_block.png
[Prev in Thread] | Current Thread | [Next in Thread] |