hiperlan2.mdl
上传用户:asli888
上传日期:2013-05-03
资源大小:7045k
文件大小:33k
源码类别:

matlab例程

开发平台:

Matlab

  1. Model {
  2.   Name   "hiperlan2"
  3.   Version   4.00
  4.   SampleTimeColors   off
  5.   LibraryLinkDisplay   "none"
  6.   WideLines   on
  7.   ShowLineDimensions   on
  8.   ShowPortDataTypes   off
  9.   ShowStorageClass   off
  10.   RecordCoverage   off
  11.   CovPath   "/"
  12.   CovSaveName   "covdata"
  13.   CovMetricSettings   "dw"
  14.   CovNameIncrementing   off
  15.   CovHtmlReporting   on
  16.   BlockNameDataTip   off
  17.   BlockParametersDataTip  off
  18.   BlockDescriptionStringDataTip off
  19.   ToolBar   on
  20.   StatusBar   on
  21.   BrowserShowLibraryLinks on
  22.   BrowserLookUnderMasks   on
  23.   Created   "Thu Sep 20 10:13:02 2001"
  24.   UpdateHistory   "UpdateHistoryNever"
  25.   ModifiedByFormat   "%<Auto>"
  26.   LastModifiedBy   "cthorpe"
  27.   ModifiedDateFormat   "%<Auto>"
  28.   LastModifiedDate   "Thu Sep 20 10:37:33 2001"
  29.   ModelVersionFormat   "1.%<AutoIncrement:5>"
  30.   ConfigurationManager   "None"
  31.   SimParamPage   "WorkspaceI/O"
  32.   StartTime   "0.0"
  33.   StopTime   "inf"
  34.   SolverMode   "Auto"
  35.   Solver   "FixedStepDiscrete"
  36.   RelTol   "1e-3"
  37.   AbsTol   "auto"
  38.   Refine   "1"
  39.   MaxStep   "auto"
  40.   MinStep   "auto"
  41.   MaxNumMinSteps   "-1"
  42.   InitialStep   "auto"
  43.   FixedStep   "auto"
  44.   MaxOrder   5
  45.   OutputOption   "RefineOutputTimes"
  46.   OutputTimes   "[]"
  47.   LoadExternalInput   off
  48.   ExternalInput   "[t, u]"
  49.   SaveTime   off
  50.   TimeSaveName   "tout"
  51.   SaveState   off
  52.   StateSaveName   "xout"
  53.   SaveOutput   off
  54.   OutputSaveName   "yout"
  55.   LoadInitialState   off
  56.   InitialState   "xInitial"
  57.   SaveFinalState   off
  58.   FinalStateName   "xFinal"
  59.   SaveFormat   "Array"
  60.   LimitDataPoints   on
  61.   MaxDataPoints   "1000"
  62.   Decimation   "1"
  63.   AlgebraicLoopMsg   "warning"
  64.   MinStepSizeMsg   "warning"
  65.   UnconnectedInputMsg   "warning"
  66.   UnconnectedOutputMsg   "warning"
  67.   UnconnectedLineMsg   "warning"
  68.   InheritedTsInSrcMsg   "warning"
  69.   SingleTaskRateTransMsg  "none"
  70.   MultiTaskRateTransMsg   "error"
  71.   IntegerOverflowMsg   "warning"
  72.   CheckForMatrixSingularity "none"
  73.   UnnecessaryDatatypeConvMsg "none"
  74.   Int32ToFloatConvMsg   "warning"
  75.   SignalLabelMismatchMsg  "none"
  76.   LinearizationMsg   "none"
  77.   VectorMatrixConversionMsg "none"
  78.   SfunCompatibilityCheckMsg "none"
  79.   BlockPriorityViolationMsg "warning"
  80.   ArrayBoundsChecking   "none"
  81.   ConsistencyChecking   "none"
  82.   ZeroCross   on
  83.   Profile   off
  84.   SimulationMode   "normal"
  85.   RTWSystemTargetFile   "grt.tlc"
  86.   RTWInlineParameters   off
  87.   RTWRetainRTWFile   off
  88.   RTWTemplateMakefile   "grt_default_tmf"
  89.   RTWMakeCommand   "make_rtw"
  90.   RTWGenerateCodeOnly   off
  91.   TLCProfiler   off
  92.   TLCDebug   off
  93.   TLCCoverage   off
  94.   AccelSystemTargetFile   "accel.tlc"
  95.   AccelTemplateMakefile   "accel_default_tmf"
  96.   AccelMakeCommand   "make_rtw"
  97.   TryForcingSFcnDF   off
  98.   ExtModeMexFile   "ext_comm"
  99.   ExtModeBatchMode   off
  100.   ExtModeTrigType   "manual"
  101.   ExtModeTrigMode   "normal"
  102.   ExtModeTrigPort   "1"
  103.   ExtModeTrigElement   "any"
  104.   ExtModeTrigDuration   1000
  105.   ExtModeTrigHoldOff   0
  106.   ExtModeTrigDelay   0
  107.   ExtModeTrigDirection   "rising"
  108.   ExtModeTrigLevel   0
  109.   ExtModeArchiveMode   "off"
  110.   ExtModeAutoIncOneShot   off
  111.   ExtModeIncDirWhenArm   off
  112.   ExtModeAddSuffixToVar   off
  113.   ExtModeWriteAllDataToWs off
  114.   ExtModeArmWhenConnect   on
  115.   ExtModeSkipDownloadWhenConnect off
  116.   ExtModeLogAll   on
  117.   ExtModeAutoUpdateStatusClock on
  118.   OptimizeBlockIOStorage  on
  119.   BufferReuse   on
  120.   ParameterPooling   on
  121.   BlockReductionOpt   on
  122.   RTWExpressionDepthLimit 5
  123.   BooleanDataType   off
  124.   BlockDefaults {
  125.     Orientation     "right"
  126.     ForegroundColor     "black"
  127.     BackgroundColor     "white"
  128.     DropShadow     off
  129.     NamePlacement     "normal"
  130.     FontName     "Helvetica"
  131.     FontSize     10
  132.     FontWeight     "normal"
  133.     FontAngle     "normal"
  134.     ShowName     on
  135.   }
  136.   AnnotationDefaults {
  137.     HorizontalAlignment     "center"
  138.     VerticalAlignment     "middle"
  139.     ForegroundColor     "black"
  140.     BackgroundColor     "white"
  141.     DropShadow     off
  142.     FontName     "Helvetica"
  143.     FontSize     10
  144.     FontWeight     "normal"
  145.     FontAngle     "normal"
  146.   }
  147.   LineDefaults {
  148.     FontName     "Helvetica"
  149.     FontSize     9
  150.     FontWeight     "normal"
  151.     FontAngle     "normal"
  152.   }
  153.   System {
  154.     Name     "hiperlan2"
  155.     Location     [158, 786, 1150, 1315]
  156.     Open     on
  157.     ModelBrowserVisibility  off
  158.     ModelBrowserWidth     200
  159.     ScreenColor     "[0.960784, 0.960784, 0.980392, 1.000000]"
  160.     PaperOrientation     "landscape"
  161.     PaperPositionMode     "auto"
  162.     PaperType     "usletter"
  163.     PaperUnits     "inches"
  164.     ZoomFactor     "100"
  165.     ReportName     "simulink-default.rpt"
  166.     Block {
  167.       BlockType       Reference
  168.       Name       "AWGNnChannel"
  169.       Ports       [1, 1]
  170.       Position       [875, 230, 955, 270]
  171.       Orientation       "down"
  172.       NamePlacement       "alternate"
  173.       ShowName       off
  174.       SourceBlock       "commchan2/AWGNnChannel"
  175.       SourceType       "AWGN Channel"
  176.       seed       "1"
  177.       noiseMode       "Signal to noise ratio  (SNR)"
  178.       EsNodB       "40"
  179.       SNRdB       "25"
  180.       Ps       "0.01"
  181.       Tsym       "4e-6/80"
  182.       variance       "1"
  183.     }
  184.     Block {
  185.       BlockType       Reference
  186.       Name       "Bernoulli RandomnBinary Generator"
  187.       Ports       [0, 1]
  188.       Position       [35, 113, 115, 157]
  189.       FontSize       10
  190.       SourceBlock       "commsource2/Bernoulli RandomnBinary Generator"
  191.       SourceType       "Bernoulli Random Binary Generator"
  192.       P       "0.5"
  193.       seed       "20394875"
  194.       Ts       "4e-6/144"
  195.       frameBased       on
  196.       sampPerFrame       "144"
  197.       orient       off
  198.     }
  199.     Block {
  200.       BlockType       Reference
  201.       Name       "ConvolutionalnEncoder"
  202.       Ports       [1, 1]
  203.       Position       [155, 106, 240, 164]
  204.       SourceBlock       "commcnvcod2/ConvolutionalnEncoder"
  205.       SourceType       "Convolutional Encoder"
  206.       trellis       "poly2trellis(7, [133 171])"
  207.       reset       "None"
  208.     }
  209.     Block {
  210.       BlockType       SubSystem
  211.       Name       "Denormalise"
  212.       Ports       [1, 1]
  213.       Position       [735, 358, 770, 382]
  214.       Orientation       "left"
  215.       ShowPortLabels       on
  216.       TreatAsAtomicUnit       off
  217.       RTWSystemCode       "Auto"
  218.       RTWFcnNameOpts       "Auto"
  219.       RTWFileNameOpts       "Auto"
  220.       System {
  221. Name "Denormalise"
  222. Location [550, 726, 1015, 832]
  223. Open off
  224. ModelBrowserVisibility off
  225. ModelBrowserWidth 200
  226. ScreenColor "automatic"
  227. PaperOrientation "landscape"
  228. PaperPositionMode "auto"
  229. PaperType "usletter"
  230. PaperUnits "inches"
  231. ZoomFactor "100"
  232. Block {
  233.   BlockType   Inport
  234.   Name   "   "
  235.   Position   [25, 38, 55, 52]
  236.   Port   "1"
  237.   LatchInput   off
  238.   Interpolate   on
  239. }
  240. Block {
  241.   BlockType   Gain
  242.   Name   "Gain1"
  243.   Position   [150, 30, 180, 60]
  244.   ShowName   off
  245.   Gain   "sqrt(10)"
  246.   Multiplication   "Element-wise(K.*u)"
  247.   SaturateOnIntegerOverflow on
  248. }
  249. Block {
  250.   BlockType   Math
  251.   Name   "MathnFunction"
  252.   Ports   [1, 1]
  253.   Position   [80, 30, 110, 60]
  254.   ShowName   off
  255.   Operator   "conj"
  256.   OutputSignalType   "auto"
  257. }
  258. Block {
  259.   BlockType   Outport
  260.   Name   "  "
  261.   Position   [225, 38, 255, 52]
  262.   Port   "1"
  263.   OutputWhenDisabled   "held"
  264.   InitialOutput   "[]"
  265. }
  266. Line {
  267.   SrcBlock   "   "
  268.   SrcPort   1
  269.   DstBlock   "MathnFunction"
  270.   DstPort   1
  271. }
  272. Line {
  273.   SrcBlock   "MathnFunction"
  274.   SrcPort   1
  275.   DstBlock   "Gain1"
  276.   DstPort   1
  277. }
  278. Line {
  279.   SrcBlock   "Gain1"
  280.   SrcPort   1
  281.   DstBlock   "  "
  282.   DstPort   1
  283. }
  284.       }
  285.     }
  286.     Block {
  287.       BlockType       Reference
  288.       Name       "Discrete-TimenEye and ScatternDiagrams"
  289.       Ports       [1]
  290.       Position       [655, 220, 740, 270]
  291.       Orientation       "left"
  292.       SourceBlock       "commsink2/Discrete-TimenEye and ScatternDiagr"
  293. "ams"
  294.       SourceType       "Discrete-Time Eye and Scatter Diagrams"
  295.       time_range       "4e-6/48"
  296.       time_offset       "0"
  297.       time_decision       "0"
  298.       boundary       "[-2 2]"
  299.       kept_length       "5"
  300.       diagram_type       "Scatter Diagram"
  301.       eye_line       "b-/r-"
  302.       scatter_line       "b."
  303.       sample_time       "4e-6/48"
  304.     }
  305.     Block {
  306.       BlockType       Display
  307.       Name       "Display"
  308.       Ports       [1]
  309.       Position       [300, 214, 385, 276]
  310.       ShowName       off
  311.       Format       "short"
  312.       Decimation       "1"
  313.       Floating       off
  314.       SampleTime       "-1"
  315.     }
  316.     Block {
  317.       BlockType       Reference
  318.       Name       "Error Rate Calculation"
  319.       Ports       [2, 1]
  320.       Position       [195, 217, 280, 268]
  321.       ShowName       off
  322.       SourceBlock       "commsink2/Error Rate Calculation"
  323.       SourceType       "Error Rate Calculation"
  324.       N       "34"
  325.       st_delay       "0"
  326.       cp_mode       "Entire frame"
  327.       subframe       "[]"
  328.       PMode       "Port"
  329.       WsName       "ErrorVec"
  330.       RsMode2       off
  331.       stop       off
  332.       numErr       "100"
  333.       maxBits       "1e6"
  334.     }
  335.     Block {
  336.       BlockType       Reference
  337.       Name       "General BlocknDeinterleaver"
  338.       Ports       [1, 1]
  339.       Position       [535, 343, 615, 397]
  340.       Orientation       "left"
  341.       FontSize       10
  342.       SourceBlock       "commblkintrlv2/General BlocknDeinterleaver"
  343.       SourceType       "General Block Deinterleaver"
  344.       elements       "[ 2*floor( [0:191]/2 ) + mod( ([0:191] + 192 - "
  345. "floor( 16*[0:191]/192 ) ) ,2 ) + 1]'"
  346.     }
  347.     Block {
  348.       BlockType       Reference
  349.       Name       "General BlocknInterleaver"
  350.       Ports       [1, 1]
  351.       Position       [535, 108, 615, 162]
  352.       FontSize       10
  353.       SourceBlock       "commblkintrlv2/General BlocknInterleaver"
  354.       SourceType       "General Block Interleaver"
  355.       elements       "[ 2*floor( [0:191]/2 ) + mod( ([0:191] + 192 - "
  356. "floor( 16*[0:191]/192 ) ) ,2 ) + 1]'"
  357.     }
  358.     Block {
  359.       BlockType       Reference
  360.       Name       "Insert Zero"
  361.       Ports       [1, 1]
  362.       Position       [260, 348, 340, 392]
  363.       Orientation       "left"
  364.       SourceBlock       "commsequence2/Insert Zero"
  365.       SourceType       "Insert Zero"
  366.       insertZeroVector       "[1 1 0 1 0 1]'"
  367.     }
  368.     Block {
  369.       BlockType       Reference
  370.       Name       "MatrixnDeinterleaver"
  371.       Ports       [1, 1]
  372.       Position       [435, 343, 515, 397]
  373.       Orientation       "left"
  374.       FontSize       10
  375.       SourceBlock       "commblkintrlv2/MatrixnDeinterleaver"
  376.       SourceType       "Matrix Deinterleaver"
  377.       Nrows       "16"
  378.       Ncols       "12"
  379.     }
  380.     Block {
  381.       BlockType       Reference
  382.       Name       "MatrixnInterleaver"
  383.       Ports       [1, 1]
  384.       Position       [435, 108, 515, 162]
  385.       FontSize       10
  386.       SourceBlock       "commblkintrlv2/MatrixnInterleaver"
  387.       SourceType       "Matrix Interleaver"
  388.       Nrows       "16"
  389.       Ncols       "12"
  390.     }
  391.     Block {
  392.       BlockType       SubSystem
  393.       Name       "Normalise"
  394.       Ports       [1, 1]
  395.       Position       [735, 123, 770, 147]
  396.       ShowPortLabels       on
  397.       TreatAsAtomicUnit       off
  398.       RTWSystemCode       "Auto"
  399.       RTWFcnNameOpts       "Auto"
  400.       RTWFileNameOpts       "Auto"
  401.       System {
  402. Name "Normalise"
  403. Location [157, 81, 1296, 603]
  404. Open off
  405. ModelBrowserVisibility off
  406. ModelBrowserWidth 200
  407. ScreenColor "automatic"
  408. PaperOrientation "landscape"
  409. PaperPositionMode "auto"
  410. PaperType "usletter"
  411. PaperUnits "inches"
  412. ZoomFactor "100"
  413. Block {
  414.   BlockType   Inport
  415.   Name   "   "
  416.   Position   [25, 38, 55, 52]
  417.   Port   "1"
  418.   LatchInput   off
  419.   Interpolate   on
  420. }
  421. Block {
  422.   BlockType   Gain
  423.   Name   "Gain1"
  424.   Position   [180, 30, 210, 60]
  425.   ShowName   off
  426.   Gain   "1/sqrt(10)"
  427.   Multiplication   "Element-wise(K.*u)"
  428.   SaturateOnIntegerOverflow on
  429. }
  430. Block {
  431.   BlockType   Math
  432.   Name   "MathnFunction"
  433.   Ports   [1, 1]
  434.   Position   [105, 30, 135, 60]
  435.   ShowName   off
  436.   Operator   "conj"
  437.   OutputSignalType   "auto"
  438. }
  439. Block {
  440.   BlockType   Outport
  441.   Name   "  "
  442.   Position   [265, 38, 295, 52]
  443.   Port   "1"
  444.   OutputWhenDisabled   "held"
  445.   InitialOutput   "[]"
  446. }
  447. Line {
  448.   SrcBlock   "MathnFunction"
  449.   SrcPort   1
  450.   DstBlock   "Gain1"
  451.   DstPort   1
  452. }
  453. Line {
  454.   SrcBlock   "   "
  455.   SrcPort   1
  456.   DstBlock   "MathnFunction"
  457.   DstPort   1
  458. }
  459. Line {
  460.   SrcBlock   "Gain1"
  461.   SrcPort   1
  462.   DstBlock   "  "
  463.   DstPort   1
  464. }
  465.       }
  466.     }
  467.     Block {
  468.       BlockType       SubSystem
  469.       Name       "OFDM Receiver"
  470.       Ports       [1, 2]
  471.       Position       [805, 353, 890, 422]
  472.       Orientation       "left"
  473.       ShowPortLabels       on
  474.       TreatAsAtomicUnit       off
  475.       RTWSystemCode       "Auto"
  476.       RTWFcnNameOpts       "Auto"
  477.       RTWFileNameOpts       "Auto"
  478.       MaskDisplay       "disp('OFDM\nReceiver');nport_label('output',2"
  479. ",'pilots')"
  480.       MaskIconFrame       on
  481.       MaskIconOpaque       on
  482.       MaskIconRotate       "none"
  483.       MaskIconUnits       "autoscale"
  484.       System {
  485. Name "OFDM Receiver"
  486. Location [157, 81, 1296, 603]
  487. Open off
  488. ModelBrowserVisibility off
  489. ModelBrowserWidth 200
  490. ScreenColor "automatic"
  491. PaperOrientation "landscape"
  492. PaperPositionMode "auto"
  493. PaperType "usletter"
  494. PaperUnits "inches"
  495. ZoomFactor "100"
  496. Block {
  497.   BlockType   Inport
  498.   Name   "Received signal"
  499.   Position   [45, 43, 75, 57]
  500.   Port   "1"
  501.   LatchInput   off
  502.   Interpolate   on
  503. }
  504. Block {
  505.   BlockType   Reference
  506.   Name   "FFT"
  507.   Ports   [1, 1]
  508.   Position   [210, 33, 250, 67]
  509.   SourceBlock   "dspxfrm3/FFT"
  510.   SourceType   "FFT"
  511.   CompMethod   "Table lookup"
  512.   TableOpt   "Speed"
  513.   BitRevOrder   off
  514. }
  515. Block {
  516.   BlockType   Reference
  517.   Name   "Frame StatusnConversion"
  518.   Ports   [1, 1]
  519.   Position   [290, 34, 335, 66]
  520.   SourceBlock   "dspsigattribs/Frame StatusnConversion"
  521.   SourceType   "Frame Status Conversion"
  522.   growRefPort   off
  523.   outframe   "Frame-based"
  524. }
  525. Block {
  526.   BlockType   Selector
  527.   Name   "Removen zero-paddingnandnreorder"
  528.   Ports   [1, 1]
  529.   Position   [375, 28, 425, 72]
  530.   InputType   "Vector"
  531.   ElementSrc   "Internal"
  532.   Elements   "[39:64 1:27]"
  533.   RowSrc   "Internal"
  534.   Rows   "1"
  535.   ColumnSrc   "Internal"
  536.   Columns   "1"
  537.   InputPortWidth   "64"
  538. }
  539. Block {
  540.   BlockType   Reference
  541.   Name   "RemovenPilots"
  542.   Ports   [1, 2]
  543.   Position   [455, 12, 500, 83]
  544.   SourceBlock   "dspindex/MultiportnSelector"
  545.   SourceType   "Multiport Selector"
  546.   rowsOrCols   "Rows"
  547.   idxCellArray   "{[1:5 7:19 21:26 28:33 35:47 49:53],[6 20 3"
  548. "4 48]}"
  549.   idxErrMode   "Clip Index"
  550.   Port {
  551.     PortNumber     1
  552.     Name     "Data"
  553.     TestPoint     off
  554.     LinearAnalysisOutput    off
  555.     LinearAnalysisInput     off
  556.     RTWStorageClass     "Auto"
  557.   }
  558.   Port {
  559.     PortNumber     2
  560.     Name     "Pilots"
  561.     TestPoint     off
  562.     LinearAnalysisOutput    off
  563.     LinearAnalysisInput     off
  564.     RTWStorageClass     "Auto"
  565.   }
  566. }
  567. Block {
  568.   BlockType   Selector
  569.   Name   "Remove CyclicnPrefix"
  570.   Ports   [1, 1]
  571.   Position   [120, 28, 170, 72]
  572.   InputType   "Vector"
  573.   ElementSrc   "Internal"
  574.   Elements   "[17:80]"
  575.   RowSrc   "Internal"
  576.   Rows   "1"
  577.   ColumnSrc   "Internal"
  578.   Columns   "1"
  579.   InputPortWidth   "80"
  580. }
  581. Block {
  582.   BlockType   Outport
  583.   Name   "Data"
  584.   Position   [585, 23, 615, 37]
  585.   Port   "1"
  586.   OutputWhenDisabled   "held"
  587.   InitialOutput   "[]"
  588. }
  589. Block {
  590.   BlockType   Outport
  591.   Name   "PIlots"
  592.   Position   [585, 58, 615, 72]
  593.   Port   "2"
  594.   OutputWhenDisabled   "held"
  595.   InitialOutput   "[]"
  596. }
  597. Line {
  598.   SrcBlock   "Frame StatusnConversion"
  599.   SrcPort   1
  600.   DstBlock   "Removen zero-paddingnandnreorder"
  601.   DstPort   1
  602. }
  603. Line {
  604.   SrcBlock   "FFT"
  605.   SrcPort   1
  606.   DstBlock   "Frame StatusnConversion"
  607.   DstPort   1
  608. }
  609. Line {
  610.   SrcBlock   "Received signal"
  611.   SrcPort   1
  612.   DstBlock   "Remove CyclicnPrefix"
  613.   DstPort   1
  614. }
  615. Line {
  616.   SrcBlock   "Remove CyclicnPrefix"
  617.   SrcPort   1
  618.   DstBlock   "FFT"
  619.   DstPort   1
  620. }
  621. Line {
  622.   SrcBlock   "Removen zero-paddingnandnreorder"
  623.   SrcPort   1
  624.   DstBlock   "RemovenPilots"
  625.   DstPort   1
  626. }
  627. Line {
  628.   Name   "Data"
  629.   Labels   [0, 0]
  630.   SrcBlock   "RemovenPilots"
  631.   SrcPort   1
  632.   DstBlock   "Data"
  633.   DstPort   1
  634. }
  635. Line {
  636.   Name   "Pilots"
  637.   Labels   [0, 0]
  638.   SrcBlock   "RemovenPilots"
  639.   SrcPort   2
  640.   DstBlock   "PIlots"
  641.   DstPort   1
  642. }
  643.       }
  644.     }
  645.     Block {
  646.       BlockType       SubSystem
  647.       Name       "OFDM Transmitter"
  648.       Ports       [1, 1]
  649.       Position       [805, 101, 890, 169]
  650.       ShowPortLabels       on
  651.       TreatAsAtomicUnit       off
  652.       RTWSystemCode       "Auto"
  653.       RTWFcnNameOpts       "Auto"
  654.       RTWFileNameOpts       "Auto"
  655.       MaskDisplay       "disp('OFDM\nTransmitter')"
  656.       MaskIconFrame       on
  657.       MaskIconOpaque       on
  658.       MaskIconRotate       "none"
  659.       MaskIconUnits       "autoscale"
  660.       System {
  661. Name "OFDM Transmitter"
  662. Location [157, 81, 1296, 603]
  663. Open off
  664. ModelBrowserVisibility off
  665. ModelBrowserWidth 200
  666. ScreenColor "automatic"
  667. PaperOrientation "landscape"
  668. PaperPositionMode "auto"
  669. PaperType "usletter"
  670. PaperUnits "inches"
  671. ZoomFactor "100"
  672. Block {
  673.   BlockType   Inport
  674.   Name   "In"
  675.   Position   [55, 223, 85, 237]
  676.   Port   "1"
  677.   LatchInput   off
  678.   Interpolate   on
  679. }
  680. Block {
  681.   BlockType   Selector
  682.   Name   "Add CyclicnPrefix"
  683.   Ports   [1, 1]
  684.   Position   [660, 208, 710, 252]
  685.   InputType   "Vector"
  686.   ElementSrc   "Internal"
  687.   Elements   "[49:64 1:64]"
  688.   RowSrc   "Internal"
  689.   Rows   "1"
  690.   ColumnSrc   "Internal"
  691.   Columns   "1"
  692.   InputPortWidth   "64"
  693. }
  694. Block {
  695.   BlockType   Reference
  696.   Name   "DSPnConstant"
  697.   Ports   [0, 1]
  698.   Position   [285, 218, 320, 242]
  699.   ShowName   off
  700.   SourceBlock   "dspsrcs3/DSPnConstant"
  701.   SourceType   "DSP Constant"
  702.   Value   "0+0i"
  703.   InterpretAs1D   off
  704.   SampleMode   "Discrete"
  705.   Ts   "4e-6"
  706.   FramebasedOutput   on
  707. }
  708. Block {
  709.   BlockType   Gain
  710.   Name   "Gain"
  711.   Position   [290, 295, 320, 325]
  712.   ShowName   off
  713.   Gain   "-1"
  714.   Multiplication   "Element-wise(K.*u)"
  715.   SaturateOnIntegerOverflow on
  716. }
  717. Block {
  718.   BlockType   Reference
  719.   Name   "IFFT"
  720.   Ports   [1, 1]
  721.   Position   [570, 214, 610, 246]
  722.   SourceBlock   "dspxfrm3/IFFT"
  723.   SourceType   "IFFT"
  724.   CompMethod   "Table lookup"
  725.   TableOpt   "Speed"
  726.   BitRevOrder   off
  727.   cs_in   off
  728.   SkipNorm   off
  729.   mode   "Complex"
  730. }
  731. Block {
  732.   BlockType   Reference
  733.   Name   "MatrixnConcatenation"
  734.   Ports   [11, 1]
  735.   Position   [345, 126, 405, 334]
  736.   SourceBlock   "simulink3/Signalsn& Systems/MatrixnConcat"
  737. "enation"
  738.   SourceType   "Matrix Concatenation"
  739.   numInports   "11"
  740.   catMethod   "Vertical"
  741. }
  742. Block {
  743.   BlockType   Reference
  744.   Name   "MultiportnSelector"
  745.   Ports   [1, 6]
  746.   Position   [150, 109, 215, 351]
  747.   SourceBlock   "dspindex/MultiportnSelector"
  748.   SourceType   "Multiport Selector"
  749.   rowsOrCols   "Rows"
  750.   idxCellArray   "{1:5,6:18,19:24,25:30,31:43,44:48}"
  751.   idxErrMode   "Clip Index"
  752. }
  753. Block {
  754.   BlockType   Reference
  755.   Name   "Pilot Generator"
  756.   Ports   [0, 1]
  757.   Position   [50, 38, 130, 82]
  758.   SourceBlock   "commsource2/PN SequencenGenerator"
  759.   SourceType   "PN Sequence Generator"
  760.   poly   "[1 0 0 1 0 0 0 1]"
  761.   ini_sta   "[1 1 1 1 1 1 1]"
  762.   Ts   "4e-6"
  763.   frameBased   off
  764.   sampPerFrame   "1"
  765. }
  766. Block {
  767.   BlockType   Reference
  768.   Name   "Unipolar tonBipolarnConverter"
  769.   Ports   [1, 1]
  770.   Position   [160, 40, 225, 80]
  771.   ShowName   off
  772.   FontSize   10
  773.   SourceBlock   "commutil2/Unipolar tonBipolarnConverter"
  774.   SourceType   "Unipolar to Bipolar Converter"
  775.   M   "2"
  776.   polarity   "Negative"
  777. }
  778. Block {
  779.   BlockType   SubSystem
  780.   Name   "Zero pad for OFDM"
  781.   Ports   [1, 1]
  782.   Position   [460, 205, 515, 255]
  783.   ShowPortLabels   on
  784.   TreatAsAtomicUnit   off
  785.   RTWSystemCode   "Auto"
  786.   RTWFcnNameOpts   "Auto"
  787.   RTWFileNameOpts   "Auto"
  788.   MaskDisplay   "disp('Zero pad\nfor OFDM');"
  789.   MaskIconFrame   on
  790.   MaskIconOpaque   on
  791.   MaskIconRotate   "none"
  792.   MaskIconUnits   "autoscale"
  793.   System {
  794.     Name     "Zero pad for OFDM"
  795.     Location     [191, 421, 703, 556]
  796.     Open     off
  797.     ModelBrowserVisibility  off
  798.     ModelBrowserWidth     200
  799.     ScreenColor     "automatic"
  800.     PaperOrientation     "landscape"
  801.     PaperPositionMode     "auto"
  802.     PaperType     "usletter"
  803.     PaperUnits     "inches"
  804.     ZoomFactor     "100"
  805.     Block {
  806.       BlockType       Inport
  807.       Name       "In1"
  808.       Position       [30, 53, 60, 67]
  809.       Port       "1"
  810.       LatchInput       off
  811.       Interpolate       on
  812.     }
  813.     Block {
  814.       BlockType       Selector
  815.       Name       "Selector"
  816.       Ports       [1, 1]
  817.       Position       [230, 38, 280, 82]
  818.       InputType       "Vector"
  819.       ElementSrc       "Internal"
  820.       Elements       "[27:64 1:26]"
  821.       RowSrc       "Internal"
  822.       Rows       "1"
  823.       ColumnSrc       "Internal"
  824.       Columns       "1"
  825.       InputPortWidth       "64"
  826.     }
  827.     Block {
  828.       BlockType       Reference
  829.       Name       "Zero Pad"
  830.       Ports       [1, 1]
  831.       Position       [120, 42, 165, 78]
  832.       SourceBlock       "dspsigops/Zero Pad"
  833.       SourceType       "Zero Pad"
  834.       zpadAlong       "Columns"
  835.       numOutRows       "64"
  836.       numOutCols       "1"
  837.       trunc_flag       "None"
  838.     }
  839.     Block {
  840.       BlockType       Outport
  841.       Name       "Out1"
  842.       Position       [360, 53, 390, 67]
  843.       Port       "1"
  844.       OutputWhenDisabled      "held"
  845.       InitialOutput       "[]"
  846.     }
  847.     Line {
  848.       SrcBlock       "Selector"
  849.       SrcPort       1
  850.       DstBlock       "Out1"
  851.       DstPort       1
  852.     }
  853.     Line {
  854.       SrcBlock       "Zero Pad"
  855.       SrcPort       1
  856.       DstBlock       "Selector"
  857.       DstPort       1
  858.     }
  859.     Line {
  860.       SrcBlock       "In1"
  861.       SrcPort       1
  862.       DstBlock       "Zero Pad"
  863.       DstPort       1
  864.     }
  865.   }
  866. }
  867. Block {
  868.   BlockType   Outport
  869.   Name   "Out"
  870.   Position   [765, 223, 795, 237]
  871.   Port   "1"
  872.   OutputWhenDisabled   "held"
  873.   InitialOutput   "[]"
  874. }
  875. Line {
  876.   SrcBlock   "Zero pad for OFDM"
  877.   SrcPort   1
  878.   DstBlock   "IFFT"
  879.   DstPort   1
  880. }
  881. Line {
  882.   SrcBlock   "IFFT"
  883.   SrcPort   1
  884.   DstBlock   "Add CyclicnPrefix"
  885.   DstPort   1
  886. }
  887. Line {
  888.   SrcBlock   "Add CyclicnPrefix"
  889.   SrcPort   1
  890.   DstBlock   "Out"
  891.   DstPort   1
  892. }
  893. Line {
  894.   SrcBlock   "Pilot Generator"
  895.   SrcPort   1
  896.   DstBlock   "Unipolar tonBipolarnConverter"
  897.   DstPort   1
  898. }
  899. Line {
  900.   SrcBlock   "Unipolar tonBipolarnConverter"
  901.   SrcPort   1
  902.   Points   [25, 0; 0, 90]
  903.   Branch {
  904.     DstBlock     "MatrixnConcatenation"
  905.     DstPort     2
  906.   }
  907.   Branch {
  908.     Points     [0, 40]
  909.     Branch {
  910.       DstBlock       "MatrixnConcatenation"
  911.       DstPort       4
  912.     }
  913.     Branch {
  914.       Points       [0, 80]
  915.       Branch {
  916. DstBlock "MatrixnConcatenation"
  917. DstPort 8
  918.       }
  919.       Branch {
  920. Points [0, 40]
  921. DstBlock "Gain"
  922. DstPort 1
  923.       }
  924.     }
  925.   }
  926. }
  927. Line {
  928.   SrcBlock   "MatrixnConcatenation"
  929.   SrcPort   1
  930.   DstBlock   "Zero pad for OFDM"
  931.   DstPort   1
  932. }
  933. Line {
  934.   SrcBlock   "DSPnConstant"
  935.   SrcPort   1
  936.   DstBlock   "MatrixnConcatenation"
  937.   DstPort   6
  938. }
  939. Line {
  940.   SrcBlock   "MultiportnSelector"
  941.   SrcPort   1
  942.   DstBlock   "MatrixnConcatenation"
  943.   DstPort   1
  944. }
  945. Line {
  946.   SrcBlock   "MultiportnSelector"
  947.   SrcPort   2
  948.   DstBlock   "MatrixnConcatenation"
  949.   DstPort   3
  950. }
  951. Line {
  952.   SrcBlock   "MultiportnSelector"
  953.   SrcPort   3
  954.   DstBlock   "MatrixnConcatenation"
  955.   DstPort   5
  956. }
  957. Line {
  958.   SrcBlock   "MultiportnSelector"
  959.   SrcPort   4
  960.   DstBlock   "MatrixnConcatenation"
  961.   DstPort   7
  962. }
  963. Line {
  964.   SrcBlock   "MultiportnSelector"
  965.   SrcPort   5
  966.   DstBlock   "MatrixnConcatenation"
  967.   DstPort   9
  968. }
  969. Line {
  970.   SrcBlock   "MultiportnSelector"
  971.   SrcPort   6
  972.   DstBlock   "MatrixnConcatenation"
  973.   DstPort   11
  974. }
  975. Line {
  976.   SrcBlock   "Gain"
  977.   SrcPort   1
  978.   DstBlock   "MatrixnConcatenation"
  979.   DstPort   10
  980. }
  981. Line {
  982.   SrcBlock   "In"
  983.   SrcPort   1
  984.   DstBlock   "MultiportnSelector"
  985.   DstPort   1
  986. }
  987.       }
  988.     }
  989.     Block {
  990.       BlockType       Reference
  991.       Name       "P2 Puncture"
  992.       Ports       [1, 1]
  993.       Position       [285, 113, 365, 157]
  994.       SourceBlock       "commsequence2/Puncture"
  995.       SourceType       "Puncture"
  996.       punctureVector       "[1 1 0 1 0 1]'"
  997.     }
  998.     Block {
  999.       BlockType       Reference
  1000.       Name       "Rectangular QAMnDemodulatornBaseband"
  1001.       Ports       [1, 1]
  1002.       Position       [635, 344, 710, 396]
  1003.       Orientation       "left"
  1004.       SourceBlock       "commdigbbndam2/Rectangular QAMnDemodulatornBa"
  1005. "seband"
  1006.       SourceType       "Rectangular QAM Demodulator Baseband"
  1007.       M       "16"
  1008.       OutType       "Bit"
  1009.       Dec       "Gray"
  1010.       PowType       "Min. distance between symbols"
  1011.       MinDist       "2"
  1012.       AvgPow       "1"
  1013.       PeakPow       "1"
  1014.       Ph       "0"
  1015.       numSamp       "1"
  1016.     }
  1017.     Block {
  1018.       BlockType       Reference
  1019.       Name       "Rectangular QAMnModulatornBaseband"
  1020.       Ports       [1, 1]
  1021.       Position       [635, 109, 710, 161]
  1022.       SourceBlock       "commdigbbndam2/Rectangular QAMnModulatornBase"
  1023. "band"
  1024.       SourceType       "Rectangular QAM Modulator Baseband"
  1025.       M       "16"
  1026.       InType       "Bit"
  1027.       Enc       "Gray"
  1028.       PowType       "Min. distance between symbols"
  1029.       MinDist       "2"
  1030.       AvgPow       "1"
  1031.       PeakPow       "1"
  1032.       Ph       "0"
  1033.       numSamp       "1"
  1034.     }
  1035.     Block {
  1036.       BlockType       Reference
  1037.       Name       "SpectrumnScope"
  1038.       Ports       [1]
  1039.       Position       [815, 285, 850, 335]
  1040.       Orientation       "left"
  1041.       NamePlacement       "alternate"
  1042.       LinkData {
  1043. BlockName "OptionalnBuffering/Buffer"
  1044. DialogParameters {
  1045.   N   "BufferSize"
  1046.   V   "Overlap"
  1047.   ic   "0"
  1048. }
  1049.       }
  1050.       SourceBlock       "dspsnks3/SpectrumnScope"
  1051.       SourceType       "Spectrum Scope"
  1052.       ScopeProperties       off
  1053.       Domain       "Frequency"
  1054.       HorizSpan       "1"
  1055.       UseBuffer       on
  1056.       BufferSize       "80"
  1057.       Overlap       "0"
  1058.       inpFftLenInherit       on
  1059.       FFTlength       "1024"
  1060.       numAvg       "10"
  1061.       DisplayProperties       off
  1062.       AxisGrid       on
  1063.       Memory       off
  1064.       FrameNumber       on
  1065.       AxisLegend       off
  1066.       AxisZoom       off
  1067.       OpenScopeAtSimStart     on
  1068.       OpenScopeImmediately    off
  1069.       FigPos       "get(0,'defaultfigureposition')"
  1070.       AxisProperties       on
  1071.       XUnits       "Hertz"
  1072.       XRange       "[-Fs/2...Fs/2]"
  1073.       InheritXIncr       on
  1074.       XIncr       "1.0"
  1075.       XLabel       "Samples"
  1076.       YUnits       "dB"
  1077.       YMin       "-60"
  1078.       YMax       "0"
  1079.       YLabel       "Magnitude, dB"
  1080.       LineProperties       off
  1081.     }
  1082.     Block {
  1083.       BlockType       Terminator
  1084.       Name       "Terminator"
  1085.       Position       [755, 410, 775, 430]
  1086.       Orientation       "left"
  1087.       ShowName       off
  1088.     }
  1089.     Block {
  1090.       BlockType       Reference
  1091.       Name       "Unipolar tonBipolarnConverter"
  1092.       Ports       [1, 1]
  1093.       Position       [355, 352, 410, 388]
  1094.       Orientation       "left"
  1095.       ShowName       off
  1096.       FontSize       10
  1097.       SourceBlock       "commutil2/Unipolar tonBipolarnConverter"
  1098.       SourceType       "Unipolar to Bipolar Converter"
  1099.       M       "2"
  1100.       polarity       "Negative"
  1101.     }
  1102.     Block {
  1103.       BlockType       Reference
  1104.       Name       "Viterbi Decoder"
  1105.       Ports       [1, 1]
  1106.       Position       [150, 340, 240, 400]
  1107.       Orientation       "left"
  1108.       SourceBlock       "commcnvcod2/Viterbi Decoder"
  1109.       SourceType       "Viterbi Decoder"
  1110.       trellis       "poly2trellis(7, [133 171])"
  1111.       dectype       "Unquantized"
  1112.       nsdecb       "4"
  1113.       tbdepth       "34"
  1114.       opmode       "Continuous"
  1115.       reset       off
  1116.     }
  1117.     Line {
  1118.       SrcBlock       "Rectangular QAMnModulatornBaseband"
  1119.       SrcPort       1
  1120.       DstBlock       "Normalise"
  1121.       DstPort       1
  1122.     }
  1123.     Line {
  1124.       SrcBlock       "Bernoulli RandomnBinary Generator"
  1125.       SrcPort       1
  1126.       Points       [0, 0; 15, 0]
  1127.       Branch {
  1128. DstBlock "ConvolutionalnEncoder"
  1129. DstPort 1
  1130.       }
  1131.       Branch {
  1132. Points [0, 95]
  1133. DstBlock "Error Rate Calculation"
  1134. DstPort 1
  1135.       }
  1136.     }
  1137.     Line {
  1138.       SrcBlock       "OFDM Transmitter"
  1139.       SrcPort       1
  1140.       Points       [20, 0]
  1141.       DstBlock       "AWGNnChannel"
  1142.       DstPort       1
  1143.     }
  1144.     Line {
  1145.       SrcBlock       "Viterbi Decoder"
  1146.       SrcPort       1
  1147.       Points       [-10, 0; 0, -115]
  1148.       DstBlock       "Error Rate Calculation"
  1149.       DstPort       2
  1150.     }
  1151.     Line {
  1152.       SrcBlock       "P2 Puncture"
  1153.       SrcPort       1
  1154.       DstBlock       "MatrixnInterleaver"
  1155.       DstPort       1
  1156.     }
  1157.     Line {
  1158.       SrcBlock       "General BlocknInterleaver"
  1159.       SrcPort       1
  1160.       DstBlock       "Rectangular QAMnModulatornBaseband"
  1161.       DstPort       1
  1162.     }
  1163.     Line {
  1164.       SrcBlock       "General BlocknDeinterleaver"
  1165.       SrcPort       1
  1166.       DstBlock       "MatrixnDeinterleaver"
  1167.       DstPort       1
  1168.     }
  1169.     Line {
  1170.       SrcBlock       "ConvolutionalnEncoder"
  1171.       SrcPort       1
  1172.       DstBlock       "P2 Puncture"
  1173.       DstPort       1
  1174.     }
  1175.     Line {
  1176.       SrcBlock       "Insert Zero"
  1177.       SrcPort       1
  1178.       DstBlock       "Viterbi Decoder"
  1179.       DstPort       1
  1180.     }
  1181.     Line {
  1182.       SrcBlock       "MatrixnDeinterleaver"
  1183.       SrcPort       1
  1184.       DstBlock       "Unipolar tonBipolarnConverter"
  1185.       DstPort       1
  1186.     }
  1187.     Line {
  1188.       SrcBlock       "Rectangular QAMnDemodulatornBaseband"
  1189.       SrcPort       1
  1190.       DstBlock       "General BlocknDeinterleaver"
  1191.       DstPort       1
  1192.     }
  1193.     Line {
  1194.       SrcBlock       "Normalise"
  1195.       SrcPort       1
  1196.       DstBlock       "OFDM Transmitter"
  1197.       DstPort       1
  1198.     }
  1199.     Line {
  1200.       SrcBlock       "Denormalise"
  1201.       SrcPort       1
  1202.       DstBlock       "Rectangular QAMnDemodulatornBaseband"
  1203.       DstPort       1
  1204.     }
  1205.     Line {
  1206.       SrcBlock       "Unipolar tonBipolarnConverter"
  1207.       SrcPort       1
  1208.       DstBlock       "Insert Zero"
  1209.       DstPort       1
  1210.     }
  1211.     Line {
  1212.       SrcBlock       "OFDM Receiver"
  1213.       SrcPort       1
  1214.       Points       [0, 0; -5, 0]
  1215.       Branch {
  1216. DstBlock "Denormalise"
  1217. DstPort 1
  1218.       }
  1219.       Branch {
  1220. Points [0, -125]
  1221. DstBlock "Discrete-TimenEye and ScatternDiagrams"
  1222. DstPort 1
  1223.       }
  1224.     }
  1225.     Line {
  1226.       SrcBlock       "Error Rate Calculation"
  1227.       SrcPort       1
  1228.       DstBlock       "Display"
  1229.       DstPort       1
  1230.     }
  1231.     Line {
  1232.       SrcBlock       "OFDM Receiver"
  1233.       SrcPort       2
  1234.       Points       [-10, 0]
  1235.       DstBlock       "Terminator"
  1236.       DstPort       1
  1237.     }
  1238.     Line {
  1239.       SrcBlock       "AWGNnChannel"
  1240.       SrcPort       1
  1241.       Points       [0, 0; 0, 35]
  1242.       Branch {
  1243. Points [0, 80]
  1244. DstBlock "OFDM Receiver"
  1245. DstPort 1
  1246.       }
  1247.       Branch {
  1248. DstBlock "SpectrumnScope"
  1249. DstPort 1
  1250.       }
  1251.     }
  1252.     Line {
  1253.       SrcBlock       "MatrixnInterleaver"
  1254.       SrcPort       1
  1255.       DstBlock       "General BlocknInterleaver"
  1256.       DstPort       1
  1257.     }
  1258.     Annotation {
  1259.       Position       [465, 61]
  1260.       BackgroundColor       "[0.960784, 0.960784, 0.980392, 1.000000]"
  1261.       Text       "HiperLAN/2  - 16QAM mode with 3/4 code rate (4/"
  1262. "6 P2 puncturing rate).   "
  1263.       FontName       "Arial"
  1264.       FontSize       16
  1265.       FontWeight       "bold"
  1266.     }
  1267.     Annotation {
  1268.       Position       [394, 247]
  1269.       HorizontalAlignment     "left"
  1270.       BackgroundColor       "[0.960784, 0.960784, 0.980392, 1.000000]"
  1271.       Text       "Error rate nNum ErrorsnNum Bits  "
  1272.       FontName       "Arial"
  1273.       FontSize       16
  1274.     }
  1275.     Annotation {
  1276.       Position       [105, 478]
  1277.       HorizontalAlignment     "left"
  1278.       BackgroundColor       "[0.960784, 0.960784, 0.980392, 1.000000]"
  1279.       Text       "Note:  the spectrum and constellation plots slo"
  1280. "w down execution due to graphics overhead.   For maximum performance shut the"
  1281. "m off!n        "
  1282.       FontName       "Arial"
  1283.       FontSize       11
  1284.       FontWeight       "bold"
  1285.     }
  1286.   }
  1287. }