- 系统结构
1.先利用matlab的simulink和FDA进行滤波器建模设计,通过仿真后,确定模型达到相应的性能要求,再利用verilog进行电路设计。最后使用modelsim进行功能验证。其中testbench的输入数据,利用matlab模型的输入数据。
2.Matlab的模型:
输入数据——量化——CIC抽取滤波器——CIC补偿滤波器——半带滤波器——示波器和PSD
分析得到的波形和频谱图,判断是否达到性能要求
- 计算公式
1.数字滤波器的性能指标
输入采样频率 | Fs |
输出采样频率 | Fout |
输入信号带宽 | Fb |
输入信号位数 | Bin |
输出信号位数 | Bout |
通带截至频率 | Wp |
阻带截至频率 | Ws |
通带最大衰减 | Rp |
阻带最小衰减 | As |
抽取倍数 | M |
过采样率 | OSR |
通带纹波(dB) | δp |
阻带纹波(dB) | δs |
奈奎斯特频率 | FNyquist |
2. 通带最大衰减 Rp:在FDA设计中,通带截止频率,所对应曲线上的点
3. 阻带最小衰减 As:在FDA设计中,阻带截止频率,所对应曲线上的点
4. OSR = Fs / FNyquist = Fs / 2Fb
5. ENOB = ( SNR-1.76 ) / 6.02
ENOB:有效位数, SNR:信噪比 (dB)
6. 输出位宽: Bout = Bin + N*log2( DM )
D:延迟因子, N:滤波器级数
7.在CIC抽取滤波器中:
滤波器级联的级数 = 调制器的级数 +1
8. 在FIR补偿滤波器中,
(1) 补偿滤波器的级数 = CIC抽取滤波器的级联级数
9.在半带滤波器中
(1)通带纹波δp与阻带纹波δs相等,并且应该先计算出δs,再算δp
10. CSD编码:
(1)先根据通带纹波和滤波器阶数,计算出最小量化位宽,向上取整,再综合考虑确定滤波器系数的量化位宽
(2)再根据此最小量化位宽作为滤波器系数的有效小数位进行截取
(3)截取后,再乘以2的量化位宽数次方,转化为整数
(4)再将该整数,转化为量化位宽位的二进制
(5)再将二进制转化为CSD编码