FIR滤波器设计及简单应用
- 格式:doc
- 大小:232.00 KB
- 文档页数:12
目录1、课程设计的目 (1)2、课程设计的基本要求 (1)3、课程设计内容 (1)3.1 基于USB总线或PCI总线A/D卡的报告 (1)3.1.1 USB总线介绍 (1)3.1.2 USB接口的数据采集系统的设计实现 (1)3.1.3 USB接口电路设计 (2)3.1.4 A/D转换电路............................ 错误!未定义书签。
3.1.5 控制电路及数据缓冲电路 (3)3.2 FIR滤波器设计及简单应用 (5)3.2.1 滤波器原理及设计方法 (5)3.2.2MATLAB仿真程序及结果分析 (6)4、学习matlab的心得体会与本次课程设计的心得体会 (10)5、参考文献 (11)1、课程设计的目的本课程设计通过对信号的采样、抽取、分析、等多种处理过程的理论分析和MATLAB实现,使学生进一步巩固数字信号处理的基本概念、理论以及频谱分析方法和数字滤波器设计方法;使学生掌握的基本理论和分析方法只是得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
2、课程设计的基本要求①学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法;②掌握数字信号处理的基本概念、基本理论和基本方法;③要求三位同学共同完成。
3、课程设计内容3.1.基于USB总线A/D卡的报告3.1.1 USB总线介绍USB总线是Intel,DEC,M ic rosoft,IBM等公司联合提出的一种新的串行总线接口规范,是为了解决日益增加的PC外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信标准。
USB具有较高的传输速度: USB协议1.1支持低速(1.5 Mb/s)和全速(12 Mb/s)2种传输模式,而2.0协议支持的速度提高到480 Mb/s。
他的数据传输速度比标准串/并口高,且具有使用简单、支持即插即用、易于扩展等特点。
USB接口采用4线电缆,其中2根信号线,1根电源线和1根地线,电源线可以向外设提供最大5 V,500 mA的电流。
USB接口有4种传输方式:控制传输、批量传输、终端传输和同步传输,可以满足不同传输的需要。
3.1.2 USB接口的数据采集系统的设计实现整个系统主要由4部分组成:USB接口芯片及外围电路、控制电路、数据缓冲电路和A/D转换电路。
USB接口芯片选择了Cypress公司的EZ-USB 2131Q,该芯片内嵌8051控制器,因此整个系统以EZ-USB控制器为核心,由EZ-USB经控制电路实现对A/D转换电路和数据缓冲电路的控制,模拟信号转换后的数据送入数据缓冲器,当数据缓冲器存满之后,通知EZ-USB控制器,由主机取出数据。
整个系统框图如图1所示。
3.1.3 USB接口电路设计EZ-USB2131Q是CYPRESS公司生产的EZUSB系列芯片的一种,该芯片集成了USB外设接口所需的功能电路,其原理框图如图2所示。
AN2131Q具有24个I/O引脚,16 b地址总线和8 b数据总线,可以进行外部存贮器的扩展。
图2中的微处理器是一个具有快速执行周期和加强特性的8051核,其性能是标准8051的5倍,指令系统与标准的8051兼容。
他使用内部RAM存储固件和数据,上电后USB主机通过USB总线将固件和外设特性描述符下载到RAM中,然后重新连接,按照描述符中定义的外设特性完成重列举。
这使得USB有一个“软”解决方案,即USB外设的设计者可以随时设置和升级固件,不受端口数、缓冲大小、传输速度及传输方式的限制。
本系统中EZ-USB的外围电路主要包括EZ-USB芯片和PC机的接口电路、电源模块及EZ-USB 供电电路、E2PROM枚举电路(I2C总线上连接 E2PROM存储设备的PID,VID),其主要功能是保证EZ-USB芯片的正常工作并实现和PC机的通讯;功能电路是利用他的I/O引脚实现的,由于EZ-USB的 I/O是可编程的,通过寄存器设置PA口的高4位和PB口为输入,用来传输数据缓冲器中的12 b 数据,利用 C口接收中断和产生控制信号。
EZ-USB为块传输、控制传输和中断传输提供了16个端点,在数据采集系统设计中使用了块传输方式,使用终端2-in来传输数据,允许的最大数据包为64 B;终端1-out和终端3-out输出控制信号。
3.1.4 A/D转换电路系统中A/D转换芯片采用了MAXIM公司的MAX122,该芯片是12 b的高速的A/D转换器。
在完全转换模式下,他的转换时间可以达到2.6μs,采样率为333 kS/s。
MAX122有5种工作模式,在数据采集系统中,采用了模式2即连续转换模式。
在这种模式下,每次转换需要13~14个时钟脉冲节拍,转换可以不间断地进行,但是需要提供开始转换使能信号,并且要保证使能信号和时钟信号同步,读信号和片选始终处于有效状态。
数据输出使能信号一直有效,在转换结束时产生新的数据。
3.1.5 控制电路及数据缓冲电路A/D转换器MAX122的采样率较高,得到的数据不能通过USB总线直接传送给主机,因此需要在A/D转换器和主机之间连接数据缓冲器,A/D转换器产生的数据先存储在缓冲器中,当缓冲器数据存满之后,通知主机取走数据。
这里的数据存储器使用的是128 k×8的静态RAM,使用2片并接将数据线扩展成16 b。
控制电路是整个系统的核心,系统中采用一片Altera公司的EPM7128设计实现控制电路,该器件具有在线调试的功能,因此给设计带来了很大的方便。
控制电路的原理框图如图3所示。
控制电路主要由以下部分组成:逻辑控制电路、时钟电路、三态缓冲电路、时序逻辑控制电路和地址发生器。
逻辑控制电路接收USB控制器发出的控制信号,产生三态缓冲电路和时钟电路的控制信号;三态缓冲电路控制数据传输方向,是由MAX122传输到RAM,还是由RAM传输到USB控制器;时钟电路用来产生MAX122的时钟信号CLKIN和转换开始信号CONVST,以及地址发生器的时钟信号;时序逻辑电路调整相关信号之间的同步,保证电路的时序正确;地址21发生器由计数器来实现,提供RAM的读写地址信号。
系统的工作过程如下:控制电路接收到开始采集信号时,控制三态缓冲电路的数据传输方向为A/D转换器转换的数据存入SRAM中,并且使时钟电路产生A /D转换器的转换开始信号CONVST、时钟CLKIN 信号和地址发生器的时钟信号及控制信号。
CONVST和CLKIN信号还必须通过时序逻辑控制电路调整使2个信号同步,CONVST信号在下一个时钟信号(CLKIN)上升沿来到之前保持低电平至少50 ns,确保转换时间为13个时钟周期。
并且地址发生器的时钟信号也要和CONVST信号同步,使A/D转换器产生的数据能存入正确的地址中。
控制电路接收到读数据的信号时,便产生控制信号,使三态数据缓冲器的数据传输方向是从SRAM到USB控制器,地址发生器产生的地址信号是SRAM的读地址。
当地址发生器的计数器计数到1FFFFH(128 kb),即RAM的最后一个地址时,计数器发生溢出,产生溢出中断信号INT0和INT1到USB控制器的PC口的第2位和第3位(设置为8051辅助功能位),当USB接收到中断信号之后,在中断服务程序中,进行相应的读处理。
SRAM的读/写是相互独立的,由地址发生器产生地址信号,地址发生器由计数器来实现。
当开始采集数据时,对RAM进行写操作,地址发生器产生的地址信号清0,同时必须使能RAM的写使能,在写使能低有效时,数据就写入SRAM。
时钟信号和A/D转换器的转换时钟相一致,每产生一个数据,地址自动加1。
当采集结束时,主机发出命令取出数据,对RAM进行读操作,当第一个读脉冲到达时,地址发生器产生的地址信号清0,时钟信号和USB控制器读的周期相一致,每读一个字节,地址自动加1。
3.2 FIR滤波器设计及简单应用3.2.1 滤波器原理及设计方法FIR滤波器原理:FIR滤波器具有严格的线性相位特性。
FIR滤波器的设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
FIR滤波器设计方法:由于白噪声分布在整个频带,所以需要在不衰减原信号的前提下,对整个频带进行滤波,设计一个带过渡带的的多带FIR滤波器。
采用firls函数,其调用格式为b=firls(n,f,m),其中n为滤波器阶数;f为转换频率向量,在0-1之间;m为滤波器幅频响应中的频带增益向量。
滤波器技术指标:在[95/500 105/500](即[0.19 0.21])段和[130/500 145/500](即[0.26 0.29])段频带内的幅度为1,在[0/500 90/500](即[0 0.18])段、在[110/500 115/500](即[0.22 0.23])段、在[150/500 500/500](即[0.3 1])段频带内的幅度为0。
相关的MATLAB函数:randn:产生白噪声freqz():计算频率响应firls():产生具有线性相位的fir滤波器 filter():对信号进行滤波3.2.2MATLAB仿真程序及结果分析MATLAB仿真程序如下:fs=1000;t=0:1/fs:1;x=sin(100*2*pi*t)+2*sin(140*2*pi*t);y=x+randn(size(t)); %randn产生一高斯白噪声subplot(321);plot(t,x);grid;title('initial siginal');[h1,w1]=freqz(x); %freqz():计算频率响应subplot(322);plot(w1*fs/(2*pi),abs(h1));grid;xlabel('f/Hz');ylabel('magnitude');title('frequency response of initial siginal');subplot(323);plot(t,y);grid;title('siginal with white noise');[h2,w2]=freqz(y);subplot(324);plot(w2*fs/(2*pi),abs(h2));grid;xlabel('f/Hz');ylabel('magnitude')title('frequency response of signal with white noise'); n=40; %滤波器阶数f=[0 0.18 0.19 0.21 0.22 0.23 0.26 0.29 0.3 1]; %频率点矢量m=[0 0 1 1 0 0 1 1 0 0]; %幅度矢量b=firls(n,f,m); %产生具有线性相关的fir滤波器y1=filter(b,1,y); %对信号进行滤波subplot(325);plot(t,y1);grid;title('filtered signal');[h3,w3]=freqz(y1);subplot(326);plot(w3*fs/(2*pi),abs(h3));grid;xlabel('f/Hz');ylabel('magnitude');title('frequency response of filtered signal');MATLAB仿真结果原始、加噪、滤波后信号如图4所示图4.原始、加噪、滤波后信号FIR多带滤波器幅频响应特性如图5所示图5.FIR多带滤波器幅频响应特性实验结果分析:通过FIR滤波器滤波后,有效的将大于150Hz和小于100Hz的信号明显被削弱甚至是完全滤掉,有效的削弱了干扰信号,提高了有效信号的质量。