Model { Name "hdslsimu" Version 4.00 SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off RecordCoverage off CovPath "/" CovSaveName "covdata" CovNameIncrementing off CovHtmlReporting on BlockNameDataTip off BlockParametersDataTip on BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off PreLoadFcn "hdsldata;" Created "Tue Oct 20 09:10:47 1998" Creator "tdelve" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "ysong" ModifiedDateFormat "%" LastModifiedDate "Wed Aug 23 09:38:23 2000" ModelVersionFormat "1.%" ConfigurationManager "none" SimParamPage "Solver" StartTime "0.0" StopTime "200" SolverMode "SingleTasking" Solver "ode45" RelTol "1e-3" AbsTol "1e-6" Refine "1" MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime off TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput off OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" LimitDataPoints off MaxDataPoints "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" SingleTaskRateTransMsg "none" MultiTaskRateTransMsg "error" IntegerOverflowMsg "none" CheckForMatrixSingularity "none" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" LinearizationMsg "none" VectorMatrixConversionMsg "none" SfunCompatibilityCheckMsg "none" BlockPriorityViolationMsg "warning" ArrayBoundsChecking "none" ConsistencyChecking "none" ZeroCross on Profile off SimulationMode "normal" RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off TLCProfiler off TLCDebug off TLCCoverage off AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off ExtModeLogAll on OptimizeBlockIOStorage on BufferReuse on ParameterPooling on BlockReductionOpt off BooleanDataType off BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } 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 "hdslsimu" Location [237, 130, 665, 461] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on ReportName "simulink-default.rpt" Block { BlockType SubSystem Name "Channel" Ports [1, 1] Position [190, 119, 220, 171] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Channel" Location [362, 143, 725, 335] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in" Position [60, 120, 80, 140] ShowName off Port "1" Interpolate on } Block { BlockType SubSystem Name "Band-Limited\nWhite Noise" Ports [0, 1] Position [40, 32, 85, 68] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Continuous White Noise." MaskDescription "White noise for continuous (s-domain) syste" "ms.\nBand-limited using zero-order-hold." MaskHelp "Implemented using white noise into Zero-Ord" "er Hold block. The seed and power can be vectors of the same length to produc" "e a vector of white noise sources. For faster simulation, set sample time to " "the highest value possible but in accordance with the fastest dynamics of sys" "tem." MaskPromptString "Noise Power:|Sample Time:|Seed" MaskStyleString "edit,edit,edit" MaskTunableValueString "on,on,on" MaskCallbackString "||" MaskEnableString "on,on,on" MaskVisibilityString "on,on,on" MaskToolTipString "on,on,on" MaskInitialization "Cov = @1; Ts = @2; seed = @3; r = rand(1,12" "); r2 = [r(1),r;r,r(12)]; t =[1:13;1:13];" MaskDisplay "plot(t(:),r2(:))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "[1]|0.002|[23341]" MaskVariableAliases ",," System { Name "Band-Limited\nWhite Noise" Location [412, 193, 697, 322] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Gain Name "Gain" Position [155, 31, 195, 69] Gain "[sqrt(Cov)]/[sqrt(Ts)]" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType RandomNumber Name "White Noise" Position [25, 40, 45, 60] Mean "0" Variance "1" Seed "seed" SampleTime "Ts" VectorParams1D on } Block { BlockType Outport Name "Out_1" Position [230, 40, 250, 60] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Out_1" DstPort 1 } Line { SrcBlock "White Noise" SrcPort 1 DstBlock "Gain" DstPort 1 } } } Block { BlockType DiscreteFilter Name "Channel" Position [125, 111, 185, 149] ShowName off Numerator "chim" Denominator "[1]" SampleTime "0.002" Realization "auto" } Block { BlockType DiscreteFilter Name "Noise Shape" Position [125, 31, 185, 69] ShowName off Numerator "nfilt" Denominator "[1]" SampleTime "0.002" Realization "auto" } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [230, 115, 250, 135] ShowName off IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out" Position [275, 115, 295, 135] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Band-Limited\nWhite Noise" SrcPort 1 DstBlock "Noise Shape" DstPort 1 } Line { SrcBlock "Noise Shape" SrcPort 1 Points [20, 0; 0, 70] DstBlock "Sum" DstPort 1 } Line { SrcBlock "Channel" SrcPort 1 DstBlock "Sum" DstPort 2 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "out" DstPort 1 } Line { SrcBlock "in" SrcPort 1 DstBlock "Channel" DstPort 1 } } } Block { BlockType Reference Name "K-step\ndelay" Ports [1, 1] Position [155, 69, 200, 101] ForegroundColor "red" ShowName off SourceBlock "com_util/K-step\ndelay" SourceType "Multi-step delay" n "43" ts ".0025" ini "0" } Block { BlockType Reference Name "K-step\ndelay1" Ports [1, 1] Position [170, 194, 215, 226] ForegroundColor "red" ShowName off SourceBlock "com_util/K-step\ndelay" SourceType "Multi-step delay" n "43" ts ".0025" ini "0" } Block { BlockType SubSystem Name "PAM Signal" Ports [0, 2] Position [25, 130, 60, 185] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "PAM Signal" Location [362, 143, 699, 300] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Reference Name "MASK map" Ports [1, 1] Position [155, 33, 235, 77] ShowName off SourceBlock "com_mocd/MASK map" SourceType "MASK map" N "2" td "0.0025" } Block { BlockType Reference Name "Sampled read\nfrom wksp" Ports [0, 1] Position [40, 33, 120, 77] ShowName off SourceBlock "com_sour/Sampled read\nfrom wksp" SourceType "Read from workspace" var "randint(300,1,2)" td "0.0025" cyc "1" ini "0" } Block { BlockType Outport Name "out_1" Position [270, 45, 290, 65] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "out_2" Position [180, 90, 200, 110] ShowName off Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "MASK map" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Sampled read\nfrom wksp" SrcPort 1 Points [0, 0] Branch { DstBlock "MASK map" DstPort 1 } Branch { Points [10, 0; 0, 45] DstBlock "out_2" DstPort 1 } } } } Block { BlockType SubSystem Name "Receiver" Ports [2, 1] Position [270, 105, 300, 160] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Receiver" Location [362, 143, 1077, 485] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [415, 225, 435, 245] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [105, 225, 125, 245] ShowName off Port "2" Interpolate on } Block { BlockType SubSystem Name "Butterworth\nLP Filter" Ports [1, 1] Position [315, 158, 375, 202] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "buttap" MaskDescription "Analog Butterworth low pass filter.\n\n(Req" "uires Signal Processing Toolbox)" MaskHelp "Butterworth low pass filter using MATLAB's " "butter command." MaskPromptString "Cutoff frequency (rad/sec)|Order" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskInitialization "[z,p,k]=buttap(@2); z=@1*z; p=@1*p; k=real(" "prod(-p)); [num,den]=zp2tf(z,p,k); w=logspace(log10(@1/10),log10(10*@1),20); " "h=freqs(num,den,w); " MaskDisplay "plot(20*log10(w),20*log10(abs(h)))" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "200*2*pi|4" MaskVariableAliases "," System { Name "Butterworth\nLP Filter" Location [412, 193, 912, 453] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In1" Position [20, 80, 40, 100] Port "1" Interpolate on } Block { BlockType ZeroPole Name "Butterworth\nLP Filter" Position [90, 58, 150, 102] Zeros "z" Poles "p" Gain "k" AbsoluteTolerance "auto" } Block { BlockType Outport Name "Out1" Position [180, 80, 200, 100] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "In1" SrcPort 1 DstBlock "Butterworth\nLP Filter" DstPort 1 } Line { SrcBlock "Butterworth\nLP Filter" SrcPort 1 DstBlock "Out1" DstPort 1 } } } Block { BlockType Reference Name "Digital-TDMA\nmux1" Ports [1, 1] Position [345, 68, 425, 112] ShowName off SourceBlock "com_mlac/Digital-TDMA\nmux" SourceType "Digital TDMA" td "0.125" N "48" } Block { BlockType SubSystem Name "Echo\nCanceler" Ports [2, 2] Position [275, 77, 305, 128] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Echo\nCanceler" Location [412, 193, 1051, 400] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [70, 65, 90, 85] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [25, 140, 45, 160] ShowName off Port "2" Interpolate on } Block { BlockType SubSystem Name "Delay Line2" Ports [1, 1] Position [80, 123, 110, 177] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Delay Line2" Location [462, 243, 778, 388] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 20, 55, 40] ShowName off Port "1" Interpolate on } Block { BlockType Reference Name "Pulses divide\nsame sample time" Ports [0, 1] Position [30, 58, 110, 102] ShowName off SourceBlock "com_sour/Pulses divide\nsample time" SourceType "Pulse generator" samp_time ".0025" out_divid "1" offset "0" } Block { BlockType Reference Name "Register-shift" Ports [2, 2] Position [155, 18, 235, 62] ShowName off SourceBlock "com_util/Register-shift" SourceType "Register-shift" shft_out "[47:-1:0]" thrhld ".1" } Block { BlockType Terminator Name "Terminator_1" Position [250, 45, 260, 55] ShowName off } Block { BlockType Outport Name "out_1" Position [275, 20, 295, 40] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Register-shift" SrcPort 2 DstBlock "Terminator_1" DstPort 1 } Line { SrcBlock "Register-shift" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Pulses divide\nsame sample time" SrcPort 1 Points [15, 0; 0, -30] DstBlock "Register-shift" DstPort 2 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Register-shift" DstPort 1 } } } Block { BlockType SubSystem Name "Inner\nProduct1" Ports [2, 1] Position [405, 134, 425, 156] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2)" MaskHelp "Computes the inner (dot) product of the" " inputs: sum(u1.*u2). The inputs are vectors of the same length. Output is a" " scalar." MaskDisplay "disp('.\\n')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Inner\nProduct1" Location [462, 243, 682, 398] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [15, 25, 35, 45] Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Interpolate on } Block { BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] IconShape "rectangular" Inputs "+" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [185, 55, 205, 75] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 } } } Block { BlockType Product Name "Product1" Ports [2, 1] Position [170, 68, 200, 92] ShowName off Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [240, 75, 260, 95] ShowName off IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType UnitDelay Name "Unit Delay2" Position [305, 75, 345, 95] ShowName off X0 "X3_ini" SampleTime "0.0025" } Block { BlockType Outport Name "out_1" Position [385, 45, 405, 65] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "out_2" Position [540, 135, 560, 155] ShowName off Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Delay Line2" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Delay Line2" SrcPort 1 Points [15, 0] Branch { DstBlock "Inner\nProduct1" DstPort 2 } Branch { Points [0, -65] DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Inner\nProduct1" SrcPort 1 DstBlock "out_2" DstPort 1 } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 Points [20, 0] Branch { DstBlock "Unit Delay2" DstPort 1 } Branch { Points [0, -30] DstBlock "out_1" DstPort 1 } } Line { SrcBlock "Unit Delay2" SrcPort 1 Points [25, 0; 0, 55; 0, 0] Branch { DstBlock "Inner\nProduct1" DstPort 1 } Branch { Points [-150, 0] DstBlock "Sum2" DstPort 2 } } } } Block { BlockType Scope Name "Echo Canceler\nCoef. view" Ports [1] Position [460, 77, 480, 103] Floating off Location [16, 428, 257, 676] Open on NumInputPorts "1" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "%" } Grid "on" TimeRange "0.125000" YMin "-0.05" YMax "0.05" SaveToWorkspace off SaveName "ScopeData" DataFormat "Array" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType SubSystem Name "Equalizer" Ports [2, 1] Position [545, 162, 575, 213] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Equalizer" Location [412, 193, 1116, 481] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off Block { BlockType Inport Name "in_1" Position [235, 125, 255, 145] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [25, 105, 45, 125] ShowName off Port "2" Interpolate on } Block { BlockType Reference Name "Digital-TDMA\nmux" Ports [1, 1] Position [355, 68, 435, 112] ShowName off SourceBlock "com_mlac/Digital-TDMA\nmux" SourceType "Digital TDMA" td "0.16" N "32" Port { PortNumber 1 Name "FFF View" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Reference Name "Digital-TDMA\nmux1" Ports [1, 1] Position [355, 178, 435, 222] ShowName off SourceBlock "com_mlac/Digital-TDMA\nmux" SourceType "Digital TDMA" td "0.16" N "32" Port { PortNumber 1 Name "FBF View" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Scope Name "Equalizer" Ports [3] Position [625, 62, 645, 88] ForegroundColor "red" Floating off Location [268, 428, 629, 737] Open on NumInputPorts "3" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "%" axes2 "%" axes3 "%" } Grid "on" TimeRange "0.16" YMin "-3~-2.5~-0.15" YMax "3~2.5~0.4" SaveToWorkspace off SaveName "ScopeData" DataFormat "Array" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType SubSystem Name "Feedback\nFilter" Ports [2, 2] Position [295, 212, 325, 263] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Feedback\nFilter" Location [462, 243, 1015, 459] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [70, 65, 90, 85] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [15, 135, 35, 155] ShowName off Port "2" Interpolate on } Block { BlockType SubSystem Name "Delay Line2" Ports [1, 1] Position [70, 118, 100, 172] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Delay Line2" Location [512, 293, 828, 437] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 20, 55, 40] ShowName off Port "1" Interpolate on } Block { BlockType Reference Name "Pulses divide\nsame sample time" Ports [0, 1] Position [30, 68, 110, 112] ShowName off SourceBlock "com_sour/Pulses divide\nsample ti" "me" SourceType "Pulse generator" samp_time ".0025" out_divid "1" offset "0" } Block { BlockType Reference Name "Register-shift" Ports [2, 2] Position [155, 18, 235, 62] ShowName off SourceBlock "com_util/Register-shift" SourceType "Register-shift" shft_out "[31:-1:0]" thrhld ".1" } Block { BlockType Terminator Name "Terminator_1" Position [250, 45, 260, 55] ShowName off } Block { BlockType Outport Name "out_1" Position [275, 20, 295, 40] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Register-shift" SrcPort 2 DstBlock "Terminator_1" DstPort 1 } Line { SrcBlock "Register-shift" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Pulses divide\nsame sample time" SrcPort 1 Points [15, 0; 0, -40] DstBlock "Register-shift" DstPort 2 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Register-shift" DstPort 1 } } } Block { BlockType SubSystem Name "Inner\nProduct1" Ports [2, 1] Position [365, 129, 385, 151] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2)" MaskHelp "Computes the inner (dot) product of" " the inputs: sum(u1.*u2). The inputs are vectors of the same length. Output " "is a scalar." MaskDisplay "disp('.\\n')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Inner\nProduct1" Location [512, 293, 732, 448] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [15, 25, 35, 45] Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Interpolate on } Block { BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] IconShape "rectangular" Inputs "+" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [185, 55, 205, 75] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 } } } Block { BlockType Product Name "Product1" Ports [2, 1] Position [145, 68, 175, 92] ShowName off Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [200, 75, 220, 95] ShowName off IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType UnitDelay Name "Unit Delay2" Position [270, 75, 310, 95] ShowName off X0 "X1_ini" SampleTime "0.0025" } Block { BlockType Outport Name "out_1" Position [355, 55, 375, 75] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "out_2" Position [430, 130, 450, 150] ShowName off Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Delay Line2" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Delay Line2" SrcPort 1 Points [25, 0] Branch { DstBlock "Inner\nProduct1" DstPort 2 } Branch { DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Inner\nProduct1" SrcPort 1 DstBlock "out_2" DstPort 1 } Line { SrcBlock "Unit Delay2" SrcPort 1 Points [10, 0; 0, 50; 0, 0] Branch { DstBlock "Inner\nProduct1" DstPort 1 } Branch { Points [-140, 0] DstBlock "Sum2" DstPort 2 } } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Sum2" SrcPort 1 Points [15, 0] Branch { DstBlock "Unit Delay2" DstPort 1 } Branch { Points [0, -20] DstBlock "out_1" DstPort 1 } } } } Block { BlockType SubSystem Name "Feedforward\nFilter" Ports [2, 2] Position [285, 97, 315, 148] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Feedforward\nFilter" Location [462, 243, 998, 434] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [70, 35, 90, 55] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [15, 110, 35, 130] ShowName off Port "2" Interpolate on } Block { BlockType SubSystem Name "Delay Line2" Ports [1, 1] Position [75, 93, 105, 147] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Delay Line2" Location [512, 293, 828, 437] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 20, 55, 40] ShowName off Port "1" Interpolate on } Block { BlockType Reference Name "Pulses divide\nsame sample time" Ports [0, 1] Position [30, 73, 110, 117] ShowName off SourceBlock "com_sour/Pulses divide\nsample ti" "me" SourceType "Pulse generator" samp_time ".0025" out_divid "1" offset "0" } Block { BlockType Reference Name "Register-shift" Ports [2, 2] Position [155, 18, 235, 62] ShowName off SourceBlock "com_util/Register-shift" SourceType "Register-shift" shft_out "[31:-1:0]" thrhld ".1" } Block { BlockType Terminator Name "Terminator_1" Position [250, 45, 260, 55] ShowName off } Block { BlockType Outport Name "out_1" Position [275, 20, 295, 40] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Register-shift" SrcPort 2 DstBlock "Terminator_1" DstPort 1 } Line { SrcBlock "Register-shift" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Pulses divide\nsame sample time" SrcPort 1 Points [15, 0; 0, -45] DstBlock "Register-shift" DstPort 2 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Register-shift" DstPort 1 } } } Block { BlockType SubSystem Name "Inner\nProduct1" Ports [2, 1] Position [400, 104, 420, 126] ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2)" MaskHelp "Computes the inner (dot) product of" " the inputs: sum(u1.*u2). The inputs are vectors of the same length. Output " "is a scalar." MaskDisplay "disp('.\\n')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Inner\nProduct1" Location [512, 293, 732, 448] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [15, 25, 35, 45] Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Interpolate on } Block { BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] IconShape "rectangular" Inputs "+" SaturateOnIntegerOverflow on } Block { BlockType Outport Name "out_1" Position [185, 55, 205, 75] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 } } } Block { BlockType Product Name "Product1" Ports [2, 1] Position [180, 38, 210, 62] ShowName off Inputs "2" Multiplication "Element-wise(.*)" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum2" Ports [2, 1] Position [245, 45, 265, 65] ShowName off IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType UnitDelay Name "Unit Delay2" Position [315, 45, 355, 65] ShowName off X0 "X2_ini" SampleTime "0.0025" } Block { BlockType Outport Name "out_1" Position [395, 25, 415, 45] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Block { BlockType Outport Name "out_2" Position [475, 105, 495, 125] ShowName off Port "2" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Delay Line2" DstPort 1 } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Product1" DstPort 1 } Line { SrcBlock "Inner\nProduct1" SrcPort 1 DstBlock "out_2" DstPort 1 } Line { SrcBlock "Unit Delay2" SrcPort 1 Points [15, 0; 0, 55; 0, 0] Branch { DstBlock "Inner\nProduct1" DstPort 1 } Branch { Points [-145, 0] DstBlock "Sum2" DstPort 2 } } Line { SrcBlock "Product1" SrcPort 1 DstBlock "Sum2" DstPort 1 } Line { SrcBlock "Delay Line2" SrcPort 1 Points [25, 0] Branch { DstBlock "Inner\nProduct1" DstPort 2 } Branch { Points [0, -65] DstBlock "Product1" DstPort 2 } } Line { SrcBlock "Sum2" SrcPort 1 Points [15, 0] Branch { DstBlock "Unit Delay2" DstPort 1 } Branch { Points [0, -20] DstBlock "out_1" DstPort 1 } } } } Block { BlockType Gain Name "Gain" Position [160, 93, 210, 127] ShowName off Gain "0.01" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain2" Position [212, 165, 238, 195] Orientation "down" ShowName off Gain "-1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [100, 93, 115, 122] ShowName off IconShape "rectangular" Inputs "-+" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum3" Ports [2, 1] Position [520, 127, 535, 163] ShowName off IconShape "rectangular" Inputs "+-" SaturateOnIntegerOverflow on } Block { BlockType UnitDelay Name "Unit Delay1" Position [185, 44, 215, 66] ShowName off X0 "0" SampleTime "0.0025" Port { PortNumber 1 Name "Error" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType UnitDelay Name "Unit Delay3" Position [150, 239, 180, 261] ShowName off X0 "0" SampleTime "0.0025" } Block { BlockType Outport Name "out_1" Position [610, 135, 630, 155] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "Feedback\nFilter" SrcPort 2 Points [175, 0] DstBlock "Sum3" DstPort 2 } Line { SrcBlock "Feedforward\nFilter" SrcPort 2 DstBlock "Sum3" DstPort 1 } Line { SrcBlock "Feedforward\nFilter" SrcPort 1 Points [20, 0] DstBlock "Digital-TDMA\nmux" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [0, 25] DstBlock "Feedback\nFilter" DstPort 1 } Line { SrcBlock "Unit Delay3" SrcPort 1 DstBlock "Feedback\nFilter" DstPort 2 } Line { SrcBlock "Feedback\nFilter" SrcPort 1 Points [10, 0] DstBlock "Digital-TDMA\nmux1" DstPort 1 } Line { Name "Error" FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" Labels [0, 0] SrcBlock "Unit Delay1" SrcPort 1 Points [390, 0] DstBlock "Equalizer" DstPort 1 } Line { SrcBlock "Sum1" SrcPort 1 Points [15, 0] Branch { DstBlock "Gain" DstPort 1 } Branch { Points [0, -55] DstBlock "Unit Delay1" DstPort 1 } } Line { SrcBlock "Gain" SrcPort 1 Points [10, 0] Branch { DstBlock "Feedforward\nFilter" DstPort 1 } Branch { DstBlock "Gain2" DstPort 1 } } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Feedforward\nFilter" DstPort 2 } Line { SrcBlock "in_2" SrcPort 1 Points [20, 0] Branch { DstBlock "Sum1" DstPort 2 } Branch { Points [0, 135] DstBlock "Unit Delay3" DstPort 1 } } Line { SrcBlock "Sum3" SrcPort 1 Points [10, 0] Branch { DstBlock "out_1" DstPort 1 } Branch { Points [0, -130; -470, 0; 0, 85] DstBlock "Sum1" DstPort 1 } } Line { Name "FFF View" FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" Labels [0, 0] SrcBlock "Digital-TDMA\nmux" SrcPort 1 Points [150, 0; 0, -15] DstBlock "Equalizer" DstPort 2 } Line { Name "FBF View" FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" Labels [0, 0] SrcBlock "Digital-TDMA\nmux1" SrcPort 1 Points [170, 0] DstBlock "Equalizer" DstPort 3 } } } Block { BlockType DiscreteFilter Name "Filter1" Position [140, 151, 195, 189] Numerator "echop" Denominator "1" SampleTime ".0025" Realization "auto" } Block { BlockType Reference Name "MASK demap" Ports [1, 1] Position [580, 58, 660, 102] SourceBlock "com_mocd/MASK demap" SourceType "MASK demap" N "2" td ".0025" } Block { BlockType SubSystem Name "PAM\nSignal" Ports [0, 1] Position [80, 90, 110, 140] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "PAM\nSignal" Location [412, 193, 772, 323] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Reference Name "MASK map" Ports [1, 1] Position [185, 53, 265, 97] ShowName off SourceBlock "com_mocd/MASK map" SourceType "MASK map" N "4" td "0.0025" } Block { BlockType Reference Name "Sampled read\nfrom wksp" Ports [0, 1] Position [45, 53, 125, 97] ShowName off SourceBlock "com_sour/Sampled read\nfrom wksp" SourceType "Read from workspace" var "randint(300,1,4)" td "0.0025" cyc "1" ini "0" } Block { BlockType Outport Name "out_1" Position [310, 65, 330, 85] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "MASK map" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "Sampled read\nfrom wksp" SrcPort 1 DstBlock "MASK map" DstPort 1 } } } Block { BlockType Step Name "Step Input" Position [30, 285, 50, 305] Time "0" Before "0" After "1" SampleTime "0" VectorParams1D on } Block { BlockType Sum Name "Sum" Ports [2, 1] Position [265, 163, 285, 192] ShowName off IconShape "rectangular" Inputs "++" SaturateOnIntegerOverflow on } Block { BlockType Sum Name "Sum1" Ports [2, 1] Position [410, 163, 430, 187] ShowName off IconShape "rectangular" Inputs "-+" SaturateOnIntegerOverflow on } Block { BlockType SubSystem Name "Switch 1" Ports [2, 1] Position [160, 31, 190, 84] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Switch 1" Location [412, 193, 793, 347] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 30, 55, 50] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [165, 55, 185, 75] ShowName off Port "2" Interpolate on } Block { BlockType Gain Name "Gain2" Position [110, 83, 155, 117] ShowName off Gain "0.01" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain3" Position [110, 23, 155, 57] ShowName off Gain "0.0000000001" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Switch Name "Switch" Position [245, 49, 275, 81] ShowName off Threshold "0.5" } Block { BlockType Outport Name "out_1" Position [305, 55, 325, 75] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 Points [35, 0] Branch { DstBlock "Gain3" DstPort 1 } Branch { DstBlock "Gain2" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain3" SrcPort 1 Points [45, 0; 0, 15] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [45, 0; 0, -25] DstBlock "Switch" DstPort 3 } } } Block { BlockType SubSystem Name "Switch 2" Ports [2, 1] Position [170, 221, 200, 274] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Switch 2" Location [412, 193, 788, 362] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 55, 55, 75] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [165, 80, 185, 100] ShowName off Port "2" Interpolate on } Block { BlockType Gain Name "Gain2" Position [110, 108, 155, 142] ShowName off Gain "0" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain3" Position [110, 48, 155, 82] ShowName off Gain "10" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Switch Name "Switch" Position [240, 74, 270, 106] ShowName off Threshold "0.5" } Block { BlockType Outport Name "out_1" Position [300, 80, 320, 100] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 Points [35, 0] Branch { DstBlock "Gain3" DstPort 1 } Branch { DstBlock "Gain2" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain3" SrcPort 1 Points [45, 0; 0, 15] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [40, 0; 0, -25] DstBlock "Switch" DstPort 3 } } } Block { BlockType SubSystem Name "Switch 3" Ports [2, 1] Position [465, 221, 495, 274] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Switch 3" Location [412, 193, 836, 401] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [35, 55, 55, 75] ShowName off Port "1" Interpolate on } Block { BlockType Inport Name "in_2" Position [175, 85, 195, 105] ShowName off Port "2" Interpolate on } Block { BlockType Gain Name "Gain2" Position [110, 108, 155, 142] ShowName off Gain "0" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Gain Name "Gain3" Position [110, 48, 155, 82] ShowName off Gain "1" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Switch Name "Switch" Position [265, 79, 295, 111] ShowName off Threshold "0.5" } Block { BlockType Outport Name "out_1" Position [325, 85, 345, 105] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 Points [35, 0] Branch { DstBlock "Gain3" DstPort 1 } Branch { DstBlock "Gain2" DstPort 1 } } Line { SrcBlock "Switch" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Switch" DstPort 2 } Line { SrcBlock "Gain3" SrcPort 1 Points [75, 0; 0, 20] DstBlock "Switch" DstPort 1 } Line { SrcBlock "Gain2" SrcPort 1 Points [70, 0; 0, -20] DstBlock "Switch" DstPort 3 } } } Block { BlockType UnitDelay Name "Unit Delay" Position [535, 69, 565, 91] ShowName off X0 "0" SampleTime "0.0025" } Block { BlockType Outport Name "out_1" Position [675, 70, 695, 90] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Switch 3" DstPort 1 } Line { SrcBlock "Switch 1" SrcPort 1 Points [20, 0; 0, 30] DstBlock "Echo\nCanceler" DstPort 1 } Line { SrcBlock "Butterworth\nLP Filter" SrcPort 1 DstBlock "Sum1" DstPort 2 } Line { SrcBlock "Echo\nCanceler" SrcPort 2 Points [75, 0; 0, 55] DstBlock "Sum1" DstPort 1 } Line { SrcBlock "Echo\nCanceler" SrcPort 1 DstBlock "Digital-TDMA\nmux1" DstPort 1 } Line { SrcBlock "Digital-TDMA\nmux1" SrcPort 1 DstBlock "Echo Canceler\nCoef. view" DstPort 1 } Line { SrcBlock "Sum" SrcPort 1 DstBlock "Butterworth\nLP Filter" DstPort 1 } Line { SrcBlock "in_2" SrcPort 1 DstBlock "Switch 2" DstPort 1 } Line { SrcBlock "Equalizer" SrcPort 1 Points [5, 0; 0, -45; -65, 0] DstBlock "Unit Delay" DstPort 1 } Line { SrcBlock "Switch 2" SrcPort 1 Points [15, 0; 0, -65] DstBlock "Sum" DstPort 2 } Line { SrcBlock "Switch 3" SrcPort 1 Points [20, 0; 0, -50] DstBlock "Equalizer" DstPort 2 } Line { SrcBlock "Sum1" SrcPort 1 Points [55, 0] Branch { DstBlock "Equalizer" DstPort 1 } Branch { Points [0, -160; -360, 0; 0, 30] DstBlock "Switch 1" DstPort 1 } } Line { SrcBlock "Step Input" SrcPort 1 Points [15, 0] Branch { Points [0, -225] DstBlock "Switch 1" DstPort 2 } Branch { Points [85, 0; 0, 0] Branch { DstBlock "Switch 2" DstPort 2 } Branch { Points [295, 0] DstBlock "Switch 3" DstPort 2 } } } Line { SrcBlock "Filter1" SrcPort 1 DstBlock "Sum" DstPort 1 } Line { SrcBlock "Unit Delay" SrcPort 1 DstBlock "MASK demap" DstPort 1 } Line { SrcBlock "MASK demap" SrcPort 1 DstBlock "out_1" DstPort 1 } Line { SrcBlock "PAM\nSignal" SrcPort 1 Points [10, 0] Branch { DstBlock "Echo\nCanceler" DstPort 2 } Branch { DstBlock "Filter1" DstPort 1 } } } } Block { BlockType Scope Name "Scope" Ports [2] Position [370, 127, 400, 158] Floating off Location [641, 428, 1019, 735] Open on NumInputPorts "2" TickLabels "on" ZoomMode "on" List { ListType AxesTitles axes1 "Received Data" axes2 "Transmit Data" } Grid "on" TimeRange "0.2" YMin "-0.5~-0.5" YMax "1.5~1.5" SaveToWorkspace off SaveName "ScopeData" DataFormat "Array" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType SubSystem Name "Transmitter" Ports [1, 1] Position [120, 117, 165, 173] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Transmitter" Location [362, 143, 617, 266] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "in_1" Position [15, 60, 35, 80] ShowName off Port "1" Interpolate on } Block { BlockType Reference Name "Raised cosine\nfilter" Ports [1, 1] Position [85, 48, 165, 92] ShowName off SourceBlock "com_filt/Raised cosine\nfilter" SourceType "R-C filter" td "0.0025" ts "0.0005" R ".15" delay "3" fil "'FIR'" x "1" } Block { BlockType Outport Name "out_1" Position [215, 60, 235, 80] ShowName off Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "in_1" SrcPort 1 DstBlock "Raised cosine\nfilter" DstPort 1 } Line { SrcBlock "Raised cosine\nfilter" SrcPort 1 DstBlock "out_1" DstPort 1 } } } Block { BlockType SubSystem Name "Utility2" Ports [] Position [320, 221, 400, 265] ForegroundColor "magenta" ShowName off OpenFcn "hdsldata;" ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('Reload\\ndata')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "Utility2" Location [362, 143, 607, 352] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on } } Block { BlockType SubSystem Name "information" Ports [] Position [250, 225, 295, 266] ForegroundColor "magenta" ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('?')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "information" Location [362, 143, 832, 404] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType SubSystem Name "information" Ports [] Position [465, 200, 510, 241] ForegroundColor "magenta" ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('?')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "information" Location [412, 193, 1196, 384] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Annotation { Position [352, 87] VerticalAlignment "top" Text "The transmitting blocks has orientation" " from left to right. The receiving blocks has orientation from right to left." } Annotation { Position [337, 122] VerticalAlignment "top" Text "black+blue blocks => typical ANALOG com" "munication system. \n\nblack+green blocks => minimum" " configuration of a DIGITAL communication system.\n\nblack+green+red blocks =" "> maximum configuration of a DIGITAL communication system. " } Annotation { Position [382, 47] VerticalAlignment "top" Text "This library contains transmitter and r" "eceiver. The receiving part is almost reverse of the transmitting part. For a" " clear\nrelationshipe, when a transmitter block is clicked, the function for " "the receiving will also be shown up and vice verse. " } } } Block { BlockType SubSystem Name "information1" Ports [] Position [485, 220, 530, 261] ForegroundColor "magenta" ShowName off ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('?')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "information1" Location [412, 193, 1196, 384] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Annotation { Position [352, 87] VerticalAlignment "top" Text "The transmitting blocks has orientation" " from left to right. The receiving blocks has orientation from right to left." } Annotation { Position [337, 122] VerticalAlignment "top" Text "black+blue blocks => typical ANALOG com" "munication system. \n\nblack+green blocks => minimum" " configuration of a DIGITAL communication system.\n\nblack+green+red blocks =" "> maximum configuration of a DIGITAL communication system. " } Annotation { Position [382, 47] VerticalAlignment "top" Text "This library contains transmitter and r" "eceiver. The receiving part is almost reverse of the transmitting part. For a" " clear\nrelationshipe, when a transmitter block is clicked, the function for " "the receiving will also be shown up and vice verse. " } } } Annotation { Position [222, 92] VerticalAlignment "top" Text "This example uses trained initial data. If " "you prefer to train the data\nyourself, set the Step time parameter in the St" "ep input block in the\nReceiver subsystem to be 50." } Annotation { Position [222, 32] VerticalAlignment "top" Text "This example simulates digital transmission" " through a telephone line.\nA noise cancellation filter and an equalizer are " "included in the\nsimulation example" } Annotation { Position [207, 157] VerticalAlignment "top" Text "Design and original implementation by Walt" "er Chen.\nTexas Instrument\n13510 North central Expressway\nMail Stop 446\nDa" "llas TX 75265 " } } } Line { SrcBlock "K-step\ndelay" SrcPort 1 Points [40, 0; 0, 35] DstBlock "Receiver" DstPort 1 } Line { SrcBlock "Transmitter" SrcPort 1 DstBlock "Channel" DstPort 1 } Line { SrcBlock "Channel" SrcPort 1 DstBlock "Receiver" DstPort 2 } Line { SrcBlock "PAM Signal" SrcPort 1 Points [0, 0; 25, 0] Branch { DstBlock "Transmitter" DstPort 1 } Branch { Points [0, -60] DstBlock "K-step\ndelay" DstPort 1 } } Line { SrcBlock "PAM Signal" SrcPort 2 Points [40, 0; 0, 40] DstBlock "K-step\ndelay1" DstPort 1 } Line { SrcBlock "Receiver" SrcPort 1 DstBlock "Scope" DstPort 1 } Line { SrcBlock "K-step\ndelay1" SrcPort 1 Points [95, 0; 0, -60] DstBlock "Scope" DstPort 2 } Annotation { Position [247, 27] VerticalAlignment "top" ForegroundColor "red" Text "High-Bit-Rate Digital Subscriber Line" FontSize 12 FontWeight "bold" } Annotation { Position [215, 312] Text "Warning: This model is obsolete and may be remo" "ved in the future." FontName "Arial" FontSize 12 } } }