www.pudn.com > OFDM_simu.rar > wireless_ofdm.mdl
Model {
Name "wireless_ofdm"
Version 6.1
MdlSubVersion 0
GraphicalInterface {
NumRootInports 0
NumRootOutports 0
ParameterArgumentNames ""
ComputedModelVersion "1.126"
NumModelReferences 0
NumTestPointedSignals 0
}
SavedCharacterEncoding "ISO-8859-1"
SaveDefaultBlockParams on
SampleTimeColors off
LibraryLinkDisplay "none"
WideLines on
ShowLineDimensions on
ShowPortDataTypes off
ShowLoopsOnError on
IgnoreBidirectionalLines off
ShowStorageClass off
ShowTestPointIcons on
ShowViewerIcons on
SortedOrder off
ExecutionContextIcon off
ShowLinearizationAnnotations on
RecordCoverage off
CovPath "/"
CovSaveName "covdata"
CovMetricSettings "dw"
CovNameIncrementing off
CovHtmlReporting on
covSaveCumulativeToWorkspaceVar on
CovSaveSingleToWorkspaceVar on
CovCumulativeVarName "covCumulativeData"
CovCumulativeReport off
CovReportOnPause on
ScopeRefreshTime 0.035000
OverrideScopeRefreshTime on
DisableAllScopes off
DataTypeOverride "UseLocalSettings"
MinMaxOverflowLogging "UseLocalSettings"
MinMaxOverflowArchiveMode "Overwrite"
BlockNameDataTip off
BlockParametersDataTip off
BlockDescriptionStringDataTip off
ToolBar on
StatusBar on
BrowserShowLibraryLinks on
BrowserLookUnderMasks on
CloseFcn "clear hlanSigsOut"
Created "Thu Sep 20 10:13:02 2001"
Creator "mclune"
UpdateHistory "UpdateHistoryNever"
ModifiedByFormat "%"
LastModifiedBy "xlu"
ModifiedDateFormat "%"
LastModifiedDate "Fri Dec 24 07:26:49 2004"
ModelVersionFormat "1.%"
ConfigurationManager "None"
LinearizationMsg "none"
Profile off
ParamWorkspaceSource "MATLABWorkspace"
AccelSystemTargetFile "accel.tlc"
AccelTemplateMakefile "accel_default_tmf"
AccelMakeCommand "make_rtw"
TryForcingSFcnDF off
ExtModeBatchMode off
ExtModeEnableFloating on
ExtModeTrigType "manual"
ExtModeTrigMode "normal"
ExtModeTrigPort "1"
ExtModeTrigElement "any"
ExtModeTrigDuration 1000
ExtModeTrigDurationFloating "auto"
ExtModeTrigHoldOff 0
ExtModeTrigDelay 0
ExtModeTrigDirection "rising"
ExtModeTrigLevel 0
ExtModeArchiveMode "off"
ExtModeAutoIncOneShot off
ExtModeIncDirWhenArm off
ExtModeAddSuffixToVar off
ExtModeWriteAllDataToWs off
ExtModeArmWhenConnect on
ExtModeSkipDownloadWhenConnect off
ExtModeLogAll on
ExtModeAutoUpdateStatusClock off
BufferReuse on
StrictBusMsg "None"
ProdHWDeviceType "32-bit Generic"
ShowModelReferenceBlockVersion off
ShowModelReferenceBlockIO off
Array {
Type "Handle"
Dimension 1
Simulink.ConfigSet {
$ObjectID 1
Version "1.0.4"
Array {
Type "Handle"
Dimension 7
Simulink.SolverCC {
$ObjectID 2
Version "1.0.4"
StartTime "0.0"
StopTime "250"
AbsTol "auto"
FixedStep "auto"
InitialStep "auto"
MaxNumMinSteps "-1"
MaxOrder 5
ExtrapolationOrder 4
NumberNewtonIterations 1
MaxStep "auto"
MinStep "auto"
RelTol "1e-3"
SolverMode "SingleTasking"
Solver "FixedStepDiscrete"
SolverName "FixedStepDiscrete"
ZeroCrossControl "UseLocalSettings"
PositivePriorityOrder off
AutoInsertRateTranBlk off
SampleTimeConstraint "Unconstrained"
RateTranMode "Deterministic"
}
Simulink.DataIOCC {
$ObjectID 3
Version "1.0.4"
Decimation "1"
ExternalInput "[t, u]"
FinalStateName "xFinal"
InitialState "xInitial"
LimitDataPoints off
MaxDataPoints "1000"
LoadExternalInput off
LoadInitialState off
SaveFinalState off
SaveFormat "Array"
SaveOutput off
SaveState off
SignalLogging on
SaveTime off
StateSaveName "xout"
TimeSaveName "tout"
OutputSaveName "yout"
SignalLoggingName "hlanSigsOut"
OutputOption "RefineOutputTimes"
OutputTimes "[]"
Refine "1"
}
Simulink.OptimizationCC {
$ObjectID 4
Version "1.0.4"
BlockReduction on
BooleanDataType off
ConditionallyExecuteInputs on
ConditionalExecOptimization "on_for_testing"
InlineParams off
InlineInvariantSignals on
OptimizeBlockIOStorage on
BufferReuse on
EnforceIntegerDowncast on
ExpressionFolding on
FoldNonRolledExpr on
LocalBlockOutputs on
ParameterPooling on
RollThreshold 5
SystemCodeInlineAuto off
StateBitsets off
DataBitsets off
UseTempVars off
ZeroExternalMemoryAtStartup on
ZeroInternalMemoryAtStartup on
InitFltsAndDblsToZero on
NoFixptDivByZeroProtection off
OptimizeModelRefInitCode off
LifeSpan "inf"
}
Simulink.DebuggingCC {
$ObjectID 5
Version "1.0.4"
RTPrefix "error"
ConsistencyChecking "none"
ArrayBoundsChecking "none"
AlgebraicLoopMsg "warning"
ArtificialAlgebraicLoopMsg "warning"
CheckSSInitialOutputMsg on
CheckExecutionContextPreStartOutputMsg on
CheckExecutionContextRuntimeOutputMsg on
SignalResolutionControl "TryResolveAllWithWarning"
BlockPriorityViolationMsg "warning"
MinStepSizeMsg "warning"
SolverPrmCheckMsg "none"
InheritedTsInSrcMsg "none"
DiscreteInheritContinuousMsg "warning"
MultiTaskDSMMsg "warning"
MultiTaskRateTransMsg "error"
SingleTaskRateTransMsg "none"
TasksWithSamePriorityMsg "warning"
CheckMatrixSingularityMsg "none"
IntegerOverflowMsg "warning"
Int32ToFloatConvMsg "warning"
ParameterDowncastMsg "error"
ParameterOverflowMsg "error"
ParameterPrecisionLossMsg "warning"
UnderSpecifiedDataTypeMsg "none"
UnnecessaryDatatypeConvMsg "none"
VectorMatrixConversionMsg "none"
InvalidFcnCallConnMsg "error"
FcnCallInpInsideContextMsg "Use local settings"
SignalLabelMismatchMsg "none"
UnconnectedInputMsg "warning"
UnconnectedOutputMsg "warning"
UnconnectedLineMsg "warning"
SFcnCompatibilityMsg "none"
UniqueDataStoreMsg "none"
RootOutportRequireBusObject "warning"
AssertControl "UseLocalSettings"
EnableOverflowDetection off
ModelReferenceIOMsg "none"
ModelReferenceVersionMismatchMessage "none"
ModelReferenceIOMismatchMessage "none"
ModelReferenceCSMismatchMessage "none"
ModelReferenceSimTargetVerbose off
UnknownTsInhSupMsg "warning"
ModelReferenceDataLoggingMessage "warning"
ModelReferenceSymbolNameMessage "warning"
}
Simulink.HardwareCC {
$ObjectID 6
Version "1.0.4"
ProdBitPerChar 8
ProdBitPerShort 16
ProdBitPerInt 32
ProdBitPerLong 32
ProdIntDivRoundTo "Undefined"
ProdEndianess "Unspecified"
ProdWordSize 32
ProdShiftRightIntArith on
ProdHWDeviceType "32-bit Generic"
TargetBitPerChar 8
TargetBitPerShort 16
TargetBitPerInt 32
TargetBitPerLong 32
TargetShiftRightIntArith on
TargetIntDivRoundTo "Undefined"
TargetEndianess "Unspecified"
TargetWordSize 32
TargetTypeEmulationWarnSuppressLevel 0
TargetPreprocMaxBitsSint 32
TargetPreprocMaxBitsUint 32
TargetHWDeviceType "Specified"
TargetUnknown on
ProdEqTarget on
}
Simulink.ModelReferenceCC {
$ObjectID 7
Version "1.0.4"
UpdateModelReferenceTargets "IfOutOfDate"
CheckModelReferenceTargetMessage "error"
ModelReferenceNumInstancesAllowed "Multi"
ModelReferencePassRootInputsByReference on
ModelReferenceMinAlgLoopOccurrences off
}
Simulink.RTWCC {
$BackupClass "Simulink.RTWCC"
$ObjectID 8
Version "1.0.4"
SystemTargetFile "grt.tlc"
GenCodeOnly off
MakeCommand "make_rtw"
TemplateMakefile "grt_default_tmf"
GenerateReport off
SaveLog off
RTWVerbose on
RetainRTWFile off
ProfileTLC off
TLCDebug off
TLCCoverage off
TLCAssert off
ProcessScriptMode "Default"
ConfigurationMode "Optimized"
ConfigAtBuild off
IncludeHyperlinkInReport off
LaunchReport off
Array {
Type "Handle"
Dimension 2
Simulink.CodeAppCC {
$ObjectID 9
Version "1.0.4"
ForceParamTrailComments off
GenerateComments on
IgnoreCustomStorageClasses on
IncHierarchyInIds off
MaxIdLength 31
PreserveName off
PreserveNameWithParent off
ShowEliminatedStatement off
IncAutoGenComments off
SimulinkDataObjDesc off
SFDataObjDesc off
IncDataTypeInIds off
PrefixModelToSubsysFcnNames on
CustomSymbolStr "$R$N$M"
MangleLength 1
DefineNamingRule "None"
ParamNamingRule "None"
SignalNamingRule "None"
InsertBlockDesc off
SimulinkBlockComments on
EnableCustomComments off
InlinedPrmAccess "Literals"
ReqsInCode off
}
Simulink.GRTTargetCC {
$BackupClass "Simulink.TargetCC"
$ObjectID 10
Version "1.0.4"
TargetFcnLib "ansi_tfl_tmw.mat"
GenFloatMathFcnCalls "ANSI_C"
UtilityFuncGeneration "Auto"
GenerateFullHeader on
GenerateSampleERTMain off
IsPILTarget off
ModelReferenceCompliant on
IncludeMdlTerminateFcn on
CombineOutputUpdateFcns off
SuppressErrorStatus off
IncludeFileDelimiter "Auto"
ERTCustomFileBanners off
SupportAbsoluteTime on
LogVarNameModifier "rt_"
MatFileLogging on
MultiInstanceERTCode off
SupportNonFinite on
SupportComplex on
PurelyIntegerCode off
SupportContinuousTime on
SupportNonInlinedSFcns on
ExtMode off
ExtModeStaticAlloc off
ExtModeTesting off
ExtModeStaticAllocSize 1000000
ExtModeTransport 0
ExtModeMexFile "ext_comm"
RTWCAPISignals off
RTWCAPIParams off
RTWCAPIStates off
GenerateASAP2 off
}
PropName "Components"
}
}
PropName "Components"
}
Name "Configuration"
SimulationMode "normal"
CurrentDlgPage "Diagnostics/Sample Time"
}
PropName "ConfigurationSets"
}
Simulink.ConfigSet {
$PropName "ActiveConfigurationSet"
$ObjectID 1
}
BlockDefaults {
Orientation "right"
ForegroundColor "black"
BackgroundColor "white"
DropShadow off
NamePlacement "normal"
FontName "Helvetica"
FontSize 10
FontWeight "normal"
FontAngle "normal"
ShowName on
}
BlockParameterDefaults {
Block {
BlockType ComplexToRealImag
Output "Real and imag"
SampleTime "-1"
}
Block {
BlockType Constant
Value "1"
VectorParams1D on
OutDataTypeMode "Inherit from 'Constant value'"
OutDataType "sfix(16)"
ConRadixGroup "Use specified scaling"
OutScaling "2^0"
SampleTime "inf"
}
Block {
BlockType DataTypeConversion
OutDataTypeMode "Inherit via back propagation"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
ConvertRealWorld "Real World Value (RWV)"
RndMeth "Zero"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Display
Format "short"
Decimation "10"
Floating off
SampleTime "-1"
}
Block {
BlockType FrameConversion
OutFrame "Frame based"
}
Block {
BlockType Gain
Gain "1"
Multiplication "Element-wise(K.*u)"
ParameterDataTypeMode "Same as input"
ParameterDataType "sfix(16)"
ParameterScalingMode "Best Precision: Matrix-wise"
ParameterScaling "2^0"
OutDataTypeMode "Same as input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
SampleTime "-1"
}
Block {
BlockType Ground
}
Block {
BlockType Inport
BusObject "BusObject"
BusOutputAsStruct off
PortDimensions "-1"
SampleTime "-1"
DataType "auto"
OutDataType "sfix(16)"
OutScaling "2^0"
SignalType "auto"
SamplingMode "auto"
Interpolate on
}
Block {
BlockType Math
Operator "exp"
OutputSignalType "auto"
SampleTime "-1"
OutDataTypeMode "Same as first input"
OutDataType "sfix(16)"
OutScaling "2^0"
LockScale off
RndMeth "Floor"
SaturateOnIntegerOverflow on
}
Block {
BlockType "M-S-Function"
MFile "mlfile"
}
Block {
BlockType Outport
Port "1"
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 RelationalOperator
Operator ">="
InputSameDT on
LogicOutDataTypeMode "Logical (see Configuration Parameters: Optimiza"
"tion)"
LogicDataType "uint(8)"
ZeroCross on
SampleTime "-1"
}
Block {
BlockType Selector
InputType "Vector"
IndexMode "One-based"
ElementSrc "Internal"
Elements "1"
RowSrc "Internal"
Rows "1"
ColumnSrc "Internal"
Columns "1"
InputPortWidth "-1"
IndexIsStartValue off
OutputPortSize "1"
}
Block {
BlockType "S-Function"
FunctionName "system"
SFunctionModules "''"
PortCounts "[]"
}
Block {
BlockType SubSystem
ShowPortLabels on
Permissions "ReadWrite"
PermitHierarchicalResolution "All"
SystemSampleTime "-1"
RTWFcnNameOpts "Auto"
RTWFileNameOpts "Auto"
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 Terminator
}
}
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 "wireless_ofdm"
Location [29, 74, 907, 586]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
ReportName "simulink-default.rpt"
Block {
BlockType Reference
Name "Bernoulli Random\nBinary Generator"
Ports [0, 1]
Position [30, 63, 110, 107]
SourceBlock "commrandsrc2/Bernoulli Binary\nGenerator"
SourceType "Bernoulli Binary Generator"
ShowPortLabels on
P "0.5"
seed "20394875"
Ts "9.6e-6/96"
frameBased on
sampPerFrame "96"
orient off
}
Block {
BlockType SubSystem
Name "Channel"
Ports [1, 1]
Position [720, 195, 780, 235]
Orientation "down"
NamePlacement "alternate"
ShowName off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskPromptString "tap gain"
MaskStyleString "edit"
MaskTunableValueString "on"
MaskEnableString "on"
MaskVisibilityString "on"
MaskToolTipString "on"
MaskVariables "Gain=@1;"
MaskDisplay "disp('Channel')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
MaskValueString "0"
System {
Name "Channel"
Location [335, 439, 884, 712]
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, 73, 55, 87]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Reference
Name "AWGN\nChannel"
Ports [1, 1]
Position [280, 105, 320, 185]
NamePlacement "alternate"
ShowName off
SourceBlock "commchan2/AWGN\nChannel"
SourceType "AWGN Channel"
ShowPortLabels on
seed "1"
noiseMode "Signal to noise ratio (Eb/No)"
EbNodB "10"
EsNodB "6"
SNRdB "10"
bitsPerSym "2"
Ps "1/256"
Tsym "(9.6e-6)/96"
variance "1"
}
Block {
BlockType Sum
Name "Add"
Ports [2, 1]
Position [180, 122, 210, 153]
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
OutScaling "2^-10"
SaturateOnIntegerOverflow off
}
Block {
BlockType Reference
Name "Delay"
Ports [1, 1]
Position [100, 25, 155, 65]
SourceBlock "dspsigops/Delay"
SourceType "Delay"
dly_unit "Samples"
delay "15"
ic_detail off
dif_ic_for_ch off
dif_ic_for_dly off
ic "0"
reset_popup "None"
}
Block {
BlockType Gain
Name "Gain1"
Position [185, 60, 215, 90]
ShowName off
Gain "Gain"
}
Block {
BlockType Outport
Name "Out1"
Position [385, 138, 415, 152]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "In1"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
Points [0, 65]
DstBlock "Add"
DstPort 2
}
Branch {
Points [0, -35]
DstBlock "Delay"
DstPort 1
}
}
Line {
SrcBlock "Delay"
SrcPort 1
Points [5, 0; 0, 30]
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Gain1"
SrcPort 1
Points [0, 35; -55, 0]
DstBlock "Add"
DstPort 1
}
Line {
SrcBlock "Add"
SrcPort 1
Points [25, 0; 0, 5]
DstBlock "AWGN\nChannel"
DstPort 1
}
Line {
SrcBlock "AWGN\nChannel"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType Display
Name "Display"
Ports [1]
Position [275, 184, 360, 246]
ShowName off
Decimation "1"
}
Block {
BlockType Reference
Name "Error Rate Calculation"
Ports [2, 1]
Position [170, 187, 255, 238]
ShowName off
SourceBlock "commsink2/Error Rate\nCalculation"
SourceType "Error Rate Calculation"
N "0"
st_delay "0"
cp_mode "Entire frame"
subframe "[]"
PMode "Port"
WsName "ErrorVec"
RsMode2 off
stop off
numErr "100"
maxBits "1e6"
}
Block {
BlockType SubSystem
Name "OFDM Receiver"
Ports [1, 2]
Position [575, 323, 660, 392]
Orientation "left"
ShowName off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskDisplay "disp('OFDM\\nReceiver');\nport_label('output',2"
",'pilots')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "OFDM Receiver"
Location [72, 96, 894, 306]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "Received signal"
Position [45, 43, 75, 57]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Reference
Name "FFT"
Ports [1, 1]
Position [210, 33, 250, 67]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag0"
SourceBlock "dspxfrm3/FFT"
SourceType "FFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder off
additionalParams off
SkipNorm off
allowOverrides on
firstCoeffMode "User-defined"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Same as input"
outputWordLength "16"
outputFracLength "15"
accumMode "Same as product output"
accumWordLength "32"
accumFracLength "30"
prodOutputMode "Same as input"
prodOutputWordLength "32"
prodOutputFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Reference
Name "Frame Status\nConversion"
Ports [1, 1]
Position [290, 34, 335, 66]
SourceBlock "dspobslib/Frame Status\nConversion"
SourceType "Frame Status Conversion"
ShowPortLabels off
growRefPort off
outframe "Frame-based"
}
Block {
BlockType Selector
Name "Remove\n zero-padding\nand\nreorder"
Ports [1, 1]
Position [375, 28, 425, 72]
Elements "[39:64 1:27]"
InputPortWidth "64"
}
Block {
BlockType Reference
Name "Remove\nPilots"
Ports [1, 2]
Position [455, 12, 500, 83]
SourceBlock "dspindex/Multiport\nSelector"
SourceType "Multiport Selector"
rowsOrCols "Rows"
idxCellArray "{[1:2 4:10 12:14 16:18 20:25 27:29],[3 11 1"
"9 26]}"
idxErrMode "Clip Index"
Port {
PortNumber 1
Name "Data"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
Port {
PortNumber 2
Name "Pilots"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Selector
Name "Remove Cyclic\nPrefix"
Ports [1, 1]
Position [120, 28, 170, 72]
Elements "[3:66]"
InputPortWidth "66"
}
Block {
BlockType Outport
Name "Data"
Position [585, 23, 615, 37]
IconDisplay "Port number"
BusOutputAsStruct off
}
Block {
BlockType Outport
Name "PIlots"
Position [585, 58, 615, 72]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Frame Status\nConversion"
SrcPort 1
DstBlock "Remove\n zero-padding\nand\nreorder"
DstPort 1
}
Line {
SrcBlock "FFT"
SrcPort 1
DstBlock "Frame Status\nConversion"
DstPort 1
}
Line {
SrcBlock "Received signal"
SrcPort 1
DstBlock "Remove Cyclic\nPrefix"
DstPort 1
}
Line {
SrcBlock "Remove Cyclic\nPrefix"
SrcPort 1
DstBlock "FFT"
DstPort 1
}
Line {
SrcBlock "Remove\n zero-padding\nand\nreorder"
SrcPort 1
DstBlock "Remove\nPilots"
DstPort 1
}
Line {
Name "Data"
Labels [0, 0]
SrcBlock "Remove\nPilots"
SrcPort 1
DstBlock "Data"
DstPort 1
}
Line {
Name "Pilots"
Labels [0, 0]
SrcBlock "Remove\nPilots"
SrcPort 2
DstBlock "PIlots"
DstPort 1
}
}
}
Block {
BlockType SubSystem
Name "OFDM Transmitter"
Ports [1, 1]
Position [575, 51, 660, 119]
ShowName off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskDisplay "disp('OFDM\\nTransmitter')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "OFDM Transmitter"
Location [38, 106, 886, 490]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In"
Position [55, 223, 85, 237]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Selector
Name "Add Cyclic\nPrefix"
Ports [1, 1]
Position [660, 208, 710, 252]
Elements "[63:64,1:64]"
InputPortWidth "64"
}
Block {
BlockType Reference
Name "DSP\nConstant"
Ports [0, 1]
Position [285, 218, 320, 242]
ShowName off
SourceBlock "dspsrcs4/DSP\nConstant"
SourceType "DSP Constant"
ShowPortLabels on
Value "0+0i"
SampleMode "Discrete"
discreteOutput "Frame-based"
continuousOutput "Sample-based"
sampTime "4e-6"
framePeriod "4e-6"
additionalParams off
allowOverrides on
dataType "Inherit from 'Constant value'"
isSigned on
wordLen "16"
udDataType "sfix(16)"
fracBitsMode "Best precision"
numFracBits "15"
InterpretAs1D "off"
Ts "4e-6"
FramebasedOutput "on"
}
Block {
BlockType Gain
Name "Gain"
Position [290, 295, 320, 325]
ShowName off
Gain "-1"
}
Block {
BlockType Reference
Name "IFFT"
Ports [1, 1]
Position [570, 214, 610, 246]
DialogController "dspDDGCreate"
DialogControllerArgs "DataTag1"
SourceBlock "dspxfrm3/IFFT"
SourceType "IFFT"
CompMethod "Table lookup"
TableOpt "Speed"
BitRevOrder off
cs_in off
SkipNorm off
mode "Complex"
additionalParams off
allowOverrides on
firstCoeffMode "User-defined"
firstCoeffWordLength "16"
firstCoeffFracLength "15"
outputMode "Same as input"
outputWordLength "16"
outputFracLength "15"
accumMode "Same as product output"
accumWordLength "32"
accumFracLength "30"
prodOutputMode "Same as input"
prodOutputWordLength "32"
prodOutputFracLength "30"
roundingMode "Floor"
overflowMode off
LockScale off
}
Block {
BlockType Reference
Name "Matrix\nConcatenation"
Ports [11, 1]
Position [345, 126, 405, 334]
SourceBlock "simulink/Math\nOperations/Matrix\nConcatena"
"tion"
SourceType "Matrix Concatenation"
numInports "11"
catMethod "Vertical"
}
Block {
BlockType Reference
Name "Multiport\nSelector"
Ports [1, 6]
Position [150, 109, 215, 351]
SourceBlock "dspindex/Multiport\nSelector"
SourceType "Multiport Selector"
rowsOrCols "Rows"
idxCellArray "{1:2,3:9,10:12,13:15,16:21,22:24}"
idxErrMode "Clip Index"
}
Block {
BlockType Reference
Name "PN Sequence\nGenerator"
Ports [0, 1]
Position [50, 38, 130, 82]
SourceBlock "commseqgen2/PN Sequence\nGenerator"
SourceType "PN Sequence Generator"
poly "[1 0 0 1 0 0 0 1]"
ini_sta "[1 1 1 1 1 1 1]"
shift "0"
Ts "9.6e-6"
frameBased off
sampPerFrame "1"
reset off
}
Block {
BlockType Reference
Name "Unipolar to\nBipolar\nConverter"
Ports [1, 1]
Position [160, 40, 225, 80]
ShowName off
SourceBlock "commutil2/Unipolar to\nBipolar\nConverter"
SourceType "Unipolar to Bipolar Converter"
ShowPortLabels on
M "2"
polarity "Negative"
}
Block {
BlockType SubSystem
Name "Zero pad for OFDM"
Ports [1, 1]
Position [460, 205, 515, 255]
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskDisplay "disp('Zero pad\\nfor OFDM');"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Zero pad for OFDM"
Location [191, 421, 703, 556]
Open off
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "In1"
Position [30, 53, 60, 67]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Selector
Name "Selector"
Ports [1, 1]
Position [230, 38, 280, 82]
Elements "[27:64 1:26]"
InputPortWidth "64"
}
Block {
BlockType Reference
Name "Zero Pad"
Ports [1, 1]
Position [120, 42, 165, 78]
SourceBlock "dspsigops/Zero Pad"
SourceType "Zero Pad"
padSigAt "End"
zpadAlong "Columns"
padNumOutRowsSpecMethod "User-specified"
numOutRows "64"
padNumOutColsSpecMethod "User-specified"
numOutCols "1"
trunc_flag "None"
}
Block {
BlockType Outport
Name "Out1"
Position [360, 53, 390, 67]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Selector"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
Line {
SrcBlock "Zero Pad"
SrcPort 1
DstBlock "Selector"
DstPort 1
}
Line {
SrcBlock "In1"
SrcPort 1
DstBlock "Zero Pad"
DstPort 1
}
}
}
Block {
BlockType Outport
Name "Out"
Position [765, 223, 795, 237]
IconDisplay "Port number"
BusOutputAsStruct off
}
Line {
SrcBlock "Zero pad for OFDM"
SrcPort 1
DstBlock "IFFT"
DstPort 1
}
Line {
SrcBlock "IFFT"
SrcPort 1
DstBlock "Add Cyclic\nPrefix"
DstPort 1
}
Line {
SrcBlock "Add Cyclic\nPrefix"
SrcPort 1
DstBlock "Out"
DstPort 1
}
Line {
SrcBlock "PN Sequence\nGenerator"
SrcPort 1
DstBlock "Unipolar to\nBipolar\nConverter"
DstPort 1
}
Line {
SrcBlock "Unipolar to\nBipolar\nConverter"
SrcPort 1
Points [25, 0; 0, 90]
Branch {
DstBlock "Matrix\nConcatenation"
DstPort 2
}
Branch {
Points [0, 40]
Branch {
DstBlock "Matrix\nConcatenation"
DstPort 4
}
Branch {
Points [0, 80]
Branch {
DstBlock "Matrix\nConcatenation"
DstPort 8
}
Branch {
Points [0, 40]
DstBlock "Gain"
DstPort 1
}
}
}
}
Line {
SrcBlock "Matrix\nConcatenation"
SrcPort 1
DstBlock "Zero pad for OFDM"
DstPort 1
}
Line {
SrcBlock "DSP\nConstant"
SrcPort 1
DstBlock "Matrix\nConcatenation"
DstPort 6
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 1
DstBlock "Matrix\nConcatenation"
DstPort 1
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 2
DstBlock "Matrix\nConcatenation"
DstPort 3
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 3
DstBlock "Matrix\nConcatenation"
DstPort 5
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 4
DstBlock "Matrix\nConcatenation"
DstPort 7
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 5
DstBlock "Matrix\nConcatenation"
DstPort 9
}
Line {
SrcBlock "Multiport\nSelector"
SrcPort 6
DstBlock "Matrix\nConcatenation"
DstPort 11
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Matrix\nConcatenation"
DstPort 10
}
Line {
SrcBlock "In"
SrcPort 1
DstBlock "Multiport\nSelector"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Received Signal"
Tag "ScatterPlot"
Ports [1]
Position [440, 420, 490, 470]
Orientation "left"
NamePlacement "alternate"
Diagnostics "AllowInheritedTsInSrc"
SourceBlock "commsink2/Discrete-Time\nScatter Plot\nScope"
SourceType "Discrete-Time Scatter Plot Scope"
ShowPortLabels on
sampPerSymb "1"
offsetEye "0"
numTraces "160"
numNewFrames "80"
LineMarkers "."
LineColors "b"
fading on
render off
AxisGrid on
xMin "-1.5"
xMax "1.5"
yMin "-1.5"
yMax "1.5"
inphaseLabel "In-phase Amplitude"
quadratureLabel "Quadrature Amplitude"
openScopeAtSimStart on
FrameNumber off
FigPos "[553 313 358 358]"
figTitle "Scatter Plot"
numLinesMax "8"
block_type_ "scatter"
}
Block {
BlockType Reference
Name "Rectangular QAM\nDemodulator\nBaseband"
Ports [1, 1]
Position [370, 314, 445, 366]
Orientation "left"
SourceBlock "commdigbbndam2/Rectangular QAM\nDemodulator\nBa"
"seband"
SourceType "Rectangular QAM Demodulator Baseband"
M "16"
OutType "Bit"
Dec "Gray"
PowType "Average Power"
MinDist "2"
AvgPow "1"
PeakPow "1"
Ph "0"
numSamp "1"
}
Block {
BlockType Reference
Name "Rectangular QAM\nModulator\nBaseband"
Ports [1, 1]
Position [375, 59, 450, 111]
SourceBlock "commdigbbndam2/Rectangular QAM\nModulator\nBase"
"band"
SourceType "Rectangular QAM Modulator Baseband"
M "16"
InType "Bit"
Enc "Gray"
PowType "Average Power"
MinDist "2"
AvgPow "1"
PeakPow "1"
Ph "0"
numSamp "1"
}
Block {
BlockType Reference
Name "Spectrum\nScope"
Ports [1]
Position [670, 260, 705, 310]
Orientation "left"
NamePlacement "alternate"
SourceBlock "dspsnks4/Spectrum\nScope"
SourceType "Spectrum Scope"
ShowPortLabels off
ScopeProperties off
Domain "Frequency"
HorizSpan "1"
UseBuffer on
BufferSize "80"
Overlap "0"
inpFftLenInherit on
FFTlength "1024"
numAvg "10"
DisplayProperties off
AxisGrid on
Memory off
FrameNumber on
AxisLegend off
AxisZoom off
OpenScopeAtSimStart on
OpenScopeImmediately off
FigPos "figposition([25 15 42 27])"
AxisProperties off
XUnits "Hertz"
XRange "[-Fs/2...Fs/2]"
InheritXIncr off
XIncr "1.0"
XLabel "Samples"
YUnits "dB"
YMin "-60"
YMax "0"
YLabel "Magnitude, dB"
LineProperties off
wintypeSpecScope "Hann"
RsSpecScope "50"
betaSpecScope "5"
winsampSpecScope "Periodic"
}
Block {
BlockType Terminator
Name "Terminator"
Position [515, 365, 535, 385]
Orientation "left"
ShowName off
}
Block {
BlockType Reference
Name "Transmitted Signal"
Tag "ScatterPlot"
Ports [1]
Position [565, 150, 610, 200]
Diagnostics "AllowInheritedTsInSrc"
SourceBlock "commsink2/Discrete-Time\nScatter Plot\nScope"
SourceType "Discrete-Time Scatter Plot Scope"
ShowPortLabels on
sampPerSymb "1"
offsetEye "0"
numTraces "60"
numNewFrames "60"
LineMarkers "."
LineColors "r"
fading off
render on
AxisGrid on
xMin "-1.5"
xMax "1.5"
yMin "-1.5"
yMax "1.5"
inphaseLabel "In-phase Amplitude"
quadratureLabel "Quadrature Amplitude"
openScopeAtSimStart on
FrameNumber off
FigPos "[72 313 358 358]"
figTitle "Scatter Plot"
numLinesMax "8"
block_type_ "scatter"
}
Line {
SrcBlock "Rectangular QAM\nModulator\nBaseband"
SrcPort 1
Points [55, 0]
Branch {
DstBlock "OFDM Transmitter"
DstPort 1
}
Branch {
Points [0, 90]
DstBlock "Transmitted Signal"
DstPort 1
}
}
Line {
SrcBlock "Bernoulli Random\nBinary Generator"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
Points [0, 115]
DstBlock "Error Rate Calculation"
DstPort 1
}
Branch {
DstBlock "Rectangular QAM\nModulator\nBaseband"
DstPort 1
}
}
Line {
SrcBlock "OFDM Receiver"
SrcPort 1
Points [-75, 0]
Branch {
DstBlock "Rectangular QAM\nDemodulator\nBaseband"
DstPort 1
}
Branch {
Points [10, 0]
DstBlock "Received Signal"
DstPort 1
}
}
Line {
SrcBlock "Error Rate Calculation"
SrcPort 1
DstBlock "Display"
DstPort 1
}
Line {
SrcBlock "OFDM Receiver"
SrcPort 2
DstBlock "Terminator"
DstPort 1
}
Line {
SrcBlock "Rectangular QAM\nDemodulator\nBaseband"
SrcPort 1
Points [-230, 0; 0, -115]
DstBlock "Error Rate Calculation"
DstPort 2
}
Line {
SrcBlock "OFDM Transmitter"
SrcPort 1
Points [85, 0]
DstBlock "Channel"
DstPort 1
}
Line {
SrcBlock "Channel"
SrcPort 1
Points [0, 45]
Branch {
Points [0, 75]
DstBlock "OFDM Receiver"
DstPort 1
}
Branch {
DstBlock "Spectrum\nScope"
DstPort 1
}
}
Annotation {
Name "\n "
Position [105, 478]
HorizontalAlignment "left"
FontName "Arial"
FontSize 11
FontWeight "bold"
}
Annotation {
Name "Error rate "
Position [393, 192]
FontName "Arial"
}
Annotation {
Name "Num Errors"
Position [397, 213]
FontName "Arial"
}
Annotation {
Name "Num Bits "
Position [396, 235]
FontName "Arial"
}
}
}
MatData {
NumRecords 2
DataRecord {
Tag DataTag1
Data " 0!-20 . 8 8 ( 0 % "
" \" $ ! 0 . , 8 ( ! % \" $ "
" $ 0 ! 0249&5 "
}
DataRecord {
Tag DataTag0
Data " 0!-20 . 8 8 ( 0 % "
" \" $ ! 0 . , 8 ( ! % \" $ "
" # 0 P 01D94 "
}
}