利用DSP实现自适应滤波DSP课程设计

利用DSP实现自适应滤波DSP课程设计
利用DSP实现自适应滤波DSP课程设计

DSP课程实验报告——

利用DSP实现自适应滤波

目录

一、设计任务书 (3)

二、设计内容 (3)

1.基本部分 (3)

2.发挥部分 (3)

三、设计方案、算法原理说明 (4)

1.利用DSP进行信号处理 (4)

2.利用DMA方式进行信号的采集和输出 (4)

3.回波产生 (6)

4.自适应滤波 (8)

四、程序设计、调试与结果分析 (9)

1. 程序设计 (9)

2. 实验步骤 (12)

3. 结果分析 (13)

五、设计(安装)与调试的体会 (14)

六、参考文献 (18)

七、附录 (18)

一、设计任务书

自适应滤波器能够根据环境的改变,使用自适应算法来改变滤波器的参数和结构。自适应滤波器的系数是由自适应算法更新的时变系数,其系数自动连续地适应于给定信号,以获得期望响应。自适应滤波器的最重要的特征就在于它能够在未知环境中有效工作,并能够跟踪输入信号的时变特征。自适应滤波器应用于通信领域的自动均衡、回波消除、天线阵波束形成,以及其他有关领域信号处理的参数识别、噪声消除、谱估计等方面。本设计要求利用DSP的DMA方式进行信号采集和信号输出,同时对外部输入的信号进行自适应滤波。二、设计内容

1.基本部分

(1)设计数字滤波算法,或调用DSPLIB中的滤波函数,实现对信号的滤波

(2)利用C语言对A/D、D/A进行初始化

(3)利用C语言对DMA进行初始化

(4)编写DMA中断服务程序,实现信号的实时滤波

(5)利用CCS信号分析工具分析信号的频谱成分,确定滤波器的参数2.发挥部分

(1)比较不同自适应性滤波器的滤波效果;

(2)在实验板的Line in输入端接入正弦信号,分左右声道分别采集,并分别滤波。

三、设计方案、算法原理说明

1.利用DSP进行信号处理

首先,模拟信号x(t)经过A/D转换后,成为数字信号,由DSP读入;DSP对采集的数字信号采用数字信号处理的算法进行处理,处理结果仍为数字信号;处理后得到的数字信号经D/A转换后,成为模拟信号y(t)。利用DSP进行信号处理的流程如图3-1所示。

图3-1 DSP进行信号处理的流程

2.利用DMA方式进行信号的采集和输出

C5502的DMA能在不占用CPU资源的情况下,实现DSP存储器间数据的自由传送。C5502有6个可独立编程的DMA通道,每个DMA通道拥有各自的控制寄存器。在DMA功能正常使用之前,必须根据需要对这些寄存器进行正确的设置。

A/D转换完的数据被串口1的数据接收寄存器收到后,启动DMA4传输,将数据写到指定的数据接收缓冲区,通过DMA方式完成一次数据

采集。

当DMA4采集完一帧128个点数据后产生一次DMA4中断,通知CPU对其进行DLMS滤波处理。此时DMA4可以按照设定继续采集数据,实现了数据采集与CPU处理的并行操作。

在DMA4的中断服务程序中,DMA4接收缓冲区1中的数据经过DLMS 滤波处理后,放入DMA5的发送缓冲区1,同时启动DMA5进行DLMS数据到串口1的数据发送寄存器的DMA传输。

DLMS输入数据缓冲区分为2个,gBufferRcvPing、gBufferRcvPong ;输出数据缓冲区分为2个gBufferXmtPing、gBufferXmtPong ;每个缓冲区的大小为128个点。输入输出缓冲区采用了“乒乓”方式,即输入1=〉输出1,输入2=〉输出2

其框图如图3-3所示。

图3-3 DMA缓冲区

在ping、pong缓存区中,数据存放方式为左右声道交替存放的。

在进行处理前左右声道需要分别提取出来,再分别进行处理。处理完成之后再将左右声道进行合并后输出。其过程图3-3所示。

图3-3 左右声道处理流程

3.回波产生

输入的左声道信号产生回波信号后,与右声道的信号叠加,生成带回波的信号,从右声道输出。

图3-4是左声道数据在时延两个单位后叠加在右声道上形成带回

波噪声的信号的示意图。

图3-4 回波产生示意图

我们希望能通过耳朵对回波信号进行区分,所以延时要求比较高,我们设定采样频率为8k,延时为0.5S。所以另外定义两个存储器delayone和delaytwo。

先存储delayone存储区,存储满4096个点后,换存储delaytwo存储区。 Delaytwo存满时,再换回存储到delayone。可见,delayone 和delaytwo的第一单元延时差为4096.

当存储一个delayone第一个单元时,将leftbuff第一个单元放入delayone第一个单元,同时将delaytwo的第一个单元衰减后加入right-buff,从right-buff输出。并将delaytwo的第一个单元放入leftbuff第一个单元,已以备后面使用。

当存储完4096个单位时,换从delaytwo的第一个单元进行存储。将leftbuff第一个单元放入delaytwo第一个单元,同时将delayone 的第一个单元衰减后加入right-buff,从right-buff输出。

由于DSP处理时,一次处理4096个单元比较困难,所以将4096分成32个组,每次处理128个单元。

此时right_buff为跌加了回波噪声的信号。

以上原理图如下3-5所示

图3-5 可辨别的回波产生示意图

4.自适应滤波

调用滤波函数对回波信号进行滤波。利用Dsplib中的延时自适应滤波dlms函数对叠加有回波信号的右声道进行滤波。

Dlms函数的调用形式如下:

dlms (DATA *x, DATA *h, DATA *r, DATA *des, DATA *dbuffer, DATA step, ushort nh, ushort nx)

Dlms的算法原理如下:

各参数含义为:

x[n] ————自适应滤波器的输入;

r[n] ————自适应滤波器的输出;

h[n] ————自适应滤波器的滤波系数;

des[n] ————期望响应;

e[n] ————估计误差;

自适应滤波的原理:

本地产生的语音x(k)信号经回波信道产生回波噪声y(k)叠加在对端的声音信号v(k)上面形成叠加右回波信号的声音d(k),最终导致本地通话方能够听见对方声音里夹带着自己刚才说话的声音。我们的自适应滤波是通过对接收到的叠加有噪声的对方的信号d(k)和本地的信号进行计算形成模拟的回波信道进而估计出回波噪声信号

y’(k),然后与d(k)作减法,便可以滤除掉噪声信号,得到理想的对端的声音信号e(k)。如图3-3所示。

图3- 6

四、程序设计、调试与结果分析

1. 程序设计

(1)D MA过程

定义函数copyDatadev,实现将接收缓存区的数据进行左右声道的分别提取过程

void copyDatadev(Int16 *inbuf, Int16 *outbuf1, Int16 *outbuf2,Int16 *outbuf3,Int16 length)

{

Int16 i;

for (i = 0; i < length; i++)

{

outbuf1[i] = inbuf[2*i];

outbuf2[i] = inbuf[2*i+1];

outbuf3[i]=outbuf2[i] ;

}

}

定义函数copyDatadev,实现将左右声道的信号合并放入发送缓存区的过程

void copyDatacom(Int16 *inbuf1,Int16 *inbuf2, Int16 *outbuf, Int16 length)

{

Int16 i;

for (i = 0; i < length; i++)

{

outbuf[2*i] = inbuf1[i];

outbuf[2*i+1]= inbuf2[i];

}

}

if (pingPong == PONG)

{

copyDatadev(gBufferRcvPing, leftbuff,rightbuff,right_buff,SINSIZE);

copyDatacom(leftbuff, rightbuff, gBufferXmtPing, SINSIZE);

}

else

{

copyDatadev(gBufferRcvPong, leftbuff,rightbuff,right_buff,SINSIZE);

copyDatacom(leftbuff, rightbuff, gBufferXmtPong, SINSIZE);

}

(2)回波信号的产生

定义echogenerate,实现回波信号的产生

void echogenerate(Int16 *inbuf, Int16 *outbuf, Int16 length)

{ /*p,q,di,ti为全局变量,方便加载初值和便于在多次函数调用总实现信号在存储空间的连续存放和读取*/

/*本函数的返回值中,leftbuff的值变为延时的左声道信号,right_buff返回值为叠加了左声道时延的信号*/

Int16 i;

if(Mode==0)/* Mode==0,delayone存储当前信号,delaytwo用于读取延时的信号用于回波的叠加。*/

{

Int16 j;

for(j=0;j

delayone[di]=inbuf[j];//存储当前采集到的信号于当前di到di+128的存储空间

if(di>=delay) //判断是否存满缓冲,满了需要复位参数

{

p=0;

di=0;

}}

else // Mode==0时原理同上。

{

Int16 j;

for(j=0;j

delaytwo[ti]=inbuf[j];

if(ti>=delay)

{

q=0;

ti=0;

}}

if(Mode==0)

{

for (i=0;i

{outbuf[i]=outbuf[i]+0.1*decay*delaytwo[q];//回波叠加。

inbuf[i]=delaytwo[q]; //左声道存储延时信号用于滤波。

//!!本函数的返回值中,leftbuff的值变为延时的左声道信号。

}

if(q>=delay) Mode=1; //延时缓冲读完,切换读取的缓存……

}

else //参考Mode=1,原理同上。

{

for (i=0;i

{ outbuf[i]=outbuf[i]+0.1*decay*delayone[p];

inbuf[i]=delayone[q];//左声道存储延时信号用于滤波

}

if(p>=delay) Mode=0;

}

}

if (pingPong == PONG)

{

copyDatadev(gBufferRcvPing, leftbuff,rightbuff,right_buff,SINSIZE);

echogenerate(leftbuff,right_buff,SINSIZE);

copyDatacom(leftbuff, rightbuff, gBufferXmtPing, SINSIZE);

}

else

{

copyDatadev(gBufferRcvPong, leftbuff,rightbuff,right_buff,SINSIZE);

echogenerate(leftbuff,right_buff,SINSIZE);

copyDatacom(leftbuff, rightbuff, gBufferXmtPong, SINSIZE);

}

(3)调用dlms函数进行滤波处理

dlms(leftbuff,h,rightbuff,right_buff,dbuffer,STEP, NH, NX);

for(i=0;i

上述两句代码实现了right_buff中的噪声的滤除,这两句是自适应滤波的核心,dlms函数根据leftbuff估计出收到的叠加有回波的信号中回波噪声,然后从有声道中减去噪声就可以得到没有回波的右声道信号。

2.实验步骤

1)把工程拷入C:\CCStudio_v3.3\MyProjects

2)插上DSK 板子

4)打开音量调节控制

选中选项中的高级控制

点击属性——播放模式下选中麦克风——取消麦克风静音——软件、CD、后端输入选中静音

点击属性——录音模式下取消后端输入——选中高级——麦克风加强去掉

点击属性——播放模式确认——选中后端输入高级——取消麦克风加强

主音量和麦克风音量尽量减小根据虚拟仪器显示进行微调。

6)打开虚拟仪器,点击信号源,左通道产生一定频率的正弦波。

8)正确连接PC 机和板子,耳机输出接到DSK 板上的J5 端口,麦克输入接到DSK 板上的J6 端口。

9)打开setup CCS3.3,正确装载并在退出前保存。

10)在CCS 环境中,选中Project——Open 选择建好的工程(.pjt)文件。选择debug——connect,链接电脑与DSP试验箱。选择Load Program,读取.out文件。选择debug——go main。点击run运行文件。

11)在CCS 中选择View/Graph/Time/Frequency,出现图形属性对话框。

12)如果要观察频域波形,Display Type 改为FFT Magnitude。

3.结果分析

(1)滤波前后频谱的变化

未滤波前,输入的左声道信号产生回波信号后,与右声道的信号叠加,生成带回波的信号,从左声道输出。所以,左声道为加噪声后的信号。

进行自适应滤波后,滤除回波的信号从右声道输出。所以,右声

道为滤波后的信号。

滤波前后信号的变化如图4-2所示。

图4-2 滤波器前后虚拟仪器上频谱分布

绿色表示左声道频谱,红色表示右声道频谱,可见,左声道有回波噪声的存在。自适应滤波后,右声道成功的滤除了回波噪声。五、设计(安装)与调试的体会

在本次DSP实验中,我通过阅读资料、了解DSP实验系统的组成,学会集成开发环境CCS的使用,并利用自适应算法进行滤波处理。

首先,我们通过老师的讲解,阅读PPT和TMS320C55X等资料,了解了DSP实验系统的基本组成和结构,并掌握了利用DMA进行信号采集和输出的原理,接着,我们在main函数中利用C语言编程,

实现了信号输入后左右声道的提取,并能成功将左右声道提取的信号进行合并后输出。

接下来,我们根据要求设计产生回波信号,将左声道的回波加到右声道后,从左声道输出。

最后,我们调用dlms函数,对回波信号进行自适应滤波,得到无回波的信号。

为了对自适应滤波进行实际的应用。我们输入一段音频信号,产生回声,并进行滤除。插入耳机后,可以听到左声道有明显的回声,而右声道无回声。

在本次试验中我们遇到了很多问题。例如,在产生回波信号时我们对实验要求不太理解。开始时,我们将左声道信号叠加到右声道,从右声道输出,这样虽然原则上并没有错,但每次需要对比有无滤波时,必须把滤波的语句注释掉,重新编译运行。经过与老师和其他组的讨论后,我们才将左声道信号叠加到右声道,从左声道输出。这样左声道表示的是滤波器前信号,右声道表示滤波后信号。可以同时观察,并且通过耳机的左右声道能明显分辨出有回声和回声滤除后的明显效果。

在调用dlms函数时,我们也遇到了问题。开始时我们将回波后左声道信号作为输入,原右声道信号作为期望值,进行滤波。后来通过与老师讨论,我们意识到在实际应用中,我们是无法得知对端的信号,所以不能用对端信号最为期望。通过查找文献资料,我们终于明白了自适应滤波实现波波消除的原理,用自适应滤波拟合回声信号,在与

叠加了回声的信号相减,得到了对端传来的无回声信号。

应用自适应滤波实现音频信号的回声滤除时,我们希望通过双耳能分辨出滤波前后的音效。但人耳能分辨的时间间隔为0.1秒。而如果按照先前的程序,时延几个到几十个单位远远无法达到人耳的分辨。所以,我们又新定义两个4096的存储区交替存储,延时衰竭与右声道叠加,这样才实现了延时0.5s,双耳能明显分辨出回声信号的有无。

在这次DSP课程设计中,我们投入了大量时间和精力。也正是因为不断地学习、探索、交流,我们对DSP实验系统有了很深的了解,也能在CCS中进行熟练的操作。并通过自己的设计实现了自适应滤波,实现了课堂所学到实践应用的转变。在以后的学习中,我还会继续努力学习,将知识与实践完美结合。

本次课程设计是我从头到尾都参加的一次课程设计,经历比较完整,收获十分的大。

至于说感想和体会,我觉着这篇报告前面的很多内容都能说出一些我的体会,因为前面的内容虽然不算很多,但是每一句都是我自己敲上去的。最后我就把自己遇到的一些问题叙述一下。

选择这个题目,是因为我刚看到题目时觉着这个题比较难,而且时间比较充裕,有足够多的时间来做。在实际开始做的时候,我们觉着这个题也就是分三步就可以做完,并且每步都不会太难,尤其是

第三步,直接利用CCS库函数dlms对信号进行滤波,几乎没什么难度。然而,在我们滤波前的工作都做完以后,却发现dlms函数的根本不是我们想得那样。

dlms函数的各个输入参数并不是我们想得那样简单的使用。因为该函数中的参数要求并不明确,而且在调试中实验设备的处理也并不是很稳定,所以并不是和我们事先想的一样简单。而且最让人不可捉摸的在好几种情况下,处理后都有较为理想的滤波输出,有些时候真的就以为是自适应滤波完成了,但还好能及时各种问题,才不至于错误地使用这个函数。最后导致总是感觉今天做的是对的,然后准备截图时忽然间发现不合理或者有时候都把图截好准备写报告时发现问题,所以一直持续做到最后,才搞明白了这个函数的调用。

最后回头想想我觉着我们这个月几乎一直在做DSP,虽然这个题目看起来简单,但我觉着我们不只是简单调用了一个函数,而且是通过各种方法去研究了一个已经封装好的没有任何说明的函数的功能。虽然Dsplib中对这个函数有一些说明,但到最后我觉着那根本就不是那我们正常人的思维写的说明,当然,这更大的原因还是我们自己对自适应回波算法的原理不是很了解。我们这次课程设计最终能够得到理想的结果与其他小组之间的讨论是分不开的,因为当局者迷,自己总是会认为自己的相法是正确的,当稍微有些结果,哪怕不合理,自己也可以接受,这样很容易进入误区。还有就是要学会利用互联网资源,我们少数人的思维毕竟太狭隘,只有我们多了解他人对相同问题的看法,并且加以思考才可以更好地得出我们自己的想法。

六、参考文献

[1] 高海林钱满义DSP技术及其应用清华大学出版社,2009

[2] 陈后金等信号分析与处理实验. 高等教育出版社,2006

[3] 邹鲲等MATLAB 6.x 清华大学出版社,2002

[4] TMS320C55X DSP Library Programmer’s Reference,SPRU422J.pdf

[5]TMS320VC5502 Fixed-Point Digital Signal Processor Data Manual,SPRS166K.pdf

[6] TMS320C55X Chip Support Library API Reference Guide,SPRU433I.pdf

[7] 许国威、马胜前等.自适应滤波RLS算法研究与DSP实现. 计算机技术与发展.2010.10

[8] BJTU-DSP5502实验系统简介. 北京交通大学电信学院电工电子教学基地

七、附录

1.Main函数

/*

* Copyright (C) 2003 Texas Instruments Incorporated

* All Rights Reserved

*/

/*

*---------main_dma4.c---------

* This is a DMA application example for Codec AIC23B analog input/output,

* The example places the MCBSP in DMA transmit data mode and

* syncs MCBSP receive with DMA channel 4 and MCBSP transmit

* with DMA channel 5.

* The example uses predefined CSL macros and symbolic

* constants to create the initialization values needed for

* the MCBSP and DMA control registers to effect the transfer

* Created by hailingao , BJTU , 2012/06/25,2014/06/16

*/

#include

#include

#include

#include

#include

#include

#include

#include"dlms.h"

//---------Global data definition---------

/* Constants for the buffered ping-pong transfer */

#define BUFFSIZE 256

#define PING 0

#define PONG 1

#define SINSIZE 128

#define CAHE 4096

Int16 decay=6,Mode=0,delay=4095;

Int16 p=0,q=0;//回波产生参数

Int16 di=0,ti=0;//回波缓存参数

/*

* Data buffer declarations - the program uses four logical buffers of size

* BUFFSIZE, one ping and one pong buffer on both receive and transmit sides.

*/

#pragma DATA_SECTION (gBufferXmtPing, "buffer_sect");

Int16 gBufferXmtPing[BUFFSIZE]; // Transmit PING buffer

#pragma DATA_SECTION (gBufferXmtPong, "buffer_sect");

Int16 gBufferXmtPong[BUFFSIZE]; // Transmit PONG buffer

#pragma DATA_SECTION (gBufferRcvPing, "buffer_sect");

Int16 gBufferRcvPing[BUFFSIZE]; // Receive PING buffer

#pragma DATA_SECTION (gBufferRcvPong, "buffer_sect");

Int16 gBufferRcvPong[BUFFSIZE]; // Receive PONG buffer

#pragma DATA_SECTION (delayone, ".buffer_cahe");

Int16 delayone[CAHE]; // Receive PONG buffer

#pragma DATA_SECTION (delaytwo, ".buffer_cahe");

Int16 delaytwo[CAHE]; // Receive PONG buffer

/*------------------------------------------------------------------------------------*/

//

// Config McBSP: Use McBSP to send and receive the data between DSP and AIC23B //

/*------------------------------------------------------------------------------------*/

MCBSP_Config Mcbsp1Config = {

MCBSP_SPCR1_RMK(

MCBSP_SPCR1_DLB_OFF, // DLB = 0

MCBSP_SPCR1_RJUST_LZF, // RJUST = 0,right justify the data and zero fill the MSBs

MCBSP_SPCR1_CLKSTP_DISABLE, // CLKSTP = 0

MCBSP_SPCR1_DXENA_ON, // DXENA = 1,DX delay enabler on

0, // Reserved = 0

MCBSP_SPCR1_RINTM_RRDY, // RINTM = 0

MCBSP_SPCR1_RSYNCERR_NO, // RSYNCER = 0

// MCBSP_SPCR1_RFULL_NO, // RFULL = 0

// MCBSP_SPCR1_RRDY_NO, // RRDY = 0

MCBSP_SPCR1_RRST_DISABLE // RRST = 0; Disable receiver

),

MCBSP_SPCR2_RMK(

MCBSP_SPCR2_FREE_NO, // FREE = 0

MCBSP_SPCR2_SOFT_NO, // SOFT = 0

MCBSP_SPCR2_FRST_FSG, // FRST = 1 ; Enable the frame-sync logic MCBSP_SPCR2_GRST_CLKG, // GRST = 1 ; The sample rate generator is take out of its reset state

MCBSP_SPCR2_XINTM_XRDY, // XINTM = 0

MCBSP_SPCR2_XSYNCERR_NO, // XSYNCER =0

// MCBSP_SPCR2_XEMPTY_NO, // XEMPTY = 0

// MCBSP_SPCR2_XRDY_NO, // XRDY = 0

MCBSP_SPCR2_XRST_DISABLE // XRST = 0 Disable transimitter

),

// 单数据相,接受数据长度为16位,每相2个数据

MCBSP_RCR1_RMK(

MCBSP_RCR1_RFRLEN1_OF(1), // RFRLEN1 = 1

MCBSP_RCR1_RWDLEN1_16BIT // RWDLEN1 = 2

),

MCBSP_RCR2_RMK(

MCBSP_RCR2_RPHASE_SINGLE, // RPHASE = 0

MCBSP_RCR2_RFRLEN2_OF(0), // RFRLEN2 = 0

MCBSP_RCR2_RWDLEN2_8BIT, // RWDLEN2 = 0

MCBSP_RCR2_RCOMPAND_MSB, // RCOMPAND = 0 No companding,any size data, MSB received first

MCBSP_RCR2_RFIG_YES, // RFIG = 1 Frame-sync ignore

MCBSP_RCR2_RDATDL Y_1BIT // RDA TDL Y = 1 1-bit data delay

),

MCBSP_XCR1_RMK(

MCBSP_XCR1_XFRLEN1_OF(1), // XFRLEN1 = 1

MCBSP_XCR1_XWDLEN1_16BIT // XWDLEN1 = 2

),

MCBSP_XCR2_RMK(

基于DSP 的FIR滤波器的设计

基于TMS320VC5416 的FIR 数字滤波器设计与实现 论文摘要:在现代电子系统中,数字滤波器在语音处理、图像处理、模式识别以及各种随机信号分析中有着广泛的应用,且其波形传递系统中都越来越多的要求信道具有线性的相位特性,在这方面FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时保证精确严格的线性相位。本文以窗函数法设计线性相位FIR数字滤波器为例,研究有限冲击响应(FIR)滤波器的基本原理,介绍用MATLAB工具软件设计数字滤波器的方法和如何在定点TMS320VC5416 DSP芯片上设计实现连续数字滤波器。 关键词:FIR滤波器,TMS320V5416 一. 课题的目的以及意义 随着集成电路技术的发展,各种新型的大规模和超大规模集成电路不断涌现集成电路技术与计算机技术结合在一起,使得对数字信号处理系统功能的要求越来越强。 DSP 技术就是基于VLSI技术和计算机技术发展起来的一门重要技术,DSP 技术已在通信、控制信号处理、仪器仪表、医疗、家电等很多领域得到了越来越广泛的应用.在数字信号处理中数字滤波占有极其重要的地位。数字滤波在语音信号、图象处理模式识别和谱分析等领域中的一个基本的处理技术。数字滤波与模拟滤波相比数字滤波具有很多突出的优点,主要是因为数字滤波器是过滤时间离散信号的数字系统,它可以用软件(计算机程序)或用硬件来实现,而且在两种情况下都可以用来过滤实时信号或

非实时信号。尽管数字滤波器这个名称一直到六十年代中期才出现,但是随着科学技术的发展及计算机的更新普及,数字滤波器有着很好的发展前景。同时它也有完全取代模拟滤波器的时候,原因是数字滤波没有漂移,它能处理低频信号,数字滤波的频率响应特征可做成极接近于理想的特性,它可以做成没有插入损耗和有线性相位特性,可相当简单地获得自适应滤波,滤波器的设计者可以控制数字字长,因而可以精确地控制滤波器的精度,其中的道理是数字滤波随着滤波器参数的改变,很容易改变滤波器的性能。这一特点就能允许我们用一种程序滤波器来完成多重滤波任务。滤波器对幅度和相位特性的严格要求,可以避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便地改变滤波器的特性,因此我们有必要对滤波器的设计方法进行研究,理解其工作原理优化设计方法,设计开发稳定性好的滤波器系统。我们将通过DSP设计平台来实现较为重要的“FIR和自适应滤波器系统”并实现了它们的应用系统以TMS320VC5416芯片为核心的硬件电路,实现能独立完成滤波功能的系统从而通过本课题的研究。掌握滤波器的设计技术和原理能为在通信领域、信号处理领域等诸多领域中对数字滤波器的设计提供技术和准备。本科题的研究将为今后设计以DSP为核心部件的嵌入式系统集成提供技术准备,这不仅具有重要的理论意义同时还具有重要的现实意义。 二、FIR滤波器的DSP实现的技术指标及性能

最新自适应滤波器的设计开题报告

长江大学 毕业设计开题报告 题目名称自适应滤波器的设计与应用学院电信学院 专业班级信工10702班 学生姓名李雪利 指导教师王圆妹老师 辅导教师王圆妹老师 开题报告日期 2010年3月19日

自适应滤波器的设计与应用 学生:李雪利,长江大学电子信息学院 指导教师:王圆妹,长江大学电子信息学院 一、题目来源 来源于其他 二、研究目的和意义 滤波技术在当今信息处理领域中有着极其重要的应用。滤波是从连续的或离散的输入数据中除去噪音和干扰以提取有用信息的过程,相应的装置就称为滤波器。滤波器实际上是一种选频系统,他对某些频率的信号予以很小的衰减,使该部分信号顺利通过。而对其他不需要的频率信号予以很大的衰减,尽可能阻止这些信号通过。滤波器研究的一个目的就是:如何设计和制造最佳的(或最优的)滤波器。 在数字信号处理中,数字滤波是语音和图像处理、模式识别、频谱分析等应用中的一个基本处理算法。在许多应用场合,由于无法预先知道信号和噪声的特性或者它们是随时间变化的,仅仅用 FIR 和 IIR两种具有固定滤波系数的滤波器无法实现最优滤波。在这种情况下,必须设计自适应滤波器,以跟踪信号和噪声的变化。 自适应滤波器是利用前一时刻已获得的滤波器参数,自动地调节、更新现时刻的滤波器参数,以适应信号和噪声未知的统计特性,从而实现最优滤波。当在未知统计特性的环境下处理观测信号时,利用自适应滤波器可以获得令人满意的效果,其性能远超过通用方法所设计的固定参数滤波器。

三、阅读的主要参考文献及资料名称 1、《数字信号处理》刘益成(第二版)西安电子科技出版社 2、《数字信号处理》张小虹(第二版)机械工业出版社 3、自适应信号处理[M].西安:西安电子科技大学出版社,2001. 4.邹理和,数字信号处理, 国防工业出版社,1985 5.丁玉美等, 数字信号处理,西安电子科技大学出版社,1999 6.程佩青, 数字信号处理,清华大学出版社,2001 7. The MathWorks Inc, Signal Processing Toolbox For Use with MATLAB, Sept. 2000 8. vinay K.Ingle, John G.Proakis,数字信号处理及MATLAB实现,陈怀琛等译,电子工业出版社,1998.9 9、《MATLAB编程参考手册》 10、中国期刊网的相关文献 11、赫金,自适应滤波器原理第四版,西安工业出版社,2010-5-1 四、国内外现状和发展趋势与主攻方向 自适应滤波器的理论与技术是50年代末和60年代初发展起来的。它是现代信号处理技术的重要组成部分,对复杂信号的处理具有独特的功能。自适应滤波器在数字滤波器中试属于随机数字信号处理的范畴。对于随机数字信号的滤波处理,通常有维纳滤波,卡尔曼滤波和自适应滤波,维纳滤波的权系数是固定的,适用于平稳随机信号;卡尔曼滤波器的权系数是可变的,适用于非平稳随机信号中。但是,只有在对信号和噪声的统计特性先验

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

dsp滤波要点

数字信号处理 综合设计性实验报告 学院:电子信息工程学院 班级:自动化0706班 电子0701班 指导教师:高海林 学生:张越07213056 陈冠宇07214004 北京交通大学电工电子教学基地 2010年1月20日

利用DSP实现信号滤波 一:实验目的 实现离散信号滤波是DSP的基本功能,本实验中我们尝试实现分别了设计FIR 和IIR滤波器实现低通,高通,带通,带阻四种滤波器对正弦离散信号进行滤波。(1)学会编写滤波程序和输入信号程序。 (2)熟悉CCS集成开发环境,熟悉DSK板的使用。 (3)通过实验比较FIR和IIR在设计上和滤波效果上的区别。 二:FIR滤波器的设计 例:设计一个采样频率Fs为8000Hz,输入信号频率为1000HZ、2500HZ与4000HZ 的合成信号,通过设计FIR滤波器分别实现低通,高通,带通,带阻的滤波功能。 一:实验原理 一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满 足常系数线性差分方程: x(n): 输入序列,y(n): 输出序列,ai、bi : 滤波器系数,N: 滤波器的阶数。在式上式中,若所有的ai 均为0,则得FIR 滤波器的差分方程: 对上式进行z 变换,可得FIR 滤波器的传递函数: FIR 滤波器的结构

FIR 滤波器的单位冲激响应h(n)为有限长序列。 若h(n)为实数,且满足偶对称或奇对称的条件,则FIR 滤波器具有线性相位特性。在数字滤波器中,FIR 滤波器具有如下几个主要特点: ① FIR 滤波器无反馈回路,是一种无条件稳定系统; ② FIR 滤波器可以设计成具有线性相位特性。 本实验程序设计的就是一种偶对称的线性相位滤波器。 程序算法实现采用循环缓冲区法。 二:算法原理: ①在数据存储器中开辟一个N个单元的缓冲区(滑窗),用来存放最新的N个输入样本; ②从最新样本开始取数; ③读完最老样本后,输入最新样本来代替最老样本,而其他数据位置不变; ④用BK 寄存器对缓冲区进行间接寻址,使缓冲区地址首尾相邻。 三:实验程序设计步骤 1.FIR滤波器设计 利用MATLAB中的FDA工具导出正确的参数。 2.产生滤波器输入信号文件 以下是一个产生输入信号的C语言程序,信号是频率为1000Hz、2500Hz和4000Hz 的正弦波合成的波形: #include #include

自适应滤波器介绍及原理

关于自适应滤波的问题: 自适应滤波器有4种基本应用类型: 1) 系统辨识:这时参考信号就是未知系统的输出,当误差最小时,此时自适应滤波器就与未知系统具有相近的特性,自适应滤波器用来提供一个在某种意义上能够最好拟合未知装置的线性模型 2) 逆模型:在这类应用中,自适应滤波器的作用是提供一个逆模型,该模型可在某种意义上最好拟合未知噪声装置。理想地,在线性系统的情况下,该逆模型具有等于未知装置转移函数倒数的转移函数,使得二者的组合构成一个理想的传输媒介。该系统输入的延迟构成自适应滤波器的期望响应。在某些应用中,该系统输入不加延迟地用做期望响应。 3) 预测:在这类应用中,自适应滤波器的作用是对随机信号的当前值提供某种意义上的一个最好预测。于是,信号的当前值用作自适应滤波器的期望响应。信号的过去值加到滤波器的输入端。取决于感兴趣的应用,自适应滤波器的输出或估计误差均可作为系统的输出。在第一种情况下,系统作为一个预测器;而在后一种情况下,系统作为预测误差滤波器。 4) 干扰消除:在一类应用中,自适应滤波器以某种意义上的最优化方式消除包含在基本信号中的未知干扰。基本信号用作自适应滤波器的期望响应,参考信号用作滤波器的输入。参考信号来自定位的某一传感器或一组传感器,并以承载新息的信号是微弱的或基本不可预测的方式,供给基本信号上。 这也就是说,得到期望输出往往不是引入自适应滤波器的目的,引入它的目的是得到未知系统模型、得到未知信道的传递函数的倒数、得到未来信号或误差和得到消除干扰的原信号。 1 关于SANC (自适应消噪)技术的问题 自适应噪声消除是利用winer 自适应滤波器,以输入信号的时延信号作为参考信号来进行滤波的,其自适应消噪的原理说明如下: 信号()x n 可分解为确定性信号分量()D x n 和随机信号分量()R x n ,即: ()()()D R x n x n x n =+ (1.1) 对于旋转机械而言,确定性信号分量()D x n 通常可表示为周期或准周期信号分量()P x n ,即: ()()()P R x n x n x n =+ 1.2 对信号()x n 两个分量()P x n 和()R x n ,有两个基本假设: (1) ()P x n 和()R x n 互不相关; (2) ()P x n 和()R x n 的自相关函数具有下述特性:()0P P x x R m ≈, N m M ≥;()0R R x x R m ≈,B m M ≥;

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

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

数字滤波器的MAT LAB设计与 DSP上的实现 数字滤波器的MATLAB 设计与DSP上的实现 公文易文秘资源网佚名2007-11-15 11:56:42我要投稿添加到百度搜藏 摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。关键词 摘要:以窗函数法设计线性相位 FIR数字滤波器为例,介绍用 MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在 CCS5000仿真开发,然后将程序加载到 TMS320VC5 409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实 现的关键问题。 关键词:数字滤波器MATLAB DSP 引言 随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应

用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。 1数字滤波器的设计 1.1数字滤波器设计的基本步骤 数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR )滤波器和有限长冲激响应(FIR )滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间, 在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着 MATLAB软件尤 其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。 数字滤波器设计的基本步骤如下: (1确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给岀幅度和相位响应。幅度指标主要以两种方式给岀。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FI R滤波器的设计。第二种指标是相对指标。它以分贝值的形式给岀要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。 (2)逼近

自适应滤波器毕业设计论文

大学 数字信号处理课程要求论文 基于LMS的自适应滤波器设计及应用 学院名称: 专业班级: 学生姓名: 学号: 2013年6月

摘要自适应滤波在统计信号处理领域占有重要地位,自适应滤波算法直接决定着滤波器性能的优劣。目前针对它的研究是自适应信号处理领域中最为活跃的研究课题之一。收敛速度快、计算复杂性低、稳健的自适应滤波算法是研究人员不断努力追求的目标。 自适应滤波器是能够根据输入信号自动调整性能进行数字信号处理的数字滤波器。作为对比,非自适应滤波器有静态的滤波器系数,这些静态系数一起组成传递函数。研究自适应滤波器可以去除输出信号中噪声和无用信息,得到失真较小或者完全不失真的输出信号。本文介绍了自适应滤波器的理论基础,重点讲述了自适应滤波器的实现结构,然后重点介绍了一种自适应滤波算法最小均方误差(LMS)算法,并对LMS算法性能进行了详细的分析。最后本文对基于LMS算法自适应滤波器进行MATLAB仿真应用,实验表明:在自适应信号处理中,自适应滤波信号占有很重要的地位,自适应滤波器应用领域广泛;另外LMS算法有优也有缺点,LMS算法因其鲁棒性强特点而应用于自回归预测器。 关键词:自适应滤波器,LMS算法,Matlab,仿真

1.引言 滤波技术在当今信息处理领域中有着极其重要的应用。滤波是从连续的或离散的输入数据中除去噪音和干扰以提取有用信息的过程,相应的装置就称为滤波器。滤波器实际上是一种选频系统,他对某些频率的信号予以很小的衰减,使该部分信号顺利通过;而对其他不需要的频率信号予以很大的衰减,尽可能阻止这些信号通过。滤波器研究的一个目的就是:如何设计和制造最佳的(或最优的)滤波器。Wiener于20世纪40年代提出了最佳滤波器的概念,即假定线性滤波器的输入为有用信号和噪音之和,两者均为广义平稳过程且己知他们的二阶统计过程,则根据最小均方误差准则(滤波器的输出信号与期望信号之差的均方值最小)求出最佳线性滤波器的参数,称之为Wiener滤波器。同时还发现,在一定条件下,这些最佳滤波器与Wiener滤波器是等价的。然而,由于输入过程取决于外界的信号、干扰环境,这种环境的统计特性常常是未知的、变化的,因而不能满足上述两个要求,设计不出最佳滤波器。这就促使人们开始研究自适应滤波器。自适应滤波器由可编程滤波器(滤波部分)和自适应算法两部分组成。可编程滤波器是参数可变的滤波器,自适应算法对其参数进行控制以实现最佳工作。自适应滤波器的参数随着输入信号的变化而变化,因而是非线性和时变的。 2. 自适应滤波器的基础理论 所谓自适应滤波,就是利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。所谓“最优”是以一定的准则来衡量的,最常用的两种准则是最小均方误差准则和最小二乘准则。最小均方误差准则是使误差的均方值最小,它包含了输入数据的统计特性,准则将在下面章节中讨论;最小二乘准则是使误差的平方和最小。 自适应滤波器由数字结构、自适应处理器和自适应算法三部分组成。数字结构是指自适应滤波器中各组成部分之间的联系。自适应处理器是前面介绍的数字滤波器(FIR或IIR),所不同的是,这里的数字滤波器是参数可变的。自适应算法则用来控制数字滤波器参数的变化。 自适应滤波器可以从不同的角度进行分类,按其自适应算法可以分为LMS自适应滤波

DSP实验报告

电气信息工程学院 D S P技术与综合训练 实验报告 班级 08通信1W 姓名丁安华 学号 08313115 指导老师倪福银刘舒淇 2011年09 月

目录 实验一 LED演示 1.1.实验目的 -------------------------------------------------P2 1. 2.实验设备-------------------------------------------------P2 1. 3.实验原理-------------------------------------------------P2 1. 4.实验程序设计流程------------------------------------------P3 1. 5.实验程序编写----------------------------------------------P4 1. 6.实验步骤-------------------------------------------------P7 1. 7.实验结果与分析--------------------------------------------P7实验二键盘输入 2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2. 3.实验原理-------------------------------------------------P8 2. 4.实验程序设计流程------------------------------------------P9 2. 5.实验程序编写----------------------------------------------P10 2. 6.实验步骤-------------------------------------------------P14 2. 7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示 3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3. 4.实验程序设计流程------------------------------------------P17 3. 5.实验程序编写----------------------------------------------P18 3. 6.实验步骤-------------------------------------------------P22 3. 7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法 4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4. 5.实验程序编写----------------------------------------------P25 4. 6.实验步骤-------------------------------------------------P27 4. 7.实验结果与分析--------------------------------------------P28

DSP的FIR设计(低通滤波)C语言编写

一、设计目的 低通滤波器设计。 本设计中使用的信号为 信息信号: signal=sin(2*pi*sl*n*T) 高频噪声1:noise1=0.7*sin(2*pi*ns1*n*T) 高频噪声2:noise2=0.4*sin(2*pi*ns2*n*T) 混合信号: x=(signal+noise1+noise2) 其中sl=500Hz ,ns1=3000Hz ,ns2=8000Hz ,T=1/20000。混合信号波形为滤波器输入信号波形,信息信号波形为输出信号波形,滤波器的效果为滤除两个高频噪声。 二、FIR 滤波器基本理论 (1)FIR 滤波器的特点 数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。它的实现方法有很多,其中比较常用到的是无限长脉冲响应滤波器 IIR 和有限长脉冲响应滤波器FIR 两种。 在计算量相等的情况下,IIR 数字滤波器比FIR 滤波器的幅频特性优越,频率选择性也好。但是,它有着致命的缺点,其相位特性不好控制。它的相位特性 )argH( )f(ω ωj e =是使频率产生严重的非线性的原因。但是在图像处理、数据传 输等波形传递系统中都越来越多的要求信道具有线性的相位特性。在这方面 FIR 滤波器具有它独特的优点,设FIR 滤波器单位脉冲响应h(n)长度为N ,其系统函数H(z)为 ∑-=-= 1 )()(N n n z n h z H H(z)是1 -z 的(N-1)次多项式,它在z 平面上有(N-1)个零点,原点z=0是(N-1)阶重极点。因此,H(z)永远稳定,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位。 (2)FIR 滤波器的基本结构 数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列,FIR 滤波器的差分方程为: ∑-=-= 1 )()(N k k k n x a n y 对上式进行Z 变换得到FIR 滤波器的传递函数为: ()() () ∑-=-= = 1 N i k k z b z X z Y z H

自适应滤波器的dsp实现

学号: 课程设计 学院 专业 年级 姓名 论文题目 指导教师职称 成绩 2013年 1 月 10 日

目录 摘要 (1) 关键词 (1) Abstract (1) Key words (1) 引言 (1) 1 自适应滤波器原理 (2) 2 自适应滤波器算法 (3) 3 自适应滤波算法的理论仿真与DSP实现 (5) 3.1 MATLAB仿真 (5) 3.2 DSP的理论基础 (7) 3.3 自适应滤波算法的DSP实现 (9) 4 结论 ............................................... 错误!未定义书签。致谢 ................................................. 错误!未定义书签。参考文献 ............................................. 错误!未定义书签。

自适应滤波器算法的DSP实现 学生姓名:学号: 学院:专业: 指导教师:职称: 摘要:本文从自适应滤波器的基本原理、算法及设计方法入手。本设计最终采用改进的LMS算法设计FIR结构自适应滤波器,并采用MATLAB进行仿真,最后用DSP 实现了自适应滤波器。 关键词:DSP(数字信号处理器);自适应滤波器;LMS算法;FIR结构滤波器 DSP implementation of the adaptive filter algorithm Abstract:In this article, starting from the basic principles of adaptive filter and algorithms and design methods. Eventually the design use improved the LMS algorithm for FIR adaptive filter,and use MATLAB simulation, adaptive filter using DSP. Key words:DSP;adaptive filter algorithm;LMS algorithm;FIR structure adaptive filter 引言 滤波是电子信息处理领域的一种最基本而又极其重要的技术。在有用信号的传输过程中,通常会受到噪声或干扰的污染。利用滤波技术可以从复杂的信号中提取所需要的信号,同时抑制噪声或干扰信号,以便更有效地利用原始信号。滤波器实际上是一种选频系统,它对某些频率的信号予以很小的衰减,让该部分信号顺利通过;而对其他不需要的频率信号则予以很大的衰减,尽可能阻止这些信号通过。在电子系统中滤波器是一种基本的单元电路,使用很多,技术也较为复杂,有时滤波器的优劣直接决定产品的性能,所以很多国家非常重视滤波器的理论研究和产品开发[1]。近年来,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。从总的来说滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。 自适应滤波器是统计信号处理的一个重要组成部分。在实际应用中,由于没有充足的信息来设计固定系数的数字滤波器,或者设计规则会在滤波器正常运行时改变,因此我们需要研究自适应滤波器。凡是需要处理未知统计环境下运算结果所产生的信

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

DSP高通滤波器课程设计报告

D S P课程设计报告 题目:FIR高通滤波器设计 姓名 学号 教学院系 专业年级 指导教师

DSP课程设计 目录 一、设计题目 (1) 二、设计目标 (1) 三、算法研究与参数计算 (1) 1、FIR的原理和参数生成公式 (1) 2、利用MATLAB计算滤波系数 (1) 3、输入信号参数计算 (2) 四、编写源程序 (3) 五、调试过程 (4) 1、调试前准备 (5) 2、MATLAB的使用 (5) 3、编写及编译程序 (5) 4、设置断点和探针 (6) 5、打开观察窗口 (6) 六、实验结果及分析 (6) 1、输入信号的时域波形和频域波形 (6) 2、输出信号的时域波形和频域波形 (7) 七、设计心得 (8)

1 一、设计题目 FIR 高通滤波器设计 二、设计目标 设计一个FIR 高通滤波器,通带边界频率为6000Hz ,采样频率为20000Hz 。FIR 滤波器的设计用MA TLAB 窗函数法进行。 三、算法研究与参数计算 1、FIR 的原理和参数生成公式 图3-1 2、利用MATLAB 计算滤波系数 在MATLAB 界面输入图3-2所示程序,可得到滤波系数并生成INC 文件。 图 3-2

DSP 课程设计 2 输入freqz (y ,1,512),MATLAB 中显示高通滤波器的滤波特性曲线。如图3-3所示。 图3-3 3、输入信号参数计算 MATLAB 中输入图3-4中所示程序,包含两种频率成分的正弦信号,一种信号频率1000Hz ,一种信号6000Hz 。 图3-4 其频谱特性曲线如图3-5。 图3-5

FIR高通滤波器设计 四、编写源程序 参考资料,编写汇编语言源程序: HIGHPASS .set 1 ;if you want to use ,please set the value to 1 .global start,fir .mmregs COFF_FIR_START: .sect "coff_fir" .copy "0126.inc" K_FIR_BFFR .set 64 d_data_buffer .usect "fir_bfr",64 FIR_DP .usect "fir_vars",0 d_filin .usect "fir_vars",1 output .usect "fir_vars",1 input .usect "fir_vars",1 d_filout .usect "fir_vars",100h stacksize .set 256 stack .usect "fir_vars",stacksize .asg AR4,FIR_DATA_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .asg AR3,OUTBUF .asg AR2,INBUF .sect "fir_prog" nop start: stm #stack+stacksize,SP LD #FIR_DP,DP STM #d_data_buffer,FIR_DATA_P RPTZ A,#K_FIR_BFFR-1 STL A,*FIR_DATA_P+ STM #d_filin,INBUF_P 3

自适应滤波器的设计与实现毕业论文

自适应滤波器的设计与实现毕业论文 目录 第一章前言 (1) 1.1 自适应滤波器简介 (1) 1.2 选题背景及研究意义 (1) 1.3 国外研究发展现状 (2) 第二章自适应滤波器的基础理论 (4) 2.1 滤波器概述 (4) 2.1.1 滤波器简介 (4) 2.1.2 滤波器分类 (4) 2.1.3 数字滤波器概述 (4) 2.2 自适应滤波器基本理论 (7) 2.3 自适应滤波器的结构 (9) 第三章自适应滤波器递归最小二乘算法 (11) 3.1 递归最小二乘算法 (11) 3.1.1 递归最小二乘算法简介 (11) 3.1.2 正则方程 (11) 3.1.3 加权因子和正则化 (16) 3.1.4 递归计算 (18) 3.2递归最小二乘(RLS)算法的性能分析 (22) 第四章基于MATLAB自适应滤波器仿真 (23) 4.1 正弦波去噪实验 (23) 4.2 滤波器正则化参数的确定 (28) 4.2.1 高信噪比 (28) 4.2.2 低信噪比 (31) 4.2.3 结论 (33) 4.3 输入信号不同对滤波效果的影响 (33)

4.3.1 输入信号为周期信号 (33) 4.3.2 输入信号为非周期信号 (38) 第五章结论与展望 (44) 5.1 结论 (44) 5.2 对进一步研究的展望 (44) 参考文献 (45) 致谢 (46) 附录 (46) 声明 (58)

第一章前言 1.1自适应滤波器简介 自适应滤波器属于现代滤波的畴,它是40年代发展起来的自适应信号处理领域的一个重要应用,自适应信号处理主要是研究结构可变或可调整的系统,可以通过自身与外界的接触来改善自身对信号处理的性能,通常这类系统是时变的非线性系统,可以自动适应信号传输的环境和要求,无须详细的知道信号的结构和实际知识,无须精确设计处理系统本身。 自适应系统的非线性特性主要是由系统对不同的信号环境实现自身参数的调整来确定的。自适应系统的时变特性主要是由其自适应响应或自适应学习过程来确定的,当自适应过程结束和系统不再进行时,有一类自适应系统可成为线性系统,并称为线性自适应系统,因为这类系统便于设计且易于数学处理,所以实际应用广泛。本文研究的自适应滤波器就是这类滤波器。 自适应滤波器是相对固定滤波器而言的,固定滤波器属于经典滤波器,它滤波的频率是固定的,自适应滤波器的频率则是自动适应输入信号而变化的,所以其适用围更广。在没有任何信号和噪声的先验知识的条件下,自适应滤波器利用前一时刻已获得的滤波器参数来自动调节现时刻的滤波器参数,以适应信号和噪声未知或随机变化的统计特性,从而实现最优滤波。1.2选题背景及研究意义 伴随着移动通信事业的飞速发展,自适应滤波技术应用的围也日益扩大。早在20世纪40年代,就对平稳随机信号建立了维纳滤波理论。根据有用信号和干扰噪声的统计特性(自相关函数或功率谱),用线性最小均方误差估计准则设计的最佳滤波器,称为维纳滤波器。这种滤波器能最大程度地滤除干扰噪声,提取有用信号。但是,当输入信号的统计特性偏离设计条件,则它就不是最佳的了,这在实际应用中受到了限制。到60年代初,由于空间技术的发展,出现了卡尔曼滤波理论,即利用状态变量模型对非平稳、多输入多输出随机序列作最优估计。现在,卡尔曼滤波器已成功地应用到许多领域,它既可对平稳的和非平稳的随机信号作线性最佳滤波,也可作非线性滤波。实质上,维纳滤波器是卡尔曼滤波器的一个特例。 在设计卡尔曼滤波器时,必须知道产生输入过程的系统的状态方程和测量方程,即要求对信号和噪声的统计特性有先验知识,但在实际中,往往难以预知这些统计特性,因此实现不了真正的最佳滤波。 Widrow.B等于1967年提出的自适应滤波理论,可使自适应滤波系统的参数自动地调整而

DSP课程设计-FIR高通滤波器设计说明

FIR高通滤波器设计 师大学物科院

从实现方法方面考虑,将滤波器分为两种,一种是IIR滤波器,另一种是FIR 滤波器。 FIRDF的最大优点是可以实现线性相位滤波。而IIRDF主要对幅频特性进行逼近,相频特性会存在不同程度的非线性。我们知道,无失真传输与滤波处理的条件是,在信号的有效频谱围系统幅频响应应为常数,相频响应为频率的线性函数。另外,FIR是全零点滤波器,硬件和软件实现结构简单,不用考虑稳定性问题。所以,FIRDF是一种很重要的滤波器,在数字信号处理领域得到广泛应用。 FIRDF设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。其中窗函数计法的基本思想是用FIRDF逼近希望的滤波特性。本次设计主要采用窗函数设计法,对理想滤波器进行逼近,从而实现高通滤波器的设计。 在MATLAB软件中,有一系列函数用于设计滤波器,应用时十分方便。因此,在本次设计中,滤波器的设计主要采用MATLAB软件,编写适当的程序,得到滤波器的单位脉冲响应。 本设计对滤波器的硬件仿真主要使用CCS软件,通过对滤波器的硬件仿真,可以较为真实的看出滤波器的滤波效果。 关键字:高通、FIRDF、线性相位、Hanning窗、MATLAB、CCS

1.设计目标 产生一个多频信号,设计一个高通滤波器消除其中的低频成分,通过CCS的graph view 波形和频谱显示,并和MATLAB计算结果比较 2.设计原理 2.1数字滤波器 数字滤波器(digital filter)是由数字乘法器、加法器和延时单元组成的一种装置。其功能是对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。 由于电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器广泛用于数字信号处理中,如电视、VCD、音响等。 按照滤波电路的工作频带为其命名:设截止频率为fp,频率低于fp的信号可以通过,高于fp的信号被衰减的电路称为低通滤波器,频率高于fp的信号可以通过,低于fp的信号被衰减的电路称为高通滤波器;而带通吗,就是频率介于低频段截止频率和高频段截止频率的信号可以通过的电路。 2.2高通滤波器 高通滤波器是容许高频信号通过、但减弱(或减少)频率低于截止频率信号通过的滤波器。对于不同滤波器而言,每个频率的信号的减弱程度不同。它有时被称为低频剪切滤波器;在音频应用中也使用低音消除滤波器或者噪声滤波器。高通滤波器与低通滤波器特性恰恰相反。这样的滤波器能够把高频率的声音引导至专用高音喇叭(tweeter),并阻止可能干擾或者损害喇叭的低音信号。使用线圈而不是电容的低通滤波器也可以同时把低频信号引导至低音喇叭(woofer)。高通和低通滤波器也用于数字图像处理中在频域中进行变换。 2.3高通滤波器的分析 2.3.1高通滤波器的时域分析 在时域,信号经过系统的响应y (n)体现为激励x(n)跟系统单位抽样响应h(n)的卷积和y(n)=(n)×h(n)=ΣN–1m=0h(m)x(n-m)[223] 。对于长度为N 的FIR 系统, h(n)可以看成一个长度为N 点的固定窗口,而x(n)则看成一个队列以齐步 走的方式穿过h(n)窗口,每走一步,位于窗口中的x(n)部分的点跟h(n)的对应点 的值相乘(即加权)再求和,所得结果构成此时系统的响应值y(n), x(n)队列每走 一步就得到一个响应值y(n),即y(n)是h(n)对位于其窗口中的x(n)的加权求和。 高通滤波要求h(n)窗口具有波形锐化作用,即利用h(n)窗口加权和使得变化快 的(即高频)正弦分量保留(理想高通)或衰减幅度小(实际高通) ,而变化缓慢(即 低频)的正弦分量正负抵消(理想高通)或衰减幅度大(实际高通) 。 设

相关文档
最新文档