平滑滤波器的设计和分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理
实验报告
一、实验目的:
1.掌握用平滑滤波器滤除高频噪声的方法
2. 理解M 值和滤波效果的关系。
3.会使用filter 命令来设计滤波器。
二、实验内容
使用matlab 编写程序,实现平滑滤波器,用平滑滤波器滤掉附加在原始信号上的高频噪声。改变M 的大小,观察滤波的效果。总结M 值对滤波效果影响。认真研究filter 的功能和使用方法。
三、实验原理与方法和手段
1,三点平滑滤波器(FIR )的表达式:
[])2()1()(31)(-+-+=n x n x n x n y ,∑-=-=10)(1)(M k k n x M n y 令:)50
47cos()();10cos()(21n n s n n s ππ== )()()(21n s n s n x +=
其中:1s 是低频正弦信号,2s 是高频正弦信号
四、程序设计
n = 0:100;
s1 = cos(2*pi*0.05*n); %低频信号
s2 = cos(2*pi*0.47*n) % 高频信号
x = s1+s2;
% 两信号叠加
M = input('滤波器长度 = ');
num = ones(1,M);
y = filter(num,1,x)/M;
% 显示输入与输出的信号
clf;
subplot(2,2,1);
plot(n, s1);
axis([0, 100, -2, 2]);
xlabel('n'); ylabel('A');
title('信号1图像');
subplot(2,2,2);
plot(n, s2);
axis([0, 100, -2, 2]);
xlabel('n'); ylabel('A');
title('信号2图像');
subplot(2,2,3);
plot(n, x);
axis([0, 100, -2, 2]);
xlabel('n'); ylabel('A');
title('输入信号');
subplot(2,2,4);
plot(n, y);
axis([0, 100, -2, 2]);
xlabel('n'); ylabel('A');
title('输出信号');
axis;
五、结果及分析
平滑滤波器(FIR)允许低于截止频率的信号通过,但高于截止频率的信号被滤波器滤除,具有低通特性。s1、s2、x信号与M值无关,这三信号不受M值的影响。观察输出信号的波形,y信号的幅值随M值的增大而减少,同时噪声也随M值的增大而减少,这是因为M 值的增大使低通滤波器的长度增长了。另外,当M值增大到一定值时(如M为100),输出信号十分微弱,这是因为此时的M值使得滤波器的截止频率降得极低,输入信号几乎完全被滤除。
M=3
M=10
M=30