Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GMSK Mod/Demod - Simulink

184 views
Skip to first unread message

Bryan

unread,
May 14, 2008, 4:58:02 PM5/14/08
to
I am attempting to use the GMSK modulator and demodulator
in the Simulink Communications Blockset. My input is a
structure consisting of an array of bits and of times.
This structure comes from the MATLAB workspace and the
GMSK modulator and demodulator are called via the 'sim'
function. I am setting the workspace and timing in the
function call as follows:
sim('gmskmod.mdl', [0 5880/1e6], simset
('DstWorkspace', 'current', 'SrcWorkspace', 'current', 'Fix
edStep', 40/1e6));

The GMSK Modulator settings are as follows:
Input type: Bit
BT product: .3
Pulse Length: 4
Symbol prehistory: 1
Phase offset (rad): 0
Samples per symbol: 2
Output Data Type: Double

The GMSK Demodulator settigns are as follows:
Output type: Bit
BT product: .3
Pulse length: 4
Symbol Prehistory: 1
Phase offset (rad): 0
Samples per symbol: 2
Traceback length: 1
Output datatype: double

It seems like this should be pretty straight forward.
Take the GMSK modulator output, feed it into the GMSK
demodulator and, since I'm not adding any noise, I should
get out what I put in. This doesn't seem to be the case.
I get bits out, just not the right bits. I've searched
but cannot find a good explanation or example of how this
mod/demod is supposed to work. I'm still a little unclear
on what the 'traceback length' setting really does.

MATLAB's help is usually pretty good, but it seems to be
lacking a bit when it comes to some Simulink blocks,
including these. If someone could please point me in the
right direction, I'd greatly appreciate it.

Thanks,
-Bryan

Bryan

unread,
May 15, 2008, 8:50:17 AM5/15/08
to
No one has any experience using these blocks? Even a link
to a good resource on the blocks would be greatly
appreciated.

-Bryan

Bryan

unread,
May 21, 2008, 9:03:01 AM5/21/08
to
I'm kind of new to Simulink, so forgive me if I'm missing
something here, but for future reference should someone
else run into the same issues:

I had two separate .mdl files. One took an input of bits
from the MATLAB workspace and fed it through a GMSK
modulator, storing the output onto the MATLAB workspace.
The second .mdl file then took an input from the MATLAB
workspace and ran it through a GMSK demodulator, writing
the output to the workspace. The trouble I was running
into had to do with data rates. I was having no trouble
running a GMSK mod/demod simulation in Simulink without
using the sim() function from MATLAB. The data rate
between the modulator and demodulator was twice that of
the input into the modulator and the output from the
demodulator. That's to be expected, since the sampling
rate was 2. I wanted the models to be dynamic, so I was
specifying 'FixedStep' in my sim() call via the simset()
function. However, the FixedStep size wasn't allowing the
demodulator work at twice the data rate as the modulator.
Every input/output was running at the same data rate
(FixedStep). I thought using a structure with times would
solve the issues, but it didn't. I'm still looking for a
fix, but have moved on to something else so this is on
hold for now.

If anyone has any tips they'd be greatly appreciated.
Otherwise, I'll post more later should I come across
anything else.

Thanks.

0 new messages