balancedquadricorrelator.mdl
来自「AM 调制的MATLAB算法实现 MATLAB文件」· MDL 代码 · 共 1,136 行 · 第 1/2 页
MDL
1,136 行
Name "Relay1"
Position [280, 225, 310, 255]
OnOutputValue "0"
OffOutputValue "1"
}
Block {
BlockType Reference
Name "Sine Wave2"
Ports [0, 1]
Position [270, 283, 315, 327]
SourceBlock "dspsrcs4/Sine Wave"
SourceType "Sine Wave"
Amplitude "1"
Frequency "1400"
Phase "0"
SampleMode "Discrete"
OutComplex "Real"
CompMethod "Trigonometric fcn"
TableSize "Speed"
SampleTime "1/10000"
SamplesPerFrame "1"
additionalParams off
dataType "double"
wordLen "16"
udDataType "sfix(16)"
fracBitsMode "Best precision"
numFracBits "14"
ResetState "Restart at time zero"
}
Block {
BlockType Reference
Name "Sine Wave3"
Ports [0, 1]
Position [265, 93, 310, 137]
SourceBlock "dspsrcs4/Sine Wave"
SourceType "Sine Wave"
Amplitude "1"
Frequency "1500"
Phase "0"
SampleMode "Discrete"
OutComplex "Real"
CompMethod "Trigonometric fcn"
TableSize "Speed"
SampleTime "1/10000"
SamplesPerFrame "1"
additionalParams off
dataType "double"
wordLen "16"
udDataType "sfix(16)"
fracBitsMode "Best precision"
numFracBits "14"
ResetState "Restart at time zero"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [445, 195, 465, 215]
ShowName off
IconShape "round"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Outport
Name "Out1"
Position [520, 198, 550, 212]
}
Block {
BlockType Outport
Name "Out2"
Position [520, 238, 550, 252]
Port "2"
}
Line {
SrcBlock "Bernoulli Binary\nGenerator1"
SrcPort 1
Points [0, 0; 25, 0]
Branch {
Points [65, 0]
Branch {
DstBlock "Relay"
DstPort 1
}
Branch {
Points [0, 55]
DstBlock "Relay1"
DstPort 1
}
}
Branch {
Points [0, 175; 330, 0]
DstBlock "Out2"
DstPort 1
}
}
Line {
SrcBlock "Sine Wave3"
SrcPort 1
Points [10, 0; 0, 55]
DstBlock "Product5"
DstPort 1
}
Line {
SrcBlock "Relay"
SrcPort 1
DstBlock "Product5"
DstPort 2
}
Line {
SrcBlock "Relay1"
SrcPort 1
DstBlock "Product6"
DstPort 1
}
Line {
SrcBlock "Sine Wave2"
SrcPort 1
Points [5, 0; 0, -50]
DstBlock "Product6"
DstPort 2
}
Line {
SrcBlock "Product5"
SrcPort 1
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock "Product6"
SrcPort 1
Points [50, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Sum2"
SrcPort 1
DstBlock "Out1"
DstPort 1
}
}
}
Block {
BlockType Reference
Name "Analog\nFilter Design"
Ports [1, 1]
Position [365, 82, 430, 138]
SourceBlock "dsparch4/Analog\nFilter Design"
SourceType "Analog Filter Design"
method "Butterworth"
filttype "Lowpass"
N "5"
Wlo "2*pi*150"
Whi "80"
Rp "2"
Rs "40"
}
Block {
BlockType Reference
Name "Analog\nFilter Design1"
Ports [1, 1]
Position [355, 277, 420, 333]
SourceBlock "dsparch4/Analog\nFilter Design"
SourceType "Analog Filter Design"
method "Butterworth"
filttype "Lowpass"
N "5"
Wlo "2*pi*150"
Whi "80"
Rp "2"
Rs "40"
}
Block {
BlockType Reference
Name "Analog\nFilter Design2"
Ports [1, 1]
Position [155, 188, 190, 222]
SourceBlock "dsparch4/Analog\nFilter Design"
SourceType "Analog Filter Design"
method "Butterworth"
filttype "Bandpass"
N "6"
Wlo "2*pi*1300"
Whi "2*pi*1600"
Rp "2"
Rs "40"
}
Block {
BlockType ComplexToRealImag
Name "Complex to\nReal-Imag2"
Ports [1, 2]
Position [270, 187, 305, 218]
Orientation "left"
Output "Real and imag"
}
Block {
BlockType Derivative
Name "Derivative"
Position [495, 95, 525, 125]
}
Block {
BlockType Derivative
Name "Derivative1"
Position [495, 290, 525, 320]
}
Block {
BlockType Gain
Name "Gain"
Position [555, 290, 585, 320]
Gain "0.001"
}
Block {
BlockType Gain
Name "Gain1"
Position [550, 95, 580, 125]
Gain "0.001"
}
Block {
BlockType Reference
Name "Gaussian Noise\nGenerator"
Ports [0, 1]
Position [15, 283, 95, 327]
FontName "Arial"
SourceBlock "commnoisgen2/Gaussian Noise\nGenerator"
SourceType "Gaussian Noise Generator"
m "0"
d "0.5"
s "41"
Ts "0.0001"
frameBased off
sampPerFrame "1"
orient off
}
Block {
BlockType Product
Name "Product"
Ports [2, 1]
Position [295, 91, 340, 124]
InputSameDT off
}
Block {
BlockType Product
Name "Product1"
Ports [2, 1]
Position [275, 286, 320, 319]
ShowAdditionalParam on
OutDataTypeMode "double"
RndMeth "Nearest"
}
Block {
BlockType Product
Name "Product2"
Ports [2, 1]
Position [610, 281, 655, 314]
InputSameDT off
}
Block {
BlockType Product
Name "Product3"
Ports [2, 1]
Position [605, 101, 650, 134]
InputSameDT off
}
Block {
BlockType Product
Name "Product6"
Ports [2, 1]
Position [830, 206, 875, 239]
Inputs "*/"
InputSameDT off
}
Block {
BlockType Relay
Name "Relay"
Position [905, 255, 935, 285]
}
Block {
BlockType Scope
Name "Scope"
Ports [4]
Position [960, 203, 990, 237]
Location [138, 96, 975, 688]
Open off
NumInputPorts "4"
ZoomMode "xonly"
List {
ListType AxesTitles
axes1 "origin data "
axes2 "input 2FSK + AWGN "
axes3 "demodulator output"
axes4 "recovery data"
}
List {
ListType SelectedSignals
axes1 ""
axes2 ""
axes3 ""
axes4 ""
}
TimeRange "0.9"
YMin "-0.1~-4~-1~-0.1"
YMax "1.5~4~1~1.5"
DataFormat "StructureWithTime"
LimitDataPoints off
}
Block {
BlockType Reference
Name "Sine Wave1"
Ports [0, 1]
Position [340, 185, 380, 225]
Orientation "left"
NamePlacement "alternate"
SourceBlock "dspsrcs4/Sine Wave"
SourceType "Sine Wave"
Amplitude "1"
Frequency "1450"
Phase "0"
SampleMode "Discrete"
OutComplex "Complex"
CompMethod "Trigonometric fcn"
TableSize "Speed"
SampleTime "0.00001"
SamplesPerFrame "1"
additionalParams off
dataType "double"
wordLen "16"
udDataType "sfix(16)"
fracBitsMode "User-defined"
numFracBits "14"
ResetState "Restart at time zero"
}
Block {
BlockType Sum
Name "Sum"
Ports [2, 1]
Position [105, 195, 125, 215]
ShowName off
IconShape "round"
Inputs "|++"
InputSameDT off
OutDataTypeMode "Inherit via internal rule"
}
Block {
BlockType Sum
Name "Sum1"
Ports [2, 1]
Position [715, 205, 735, 225]
ShowName off
IconShape "round"
Inputs "+|-"
}
Block {
BlockType Sum
Name "Sum2"
Ports [2, 1]
Position [775, 255, 795, 275]
ShowName off
IconShape "round"
}
Line {
SrcBlock "Product3"
SrcPort 1
Points [70, 0]
DstBlock "Sum1"
DstPort 1
}
Line {
SrcBlock "Product1"
SrcPort 1
DstBlock "Analog\nFilter Design1"
DstPort 1
}
Line {
SrcBlock " 2FSK generator"
SrcPort 1
DstBlock "Sum"
DstPort 1
}
Line {
SrcBlock "Analog\nFilter Design"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
DstBlock "Derivative"
DstPort 1
}
Branch {
Points [0, 30]
DstBlock "Product2"
DstPort 1
}
Branch {
Points [0, -30]
DstBlock " 2"
DstPort 1
}
}
Line {
SrcBlock "Analog\nFilter Design1"
SrcPort 1
Points [0, 0; 15, 0]
Branch {
DstBlock "Derivative1"
DstPort 1
}
Branch {
Points [0, -25; 150, -150]
DstBlock "Product3"
DstPort 2
}
Branch {
Points [0, 40]
DstBlock " 1"
DstPort 1
}
}
Line {
SrcBlock "Product"
SrcPort 1
DstBlock "Analog\nFilter Design"
DstPort 1
}
Line {
SrcBlock "Complex to\nReal-Imag2"
SrcPort 1
Points [-15, 0; 0, -80]
DstBlock "Product"
DstPort 2
}
Line {
SrcBlock "Complex to\nReal-Imag2"
SrcPort 2
Points [-15, 0; 0, 85]
DstBlock "Product1"
DstPort 1
}
Line {
SrcBlock "Derivative"
SrcPort 1
DstBlock "Gain1"
DstPort 1
}
Line {
SrcBlock "Derivative1"
SrcPort 1
DstBlock "Gain"
DstPort 1
}
Line {
SrcBlock "Product2"
SrcPort 1
Points [65, 0]
DstBlock "Sum1"
DstPort 2
}
Line {
SrcBlock "Sum1"
SrcPort 1
DstBlock "Product6"
DstPort 1
}
Line {
SrcBlock " 2"
SrcPort 1
Points [20, 0]
DstBlock "Sum2"
DstPort 1
}
Line {
SrcBlock " 1"
SrcPort 1
Points [20, 0]
DstBlock "Sum2"
DstPort 2
}
Line {
SrcBlock "Product6"
SrcPort 1
Points [15, 0]
Branch {
DstBlock "Scope"
DstPort 3
}
Branch {
Points [0, 45]
DstBlock "Relay"
DstPort 1
}
}
Line {
SrcBlock "Sine Wave1"
SrcPort 1
DstBlock "Complex to\nReal-Imag2"
DstPort 1
}
Line {
SrcBlock " 2FSK generator"
SrcPort 2
Points [15, 0; 0, -225; 845, 0; 0, 195]
DstBlock "Scope"
DstPort 1
}
Line {
SrcBlock "Relay"
SrcPort 1
Points [5, 0]
DstBlock "Scope"
DstPort 4
}
Line {
SrcBlock "Gain"
SrcPort 1
DstBlock "Product2"
DstPort 2
}
Line {
SrcBlock "Gain1"
SrcPort 1
DstBlock "Product3"
DstPort 1
}
Line {
SrcBlock "Sum2"
SrcPort 1
Points [5, 0; 0, -35]
DstBlock "Product6"
DstPort 2
}
Line {
SrcBlock "Sum"
SrcPort 1
Points [5, 0]
Branch {
Points [0, -190; 810, 0]
DstBlock "Scope"
DstPort 2
}
Branch {
DstBlock "Analog\nFilter Design2"
DstPort 1
}
}
Line {
SrcBlock "Analog\nFilter Design2"
SrcPort 1
Points [-5, 0]
Branch {
Points [25, 0; 0, -105]
DstBlock "Product"
DstPort 1
}
Branch {
Points [25, 0; 0, 105]
DstBlock "Product1"
DstPort 2
}
}
Line {
SrcBlock "Gaussian Noise\nGenerator"
SrcPort 1
Points [15, 0]
DstBlock "Sum"
DstPort 2
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?