📄 ch93.mdl
字号:
accumWordLength "32"
accumFracLength "30"
showMpy off
prodOutputMode "Same as input"
prodOutputWordLength "32"
prodOutputFracLength "30"
showMem off
memoryMode "Same as accumulator"
memoryWordLength "16"
memoryFracLength "15"
roundingMode "Floor"
overflowMode off
ScaleValues "1"
scaleValueFracLength "14"
tapSumMode "Same as input"
tapSumWordLength "32"
tapSumFracLength "30"
stageIOMode "Same as input"
stageIOWordLength "16"
stageInFracLength "15"
stageOutFracLength "15"
LockScale off
}
Block {
BlockType Reference
Name "Random \nTaps"
Ports [0, 1]
Position [40, 90, 70, 120]
SourceBlock "simulink/Sources/Band-Limited\nWhite Noise"
SourceType "Band-Limited White Noise."
ShowPortLabels on
Cov "ones(N,1)"
Ts "Ts"
seed "round(rand(N,1)*1000)"
VectorParams1D on
}
Block {
BlockType Outport
Name "Filter\nOutput"
Position [330, 30, 350, 50]
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Block {
BlockType Outport
Name "Tap\nWeights"
Position [330, 95, 350, 115]
Port "2"
IconDisplay "Port number"
BusOutputAsStruct off
InitialOutput "0"
}
Line {
SrcBlock "Input\nSignal"
SrcPort 1
DstBlock "Digital FIR Filter"
DstPort 1
}
Line {
SrcBlock "Digital FIR Filter"
SrcPort 1
DstBlock "Filter\nOutput"
DstPort 1
}
Line {
SrcBlock "Random \nTaps"
SrcPort 1
DstBlock "Average\nCoefficients\nTranspose Filter"
DstPort 1
}
Line {
SrcBlock "Average\nCoefficients\nTranspose Filter"
SrcPort 1
Points [20, 0]
Branch {
DstBlock "Tap\nWeights"
DstPort 1
}
Branch {
Points [0, -55]
DstBlock "Digital FIR Filter"
DstPort 2
}
}
}
}
Block {
BlockType SubSystem
Name "Plot Weights"
Ports [2]
Position [365, 106, 410, 144]
ShowName off
ShowPortLabels off
TreatAsAtomicUnit off
MinAlgLoopOccurrences off
RTWSystemCode "Auto"
MaskDisplay "disp('Plot\\nWeights')"
MaskIconFrame on
MaskIconOpaque on
MaskIconRotate "none"
MaskIconUnits "autoscale"
System {
Name "Plot Weights"
Location [405, 393, 855, 553]
Open on
ModelBrowserVisibility off
ModelBrowserWidth 200
ScreenColor "white"
PaperOrientation "landscape"
PaperPositionMode "auto"
PaperType "usletter"
PaperUnits "inches"
ZoomFactor "100"
Block {
BlockType Inport
Name "in_1"
Position [65, 25, 85, 45]
Port "1"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Inport
Name "in_2"
Position [65, 65, 85, 85]
Port "2"
IconDisplay "Port number"
LatchInput off
}
Block {
BlockType Constant
Name "Constant"
Position [5, 108, 125, 132]
Value "reshape([1:5;6:10],10,1)"
}
Block {
BlockType Demux
Name "Demux"
Ports [1, 5]
Position [260, 37, 265, 103]
BackgroundColor "black"
ShowName off
Outputs "5"
Port {
PortNumber 1
Name "Tap 1"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
Port {
PortNumber 2
Name "Tap 2"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
Port {
PortNumber 3
Name "Tap 3"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
Port {
PortNumber 4
Name "Tap 4"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
Port {
PortNumber 5
Name "Tap 5"
RTWStorageClass "Auto"
DataLoggingNameMode "SignalName"
ShowSigGenPortName on
}
}
Block {
BlockType Mux
Name "Mux"
Ports [2, 1]
Position [115, 15, 120, 95]
ShowName off
Inputs "2"
DisplayOption "bar"
}
Block {
BlockType Reference
Name "Permute\nMatrix"
Ports [2, 1]
Position [155, 43, 235, 92]
SourceBlock "dspmtrx3/Permute\nMatrix"
SourceType "Permute Matrix"
mode "Rows"
ZeroOneIdxMode "One-based"
errmode "Clip Index"
checkDims off
}
Block {
BlockType Scope
Name "Scope"
Ports [5]
Position [325, 36, 360, 104]
Location [212, 68, 612, 710]
Open on
NumInputPorts "5"
ZoomMode "xonly"
List {
ListType AxesTitles
axes1 "%<SignalLabel>"
axes2 "%<SignalLabel>"
axes3 "%<SignalLabel>"
axes4 "%<SignalLabel>"
axes5 "%<SignalLabel>"
}
TimeRange "300"
YMin "-10~-10~-10~-10~-10"
YMax "10~10~10~10~10"
DataFormat "Structure"
SampleInput on
}
Line {
Name "Tap 5"
Labels [0, 1; 0, 0]
SrcBlock "Demux"
SrcPort 5
DstBlock "Scope"
DstPort 5
}
Line {
SrcBlock "in_1"
SrcPort 1
DstBlock "Mux"
DstPort 1
}
Line {
SrcBlock "in_2"
SrcPort 1
DstBlock "Mux"
DstPort 2
}
Line {
SrcBlock "Mux"
SrcPort 1
DstBlock "Permute\nMatrix"
DstPort 1
}
Line {
SrcBlock "Constant"
SrcPort 1
Points [0, -40]
DstBlock "Permute\nMatrix"
DstPort 2
}
Line {
SrcBlock "Permute\nMatrix"
SrcPort 1
DstBlock "Demux"
DstPort 1
}
Line {
Name "Tap 1"
Labels [0, 1; 0, 0]
SrcBlock "Demux"
SrcPort 1
DstBlock "Scope"
DstPort 1
}
Line {
Name "Tap 4"
Labels [0, 1; 0, 0]
SrcBlock "Demux"
SrcPort 4
DstBlock "Scope"
DstPort 4
}
Line {
Name "Tap 3"
Labels [0, 1; 0, 0]
SrcBlock "Demux"
SrcPort 3
DstBlock "Scope"
DstPort 3
}
Line {
Name "Tap 2"
Labels [0, 1; 0, 0]
SrcBlock "Demux"
SrcPort 2
DstBlock "Scope"
DstPort 2
}
}
}
Block {
BlockType Reference
Name "Source"
Ports [0, 1]
Position [80, 90, 110, 120]
SourceBlock "simulink/Sources/Band-Limited\nWhite Noise"
SourceType "Band-Limited White Noise."
ShowPortLabels on
Cov "[0.1]"
Ts "1"
seed "[23341]"
VectorParams1D on
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [280, 80, 300, 100]
Orientation "down"
NamePlacement "alternate"
ShowName off
IconShape "round"
Inputs "++|"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [280, 135, 300, 155]
Orientation "left"
NamePlacement "alternate"
ShowName off
IconShape "round"
Inputs "+-|"
}
Line {
SrcBlock "Channel\nNoise"
SrcPort 1
DstBlock "Sum"
DstPort 2
}
Line {
SrcBlock "Nonstationary\nChannel"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Source"
SrcPort 1
Points [0, 0; 35, 0]
Branch {
Points [0, 70]
DstBlock "Kalman\nAdaptive Filter"
DstPort 1
}
Branch {
DstBlock "Nonstationary\nChannel"
DstPort 1
}
}
Line {
Name "Actual\nfilter"
Labels [-1, 1]
SrcBlock "Nonstationary\nChannel"
SrcPort 2
DstBlock "Plot Weights"
DstPort 1
}
Line {
SrcBlock "Kalman\nAdaptive Filter"
SrcPort 1
Points [45, 0; 0, -30]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [-105, 0]
DstBlock "Kalman\nAdaptive Filter"
DstPort 2
}
Line {
Labels [0, 0]
SrcBlock "Kalman\nAdaptive Filter"
SrcPort 2
DstBlock "Flip"
DstPort 1
}
Line {
Name "Estimated\nfilter"
Labels [2, 1]
SrcBlock "Flip"
SrcPort 1
Points [15, 0]
DstBlock "Plot Weights"
DstPort 2
}
Annotation {
Name "Nonstationary Channel Estimation\nusing a Kalma"
"n Tracking Filter"
Position [127, 23]
VerticalAlignment "top"
FontName "Arial"
FontSize 11
FontWeight "bold"
}
}
}
MatData {
NumRecords 2
DataRecord {
Tag DataTag1
Data " %)30 . < 8 ( 0 % "
"\" $ ! 0 . 0 8 ( ! % \" $ "
"- 0 0 #0 $1I9VET86Q&:6QT97( "
}
DataRecord {
Tag DataTag0
Data " %)30 . < 8 ( 0 % "
"\" $ ! 0 . 0 8 ( ! % \" $ "
"- 0 0 #0 $1I9VET86Q&:6QT97( "
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -