作业帮 > 综合 > 作业

帮我看看matlab程序!

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 14:57:57
帮我看看matlab程序!
%干涉信号构造
t=0:0.0000001:0.0040;
dt=sin(2*300*pi*t);
d1=0.4;
d2=0.4+dt;%微小振动d(t)=5e-3*sin(2*10*pi*t)
d3=0.2;
d4=0.2;
bc=5e-3;
e0=50*cos(2*pi*8e5*t);
subplot(411)
plot(t,e0);
xlabel('t');ylabel('原始光信号E0');
subplot(412);
plot(t,dt);
xlabel('t');ylabel('振动信号')
em=50*cos(2*pi*8e5*t+2*pi*(d1+2*d3+d4)/bc);
ep=50*cos(2*pi*8e5*t+2*pi*(d1+2*d2+d4)/bc);
ef=em+ep;
subplot(413)
plot(t,ef);
xlabel('t');ylabel('干涉信号');
%低通滤波器
wp=300;ws=350;fs=1000;rp=0.5;rs=20;
[n,wn]=buttord(wp/(fs/2),ws/(fs/2),rp,rs);
[b,a]=butter(n,wn);
[h,w]=freqz(b,a);
y=filtfilt(b,a,ef);
subplot(414)
plot(t,y);
xlabel('t');ylabel('滤波所得振动信号');
我低通滤波的波形不对,怎么改呀(低通滤波后得的波形要和第二个波形差不多),【把它的这个程序过程能不能帮我解释下】
帮我看看matlab程序!
你的原始信号有问题
t=0:99;
e0=0.3*sin(0.8*pi*t);
subplot(411)
plot(t,e0);
xlabel('t');ylabel('原始光信号E0');
subplot(412);
dt=0.6*sin(0.1*pi*t);
plot(t,dt);
xlabel('t');ylabel('振动信号')
subplot(412)
ef=e0+dt;
subplot(413)
plot(t,ef);
xlabel('t');ylabel('干涉信号');
%低通滤波器
wp=300;ws=350;fs=1000;rp=0.5;rs=20;
[n,wn]=buttord(wp/(fs/2),ws/(fs/2),rp,rs);
[b,a]=butter(n,wn);
[h,w]=freqz(b,a);
y=filtfilt(b,a,ef);
subplot(414)
plot(t,y);
xlabel('t');ylabel('滤波所得振动信号');