数字信号处理实验报告1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数字信号处理》实验报告
实验一:数字低通、高通滤波器实验实验二:数字带通、带阻滤波器实验
系别:信息科学与技术系
专业班级:电子信息工程0902班
学生姓名:王俊知(053)
同组学生:
成绩:
指导教师:刘海龙
(实验时间:20年月日——20年月日)
华中科技大学武昌分校
实验一数字低通、高通滤波器实验
1、实验目的
使学生了解和熟悉软件Matlab的使用,了解数字低通、高通滤波器零极点的作用及数字低通、高通滤波器的幅频特性和相频特性。使学生熟悉整数型滤波器的设计。
2、实验内容与步骤
1、在计算机上运行Matlab软件,根据滤波器的参数,用Matlab软件设计出数字低通、高通滤波器、画出数字低通、高通滤波器的幅频特性和相频特性的程序,或按照范例程序进行修改,运行程序,观察滤波器的零极点分布图、幅频特性和相频特性图。
2、改变滤波器的零极点分布,再运行程序,观察幅频特性和相频特性的不同,滤波器的通带有什么改变。
3、再次修改程序,输入数字信号,使其通过滤波器,并画出输入、输出滤波器的数字信号波形,运行程序。观看输入、输出滤波器的数字信号波形,仔细观察其区别。
3、实验设备
1、实验场所:信息科学与技术系实验室机房。
2、硬件设备:计算机若干(由学生人数定)。
3、实验软件:Matlab。
整系数低通滤波器
程序如下:
clear all;
clc;
close all;
m=10;
for i=1:m+1
if i==1B(i)=1;
else
if i==m+1B(i)=-1;
else B(i)=0;
end
end
end
A=[1,-1];
N=8192;
[H,f]=freqz(B,A,N);
plot(f*25/pi,abs(H));grid;
figure,plot(f*25/pi,angle(H));grid;
figure,zplane(B,A);
k=0:N-1;f=2*k/N;
load('C:\MATLAB7\work\RawData.mat');
x=rawdata(1,1:N);
w=filter(B,A,x);
figure;plot(x);title('输入信号');
figure;plot(w);title('输出信号');
滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:
整系数高通滤波器程序如下:
clear all;
clc;
close all;
m=10;
for i=1:m+1
if i==1B(i)=1;
else
if i==m+1B(i)=-1;
else B(i)=0;
end
end
end
A=[1,1];
N=8192;
[H,f]=freqz(B,A,N);
plot(f*25/pi,abs(H));grid;
figure,plot(f*25/pi,angle(H));grid;
figure,zplane(B,A);
k=0:N-1;f=2*k/N;
load('C:\MATLAB7\work\RawData.mat');
x=rawdata(1,1:N);
w=filter(B,A,x);
figure;plot(x);title('输入信号');
figure;plot(w);title('输出信号');
滤波器的幅频特性和相频特性曲线、零极点分布、输入、输出滤波器的数字信号波形图:
改变参数
clear all;
clc;
close all;
m=11;
for i=1:m+1
if i==1B(i)=1;
else
if i==m+1B(i)=1;
else B(i)=0;
end
end
end
A=[1,1];
N=8192;
[H,f]=freqz(B,A,N);
plot(f*25/pi,abs(H));grid;
figure,plot(f*25/pi,angle(H));grid; figure,zplane(B,A);
k=0:N-1;f=2*k/N;
load('C:\MATLAB7\work\RawData.mat'); x=rawdata(1,1:N);
w=filter(B,A,x);
figure;plot(x);title('输入信号'); figure;plot(w);title('输出信号');
正负120度零点抵消程序如下:
clear all;
clc;
close all;
m=24;
for i=1:m+1
if i==1B(i)=1;
else
if i==m+1B(i)=-1;
else B(i)=0;
end
end
end
A=[1,1,1];
N=8192;
[H,f]=freqz(B,A,N);
plot(f*25/pi,abs(H));grid;
figure,plot(f*25/pi,angle(H));grid;
figure,zplane(B,A);
k=0:N-1;f=2*k/N;
load('C:\MATLAB7\work\RawData.mat');
x=rawdata(1,1:N);
w=filter(B,A,x);
figure;plot(x);title('输入信号');
figure;plot(w);title('输出信号');