www.pudn.com > wcdma_simulink.rar > koe_control_buffer.mdl


Model {
  Name			  "koe_control_buffer"
  Version		  3.00
  SimParamPage		  "Solver"
  SampleTimeColors	  on
  InvariantConstants	  off
  WideVectorLines	  off
  ShowLineWidths	  off
  ShowPortDataTypes	  off
  StartTime		  "0.0"
  StopTime		  "10.0"
  SolverMode		  "Auto"
  Solver		  "ode45"
  RelTol		  "1e-3"
  AbsTol		  "auto"
  Refine		  "1"
  MaxStep		  "auto"
  InitialStep		  "auto"
  FixedStep		  "auto"
  MaxOrder		  5
  OutputOption		  "RefineOutputTimes"
  OutputTimes		  "[]"
  LoadExternalInput	  off
  ExternalInput		  "[t, u]"
  SaveTime		  on
  TimeSaveName		  "tout"
  SaveState		  off
  StateSaveName		  "xout"
  SaveOutput		  on
  OutputSaveName	  "yout"
  LoadInitialState	  off
  InitialState		  "xInitial"
  SaveFinalState	  off
  FinalStateName	  "xFinal"
  SaveFormat		  "Matrix"
  LimitMaxRows		  off
  MaxRows		  "1000"
  Decimation		  "1"
  AlgebraicLoopMsg	  "warning"
  MinStepSizeMsg	  "warning"
  UnconnectedInputMsg	  "warning"
  UnconnectedOutputMsg	  "warning"
  UnconnectedLineMsg	  "warning"
  InheritedTsInSrcMsg	  "warning"
  IntegerOverflowMsg	  "warning"
  UnnecessaryDatatypeConvMsg "none"
  Int32ToFloatConvMsg	  "warning"
  SignalLabelMismatchMsg  "none"
  ConsistencyChecking	  "off"
  ZeroCross		  on
  SimulationMode	  "normal"
  BlockDataTips		  on
  BlockParametersDataTip  on
  BlockAttributesDataTip  off
  BlockPortWidthsDataTip  off
  BlockDescriptionStringDataTip	off
  BlockMaskParametersDataTip off
  ToolBar		  on
  StatusBar		  on
  BrowserShowLibraryLinks off
  BrowserLookUnderMasks	  off
  OptimizeBlockIOStorage  on
  BufferReuse		  on
  BooleanDataType	  off
  RTWSystemTargetFile	  "grt.tlc"
  RTWInlineParameters	  off
  RTWRetainRTWFile	  off
  RTWTemplateMakefile	  "grt_default_tmf"
  RTWMakeCommand	  "make_rtw"
  RTWGenerateCodeOnly	  off
  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
  Created		  "Tue Jun 15 10:57:00 1999"
  Creator		  "maarit"
  UpdateHistory		  "UpdateHistoryNever"
  ModifiedByFormat	  "%"
  LastModifiedBy	  "maarit"
  ModifiedDateFormat	  "%"
  LastModifiedDate	  "Tue Jun 15 11:24:24 1999"
  ModelVersionFormat	  "1.%"
  ConfigurationManager	  "none"
  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		    "koe_control_buffer"
    Location		    [390, 51, 1151, 655]
    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		      " add control"
      Ports		      [0, 1, 0, 0, 0]
      Position		      [110, 52, 210, 128]
      FontName		      "helvetica"
      FontSize		      12
      ShowPortLabels	      on
      MaskPromptString	      "Number of Pilot bits|Number of Power Control bi"
"ts|Number of TFI bits"
      MaskStyleString	      "edit,edit,edit"
      MaskTunableValueString  "on,on,on"
      MaskCallbackString      "||"
      MaskEnableString	      "on,on,on"
      MaskVisibilityString    "on,on,on"
      MaskVariables	      "nPilot=@1;nPower=@2;nTFI=@3;"
      MaskInitialization      "nBits=nPilot+nPower+nTFI;"
      MaskDisplay	      "disp('Add control bits:\\nPilot\\nPower Control"
"\\nTFI');"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "8|3|2"
      System {
	Name			" add control"
	Location		[530, 245, 896, 452]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Constant
	  Name			  "control bits"
	  Position		  [50, 55, 140, 85]
	  Value			  "0*(1:nBits)"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Out1"
	  Position		  [190, 63, 220, 77]
	  ShowName		  off
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  SrcBlock		  "control bits"
	  SrcPort		  1
	  DstBlock		  "Out1"
	  DstPort		  1
	}
      }
    }
    Block {
      BlockType		      "S-Function"
      Name		      "Ber calculation1"
      Ports		      [2, 1, 0, 0, 0]
      Position		      [481, 360, 619, 445]
      Orientation	      "down"
      NamePlacement	      "alternate"
      ShowName		      off
      FunctionName	      "s_ber_direct"
      Parameters	      "N*16,1"
      PortCounts	      "[]"
      SFunctionModules	      "''"
      MaskDisplay	      "disp('BER\\n\\nDIRECT')\nport_label('input',1,'"
"send');\nport_label('input',2,'received');\nport_label('output',1,'ber')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
    }
    Block {
      BlockType		      Constant
      Name		      "Constant1"
      Position		      [405, 260, 450, 290]
      Value		      "N+13"
    }
    Block {
      BlockType		      Display
      Name		      "Display35"
      Ports		      [1, 0, 0, 0, 0]
      Position		      [497, 520, 603, 550]
      Orientation	      "down"
      NamePlacement	      "alternate"
      ShowName		      off
      Format		      "short"
      Decimation	      "1"
      Floating		      off
      SampleTime	      "-1"
    }
    Block {
      BlockType		      "S-Function"
      Name		      "S-Function"
      Ports		      [1, 2, 0, 0, 0]
      Position		      [295, 100, 430, 215]
      FunctionName	      "s_mod_plain"
      Parameters	      "N*16+13,1"
      PortCounts	      "[]"
      SFunctionModules	      "''"
    }
    Block {
      BlockType		      ToWorkspace
      Name		      "To Workspace12"
      Position		      [610, 465, 670, 495]
      ShowName		      off
      VariableName	      "ber"
      Buffer		      "inf"
      Decimation	      "1"
      SampleTime	      "-1"
      SaveFormat	      "Matrix"
    }
    Block {
      BlockType		      Mux
      Name		      "control_mux"
      Ports		      [2, 1, 0, 0, 0]
      Position		      [265, 113, 275, 202]
      ShowName		      off
      FontName		      "helvetica"
      FontSize		      12
      Inputs		      "2"
      DisplayOption	      "bar"
    }
    Block {
      BlockType		      "S-Function"
      Name		      "demodulation"
      Ports		      [4, 3, 0, 0, 0]
      Position		      [515, 116, 625, 209]
      ForegroundColor	      "blue"
      FontName		      "helvetica"
      FunctionName	      "s_demod_buffer"
      Parameters	      "nBuff_in,nBuff_out,nControl,nSlot"
      PortCounts	      "[]"
      SFunctionModules	      "''"
      MaskDescription	      "Input sample time is one slot. \nOutput sample "
"time is one frame.\n"
      MaskPromptString	      "Input size|Output size|Number of Slots in a fra"
"me|Number of control chips to be removed"
      MaskStyleString	      "edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on"
      MaskCallbackString      "|||"
      MaskEnableString	      "on,on,on,on"
      MaskVisibilityString    "on,on,on,on"
      MaskVariables	      "nBuff_in=@1;nBuff_out=@2;nSlot=@3;nControl=@4;"
      MaskInitialization      "%nBuff=bits_in_frame/nSlot+nControl;"
      MaskDisplay	      "disp('DISCRET\\nDEMODULATION \\n\\nREMOVING OF"
"\\nCONTROL BITS\\n\\nBUFFERING') \nport_label('input',1,'I');\nport_label('in"
"put',3,'Q');\nport_label('output',2,'flag');"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "N+13|16*N|16|13"
    }
    Block {
      BlockType		      "S-Function"
      Name		      "intra_interleaving1"
      Ports		      [1, 1, 0, 0, 0]
      Position		      [135, 144, 210, 216]
      ForegroundColor	      "blue"
      FunctionName	      "s_intra_interleaver"
      Parameters	      "nIntra,Intra_int_flag,nFrames,nSlot"
      PortCounts	      "[]"
      SFunctionModules	      "''"
      MaskPromptString	      "Bits in frame (bits_in_frame)|Number of frames|"
"Number of Slots in a frame|Intra interleaver flag"
      MaskStyleString	      "edit,edit,edit,edit"
      MaskTunableValueString  "on,on,on,on"
      MaskCallbackString      "|||"
      MaskEnableString	      "on,on,on,on"
      MaskVisibilityString    "on,on,on,on"
      MaskVariables	      "bits_in_frame=@1;nFrames=@2;nSlot=@3;Intra_int_"
"flag=@4;"
      MaskInitialization      "nIntra=nFrames*bits_in_frame;"
      MaskDisplay	      "disp('INTRA FRAME\\n\\nINTERLEAVER')"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "N*16|1|16|0"
    }
    Block {
      BlockType		      SubSystem
      Name		      "up- ja downlink koe popup\ndownlink =1\nuplink "
"= 4"
      Ports		      [0, 1, 0, 0, 0]
      Position		      [30, 153, 90, 207]
      ShowName		      off
      ShowPortLabels	      on
      MaskType		      "koe"
      MaskDescription	      "Where is description \n\nEn tieda minne tama tu"
"lee"
      MaskHelp		      "Block help is displayed in netscpae.\n\nTamahan"
" on kivaa, kerro jos et ymmarra, yritan auttaa"
      MaskPromptString	      "sample time (nframes)|size of input"
      MaskStyleString	      "edit,edit"
      MaskTunableValueString  "on,on"
      MaskCallbackString      "|"
      MaskEnableString	      "on,on"
      MaskVisibilityString    "on,on"
      MaskVariables	      "nFrames=@1;N=@2;"
      MaskDisplay	      "disp('input data\\n 0 1 0 1 etc\\n 1 0 1 0 etc'"
");"
      MaskIconFrame	      on
      MaskIconOpaque	      on
      MaskIconRotate	      "none"
      MaskIconUnits	      "autoscale"
      MaskValueString	      "1|N*16"
      System {
	Name			"up- ja downlink koe popup\ndownlink =1\nuplin"
"k = 4"
	Location		[29, 520, 384, 693]
	Open			off
	ModelBrowserVisibility	off
	ModelBrowserWidth	200
	ScreenColor		"white"
	PaperOrientation	"landscape"
	PaperPositionMode	"auto"
	PaperType		"usletter"
	PaperUnits		"inches"
	ZoomFactor		"100"
	AutoZoom		on
	Block {
	  BlockType		  Constant
	  Name			  "Constant11"
	  Position		  [25, 27, 140, 63]
	  ShowName		  off
	  Value			  "max(0,(-1).^(1:N))"
	}
	Block {
	  BlockType		  Constant
	  Name			  "Constant14"
	  Position		  [35, 112, 150, 148]
	  ShowName		  off
	  Value			  "max(0,(-1).^(1+(1:N)))"
	}
	Block {
	  BlockType		  DiscretePulseGenerator
	  Name			  "Discrete Pulse\nGenerator"
	  Position		  [75, 70, 105, 100]
	  Amplitude		  "1"
	  Period		  "2"
	  PulseWidth		  "1"
	  PhaseDelay		  "0"
	  SampleTime		  "nFrames"
	}
	Block {
	  BlockType		  Switch
	  Name			  "Switch"
	  Position		  [215, 33, 275, 117]
	  Threshold		  "0.5"
	}
	Block {
	  BlockType		  Outport
	  Name			  "Out1"
	  Position		  [300, 68, 330, 82]
	  Port			  "1"
	  OutputWhenDisabled	  "held"
	  InitialOutput		  "[]"
	}
	Line {
	  SrcBlock		  "Switch"
	  SrcPort		  1
	  DstBlock		  "Out1"
	  DstPort		  1
	}
	Line {
	  SrcBlock		  "Discrete Pulse\nGenerator"
	  SrcPort		  1
	  Points		  [90, 0]
	  DstBlock		  "Switch"
	  DstPort		  2
	}
	Line {
	  SrcBlock		  "Constant14"
	  SrcPort		  1
	  Points		  [45, 0]
	  DstBlock		  "Switch"
	  DstPort		  3
	}
	Line {
	  SrcBlock		  "Constant11"
	  SrcPort		  1
	  DstBlock		  "Switch"
	  DstPort		  1
	}
      }
    }
    Line {
      SrcBlock		      "intra_interleaving1"
      SrcPort		      1
      DstBlock		      "control_mux"
      DstPort		      2
    }
    Line {
      SrcBlock		      " add control"
      SrcPort		      1
      Points		      [35, 0]
      DstBlock		      "control_mux"
      DstPort		      1
    }
    Line {
      SrcBlock		      "control_mux"
      SrcPort		      1
      DstBlock		      "S-Function"
      DstPort		      1
    }
    Line {
      SrcBlock		      "S-Function"
      SrcPort		      1
      Points		      [65, 0]
      DstBlock		      "demodulation"
      DstPort		      1
    }
    Line {
      SrcBlock		      "S-Function"
      SrcPort		      2
      Points		      [0, 15]
      DstBlock		      "demodulation"
      DstPort		      4
    }
    Line {
      SrcBlock		      "Constant1"
      SrcPort		      1
      Points		      [10, 0; 0, -100]
      Branch {
	Points			[0, -25]
	DstBlock		"demodulation"
	DstPort			2
      }
      Branch {
	DstBlock		"demodulation"
	DstPort			3
      }
    }
    Line {
      SrcBlock		      "up- ja downlink koe popup\ndownlink =1\nuplink "
"= 4"
      SrcPort		      1
      Points		      [5, 0]
      Branch {
	DstBlock		"intra_interleaving1"
	DstPort			1
      }
      Branch {
	Points			[0, 155; 415, 0]
	DstBlock		"Ber calculation1"
	DstPort			1
      }
    }
    Line {
      SrcBlock		      "demodulation"
      SrcPort		      1
      Points		      [35, 0; 0, 210]
      DstBlock		      "Ber calculation1"
      DstPort		      2
    }
    Line {
      SrcBlock		      "Ber calculation1"
      SrcPort		      1
      Points		      [0, 25]
      Branch {
	Points			[0, 5]
	DstBlock		"To Workspace12"
	DstPort			1
      }
      Branch {
	DstBlock		"Display35"
	DstPort			1
      }
    }
  }
}