数字信号处理设计实验报告 西电
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理
设计实验报告
一、实验目的
通过实验学会设计IIR和FIR数字滤波器分离多个信号,并用matlab实现。
二、实验内容
用数字信号处理技术实现两个时域重叠信号的分离,及相位检
波,设计分离和检波的方法,编写计算机程序,模拟信号处理过程,绘出时域和频域的处理结果。
)(1n s
)(n a
)()()(21t s t s t s += )(s n
)(s 2n
)(n b 三、程序设计
模拟信号的时域波形,频谱
Fs=40000;
t=0:1/Fs:4;
s1=cos(2*pi*30*t).*cos(2*pi*100*t);
s2=cos(2*pi*70*t).*cos(2*pi*700*t);
st=s1+s2;
S1=abs(fftshift(fft(s1)))/80000;
S2=abs(fftshift(fft(s2)))/80000;
ST=abs(fftshift(fft(st)))/80000;
F = (-80000:80000)*0.25
figure(1)
subpl ot(321);
pl ot(t,s1);titl e('s1时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.1 -1 1])
subpl ot(322);
pl ot(F,S1);titl e('s1频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
subpl ot(323);
采样 滤波器滤波器滤波器2
滤波器4
pl ot(t,s2);titl e('s2时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.05 -1 1])
subpl ot(324);
pl ot(F,S2);titl e('s2频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
subpl ot(325);
pl ot(t,st);titl e('st时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.05 -1 1])
subpl ot(326);
pl ot(F,ST);titl e('st频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
采样信号的时域波形,频谱
Fs1=4000;
t1=0:1/Fs1:4; N = 0:l ength(t1)-1
s1n=cos(2*pi*30*N/Fs1).*cos(2*pi*100*N/Fs1); s2n=cos(2*pi*70*N/Fs1).*cos(2*pi*700*N/Fs1); sn=s1n+s2n;
S1N=abs(fftshift(fft(s1n)))/8000;
S2N=abs(fftshift(fft(s2n)))/8000;
SN=abs(fftshift(fft(sn)))/8000;
F1 = (-8000:8000)*0.25
figure(2)
subpl ot(321);
stem(t1,s1n);titl e('s1n时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.05 -1 1])
subpl ot(322);
pl ot(F1,S1N);titl e('S1N频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
subpl ot(323);
stem(t1,s2n);titl e('s2n时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.025 -1 1])
subpl ot(324);
pl ot(F1,S2N);titl e('S2N频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
subpl ot(325);
stem(t1,sn);titl e('sn时域波形');
xlabel('时间t');ylabel('幅度');grid on;
axis([0 0.025 -1 1])
subpl ot(326);
pl ot(F1,SN);titl e('SN频谱');
xlabel('频率F');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
通过前级滤波器的波形
fp1 = 300;fs1 = 400;Rp = 1;Rs=40
Wp1=2*fp1/Fs1;Ws1=2*fs1/Fs1; %%滤波器1
[M1,Wc1]=buttord(Wp1,Ws1,Rp,Rs);
[Bz1,Az1]=butter(M1,Wc1,'low');
fp2 = 500;fs2 = 400;Rp = 1;Rs=40
Wp2=2*fp2/Fs1;Ws2=2*fs2/Fs1; %%滤波器2
[M2,Wc2]=buttord(Wp2,Ws2,Rp,Rs);
[Bz2,Az2]=butter(M2,Wc2,'high');
s3=filter(Bz1,Az1,sn); %信号通过低通滤波器
S3=abs(fftshift(fft(s3)))/8000; %%还原真实幅值,由于是N个点的叠加s4=filter(Bz2,Az2,sn); %信号通过高通滤波器
S4=abs(fftshift(fft(s4)))/8000; %%还原真实幅值,由于是N个点的叠加figure(3)
subpl ot(221);
pl ot(t1,s3);titl e('通过前级低通滤波器1信号时域波形');
xlabel('时间t');ylabel('幅值');grid on
axis([0 0.1 -1 1])
subpl ot(222);
pl ot(F1,S3);titl e('通过前级低通滤波器1信号频谱图');
xlabel('频率f');ylabel('幅值');grid on;
axis([-1000 1000 0 1])
subpl ot(223);
pl ot(t1,s4);titl e('通过前级高通滤波器1信号时域波形');