📄 uwb.mdl
字号:
}
Block {
BlockType Reference
Name "Convolutional\nEncoder1"
Ports [1, 1]
Position [145, 30, 215, 60]
ShowName off
SourceBlock "commcnvcod2/Convolutional\nEncoder"
SourceType "Convolutional Encoder"
trellis "uwb.trellisStructure"
reset "None"
}
Block {
BlockType Reference
Name "P2 Puncture"
Ports [1, 1]
Position [275, 31, 330, 59]
ShowName off
SourceBlock "commsequence2/Puncture"
SourceType "Puncture"
punctureVector "uwb.punctureVector"
}
Block {
BlockType Outport
Name "Out1"
Position [400, 38, 430, 52]
}
Line {
SrcBlock "Convolutional\nEncoder1"
SrcPort 1
DstBlock "P2 Puncture"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Convolutional\nEncoder1"
DstPort 1
}
Line {
SrcBlock "P2 Puncture"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "Deinterleaver"
Ports [1, 1]
Position [220, 284, 290, 316]
Orientation "left"
BackgroundColor "lightBlue"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MaskDisplay "disp('Deinterleaver')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Deinterleaver"
Location [167, 345, 806, 526]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [20, 85, 50, 95]
}
Block {
BlockType Reference
Name "Buffer3"
Ports [1, 1]
Position [520, 75, 540, 105]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "uwb.bitsPerBlock / uwb.codeRate"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Buffer6"
Ports [1, 1]
Position [340, 75, 360, 105]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "3*uwb.NSD"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Buffer7"
Ports [1, 1]
Position [160, 75, 180, 105]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "uwb.NSD"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Compensate for\ninterleaver delay"
Ports [1, 1]
Position [80, 70, 130, 110]
SourceBlock "dspsigops/Delay"
SourceType "Delay"
dly_unit "Samples"
delay "uwb.NSD"
ic_detail off
dif_ic_for_ch off
dif_ic_for_dly off
ic "0"
reset_popup "None"
}
Block {
BlockType Reference
Name "Deinterleave across\nOFDM frames"
Ports [1, 1]
Position [405, 70, 475, 110]
SourceBlock "commblkintrlv2/Matrix\nDeinterleaver"
SourceType "Matrix Deinterleaver"
Nrows "uwb.NSD*uwb.spreadFactor/uwb.codedBitsPerQP"
"SKSymbol"
Ncols "3"
}
Block {
BlockType Reference
Name "Deinterleave within\nOFDM frame"
Ports [1, 1]
Position [225, 70, 295, 110]
SourceBlock "commblkintrlv2/Matrix\nDeinterleaver"
SourceType "Matrix Deinterleaver"
Nrows "10"
Ncols "10"
}
Block {
BlockType Outport
Name "Out1"
Position [595, 85, 625, 95]
}
Line {
SrcBlock "Buffer6"
SrcPort 1
DstBlock "Deinterleave across\nOFDM frames"
DstPort 1
}
Line {
SrcBlock "Buffer7"
SrcPort 1
DstBlock "Deinterleave within\nOFDM frame"
DstPort 1
}
Line {
SrcBlock "Deinterleave within\nOFDM frame"
SrcPort 1
DstBlock "Buffer6"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Compensate for\ninterleaver delay"
DstPort 1
}
Line {
SrcBlock "Deinterleave across\nOFDM frames"
SrcPort 1
DstBlock "Buffer3"
DstPort 1
}
Line {
SrcBlock "Buffer3"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Compensate for\ninterleaver delay"
SrcPort 1
DstBlock "Buffer7"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "DocBlock"
Ports []
Position [607, 51, 647, 74]
BackgroundColor "[0.752941, 0.752941, 0.752941]"
ShowName off
List {
ListType RTWdata
document_text01 "UWB Model - Multiband OFDM - 200 Mb/s Mode
\n"
"
\nSUMMARY OF MODEL
\n* Based on IEEE 802.15.3a proposal (Sept 2003 version)
"
"\n* End-to-end physical layer (streaming mode)
\n* Highest mandatory data rat"
"e (200 Mb/s)
\n* QPSK modulation, rate-5/8 forward error correction coding (c"
"onvolutional + puncturing)
\n* OFDM transmission: 122 subcarriers, 22 pilots,"
" 128-pt FFTs, zero prefix, guard period
\n* Fixed-point model of OFDM TX/RX ("
"16-, 12-, 10-, and 8-bit)
\n* 2x spreading across sub-bands
\n* Data interlea"
"ving
\n* PLCP preamble (packet sync, frame sync, and channel estimation)
\n* "
"Viterbi decoding
\n* Mode 1 frequency hopping (3 bands)
\n
\nMODEL ASSUMPTION"
"S
\n* Baseband-equivalent model (no up/down RF conversion)
\n* Random data tr"
"ansmision (no data scrambling used)
\n* Fixed (selectable) number of data sym"
"bols per packet (no pad bits used)
\n* Continuous frame-to-frame operation (n"
"o coder state resetting via tail bits)
\n* Fixed transmit power level; link-S"
"NR specified (on-the-fly)
\n* Idealized timing/frequency acquisition
\n* Not "
"modeled:
\n - Other mandatory and optional data rates (55, 80, 110, 160, "
"200, 320, 480 Mb/s)
\n - MAC/PHY interface and PLCP header (TXVECTOR/RXVEC"
"TOR, HCS/FCS)
\n - Time windowing of OFDM symbols
\n
\nCHANNEL MODELS
\nTh"
"is model requires four .mat files to run. These can be obtained from:
\n ht"
"tp://grouper.ieee.org/groups/802/15/pub/2003/Mar03/
\nThe files are contained"
" in
\n 02490r1P802-15_SG3a-Channel-Modeling-Subcommittee-Report-Final.zip
"
"\nThis is a rather large file, about 16M in size. It also includes M-files t"
"hat
\ncan be used to create the four .mat files. On loading, the UWB model "
"automatically
\nexecutes these M-files if the .mat files do not exist.
\n "
"
\nOTHER MODEL NOTES
\n* Model is configured for presentations:
\n - Simu"
"lation stop time is set to inf
\n* Channel impulse response only plots when s"
"imulation is stoppped
\n* Blocks involving fixed-point arithmetic are highlig"
"hted orange.
\nIf you use fixed-point settings to override the data types f"
"or any of these blocks,
\nthey will become highlighted green when you run or"
" update the model.
\n(See show_data_type_overrides.m if you are interested in"
" the details.)"
}
CopyFcn "docblock('breaklink',gcb);"
DeleteFcn "docblock('close_document',gcb);"
PreSaveFcn "docblock('save_document',gcb);"
OpenFcn "docblock('edit_document',gcb);"
TreatAsAtomicUnit off
MaskType "DocBlock"
MaskDescription "Use this block to save long descriptive text wi"
"th the model. Double-clicking the block will open an editor."
MaskPromptString "E Coder Flag|Document Type"
MaskStyleString "edit,popup(Text|RTF|HTML)"
MaskTunableValueString "off,off"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,off"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "ECoderFlag=&1;DocumentType=&2;"
MaskDisplay "plot([.8 0 0 1 1 .8 .8 1],[1 1 0 0 .8 1 .8 .8])"
";\ntext(.5,.5,'DOC','horizontalalignment','center');\n"
MaskIconFrame off
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "|Text"
System {
Name "DocBlock"
Location [480, 85, 980, 386]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType SubSystem
Name "EmptySubsystem"
Ports []
Position [115, 50, 145, 80]
TreatAsAtomicUnit off
System {
Name "EmptySubsystem"
Location [146, 180, 902, 673]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
}
}
}
}
Block {
BlockType Reference
Name "Error Rate\nCalculation1"
Ports [2, 1]
Position [120, 190, 200, 245]
BackgroundColor "[1.000000, 1.000000, 0.658824]"
DropShadow on
ShowName off
SourceBlock "commsink2/Error Rate\nCalculation"
SourceType "Error Rate Calculation"
N "uwb.linkDelay"
st_delay "0"
cp_mode "Entire frame"
subframe "[]"
PMode "Port"
WsName "ErrorVec"
RsMode2 off
stop off
numErr "100"
maxBits "1e6"
}
Block {
BlockType SubSystem
Name "Interleaver"
Ports [1, 1]
Position [215, 130, 290, 160]
BackgroundColor "lightBlue"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MaskDisplay "disp('Interleaver')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Interleaver"
Location [166, 137, 768, 243]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [25, 38, 55, 52]
}
Block {
BlockType Reference
Name "Buffer"
Ports [1, 1]
Position [105, 32, 120, 58]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "3*uwb.NSD"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Buffer1"
Ports [1, 1]
Position [285, 32, 300, 58]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "uwb.NSD"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Buffer2"
Ports [1, 1]
Position [470, 32, 485, 58]
ShowName off
SourceBlock "dspbuff3/Buffer"
SourceType "Buffer"
N "2*uwb.NSD"
V "0"
ic "0"
}
Block {
BlockType Reference
Name "Interleave across\nOFDM frames"
Ports [1, 1]
Position [170, 29, 230, 61]
SourceBlock "commblkintrlv2/Matrix\nInterleaver"
SourceType "Matrix Interleaver"
Nrows "uwb.NSD*uwb.spreadFactor/uwb.codedBitsPerQP"
"SKSymbol"
Ncols "3"
}
Block {
BlockType Reference
Name "Interleave within\nOFDM frame"
Ports [1, 1]
Position [360, 28, 415, 62]
SourceBlock "commblkintrlv2/Matrix\nInterleaver"
SourceType "Matrix Interleaver"
Nrows "10"
Ncols "10"
}
Block {
BlockType Outport
Name "Out1"
Position [540, 38, 570, 52]
}
Line {
SrcBlock "Interleave across\nOFDM frames"
SrcPort 1
DstBlock "Buffer1"
DstPort 1
}
Line {
SrcBlock "Interleave within\nOFDM frame"
SrcPort 1
DstBlock "Buffer2"
DstPort 1
}
Line {
SrcBlock "Buffer1"
SrcPort 1
DstBlock "Interleave within\nOFDM frame"
DstPort 1
}
Line {
SrcBlock "Buffer2"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Buffer"
DstPort 1
}
Line {
SrcBlock "Buffer"
SrcPort 1
DstBlock "Interleave across\nOFDM frames"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "OFDM Receiver"
Ports [1, 1]
Position [445, 283, 510, 317]
Orientation "left"
BackgroundColor "orange"
DropShadow on
ShowName off
TreatAsAtomicUnit off
MaskDisplay "disp('OFDM\\nReceiver')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -