oqpnyqmf.mdl
上传用户:loeagle
上传日期:2013-03-02
资源大小:1236k
文件大小:166k
- Model {
- Name "oqpnyqmf"
- Version 5.0
- SaveDefaultBlockParams on
- SampleTimeColors off
- LibraryLinkDisplay "none"
- WideLines off
- ShowLineDimensions off
- ShowPortDataTypes off
- ShowLoopsOnError on
- IgnoreBidirectionalLines off
- ShowStorageClass off
- ExecutionOrder off
- RecordCoverage off
- CovPath "/"
- CovSaveName "covdata"
- CovMetricSettings "dw"
- CovNameIncrementing off
- CovHtmlReporting on
- covSaveCumulativeToWorkspaceVar on
- CovSaveSingleToWorkspaceVar on
- CovCumulativeVarName "covCumulativeData"
- CovCumulativeReport off
- DataTypeOverride "UseLocalSettings"
- MinMaxOverflowLogging "UseLocalSettings"
- MinMaxOverflowArchiveMode "Overwrite"
- BlockNameDataTip off
- BlockParametersDataTip off
- BlockDescriptionStringDataTip off
- ToolBar on
- StatusBar on
- BrowserShowLibraryLinks off
- BrowserLookUnderMasks off
- CloseFcn "closemodcross"
- Created "Wed Jul 25 13:37:57 2001"
- Creator "gerhard"
- UpdateHistory "UpdateHistoryNever"
- ModifiedByFormat "%<Auto>"
- LastModifiedBy "bauch"
- ModifiedDateFormat "%<Auto>"
- LastModifiedDate "Sat Aug 30 14:45:26 2003"
- ModelVersionFormat "1.%<AutoIncrement:26>"
- ConfigurationManager "none"
- SimParamPage "Solver"
- LinearizationMsg "none"
- Profile off
- ParamWorkspaceSource "MATLABWorkspace"
- AccelSystemTargetFile "accel.tlc"
- AccelTemplateMakefile "accel_default_tmf"
- AccelMakeCommand "make_rtw"
- TryForcingSFcnDF off
- ExtModeMexFile "ext_comm"
- ExtModeBatchMode off
- ExtModeTrigType "manual"
- ExtModeTrigMode "normal"
- 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 on
- ExtModeSkipDownloadWhenConnect off
- ExtModeLogAll on
- ExtModeAutoUpdateStatusClock off
- BufferReuse on
- RTWExpressionDepthLimit 5
- SimulationMode "normal"
- Solver "ode45"
- SolverMode "Auto"
- StartTime "0.0"
- StopTime "999999"
- MaxOrder 5
- MaxStep ".010"
- MinStep "0.000001"
- MaxNumMinSteps "-1"
- InitialStep "auto"
- FixedStep "auto"
- RelTol "1e-6"
- AbsTol "1e-6"
- OutputOption "RefineOutputTimes"
- OutputTimes "[]"
- Refine "1"
- LoadExternalInput off
- ExternalInput "[t, u]"
- LoadInitialState off
- InitialState "xInitial"
- SaveTime off
- TimeSaveName "tout"
- SaveState off
- StateSaveName "xout"
- SaveOutput off
- OutputSaveName "yout"
- SaveFinalState off
- FinalStateName "xFinal"
- SaveFormat "Array"
- Decimation "1"
- LimitDataPoints on
- MaxDataPoints "1000"
- SignalLoggingName "sigsOut"
- ConsistencyChecking "none"
- ArrayBoundsChecking "none"
- AlgebraicLoopMsg "warning"
- BlockPriorityViolationMsg "warning"
- MinStepSizeMsg "warning"
- InheritedTsInSrcMsg "warning"
- DiscreteInheritContinuousMsg "warning"
- MultiTaskRateTransMsg "error"
- SingleTaskRateTransMsg "none"
- CheckForMatrixSingularity "none"
- IntegerOverflowMsg "warning"
- Int32ToFloatConvMsg "warning"
- ParameterDowncastMsg "error"
- ParameterOverflowMsg "error"
- ParameterPrecisionLossMsg "warning"
- UnderSpecifiedDataTypeMsg "none"
- UnnecessaryDatatypeConvMsg "none"
- VectorMatrixConversionMsg "none"
- InvalidFcnCallConnMsg "error"
- SignalLabelMismatchMsg "none"
- UnconnectedInputMsg "warning"
- UnconnectedOutputMsg "warning"
- UnconnectedLineMsg "warning"
- SfunCompatibilityCheckMsg "none"
- RTWInlineParameters off
- BlockReductionOpt off
- BooleanDataType off
- ConditionallyExecuteInputs on
- ParameterPooling on
- OptimizeBlockIOStorage on
- ZeroCross on
- AssertionControl "UseLocalSettings"
- ProdHWDeviceType "Microprocessor"
- ProdHWWordLengths "8,16,32,32"
- RTWSystemTargetFile "grt.tlc"
- RTWTemplateMakefile "grt_default_tmf"
- RTWMakeCommand "make_rtw"
- RTWGenerateCodeOnly off
- RTWRetainRTWFile off
- TLCProfiler off
- TLCDebug off
- TLCCoverage off
- TLCAssertion off
- BlockDefaults {
- Orientation "right"
- ForegroundColor "black"
- BackgroundColor "white"
- DropShadow off
- NamePlacement "normal"
- FontName "Helvetica"
- FontSize 10
- FontWeight "normal"
- FontAngle "normal"
- ShowName on
- }
- BlockParameterDefaults {
- Block {
- BlockType Clock
- DisplayTime off
- }
- Block {
- BlockType Constant
- Value "1"
- VectorParams1D on
- ShowAdditionalParam off
- OutDataTypeMode "Inherit from 'Constant value'"
- OutDataType "sfix(16)"
- ConRadixGroup "Use specified scaling"
- OutScaling "2^0"
- }
- Block {
- BlockType Demux
- Outputs "4"
- DisplayOption "none"
- BusSelectionMode off
- }
- Block {
- BlockType DigitalClock
- SampleTime "1"
- }
- Block {
- BlockType DiscreteFilter
- Numerator "[1]"
- Denominator "[1 2]"
- SampleTime "1"
- Realization "auto"
- RTWStateStorageClass "Auto"
- }
- Block {
- BlockType Fcn
- Expr "sin(u[1])"
- }
- Block {
- BlockType Gain
- Gain "1"
- Multiplication "Element-wise(K.*u)"
- ShowAdditionalParam off
- ParameterDataTypeMode "Same as input"
- ParameterDataType "sfix(16)"
- ParameterScalingMode "Best Precision: Matrix-wise"
- ParameterScaling "2^0"
- OutDataTypeMode "Same as input"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- LockScale off
- RndMeth "Floor"
- SaturateOnIntegerOverflow on
- }
- Block {
- BlockType Inport
- Port "1"
- PortDimensions "-1"
- SampleTime "-1"
- ShowAdditionalParam off
- LatchInput off
- DataType "auto"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- SignalType "auto"
- SamplingMode "auto"
- Interpolate on
- }
- Block {
- BlockType Logic
- Operator "AND"
- Inputs "2"
- ShowAdditionalParam off
- AllPortsSameDT on
- OutDataTypeMode "Logical (see Advanced Sim. Parameters)"
- LogicDataType "uint(8)"
- }
- Block {
- BlockType Lookup
- InputValues "[-4:5]"
- OutputValues " rand(1,10)-0.5"
- ShowAdditionalParam off
- LookUpMeth "Interpolation-Extrapolation"
- OutDataTypeMode "Same as input"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- LockScale off
- RndMeth "Floor"
- SaturateOnIntegerOverflow on
- }
- Block {
- BlockType Mux
- Inputs "4"
- DisplayOption "none"
- }
- Block {
- BlockType Outport
- Port "1"
- OutputWhenDisabled "held"
- InitialOutput "[]"
- }
- Block {
- BlockType Product
- Inputs "2"
- Multiplication "Element-wise(.*)"
- ShowAdditionalParam off
- InputSameDT on
- OutDataTypeMode "Same as first input"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- LockScale off
- RndMeth "Floor"
- SaturateOnIntegerOverflow on
- }
- Block {
- BlockType RandomNumber
- Mean "0"
- Variance "1"
- Seed "0"
- SampleTime "-1"
- VectorParams1D on
- }
- Block {
- BlockType RelationalOperator
- Operator ">="
- ShowAdditionalParam off
- InputSameDT on
- LogicOutDataTypeMode "Logical (see Advanced Sim. Parameters)"
- LogicDataType "uint(8)"
- ZeroCross on
- }
- Block {
- BlockType Scope
- Floating off
- ModelBased off
- TickLabels "OneTimeTick"
- ZoomMode "on"
- Grid "on"
- TimeRange "auto"
- YMin "-5"
- YMax "5"
- SaveToWorkspace off
- SaveName "ScopeData"
- LimitDataPoints on
- MaxDataPoints "5000"
- Decimation "1"
- SampleInput off
- SampleTime "0"
- }
- Block {
- BlockType "S-Function"
- FunctionName "system"
- PortCounts "[]"
- SFunctionModules "''"
- }
- Block {
- BlockType StateSpace
- A "1"
- B "1"
- C "1"
- D "1"
- X0 "0"
- AbsoluteTolerance "auto"
- Realization "auto"
- }
- Block {
- BlockType Step
- Time "1"
- Before "0"
- After "1"
- SampleTime "-1"
- VectorParams1D on
- ZeroCross on
- }
- Block {
- BlockType SubSystem
- ShowPortLabels on
- Permissions "ReadWrite"
- RTWSystemCode "Auto"
- RTWFcnNameOpts "Auto"
- RTWFileNameOpts "Auto"
- SimViewingDevice off
- DataTypeOverride "UseLocalSettings"
- MinMaxOverflowLogging "UseLocalSettings"
- }
- Block {
- BlockType Sum
- IconShape "rectangular"
- Inputs "++"
- ShowAdditionalParam off
- InputSameDT on
- OutDataTypeMode "Same as first input"
- OutDataType "sfix(16)"
- OutScaling "2^0"
- LockScale off
- RndMeth "Floor"
- SaturateOnIntegerOverflow on
- }
- Block {
- BlockType Switch
- Criteria "u2 >= Threshold"
- Threshold "0"
- ShowAdditionalParam off
- InputSameDT on
- OutDataTypeMode "Inherit via internal rule"
- RndMeth "Floor"
- SaturateOnIntegerOverflow on
- ZeroCross on
- }
- Block {
- BlockType Terminator
- }
- Block {
- BlockType TransportDelay
- DelayTime "1"
- InitialInput "0"
- BufferSize "1024"
- PadeOrder "0"
- TransDelayFeedthrough off
- }
- Block {
- BlockType UnitDelay
- X0 "0"
- SampleTime "1"
- RTWStateStorageClass "Auto"
- }
- Block {
- BlockType ZeroOrderHold
- SampleTime "1"
- }
- }
- AnnotationDefaults {
- HorizontalAlignment "center"
- VerticalAlignment "middle"
- ForegroundColor "black"
- BackgroundColor "white"
- DropShadow off
- FontName "Helvetica"
- FontSize 10
- FontWeight "normal"
- FontAngle "normal"
- }
- LineDefaults {
- FontName "Helvetica"
- FontSize 9
- FontWeight "normal"
- FontAngle "normal"
- }
- System {
- Name "oqpnyqmf"
- Location [119, 177, 1128, 455]
- Open on
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- ReportName "simulink-default.rpt"
- Block {
- BlockType Reference
- Name "Channel"
- Ports [1, 1]
- Position [465, 83, 545, 127]
- SourceBlock "librnew/Channel"
- SourceType "AWGN channel, fixed parameter"
- m "0"
- variance "0.00010"
- s "12345"
- }
- Block {
- BlockType SubSystem
- Name "Error rate"
- Ports [2]
- Position [465, 215, 545, 255]
- Orientation "down"
- CopyFcn "sbiterr([],[],[],'CopyBlock')"
- DeleteFcn "sbiterr([],[],[],'DeleteBlock')"
- LoadFcn "sbiterr([],[],[],'LoadBlock')"
- StartFcn "sbiterr([],[],[],'Start')"
- StopFcn "sbiterr([],[],[],'Stop')"
- NameChangeFcn "sbiterr([],[],[],'NameChange')"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Symbol/bit error counter"
- MaskDescription "Use the input data from the 1st port as the ref"
- "erence signal to detect the number of errors and error rate of the 2nd signal"
- "."
- MaskHelp "The signal from the first port must be a scalar"
- ". The second input port can be a vector with a delay to the first port signal"
- ". The comparison happens only at the sampling point."
- MaskPromptString "Bit per symbol:|Number of digits on display:|De"
- "lay between 1st port and 2nd port:|Sample time (sec):"
- MaskStyleString "edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on"
- MaskCallbackString "|||"
- MaskEnableString "on,on,on,on"
- MaskVisibilityString "on,on,on,on"
- MaskToolTipString "on,on,on,on"
- MaskVarAliasString ",,,"
- MaskInitialization "K=@1;num_lin=@2;TDelay=@3;Sample=@4;"
- MaskDisplay "disp('Error\nmeter')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "2|10|12.5|1"
- System {
- Name "Error rate"
- Location [255, 368, 509, 510]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [15, 45, 35, 65]
- }
- Block {
- BlockType Inport
- Name "in_2"
- Position [15, 60, 35, 80]
- Port "2"
- }
- Block {
- BlockType Mux
- Name "Mux"
- Ports [2, 1]
- Position [65, 46, 100, 79]
- Inputs "2"
- }
- Block {
- BlockType "S-Function"
- Name "S-function"
- Ports [1]
- Position [130, 52, 195, 78]
- FunctionName "sbiterr"
- Parameters "num_lin, K, TDelay, Sample"
- }
- Line {
- SrcBlock "Mux"
- SrcPort 1
- DstBlock "S-function"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Mux"
- DstPort 1
- }
- Line {
- SrcBlock "in_2"
- SrcPort 1
- DstBlock "Mux"
- DstPort 2
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Receiver"
- Ports [1, 1]
- Position [650, 62, 725, 148]
- ShowPortLabels off
- TreatAsAtomicUnit off
- System {
- Name "Receiver"
- Location [14, 224, 1022, 502]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "noisynOQPSK-nsignal"
- Position [25, 145, 45, 165]
- }
- Block {
- BlockType Clock
- Name "Clock"
- Position [145, 140, 165, 160]
- ShowName off
- Decimation "10"
- }
- Block {
- BlockType Fcn
- Name "Fcn"
- Position [185, 119, 265, 141]
- ShowName off
- Expr "2*cos(4*pi*u)"
- }
- Block {
- BlockType Fcn
- Name "Fcn1"
- Position [185, 159, 265, 181]
- ShowName off
- Expr "-2*sin(4*pi*u)"
- }
- Block {
- BlockType Gain
- Name "Gain1"
- Position [575, 212, 600, 238]
- ShowName off
- Gain "1/20"
- }
- Block {
- BlockType Gain
- Name "Gain2"
- Position [575, 77, 600, 103]
- ShowName off
- Gain "1/20"
- }
- Block {
- BlockType Product
- Name "Product"
- Ports [2, 1]
- Position [300, 74, 330, 101]
- ShowName off
- }
- Block {
- BlockType Product
- Name "Product1"
- Ports [2, 1]
- Position [295, 213, 325, 237]
- ShowName off
- }
- Block {
- BlockType SubSystem
- Name "QPSK demapping"
- Ports [2, 1]
- Position [800, 128, 880, 172]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "QASK C-demap"
- MaskDescription "Reverse the QASK map. Input in-phasenand q"
- "uadrature components from thentwo inputs. Output demapped signal."
- MaskHelp "This block demaps a QASK mapped signal usin"
- "g circle constellation. You can place this block after a QAM demodulation blo"
- "ck. The circle constellation is defined in NIC, RIC, and PIC. The symbol inte"
- "rval can be a two elements vector with the first element being offset. The de"
- "fault offset is zero. Use function MODMAP to view the constellation."
- MaskPromptString "Number of symbols on each circle NIC::|Radi"
- "i for each circle RIC:|Phase shift on each circle PIC (rad):|Symbol interval "
- "and offset (sec):"
- MaskStyleString "edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on"
- MaskCallbackString "|||"
- MaskEnableString "on,on,on,on"
- MaskVisibilityString "on,on,on,on"
- MaskToolTipString "on,on,on,on"
- MaskVarAliasString ",,,"
- MaskInitialization "N=@1;A=@2;P=@3;td=@4;y1=apkconst(N,A,P);y2="
- "imag(y1);y1=real(y1);"
- MaskDisplay "disp('QASK\nC-demap')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[4]|[sqrt(2)]|[pi/4]|[1 0.5]"
- System {
- Name "QPSK demapping"
- Location [96, 182, 645, 417]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "real"
- Position [45, 35, 65, 55]
- }
- Block {
- BlockType Inport
- Name "imag"
- Position [45, 120, 65, 140]
- Port "2"
- }
- Block {
- BlockType "S-Function"
- Name "Minimum1"
- Ports [1, 1]
- Position [415, 85, 475, 105]
- FunctionName "arymimai"
- Parameters "'min'"
- }
- Block {
- BlockType Product
- Name "Product"
- Ports [2, 1]
- Position [300, 45, 325, 65]
- }
- Block {
- BlockType Product
- Name "Product1"
- Ports [2, 1]
- Position [300, 130, 325, 150]
- }
- Block {
- BlockType Sum
- Name "Sum1"
- Ports [2, 1]
- Position [230, 38, 250, 67]
- ForegroundColor "red"
- Inputs "+-"
- }
- Block {
- BlockType Sum
- Name "Sum2"
- Ports [2, 1]
- Position [370, 78, 390, 107]
- }
- Block {
- BlockType Sum
- Name "Sum6"
- Ports [2, 1]
- Position [230, 123, 250, 152]
- ForegroundColor "blue"
- Inputs "+-"
- }
- Block {
- BlockType ZeroOrderHold
- Name "Zero-OrdernHold"
- Position [120, 29, 155, 61]
- ForegroundColor "red"
- SampleTime "td"
- }
- Block {
- BlockType ZeroOrderHold
- Name "Zero-OrdernHold1"
- Position [120, 114, 155, 146]
- ForegroundColor "blue"
- SampleTime "td"
- }
- Block {
- BlockType Constant
- Name "imag_pt"
- Position [165, 169, 190, 191]
- BackgroundColor "yellow"
- Value "y2"
- }
- Block {
- BlockType Constant
- Name "real_pt"
- Position [170, 84, 195, 106]
- BackgroundColor "green"
- Value "y1"
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [495, 85, 515, 105]
- }
- Line {
- SrcBlock "Minimum1"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "Sum2"
- SrcPort 1
- DstBlock "Minimum1"
- DstPort 1
- }
- Line {
- SrcBlock "Product1"
- SrcPort 1
- Points [10, 0; 0, -40]
- DstBlock "Sum2"
- DstPort 2
- }
- Line {
- SrcBlock "Product"
- SrcPort 1
- Points [10, 0; 0, 30]
- DstBlock "Sum2"
- DstPort 1
- }
- Line {
- SrcBlock "Sum6"
- SrcPort 1
- Points [15, 0]
- Branch {
- Points [0, -5]
- DstBlock "Product1"
- DstPort 1
- }
- Branch {
- Points [0, 5]
- DstBlock "Product1"
- DstPort 2
- }
- }
- Line {
- SrcBlock "Sum1"
- SrcPort 1
- Points [15, 0]
- Branch {
- Points [0, -5]
- DstBlock "Product"
- DstPort 1
- }
- Branch {
- Points [0, 5]
- DstBlock "Product"
- DstPort 2
- }
- }
- Line {
- SrcBlock "imag_pt"
- SrcPort 1
- Points [10, 0; 0, -35]
- DstBlock "Sum6"
- DstPort 2
- }
- Line {
- SrcBlock "Zero-OrdernHold1"
- SrcPort 1
- DstBlock "Sum6"
- DstPort 1
- }
- Line {
- SrcBlock "Zero-OrdernHold"
- SrcPort 1
- DstBlock "Sum1"
- DstPort 1
- }
- Line {
- SrcBlock "real_pt"
- SrcPort 1
- Points [5, 0; 0, -35]
- DstBlock "Sum1"
- DstPort 2
- }
- Line {
- SrcBlock "imag"
- SrcPort 1
- DstBlock "Zero-OrdernHold1"
- DstPort 1
- }
- Line {
- SrcBlock "real"
- SrcPort 1
- DstBlock "Zero-OrdernHold"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Raised-Cosinenreceive filter"
- Ports [1, 1]
- Position [475, 68, 555, 112]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "R-C filter"
- MaskDescription "Design a raised cosine filter and use it to"
- " filter the input signal."
- MaskHelp "This block designs a raised cosine filter u"
- "sing the specified parameter. The filter is used to filter the input signal. "
- "You can optionally use the sinc filter in the filtering computation."
- MaskPromptString "Symbol interval (sec):|Computation sampling"
- " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
- "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
- "lter (1 or 0, suggest 1):"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "td=@1;if length(td)>1,off=td(2);td=td(1);el"
- "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
- ",R,delay);x=@6/2;"
- MaskDisplay "disp('R-C\nfilter')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[1 .4999]|.05|.5|6|'FIR'|0"
- System {
- Name "Raised-Cosinenreceive filter"
- Location [131, 545, 589, 761]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 30, 55, 50]
- }
- Block {
- BlockType DiscreteFilter
- Name "Filter"
- Position [255, 31, 310, 69]
- Numerator "num"
- Denominator "den"
- SampleTime "ts"
- }
- Block {
- BlockType SubSystem
- Name "Memory Impulse"
- Ports [2, 1]
- Position [155, 30, 225, 70]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Impulse"
- MaskDescription "1/sinc filter:"
- MaskHelp "When the threshold is greater than zero"
- ", this block outputs an impulse signal, which begins at the raising edge of t"
- "he second input and lasts the holding time. The impulse holds a constant ampl"
- "itude, which equals the amplitude of the first input at the begining of the i"
- "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
- " less or equal to zero, this block faithfully outputs the first input."
- MaskPromptString "Holding time:|Threshold for clock pulse"
- ": "
- MaskStyleString "edit,edit"
- MaskTunableValueString "on,on"
- MaskCallbackString "|"
- MaskEnableString "on,on"
- MaskVisibilityString "on,on"
- MaskToolTipString "on,on"
- MaskVarAliasString ","
- MaskInitialization "ts=@1;thr=@2;x=thr>0;"
- MaskDisplay "disp('1/sinc')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "ts|x"
- System {
- Name "Memory Impulse"
- Location [541, 520, 939, 745]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 185, 55, 205]
- }
- Block {
- BlockType Inport
- Name "in_2"
- Position [25, 30, 45, 50]
- Port "2"
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [210, 155, 230, 175]
- Value "x"
- }
- Block {
- BlockType Product
- Name "Product"
- Ports [2, 1]
- Position [155, 90, 180, 110]
- }
- Block {
- BlockType Switch
- Name "Switch"
- Position [295, 124, 320, 156]
- Threshold ".5"
- }
- Block {
- BlockType ZeroOrderHold
- Name "Zero-OrdernHold"
- Position [205, 84, 240, 116]
- SampleTime "ts"
- }
- Block {
- BlockType SubSystem
- Name "discretenRising edgendetector"
- Ports [1, 1]
- Position [65, 26, 120, 54]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Edge Detection"
- MaskDescription "Rising edge detection:"
- MaskHelp "When the input signal rising edge p"
- "assed the given shreshold, this block outputs one, otherwise outputs zero."
- MaskPromptString "Threshold:|Sampling time:"
- MaskStyleString "edit,edit"
- MaskTunableValueString "on,on"
- MaskCallbackString "|"
- MaskEnableString "on,on"
- MaskVisibilityString "on,on"
- MaskToolTipString "on,on"
- MaskVarAliasString ","
- MaskInitialization "thld=@1;ts=@2;"
- MaskDisplay "disp('Edge\nDetector')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "thr|ts"
- System {
- Name "discretenRising edgendetector"
- Location [419, 521, 808, 713]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [10, 15, 30, 35]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator"
- Position [135, 18, 165, 42]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator1"
- Position [200, 88, 230, 112]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator2"
- Position [265, 23, 295, 47]
- Operator ">"
- }
- Block {
- BlockType UnitDelay
- Name "Unit Delay"
- Position [120, 87, 170, 103]
- SampleTime "ts"
- }
- Block {
- BlockType Constant
- Name "one1"
- Position [30, 135, 60, 155]
- Value "thld"
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [340, 25, 360, 45]
- }
- Line {
- SrcBlock "RelationalnOperator2"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "RelationalnOperator1"
- SrcPort 1
- Points [5, 0; 0, -60]
- DstBlock "RelationalnOperator2"
- DstPort 2
- }
- Line {
- SrcBlock "RelationalnOperator"
- SrcPort 1
- DstBlock "RelationalnOperator2"
- DstPort 1
- }
- Line {
- SrcBlock "one1"
- SrcPort 1
- Points [35, 0]
- Branch {
- Points [0, -110]
- DstBlock "RelationalnOperator"
- DstPort 2
- }
- Branch {
- Points [80, 0; 0, -40]
- DstBlock "RelationalnOperator1"
- DstPort 2
- }
- }
- Line {
- SrcBlock "Unit Delay"
- SrcPort 1
- DstBlock "RelationalnOperator1"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [10, 0]
- Branch {
- DstBlock "RelationalnOperator"
- DstPort 1
- }
- Branch {
- Points [0, 70]
- DstBlock "Unit Delay"
- DstPort 1
- }
- }
- }
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [355, 130, 375, 150]
- }
- Line {
- SrcBlock "Zero-OrdernHold"
- SrcPort 1
- Points [15, 0; 0, 30]
- DstBlock "Switch"
- DstPort 1
- }
- Line {
- SrcBlock "Product"
- SrcPort 1
- DstBlock "Zero-OrdernHold"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [35, 0]
- Branch {
- Points [185, 0]
- DstBlock "Switch"
- DstPort 3
- }
- Branch {
- Points [0, -90]
- DstBlock "Product"
- DstPort 2
- }
- }
- Line {
- SrcBlock "Switch"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- Points [15, 0; 0, -25]
- DstBlock "Switch"
- DstPort 2
- }
- Line {
- SrcBlock "discretenRising edgendetector"
- SrcPort 1
- Points [5, 0; 0, 55]
- DstBlock "Product"
- DstPort 1
- }
- Line {
- SrcBlock "in_2"
- SrcPort 1
- DstBlock "discretenRising edgendetector"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Pulses deividensame sample time1"
- Ports [0, 1]
- Position [35, 71, 95, 109]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Pulse generator"
- MaskDescription "Vector pulses with sample rate of each "
- "pulse as Sample_time ./Divider. "
- MaskHelp "This block generator a vector pulses. T"
- "he output length is the same as the vector defined in "Divider". The ith el"
- "ement of the output has the sample time Sample_time/Divider(i). All elements "
- "in "Divider" must be integers."
- MaskPromptString "Sample time (scalar, sec):|Divider (int"
- "eger vector):|Offset (have same dimension as Divider:"
- MaskStyleString "edit,edit,edit"
- MaskTunableValueString "on,on,on"
- MaskCallbackString "||"
- MaskEnableString "on,on,on"
- MaskVisibilityString "on,on,on"
- MaskToolTipString "on,on,on"
- MaskVarAliasString ",,"
- MaskInitialization "samp_time=@1;out_divid=@2;offset=@3;"
- MaskDisplay "disp('Vector\nPulse')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "td|1|off"
- System {
- Name "Pulses deividensame sample time1"
- Location [55, 192, 283, 286]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType "S-Function"
- Name "S-function1"
- Ports [0, 1]
- Position [40, 31, 105, 59]
- FunctionName "homopuls"
- Parameters "samp_time, out_divid, offset"
- }
- Block {
- BlockType Outport
- Name "Outport"
- Position [160, 35, 180, 55]
- }
- Line {
- SrcBlock "S-function1"
- SrcPort 1
- DstBlock "Outport"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [330, 40, 350, 60]
- }
- Line {
- SrcBlock "Pulses deividensame sample time1"
- SrcPort 1
- Points [15, 0; 0, -30]
- DstBlock "Memory Impulse"
- DstPort 2
- }
- Line {
- SrcBlock "Memory Impulse"
- SrcPort 1
- DstBlock "Filter"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Memory Impulse"
- DstPort 1
- }
- Line {
- SrcBlock "Filter"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Raised-Cosinenreceive filter_"
- Ports [1, 1]
- Position [475, 203, 555, 247]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "R-C filter"
- MaskDescription "Design a raised cosine filter and use it to"
- " filter the input signal."
- MaskHelp "This block designs a raised cosine filter u"
- "sing the specified parameter. The filter is used to filter the input signal. "
- "You can optionally use the sinc filter in the filtering computation."
- MaskPromptString "Symbol interval (sec):|Computation sampling"
- " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
- "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
- "lter (1 or 0, suggest 1):"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "td=@1;if length(td)>1,off=td(2);td=td(1);el"
- "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
- ",R,delay);x=@6/2;"
- MaskDisplay "disp('R-C\nfilter')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "1|.05|.5|6|'FIR'|0"
- System {
- Name "Raised-Cosinenreceive filter_"
- Location [131, 545, 589, 761]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 30, 55, 50]
- }
- Block {
- BlockType DiscreteFilter
- Name "Filter"
- Position [255, 31, 310, 69]
- Numerator "num"
- Denominator "den"
- SampleTime "ts"
- }
- Block {
- BlockType SubSystem
- Name "Memory Impulse"
- Ports [2, 1]
- Position [155, 30, 225, 70]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Impulse"
- MaskDescription "1/sinc filter:"
- MaskHelp "When the threshold is greater than zero"
- ", this block outputs an impulse signal, which begins at the raising edge of t"
- "he second input and lasts the holding time. The impulse holds a constant ampl"
- "itude, which equals the amplitude of the first input at the begining of the i"
- "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
- " less or equal to zero, this block faithfully outputs the first input."
- MaskPromptString "Holding time:|Threshold for clock pulse"
- ": "
- MaskStyleString "edit,edit"
- MaskTunableValueString "on,on"
- MaskCallbackString "|"
- MaskEnableString "on,on"
- MaskVisibilityString "on,on"
- MaskToolTipString "on,on"
- MaskVarAliasString ","
- MaskInitialization "ts=@1;thr=@2;x=thr>0;"
- MaskDisplay "disp('1/sinc')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "ts|x"
- System {
- Name "Memory Impulse"
- Location [541, 520, 939, 745]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 185, 55, 205]
- }
- Block {
- BlockType Inport
- Name "in_2"
- Position [25, 30, 45, 50]
- Port "2"
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [210, 155, 230, 175]
- Value "x"
- }
- Block {
- BlockType Product
- Name "Product"
- Ports [2, 1]
- Position [155, 90, 180, 110]
- }
- Block {
- BlockType Switch
- Name "Switch"
- Position [295, 124, 320, 156]
- Threshold ".5"
- }
- Block {
- BlockType ZeroOrderHold
- Name "Zero-OrdernHold"
- Position [205, 84, 240, 116]
- SampleTime "ts"
- }
- Block {
- BlockType SubSystem
- Name "discretenRising edgendetector"
- Ports [1, 1]
- Position [65, 26, 120, 54]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Edge Detection"
- MaskDescription "Rising edge detection:"
- MaskHelp "When the input signal rising edge p"
- "assed the given shreshold, this block outputs one, otherwise outputs zero."
- MaskPromptString "Threshold:|Sampling time:"
- MaskStyleString "edit,edit"
- MaskTunableValueString "on,on"
- MaskCallbackString "|"
- MaskEnableString "on,on"
- MaskVisibilityString "on,on"
- MaskToolTipString "on,on"
- MaskVarAliasString ","
- MaskInitialization "thld=@1;ts=@2;"
- MaskDisplay "disp('Edge\nDetector')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "thr|ts"
- System {
- Name "discretenRising edgendetector"
- Location [419, 521, 808, 713]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [10, 15, 30, 35]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator"
- Position [135, 18, 165, 42]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator1"
- Position [200, 88, 230, 112]
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator2"
- Position [265, 23, 295, 47]
- Operator ">"
- }
- Block {
- BlockType UnitDelay
- Name "Unit Delay"
- Position [120, 87, 170, 103]
- SampleTime "ts"
- }
- Block {
- BlockType Constant
- Name "one1"
- Position [30, 135, 60, 155]
- Value "thld"
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [340, 25, 360, 45]
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [10, 0]
- Branch {
- DstBlock "RelationalnOperator"
- DstPort 1
- }
- Branch {
- Points [0, 70]
- DstBlock "Unit Delay"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Unit Delay"
- SrcPort 1
- DstBlock "RelationalnOperator1"
- DstPort 1
- }
- Line {
- SrcBlock "one1"
- SrcPort 1
- Points [35, 0]
- Branch {
- Points [0, -110]
- DstBlock "RelationalnOperator"
- DstPort 2
- }
- Branch {
- Points [80, 0; 0, -40]
- DstBlock "RelationalnOperator1"
- DstPort 2
- }
- }
- Line {
- SrcBlock "RelationalnOperator"
- SrcPort 1
- DstBlock "RelationalnOperator2"
- DstPort 1
- }
- Line {
- SrcBlock "RelationalnOperator1"
- SrcPort 1
- Points [5, 0; 0, -60]
- DstBlock "RelationalnOperator2"
- DstPort 2
- }
- Line {
- SrcBlock "RelationalnOperator2"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [355, 130, 375, 150]
- }
- Line {
- SrcBlock "in_2"
- SrcPort 1
- DstBlock "discretenRising edgendetector"
- DstPort 1
- }
- Line {
- SrcBlock "discretenRising edgendetector"
- SrcPort 1
- Points [5, 0; 0, 55]
- DstBlock "Product"
- DstPort 1
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- Points [15, 0; 0, -25]
- DstBlock "Switch"
- DstPort 2
- }
- Line {
- SrcBlock "Switch"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [35, 0]
- Branch {
- Points [185, 0]
- DstBlock "Switch"
- DstPort 3
- }
- Branch {
- Points [0, -90]
- DstBlock "Product"
- DstPort 2
- }
- }
- Line {
- SrcBlock "Product"
- SrcPort 1
- DstBlock "Zero-OrdernHold"
- DstPort 1
- }
- Line {
- SrcBlock "Zero-OrdernHold"
- SrcPort 1
- Points [15, 0; 0, 30]
- DstBlock "Switch"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Pulses deividensame sample time1"
- Ports [0, 1]
- Position [35, 71, 95, 109]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Pulse generator"
- MaskDescription "Vector pulses with sample rate of each "
- "pulse as Sample_time ./Divider. "
- MaskHelp "This block generator a vector pulses. T"
- "he output length is the same as the vector defined in "Divider". The ith el"
- "ement of the output has the sample time Sample_time/Divider(i). All elements "
- "in "Divider" must be integers."
- MaskPromptString "Sample time (scalar, sec):|Divider (int"
- "eger vector):|Offset (have same dimension as Divider:"
- MaskStyleString "edit,edit,edit"
- MaskTunableValueString "on,on,on"
- MaskCallbackString "||"
- MaskEnableString "on,on,on"
- MaskVisibilityString "on,on,on"
- MaskToolTipString "on,on,on"
- MaskVarAliasString ",,"
- MaskInitialization "samp_time=@1;out_divid=@2;offset=@3;"
- MaskDisplay "disp('Vector\nPulse')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "td|1|off"
- System {
- Name "Pulses deividensame sample time1"
- Location [55, 192, 283, 286]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType "S-Function"
- Name "S-function1"
- Ports [0, 1]
- Position [40, 31, 105, 59]
- FunctionName "homopuls"
- Parameters "samp_time, out_divid, offset"
- }
- Block {
- BlockType Outport
- Name "Outport"
- Position [160, 35, 180, 55]
- }
- Line {
- SrcBlock "S-function1"
- SrcPort 1
- DstBlock "Outport"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [330, 40, 350, 60]
- }
- Line {
- SrcBlock "Filter"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Memory Impulse"
- DstPort 1
- }
- Line {
- SrcBlock "Memory Impulse"
- SrcPort 1
- DstBlock "Filter"
- DstPort 1
- }
- Line {
- SrcBlock "Pulses deividensame sample time1"
- SrcPort 1
- Points [15, 0; 0, -30]
- DstBlock "Memory Impulse"
- DstPort 2
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Rolloff"
- Ports []
- Position [475, 34, 593, 61]
- BackgroundColor "lightBlue"
- ShowName off
- OpenFcn "setrloff"
- FontSize 12
- FontAngle "italic"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "rolloff"
- MaskDisplay "disp('Rolloff-Factor')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "Rolloff"
- Location [136, 230, 381, 439]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "cyan"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "A4"
- PaperUnits "centimeters"
- ZoomFactor "100"
- }
- }
- Block {
- BlockType TransportDelay
- Name "TransportnDelay"
- Position [365, 75, 405, 105]
- DelayTime ".4999"
- BufferSize "200"
- }
- Block {
- BlockType SubSystem
- Name "close receiver"
- Ports []
- Position [805, 15, 940, 41]
- BackgroundColor "lightBlue"
- ShowName off
- OpenFcn "closerec"
- FontSize 12
- FontAngle "italic"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "close"
- MaskDisplay "disp('close receiver')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "close receiver"
- Location [136, 230, 381, 439]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "cyan"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- }
- }
- Block {
- BlockType SubSystem
- Name "noise variance"
- Ports []
- Position [24, 245, 130, 269]
- BackgroundColor "lightBlue"
- ShowName off
- OpenFcn "setnoise"
- FontSize 12
- FontAngle "italic"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "noise"
- MaskDisplay "disp('Noise variance')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "noise variance"
- Location [136, 230, 381, 439]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "cyan"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- }
- }
- Block {
- BlockType Scope
- Name "r(t)"
- Ports [1]
- Position [60, 70, 90, 100]
- Orientation "up"
- Location [320, 340, 960, 440]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType SubSystem
- Name "receiver diagrams"
- Ports [2]
- Position [725, 15, 780, 55]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "2D-Diagrams"
- MaskDescription "Eye pattern, signal space trajectory and sc"
- "atter plot"
- MaskPromptString "Plot start time:|Samples per time slot (2*T"
- "):|Decision offset:"
- MaskStyleString "edit,edit,edit"
- MaskTunableValueString "on,on,on"
- MaskCallbackString "||"
- MaskEnableString "on,on,on"
- MaskVisibilityString "on,on,on"
- MaskToolTipString "on,on,on"
- MaskVarAliasString ",,"
- MaskVariables "starttime=@1;anzahl=@2;offset=@3;"
- MaskInitialization " [x, y] = srcsicon(10);"
- MaskDisplay "plot(0,0,100,100,x,y)"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "12.5001|40|0"
- System {
- Name "receiver diagrams"
- Location [509, 327, 921, 620]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "Inphase"
- Position [30, 25, 50, 45]
- }
- Block {
- BlockType Inport
- Name "Quadratur"
- Position [30, 80, 50, 100]
- Port "2"
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [90, 125, 110, 145]
- Orientation "up"
- ShowName off
- Value "Inf"
- }
- Block {
- BlockType Constant
- Name "Constant0"
- Position [190, 125, 210, 145]
- Orientation "up"
- ShowName off
- Value "0"
- }
- Block {
- BlockType SubSystem
- Name "Inphase eye patternnreceiver"
- Ports [1]
- Position [305, 12, 360, 48]
- CopyFcn "eyesampl([],[],[],'CopyBlock')"
- DeleteFcn "eyesampl([],[],[],'DeleteBlock')"
- LoadFcn "eyesampl([],[],[],'LoadBlock')"
- StartFcn "eyesampl([],[],[],'Start')"
- StopFcn "eyesampl([],[],[],'Stop')"
- NameChangeFcn "eyesampl([],[],[],'NameChange')"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Eye-diagram/scatter plot"
- MaskDescription "Produce eye-pattern diagram and/or scat"
- "ter plot."
- MaskHelp "This plot opens one, or two plots by as"
- "signing the line type parameters. The scatter plot point is selected by the d"
- "ecision point in the first parameter entry. A decision line is drawn in the e"
- "ye-pattern diagram. The plot is updated at the plot update sample time point."
- MaskPromptString "[Symbol interval, plot offset, decision"
- " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
- "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
- "pe for scatter plot (0 for no plot):|Plot update sample time:"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "time_range=@1;boundary=@2;kept_length=@"
- "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
- MaskDisplay "plot(0,0,100,100,x,y);"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
- "/anzahl"
- System {
- Name "Inphase eye patternnreceiver"
- Location [121, 409, 416, 595]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [75, 80, 95, 100]
- }
- Block {
- BlockType "S-Function"
- Name "Plot1"
- Ports [1]
- Position [130, 70, 200, 110]
- FunctionName "eyesampl"
- Parameters "time_range, boundary, kept_length, "
- "eye_line, scatter_line, two_d_line"
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Plot1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Mux
- Name "Mux"
- Ports [2, 1]
- Position [230, 21, 265, 54]
- Inputs "2"
- }
- Block {
- BlockType Mux
- Name "Mux1"
- Ports [2, 1]
- Position [230, 76, 265, 109]
- Inputs "2"
- }
- Block {
- BlockType Mux
- Name "Mux2"
- Ports [2, 1]
- Position [230, 146, 265, 179]
- Inputs "2"
- }
- Block {
- BlockType Mux
- Name "Mux3"
- Ports [2, 1]
- Position [230, 211, 265, 244]
- Inputs "2"
- }
- Block {
- BlockType SubSystem
- Name "Quadrature eye patternnreceiver"
- Ports [1]
- Position [305, 77, 360, 113]
- CopyFcn "eyesampl([],[],[],'CopyBlock')"
- DeleteFcn "eyesampl([],[],[],'DeleteBlock')"
- LoadFcn "eyesampl([],[],[],'LoadBlock')"
- StartFcn "eyesampl([],[],[],'Start')"
- StopFcn "eyesampl([],[],[],'Stop')"
- NameChangeFcn "eyesampl([],[],[],'NameChange')"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Eye-diagram/scatter plot"
- MaskDescription "Produce eye-pattern diagram and/or scat"
- "ter plot."
- MaskHelp "This plot opens one, or two plots by as"
- "signing the line type parameters. The scatter plot point is selected by the d"
- "ecision point in the first parameter entry. A decision line is drawn in the e"
- "ye-pattern diagram. The plot is updated at the plot update sample time point."
- MaskPromptString "[Symbol interval, plot offset, decision"
- " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
- "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
- "pe for scatter plot (0 for no plot):|Plot update sample time:"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "time_range=@1;boundary=@2;kept_length=@"
- "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
- MaskDisplay "plot(0,0,100,100,x,y);"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[2 0 1+offset]|[-1.5 1.5]|0|'w-/r-'|0|2"
- "/anzahl"
- System {
- Name "Quadrature eye patternnreceiver"
- Location [121, 409, 416, 595]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [75, 80, 95, 100]
- }
- Block {
- BlockType "S-Function"
- Name "Plot1"
- Ports [1]
- Position [130, 70, 200, 110]
- FunctionName "eyesampl"
- Parameters "time_range, boundary, kept_length, "
- "eye_line, scatter_line, two_d_line"
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Plot1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Scatter plotnreceiver"
- Ports [1]
- Position [305, 213, 360, 247]
- CopyFcn "eyesampl([],[],[],'CopyBlock')"
- DeleteFcn "eyesampl([],[],[],'DeleteBlock')"
- LoadFcn "eyesampl([],[],[],'LoadBlock')"
- StartFcn "eyesampl([],[],[],'Start')"
- StopFcn "eyesampl([],[],[],'Stop')"
- NameChangeFcn "eyesampl([],[],[],'NameChange')"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Eye-diagram/scatter plot"
- MaskDescription "Produce eye-pattern diagram and/or scat"
- "ter plot."
- MaskHelp "This plot opens one, or two plots by as"
- "signing the line type parameters. The scatter plot point is selected by the d"
- "ecision point in the first parameter entry. A decision line is drawn in the e"
- "ye-pattern diagram. The plot is updated at the plot update sample time point."
- MaskPromptString "[Symbol interval, plot offset, decision"
- " point offset]:|Lower and upper bound of in-coming signal (1x2 vector):|Numbe"
- "r of saved traces:|Line-type for eye-pattern diagram (0 for no plot):|Line-ty"
- "pe for scatter plot (0 for no plot):|Plot update sample time:"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "time_range=@1;boundary=@2;kept_length=@"
- "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);"
- MaskDisplay "plot(0,0,100,100,x,y);"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[1 .0 .5]|[-1.5 1.5]|0|0|'b.'|[.5 offse"
- "t]"
- System {
- Name "Scatter plotnreceiver"
- Location [165, 242, 460, 428]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [75, 80, 95, 100]
- }
- Block {
- BlockType "S-Function"
- Name "Plot1"
- Ports [1]
- Position [130, 70, 200, 110]
- FunctionName "eyesampl"
- Parameters "time_range, boundary, kept_length, "
- "eye_line, scatter_line, two_d_line"
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- DstBlock "Plot1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Step
- Name "Step input"
- Position [30, 125, 50, 145]
- Time "starttime"
- SampleTime "1"
- }
- Block {
- BlockType Switch
- Name "Switch"
- Position [130, 29, 155, 61]
- Threshold "1"
- }
- Block {
- BlockType Switch
- Name "Switch1"
- Position [130, 84, 155, 116]
- Threshold "1"
- }
- Block {
- BlockType SubSystem
- Name "Trajectory nreceiver"
- Ports [1]
- Position [305, 157, 360, 193]
- CopyFcn "eyediasi([],[],[],'CopyBlock')"
- DeleteFcn "eyediasi([],[],[],'DeleteBlock')"
- LoadFcn "eyediasi([],[],[],'LoadBlock')"
- StartFcn "eyediasi([],[],[],'Start')"
- StopFcn "eyediasi([],[],[],'Stop')"
- NameChangeFcn "eyediasi([],[],[],'NameChange')"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Eye-diagram/scatter plot"
- MaskDescription "Produce eye-pattern diagram/scatternpl"
- "ot/x-y plot with the rising edge of the second input as the decision line."
- MaskHelp "This plot opens one, two, or three plot"
- "s by assigning the line type parameters. The scatter plot point is selected b"
- "y the rising edge of a trigger signal. A decision line is drawn at the rising"
- " edge of the trigger signal."
- MaskPromptString "Eye-pattern plot time frame:|Lower and "
- "upper bound of in-coming signal (1x2 vector):|Number of saved traces:|Line-ty"
- "pe for eye-pattern diagram (0 for no plot):|Line-type for scatter plot (0 for"
- " no plot):|Line-type for x-y plot (0 for no plot):"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "time_range=@1;boundary=@2;kept_length=@"
- "3;eye_line=@4;scatter_line=@5;two_d_line=@6;[x,y]=srcsicon(10);[v,w]=trigicon"
- "(0,25,get_param(gcb,'orientation'),2);"
- MaskDisplay "plot(0,0,100,100,x,y,v,w);"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "[2 0 1]|[-1.5 1.5]|0|0|0|'g-'"
- System {
- Name "Trajectory nreceiver"
- Location [165, 242, 460, 428]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [15, 55, 35, 75]
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [15, 110, 45, 140]
- Value "0"
- }
- Block {
- BlockType Mux
- Name "Mux"
- Ports [2, 1]
- Position [65, 70, 100, 105]
- Inputs "2"
- }
- Block {
- BlockType "S-Function"
- Name "Plot1"
- Ports [1]
- Position [130, 70, 200, 110]
- FunctionName "eyediasi"
- Parameters "time_range, boundary, kept_length, "
- "eye_line, scatter_line, two_d_line"
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [5, 0; 0, 15]
- DstBlock "Mux"
- DstPort 1
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- DstBlock "Mux"
- DstPort 2
- }
- Line {
- SrcBlock "Mux"
- SrcPort 1
- DstBlock "Plot1"
- DstPort 1
- }
- }
- }
- Line {
- SrcBlock "Switch"
- SrcPort 1
- Points [10, 0]
- Branch {
- DstBlock "Mux"
- DstPort 2
- }
- Branch {
- Points [0, 110]
- Branch {
- Points [0, 65]
- DstBlock "Mux3"
- DstPort 1
- }
- Branch {
- DstBlock "Mux2"
- DstPort 1
- }
- }
- }
- Line {
- SrcBlock "Switch1"
- SrcPort 1
- Points [20, 0]
- Branch {
- DstBlock "Mux1"
- DstPort 2
- }
- Branch {
- Points [0, 70]
- Branch {
- Points [0, 65]
- DstBlock "Mux3"
- DstPort 2
- }
- Branch {
- DstBlock "Mux2"
- DstPort 2
- }
- }
- }
- Line {
- SrcBlock "Constant0"
- SrcPort 1
- Points [0, -35]
- Branch {
- DstBlock "Mux1"
- DstPort 1
- }
- Branch {
- Points [0, -55]
- DstBlock "Mux"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Quadratur"
- SrcPort 1
- DstBlock "Switch1"
- DstPort 1
- }
- Line {
- SrcBlock "Inphase"
- SrcPort 1
- DstBlock "Switch"
- DstPort 1
- }
- Line {
- SrcBlock "Step input"
- SrcPort 1
- Points [20, 0; 0, -35]
- Branch {
- Points [0, -55]
- DstBlock "Switch"
- DstPort 2
- }
- Branch {
- DstBlock "Switch1"
- DstPort 2
- }
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- Points [0, -10]
- Branch {
- Points [0, -55]
- DstBlock "Switch"
- DstPort 3
- }
- Branch {
- DstBlock "Switch1"
- DstPort 3
- }
- }
- Line {
- SrcBlock "Mux1"
- SrcPort 1
- DstBlock "Quadrature eye patternnreceiver"
- DstPort 1
- }
- Line {
- SrcBlock "Mux"
- SrcPort 1
- Points [20, 0]
- DstBlock "Inphase eye patternnreceiver"
- DstPort 1
- }
- Line {
- SrcBlock "Mux3"
- SrcPort 1
- DstBlock "Scatter plotnreceiver"
- DstPort 1
- }
- Line {
- SrcBlock "Mux2"
- SrcPort 1
- Points [20, 0]
- DstBlock "Trajectory nreceiver"
- DstPort 1
- }
- }
- }
- Block {
- BlockType Scope
- Name "s_rc(t)"
- Ports [1]
- Position [615, 20, 645, 50]
- Orientation "up"
- NamePlacement "alternate"
- Location [0, 540, 640, 640]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType Scope
- Name "s_rs(t)"
- Ports [1]
- Position [615, 155, 645, 185]
- Orientation "up"
- NamePlacement "alternate"
- Location [640, 540, 1280, 640]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType SubSystem
- Name "thresholdndetector"
- Ports [1, 1]
- Position [725, 77, 755, 103]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Sign"
- MaskDescription "y = sign(x)"
- MaskHelp "Sign Function:\n\t\t\ty = 1 if x > 0\n"
- "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
- MaskDisplay "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
- "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "thresholdndetector"
- Location [159, 417, 467, 586]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 30, 55, 50]
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [65, 105, 85, 125]
- Value "0"
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator"
- Position [140, 32, 170, 63]
- Operator ">"
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator1"
- Position [140, 92, 170, 123]
- Operator "<"
- }
- Block {
- BlockType Sum
- Name "Sum"
- Ports [2, 1]
- Position [215, 64, 235, 91]
- Inputs "+-"
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [265, 70, 285, 90]
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [35, 0]
- Branch {
- DstBlock "RelationalnOperator"
- DstPort 1
- }
- Branch {
- Points [0, 60]
- DstBlock "RelationalnOperator1"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- Points [20, 0]
- Branch {
- DstBlock "RelationalnOperator1"
- DstPort 2
- }
- Branch {
- Points [0, -60]
- DstBlock "RelationalnOperator"
- DstPort 2
- }
- }
- Line {
- SrcBlock "RelationalnOperator1"
- SrcPort 1
- Points [10, 0; 0, -25]
- DstBlock "Sum"
- DstPort 2
- }
- Line {
- SrcBlock "RelationalnOperator"
- SrcPort 1
- Points [10, 0; 0, 20]
- DstBlock "Sum"
- DstPort 1
- }
- Line {
- SrcBlock "Sum"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "thresholdndetector_"
- Ports [1, 1]
- Position [725, 212, 755, 238]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Sign"
- MaskDescription "y = sign(x)"
- MaskHelp "Sign Function:\n\t\t\ty = 1 if x > 0\n"
- "\t\t\ty = 0 if x = 0\n\t\t\ty = -1 if x < 0"
- MaskDisplay "plot(-50,-50,50,50,[-50,50],[0,0],[0,0],[-5"
- "0,50],[-40,0],[-30,-30],[0,40],[30,30])"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "thresholdndetector_"
- Location [159, 417, 467, 586]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 30, 55, 50]
- }
- Block {
- BlockType Constant
- Name "Constant"
- Position [65, 105, 85, 125]
- Value "0"
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator"
- Position [140, 32, 170, 63]
- Operator ">"
- }
- Block {
- BlockType RelationalOperator
- Name "RelationalnOperator1"
- Position [140, 92, 170, 123]
- Operator "<"
- }
- Block {
- BlockType Sum
- Name "Sum"
- Ports [2, 1]
- Position [215, 64, 235, 91]
- Inputs "+-"
- }
- Block {
- BlockType Outport
- Name "out_1"
- Position [265, 70, 285, 90]
- }
- Line {
- SrcBlock "Sum"
- SrcPort 1
- DstBlock "out_1"
- DstPort 1
- }
- Line {
- SrcBlock "RelationalnOperator"
- SrcPort 1
- Points [10, 0; 0, 20]
- DstBlock "Sum"
- DstPort 1
- }
- Line {
- SrcBlock "RelationalnOperator1"
- SrcPort 1
- Points [10, 0; 0, -25]
- DstBlock "Sum"
- DstPort 2
- }
- Line {
- SrcBlock "Constant"
- SrcPort 1
- Points [20, 0]
- Branch {
- DstBlock "RelationalnOperator1"
- DstPort 2
- }
- Branch {
- Points [0, -60]
- DstBlock "RelationalnOperator"
- DstPort 2
- }
- }
- Line {
- SrcBlock "in_1"
- SrcPort 1
- Points [35, 0]
- Branch {
- DstBlock "RelationalnOperator"
- DstPort 1
- }
- Branch {
- Points [0, 60]
- DstBlock "RelationalnOperator1"
- DstPort 1
- }
- }
- }
- }
- Block {
- BlockType Scope
- Name "v(t)"
- Ports [1]
- Position [895, 70, 925, 100]
- Orientation "up"
- Location [320, 740, 960, 840]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-3.000000"
- YMax "3.000000"
- DataFormat "Array"
- }
- Block {
- BlockType Scope
- Name "v_c(t)"
- Ports [1]
- Position [820, 75, 850, 105]
- Location [0, 640, 640, 740]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType Scope
- Name "v_s(t)"
- Ports [1]
- Position [820, 220, 850, 250]
- Location [640, 640, 1280, 740]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType Scope
- Name "x_c(t)"
- Ports [1]
- Position [415, 20, 445, 50]
- Orientation "up"
- Location [0, 440, 640, 540]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType Scope
- Name "x_s(t)"
- Ports [1]
- Position [415, 155, 445, 185]
- Orientation "up"
- Location [640, 440, 1280, 540]
- Open off
- NumInputPorts "1"
- List {
- ListType AxesTitles
- axes1 "%<SignalLabel>"
- }
- TimeRange "25.000000"
- YMin "-1.500000"
- YMax "1.500000"
- DataFormat "Array"
- }
- Block {
- BlockType Outport
- Name "detected nbits"
- Position [950, 140, 970, 160]
- }
- Line {
- SrcBlock "Clock"
- SrcPort 1
- Points [0, 0]
- Branch {
- DstBlock "Fcn"
- DstPort 1
- }
- Branch {
- DstBlock "Fcn1"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Product1"
- SrcPort 1
- Points [100, 0]
- Branch {
- DstBlock "Raised-Cosinenreceive filter_"
- DstPort 1
- }
- Branch {
- DstBlock "x_s(t)"
- DstPort 1
- }
- }
- Line {
- SrcBlock "noisynOQPSK-nsignal"
- SrcPort 1
- Points [25, 0]
- Branch {
- DstBlock "r(t)"
- DstPort 1
- }
- Branch {
- Points [45, 0]
- Branch {
- Points [0, -75]
- DstBlock "Product"
- DstPort 1
- }
- Branch {
- Points [0, 75]
- DstBlock "Product1"
- DstPort 2
- }
- }
- }
- Line {
- SrcBlock "Fcn1"
- SrcPort 1
- Points [10, 0]
- DstBlock "Product1"
- DstPort 1
- }
- Line {
- SrcBlock "Fcn"
- SrcPort 1
- Points [10, 0; 0, -35]
- DstBlock "Product"
- DstPort 2
- }
- Line {
- SrcBlock "Raised-Cosinenreceive filter"
- SrcPort 1
- DstBlock "Gain2"
- DstPort 1
- }
- Line {
- SrcBlock "Raised-Cosinenreceive filter_"
- SrcPort 1
- DstBlock "Gain1"
- DstPort 1
- }
- Line {
- SrcBlock "QPSK demapping"
- SrcPort 1
- Points [25, 0]
- Branch {
- DstBlock "detected nbits"
- DstPort 1
- }
- Branch {
- DstBlock "v(t)"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Gain1"
- SrcPort 1
- Points [0, 0]
- Branch {
- Points [25, 0]
- DstBlock "s_rs(t)"
- DstPort 1
- }
- Branch {
- Points [90, 0]
- Branch {
- Points [0, -180]
- DstBlock "receiver diagrams"
- DstPort 2
- }
- Branch {
- DstBlock "thresholdndetector_"
- DstPort 1
- }
- }
- }
- Line {
- SrcBlock "Product"
- SrcPort 1
- DstBlock "TransportnDelay"
- DstPort 1
- }
- Line {
- SrcBlock "TransportnDelay"
- SrcPort 1
- Points [20, 0]
- Branch {
- DstBlock "Raised-Cosinenreceive filter"
- DstPort 1
- }
- Branch {
- DstBlock "x_c(t)"
- DstPort 1
- }
- }
- Line {
- SrcBlock "Gain2"
- SrcPort 1
- Points [0, 0]
- Branch {
- Points [25, 0]
- DstBlock "s_rc(t)"
- DstPort 1
- }
- Branch {
- Points [65, 0]
- Branch {
- Points [0, -65]
- DstBlock "receiver diagrams"
- DstPort 1
- }
- Branch {
- DstBlock "thresholdndetector"
- DstPort 1
- }
- }
- }
- Line {
- SrcBlock "thresholdndetector"
- SrcPort 1
- Points [20, 0]
- Branch {
- Points [0, 50]
- DstBlock "QPSK demapping"
- DstPort 1
- }
- Branch {
- DstBlock "v_c(t)"
- DstPort 1
- }
- }
- Line {
- SrcBlock "thresholdndetector_"
- SrcPort 1
- Points [20, 0]
- Branch {
- Points [0, -65]
- DstBlock "QPSK demapping"
- DstPort 2
- }
- Branch {
- Points [0, 10]
- DstBlock "v_s(t)"
- DstPort 1
- }
- }
- }
- }
- Block {
- BlockType SubSystem
- Name "Rolloff"
- Ports []
- Position [455, 144, 567, 166]
- BackgroundColor "lightBlue"
- ShowName off
- OpenFcn "setrloff"
- FontSize 12
- FontAngle "italic"
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "rolloff"
- MaskDisplay "disp('Rolloff-Factor')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- System {
- Name "Rolloff"
- Location [136, 230, 381, 439]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "cyan"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "A4"
- PaperUnits "centimeters"
- ZoomFactor "100"
- }
- }
- Block {
- BlockType SubSystem
- Name "Transmitter"
- Ports [0, 3]
- Position [200, 72, 275, 158]
- ShowPortLabels off
- TreatAsAtomicUnit off
- System {
- Name "Transmitter"
- Location [8, 223, 1020, 503]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Clock
- Name "Clock"
- Position [555, 155, 575, 175]
- Decimation "10"
- }
- Block {
- BlockType Fcn
- Name "Fcn1"
- Position [615, 130, 710, 160]
- ShowName off
- Expr "cos(4*pi*u)"
- }
- Block {
- BlockType Fcn
- Name "Fcn2"
- Position [615, 175, 710, 205]
- ShowName off
- Expr "sin(4*pi*u)"
- }
- Block {
- BlockType Product
- Name "Product"
- Ports [2, 1]
- Position [770, 83, 800, 107]
- ShowName off
- }
- Block {
- BlockType Product
- Name "Product1"
- Ports [2, 1]
- Position [770, 233, 800, 257]
- ShowName off
- }
- Block {
- BlockType SubSystem
- Name "Raised-Cosinentransmit filter"
- Ports [1, 1]
- Position [285, 68, 365, 112]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "R-C filter"
- MaskDescription "Design a raised cosine filter and use it to"
- " filter the input signal."
- MaskHelp "This block designs a raised cosine filter u"
- "sing the specified parameter. The filter is used to filter the input signal. "
- "You can optionally use the sinc filter in the filtering computation."
- MaskPromptString "Symbol interval (sec):|Computation sampling"
- " time (sec):|Filter rolloff factor:|Delay step (integer to multiply symbol in"
- "terval):|Filter type (FIR or IIR) / (Normal or Sqrt):|With or without sinc fi"
- "lter (1 or 0, suggest 1):"
- MaskStyleString "edit,edit,edit,edit,edit,edit"
- MaskTunableValueString "on,on,on,on,on,on"
- MaskCallbackString "|||||"
- MaskEnableString "on,on,on,on,on,on"
- MaskVisibilityString "on,on,on,on,on,on"
- MaskToolTipString "on,on,on,on,on,on"
- MaskVarAliasString ",,,,,"
- MaskInitialization "td=@1;if length(td)>1,off=td(2);td=td(1);el"
- "se,off=0;end;ts=@2;R=@3;delay=@4;fil=@5;[num,den]=rcosine(1/td(1),1/ts(1),fil"
- ",R,delay);x=@6/2;"
- MaskDisplay "disp('R-C\nfilter')"
- MaskIconFrame on
- MaskIconOpaque on
- MaskIconRotate "none"
- MaskIconUnits "autoscale"
- MaskValueString "1|.05|.5|6|'FIR'|1"
- System {
- Name "Raised-Cosinentransmit filter"
- Location [131, 545, 589, 761]
- Open off
- ModelBrowserVisibility off
- ModelBrowserWidth 200
- ScreenColor "white"
- PaperOrientation "landscape"
- PaperPositionMode "auto"
- PaperType "usletter"
- PaperUnits "inches"
- ZoomFactor "100"
- Block {
- BlockType Inport
- Name "in_1"
- Position [35, 30, 55, 50]
- }
- Block {
- BlockType DiscreteFilter
- Name "Filter"
- Position [255, 31, 310, 69]
- Numerator "num"
- Denominator "den"
- SampleTime "ts"
- }
- Block {
- BlockType SubSystem
- Name "Memory Impulse"
- Ports [2, 1]
- Position [155, 30, 225, 70]
- ShowPortLabels off
- TreatAsAtomicUnit off
- MaskType "Impulse"
- MaskDescription "1/sinc filter:"
- MaskHelp "When the threshold is greater than zero"
- ", this block outputs an impulse signal, which begins at the raising edge of t"
- "he second input and lasts the holding time. The impulse holds a constant ampl"
- "itude, which equals the amplitude of the first input at the begining of the i"
- "mpulse. A clock raising edge will trigger next impulse. When the threshold is"
- " less or equal to zero, this block faithfully outputs the first input."
- MaskPromptString "Holding time:|Threshold for clock pulse"
- ": "
- MaskStyleString "edit,edit"
- MaskTunableValueString "on,on"
- MaskCallbackString "|"
- MaskEnableString "on,on"
- MaskVisibilityString "on,on"
- MaskToolTipString "on,on"
- MaskVarAliasString ","