基于DSP Builder的回波抵消器设计与实现
摘要:针对通信中的回波问题,基于自适应滤波的LMS算法,设计了自适应回波抵消器。并基于利用FPGA芯片,在DSP Builder平台上,有效结合MatLab/Simulink和Quanus II设计工具,根据模块化设计思想实现了LMS算法自适应回波抵消器硬件电路设计。软件仿真和系统FPGA硬件实测结果表明,该设计方法使回波抵消器的FPGA硬件实现更加简便快捷。
关键词:DSP Builder;回波抵消器;FPGA
在数字通信、卫星通信等系统中,不同程度的存在回波现象,影响了通信质量。为了消除回波可以采用回波抵消器,它能估计回波路径的特征参数,以产生一个估计的回波信号,然后从接收信号中减去该信号,以实现回波抵消。而一般采用自适应滤波器模拟回波路径,可以跟踪回波路径的变化。
DSP Builder是Ahera公司推出的面向DSP开发的系统级工具,它作为Matlab的一个Simulink工具箱出现,使得用FPGA设计的DSP系统完全可以通过图形化界面进行设计和仿真。
文中介绍以DSP Builder为平台完成自适应回波抵消器的FPGA电路设计,用FPGA验证设计电路的正确性和可靠性。
1 自适应回波抵消器原理
自适应回波抵消结构框图,如图1所示。
图1中s(n)表示B信号;x’(n)表示A信号产生的回波;v(n)为近端环境噪声;y’(n)是滤波器模拟的回波信号;e(n)是残留回波信号或误差信号。信号d(n)由B信号s(n)和回波x’(n)及噪声组成,即d(n)=x’(n)+s(n)+v(n)。假定模拟回波信号估计为
式中,ωk(n)为自适应滤波器的时变系数,从信号d(n)中减去模拟回波y’(n)信号后的残留回波信号或误差信号为
当自适应滤波器的单位脉冲响应能很好地模拟回波通道的传递函数时,可以认为时,从而有e(n)=s(n)+v(n),这样传向远端的信号中不包括回波信号x’(n),即回波被抵消。
其中,回波抵消器的主要部分自适应滤波器所用算法选择LMS算法,其迭代公式为
式中,X(n) =[X(n),X(n-1),X(n-2),…,X(n-M+1)]T表示时刻n时的输入信号矢量,由最近M个信号采样值构成,W(n)=[W0(n),Wl(n),…,WM-1(n)]T表示n时刻自适应滤波器的系数矢量估值,μ是控制稳定性和收敛速度的步长参量。
2 FPGA硬件设计
设计选用FPGA是Altera公司Cyclone系列的EPlCl2Q240C8。FPGA中I/O端口可自由定义,电路设计方便、编程灵活、不易受外部干扰。系统编译环境采用QuartusⅡ,顶层设计为图形化方式。芯片模块划分为分频模块、D/A转换模块和回波抵消器模块。分频模块采用VHDL语言编程实现,D/A转换模块采用硬件电路实现,同波抵消器模块用DSPBuilder软件进行设计。
2.1 分频模块设计
分频模块是将外部时钟进行分频设定,得到系统内部DA模块和回波抵消器模块所需要的时钟。分频模块的外部时钟输入频率为50 MHz,8分频后产生的时钟频率约为6 MHz。
2.2 回波抵消器模块设计
该部分采用层次化的设计方法。利用DSP Builder模块构建自适应算法部分,根据LMS算法迭代公式(4)和滤波器的估计输出式(2),建立加权分量模型。如图2(a)所示。
在图2(a)中,第i个延时单元的输入信号为x(n),延时后的输出信号为x(n-1),同时输入信号x(n)产生一个乘积y’(n)=ω(n)x(n),由于是滤波器的估计输出是一系列权值分量与输入矢量的各分量乘积之和。因此,除第一级外,后续单元必须加上前一级的加权单元的输出。封装后,则可以根据滤波器阶数的不同而相应调整,以实现多级级联。尤其是在构造阶数可变和阶数较大的滤波器时更能显出其灵活性。然后将封装后的加权分量单元依照阶数级联,并再次封装即构成抵消器模块。可运用于顶层模型中。
在顶层系统模型中连接各子模块,如图2(b)所示,图中两个信号源sin2,sin1采用正弦信号发生器实现,利用正弦查找表产生正弦波数据,函数调用格式为lOsin([0:2π/2∧4:2π])和5sin[0:2π/2∧6:2π],其输入地址分别为4位和6位,输出为16位。Dixiaoqi模块由图2(a)级联封装得到,模块Parallel to serial为并行/串行转换器。
设计中,因语音信号频率可以看作约为3.4 kHz,所以信号采样频率设为8 kHz,假设回波延迟2.5 ms(小于回波对听觉产生干扰的范围20 ms),考虑收敛速度和实现情况,步长采用0.1,计算得出滤波器阶数20。
2.3 D/A转换模块设计
利用Texas Instruments公司的D/A芯片TLC5620,并辅助使用4输入与门SN74HC08M和运算放大器LM358AM,构建数模转换器。TLC5620是8位电压输出的数模转换器,需5V外接电压,有4个输出端口可以选择。利用扩展插槽与FPGA连接,信号接119脚,时钟由所编程序在FPGA内实现,通过73脚与TLC5620连接,控制信号通过63脚连接TLC5620。
- 基于FPGA的通信系统基带验证平台的设计(06-11)
- 基于DSP的空间光通信APT运动控制箱设计(10-11)
- 嵌入式语音通信系统中VxWorks BSP的设计实现(09-18)
- DSP在通信中的应用(10-12)
- 利用数字信号控制器实现稳健的PLC通信(05-02)
- 短波通信中一种时延设计方法与DSP实现(05-02)