数字信号处理设计实验报告 西电

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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信号时域波形');

相关文档
最新文档