FIR数字滤波器的MATLAB设计及DSP的实现

合集下载

FIR数字滤波器的MATLAB设计与DSP实现

FIR数字滤波器的MATLAB设计与DSP实现

FIR 数字滤波器的MATLAB 设计与DSP 实现摘要针对有限长冲激响应(FIR)数字滤波器的原理,讨论了窗函数法设计线性相位FIR 数字滤波器的基本思路,介绍了用MATIAB 工具来设计数字滤波器的方法及在定点DSP 上的实现。

通过CCS5000开发工具和在TMS320VC5416评估板上运行,实现了达到目标要求的滤波器。

【关键词】:有限冲激响应;数字滤波器;窗函数;数字信号处理芯片引言随着信息和数字技术的发展,数字信号处理已成为当今极其重要的学科和技术领域之一。

它在通信、语音、图像、雷达、军事、航空航天等众多领域得到了广泛的应用。

在数字信号处理的基本方法中,通常会涉及到变换、滤波、频谱分析、调制解调和编码解码等处理。

其中,滤波是应用非常广泛的一个环节,数字滤波器的理论与相关设计也一直都是人们研究的重点之一。

数字滤波器根据其冲激响应函数的时域特性,可分为无限长冲激响应(I-IR)滤波器和有限长冲激响应(FIR )滤波器。

其中FIR 滤波器具有严格的相位特性,同时系统函数的极点固定在原点上,因而该类型的滤波器是稳定的。

FIR 滤波器的设计方法主要有窗函数法、频率取样法和最优线性相位设计法。

其中窗函数设计方法由于其运算简便、物理意义直观,已成为工程实际中应用最广泛的方法,本文从FIR 数字滤波器的原理与基本设计步骤出发,对FIR 数字滤波器在MATLAB 中的仿真与设计的基本思路做了阐述,并在定点DSP 上实现了满足要求的FIR 滤波器。

1 FIR 数字滤波器的原理分析数字滤波器原理一般具有如下差分方程∑∑-=-=-+-=1010)()()(N k N k k k k n y b k n x an y (1)式中)(n x 为输人序列,y (n)为输出序列,k k b a 和为滤波器系数,N 是滤波器阶数。

当所有的k b 均为零,则有∑-=-=10)()(N h k k n x an y (2)(2)式是FIR 滤波器的差分方程,其一般形式为∑-=-=10)()()(N k k n x k h n y (3)对(3)式进行z 变换,整理后可得FIR 滤波器的传递函数∑-=-=10)()()()N k k z k h z X z Y z H ( (4) FIR 数字滤波器的设计方法主要有窗函数法和频率抽样设计法,其中窗函数法是基本而有效的设计方法。

用MATLAB仿真和DSP设计来实现FIR数字滤波器

用MATLAB仿真和DSP设计来实现FIR数字滤波器

用MATLAB仿真和DSP设计来实现FIR数字滤波

随着计算机和信息技术的快速发展,数字信号处理技术在通信与电子技术、航空航天、仪器仪表等诸多领域得到了广泛应用,数字滤波器作为数字信号处理技术的一个重要工具,可用来过滤时间离散信号和数字信号。

在数字信号处理中,数字滤波器占有极其重要的地位,滤波器可以用软件滤波或专用的硬件滤波两种方法实现。

硬件滤波器稳定性差,易老化,精度低。

用软件来实现数字滤波器的优点是随着滤波器参数的改变,很容易改变滤波器性能,从而满足设计需求。

 本设计采用具有严格线性相位、稳定性好的FIR数字滤波器来实现滤波器的设计。

MATLAB作为设计FIR滤波器的强有力工具,为设计应用提供了相应的工具箱,从而将复杂的程序设计简单化为函数调用,简化难度的同时还提高了效率。

TMS320F2812DSP是TI公司推出的一款用于控制和数字信号处理领域的多功能、高性价比的芯片,其优良的性价比使其在数字信号的实时处理中得到了广泛的应用。

本文介绍了采用MATLAB仿真技术和DSP来设计实现FIR数字滤波器。

 1 数字滤波器原理
 对于数字滤波器,描述系统特性用差分方程。

设其输入序列为x(k),输出序列为y(k),则它们之间的关系可以用差分方程来表示:
 y(k})+b1y(k-1)+…+bMy(k-M)=a0x(k)+a1x(k-1)+…+anx(k-N) (1)
 其中,y(k)系数一般取1;b1,…bM及a0,…aN为常系数;对于特定的系统,M和N为常数,分别代表输出最高阶数和输入最高阶数。

DSP与matlab联合设计FIR滤波器

DSP与matlab联合设计FIR滤波器

设计FIR滤波器作业报告学号:姓名:设计FIR滤波器作业报告本设计主要内容是利用MATLAB验证设计思路并用CCS3.3仿真环境设计一个FIR滤波器,要求滤除给定的叠加正弦波的两个较高频分量。

给定波形函数为:y=sin(2*pi*100*t)+sin(2*pi*250*t)+sin(2*pi*270*t)。

1.设计思路:输入信号是频率为100Hz、250HZ、270Hz的合成正弦等幅信号,由于给定的谐波分量最高为270Hz,根据奈奎斯特准则,采样频率应大于最高频率分量的2倍,即大于2*270,故可以以600Hz的采样频率进行采样,即fs=600Hz。

设计了一个截止频率为200Hz的低通滤波器,目的是通过所设计的低通bartlett滤波器将信号源中频率为200Hz以上的信号滤掉,留下频率为100Hz 的信号,达到滤波的效果。

利用MATLAB设计合适的滤波器实现滤波,然后得到其滤波器系数在CCS的simulator方式下编写滤波程序,调用波形数据,实现滤波,并观看滤波前后的信号波形图、频谱图,观察滤波达到预期效果。

2.设计过程1)在MATLAB中进行算法验证MATLAB语言由于具有数值计算功能、符号计算功能、数据可视化功能、建模仿真可视化功能,使得MATLAB在命题构思、模型建立、仿真研究、假想验证、数据源可视化各环节起着强大的作用。

因此在设计中必须先在MATLAB 语言中设计一个FIR滤波器。

本设计采用的是bartlett窗函数。

下面是在MATLAB 中设计的27阶FIR型bartlett滤波器程序:clear all; %请寄存器clf; %清屏N=256; %清数据点fs=600; %采样频率dt=1/fs; %采样时间间隔for t=1:Nf1=250;f2=100;f3=270;y(t)=(sin(2*pi*f1*t*dt)+sin(2*pi*f2*t*dt)+sin(2*pi*f3*t*dt));%产生合成信号 x(t)=round(10000*y(t)); %为DSP汇编程序做数据转换endfigure(1)plot(y),title('滤波前的波形图像');fp=200fst=250NL=26f1=200;w1=2*pi*f1/fswindow=bartlett(NL+1) %窗函数n=1:NL+1hd=sin(w1*(n-NL/2))./(pi*(n-NL/2));hd(NL/2)=0.67;h=hd.*rot90(window)h1=h*32768;h2=fft(h,N); %将信号做FFT变换pyy=h2.*conj(h2); %做功率谱分析f=(0:(N/2-1));for i=1:N/2-1f(i)=f(i)*fs/N;endfigure(2)plot(f,pyy(1:N/2)),title('滤波器的频谱图像');yy1=filter(h,1,y); %滤波figure(3)plot(yy1),title('滤波后的波形图像');y=fft(y,N);pyy=y.*conj(y);f=(0:(N/2-1));for i=1:N/2-1f(i)=f(i)*fs/N;endfigure(4)subplot(1,2,1),plot(f,pyy(1:N/2)),title('滤波前的波形频谱图像');y=fft(yy1,N);pyy=y.*conj(y);f=(0:(N/2-1));for i=1:N/2-1f(i)=f(i)*fs/N;endsubplot(1,2,2),plot(f,pyy(1:N/2)),title('滤波后的波形频谱图像')其中采样点为256个,采样频率为600Hz,输入信号为100Hz、250Hz、270Hz 的合成信号,设定的截止频率为200Hz,通过FIR滤波器后,期望保留的信号是100Hz的信号,200Hz以上的频率基本被滤掉。

FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现

FIR滤波器的MATLAB设计与实现1、设计任务1、用MATLAB软件实现FIR滤波器;2、设计基于DSP的FIR滤波器硬件框图;3、了解用DSP实现FIR滤波器的关键问题;4、完成必要的软件流程图;2.前言在通信与电子信息当中,在对信号作分析与处理时,常会遇到有用信号叠加无用噪声的问题;这些噪声信号有的是与信号同时产生的,有的是在传输过程中混入的,在接收的信号中,必须消除或减弱噪声干扰,这是信号处理中十分重要的问题;根据有用信号与噪声的不同特性,消除或减弱噪声,提取有用信号的过程就称为滤波;滤波器的种类很多,实现方法也多种多样;随着数字技术的飞速发展,数字滤波理论也得到了长足的进步;因此,对数字滤波系统硬件实现的要求也越来越高,而软件模拟的方法不仅能及时地提供系统运行的信息,还可以随时改变系统结构从而验证全新的系统,所以软件仿真变得非常重要;Matlab 是具有很强的科学计算和图形显示功能的软件系统,可以对数字滤波器进行精确设计,并且方便地进行FFT 频谱分析与频谱图显示,从而对数字滤波器进行快速地检验和分析;本文讨论在MATLAB 平台下的FIR 数字滤波器设计与分析;DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器;由于它由具有丰富的硬件资源、高速数据处理能力和强大的指令系统,而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用;DSP分为定点和浮点两种,本文以定点DSP芯片为例,讨论FIR滤波器实现的几个关键问题;所讨论的这些问题,在DSP系统设计中有实际的参考和应用价值;3.FIR 滤波器的原理与MATLAB仿真设计滤波器概述数字滤波在数字信号处理中占有重要的地位,是广泛使用的一种基本线性处理模块,它可以实现模拟器件很难达到的准确线性相位关系特性;数字滤波器分为无限冲激响应滤波器IIR和有限冲激响应滤波器FIR;由于FIR系统只有零点,因此这类滤波器不像IIR 滤波器那样容易取得比较好的通带与阻带衰减特性;要取得好的衰减特性,一般要求Hz 的阶次要高,即N 要大;FIR 滤波器有自己突出的优点,其一是系统总是稳定的,其二是易实现线性相位,其三是只要经过一定的时延,任何非因果有现场序列都能变成因果有限长序列,因而总能用因果系统来实现,其四是FIR 滤波器由于单位冲击响应是有限长的,因而可以用快速傅里叶变换算法来实现过滤信号,从而可以大大提高运算效率;由于FIR 滤波器在阶数相同的条件下运算速度比IIR 滤波器快,同时FIR 滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,常常采用FIR 数字滤波器;目前常用的设计方法主要有窗函数法、频率取样法及等波纹逼近法;本文应用窗函数法设计FIR 数字低通滤波器;具体参数见表一;FIR 数字滤波器基本原理3.2.1窗函数法的基本思想先构造一个线性相位理想滤波器的频率响应()jw d H e ,然后用一个N 点的窗函数wn, (01)n N ≤≤-去截取理想滤波器的单位抽样响应()d h n 通常为无限长,从而得到具有线性相位的实际滤波器的有限长单位抽样响()()()d h n h n w n =;3.2.2基本方法1构造线性相位理想滤波器的频率响应()jw d H e ,为简单起见,若没有90°相移的特殊要求,一般选择滤波器具有第一类线性相位;2求理想滤波器的单位抽样响应()d h n ;3根据技术指标要求和4种形式的线性相位FIR 数字滤波器的特点,选择合适的窗函数wn 及其长度N,然后对()d h n 加窗函数截取,得到具有线性相应的实际FIR 数字滤波器的单位抽样相应()()()d h n h n w n =,(01)n N ≤≤-;4检验实际滤波器的频率响应()[()]jw H e DTFT h n =是否满足设计指标要求;3.2.3用窗函数设计FIR 滤波器的步骤1根据技术要求确定线性相位理想滤波器的频率响应()jw d H e ;2求理想滤波器的单位抽样响应()d h n ;3根据对过渡带及阻带衰减的要求,选择窗函数的形式,并估计窗口长度N,设待求滤波器的过渡带用△w 表示,它近似等于窗函数主瓣的宽度;4计算滤波器的单位抽样响应()()()d h n h n w n =5验算技术指标是否满足要求,设计出的滤波器频率响应用下式计算10()()N jwjwn n H e h n e --==∑ 3.2.4用窗函数设计FIR 滤波器设滤波器的通带截止频率为p f ,阻带截止频率为s f ,系统采样频率为samp f ,则其过渡带宽带为tw s p f f f =-,抽样周期为 2S sampT f π= 则过渡带数字角频率为22s p tw tw samp samp f f f w f f ππ-== 各种窗函数的过渡带宽可用x Nπ来表示,其中N 是滤波器阶数,x 是一个整数,对应于矩形窗,三角窗,汉宁窗,汉明窗,其值分别为4,8,8,8,所以滤波器的阶数N 可由下式求得2()samp tw s p xf x N w f f π==- 理想低通滤波器的冲击响应为()sin(())()c d n w n h n π-∂=-∂ 其中(1)2N -∂=, c w 是3dB 通带截止数字角频率,其值为 ()()2p s Sp s c samp f f T f f w f π++==加窗后的低通滤波器的冲击响应为()()()n d n n h h w =检验实际滤波器的频率响应()[()]jw H e DTFT h n =是否满足设计指标要求;表1 几种常见的窗函数对比例:用窗函数设计一个线性相位FIR低通滤波器,并满足性能要求:通带边界的归一化频率wp=,阻带边界的归一化频率ws=,阻带衰减不小于30dB,.通带波纹不大于3dB,假设一个信号,其中f1=5Hz,f2=20Hz.;信号的采样频率为50Hz.;并将原信号与通过滤波器的信号进行比较;由题意值,阻带衰减不小于30dB,根据表1,选取汉宁窗,因为汉宁窗的第一旁瓣相对主瓣衰减为31dB,满足滤波要求;wp=pi;ws=pi; %滤波器的边界频率wdelta=ws-wp; %过渡带宽度N=ceil8pi/wdelta; %根据过渡带宽等于表中汉宁窗函数的主瓣宽度求得滤波器所用常函数的最小带宽Wn=+pi/2; %截止频率取通带和阻带边界频率的中点b=fir1N,Wn/pi,hanningN+1;%设计FIR滤波器H,f=freqzb,1,512,50; %采用50Hz的采样频率绘出该滤波器的幅频和相频响应subplot2,1,1,plotf,20log10absH;xlabel'频率';ylabel'振幅';grid on;subplot2,1,2,plotf,180/piunwrapangleH;xlabel'频率';ylabel'相位';grid on;f1=3;f2=20;dt=;t=0:dt:3; %采样间隔和检测信号的时间序列x=sin2pif1t+cos2pif2t; %检测信号y=fftfiltb,x; %给出滤波器的输出figure2subplot2,1,1,plott,x,title'输入信号' %绘出输入信号subplot2,1,2,plott,y %绘出输出信号hold on;plot1 1N-1/2dt,ylim,'r' %绘出延迟到的时刻xlabel'时间',title'输出信号'图1 所设计滤波器的幅频响应上图和相频响应下图图2 所设计滤波器的输入和输出信号程序运行结果如图1,2.该例对应于50Hz的采样频率通带边界频率为fp=50/2=,fs=50/2=;有图1上图得,在小于的频段上,几乎看不到下降,即满足通带波纹不大于3dB的要求;在大于的频段上,阻带衰减大于30dB,满足题目要求;由图1下图得,在通带范围内,相位频率响应为一条直线,表面该滤波器为线性相位;图2给出了滤波器的输入信号和输出信号,输入信号包括3Hz和20Hz的信号,由图1可知,20Hz的信号不能通过该滤波器,通过滤波器后只剩下3Hz的信号;由于FIR滤波所需的阶数较高,信号延迟N-1/2也较大,输出信号前面有一段直线就是延迟造成的; 4.FIR滤波器的DSP实现FIR滤波器的DSP实现方案DSP与一般的微处理器相比有很大的区别;它所特有的结构和指令集合为解决复杂的数字信号处理问题提供了便利;在DSP处理器上实现FIR滤波时,一般使用实系数的FIR滤波器,其最基本的操作是MAC乘-累加指令;本文介绍在TMS320C54X上实现FIR 滤波器;C54X上有一个17位17位的乘法器和一个40位的加法器,用于在单周期内实现MAC运算;同时,C54X使用了先进的多总线体系结构,包含1条程序总线,3条数据总线及4条辅助地址总线;这些特殊的硬件结构使得C54X支持单指令循环,快循环,数据块搬移及循环寻址;所以这些都有利于高效的实现FIR滤波器;硬件框图图3 系统总体框图JTAGJoint Test Action Group联合测试行动小组是一种国际标准测试协议IEEE兼容,主要用于芯片内部测试;基本原理是在器件内部定义一个TAPTest Access Port&0;测试访问口通过专用的JTAG测试工具对内部节点进行测试;JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试;FLASE存储器具有性价比高,体积小,功耗低,可电擦写,使用方便等优点;在DSP应用系统中采用Flash存储器和固定数据是一种比较好的选择;SRAM静态存储器,读写速度快,但价格较高;适合于外部存放需要经常访问或更新的临时数据;RS232电平转换模块,将外部电平转换为适合DSP芯片内部要求的电平;图3是系统的总体框图;主要包括输入信号缓冲及调理电路、A/D 变换器、输入缓冲 FIFO、DSP及外围电路、输出缓冲FIFO、D/A变换器等几部分;其中DSP及外围电路包括程序存储器、串行口、显示及键盘接口等;串行口用于实现和PC机的通信,可以通过PC机对滤波器的控制;假定输入模拟信号为带限信号;该信号经缓冲和调理后经A/D变换进入输入缓冲FIFO,当 FIFO中的数据达到一定数量时产生中断,DSP将数据读入内存中并进行计算和处理,这里DSP主要实现FIR滤波运算;处理后的数据写入输出FIFO中,之后通过D/A变换后输出模拟信号;输出的信号是低通滤波后的结果;用DSP实现FIR滤波器的关键问题定点数的定标在滤波器的实现过程中,DSP所要处理的数可能是整数,也可能是小数或混合小数;然而,DSP在执行算术运算指令时,并不知道当前所处理的数据是整数还是小数,更不能指出小数点的位置在哪里;因此,在编程时必须指定一个数的小数点处于哪一位,这就是定标;通过定标,可以在16位数的不同位置上确定小数点,从而表示出一个范围大小不同且精度也不同的小数;误差问题因为在用定点DSP实现时,所有的数据都是定长的,运算也都是定点运算,因而会产生有限字长效应;所产生的误差主要包括:数模转换引起的量化误差、系数量化引起的误差以及运算过程中的舍入误差;在用定点DSP时,产生误差是不能避免的;循环寻址循环寻址是DSP中经常用到的一种寻址方式;该寻址方法可以对一块特定存储区实现循环的操作;可以把循环寻址理解为实现一个滑动窗,新数据引入后将覆盖老的数据,便得该窗中包含了需处理的最新数据;在数字信号处理中的FIR、卷积等运算中,循环寻址具有极其重要的意义;运算量估计及D SP 芯片的选取;滤波器必须做到实时处理,因此对运算量应该有一个精确的估计,然后选择合适的D SP 处理器;估计运算量时应按最高采样率时计算,主要估算其乘加次数;A/D 及D/A 变换器的选取A/D 及D/A 变换器的选取主要考虑速度和数据宽度;变换器的速度一定要大于所设计滤波器的最高采样速率并要考虑一定的裕量,变换器的数据宽度则根据实际需要的计算精度选择;DDS 芯片的选取DDS 芯片的选择主要考虑频率的调整步长,当可调滤波器的调整步长较大时,可以选择精度稍低的D DS 芯片;软件流程滤波器的软件要实现的功能主要是FIR滤波;工作流程为:根据按键输入的频率,DSP计算出应对AD9850设置的状态字并对AD9850进行设置,AD9850将按设置的频率输出时钟;A/D 转换后的数据进入FIFO中,当到达设置的数据量时将产生中断,DSP将输入 FIFO 中的数据读入DSP并进行FIR运算;运算完成后的数据写入输出FIFO;输出FIFO中的数据将按照与A/D转换同样的速率输出到 D/A 变换器中并产生模拟输出;这样,只要保证FIR运算足够快就可以既不会产生数据溢出,也不会输出数据不足;图4 软件流程图5.结束语由于数字技术的飞速发展,数字滤波理论得到飞速发展,对数字滤波器的设计也提出了更高的要求;现代数字滤波器可以用软件或硬件2 种方式来实现,软件方式实现的优点是可以通过参数的修改进行滤波器性能的仿真和优化;本文运用MATLAB软件,根据设计要求进行了FIR滤波器的仿真;并分析了用DSP实现FIR滤波器的硬件结构和几个关键问题,这些关键问题在实际设计中都有着重要义; 6.参考文献1程佩青.数字信号处理教程M.北京:清华大学出版社,2008,323-369.2万永革.数字信号处理的MATLAB实现M.北京:科学出版社,2007,187-234.3张卫宁.DSP原理及应用教程M.北京:科学出版社,2008,282-296.4张雄伟,邹霞,贾冲.DSP芯片原理与应用M.北京:机械工业出版社,2005,48-76.5罗军辉,罗勇江,白义臣,庞娜.Matlab在数字信号处理中的应用M.北京:机械工业出版社,2005,99-115.6赵顺珍,马英..基于DSP的FIR数字滤波器设计与实现J..微计算机信息,2009 ,25 2:29-31.7张萍.基于MATLAB与DSP的FIR数字滤波器的设计J.中国科技信息,200723:80 – 81.8周辉,董正宏.数字信号处理基础及Matlab实现M.北京:希望电子出版社,2006,116-121.9彭红平,杨福宝.基于Matlab 的FIR 数字滤波器设计J.武汉理工大学学报,2005,105: 275-278.7.个人总结这次课设题目是FIR滤波器的MATLAB设计与实现,通过这次课设使我受益匪浅,首先,我先去图书馆下载各种论文,在网上查找各种资料,但FIR滤波器的知识已经忘得差不多了,一些资料看不懂,把数字信号课件又了一遍,然后是MATLAB编程,以前虽然做实验的时候接触过MATLAB软件,但并不很熟练,这次编程中出现了一些不应该的错误;在这次课设中,需要了解怎么用DSP实现FIR滤波器,由于我们没有学过DSP,所以查了一些资料,但还是觉得很不明白;在写课设报告过程中,越写越觉得自己很无知,平时学习不扎实,对各种知识点没有进行及时积累与总结,导致做课设时临时抱佛脚;以后一定要认真学习,拓展学习知识面,也要加强团队合作与沟通;。

FIR滤波器设计与DSP实现

FIR滤波器设计与DSP实现

FIR滤波器设计与DSP实现一、实验目的1. 掌握数字滤波器的设计过程;2. 了解FIR 的原理和特性;3. 熟悉设计FIR 数字滤波器的原理和方法。

二、实验内容1. 通过MATLAB 设计确定FIR 滤波器系数;2. DSP 初始化;3. A/D 采样;4. FIR 运算,观察滤波前后的波型变化。

三、实验背景知识1. 有限冲击响应数字滤波器(FIR)的基础理论FIR 数字滤波器是一种非递归系统,其冲激响应h(n)是有限长序列,其差分方程表达式为:,其中N 为FIR 滤波器的阶数。

在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。

为了使滤波器满足线性相位条件,要求其单位脉冲响应h(n)为实序列,且满足偶对称或奇对称条件,即h(n)=h(N-1-n)或h(n)=-h(N-1-n)。

这样,当N 为偶数时,偶对称线性相位FIR 滤波器的差分方程表达式为由上可见,FIR 滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。

因此,FIR 实际上是一种乘法累加运算。

而对于线性相位FIR 而言,利用线性相位FIR 滤波器系数的对称特性,可以采用结构精简的FIR 结构将乘法器数目减少一半。

2. 本实验中FIR 的算法公式:四、实验程序的功能与结构说明1.Filter 实验所包含文件①. DEC5502_Filter.c:这是实验的主程序,包含了系统初始化,音频芯片各控制寄存器的初始化, A/D 采样程序;②. FIR_Filter 滤波子程序;③. AIC.c:音频芯片各控制寄存器的初始化;④. E2PROM_Function.c:包含对IIC 的各操作函数;⑤. I2C.c:进行I2C 初始化;⑥. mcbsp.c:配置mcbsp;⑦. SEED_DEC5502.cmd: 声明了系统的存储器配置与程序各段的连接关系。

基于MATLAB与CCS的FIR滤波器设计与实现

基于MATLAB与CCS的FIR滤波器设计与实现

基于MATLAB与CCS的FIR滤波器设计与实现FIR滤波器(Finite Impulse Response Filter)是一种常用的数字滤波器,特点是系统的冲激响应为有限长度,所以也称为有限冲激响应滤波器。

FIR滤波器具有线性相位特性、较好的频率响应控制以及稳定性等优点。

在MATLAB和CCS软件中,我们可以使用不同的方法来设计和实现FIR滤波器。

首先,我们来介绍如何在MATLAB中设计和实现FIR滤波器。

MATLAB 提供了fir1函数来设计FIR滤波器。

该函数可以根据给定的滤波器阶数和截止频率来生成FIR滤波器系数。

例如,如果我们想设计一个截止频率为0.2的10阶低通FIR滤波器,可以使用以下代码:```MATLABorder = 10; % 滤波器阶数cutoff = 0.2; % 截止频率b = fir1(order, cutoff); % 设计FIR滤波器```生成的滤波器系数b可以用于过滤输入信号。

例如,我们可以使用filter函数将一个输入信号x通过滤波器进行滤波:```MATLABx=...;%输入信号y = filter(b, 1, x); % 通过滤波器滤波```在CCS软件中,我们可以使用DSP/BIOS中提供的模块来实现FIR滤波器。

首先,我们需要在CCS中创建一个新的项目,然后配置DSP/BIOS Kernel环境。

接下来,我们可以使用DSP/BIOS中的算法库或者自定义算法实现FIR滤波器。

使用DSP/BIOS的算法库有两种方式,分别是使用C语言和使用Simulink。

如果我们选择使用C语言,可以使用DSPLIB函数库中的fir 函数来实现FIR滤波器。

fir函数需要提供滤波器系数和输入信号,然后它会返回滤波后的输出信号。

例如,以下是使用C语言实现FIR滤波器的示例代码:```C#include <dsplib.h>float x[N]; // 输入信号float b[M]; // 滤波器系数float y[N]; // 输出信号FIR_firGen(M, b); // 生成滤波器系数for (int i = 0; i < N; i++)y[i] = FIR_fir(x[i], b, M); // 滤波```如果我们选择使用Simulink,可以使用Simulink中提供的滤波器模块构建FIR滤波器。

用MAtlab实现FIR数字滤波器的设计

用MAtlab实现FIR数字滤波器的设计

设计方法
• 一、窗函数设计法 • 二、频率抽样设计法 • 三、最小二乘逼近设计法
FIR 数 字 滤 波 器 的 文 件
一、fir1.m
• 本文件采用窗函数法设计FIR数字滤波器,其调用格式是
• 1)b=fir1(N ,W c)
• 2)b=fir1(N,W c ,’high’) • 3)b=fir1(N,W c ,’stop’)
实践课题
FIR 数 字 滤 波 器 的 设 计
实践目的


通过实践加深对Matlab软件的认识。 能熟练应用并基本掌握Matlab软件, 通过实践对课本以外的内容有初步的 了解。 通过设计FIR数字滤波器,对滤波器 的功能和原理有初步的认识和了解。
实践课题简介
在数字信号处理的许多领域中, 如图像处理、数字通信等领域,常 常要求滤波器具有线性相位。FIR数 字滤波器的最大优点就是容易设计 成线性相位特性,而且它的单位冲 激响应是有限长的,所以它永远是 稳定的。

Hale Waihona Puke 上式中N为滤波器的阶次,W c是通带截止频率,其值在0~1之间, 1对应采样频率的一半,b是设计好的滤波器系数(单位冲激响应序 列)其长度为N+1。
对于格式(1)若W c是一标量,则可用来设计低通滤波器;若W c 是 的向量,则用来设计带通滤波器。 格式(2)用来设计高通滤波器。 格式(3)用来设计带阻滤波器。
部分滤波器的例子(频率抽样法)

部分滤波器的例子(最小二乘逼近设计法)

Fircls1设计的低通滤波器,归一化截止频率 为0.3,通带波纹为0.02,阻带波纹为0.008。
实践总结

通过这次实践课题的设计与制作,使我 对Matlab这个软件有了进一步的了解,并且 加深了课本上的知识。与此同时,使我对 滤波器有了初步的认识。提高了我的理解 以及分析能力,理论和实践相结合,不仅 巩固了我的理论知识,同时更提高了我的 实践能力,使我受益匪浅。

dsp实验报告 fir实验报告

dsp实验报告 fir实验报告

dsp实验报告 fir实验报告DSP实验报告:FIR实验报告引言:数字信号处理(Digital Signal Processing,DSP)是一门研究如何对数字信号进行处理和处理的学科。

其中,滤波器是数字信号处理中最常用的技术之一。

本实验报告旨在介绍FIR(Finite Impulse Response)滤波器的原理、设计和实现过程,并通过实验验证其性能。

一、FIR滤波器的原理FIR滤波器是一种线性时不变系统,其输出信号仅由输入信号的有限个历史样本决定。

其基本原理是将输入信号与滤波器的冲激响应进行卷积运算,以实现对输入信号的滤波处理。

二、FIR滤波器的设计方法1. 理想低通滤波器设计方法理想低通滤波器的频率响应在截止频率之前为1,在截止频率之后为0。

通过对理想低通滤波器的频率响应进行采样和离散化,可以得到FIR滤波器的系数序列。

2. 窗函数法设计FIR滤波器窗函数法是一种常用的FIR滤波器设计方法。

其基本思想是将理想低通滤波器的频率响应与一个窗函数进行乘积,从而得到实际可实现的FIR滤波器的系数序列。

常用的窗函数有矩形窗、汉宁窗、汉明窗等。

三、FIR滤波器的实现FIR滤波器可以通过直接形式和间接形式两种方式实现。

直接形式是按照滤波器的差分方程进行计算,而间接形式则是利用FFT(Fast Fourier Transform)算法将滤波器的系数序列转换为频域进行计算。

四、FIR滤波器的性能评估1. 幅频响应幅频响应是评估FIR滤波器性能的重要指标之一。

通过绘制滤波器的幅频响应曲线,可以直观地观察滤波器在不同频率下的衰减情况。

2. 相频响应相频响应是评估FIR滤波器性能的另一个重要指标。

相频响应描述了滤波器对输入信号的相位延迟情况,对于某些应用场景,相频响应的稳定性和线性性非常重要。

3. 稳态误差稳态误差是指FIR滤波器在达到稳态后输出信号与理想输出信号之间的差异。

通过对滤波器的输入信号进行模拟或实际测试,可以计算出滤波器的稳态误差,并评估其性能。

matlab 信号过fir数字滤波器设计

matlab 信号过fir数字滤波器设计

一、概述Matlab 是一种用于算法开发、数据分析和可视化的高级技术计算语言和交互式环境。

在信号处理领域,Matlab 是一种非常强大的工具,可以用来设计和实现数字滤波器。

本文将重点介绍如何使用 Matlab 过FIR (Finite Impulse Response) 数字滤波器设计。

二、FIR 数字滤波器概述FIR 数字滤波器是一种常见的数字滤波器,它的特点是其单位脉冲响应有限,并且没有反馈。

FIR 滤波器的频率响应可以通过其线性相位特性来描述,因此在许多应用中非常有用。

三、Matlab 中的 FIR 数字滤波器设计工具Matlab 中提供了许多用于数字滤波器设计的工具,其中包括 fdatool 和 fir1 函数。

1. fdatoolfdatool 是 Matlab 中的一个交互式工具,可以帮助用户设计各种类型的数字滤波器。

用户可以通过图形界面选择滤波器类型、滤波器阶数、截止频率等参数,并实时查看滤波器的频率响应和单位脉冲响应。

使用 fdatool 可以快速方便地设计出所需的 FIR 数字滤波器。

2. fir1 函数fir1 函数是 Matlab 中用于设计标准的低通、高通、带通和带阻 FIR数字滤波器的函数。

用户可以通过指定滤波器类型、截止频率、滤波器阶数等参数来调用 fir1 函数,从而得到所需的数字滤波器的系数。

四、利用 Matlab 设计 FIR 数字滤波器的步骤1. 确定滤波器类型首先要确定所需的数字滤波器的类型,包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。

2. 确定滤波器的频率特性根据具体的应用需求,确定滤波器的截止频率、通带和阻带的大小,以及过渡带的宽度等参数。

3. 计算滤波器的系数根据所需的滤波器类型、频率特性和滤波器阶数等参数,使用 fdaool 工具或 fir1 函数计算出滤波器的系数。

4. 应用滤波器将得到的滤波器系数应用到需要滤波的信号上,即可得到滤波后的信号。

matlabfir滤波器设计

matlabfir滤波器设计

matlabfir滤波器设计由于滤波器设计的复杂性,在matlab中完成滤波器设计过程可以减少大量的计算工作,下面将介绍在matlab中的FIR滤波器的设计。

一、matlab入口1. matlab工作环境:(1)安装matlab软件,在matlab中运行“dspstart”,启动数字信号处理的工作环境,包括了一些常用处理的函数和示例程序,在这种环境下可以进行滤波器设计的研究。

(2)matlab可以完成离散时间信号处理,因此,滤波器的设计需要在离散时间信号领域完成,即用离散时间信号的算法来完成滤波器设计。

2. matlab工具箱:(1)安装滤波器设计工具箱,这是一个专门用于滤波器设计的matlab库,包括了四种基本滤波器:抗谐波滤波器(notched filter),低通滤波器(low pass filter),带阻滤波器(band stop filter),以及带通滤波器(band pass filter)。

(2)安装滤波器设计高级工具箱,这是一个高级的matlab 库,可以支持滤波器的更复杂的设计,包括滤波器的参数优化,非线性滤波器,以及多种滤波器结构的数字滤波器。

3. matlab辅助性的工具:(1)安装滤波器设计助手,这是一个滤波器设计的可视化工具,可以帮助滤波器的初学者快速上手,了解滤波器设计的基本思想,并运行滤波器的例子及示例程序。

(2)安装滤波器设计指南,这是一个matlab脚本文件,可以帮助滤波器的更高级的使用者了解滤波器设计的原理,以及各种滤波器的不同之处,可以大大提高滤波器的设计效率。

二、 matlab 滤波器设计思路1. FIR滤波器的设计:(1)首先要明确滤波器的工作频率范围,记录滤波器的输入信号精度以及输出精度。

(2)设计滤波器的类型,选择适用于该频率范围内的滤波器类型,如低通滤波器,带阻滤波器等。

(3)定义滤波器的功率频谱,根据滤波器的类型,定义滤波器的功率频谱,包括最大值,超调因数以及滤波器的边带幅度。

FIR数字带通滤波器的MATLAB设计与DSP实现

FIR数字带通滤波器的MATLAB设计与DSP实现
[ 5]
图 5 滤波前图形
图 6 滤波后图形
通过以上 3 个图形对比可以看出 : 原始信号 是幅值为 1 的数字正弦信 号, 经过与 fy 频率信号 的叠加之后 , 成为一种不标准的正弦信号 , 再经过 数字带通滤波器后, 信号又变成幅值为 1 的数字正
图 7 主程序流程图
# 48#
车辆与动力技术
收稿日期 : 2010 - 07- 13 作者简介 : 王永山 ( 1986 - ) , 男 , 硕士研究生, 主要研究方向为数字信号处理 .
# 46#
车辆与动力技术
2010 年
达到高的选择性 , 必须用高的阶数. 由于 F I R 滤波 器系统总是稳定的, 容易实现线性相位而且可以设 计多通带 (或多阻带 ) 滤波器, 这些都是 II R 系统不 易实现的
1 2 1 1
2 Beijin g north w a ll pho toelectric instrum ent Co. , LTD, Beijin g 100053 , China ) Abstract : Ai m ing at th e dig ita l filter process requirem en t o f guided in strum ent infor m atio n field testin g , a kind of F I R dig ita l band pass filter has been designed based on FDAT oo l filter design analyze soft w are in MATLAB and the process function o f dig ita l sig na l in TM S320F 28335 ch ip . Th is filter has been ful f illed on DSP by M ix ed prog ramm in g using C language and assem bly language . By analyzing th e test re su l, t this digita l band pass filter is accurate, stable , easily transp lantab le . K ey w ord s : DSP; FDAT oo; l FI R dig ita l band pass filter 通常制导仪信息场检测电路中主要通过 4 个模 拟电路的陷波器检测 4 个调制频率信号. 用模拟电 路检测数字信号存在电压漂移和温度漂移严重、噪 声大和灵活性差等缺点, 而随着信息技术和计算机 技术的飞速发展 , 数字信号处理技术在众多领域得 到广泛应用 , 用数字滤波器进行制导仪信息场的检 测可以克服模拟电路上述几个缺点. 数字滤波是数字信号处理的基本方法 . 由于其 精度高、稳定性好、使用灵活 , 因而被广泛应用在 各种数字信号处理领域 . 数字滤波器根据冲击响应 函数的时域特性, 可以分为 F I R (有限长冲击响应 ) 滤波器和 II R ( 无限长冲击响应 ) 滤波器. IIR 数字 滤波器传递函数包括零点和极点 2 组可调因素, 对 极点的唯一限制是必须在单位圆内. 因此可用较低 的阶数获得高的选择性. 但是 IIR 滤波器不一定能 保证其稳定性 , 并且不能实现严格意义上的线性相 位. 而 F I R 滤波器传递函数的极点是固定在原点, 它可以通过改变零点位置来改变它的性能, 所以要

DSP系统实验_FIR滤波器

DSP系统实验_FIR滤波器

四.实验过程及结果1.使用Matlab中的Fdatool设计滤波器,设计一个采样频率为20000Hz,截止频率fL=1000Hz,fH=4000Hz的FIR 带通滤波器。

(1)在Matlab的Start菜单中选择Toolboxes -> FilterDesign -> Filter Design & Analysis Tools(fdatool),或者在命令行中输入fdatool来启动滤波器设计分析器。

启动成功后界面如下图所示。

(2)在选项中选择或输入滤波器参数,然后点击“Design Filter”按钮,完成滤波器的设计。

具体参数及设计成功后的结果如下图所示。

(3)从Matlab中导出FIR滤波器系数。

在Fdatool 中,选择Targets -> Code Composer Studio (tm) IDE。

在出现的对话框中选择输出文件类型为C header file,输出系数类型为signed 16-bit integer,如下图所示。

点击Generate按钮,选择路径,即可输出前一步设计出的FIR滤波器的系数表。

(假设生成的系数表文件为fdacoefs.h,此头文件中数组B中的数据就是滤波器系数)导出十进制的系数列表,如下图所示。

最终生成.fcf文件,为下一步的Matlab 仿真所使用。

2.利用Matlab产生噪声信号用于滤波器测试,并进行仿真将下面代码另存为M 文件,在Matlab 中运行后将会生成input.dat 文件。

该数据文件中含有500Hz、3000Hz、8000Hz 三种频率的信号,用于滤波器滤波效果测试。

用Matlab进行仿真分别如下所示。

最后运行程序后会产生一个input.dat 文件,这个文件将会在后面的CCS中被用到。

代码如下所示:11=500; %/Hzf12=3000; %/Hzf13=8000; %/Hzfs=20000; %/ 采样 HzN=200 %数据个T=1/fs; % 采样周期n= 0:N;x11=sin(2*pi*f11*n*T);x12=0.7*sin(2*pi*f12*n*T);x13=0.5*sin(2*pi*f13*n*T);x_base=(x11+x12+x13);figure(1)subplot(211)plot(x_base) ; %待滤波信号形title( '待滤波信号形');Subplot(212)yff=abs(fft(x_base));df=(1:N/2)*(fs/N);plot(df,yff(1:N/2)); %待%将 1.3 中 d. 步骤生成的文件中系数复制,并赋值给 b b=[ 0.0015488099260604208-0.000639162226711395180.00000276175440328235950.0049050931002711240.0124676214730609050.013823224770750035-0.00026535232996076602-0.027038289777890162-0.04744269065963877-0.0393776956774877780.000131327872218974470.0462401856615866150.0644421182359068280.041726101066870809-0.00021601367549392082-0.025586149487005817-0.019584633178667085-0.00128851056756914320.0000036241074212133984-0.021008366929296321-0.039658785664257422-0.030892497493987696-0.0000577033839905187980.022210135405908792-0.0018716902153898345 -0.000064100972310515318 0.029127795779719676 0.054818958402419453 0.042884583593487118 -0.00003996438375069266 -0.029259239394713532 -0.014935307528602806 0.015078402779768362 -0.000043450394824481051 -0.079516267912042804 -0.15948637498492943 -0.14273465660088808 -0.000047883173032453426 0.18167944030096761 0.26439813485415459 0.18167944030096761 -0.000047883173032453426 -0.14273465660088808 -0.15948637498492943 -0.079516267912042804 -0.000043450394824481051 0.015078402779768362 -0.014935307528602806 -0.029259239394713532 -0.00003996438375069266 0.042884583593487118 0.054818958402419453 0.029127795779719676 -0.000064100972310515318 -0.0018716902153898345 0.016335005170358768 0.022210135405908792 -0.000057703383990518798 -0.030892497493987696 -0.039658785664257422 -0.021008366929296321 0.0000036241074212133984 -0.0012885105675691432 -0.019584633178667085 -0.025586149487005817 -0.00021601367549392082 0.0417261010668708090.0462401856615866150.00013132787221897447-0.039377695677487778-0.04744269065963877-0.027038289777890162-0.000265352329960766020.0138232247707500350.0124676214730609050.0049050931002711240.0000027617544032823595-0.000639162226711395180.0015488099260604208 ];figure(2);subplot(211);xf=filter(b,1,x_base); %滤波plot(xf); % 滤波之后的信号title( '滤波之后信号形' );yfff=abs(fft(xf));df=(1:N/2)*(fs/N);Subplot(212);plot(df,yfff(1:N/2)); % 滤波之后的信号频谱title ('滤波之后的信号频谱' );%生成 input.data 文件xout=x_base/max(x_base); % 归一化xto_ccs=round(32767*xout);fid=fopen('input.dat','w'); % 打开文件fprintf(fid,'1651 1 0 \n'); % 输出文件头fprintf(fid,'%d \n',xto_ccs);% 输出fclose(fid);仿真结果如下所示:3.在CCS中编写FIR滤波器程序(1)新建一个工程,编写C语言源代码并添加到工程中,代码如下所示:(2)添加cmd文件到工程中(3)分别将"tmwtypes.h","fdacoefs.h ",rst.lib,input.dat文件添加到工程中,最后进行编译链接,成功后则可以在工程所在目录下看到一个Debug文件夹下产生.out文件。

实验三 FIR滤波器的DSP实验报告

实验三  FIR滤波器的DSP实验报告

实验三FIR滤波器的DSP实验报告一、实验目的1. 了解MATLAB的FIR滤波器设计方法与编程;2. 掌握FIR滤波器算法基本原理和C语言的编程方法;二、实验内容FIR滤波器设计流程为,根据给出的滤波器设计(通带带宽、阻带衰减、相位要求)要求,在Matlab环境下仿真得到滤波器系数,得到了滤波器系数后在CCS下编程设计DSP 的FIR滤波器。

1.使用Matlab中的FDAtool设计FIR滤波器设计实现fir低通滤波器,阶数为20,采样频率fs=8000Hz,截止频率fc=1500Hz,窗口设置为汉明窗Hamming。

经过的信号频率是1000HZ和2000HZ的混叠波。

2.参阅FIR基本理论及C语言编程方法,研读、分析实验指导书中的代码;3. 双击,启动CCS的配置程序选项,选择“C5502 Simulator”;4. 启动CCS,打开实验工程文件,再编译并装载程序;5. 仿真波形A.输入信号波形B.输入信号频C输出信号波形D 输出信号频谱从输入信号和输出信号的频谱对比中可以看出,输出信号有1KHZ 和2KHZ 的混叠信号。

经过FIR 低通录波器后,滤掉了2KHZ 的频谱。

只剩下1KHZ 的频谱。

4.修改代码:滤波器设计要求:线性相位低通滤波器,模拟信号通带为0~1kHz ,阻带衰减在5kHz 处为-60dB 。

采样率为20kHz 。

采用凯塞窗口设计此低通滤波器,设计过程如下:通带边界频率为1KHZ ,阻带边界频率是5KHZ 有60dB 的衰减,可得:rad rad s p 22052,102012ππωππω====过渡带πωωω52=-=∆p s ,A=60dB 设计凯塞窗口的长度N 和参数β分别为:29285.28=∆-≈ωA N65326.5)7.8(1102.0=-=a β使用MA TLAB 设计此滤波器,过程如下:1)在Matlab 的Start 菜单中选择Toolboxes -> Filter Design -> Filter Design & AnalysisTools(fdatool),或者在命令行中输入fdatool 来启动滤波器设计分析器。

用MATLAB设计FIR数字滤波器

用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。

2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。

3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。

二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。

由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。

FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。

重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。

本实验重要简介窗函数法。

用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。

(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。

可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。

程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。

如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。

FIR数字滤波器的MATLAB设计及实现

FIR数字滤波器的MATLAB设计及实现

吉林大学珠海学院毕业论文FIR数字滤波器的MATLAB设计与实现MATLAB design and implementation ofFIR digital filter系别:电子信息系专业:自动化姓名:学号:指导教师姓名、职称:教授完成日期 2015 年 4 月 2 日吉林大学珠海学院本科毕业设计开题报告FIR数字滤波器的MATLAB设计与实现摘要随着社会的数字化进程,灵活性不足的模拟滤波器无法迎合社会的需求。

寻求一种可以稳定、快捷和灵活地将夹杂在所需信号中的干扰去除的方法,成为人们研究的课题。

通过对比数字滤波器和模拟滤波器得知,数字滤波器在体积和重量方面的便携性,在使用方面的灵活性,在运算和应用效果方面表现出的高性能等优点。

而且,数字滤波器可以利用数字芯片或计算机软件来进行仿真,数据改变时可以通过软件改变其参数即可改变滤波器的性能,继续投入工作。

这对于提高企业工作效率和节约企业生产成本方面有重大影响。

数字滤波器具备的这些优点是使它成为数字信号处理的重要组成部分的因素之一。

本文主要讨论在MATLAB 操作环境下,通过窗函数法、频率采样法和最优等波动设计法设计出FIR数字滤波器。

经过Simulink仿真绘制出相应的图像曲线,对比信号滤波前后的图像,分析不同滤波器的性能。

关键词:数字信号;数字滤波器;MATLAB;SimulinkMATLAB design and implementationof FIR digital filterAbstractWith digitization of society, lack of flexibility, analog filters can not meet the needs of the community. Find a stable, fast and flexibly be mixed in the desired signal in the interference removal method, become an issue for researchers.By comparing the digital filter and the analog filter that, the digital filter in terms of volume and weight of portability, flexibility in the use of, in terms of operation and application of results showing the advantages of high performance. Moreover, the digital filter can use a digital chip or computer software to simulate, you can change when the data changes its parameters can be changed by software filter performance, continue to work. This has a significant impact in improving business productivity and save production costs. These digital filters have the advantage of making it one of the factors important for digital signal processing part.This article focuses on operating in the MATLAB environment, through the window function method, frequency sampling method and optimal design method, such as fluctuations in the FIR digital filter design. After Simulink simulation draw curves corresponding image, image contrast signal before and after filtering, analysis of the performance of different filters.Keywords: digital signal; digital filter; MATLAB,;Simulink目录1 绪论 01.1 选题背景 01.2 课题意义 01.3 国内外对本课题的研究情况 (1)1.4 本文主要的研究内容 (1)2 MATLAB仿真技术 (1)2.1 MATLAB在国内外的发展状况 (2)2.2 MATLAB仿真简介 (2)2.3 计算机仿真的概况 (3)2.3.1 计算机仿真的步骤 (3)2.3.2 计算机仿真的优点 (3)2.3.3计算机仿真的缺点 (4)2.4 MATLAB设计的FIR滤波器具有以下优点 (4)3 数字滤波器 (5)3.1 数字滤波器与其结构 (5)3.2 FIR数字滤波器 (7)3.3 IIR数字滤波器 (7)3.3.1 在MATLAB中设计IIR滤波器的典型步骤如下 (8)3.3.2 IIR滤波器的特点 (8)3.4 与IIR 数字滤波器比较,FIR数字滤波器的优缺点 (8)3.4.1 优点 (8)3.4.2 缺点 (8)4 FIR数字滤波器的设计方法 (9)4.1 窗函数法 (9)4.1.1 用窗函数法设计FIR数字滤波器的步骤 (9)4.1.2 几种常见的窗函数 (10)4.1.3 用窗函数法设计FIR数字滤波器的示例 (11)4.2 频率采样法 (12)4.2.1 用频率采样法设计FIR数字滤波器的步骤: (12)4.2.2 频率采样法的一些特性 (13)4.2.3 用频率采样法设计FIR数字滤波器的示例 (14)4.3最优等波动法 (15)4.4 在MATLAB上设计与实现FIR数字滤波器 (18)4.4.1 FDATool工具 (18)4.4.2 FDATool对滤波器进行分析 (18)4.4.3 数字滤波器的实现 (19)5 结论 (20)附录 (22)参考文献 (27)致谢 (28)1 绪论1.1 选题背景由于计算机和集成电路在技术革命中不断取得成功,使得社会逐步往数字化、智能化方面发展。

数字滤波器的MATLAB设计与仿真及在DSP上的实现

数字滤波器的MATLAB设计与仿真及在DSP上的实现

数字滤波器的MATLAB设计与仿真及在DSP上的实现数字滤波器的MATLAB设计与仿真及在DSP上的实现概述:数字滤波器是数字信号处理(DSP)中的重要组成部分,常用于信号去噪、频率选择、滤波等应用。

本文将介绍数字滤波器的设计、仿真以及在DSP上的实现。

我们将使用MATLAB软件进行数字滤波器设计和仿真,并利用DSP芯片进行实现。

第一部分:数字滤波器的设计与仿真1. 信号基础知识在设计数字滤波器之前,我们需要了解信号的基础知识,如信号的采样率、带宽、频率等。

这些基础知识将有助于我们选择合适的滤波器类型和参数。

2. 滤波器类型数字滤波器可以分为两大类别:无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

IIR滤波器具有无限的冲激响应,因此可以实现更为复杂的频率响应特性;而FIR滤波器降低了系统的非线性,同时具有线性相位特性,适用于需要精确延迟的应用。

3. 滤波器设计方法常用的数字滤波器设计方法包括窗函数法、最小二乘法和频率抽取法等。

根据具体的应用需求,我们可以选择合适的设计方法,并通过MATLAB进行滤波器的设计和参数调整。

4. 滤波器性能评估在设计完成后,我们需要评估数字滤波器的性能。

常见的评价指标包括滤波器的频率响应、幅频特性、相频特性、群延迟等。

通过MATLAB的仿真,我们可以直观地观察并分析滤波器的性能。

第二部分:数字滤波器在DSP上的实现1. DSP概述数字信号处理器(DSP)是一种专门设计用于处理数字信号的微处理器。

与通用微处理器相比,DSP具有更高的运算速度和更低的功耗,适用于实时信号处理应用。

2. DSP开发环境搭建为了实现数字滤波器的DSP上的实现,我们首先需要搭建DSP开发环境。

选择合适的DSP芯片,安装开发工具,编写代码并进行调试。

在本文中,我们以TMS320F28335为例,使用CCS开发工具进行开发。

3. 数字滤波器的DSP实现根据数字滤波器的设计结果,我们可以将其转化为DSP上的实现代码。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机 光盘 软件 与应 用
2 1 年第 6期 00 C m u e DS f w r n p ] c t o s o p t rC o ta ea dA p ia i n 软件设计开发
FR数字滤波器的 MA L B设计及 D P的实现 I TA S
伍 永 锋
( 宁夏大学物理电气信 息学院,银川 70 2 ) 5 0 1
摘 要 :数 字滤波 器是数 字信号 处理 的 重要 组成 部分 。本 文主要 介绍 应 用 MAT A 设计 F R 数 字滤 波器 的方法 ,并 LB I 探讨 基 于 T 公 司 T 3 0 5 XDS I MS 2 C 4 P的 Fr 字滤 波 系统 的 实现 。 i数 关键 词 :MA L B T A ;D P I S ;FR;数 字滤波 器


引言
iea i puse rsp se d l m l e on
数字 滤波 是语 音处 理 、图像 处理 、模式 识别 、频谱 分析 等应 用 的基 本处 理算法 。数 字滤 波具 有稳 定性好 、精 确度 高、 不受环 境 影响 、灵活 性好 的特 点 。数 字滤 波器 分 为无 限冲 激 响应滤 波器 (I )和有 限冲激 响 应滤波 器 (I )滤波 器 。F R 数字 滤波器 IR FR I 不含反 馈环路 、稳 定和 可 以实现严 格线 性相位 等优 点 。 二 、F R滤波器 的 M T A I A L B设计 FR 滤波 器 的设计 方法 有窗 函数设 计法 、频 率采样 设计 法和 I 等波纹 逼近法 。窗函数 法设计 F R 波器 是工程 实 践中应 用最广 I滤 泛 的设 计方法 。窗 函数 设计 FR滤波 器 的基本 思想 :根据给 定 的 I 滤 波器 技术指 标 ,选择 滤波 器长度 M 窗 函数 wN ,使其 具有最 和 () 窄的主 瓣和最 小 的旁瓣 。其 核心 是从给 定 的频率特 性 通过 加窗 以 确 定有 限长单 位脉 冲响应 序列 h n 。实 际实现 的滤波 器的单 位取 () 样 响应 为 hn ,长度 为 N () ,其 系统 函数 为 H Z 。工程 实际 中常用 ( ) 的窗 函数有 6 ,即矩形 窗 、三角 窗、汉 宁窗 、哈 明窗 、布莱 克 种 曼 窗和 凯泽 窗。 滤波 器设 计需 要进行 大量 复杂 的运算 , 利用 M TA ALB强 大的计 算 功能 进行计 算机 辅助 设计 ,可 以快速 有效 地设 计数 字滤波 器 , 大 大地 简化 了计算 量 。 应用 M TA A LB设计 F r数字滤 波器 时 , i 先根 据 给定 过渡 带宽度 和 阻带最 小衰减 的选 择合 适 的窗 函数 ,之 后 , 调 用窗 函数编 译相应 的程 序计 算滤 波器 的阶数 M a ) () 、h( 、h/ 和 n 1 实 际的 幅频特 性 ,之 后 由输 出验证 设计是 否满 足性 能指标 要求 。 例 :用 窗函数 法设 计一个 带通 滤波 器 ,指标要 求如 下 :低端 阻 带截止 频率 w l02Ⅱ;低 端通 带截止 频 率 w lO 3 ;高端 s= . p :. 阻带截止 频率 w 20 8 ; 端通 带截止 频率 w p= . 5 ; 带 p: . 高 s2 O6 Ⅱ 通 最 大衰减 R 1B p d ;阻带 最小衰 减 A=0B = 5d 。 M TA 部 分源程 序如 下 : AL B 凯泽 窗设 计低通 . : m
Absr tA iia l ri m p ra tpati r c si g d t. i pe e ci stede in o eFI dii lfle n e tac: dg tlf t sai o n r n p o e sn aaTh spa rd srbe h sg ft R gt tra d t i e t h a i h a plc to f p iain o TM S3 0 4 DS o h fTl o a y i eU ntd S ae . 2 C5 X P nt eo c mp n nt ie tt s h Ke wor : ATLAB; y dsM DSP;I Di tlfl r F R; gi t a i e




qu 1∞



频率 (z 卯 H 卯 ∞ 蚰 0
三 、F R数字 滤波 器 的 D P实现 I S F R滤波 器 的输 出表 达式 : I Y 胛 = b ( +bx n一1 +・ +b 一 ( () 0 ) l( ) ・ ・ l n一Ⅳ +1 x )
W uY n f n o ge g
( sit f hs sEe tc II om t nNn x n es y i h a 7 0 2 ,hn ) I tueo P y i I ra&n r ai ,i i U i ri, n u n 5 0 1 i n t c ci f o g a v tY c C a
ws1 . * =0 2 pi; pl O. 5 pi w = 。 . ; s =0 8 pi As 0: w : 3 . ; p2 O 65 pi w 2 . * ; :5
n女
毋 —
— ^ ∞ —r T ^ —
凸 1 6 I

m a iu e r sp sei gnt d e on ndb
中图分类 号 :T 1 文献标 识码 :A 文章编 号 :10— 59( 1) 6 05— 2 N73 07 99 2 0 0 — 13 0 0
M ATLA B sg De in& DS Re lz to o R g t l le P a ia in fFI Di ia tr Fi
相关文档
最新文档