DSP论文,TMS320C2812来实现了FIR数字滤波DOC

随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为主流技术,它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛。同时DSP(数字信号处理器)的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。

本课题主要应用MATLAB软件设计FIR数字滤波器的系数,用这些系数设计FIR滤波器并用编程仿真;应用DSP集成开发环境CCS调试程序,用

TMS320C2812来实现了FIR数字滤波。具体工作包括:对FIR数字滤波器的基本理论进行了分析和探讨;采用MATLAB软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对FIR低通数字滤波器进行前期的设计和仿真;系统介绍了TI公司数字信号处理器的硬件结构、性能特点和DSP 的集成开发环境CCS;应用DSP集成开发环境用CCS调程序,用TMS320C2812来实现了FIR数字滤波。

关键词:数字滤波器,DSP,FIR,MATLAB

1绪论 (1)

2系统开发平台与环境 (1)

2.1CCS开发环境 (1)

2.2DSP开发实验箱 (2)

3FIR滤波器设计过程 (2)

3.1FIR滤波器设计总框图 (2)

3.2FIR滤波器设计的原理 (3)

3.3FIR滤波器的设计方法 (3)

4程序流程图 (4)

5编写程序并仿真 (5)

5.1滤波器计算函数如下 (5)

5.2仿真结果 (5)

6总结 (6)

7参考文献 (7)

8附录 (8)

1绪论

在信号处理中,滤波占有十分重要的地位。数字滤波是数字信号处理的基本方法。数字滤波与模拟滤波相比有很多优点,它除了可避免模拟滤波器固有的电压漂移、温度漂移和噪声等问题外,还能满足滤波器对幅度和相位的严格要求。低通有限冲激响应滤波器(低通FIR滤波器)有其独特的优点,因为FIR系统只有零点,因此,系统总是稳定的,而且容易实现线性相位和允许实现多通道滤波器。

DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C2812作为DSP处理芯片,通过对其编程来实现FIR滤波器。

对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是FIR系统有自己突出的优点:①系统总是稳定的;

②易实现线性相位;③允许设计多通带(阻带)滤波器。其中后两项是IIR系统不易实现的。

利用C语言在CCS环境中编写一个FIR滤波器程序,并能利用已设计好的滤波器对常用信号进行滤波处理。

2系统开发平台与环境

2.1 CCS开发环境

CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS支持如下图2.1所示的开发周期的所有阶段。

图2.1

2.2 DSP开发实验箱

DSP开发箱本着模块化、总线型、开放式、系列化的设计思想,采用统一的系统结构、模块结构和机械结构,以多种典型DSP处理器构成具有标准总线和简单发动机相同物理尺寸的高性能嵌入式DSP开发板。

3FIR滤波器设计过程

3.1 FIR滤波器设计总框图

3.2 FIR滤波器设计的原理

设a i(i=0,1,2,…,N-1)为滤波器的冲激响应,输入信号为x(n),则FIR 滤波器的输入输出关系为:

1

3.2

3.3 FIR滤波器的设计方法

循环缓冲算法:对于N级的FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的

N个输入样本。每次输入新的样本时,一新样本改写滑窗中的最老的数据,而滑窗中的其他数据不需要移动。利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,环缓冲区地址首位相邻。下面,以N=5的

FIR滤波器循环缓冲区为例,说明循环缓冲区中数据是如何寻址的。5级循环缓冲区的结构如图3.3所示,顶部为低地址。

数据存储器数据存储器数据存储器

顶部

底部

图3.3

4程序流程图

图4.1

5编写程序并仿真

5.1 滤波器计算函数如下

float FIR()

{

float fSum;

fSum=0;

for ( i=0;i

{

fSum+=(fXn[i]*fHn[i]);

}

return(fSum);

}

5.2 仿真结果

输入信号

图5.2-1

输出信号

图5.2-2

输入的信号是10-100Hz与1k-10kHz信号的相加,经过滤波只输出了

10-100Hz的信号,而较高频率的信号被滤除。效果理想。

6总结

FIR滤波器的设计是数字信号处理技术的基础,也是DSP芯片的重要组成部分。FIR滤波器性能的好坏直接影响着DSP的运行速度和精度,对现代电子技术的发展起决定性作用,FIR滤波器的设计在以后的一段相当长的时间里将持续主导DSP,而DSP随着电子技术的不断发展,应用领域愈来愈广泛。

这次课程设计实现了一个简单的FIR滤波器的设计,在罗老师的精心指导和帮助以及自己上网查找资料,较好的完成了课程设计的任务并达到了理想的目的。在这里我对罗老师表示感谢,感谢她的耐心和热心。通过这次课程设计使我对DSP芯片有了更深一步的了解,也不断的强化了自己的基础知识。

7参考文献

[1]程佩青.数字信号处理教程[M].北京:清华大学出版社,1999年

[2]孙宗瀛,谢鸿林.TMS320C5xDSP原理设计与应用[M].北京:清华大学出版社,2002年

[3]乔瑞萍,崔涛,张芳娟.TMS320C54xDSP原理及应用[M].西安:西安电子科技大学出版社,2005年

[4]张雄伟. DSP芯片的原理与开发应用(第三版)[M].北京:电子工业出版社,2003年

[5]郑红.TMS320C54XDSP应用系统设计[M]. 北京:北京航空航天大学出版社,2002年

8附录

#include "DSP281x_Device.h" // DSP281x Headerfile Include File #include "DSP281x_Examples.h" // DSP281x Examples Include File #include "f2812a.h"

#include

#define FIRNUMBER 25

// 函数声明

interrupt void adc_isr(void);

float FIR();

float fHn[FIRNUMBER]={

0.00218610509217333,0.0236189556168884, 0.0173400056226900,0.0245021776420168,0.0308889378060406,

0.0376418229431873,0.0443551828218174,0.0507147318524124,

0.0564451660108467,0.0612310430334062,0.0648493648656627,

0.0671115426557053,0.0678704755615346,0.0671115426557053,

0.0648493648656627,0.0612310430334062,0.0564451660108467,

0.0507147318524124,0.0443551828218174,0.0376418229431873,

0.0308889378060406,0.0245021776420168,0.0173400056226900,

0.0236189556168884,0.00218610509217333

};

// 定义全局变量

Uint16 V oltage;

float shurudeshijiedianya;

float ADCLO=0; // ADC转换的参考电平为0 float fXn[FIRNUMBER]={ 0.0 };

float fOutput;

int i;

float fOut[256],fIn[256];

int nIn,nOut;

main()

{

InitSysCtrl(); // 初始化cpu

DINT; // 关中断

InitPieCtrl(); // 初始化pie寄存器

IER = 0x0000; // 禁止所有的中断

IFR = 0x0000;

InitPieVectTable(); // 初始化pie中断向量表

EALLOW; // This is needed to write to EALLOW protected register

PieVectTable.ADCINT = &adc_isr; // 将中断入口地址赋给中断向量表中对应的位置

EDIS; // This is needed to disable write to EALLOW protected registers

AdcRegs.ADCTRL1.bit.RESET = 1; // Reset the ADC module

asm(" RPT #10 || NOP"); // Must wait 12-cycles (worst-case)

for ADC reset to take effect

AdcRegs.ADCTRL3.all = 0x00C8; // first power-up ref and bandgap circuits

AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3; // Power up

bandgap/reference circuitry

AdcRegs.ADCTRL3.bit.ADCPWDN = 1; // Power up rest of ADC

// 设置EV A

// Assumes EV A Clock is already enabled in InitSysCtrl();

EvaRegs.T1CON.bit.TMODE = 2; // 计数模式为连续增计数

EvaRegs.T1CON.bit.TPS = 1; // T1CLK=HSPCLK/2 = 37.5 MHz

EvaRegs.T1CON.bit.TENABLE = 0; // 暂时禁止T1 计数

EvaRegs.T1CON.bit.TCLKS10 = 0; // 使用内部时钟

EvaRegs.GPTCONA.bit.T1TOADC = 2; // 周期中断启动ADC

EvaRegs.EV AIMRA.bit.T1PINT = 1; // 使能定时器T1 的周期中断

EvaRegs.EV AIFRA.bit.T1PINT = 1; // 清除定时器T1 的周期中断标志

EvaRegs.T1PR = 0x1D4B; // 周期为0.2 ms,计算公式为T=(T1PR+1)/(TCLK*10^6)

EvaRegs.T1CNT = 0; // 初始化计数寄存器

// 设置ADC

AdcRegs.ADCTRL3.bit.ADCCLKPS = 15; // ADCLK=HSPCLK/30

AdcRegs.ADCMAXCONV.all = 0x0000; // 最大转换1个通道

AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // 选择采样通道0

AdcRegs.ADCTRL2.bit.EV A_SOC_SEQ1 = 1; // 允许EV A触发启动SEQ1/SEQ

AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // 使能SEQ1的中断请求// Enable ADCINT in PIE

PieCtrlRegs.PIEIER1.bit.INTx6 = 1;

IER |= M_INT1; // 开CPU中断

EINT; // 使能全局中断

ERTM; // 使能实时中断

EvaRegs.T1CON.bit.TENABLE = 1; // 启动T1 计数// Wait for ADC interrupt

while(1)

{

}

}

interrupt void adc_isr(void)

{

V oltage = AdcRegs.ADCRESULT0 >>4;// 将采样得到的数据右移4位,如果不移,实际采样值计算公式不同下

shurudeshijiedianya = (float)(V oltage)/4095*3+ADCLO;// 采样

for ( i=FIRNUMBER-1;i>0;i-- )

fXn[i] = fXn[i-1];

fXn[0] = shurudeshijiedianya;// 将最新采样得到的实际值放入fXn[0]

fIn[nIn] = shurudeshijiedianya;

nIn++;

if ( nIn>=256 )

{

nIn = 0; /* 请在此句上设置软件断点*/

}

fOutput = FIR();

fOut[nOut] = fOutput;

nOut++;

if ( nOut>=256 )

{

nOut = 0; /* 请在此句上设置软件断点*/

}

//下面的变量在"f2812a.h"已经定义

DA_DATA_L = V oltage&0xff; // 第一通道da数据输出量低8位

DA_DATA_H = ((V oltage>>8)&0x0f)|DA_CHN1; // 第一通道da 数据输出量高8位和通道号1

DA_CTL=0;

// Reinitialize for next ADC sequence

AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // 复位序列发生器

AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // 清除ADC 中断

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // 响应PIE 同组中断

EINT; // 使能全局中断

return;

}

float FIR()

{

float fSum;

fSum=0;

for ( i=0;i

{

fSum+=(fXn[i]*fHn[i]);

}

return(fSum);

}

基于DSP的FIR数字滤波器_(设计实验)(汇编语言)

基于DSP 的FIR 数字滤波器 (设计实验) 一、实验目的 1.了解FIR (Finite Impulse Response 有限冲激响应)滤波器的原理及使用方法; 2.了解使用MATLAT 语言设计FIR 滤波器的方法; 3.了解DSP 对FIR 滤波器的设计及编程方法; 4.熟悉在CCS 环境下对FIR 滤波器的调试方法; 二、实验原理 数字滤波是DSP 的最基本应用,利用MAC (乘、累加)指令和循环寻址可以方便地完成滤波运算。两种常用的数字滤波器:FIR (有限冲激响应)滤波器和IIR (无限冲激响应)滤波器的DSP 实现。 设FIR 滤波器的系数为h(0),h(1), ...,h(N-1),X(n)表示滤波器在n 时刻的输入, 则n 时刻的输出为: FIR 数字滤波器的结构如图3.1所示。 1、线性缓冲区法 又称延迟线法。其方法是:对于n=N 的FIR 滤波器,在数据存储器中开辟一个N 单元的缓冲区,存放最新的N 个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。以上过程,可以用N=6的线性缓冲区示意图来说明,如图3-2所示 图3-2 N=6的线性缓冲区示意图 2、循环缓冲区法 图3-3说明了使用循环寻址实现FIR 滤波器的方法。对于N 级FIR 滤波器,在数据存储区开辟一个称为滑窗的具有N 个单元的缓冲区,滑窗中存放最新的N 个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。 10 ()()()(0)()(1)(1)(1)[(1)]N i y n h i x n i h x n h x n h N x n N -==-= +-+---∑ Z -1Z -1Z -1y(n)

基于TMS320C2812小信号采集

基于TMS320F2812的小信号采集 姓名:尤修民 学号: 1302076 方向:载运工具运用工程

在工业控制及各类科学实验中, 常常需要采集测试现场的各种物理量如:温度、压力、位移、速度、加速度等信号并及时进行分析处理, 以便进一步实施控制,常用的工业信号标准电流是4-20ma信号,为此本文设计基于tms320f2812的4-20ma信号采集电路,准确度高,信号处理快。 TI公司的TMS320系列的C2000芯片是专为工业自动化和传感、测量、控制而设计的,可以实现信号的快速采样和处理。 一、系统的硬件组成和工作原理 本系统采用TMS320F2812DSP芯片内置12bit A/D转换器, 其前端2个独立的8选1多路切换器和双采样/保持器, 构成16个模拟输入通道。通道在数量上能够满足系统传感器个数要求, 且留有余地; 传感器信号刷新频率较低, 最大不超过10kHz, F2812内置ADC在25MHz的ADC时钟下采样频率可达12.5MSPS, 显然能满足要求;12bit ADC在3V满输入范围下, 具有0.7326mV(3V/4095)极限分辨率, 考虑到在上述调理电路中,3VADC前端采用5倍增益的仪表放大器, 它将电路的系统分辨率从0.7326mV提高到0.1465mV, 足以满足系统测量分辨率的要求。与此同时, 该电路将满刻度范围降低至600mV(3V/5)。 1.1 电流电压转换电路 4mA~20mA电流传感器的信号是单端的, 这一开始就提出了需要一只简单的分流电阻器以便把电流转换成电压加到ADC的高阻抗模拟输入端。为减少由线路电阻引起的, 与电流相关的失调误差, 增强抗干扰能力, 采用了差分输入方式检测电流信号, 经仪表放大器隔离放大, 加到ADC输入端。图1示出4mA~20mA的电流型传感器的信号如何连接到F2812的12bitADC模块的。 图1

DSP论文,TMS320C2812来实现了FIR数字滤波

随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为主流技术,它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛。同时DSP(数字信号处理器)的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。 本课题主要应用MATLAB软件设计FIR数字滤波器的系数,用这些系数设计FIR滤波器并用编程仿真;应用DSP集成开发环境CCS调试程序,用 TMS320C2812来实现了FIR数字滤波。具体工作包括:对FIR数字滤波器的基本理论进行了分析和探讨;采用MATLAB软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对FIR低通数字滤波器进行前期的设计和仿真;系统介绍了TI公司数字信号处理器的硬件结构、性能特点和DSP 的集成开发环境CCS;应用DSP集成开发环境用CCS调程序,用TMS320C2812来实现了FIR数字滤波。 关键词:数字滤波器,DSP,FIR,MATLAB

1绪论 (1) 2系统开发平台与环境 (1) 2.1CCS开发环境 (1) 2.2DSP开发实验箱 (2) 3FIR滤波器设计过程 (2) 3.1FIR滤波器设计总框图 (2) 3.2FIR滤波器设计的原理 (3) 3.3FIR滤波器的设计方法 (3) 4程序流程图 (4) 5编写程序并仿真 (5) 5.1滤波器计算函数如下 (5) 5.2仿真结果 (5) 6总结 (6) 7参考文献 (7) 8附录 (8)

基于DSP窗函数法实现的有限单位冲激响应FIR数字滤波器

基于DSP窗函数法实现的有限单位冲激响应FIR数字滤波器 摘要:利用FIR和DSP各自的特点,将两者有机地组合成一个整体系统。基于DSP实现FIR数字滤波器,具有准确度高、稳定性好,易移植使用,有较强的实用性与灵活性的特点。重点利用窗函数法实现FIR数字滤波器。通过反复修改参数得到优化结果,并找出进一步改进的措施。 关键词:数字信号处理;有限单位冲击响应;DSP;FIR 0 引言 有限单位冲击响应(Finite Impulse Response,简称FIR)滤波器的实现,是以微处理器和半导体元器件为核心,横跨多学科领域,并广泛应用于控制领域,FIR滤波器具有幅度特性可随意设计、线性相位特性可严格精确保证等优点,因此在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,具有很大吸引力。本课题为基于DSP窗函数法实现的FIR数字滤波器,其中涉及到DSP和FIR这两个专有名词。其中DSP为Digital Signal Processor(数字信号微处理器)的简写,发展至今其以功能强大、高速度、可编程、低功耗著称,其中最著名DSP生产商为美国德州仪器(TI)公司。 1 数字滤波器的功能 一个数字滤波器可以用系数函数表示为 直接由此式可得出表示输入输出关系的常系数线性差分方程为 数字滤波器的功能就是把输入序列通过一定的运算变换成输出序列。可以用以下两种方法来实现数字滤波器:一种方法是把滤波器所要完成的运算编成程序并让计算机执行,也就是采用计算机软件来实现;另一种方法是设计专用的数字硬件、专用的数字信号处理器或采用通用的数字信号处理器来实现。 2 有限单位冲激响应(FIR)数字滤波器基本网络结构 有限单位冲激响应滤波器有以下几个特点;

FIR 数字滤波器(DSP实验报告)

FIR 数字滤波器 一、实验目的 数字滤波的作用是滤除信号中某一部分频率分量。信号经过滤波处理,就相当于信号频谱与滤波器的频率响应相乘的结果。从时域来看,就是输入信号与滤波器的冲激响应作卷积和。数字滤波器在各种领域由广泛的应用,例如数字音响、音乐和语音合成、躁声消除、数据压缩、频率合成、谐波消除、过载检测、相关检测等。 本实验主要学习数字滤波器的DSP 实现原理和C54X 编程技巧,并通过CCS 的图形显示工具观察输入/输出信号波形以及频谱的变化。该实验应该安排在串口和定时器操作实验之后进行。 二、实验原理 1) FIR滤波器的实现 如果FIR 滤波器的冲激响应为h(0),h(1),...,h(N-1)。X(n)表示滤波器在n 时刻的输入,则n时刻的输出为: y(n) = h(0)x(n) + h(1)x(n-1)+ ... + h(N-1)x[n-(N-1)] 使用MAC或FIRS指令可以方便地实现上面的计算。 使用带MAC 指令的循环寻址模式实现FIR 滤波器,程序片段如下:(输入数据在AL 中,滤波结果在AH中) STM #1,AR0 ;AR0=1 STM #N,BK ;BK=N,循环寻址BUFFER 大小为N STL A,*FIR_DATA_P+% ;更新滤波窗口中的采样数据RPTZ A,#(N-1) ;重复MAC指令N次,先将A清零

MAC *FIR_DATA_P+0%,*FIR_COFF_P+0%,A ;完成滤波计算。注意FIR滤波系数存放在 ;数据存储区 另一种方法是利用C54x 系列芯片的提供的FIRS 指令来实现FIR 滤波器。为一种有限单位冲激响应呈现对中心点对称的FIR 滤波器。长度为N的线性相位FIR,使用带FIRS 指令的循环寻址模式实现FIR 滤波器,程序片段如下:(输入数据在AL 中,滤波结果在B 中) STM #1,AR0 ;AR0=1 STM #(N/2),BK ;BK=N/2,循环寻址BUFFER大小为N MVDD *ar2, *ar3 ;更新Buffer2 STL A, *ar2+% ;更新滤波窗口中的采样数据ADD *ar2+0% , *ar3+0% ;初始化A RPTZ B, #(N/2-1) ;重复FIRS指令N/2次,先将B清零 FIRS *ar2+0%, *ar3+0%,filter_coff+N/2 ;完成滤波计算。注意FIR 滤波系数存放在程序,存贮区,filter_coff为系数起始地址MAR *ar2-% ;修改Buffer1指针 MAR *+ar3(-2)% ;修改Buffer2指针 2)AC01 的初始化 DSE320PP-U使用AC01作为模拟信号接口。AC01提供一个14bit 的D/A和一个14bit的A/D 通道。AC01 与VC5402 通过串口0 连

数字信号处理高西全丁玉美实验五:FIR数字滤波器设计及软件实现

数字信号处理实验 指导老师: 班级: 姓名: 学号:

目录 一、实验内容 (2) 1.实验目的 (2) 2.实验内容及步骤 (2) 3.实验程序框图 (3) 4.思考题 (4) 5.信号产生函数清单 (4) 6.思考题 (6) 5.实验程序框图 (6) 二、滤波器参数及实验程序清单 (7) 1.滤波器参数选取 (5) 2.实验程序清单 (5) 三、实验程序运行结果 (7) 四、思考题 (9)

实验五:FIR数字滤波器设计与软件实现 一、实验内容 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt 及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB

函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (5)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB 函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示: ○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz, 阻带截至频率fs=150Hz,换算成数字频率,通带截止频率 p 20.24 p f ωπ =T=π,通 带最大衰为0.1dB,阻带截至频率 s 20.3 s f ωπ =T=π,阻带最小衰为60dB。 3.实验程序框图 实验程序框图如图2所示,供读者参考。

DSPTMS320F2812实验讲义

目次 第一章 (2) 1.1 系统概述 (2) 1.2 实验箱整体配置与特点 (2) 1.3 实验箱功能实现 (4) 第二章 (5) 2.1 电源设计 (5) 2.2 复位电路设计 (7) 2.3 时钟电路设计 (9) 第三章 (11) 3.1 硬件仿真器的安装 (11) 3.2 CCS软件设置与项目管理 (18) 3.3 CCS常用工具与窗口 (33) 第四章 (40) 4.1 CCS入门实验(C语言的使用) (40) 4.2 片上外设实验----定时器控制实验 (43) 4.3 片上外设实验----A/D采集实验 (47) 4.4 有限冲击响应滤波器(FIR)算法实验 (54) 4.5 快速傅立叶变换(FFT)算法实验 (60) 附录 (65)

定时器工作寄存器 (67) AD转换功能寄存器 (70) 第一章 实验系统介绍1.1系统概述 SEED-DTK(DSP Teaching Kit)是由合众达公司提供的一套可以满足大学本科、研究生和教师科研工作的综合实验设备,具有独特的多DSP结构、较强的DSP主板功能、丰富的外围实验电路、与教学内容紧密结合的实验例程。 下面主要介绍下SEED-DTK2812实验箱,它由SEED-DEC2812板卡以及SEED-DTK_MBoard构成:其中主控板是合众达公司生产的SEED-DEC2812,母板是由该公司生产的SEED-DTK_MBoard板卡。此外,该款实验箱还可以配置DSK板卡、图像处理卡等多种子卡。 1.1.1 SEED-DTK2812实验箱实验例程 ■ SEED_DEC2812板卡实验例程 https://www.360docs.net/doc/6619018379.html,S软件应用实验: 介绍CCS的使用,编写简单的实验例程。 2.DSP片上资源应用实验 本部分例程介绍的是DSP的片上资源。 3.SEED_DEC2812板卡应用实验 SEED_DEC2812板卡与实验箱资源的应用实验。包括:异步、同步串口通讯;扩展I/O口使用;AD/DA的使用。 4.算法实验

fir数字滤波器的设计论文

分类号编号 XXXX North China Institute Of Water Conservancy And Hydroelectric Power 毕业设计 题目基于Matlab的FIR数字滤波器设计 学院信息工程学院 专业通信工程 姓名 学号 指导教师 2011年5月20日 毕业设计任务书 设计题目:基于Matlab的FIR数字滤波器设计 专业:通信工程

班级学号: 姓名: 指导教师: 设计期限:2011年3月7日开始 2011年5月20日结束 院、系:信息工程学院 2011年 3月7日 一、毕业设计的目的 1、深入了解利用Matlab设计FIR数字滤波器的基本方法。 2、在毕业设计的过程中掌握程序编译及软件设计的基本方法。 3、提高自己对于新知识的学习能力及进行实际操作的能力。 4、锻炼自己通过网络及各种资料解决实际问题的能力。 二、主要设计内容 利用窗函数法、频率取样法及优化设计方法设计FIR滤波器,绘制出滤波器的特性图。利用所设计的滤波器对多个频带叠加的正弦信号进行处理,对比滤波前后的信号时域和频域图,验证滤波器的效果。最后录制一段语音信号,并对录制的信号进行采样和加噪,绘制出采样后语音信号的时域波形和频谱图,然后用所设计的滤波器对加噪后的信号进行滤波,绘制出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。 三、重点研究问题 基于Matlab的FIR数字滤波器的基本设计方法,能够根据性能指标要求独立灵活地进行滤波器的设计。 四、主要技术指标或主要设计参数 (1)滤波器类型 (2)滤波器阶数和采样频率

(3)通带和阻带截止频率(4)通带和阻带衰减 (5)通带和阻带波纹 五、设计成果要求 1、完成课程设计书文档 2、完成程序的编译和调试 3、对程序主要语句做出注释

fir数字滤波器设计实验报告

fir数字滤波器设计实验报告 fir数字滤波器设计实验报告 引言: 数字滤波器是一种广泛应用于信号处理和通信系统中的重要工具。其中,有一 类常见的数字滤波器是FIR(Finite Impulse Response)数字滤波器。FIR数字滤 波器具有线性相位特性、稳定性好、易于设计和实现等优点,被广泛用于音频 处理、图像处理、通信系统等领域。本实验旨在通过设计一个FIR数字滤波器,探索其设计原理和实际应用。 一、实验目的 本实验的目的是通过设计一个FIR数字滤波器,实现对特定信号的滤波处理。 具体来说,我们将学习以下几个方面的内容: 1. FIR数字滤波器的基本原理和特点; 2. FIR数字滤波器的设计方法和流程; 3. 使用MATLAB软件进行FIR数字滤波器的设计和仿真。 二、实验原理 1. FIR数字滤波器的基本原理 FIR数字滤波器是一种线性时不变系统,其输出仅与当前输入和过去若干个输入有关,没有反馈回路。这种特性使得FIR数字滤波器具有线性相位特性,适用 于对信号的频率响应要求较高的应用场景。FIR数字滤波器的输出可以通过卷积运算来计算,即将输入信号与滤波器的冲激响应进行卷积运算。 2. FIR数字滤波器的设计方法 FIR数字滤波器的设计方法有很多种,常见的包括窗函数法、频率采样法和最优

化方法等。在本实验中,我们将使用窗函数法进行FIR数字滤波器的设计。窗函数法的基本思想是将理想滤波器的频率响应与一个窗函数相乘,从而得到实际可实现的滤波器。 三、实验步骤 1. 确定滤波器的设计要求 在设计FIR数字滤波器之前,我们首先需要明确滤波器的设计要求。包括滤波器的通带、阻带、过渡带的频率范围和响应要求等。 2. 选择窗函数和滤波器的阶数 根据设计要求,选择合适的窗函数和滤波器的阶数。常见的窗函数有矩形窗、汉宁窗、汉明窗等。不同的窗函数对滤波器的性能有一定影响,需要根据实际情况进行选择。 3. 计算滤波器的冲激响应 利用所选窗函数和滤波器的阶数,计算滤波器的冲激响应。可以使用MATLAB 等工具进行计算和仿真。 4. 实现滤波器的数字滤波功能 将计算得到的滤波器的冲激响应导入到FIR数字滤波器的实现中,实现对输入信号的滤波处理。可以通过编程语言或者专用的滤波器芯片来实现。 四、实验结果与分析 通过实验,我们成功设计并实现了一个FIR数字滤波器。在设计过程中,我们选择了汉宁窗作为窗函数,并确定了滤波器的阶数。通过计算得到滤波器的冲激响应,并将其导入到FIR数字滤波器的实现中。最终,我们成功实现了对输入信号的滤波处理。

fir数字滤波器的设计与实现

FIR数字滤波器的设计与实现 介绍 在数字信号处理中,滤波器是一种常用的工具,用于改变信号的频率响应。FIR (Finite Impulse Response)数字滤波器是一种非递归的滤波器,具有线性相位响应和有限脉冲响应。 本文将探讨FIR数字滤波器的设计与实现,包括滤波器的原理、设计方法和实际应用。 原理 FIR数字滤波器通过对输入信号的加权平均来实现滤波效果。其原理可以简单描述为以下步骤: 1. 输入信号经过一个延迟线组成的信号延迟器。 2. 延迟后的信号与一组权重系数进行相乘。 3. 将相乘的结果进行加和得到输出信号。 FIR滤波器的特点是通过改变权重系数来改变滤波器的频率响应。不同的权重系数可以实现低通滤波、高通滤波、带通滤波等不同的滤波效果。 设计方法 FIR滤波器的设计主要有以下几种方法: 窗函数法 窗函数法是一种常用简单而直观的设计方法。该方法通过选择一个窗函数,并将其与理想滤波器的频率响应进行卷积,得到FIR滤波器的频率响应。 常用的窗函数包括矩形窗、汉宁窗、哈密顿窗等。不同的窗函数具有不同的特性,在设计滤波器时需要根据要求来选择合适的窗函数。 频率抽样法 频率抽样法是一种基于频率抽样定理的设计方法。该方法首先将所需的频率响应通过插值得到一个连续的函数,然后对该函数进行逆傅里叶变换,得到离散的权重系数。

频率抽样法的优点是可以设计出具有较小幅频纹波的滤波器,但需要进行频率上和频率下的补偿处理。 最优化方法 最优化方法是一种基于优化理论的设计方法。该方法通过优化某个性能指标来得到最优的滤波器权重系数。 常用的最优化方法包括Least Mean Square(LMS)法、Least Square(LS)法、Parks-McClellan法等。这些方法可以根据设计要求,如通带波纹、阻带衰减等来得到最优的滤波器设计。 实现与应用 FIR数字滤波器的实现可以通过硬件和软件两种方式。 硬件实现 在硬件实现中,可以利用专门的FPGA(Field-Programmable Gate Array)等数字集成电路来实现FIR滤波器。通过将滤波器的计算量分布在多个计算单元上,可以提高滤波器的处理速度和效率。 软件实现 在软件实现中,可以利用现有的数字信号处理软件来实现FIR滤波器。例如,使用MATLAB等工具箱中提供的函数,可以方便地进行滤波器的设计和模拟。 FIR数字滤波器在许多领域都有广泛的应用,包括音频处理、图像处理、通信系统等。例如,FIR滤波器可以用于去除语音信号中的噪声,提高音频质量;也可以用于提取图像中的边缘信息,进行图像增强等。 总结 本文深入探讨了FIR数字滤波器的设计与实现。通过介绍滤波器的原理、设计方法和实际应用,我们了解了FIR滤波器的工作原理和不同的设计方法。同时,我们也了解了FIR滤波器在硬件和软件实现中的应用。 通过合理选择设计方法和权重系数,FIR数字滤波器可以实现各种滤波效果,满足不同的应用需求。FIR滤波器在数字信号处理中有着广泛的应用前景,为信号处理和系统设计提供了有力的工具。

fir数字滤波器的设计实验报告

fir数字滤波器的设计实验报告 FIR数字滤波器的设计实验报告 引言: 数字信号处理在现代通信、音频处理、图像处理等领域中起着至关重要的作用。而数字滤波器作为数字信号处理的核心组成部分之一,其设计和性能对于信号 处理的质量和效果有着直接的影响。本实验旨在探究FIR(有限脉冲响应)数字滤波器的设计原理和实践操作,以及对其性能进行评估。 一、实验目的 本实验的主要目的是掌握FIR数字滤波器的设计方法和实现过程,具体包括以 下几个方面: 1. 了解FIR数字滤波器的基本原理和特点; 2. 学习FIR滤波器的设计方法,包括窗函数法和频率采样法; 3. 实现FIR滤波器的设计和编程,掌握滤波器的参数配置; 4. 评估FIR滤波器的性能,包括幅频响应、相频响应、群延迟等。 二、实验原理 FIR数字滤波器是一种线性时不变系统,其传输函数的脉冲响应是有限长的。因此,FIR滤波器的设计主要涉及到确定滤波器的脉冲响应系数,即滤波器的冲击响应。 常用的FIR滤波器设计方法有窗函数法和频率采样法。窗函数法通过选择一个 窗函数,将其与理想滤波器的冲击响应进行卷积,从而得到实际的滤波器冲击 响应。常见的窗函数有矩形窗、汉宁窗、海明窗等。频率采样法则是通过在频 域上对理想滤波器的频率响应进行采样,然后进行反变换得到滤波器的冲击响

应。 三、实验过程 1. 确定滤波器的设计规格,包括截止频率、通带衰减和阻带衰减等参数; 2. 选择设计方法,如窗函数法或频率采样法; 3. 根据设计方法,计算滤波器的冲击响应系数; 4. 利用编程软件,如MATLAB或Python,实现滤波器的设计和编程; 5. 根据设计的滤波器参数,绘制滤波器的幅频响应和相频响应曲线; 6. 进行滤波器性能评估,包括群延迟、阻带衰减等指标。 四、实验结果与分析 本实验以MATLAB为例,使用窗函数法设计了一个FIR低通滤波器。滤波器的 设计规格为:截止频率为1kHz,通带衰减为0.5dB,阻带衰减为40dB。选择了汉宁窗作为窗函数,并利用MATLAB的fir1函数进行滤波器设计。 设计得到的滤波器的冲击响应系数共有N个,其中N为滤波器的阶数。通过绘制滤波器的幅频响应和相频响应曲线,可以观察到滤波器在通带内有较好的频 率响应特性,同时在阻带内有较大的衰减。 在滤波器的性能评估中,群延迟是一个重要的指标。群延迟表示信号通过滤波 器时的延迟时间,对于实时信号处理至关重要。通过计算滤波器的群延迟,可 以评估滤波器的实时性能。 五、实验总结 本实验通过设计和实现FIR数字滤波器,探究了滤波器的设计原理和实践操作。通过选择不同的设计方法和参数配置,可以得到不同性能的滤波器。在实际应 用中,根据不同的需求和信号特点,可以选择合适的滤波器设计方法,并对其

基于DSP设计的FIR带阻滤波器

基于DSP设计的FIR带阻滤波器 FIR(Finite Impulse Response)滤波器是数字信号处理中常用的一 种滤波器结构。它通过对输入信号进行加权求和来实现滤波功能。 FIR带阻(Band-stop)滤波器是一种能够在频率范围内削弱信号的 滤波器。它对信号在指定频率范围内进行衰减,而在其他频率上则不进行 处理。 在本文中,我们将基于DSP(Digital Signal Processor)来设计一 个FIR带阻滤波器。DSP是一种专门用于数字信号处理的集成电路,它具 有高速运算和多功能的特点。 设计一个FIR带阻滤波器的过程包括以下几个步骤: 1.确定滤波器的设计要求:带阻频率范围、阻带衰减、过渡带宽等。 2.根据设计要求,选择合适的滤波器类型和滤波器结构。FIR滤波器 的结构有直接形式、级联形式等,根据具体需求选择最适合的结构。 3.使用MATLAB等数字信号处理工具进行滤波器的设计。利用滤波器 设计工具箱中的函数,可以方便地设计出满足指定要求的FIR带阻滤波器。 4.将设计好的滤波器参数导入DSP开发环境中。根据DSP开发环境的 特点和要求,选择合适的方式将滤波器参数导入DSP。 5.在DSP中实现FIR带阻滤波器的算法,并进行编译和调试。利用DSP的高速运算能力和丰富的开发环境,可以方便地实现FIR带阻滤波器 的算法。 6.在实际应用中测试FIR带阻滤波器的性能。将滤波器应用于实际的 信号处理场景中,测试滤波器的性能和效果。

上述是一个FIR带阻滤波器设计的大致步骤。在具体的设计过程中, 需要根据实际应用需求和DSP开发环境的特点进行适当的调整和优化。 FIR滤波器相对于IIR滤波器具有一些优点,比如无反馈、稳定性好、相位线性等。因此,在许多数字信号处理应用中,FIR滤波器都得到了广 泛的应用。 总之,基于DSP设计的FIR带阻滤波器能够有效地对信号进行频率范 围内的衰减,从而实现滤波功能。在滤波器设计的过程中,需要根据实际 要求选择合适的滤波器结构和参数,并对设计的滤波器进行测试和优化。 通过合理的设计和实现,可以得到满足要求的FIR带阻滤波器,用于数字 信号处理应用中。

经典基于DSP的FIR滤波器的设计和实现

经典基于DSP的FIR滤波器的设计和实现经典基于DSP的FIR滤波器是数字信号处理中常用的一种滤波器。FIR(Finite Impulse Response,有限脉冲响应)滤波器的设计和实现相对简单,并且具有线性相位、稳定性好等优点,在音频处理、图像处理、通信等领域被广泛应用。本文将从FIR滤波器的基本原理开始,介绍FIR 滤波器的设计和实现方法。 FIR滤波器的基本原理是通过将输入信号与一系列滤波器系数相乘并求和得到输出信号。其中,滤波器系数决定了输出信号的频率响应特征。为了得到所需的频率响应,需要设计合适的滤波器系数。 FIR滤波器的设计通常包括以下几个步骤: 1.确定滤波器的截止频率和滤波器类型。根据应用需求确定需要滤除的频率范围和滤波器的类型(如低通、高通、带通等)。 2.选择滤波器的阶数。阶数决定了滤波器的复杂度,一般情况下,阶数越高,滤波器的性能越好,但计算复杂度也越高。 3.根据滤波器的截止频率和阶数选择合适的窗函数。窗函数是用来加权滤波器系数的函数,常用的窗函数有矩形窗、汉明窗、布莱克曼窗等。不同窗函数对滤波器的频率响应有不同的影响,需要根据应用需求选择合适的窗函数。 4.利用窗函数设计滤波器的理想频率响应。通过窗函数和滤波器的截止频率可以确定滤波器的理想频率响应。 5. 通过Inverse Fourier Transform将理想频率响应转换为时域的滤波器系数。可以利用FFT算法进行频域和时域的转换。

FIR滤波器的实现可以在时域和频域进行。时域实现是通过直接计算 滤波器的时域差分方程来得到输出信号。频域实现可以通过快速傅立叶变 换(FFT)和滤波器的频率响应相乘得到输出信号。在实际应用中,频域 实现更常用,因为可以利用FFT算法加速计算。 在DSP中实现FIR滤波器需要考虑一些实际问题。首先,需要有足够 的采样率来满足滤波器的要求。其次,需要考虑滤波器的存储和计算需求。对于高阶滤波器来说,计算复杂度较高,可能需要采用硬件加速或者并行 计算的方式来实现。 总结起来,经典基于DSP的FIR滤波器的设计和实现是一个综合性的 工程,需要根据应用需求选择滤波器类型、阶数和窗函数,然后通过逆傅 里叶变换得到滤波器系数,在时域或频域进行计算得到输出信号。在实际 应用中,还需要考虑采样率、存储和计算需求等问题。经典基于DSP的 FIR滤波器的设计和实现是数字信号处理领域的基础内容,掌握这些知识 有助于更好地理解和应用FIR滤波器。

基于TMS320F2812截止频率为2kHz低通滤波的设计与实现

截止频率为2KHz的低通滤波器设计实现滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的直流电。对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器,其功能就是得到一个特定频率或消除一个特定频率。 滤波器主要参数如下: 中心频率(Center Frequency):滤波器通带的中心频率f0,一般取f0=(f1+f2)/2,f1、f2为带通或带阻滤波器左、右相对下降1dB或3dB边频点。窄带滤波器常以插损最小点为中心频率计算通带带宽。 截止频率(Cutoff Frequency):指低通滤波器的通带右边频点及高通滤波器的通带左边频点。通常以1dB或3dB相对损耗点来标准定义。相对损耗的参考基准为:低通以DC处插损为基准,高通则以未出现寄生阻带的足够高通带频率处插损为基准。 通带带宽(BWxdB):(下图)指需要通过的频谱宽度,BWxdB=(f2-f1)。f1、f2为以中心频率f0处插入损耗为基准,下降X(dB)处对应的左、右边频点。通常用X=3、1、0.5 即BW3dB、BW1dB、BW0.5dB 表征滤波器通带带宽参数。分数带宽(fractional bandwidth)=BW3dB/f0×100[%],也常用来表征滤波器通带带宽。 数字滤波器按频率特性划分为低通、高通、带通、带阻、全通等类型,根据其单位冲激响应函数的时域特性可分为无限冲激响应( IIR) 滤波器和有限冲激响应滤( FIR) 波器。有限长单位冲击响应( FIR) 数字滤波器可以做成具有严格的线性相位,同时又具有任意的幅度特性。此外,FIR 滤波器的单位抽样响应是有限长的,因而滤波器一定是稳定的,只要经过一定的延时,任何非因果有限长序列都能变成因果有限长序列,因而总是能用因果系统实现。MATLAB 在数字信号处理方面的应用功能。 目前FIR滤波器的实现方法大致可分为三种:利用单片通用数字滤波器集成电路、DSP器件或者可编程逻辑器件实现。其中以使用通用DSP芯片实现方式较为简单,是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器,借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。由于它具有丰富的硬件资源、改进的哈佛结构、高速数据处理能力和强大的指令系统而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用。 通过MATLAB软件中的FDAtool命令,启动滤波器设计分析器,在Design

基于DSP的FIR滤波器的设计报告

u 目录 1概述................................................................ -0 - 1.1数字滤波器的研究现状 ......................................... -0 - 2系统硬件设计........................................................ -1 - 2.1系统设计方案................................................... -1 - 2.2主控模块....................................................... -3 - 3系统软件设计........................................................ -4 - 3.1软件整体设计................................................. -4 - 3.2测量模块....................................................... -7 - 4系统测试与总结...................................................... -8 - 4.1系统测试 ....................................................... -8 - 4.2总结体会...................................................... -10 - 参考文献 .............................................................. -11 - 附录 .................................................................. -12 -

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)窗口加权和使得变化快的(即高频)正弦分量保留(理想高通)或衰减幅度 小(实际高通),而变化缓慢(即低频)的正弦分量正负抵消(理想高通)或衰减幅 度大(实际高通)。

DSP串口数据采集发送及FIR滤波器的DSP实现

目录 一概述 (1) 二方案设计与论证 (1) 三单元程序设计与参数计算 (1) 3.1. FIR 低通滤波器系数 (1) 3.2 模拟方波 (2) 3.3 循环缓冲区法FIR滤波器 (4) 3.4 线性缓冲区法FIR滤波器 (6) 3.5 串口 (7) 3.5 硬件实现设计 (9) 四仿真结果 (12) 五结论 (12) 六心得体会 (12) 七参考文献 (13)

一、概述 数字信号处理是将信号以数字方式表示并处理的理论和技术。数字信号处理与模拟信号处理是信号处理的子集。数字信号处理的目的是对真实世界的连续模拟信号进行测量或滤波。因此在进行数字信号处理之前需要将信号从模拟域转换到数字域,这通常通过模数转换器实现。而数字信号处理的输出经常也要变换到模拟域,这是通过数模转换器实现的。 FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。因此,FIR滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。 TMS320C5402(简称C5402)提供了2个支持高速、全双工、带缓冲、多种数据格式等优点的多通道缓冲串行口McBSP。MCBSP分为数据通路和控制通路。通信数据通过McBSP 的数据发送(DX)引脚发送,通过数据接收(DR)引脚接收。时钟和帧同步控制信息通过CLKX、CLKR、FSX和FSR给出。C54xx通过16位宽可访问控制寄存器经外部外设总线与McBSP 通信。CPU或MDA控制器从数据接收寄存器(DRR[1,2])中读取接收待的数据,并把要发送的数据写到数据发送寄存器(DXR[1,2])中;然后,写到DXR[1,2]中的数据通过发送移位寄存器(XSR[1,2])从DX引脚移出。类似地,DR引脚上的接收数据被移入到接收移位寄存器(RSR[1,2]),并被复制到接收缓冲接存器(RBR[1,2])中;然后,(RBR[1,2])被复制到DRR[1,2],则CPU或DMA控制器即可通过(DRR[1,2])获得接收数据。这样,便可实现同时移动内部和外部帧同步脉冲有效表示传输的开始。 本次课设就是用DSP的多通道缓冲串行口接收数据,在通过FIR滤波后,输出出去。 二、方案设计与论证 C语言编程产生滤波器模拟输入4KHz方波信号;设计一个FIR滤波器,经FIR滤波后得到4KHz的正弦波信号。FIR滤波器的DSP编程采用分别采用线性缓冲区法和循环缓冲区法。 由实验箱信号发生器产生4KHz的模拟方波信号,然后进行AD转换,采样频率为 32KHz,对采样数字信号进行数字滤波得到4KHz的正弦波信号,存放在内存单元中观察这些数据的波形,并通过串口DAC转换后输出,在示波器上观察输出信号。 三、单元程序设计与参数计算 3.1设计一个FIR低通滤波器,通带边界频率为6500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为32000Hz。 FIR滤波器的设计可以用MATLAB窗函数法进行,例如选择Hamming窗,其程序为:b=fir1(16,6500/32000*2); 在DSP汇编语言中,不能直接输入十进制小数,在MATLAB中进行如下转换: h= round(b*2^15); 则将系数转换为Q15的定点小数形式,为

DSP实验报告--离散时间信号与系统的时、频域表示-离散傅立叶变换和z变换-数字滤波器的频域分析和实现-数字

南京邮电大学 实验报告 实验名称:离散时间信号与系统的时、频域表示离散傅立叶变换和z变换 数字滤波器的频域分析和实现 数字滤波器的设计 课程名称数字信号处理A(双语) 班级学号B13011025 姓名陈志豪 开课时间2015/2016学年,第1学期

实验名称:离散时间信号与系统的时、频域表示 实验目的和任务: 熟悉Matlab基本命令,理解和掌握离散时间信号与系统的时、频域表示及简单应用。在Matlab环境中,按照要求产生序列,对序列进行基本运算;对简单离散时间系统进行仿真,计算线性时不变(LTI)系统的冲激响应和卷积输出;计算和观察序列的离散时间傅立叶变换(DTFT)幅度谱和相位谱。 实验内容: 基本序列产生和运算:Q1.1~1.3,Q1.23,Q1.30~1.33 离散时间系统仿真:Q2.1~2.3 LTI系统:Q2.19,Q2.21,Q2.28 DTFT:Q3.1,Q3.2,Q3.4 实验过程与结果分析: Q1.1运行程序P1.1,以产生单位样本序列u[n]并显示它。 clf; n = -10:20; u = [zeros(1,10) 1 zeros(1,20)]; stem(n,u); xlabel('Time index n'); ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]);

Q1.2 命令clf,axis,title,xlabel和ylabel命令的作用是什么? 答:clf命令的作用:清除图形窗口上的图形; axis命令的作用:设置坐标轴的范围和显示方式; title命令的作用:给当前图片命名; xlabel命令的作用:添加x坐标标注; ylabel c命令的作用:添加y坐标标注; Q1.3修改程序P1.1,以产生带有延时11个样本的延迟单位样本序列ud[n]。运行修改的程序并显示产生的序列。 clf; n = -10:20; u = [zeros(1,21) 1 zeros(1,9)]; stem(n,u); xlabel('Time index n'); ylabel('Amplitude'); title('Unit Sample Sequence'); axis([-10 20 0 1.2]); Q1.23修改上述程序,以产生长度为50、频率为0.08、振幅为2.5、相移为90度的一个正弦序列并显示它。该序列的周期是多少? n = 0:50;

相关文档
最新文档