📄 qamnyqmf.mdl
字号:
Port "1"
UseBusObject off
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
LatchByDelayingOutsideSignal off
LatchByCopyingInsideSignal off
Interpolate on
}
Block {
BlockType Mux
Inputs "4"
DisplayOption "none"
UseBusObject off
BusObject "BusObject"
NonVirtualBus off
}
Block {
BlockType Outport
Port "1"
UseBusObject off
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
OutputWhenDisabled "held"
InitialOutput "[]"
}
Block {
BlockType Product
Inputs "2"
Multiplication "Element-wise(.*)"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Zero"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType RandomNumber
Mean "0"
Variance "1"
Seed "0"
SampleTime "-1"
VectorParams1D on
}
Block {
BlockType Reference
}
Block {
BlockType RelationalOperator
Operator ">="
InputSameDT on
LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza"
"tion)"
LogicDataType "uint(8)"
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Scope
ModelBased off
TickLabels "OneTimeTick"
ZoomMode "on"
Grid "on"
TimeRange "auto"
YMin "-5"
YMax "5"
SaveToWorkspace off
SaveName "ScopeData"
LimitDataPoints on
MaxDataPoints "5000"
Decimation "1"
SampleInput off
SampleTime "-1"
}
Block {
BlockType "S-Function"
FunctionName "system"
SFunctionModules "''"
PortCounts "[]"
}
Block {
BlockType StateSpace
A "1"
B "1"
C "1"
D "1"
X0 "0"
AbsoluteTolerance "auto"
Realization "auto"
}
Block {
BlockType Step
Time "1"
Before "0"
After "1"
SampleTime "-1"
VectorParams1D on
ZeroCross on
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
TreatAsAtomicUnit off
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
SimViewingDevice off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
}
Block {
BlockType Sum
IconShape "rectangular"
Inputs "++"
InputSameDT on
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Switch
Criteria "u2 >= Threshold"
Threshold "0"
InputSameDT on
OutDataTypeMode "Inherit via internal rule"
RndMeth "Floor"
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType UnitDelay
X0 "0"
SampleTime "1"
StateMustResolveToSignalObject off
RTWStateStorageClass "Auto"
}
Block {
BlockType ZeroOrderHold
SampleTime "1"
}
}
AnnotationDefaults {
HorizontalAlignment "center"
VerticalAlignment "middle"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
}
LineDefaults {
FontName "Helvetica"
FontSize 9
FontWeight "normal"
FontAngle "normal"
}
System {
Name "qamnyqmf"
Location [6, 248, 1015, 526]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.196850, 0.196850, 0.196850, 0.196850]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Reference
Name "Channel"
Ports [1, 1]
Position [465, 84, 545, 126]
SourceBlock "librnew/Channel"
SourceType "AWGN channel, fixed parameter"
ShowPortLabels off
SystemSampleTime "-1"
FunctionWithSeparateData off
RTWMemSecFuncInitTerm "Inherit from model"
RTWMemSecFuncExecute "Inherit from model"
RTWMemSecDataConstants "Inherit from model"
RTWMemSecDataInternal "Inherit from model"
RTWMemSecDataParameters "Inherit from model"
m "0"
variance "0.001"
s "12345"
}
Block {
BlockType SubSystem
Name "Error rate"
Ports [2]
Position [465, 215, 545, 255]
Orientation "down"
CopyFcn "sbiterr([],[],[],'CopyBlock')"
DeleteFcn "sbiterr([],[],[],'DeleteBlock')"
LoadFcn "sbiterr([],[],[],'LoadBlock')"
StartFcn "sbiterr([],[],[],'Start')"
StopFcn "sbiterr([],[],[],'Stop')"
NameChangeFcn "sbiterr([],[],[],'NameChange')"
ShowPortLabels off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
MaskType "Symbol/bit error counter"
MaskDescription "Use the input data from the 1st port as the ref"
"erence signal to detect the number of errors and error rate of the 2nd signal"
"."
MaskHelp "The signal from the first port must be a scalar"
". The second input port can be a vector with a delay to the first port signal"
". The comparison happens only at the sampling point."
MaskPromptString "Bit per symbol:|Number of digits on display:|De"
"lay between 1st port and 2nd port:|Sample time (sec):"
MaskStyleString "edit,edit,edit,edit"
MaskTunableValueString "on,on,on,on"
MaskCallbackString "|||"
MaskEnableString "on,on,on,on"
MaskVisibilityString "on,on,on,on"
MaskToolTipString "on,on,on,on"
MaskVarAliasString ",,,"
MaskInitialization "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
MaskDisplay "disp('Error\\nmeter')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "4|10|12|1"
MaskTabNameString ",,,"
System {
Name "Error rate"
Location [255, 368, 509, 510]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.196850, 0.196850, 0.196850, 0.196850]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [15, 45, 35, 65]
IconDisplay "Port number"
}
Block {
BlockType Inport
Name "in_2"
Position [15, 60, 35, 80]
Port "2"
IconDisplay "Port number"
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [65, 46, 100, 79]
Inputs "2"
}
Block {
BlockType "S-Function"
Name "S-function"
Ports [1]
Position [130, 52, 195, 78]
FunctionName "sbiterr"
Parameters "num_lin, K, TDelay, Sample"
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "S-function"
DstPort 1
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
}
}
Block {
BlockType SubSystem
Name "Receiver"
Ports [1, 1]
Position [650, 62, 725, 148]
ShowPortLabels off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
System {
Name "Receiver"
Location [4, 186, 1016, 498]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.196850, 0.196850, 0.196850, 0.196850]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "noisy\n16-QAM\nsignal"
Position [25, 145, 45, 165]
IconDisplay "Port number"
}
Block {
BlockType Reference
Name "16-QAM"
Ports [2, 1]
Position [980, 120, 1035, 175]
SourceBlock "simulink3/Functions\n& Tables/Direct Look-U"
"p\nTable (n-D)"
SourceType "LookupNDDirect"
maskTabDims "2"
explicitNumDims "1"
outDims "Element"
tabIsInput "off"
mxTable "[0 1 2 3; 4 5 6 7; 8 9 10 11; 12 13 14 15]"
clipFlag "Warning"
}
Block {
BlockType SubSystem
Name "4-ASK demap"
Ports [1, 1]
Position [855, 104, 925, 146]
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
FunctionWithSeparateData off
MaskHideContents off
MaskType "MASK demapping"
MaskDescription "Reverse the MASK mapping process\nConvert ["
"-1 1] analog signal to [0, M-1] symbols."
MaskHelp "This block demaps a MASK mapped signal back"
" to digit symbols. You can place this block after a amplitude demodulation bl"
"ock. The input of this block is an analog signal in the range [-1, 1]. The de"
"modulation decides the closest integer fitting in [0,M-1] range. When the inp"
"ut symbol interval is a two-elements vector, the second element is offset. Th"
"e default offset value is 0."
MaskPromptString "M-ary number (digit integers in ranger [0, "
"M-1]):|Output symbol interval and offset (sec):"
MaskStyleString "edit,edit"
MaskTunableValueString "on,on"
MaskCallbackString "|"
MaskEnableString "on,on"
MaskVisibilityString "on,on"
MaskToolTipString "on,on"
MaskVarAliasString ","
MaskVariables "N=@1;td=@2;"
MaskInitialization "Ac=1;sft=[0:N-1]*Ac*2/(N-1)-Ac;"
MaskDisplay "disp('MASK\\ndemapping')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "4|[1, .9]"
MaskTabNameString ","
System {
Name "4-ASK demap"
Location [617, 158, 1115, 458]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
TiledPaperMargins [0.196850, 0.196850, 0.196850, 0.196850]
TiledPageScale 1
ShowPageBoundaries off
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [40, 30, 60, 50]
IconDisplay "Port number"
}
Block {
BlockType Abs
Name "Abs"
Position [245, 37, 280, 63]
SaturateOnIntegerOverflow on
ZeroCross on
SampleTime "-1"
}
Block {
BlockType "S-Function"
Name "Minimum"
Ports [1, 1]
Position [325, 40, 380, 60]
FunctionName "arymimai"
Parameters "'min'"
}
Block {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -