带通滤波器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统带通滤波器设计
学生姓名:***
学号:**********
班级:14光伏
设计任务书
目录
设计目的要求 (7)
设计原理 (7)
设计内容 (8)
1. 连续输入信号产生 (8)
2.抽样、频谱分析 (11)
3.带通滤波器设计 (12)
4.滤波结果 (13)
5.总程序 (14)
使用函数说明 (17)
结果分析 (17)
设计心得 (17)
一、设计目的要求
要求产生一个连续信号,包含低频、中频、高频分量,对其进行采样,进行频谱分析,并设计带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。
1.熟悉有关采样,频谱分析的理论知识,对信号作频谱分析;
2.熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标,设计带通滤波器对信号进行滤波,对比分析滤波前后信号的频谱;
3.实现信号频谱分析和滤波等有关Matlab函数;
4.写出基本原理,有关程序,得到的图表,结果分析,总结;
二、设计原理
1.利用MATLAB软件产生一个包含低频、中频、高频分量的连续信号。
2.对信号进行抽样,进行频谱分析。
(1)时域采样(奈奎斯特采样)定理:为了避免产生混叠现象,能从抽样信号无失真地恢复出原信号,抽样频率必须大于或等于信号频谱最高频率的两倍。本设计中信号最高频率是300Hz,抽样频率采用1200Hz。
(2)频谱分析:频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。
3.带通滤波器滤波的工作原理
现代生活中,为了滤除谐波干扰,获得所需要的高精度的模拟信号,经常要用到滤波器对信号进行滤波。典型的模拟滤波器有巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)
滤波器和椭圆(Ellipse)滤波器等。其中,巴特沃斯滤波器又叫最平坦响应滤波器,顾名思义,它的响应最为平坦,通带内没有波纹,其频率响应在通带和阻带中都是单调的,且在靠近零频处最平坦,而在趋向阻带时衰减单调增大,
巴特沃斯响应能够最大化滤波器的通带平坦度。该响应非常平坦,
非常接近DC 信号,然后慢慢衰减至截止频率点为-3dB ,最终逼近-20ndB/decade 的衰减率,其中n 为滤波器的阶数。巴特沃斯滤波器特别适用于低频应用,其对于维护增益的平坦性来说非常重要。本次课程设计将使用巴特沃斯带通滤波器对信号进行滤波。滤波器的结构框图如下图1 所示:
图1 滤波器的结构框图
相对于低通滤波器的通带频率为(0,w),带通滤波器的通带频率问为(w1,w2),带通滤波器是指某一频率范围内的频率分量能通过,但将其他范围的频率分量衰减到极低水平的滤波器,信号通过线性系统后,其输出就是输入信号和系统冲激响应的卷积。从频域分析来看,信号通过线性系统后,输出信号的频谱将是输入信号的频谱与系统传递函数的乘积。除非输入信号为常数,否则输出信号的频谱将不同于输入信号的频谱,信号中某些频率成分较大的模滤波后这些频率成分将得到加强,而另外一些频率成分很小甚至为零的模,这部分频率分量将被削弱或消失。因此,带通滤波系统的作用相当于对输入信号的频谱进行加权。带通滤波器的频率响应图如下图2。
图2 带通滤波器的频率响应图
三、设计内容
采样
(1200HZ )
连续混合
信号
带通滤波器
输出
本次设计中利用双线性变换法和buttord、butter这两个函数直接设计数字滤波器。设定巴特沃斯带通数字滤波器指标:通带范围为:150-350Hz,阻带上限为:400HZ,阻带下限为100Hz,通带最大衰减pα=2dB,阻带最小衰减为sα=30dB,采样频率为fsa=1200Hz。设计步骤为:
1. 首先产生一个连续输入信号,包含中频(f=200Hz),高频(f=500Hz),低频(f=30Hz)分量。
(1)程序代码
f1=30;
f2=200;
f3=500;
t=(1:100)/2000;
x1=sin(2*pi*t*f1);
figure(1);subplot(2,1,1);plot(x1); %绘制x1(t)的图形
xlabel('t');ylabel('x1(t)');
title('连续信号');
grid;
x2=sin(2*pi*t*f2);
subplot(2,1,2);plot(x2); %绘制x2(t)的图形
xlabel('t');ylabel('x2(t)');
title('连续信号');
grid;
x3=sin(2*pi*t*f3);
figure(2);subplot(2,1,1);plot(x3); %绘制x3(t)的图形
xlabel('t');ylabel('x3(t)');
title('连续信号');
grid;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
subplot(2,1,2);plot(x); %绘制x(t)的图形xlabel('t');ylabel('x(t)');
title('连续信号');
grid;
(2)程序运行结果如图3:
图3 包含低频、中频、高频分量的连续信号的波形图2. 对连续输入信号进行采样,进行频谱分析。
(1)程序代码:
n=[1:100];t=n/2000
X=fft(x,512);w=(0:255)/256*1000;
x=sin(2*pi*t*f1)+sin(2*pi*t*f2)+sin(2*pi*t*f3);
figure(3);stem(x); %绘制x(n)的图形xlabel('n');ylabel('x(n)');
title('数字信号');
grid;
figure(4);plot(w,abs([X(1:256)])); %绘制频谱图
xlabel('Hz');ylabel('频率响应幅度');
title('频谱图');
grid;
(2)程序运行结果如图4、图5:
图4 连续信号抽样结果波形图