论文部分内容阅读
滤波器是电子设备中的常见模块,经典的滤波器设计方法有窗函数法,频率抽取法等。自机器学习的理论出现后,神经网络等算法广泛应用到FIR滤波器的设计中。本文针对传统FIR滤波器设计方法及神经网络设计方法的不足,在改进使用支持向量机(SVM)设计FIR滤波器方法的基础上,提出了 SVM设计FIR滤波器的硬件实现方法,将由SVM设计的滤波器移植到硬件上。使用SVM构造FIR滤波器,得到的滤波器可更新,并且使用的训练样本较少,本文中使用理想滤波器的幅值响应训练SVM。在建立SVM模型的过程中,本文引入针对训练集输出值的放大参数,该参数将数据集分离,并影响最终的幅频响应。SVM模型中训练参数较多,如训练组数、惩罚参数、核函数参数等,本文进行多次测试,将结果进行比较得到最优训练参数,据此构建基于SVM的FIR滤波器模型。相对于窗函数,使用S VM设计的滤波器具有良好的幅频特性,边界控制较为精确,通带较为平缓,阻带波动次数较少,衰减较多。为了保证滤波器的可更改性和便于其移植到其他系统里,利用生成的FIR滤波器模型构建一个位于FPGA上的嵌入式系统。FIR滤波器嵌入式系统主要由SVM构成,对SVM算法中频繁出现的核函数计算以及浮点数乘法加法运算进行硬件实现,对SVM算法中的训练部分和分类部分进行软件框架实现。本文对核函数的硬件实现进行优化,针对RBF核函数,进行算法上的改进,加速运算,同时使用流水线、向量分割等方法加速硬件系统,并平衡速度与资源。最终系统中单次分类测试向量的时间约为20us,滤波准确率可达到98.41%。