小波实验1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
哈尔滨工业大学
小波理论及应用上机报告
院(系)电气工程及自动化学院学科仪器仪表工程
姓名陈鹏宇
学号15S101121
上机实验内容Butterworth滤波器
实验一:滤波器
一、实验内容
Butterworth 滤波器冲击响应函数为:
,0()0,
0t Ae t h t t α-⎧≥=⎨<⎩若若 ⑴ 求()ˆh
ω; ⑵ 判断是否因果;是低通、高通、带通还是带阻?
⑶ 对于信号3()(sin 22sin 40.4sin 2sin 40)t f t e t t t t -=++,0t π≤≤,画出()f t 图形;
⑷ 画出滤波后图形()f h t *,比较滤波前后图形,你会发现什么,这里取10A α==
⑸ 取()(sin5sin3sin sin 40),t f t e t t t t -=+++采用不同的变量值A α=()
10A α==初始设定,画出原信号图形与滤波后图形,比较滤波效果 二、实验过程
(1) 由连续傅里叶变换公式可求得()ˆh
ω: ()()0ˆi t t i t A h h t e dt Ae e dt i ωαωωαω
+∞+∞----∞===+⎰⎰ (1) (2) 由冲击响应函数 h(t)可知,t<0时h(t)=0;可以得出滤波器为因果滤波器;
由()ˆh
ω可知该信号的幅频特性为: (
)H ω= (2) 当α1A ==时,其幅频特性曲线如图1所示,因此为低通滤波器。
图1 滤波器幅频特性
(3)()
f t,(b)为幅频特性
f t的图形如图二所示,(a)为()
图2 时域和频域图形
(4)画出*()
f h t的结果如图2所示,A= α = 10:
图3 f*h(t)卷积结果
其中图3(a)、(b)分别为原始信号f(t)的时域和频域,(c)、(d)为h t(A =α = 10)卷积后的信号的时域和频域图。
可以看出信号中高频分量被抑制,信号的信噪比明显改善了。
(5)实验中A和的取值,通过实验得到的结果分别如下:
1)A= α = 10
2)A= α = 20,滤波时域和频域图形
3)A= α= 100,滤波时域和频域图形
4)A= α= 5,滤波时域和频域图形
5)A= α= 1,滤波时域和频域图形
图8 A= α= 1,滤波时域和频域图形
通过对比各种参数滤波器的滤波效果,可以发现A值的大小会影响信号的幅值,A值越大滤波器对信号的放大作用越大,但噪声也被放大,而则影响滤波器的截止频率,越小h(t)的截止频率越小,对高频信号的滤除效果越好。
在实际应用中可以根据信号的特性来选取不同的A值和值,使得滤波器对信号的滤除效果达到最佳。
其中图8的参数为A= 1,α= 1,此时滤波效果为各种滤波器
的效果中最好的,可以优先选择。
MATLAB源码:
//buterwause.m
%% 清理资源
tic;
clear;clc;close all;
bdclose all;
%% 绘制f(t)信号图像
figure(1)
t=0:pi/200:pi;
f=exp(-t/3).*(sin(2*t)+2*sin(4*t)+0.4*sin(2*t).*sin(40*t)); subplot(121);
plot(f);
xlabel('t');
ylabel('f(t)');
title('原始信号时域曲线');
ftw=fft(f);
len_ft=round(length(ftw));
n_ft=[0:len_ft-1];
w_ft=2*n_ft/len_ft;
subplot(122);
plot(w_ft,abs(ftw(1:len_ft)));
title('原始信号幅频特性');
xlabel('w/pi');
ylabel('S(jw)');
%% 滤波器参数A= α = 10
figure(2)
h1=10*exp(-10*t);
plot_function(f,h1,10);
%% A = α = 20;
figure(3)
h2=50*exp(-50*t);
plot_function(f,h2,20);
%% A= α = 100
figure(4)
h3=100*exp(-100*t);
plot_function(f,h3,100);
%% A = α = 5
figure(5);
h4=5*exp(-5*t);
plot_function(f,h4,5);
%% A= α = 1;
figure(6);
h5=1*exp(-1*t);
plot_function(f,h5,1);
toc
//plot_function.m
function plot_function(ft,ht,A)
%% 绘制原始信号曲线
subplot(221);
plot(ft);
xlabel('t');
ylabel('f(t)');
title('(a).原始信号时域曲线');
ftw=fft(ft);
len_ft=round(length(ftw));
n_ft=[0:len_ft-1];
w_ft=2*n_ft/len_ft;
subplot(222);
plot(w_ft,abs(ftw(1:len_ft)));
title('(b).原始信号幅频特性');
xlabel('w/pi');
ylabel('S(jw)');
%% 滤波后
% 卷积
res =conv(ft,ht);
% 时域
subplot(223);
plot(res);
xlabel('t');
ylabel('f(t)');
A = ['(c).滤波后时域,A= α = ',num2str(A)]; title(A);
% 频域
ftw = fft(res);
len_ft=round(length(ftw));
n_ft=[0:len_ft-1];
w_ft=2*n_ft/len_ft;
subplot(224);
plot(w_ft,abs(ftw(1:len_ft)));
title(ht);
xlabel('w/pi');
ylabel('S(jw)');
A = ['(d).滤波后时域,A= α = ', A]; title(A);)');。