如何将图像读入设计好的滤镜进行处理?
数字处理器(DSP)具有强大的数据处理能力,广泛应用于数字滤波、音频处理、图像处理等高速数字信号处理领域。与模拟滤波器相比,数字滤波器没有漂移,可以处理低频信号,频率响应特性可以做得非常接近理想特性,精度高,易于集成。用可编程DSP芯片实现数字滤波,可以很方便地通过修改滤波器的参数来改变滤波器的特性。下面主要讲解用TMS320VC54x DSP芯片设计实现FIR数字滤波器。
设计目的的意义
在实际应用系统中,总是存在各种各样的干扰,因此在系统设计中,滤波器的好坏将直接影响系统的性能。利用DSP进行数字处理,可以对含有噪声和信号的混合信号源进行采样,然后通过数字滤波和噪声滤波提取有用信号。因此,数字滤波器是DSP最基础的应用领域,熟悉基于DSP的数字滤波器可以为DSP应用系统的开发提供良好的基础。
技术指标
1.数字滤波器的频率参数主要包括:①通带截止:是通带和过渡带的分界点,在该点信号增益下降到规定的下限。②阻带截止:是阻带和过渡带的分界点,在此处信号衰减下降到规定的下限。③转折频率:指信号功率衰减到1/2(约3dB)时的频率,很多情况下常采用fc作为通带或阻带截止频率。④电路无损耗时的固有频率:即其谐振频率。复杂电路通常有多个固有频率。
2.增益和衰减
通带中滤波器的增益不是恒定的。(1)低通滤波器的通带增益一般指ω=0时的增益;高通指ω→∞时的增益;频带的一般原理是指中心频率处的增益。②对于带阻滤波器,应给出阻带衰减,衰减定义为增益的倒数。③通带增益的变化是指通带内各点增益的最大变化。如果通带增益的变化以dB为单位,则指增益的变化以dB为单位。
3.阻尼系数和品质因数
阻尼系数α是表示滤波器对对角线频率为ω0的信号的阻尼效果的指标,是表示滤波器中能量衰减的指标。它是一个与传递函数极点实部大小相关的系数。
4.灵敏度
滤波电路由许多元件组成,每个元件参数值的变化都会影响滤波器的性能。
5.群延迟函数
在滤波器设计中,群延迟函数常用于评估滤波信号的相位失真程度。
以上技术指标是一般滤波器的特性,但在实际应用中,通常采用数字滤波器来实现频率选择,所以使用DSP设计数字滤波器时需要的技术指标主要是频域给定的幅频响应和相频响应。如下图所示
幅频响应和相频响应特性曲线
对于幅频响应,是指信号通过系统后输出信号的幅值与信号输入时的幅值之比,一般用分贝表示。对于相频响应,是指信号通过系统后输出信号的相位与信号输入时的相位之差。用线性相频响应指标设计滤波器有以下优点:①只涉及实数算法,不涉及复数运算;②没有延迟失真,只有固定数量的延迟;③可采用FFT算法提高运算效率;④由于FIR滤波器的单位冲激响应是有限序列,所以FIR滤波器不存在不稳定问题,误差小。
基本原理
利用DSP设计FIR滤波器的方法主要有窗函数法和频率采样法,其中窗函数法是基本的设计方法。这里采用窗函数法设计FIR滤波器。如果期望的滤波器响应为0,那么FIR滤波器的设计就是寻找一个传递函数。
推进,设置
这是傅立叶级数的系数。在这种近似下,最直接的方法是从单位冲激响应入手,从而逼近理想的单位冲激响应。因为是无限序列,所以最简单的方法就是截断,也就是得到一个近似的传递函数。
上式中,q是FIR滤波器的最后一阶,q越大,逼近程度越高。截断实际上是乘以一个矩形窗口,即
让z=,那么
其脉冲响应系数为,,,,,,,。为了使其成为因果关系,延迟q个样本,得到:
设n+Q=k,上式变为
Order,N=2Q,get
其中是脉冲响应系数,其中…,…,…。
一般来说,FIR数字滤波器输出的z变换形式与输入的z变换形式之间的关系如下:
实现结构如下图所示:
z变换结构图
从上面的z变换和结构图,很容易得到FIR滤波器的差分方程表达式,即得到上面公式的逆z变换:
上式是FIR数字滤波器的时域表示方法,其中x(n)是滤波器在n时刻的输入采样值,可以根据上式设计滤波器。
硬件设计
1,DSP芯片
根据设计原理,核心器件是德州仪器公司生产的低功耗定点数字信号处理器芯片TMS320C5402。选择该芯片主要是因为它是目前最常用的低成本DSP芯片,它具有以下主要特性:
(1)运算速度快,最高可达532MIPS;
⑵多总线结构,片内8条总线(1条程序存储器总线、3条数据存储总线和4条地址总线);
(3) ⑶CPU采用冯?诺依曼的并行结构设计使其能够在一个指令周期内高速完成许多算术运算;
⑶ 4K×16bitROM和16K×16bit双存取RAM集成在芯片中;
⑸丰富的片内外围电路(通用I/O引脚、定时器、时钟发生器、HPI接口、多通道缓冲串口McBSP)便于与外部接口;
[6] 3.3 V I/O电压,1.8V核心点电压,平均工作电流75mA,其中核心45mA,30mA输入输出;
曾经,144引脚BGA封装降低了体积和功耗。
2.AD和DA电路
在本数字滤波系统中,模数转换器选用TI公司的TLV1570芯片,选用8通道10位2.7-5.5 V低压模数转换器芯片。TLVl570的采样频率在3V时为625KSPS,输入信号的最大频率不能超过300K。
由于模数转换选用10位器件,为了简化程序代码,减少DSP的运算工作量,本数字滤波系统选用TI公司的TLV5608芯片,是一款8通道10位2.7-5.5V低压数模转换芯片。
3.电源电路
根据DSP芯片的电压电流要求和双电源的上电顺序要求,考虑TI公司的电源转换芯片TPS73HD318,输出电压为3.3V和1.8V,每个电源的最大输出电流为750mA,可以满足本系统的供电要求。而且TPS73xx的静态电流非常低,可以稳定稳压器的输出。
4.钟脉冲电路
C54xx系列的时钟端子为X1和X2/CLKIN,使用无源晶体振荡器提供时钟信号。因为DSP有一组端子可以用来调整其工作频率,所以对晶振频率的选择没有特殊要求。这里选择10Mhz的晶振。
5.重接电路
为了克服DSP系统运行时由于时钟频率较高而可能出现的干扰和干扰,最好使用具有看门狗功能的自动复位电路,因此采用了专用的自动复位芯片MAX706。MAX706的电源为3.1 V ~ 5.0 V,低电平复位输出,复位阈值为3.08V V。
6.废弃终端的处理
根据DSP芯片使用的相关原理和芯片说明书,确定不用的端子是接拉电阻还是悬空。
7.基于以上各部分的电路构成,可以得出DSP数字滤波器的整体硬件电路图,如下图。
编程;编排
1,设计思路
DSP进行数字滤波操作前需要进行初始化。只有正确设置DSP的初始状态,芯片才能正常运行。该系统主要在以下两个方面进行初始化:
①寄存器初始化:状态寄存器ST0、状态寄存器ST1、处理器模式控制寄存器PMST、软件等待状态寄存器SWWSR、组切换控制寄存器BSCR、时钟模式寄存器等。
(2)中断向量表的初始化:DSP芯片根据每个中断向量的设置位置编写一个子程序;设置PMST控制寄存器;连接时,将向量表重新定位到IPTR指定的地址。
(2)其次,FIR数字滤波的子程序设计,主要步骤如下:
(1)查询SPCR11寄存器的第二位。如果是1,表示ready,将DRR11的值读入AR3指向的地址,这是最新的采样值。
②将最新的采样值减去200h,然后将AR3的值减去1。
③执行MAC指令。
④将累加器的值发送给变量Y,并在Y上加200h..
⑤查询SPCR20寄存器的第二位,1时表示writeready,将Y值赋给DXR10,这是滤波器的输出值。
⑥循环上述步骤。
2、程序流程图
根据以上编程思路,可以得到利用DSP进行FIR滤波器设计的程序流程图,如下。
3、程序代码
由于初始化程序过于庞大复杂,这里只给出用MAC指令编程实现FIR低通滤波器的程序片段:
FILT_task1
LD Store_SICX,A
STLM A,ar4
STM #1,ar0中间地址
黑色STM #28
LD DEM_Out,A
STL A,* ar4+%;输入信号:实部
STM #Coef_Tab1,ar5滤波器实部系数地址
LD #0,A
STM #27,brc
RPTB SICXU-1
MAC *AR4+0%,*AR5+,A
SICXU LD A,-16,A;低通滤波结果
LD C7FFF,B
阿敏
阴性B
最大值
STL A,DEM_Out
LDM AR4,A
STL A,Store_SICX
浸水使柔软
Coef_Tab1
。word 100;h(0)
。单词7;h(1)
… ;脉冲响应系数
。word -248
。word-71;h(N-1)
。结束
摘要
通过使用DSP设计FIR滤波器,我们对DSP芯片的使用以及DSP芯片组成的基本系统的相关电路有了深入的了解。熟悉DSP芯片的系统设计和应用开发流程,利用图书馆、网络、问同学等途径查找资料,解决相关问题,这是最基础的工作,也是最关键的一步。这样做可以培养自己解决问题的能力和独立思考的能力,使自己具备技术人员的气质和工作态度,为以后就业增加优势。
数字滤波器是DSP的典型应用。学习它有助于类比和进一步学习,可以了解其他基于DSP的系统的功能和工作原理。掌握了基于DSP的应用开发,开阔了我们的视野,增长了我们的见识。是进入现代数字信号处理领域的重要技能,甚至大规模集成电路的开发也是会用到的基础。今后要重视并积极研究。