Model { Name "dspdltmd" Version 4.00 SampleTimeColors off LibraryLinkDisplay "none" WideLines on ShowLineDimensions on ShowPortDataTypes off RecordCoverage off CovPath "/" CovSaveName "covdata" CovNameIncrementing off CovHtmlReporting on BlockParametersDataTip on BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Mon Sep 27 15:13:15 1999" Creator "sconahan" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%" LastModifiedBy "asharma" ModifiedDateFormat "%" LastModifiedDate "Fri Aug 18 11:14:47 2000" ModelVersionFormat "1.%" ConfigurationManager "none" DefaultBlockFontName "Helvetica" DefaultBlockFontSize 10 DefaultBlockFontWeight "normal" DefaultBlockFontAngle "normal" DefaultAnnotationFontName "Helvetica" DefaultAnnotationFontSize 10 DefaultAnnotationFontWeight "normal" DefaultAnnotationFontAngle "normal" DefaultLineFontName "Helvetica" DefaultLineFontSize 9 DefaultLineFontWeight "normal" DefaultLineFontAngle "normal" SimParamPage "Solver" StartTime "0.0" StopTime "1" SolverMode "Auto" Solver "ode45" RelTol "1e-3" AbsTol "auto" Refine "1" MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "auto" MaxOrder 5 OutputOption "RefineOutputTimes" OutputTimes "[]" LoadExternalInput off ExternalInput "[t, u]" SaveTime on TimeSaveName "tout" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" LoadInitialState off InitialState "xInitial" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" LimitDataPoints off MaxDataPoints "1000" Decimation "1" AlgebraicLoopMsg "warning" MinStepSizeMsg "warning" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" InheritedTsInSrcMsg "warning" SingleTaskRateTransMsg "none" MultiTaskRateTransMsg "error" IntegerOverflowMsg "warning" CheckForMatrixSingularity "none" UnnecessaryDatatypeConvMsg "none" Int32ToFloatConvMsg "warning" SignalLabelMismatchMsg "none" LinearizationMsg "none" VectorMatrixConversionMsg "none" SfunCompatibilityCheckMsg "none" BlockPriorityViolationMsg "warning" ArrayBoundsChecking "none" ConsistencyChecking "none" ZeroCross on Profile off SimulationMode "normal" RTWSystemTargetFile "grt.tlc" RTWInlineParameters off RTWRetainRTWFile off RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off TLCProfiler off TLCDebug off TLCCoverage off AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "oneshot" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect off ExtModeLogAll on OptimizeBlockIOStorage on BufferReuse on ParameterPooling on BlockReductionOpt off BooleanDataType off BlockDefaults { Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on } AnnotationDefaults { HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" } LineDefaults { FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" } System { Name "dspdltmd" Location [44, 74, 949, 407] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "automatic" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom off ReportName "simulink-default.rpt" Block { BlockType SubSystem Name "8-bit Linear ADC" Ports [1, 1] Position [105, 37, 165, 83] ShowName off ShowPortLabels off TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskDisplay "disp('8-bit\\nlinear\\nADC')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" Port { PortNumber 1 Name "Raw Digital Input" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "8-bit Linear ADC" Location [92, 275, 411, 411] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "automatic" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In1" Position [20, 38, 50, 52] Port "1" Interpolate on } Block { BlockType Gain Name "Gain" Position [75, 30, 105, 60] Gain "127/128" Multiplication "Element-wise(K.*u)" SaturateOnIntegerOverflow on } Block { BlockType Quantizer Name "Quantizer" Position [195, 30, 225, 60] QuantizationInterval "1/128" LinearizeAsGain off } Block { BlockType ZeroOrderHold Name "Zero-Order\nHold" Position [130, 26, 165, 64] SampleTime "1/16000" } Block { BlockType Outport Name "Out1" Position [255, 38, 285, 52] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Line { SrcBlock "Zero-Order\nHold" SrcPort 1 DstBlock "Quantizer" DstPort 1 } Line { SrcBlock "In1" SrcPort 1 DstBlock "Gain" DstPort 1 } Line { Labels [0, 0] SrcBlock "Quantizer" SrcPort 1 DstBlock "Out1" DstPort 1 } Line { SrcBlock "Gain" SrcPort 1 DstBlock "Zero-Order\nHold" DstPort 1 } } } Block { BlockType Reference Name "ADPCM Decoder" Ports [1, 1] Position [490, 226, 560, 284] ShowName off SourceBlock "dspwvfmcdlib/ADPCM Decoder" SourceType "ADPCM Decoder" StepAttn ".5" StepGain "2" StepMax "0.5" StepMin "0.01" StepInit "0.1" AdpcmIntTau "0.99" Port { PortNumber 1 Name "Decoded ADPCM" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Reference Name "ADPCM Encoder" Ports [1, 1] Position [275, 227, 345, 283] ShowName off SourceBlock "dspwvfmcdlib/ADPCM Encoder" SourceType "ADPCM Encoder" EncStepAttn ".5" EncStepGain "2" EncStepMax "0.5" EncStepMin "0.01" EncStepInit "0.1" EncIntTau "0.99" } Block { BlockType Reference Name "Bandlimited\nAnalog Input Signal\n(linear freq " "sweep)" Ports [0, 1] Position [40, 38, 80, 82] SourceBlock "dspsrcs3/Chirp" SourceType "Chirp" sweep "Linear" mode "Unidirectional" f0 "0" f1 "4000" t1 "1" Tsweep "1" phase "0" Ts "1/8000" spf "1" } Block { BlockType Reference Name "CVSD Decoder" Ports [1, 1] Position [490, 152, 560, 208] ShowName off SourceBlock "dspwvfmcdlib/CVSD Decoder" SourceType "CVSD Decoder" DeltaMax "20" SylIntTau "0.99" DeltaMin "0.01" RecIntTau "0.96" Port { PortNumber 1 Name "Decoded CVSD" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Reference Name "CVSD Encoder" Ports [1, 1] Position [275, 152, 345, 208] ShowName off SourceBlock "dspwvfmcdlib/CVSD Encoder" SourceType "CVSD Encoder" EncDeltaMax "20" EncSylIntTau "0.99" EncDeltaMin "0.01" EncRecIntTau "0.96" } Block { BlockType Reference Name "LDM Decoder" Ports [1, 1] Position [490, 76, 560, 134] ShowName off SourceBlock "dspwvfmcdlib/LDM Decoder" SourceType "LDM Decoder" Tau "0.91" Port { PortNumber 1 Name "Decoded LDM" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Reference Name "LDM Encoder" Ports [1, 1] Position [275, 77, 345, 133] ShowName off SourceBlock "dspwvfmcdlib/LDM Encoder" SourceType "LDM Encoder" EncTau "0.91" } Block { BlockType Mux Name "Mux" Ports [2, 1] Position [680, 80, 685, 115] ShowName off Inputs "2" DisplayOption "bar" Port { PortNumber 1 Name "Original and LDM" PropagatedSignals "Raw Digital Input, Decoded LDM" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Mux Name "Mux1" Ports [2, 1] Position [685, 156, 690, 189] ShowName off Inputs "2" DisplayOption "bar" Port { PortNumber 1 Name "Original and CVSD" PropagatedSignals "Raw Digital Input, Decoded CVSD" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Mux Name "Mux2" Ports [2, 1] Position [685, 231, 690, 264] ShowName off Inputs "2" DisplayOption "bar" Port { PortNumber 1 Name "Original and ADPCM" PropagatedSignals "Raw Digital Input, Decoded ADPCM" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } } Block { BlockType Scope Name "Scope" Ports [3] Position [835, 92, 875, 138] ShowName off Floating off Location [41, 485, 951, 936] Open on NumInputPorts "3" TickLabels "on" ZoomMode "xonly" List { ListType AxesTitles axes1 "%" axes2 "%" axes3 "%" } Grid "on" TimeRange "1" YMin "-1~-2~-2" YMax "1~2~2" SaveToWorkspace off SaveName "ScopeData" DataFormat "StructureWithTime" LimitDataPoints on MaxDataPoints "500000" Decimation "1" SampleInput off SampleTime "0" } Block { BlockType SubSystem Name "Transmission\nChannel" Ports [3, 3] Position [380, 70, 450, 290] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" System { Name "Transmission\nChannel" Location [395, 127, 668, 432] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "automatic" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In1" Position [25, 38, 55, 52] Port "1" Interpolate on } Block { BlockType Inport Name "In2" Position [25, 118, 55, 132] Port "2" Interpolate on } Block { BlockType Inport Name "In3" Position [25, 198, 55, 212] Port "3" Interpolate on } Block { BlockType SubSystem Name "Transmission\nChannel0" Ports [1, 1] Position [80, 25, 130, 65] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" Port { PortNumber 1 Name "LDM Data" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "Transmission\nChannel0" Location [597, 654, 963, 741] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In" Position [20, 25, 40, 45] Port "1" Interpolate on } Block { BlockType Outport Name "Out" Position [145, 25, 165, 45] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "In" SrcPort 1 DstBlock "Out" DstPort 1 } } } Block { BlockType SubSystem Name "Transmission\nChannel1" Ports [1, 1] Position [80, 105, 130, 145] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" Port { PortNumber 1 Name "CVSD Data" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "Transmission\nChannel1" Location [597, 654, 963, 741] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In" Position [20, 25, 40, 45] Port "1" Interpolate on } Block { BlockType Outport Name "Out" Position [145, 25, 165, 45] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "In" SrcPort 1 DstBlock "Out" DstPort 1 } } } Block { BlockType SubSystem Name "Transmission\nChannel2" Ports [1, 1] Position [80, 185, 130, 225] ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" Port { PortNumber 1 Name "ADPCM Data" TestPoint off LinearAnalysisOutput off LinearAnalysisInput off RTWStorageClass "Auto" } System { Name "Transmission\nChannel2" Location [599, 652, 965, 739] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Block { BlockType Inport Name "In" Position [20, 25, 40, 45] Port "1" Interpolate on } Block { BlockType Outport Name "Out" Position [145, 25, 165, 45] Port "1" OutputWhenDisabled "held" InitialOutput "0" } Line { SrcBlock "In" SrcPort 1 DstBlock "Out" DstPort 1 } } } Block { BlockType Outport Name "Out1" Position [220, 38, 250, 52] Port "1" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Out2" Position [220, 118, 250, 132] Port "2" OutputWhenDisabled "held" InitialOutput "[]" } Block { BlockType Outport Name "Out3" Position [220, 198, 250, 212] Port "3" OutputWhenDisabled "held" InitialOutput "[]" } Line { Name "LDM Data" Labels [0, 0] SrcBlock "Transmission\nChannel0" SrcPort 1 DstBlock "Out1" DstPort 1 } Line { SrcBlock "In1" SrcPort 1 DstBlock "Transmission\nChannel0" DstPort 1 } Line { Name "CVSD Data" Labels [0, 0] SrcBlock "Transmission\nChannel1" SrcPort 1 DstBlock "Out2" DstPort 1 } Line { SrcBlock "In2" SrcPort 1 DstBlock "Transmission\nChannel1" DstPort 1 } Line { Name "ADPCM Data" Labels [0, 0] SrcBlock "Transmission\nChannel2" SrcPort 1 DstBlock "Out3" DstPort 1 } Line { SrcBlock "In3" SrcPort 1 DstBlock "Transmission\nChannel2" DstPort 1 } } } Block { BlockType SubSystem Name "What are DM, LDM, CVSD, and ADPCM?" Ports [] Position [67, 221, 180, 285] BackgroundColor "cyan" DropShadow on ShowName off FontName "Arial" FontSize 12 ShowPortLabels on TreatAsAtomicUnit off RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" MaskType "Delta-modulation Demo Info" MaskDisplay "disp('What are DM,\\nLDM, CVSD,\\nand ADPCM?')" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System { Name "What are DM, LDM, CVSD, and ADPCM?" Location [437, 100, 928, 625] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" AutoZoom on Annotation { Position [249, 428] Text "What are DM, LDM, CVSD, and ADPCM?\n\nDelta" "-modulation (DM) is a differential waveform quantization\n(or coding) techniq" "ue. A DM encoder uses the error between\nthe original signal to be coded and" " the coded signal itself to create\na differentially-quantized data stream. " "This data stream (usually\nthe computed error signal) is a lower-bit-rate sig" "nal that can be\ndecoded by a matched decoder on the receiver side in order t" "o\nachieve data compression and hence low data transmission rates.\n\nLinear " "Delta-modulation (LDM), Continuously Variable Slope\nDelta-modulation (CVSD)," " and Adaptive Differential Pulse Code Modulation\n(ADPCM) are each differenti" "al waveform coding techniques. Each employ\ntwo-level (i.e. one-bit) encoder" "s, and may be performed at many different\nsampling/data rates. The encoded " "bit rate is usually directly proportional\nto the input signal sample rate. " "For example, in both LDM and CVSD\none-bit per sample is used to compute the " "encoded data stream.\n\nIn LDM, a constant step-size is used to approximate t" "he input signal with\na single-bit per signal sample. In the encoded bit-str" "eam, each \"1\" bit\nmeans \"increase the amplitude\" by the step-size (as co" "mpared to the\nprevious decoded signal sample), while a \"0\" bit means \"dec" "rease the\namplitude\" by the step-size (as compared to the previous decoded" "\nsignal sample). Using LDM, the encoder performance can suffer due to\na co" "ndition known as \"slope-overload\", when the input signal slope\n(such as du" "ring high frequency content) changes too rapidly for the\nencoder to track it" " accurately.\n\nCVSD is basically LDM with the addition of an adaptive step-s" "ize.\nBy adjusting (adapting) the step-size to the changes in slope of the\ni" "nput signal, the encoder is able to represent low-frequency signals\nwith gre" "ater accuracy without sacrificing as much performance due\nto \"slope-overloa" "d\" at higher frequencies. When the slope of the\ninput signal changes too q" "uickly for the encoder to keep up with it,\nthe step-size is increased. Conv" "ersely, when the input signal slope\nchanges slowly, the step-size is decreas" "ed. A slope-overload detector\nand syllabic filter is used in conjunction wi" "th a pulse amplitude\nmodulator (PAM) to accomplish the step-size adaptation." "\n\nCVSD is used in both commerical and military communications where\n\"toll" " quality\" or \"communications quality\" is required, yet low computation\nco" "mplexity and low memory requirements are desirable. Two examples\nof this te" "chnique are U.S. MIL-STD-188-113 (16 kbs and 32kbs CVSD)\nand U.S. Federal St" "andard 1023 (12 kbs CVSD). In addition, encoded\nCVSD data can be encrypted " "and made more secure - desirable for\nmany wireless communications applicatio" "ns (including speech\nand general-purpose audio coding).\n\nADPCM is a lot li" "ke CVSD, however it provides more accuracy (and thus\npreserved frequency ban" "dwidth) at the expense of additional computational\nrequirements for the adap" "tation step-size calculations." FontName "Arial" FontSize 14 } } } Line { Name "Decoded CVSD" Labels [1, 0] SrcBlock "CVSD Decoder" SrcPort 1 DstBlock "Mux1" DstPort 2 } Line { Name "Decoded LDM" Labels [1, 0] SrcBlock "LDM Decoder" SrcPort 1 DstBlock "Mux" DstPort 2 } Line { SrcBlock "LDM Encoder" SrcPort 1 DstBlock "Transmission\nChannel" DstPort 1 } Line { SrcBlock "CVSD Encoder" SrcPort 1 DstBlock "Transmission\nChannel" DstPort 2 } Line { SrcBlock "Bandlimited\nAnalog Input Signal\n(linear freq " "sweep)" SrcPort 1 DstBlock "8-bit Linear ADC" DstPort 1 } Line { Name "Raw Digital Input" Labels [0, 0] SrcBlock "8-bit Linear ADC" SrcPort 1 Points [0, 0; 80, 0] Branch { Points [410, 0; 0, 30] Branch { DstBlock "Mux" DstPort 1 } Branch { Points [0, 75] Branch { DstBlock "Mux1" DstPort 1 } Branch { Points [0, 75] DstBlock "Mux2" DstPort 1 } } } Branch { Points [0, 45] Branch { DstBlock "LDM Encoder" DstPort 1 } Branch { Points [0, 75] Branch { Points [0, 75] DstBlock "ADPCM Encoder" DstPort 1 } Branch { DstBlock "CVSD Encoder" DstPort 1 } } } } Line { SrcBlock "Transmission\nChannel" SrcPort 1 DstBlock "LDM Decoder" DstPort 1 } Line { Name "Original and LDM" Labels [0, 0] SrcBlock "Mux" SrcPort 1 DstBlock "Scope" DstPort 1 } Line { SrcBlock "ADPCM Encoder" SrcPort 1 DstBlock "Transmission\nChannel" DstPort 3 } Line { Name "Decoded ADPCM" Labels [0, 0] SrcBlock "ADPCM Decoder" SrcPort 1 DstBlock "Mux2" DstPort 2 } Line { SrcBlock "Transmission\nChannel" SrcPort 2 DstBlock "CVSD Decoder" DstPort 1 } Line { Name "Original and CVSD" Labels [0, 0] SrcBlock "Mux1" SrcPort 1 Points [95, 0; 0, -60] DstBlock "Scope" DstPort 2 } Line { Name "Original and ADPCM" Labels [0, 0] SrcBlock "Mux2" SrcPort 1 Points [110, 0; 0, -120] DstBlock "Scope" DstPort 3 } Line { SrcBlock "Transmission\nChannel" SrcPort 3 DstBlock "ADPCM Decoder" DstPort 1 } Annotation { Position [454, 27] Text "Delta-modulation (DM) Waveform Codecs" FontName "Arial" FontSize 20 FontWeight "bold" } } }