请问下:matlab设计的IIR滤波器的输入x[n],是否一定要求-1≥ x[n] ≥ 1 ?
本帖最后由 snakeemail 于 2023-5-3 11:43 编辑问题1. 我看的例子是IIR低通滤波器,使用巴特沃斯滤波器,使用matlab的filterDesigner设计出来。
例子的输入是峰峰值<±1。
而我想用±2048之内的数,即ADC的码值,可以直接输入吗?
因为考虑到有饱和和系数截断的关系,所以一定要峰峰值<±1?
for(i=0; i<TEST_LENGTH_SAMPLES; i++) // total:400dot,
{
/* 50Hz正弦波+200Hz正弦波,采样率1KHz */
testInput_f32_50Hz_200Hz = arm_sin_f32(2*3.1415926f*50*i/1000) + arm_sin_f32(2*3.1415926f*200*i/1000);
}
问题2: 通带衰减Apass去哪里了? IIR滤波器不需要Apass这个参数吗?这是我按照教程出来的,通带的衰减是0dB,默认是0dB吗?不衰减输入。
我看的教科书上是需要Apass这个参数的,真是把我搞蒙了。
1、这个是浮点API,不限制±1。而定点的话,有个输入定标和输出定标的问题。输入主要是Q31,Q15和Q7
2、你看错图了,这才是带通
eric2013 发表于 2023-5-4 00:59
1、这个是浮点API,不限制±1。而定点的话,有个输入定标和输出定标的问题。输入主要是Q31,Q15和Q7
2、你 ...
谢谢。
关于问题2:如果Filter Order是"specify ordrer",右边的Apass就没了,选“Minimum order”就有Apass 直接采用的这个
页:
[1]