在 MATLAB 中,可以将滤波器系数保存为 .coe
文件,这种文件格式通常用于 FPGA 中,特别是在 Xilinx 的 FPGA 系统中。.coe
文件是一个文本文件,包含了滤波器系数的16进制或二进制表示。
一般我们通过如下的方式生成FPGA中所需的COE文件格式:
现在我们通过代码形式生成:
(此代码为多级HB滤波器的代码之一,切滤波器进行了优化,与之前直接生成的滤波器有点区别,仅供参考)
clear;
fp=20;%前5级半带滤波器和最后一级FIR的通带上限频率fp=20HZ
fs=25;%最后一级滤波器阻带下限频率fs=25HZ
F0=3200;%输入信号抽样频率
Fout=50;%输出信号抽样频率
dev=0.001;%整体系统的通、阻带容限
Q=12;%12位量化
D=log2(F0/Fout);%系统的总抽取倍数为F0/Fout,D为多少级数
devi=dev/D;%每一个HBF的通、阻带容限
%先用kaiserord求取最小滤波器阶数
%再用函数firpm设计最优滤波器
%抽样频率100Hz,wp=20Hz,ws=25Hz,阶数95阶
fc=[20 25];mag=[1 0];devk=[devi,dev];%通、阻带容限
[n,wn,beta