带通滤波器设计.docx

上传人:b****8 文档编号:12686458 上传时间:2023-06-07 格式:DOCX 页数:15 大小:483.63KB
下载 相关 举报
带通滤波器设计.docx_第1页
第1页 / 共15页
带通滤波器设计.docx_第2页
第2页 / 共15页
带通滤波器设计.docx_第3页
第3页 / 共15页
带通滤波器设计.docx_第4页
第4页 / 共15页
带通滤波器设计.docx_第5页
第5页 / 共15页
带通滤波器设计.docx_第6页
第6页 / 共15页
带通滤波器设计.docx_第7页
第7页 / 共15页
带通滤波器设计.docx_第8页
第8页 / 共15页
带通滤波器设计.docx_第9页
第9页 / 共15页
带通滤波器设计.docx_第10页
第10页 / 共15页
带通滤波器设计.docx_第11页
第11页 / 共15页
带通滤波器设计.docx_第12页
第12页 / 共15页
带通滤波器设计.docx_第13页
第13页 / 共15页
带通滤波器设计.docx_第14页
第14页 / 共15页
带通滤波器设计.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

带通滤波器设计.docx

《带通滤波器设计.docx》由会员分享,可在线阅读,更多相关《带通滤波器设计.docx(15页珍藏版)》请在冰点文库上搜索。

带通滤波器设计.docx

带通滤波器设计

信号与系统

 

带通滤波器设计

 

学生:

吉凯

学号:

1400309003

班级:

14光伏

 

1.设计目的:

设计一种带通滤波器并对信号进行滤波。

一个理想的带通滤波器应该有平稳的通带,同时限制所有通带外频率的波通过。

要求做到:

1).了解MATLAB的信号处理技术;2).掌握带通滤波器的特点;3).掌握带通滤波器的设计和滤波处理技术。

2.设计容和要求(包括原始数据、技术参数、条件、设计要求等):

产生一个连续信号,包含低频、中频、高频分量,对其进行采样,进行频谱分析,并设计带通滤波器对信号进行滤波处理,观察滤波后信号的频谱

3.设计工作任务及工作量的要求〔包括课程设计计算说明书(论文)、图纸、实物样品等〕:

1).熟悉有关采样,频谱分析的理论知识,对信号作频谱分析;

2).熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标,设计带通滤波器对信号进行滤波,对比分析滤波前后信号的频谱;

3).实现信号频谱分析和滤波等有关Matlab函数;

4).写出基本原理,有关程序,得到的图表,结果分析,总结;

5).递交课程设计说明书。

 

设计任务书

 

设计目的要求……………………………………………………………………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带通滤波器的频率响应图

三、设计容

本次设计中利用双线性变换法和buttord、butter这两个函数直接设计数字滤波器。

设定巴特沃斯带通数字滤波器指标:

通带围为:

150-350Hz,阻带上限为:

400HZ,阻带下限为100Hz,通带最大衰减

=2dB,阻带最小衰减为

=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连续信号抽样结果波形图

图5连续信号进行抽样后的频谱图

3.根据设定要求设计带通滤波器。

(1)程序代码:

fp=[100300];fs=[50350];

ap=2;as=30;

fsa=2000;

wp=fp/fsa*2;ws=fs/fsa*2;

[n,wn]=buttord(wp,ws,ap,as);

[B,A]=butter(n,wn);

[H,w]=freqz(B,A,512);

figure(5);subplot(2,1,1);

plot(w*2000/(2*pi),abs(H));%绘制带通频谱图

xlabel('Hz');ylabel('频率响应幅度');

title('带通滤波器');

grid;

subplot(2,1,2);plot(w/pi,angle(H));

xlabel('Hz');ylabel('angel');

title('相位特性');

grid;

(2)程序运行结果如图6:

图6带通滤波器的频率响应和相位特性曲线

4.对信号进行滤波

(1)程序代码:

y=filter(B,A,x);

figure(8);subplot(2,1,1);plot(y);

xlabel('t');ylabel('x(t)');

title('连续信号');

grid;

Y=fft(y,512);w=(0:

255)/256*1000;

subplot(2,1,2);plot(w,abs([Y(1:

256)]));%绘制频谱图

xlabel('Hz');ylabel('频率响应幅度');

title('频谱图');

grid;

(2)程序运行结果如图7:

图7滤波后信号时域和频域波形图

5.总程序代码

f1=30;

f2=200;

f3=500;

t=(1:

100)/2000;

x1=sin(2*pi*t*f1);

figure

(1);subplot(2,1,1);plot(x1);%绘制x(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;

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;

fp=[100300];fs=[50350];

ap=2;as=30;

fsa=2000;

wp=fp/fsa*2;ws=fs/fsa*2;

[n,wn]=buttord(wp,ws,ap,as);

[B,A]=butter(n,wn);

[H,w]=freqz(B,A,512);

figure(5);subplot(2,1,1);

plot(w*2000/(2*pi),abs(H));%绘制带通频谱图

xlabel('Hz');ylabel('频率响应幅度');

title('带通滤波器');

grid;

subplot(2,1,2);plot(w/pi,angle(H));

xlabel('Hz');ylabel('angel');

title('相位特性');

grid;

y=filter(B,A,x);

figure(8);subplot(2,1,1);plot(y);

xlabel('t');ylabel('x(t)');

title('连续信号');

grid;

Y=fft(y,512);w=(0:

255)/256*1000;

subplot(2,1,2);plot(w,abs([Y(1:

256)]));%绘制频谱图

xlabel('Hz');ylabel('频率响应幅度');

title('频谱图');

grid;

四、带通滤波器设计中使用函数

计算幅值函数:

abs;

计算相位角函数:

angle;

设定图像显示窗口函数:

figure,如:

figure

(1),figure

(2);

分割figure,创建子坐标系函数:

subplot;

在图形底层显示格点,便于参照比对函数:

grid;

Butterworth设计带通滤波器[B,A]=BUTTER(N,Wn),N为阶数,Wn与Fs有关;

模拟滤波器的频率响应函数:

freqs;

数字滤波器的频率响应函数:

freqz;

实现滤波函数:

Filter

对于离散序列,MATLAB用stem()命令实现其绘制

五、结果分析

设计过程中,首先产生连续输入信号,包含中频(f=200Hz),高频(f=500Hz),低频(f=30Hz)分量,然后对其进行采样,利用傅里叶变换进行频谱分析,并由带通滤波器的参数设计带通滤波器对信号进行滤波处理,对应带通滤波器的通带围是(100,300),从运行结果图中可以看出,经过带通滤波器滤波后信号对应的频率为原信号中的中频分量(f=200Hz)。

对比波形如下图8:

a滤波前信号波形图

b滤波后波形图

图8滤波前后信号波形对比图

由上述结果显示,在误差允许的围实验结果与理论结果相同。

出现误差的原因:

在设计滤波器的参数时并不是十分的准确,在不同计算机上运行MATLAB时会有一定的偶然误差,从而导致实验误差的存在。

六、设计心得

此次带通滤波器的课程设计,我们是用三个信号(分别为高、中、低频)相结合产生一个连续的输入信号,以巴特沃斯滤波器为原型设计出带通滤波器,继而用这个带通滤波器对连续的输入信号进行滤波,产生一个带通输出。

由课本上知识已知,一个理想的滤波器是物理不可实现的,肯定会有一些误差,应该做的就是尽量减小误差,去跟理想逼近。

在此次课程设计中,就是运用这个原理进行设计,希望设计出的滤波器尽量逼近理想情况。

一个理想的带通滤波器应该有平稳的通带,同时限制所有通带外频率的波通过,而实际上,并不能完全实现这种理想的状态,所以我们设计时,一遍遍地改变设计参数,继而调试运行,查看调试出的图形结果,使它能尽量的逼近理想滤波器。

课程设计过程中,我最大的收获就是对MATLAB有了更深刻的认识,以前对这个软件只是有一点点的理解,平时做实验时接触了一下下,但是在这一周,通过不断地接触、应用、与同学讨论、查课外资料等等途径,现在可以说用起它来基本上是可以得心应手了。

这段时间,通过对这个软件的接触,我深感于MATLAB强大的功能,它不仅具有高效的计算能力、灵活的图形处理能力、简单易懂的编程语言,更重要的是它对图形有超强的逼近模仿能力,应用起来非常方便。

对于每次的实验,由于时间有限,我总是处在有很多疑问的状态,得不到及时的解答,而这次的课程设计,历时一周,让我有充分的时间去思考、去查阅相关资料、和同学讨论,并询问了相关的代课老师,真正的学到了好多东西,也是少有的几次真正透彻地理解了其原理、不再存在未解决的疑问的设计。

设计过程中,我们也遇到了很多问题。

起初用的是椭圆滤波器为原型来设计这个需要的带通滤波器,因为椭圆滤波器对带通来说有较多的优点。

根据设计参数的要求,和我以前对这个滤波器的认识,我得出了初步的设计结果,所以有了设计结果之后再回顾过来,我们存在好多问题无法解决,查阅了相关书籍还是有一些疑问存在。

最终,我决定放弃这个方案,改用对带通来说也能很逼近的巴特沃斯滤波器。

不过虽然是学过的东西,要真正做起来,也并没那么简单。

了解了巴特沃斯滤波器所有的参数特性以后,结合题目的要求,一遍遍地修改拟定的参数,使得最后滤波的结果能尽量的最逼近理想结果。

经过多次的修改之后,终于定下了它最后需要的参数,设计出了能力围之的最理想的滤波器,并选择了不会产生失真的符合要求的连续输入信号,经过调试运行之后,最后的设计结果都在控制围之。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2