核信号处理.docx
《核信号处理.docx》由会员分享,可在线阅读,更多相关《核信号处理.docx(33页珍藏版)》请在冰豆网上搜索。
核信号处理
核信号处理和系统设计
实验报告
专业:
核技术
指导教师:
周建斌
姓名:
杨京平
学号:
201006090117
二0一三年十二月
实验一核信号模拟
一模拟产生不同幅度的理想核信号
程序:
Suba()
Fori=1To200
tt=0
ss="B"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/100)
ss="B"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
Suba1()
Fori=1To200
tt=0
ss="J"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=1000*Exp((201-i)/200)
ss="J"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
Suba2()
Fori=1To200
tt=0
ss="K"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/200)
ss="K"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
实验结果:
图1-1不同幅度的理想核信号
一、模拟产生不同衰减常数的理想核信号
程序:
Suba()
Fori=1To200
tt=0
ss="B"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/100)
ss="B"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
Suba1()
Fori=1To200
tt=0
ss="J"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=1000*Exp((201-i)/200)
ss="J"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
Suba2()
Fori=1To200
tt=0
ss="K"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/200)
ss="K"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
结果:
图1-2不同衰减常数的理想核信号
二、产生带有噪声的核信号,噪声为(-100,100)均匀分布
程序:
SubMacro5()
Fori=1To200
tt=0
ss="B"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/100)+150*(0.5-Rnd
(1))
ss="B"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
结果:
图1-3产生带有噪声的核信号,噪声为(-150,150)均匀分布
四、带有噪声的正弦信号
程序:
SubMacro1()
Fori=1To500
tt=Sin(i/50)
ss="G"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
SubMacro2()
Fori=1To500
tt1=Sin(1/50)
tt=Sin(i/50)+tt1*0.5*(0.5-Rnd
(1))
ss="I"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果
图1-4带有噪声的正弦信号
实验二C-R微分网络数值模拟
一、构建数学模型
C-R微分电路图如下所示:
图2-1C-R微分电路原理图
根据基尔霍夫电流定律,可以建立式
随着计算机技术的发展,连续与离散之间已变得越来越模糊,可以将输入输出信号数字化为X[n],Y[n],则可得到
令
,整理上式可得
即为C-R电路的数学模型。
根据上式可以写出C-R电路在VBA中的代码:
Submacro3()
a=0
k=0.02
Fori=2To2048
ss="a"+Format(i)
t1=Range(ss).Value
ss="a"+Format(i-1)
t2=Range(ss).Value
tt=(a+t1-t2)/(1+k)
a=tt
ss="c"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
二、输入信号:
阶跃信号
程序:
'阶跃信号的产生
Suba()
Dima,k,k1,k2AsSingle
tt1=0
tt2=2000
Fori=1To200
ss="B"+Format(i)
Range(ss).Value=tt1
Nexti
Fori=201To2048
ss="B"+Format(i)
Range(ss).Value=tt2
Nexti
k=0.01
a=0
Fori=2To2048
ss="B"+Format(i-1)
t1=Range(ss).Value
ss="B"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="D"+Format(i)
Range(ss).Value=tt
Nexti
k1=0.02
a=0
Fori=2To2048
ss="B"+Format(i-1)
t1=Range(ss).Value
ss="B"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k1)
a=tt
ss="F"+Format(i)
Range(ss).Value=tt
Nexti
k2=0.03
a=0
Fori=2To2048
ss="B"+Format(i-1)
t1=Range(ss).Value
ss="B"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k2)
a=tt
ss="H"+Format(i)
Range(ss).Value=tt
Nexti
EndSub给定RC值,模拟测试,运行结果:
图2-2阶跃信号的不同K值的C-R微分成形
三、方波信号的C-R微分成形
程序:
'方波信号的产生
Subzgb23()
Forj=0To3
Fori=j*200+1Toj*200+100
tt=-1000
ss="D"+Format(i)
Range(ss).Value=tt
Nexti
Fori=j*200+101Toj*200+200
tt=1000
ss="D"+Format(i)
Range(ss).Value=tt
Nexti
Nextj
EndSub
'C-R微分网络数值模拟
Subzgb24()
ss="E"+Format
(1)
Range(ss).Value=0
k=0.03
a=0
Fori=2To800
ss="D"+Format(i-1)
t1=Range(ss).Value
ss="D"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="E"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果:
图2-3方波信号的C-R微分成形
四、负指数信号的C-R微分成形
程序:
'负指数信号的产生
Subzgb23()
Dima,b,c,rc,rc2AsSingle
Fori=1To200
tt=0
ss="D"+Format(i)
Range(ss).Value=tt
Nexti
Sum=0
Fori=201To2048
tt=2000*Exp((201-i)/100)
ss="D"+Format(i)
Range(ss).Value=tt
Sum=Sum+tt
Nexti
EndSub
'C-R微分网络数值模拟k=0.01
Subzgb24()
ss="E"+Format
(1)
Range(ss).Value=0
k=0.02
a=0
Fori=2To2048
ss="D"+Format(i-1)
t1=Range(ss).Value
ss="D"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="E"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
'C-R微分网络数值模拟k=0.05
Subzgb25()
ss="F"+Format
(1)
Range(ss).Value=0
k=0.03
a=0
Fori=2To2048
ss="D"+Format(i-1)
t1=Range(ss).Value
ss="D"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="F"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果:
图2-4负指数信号的C-R微分成形
四、带噪声的负指数信号C-R微分成形
程序:
'带有噪声的负指数信号
Subaa()
Dima,k,k1,k2AsSingle
tt1=0
tt2=2000
Fori=1To200
ss="M"+Format(i)
Range(ss).Value=tt1+100*(0.5-Rnd
(1))
Nexti
Fori=201To2048
ss="M"+Format(i)
Range(ss).Value=tt2+100*(0.5-Rnd
(1))
Nexti
k=0.01
a=0
Fori=2To2048
ss="M"+Format(i-1)
t1=Range(ss).Value
ss="M"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="N"+Format(i)
Range(ss).Value=tt
Nexti
k1=0.01
a=0
Fori=2To2048
ss="N"+Format(i-1)
t1=Range(ss).Value
ss="N"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k1)
a=tt
ss="O"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果:
图2-5带噪声的负指数信号C-R微分成形
实验三R-C积分网络数值模拟
一、构建数学模型
R-C积分电路图如下所示:
图3-1R-C积分电路图原理图
同C-R电路分析一样,根据基尔霍夫定律可建立式
同理,将Vin和Vout数字化X[n],Y[n],则可得式则可得到
令
,整理上式可得
即为R-C电路的数学模型。
根据上式可以写出C-R电路在VBA中的代码:
a=0
k=100
Fori=1To2048
ss="a"+Format(i)
t1=Range(ss).Value
ss="a"+Format(i)
t2=Range(ss).Value
tt=(k*a+t1)/(k+1)
a=tt
ss="c"+Format(i)
Range(ss).Value=tt
Nexti
二、输入信号:
阶跃信号
程序:
'输入阶跃信号
SubRC()
Fori=1To200
ss="A"+Format(i)
Range(ss).Value=0
Nexti
Fori=201To2048
ss="A"+Format(i)
Range(ss).Value=2000
Nexti
k=50
a=0
ss="B"+Format(i)
Range(ss).Value=0
Fori=2To2048
ss="A"+Format(i)
t1=Range(ss).Value
tt=(a*k+t1)/(1+k)
a=tt
ss="B"+Format(i)
Range(ss).Value=tt
Nexti
k1=100
a1=0
ss="C"+Format(i)
Range(ss).Value=0
Fori=2To2048
ss="A"+Format(i)
t2=Range(ss).Value
tt1=(a1*k1+t2)/(1+k1)
a1=tt1
ss="C"+Format(i)
Range(ss).Value=tt1
Nexti
EndSub
给定RC值,模拟测试,运行结果:
图3-2阶跃信号的不同K值的R-C积分成形
三、理想的负指数信号的R-C积分成形
程序:
'输入理想的负指数信号
SubRC1()
k=0.02
a=0
Fori=2To2048
ss="A"+Format(i-1)
t1=Range(ss).Value
ss="A"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="E"+Format(i)
Range(ss).Value=tt
Nexti
k1=100
a1=0
ss="F"+Format(i)
Range(ss).Value=0
Fori=2To2048
ss="E"+Format(i)
t2=Range(ss).Value
tt1=(a1*k1+t2)/(1+k1)
a1=tt1
ss="F"+Format(i)
Range(ss).Value=tt1
Nexti
k2=30
a2=0
ss="G"+Format(i)
Range(ss).Value=0
Fori=2To2048
ss="E"+Format(i)
t2=Range(ss).Value
tt1=(a2*k2+t2)/(1+k2)
a2=tt1
ss="G"+Format(i)
Range(ss).Value=tt1
Nexti
EndSub
结果:
图3-3理想的负指数信号的R-C积分成形
四、带噪声的负指数信号的R-C积分成形
程序:
'输入带噪声的负指数信号
SubRC()
Fori=1To200
ss="I"+Format(i)
Range(ss).Value=0+200*(0.5-Rnd
(1))
Nexti
Fori=201To2048
ss="I"+Format(i)
Range(ss).Value=2000+200*(0.5-Rnd
(1))
Nexti
a=0
k=80
Fori=2To2048
ss="I"+Format(i)
t1=Range(ss).Value
tt=(a*k+t1)/(1+k)
a=tt
ss="J"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
SubRC()
k=0.02
a=0
Fori=2To2048
ss="I"+Format(i-1)
t1=Range(ss).Value
ss="I"+Format(i)
t2=Range(ss).Value
tt=(a+t2-t1)/(1+k)
a=tt
ss="K"+Format(i)
Range(ss).Value=tt
Nexti
a1=0
k1=50
Fori=2To2048
ss="K"+Format(i)
t1=Range(ss).Value
tt=(a1*k1+t1)/(1+k1)
a1=tt
ss="L"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果:
图3-4带噪声的负指数信号的R-C积分成形
四、方波信号的R-C积分成形
程序:
SubRC2()
Forj=0To5
Fori=j*100+1Toj*100+50
ss="M"+Format(i)
Range(ss).Value=500
Nexti
Fori=j*100+51Toj*100+100
ss="M"+Format(i)
Range(ss).Value=-500
Nexti
Nextj
EndSub
SubRC3()
a1=0
k1=20
Fori=2To500
ss="M"+Format(i)
t1=Range(ss).Value
tt=(a1*k1+t1)/(1+k1)
a1=tt
ss="N"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
结果:
图3-5方波信号的R-C积分成形
实验四极零相消成形
一、构建数学模型
极零相消电路图如下所示:
图4-1极零相消电路图原理图
根据KCL定理,与C-R、R-C的推导一样,得到:
令k1=dt/RPZ·C,k2=dt/R·C,则上式推导得:
二、模拟:
负指数信号极零相消成形
程序:
'负指数信号的产生
Subzgb1()
Dima,b,c,rc,rc2AsSingle
Fori=1To200
tt=0
ss="A"+Format(i)
Range(ss).Value=tt
Nexti
Fori=201To2048
tt=2000*Exp((201-i)/200)'+200*Rnd
(1)
ss="A"+Format(i)
Range(ss).Value=tt
Nexti
EndSub
'C-R微分
Subzgb2()
k=0.01
a=0
Fori=2To2048
ss="A"+Format(i-1)
t1=Range(ss).Value
ss="A"+Format(i)
t2=