平滑滤波器的设计和分析

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

相关文档
最新文档