snakeemail 发表于 2023-5-3 11:37:20

请问下: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这个参数的,真是把我搞蒙了。


eric2013 发表于 2023-5-4 00:59:02

1、这个是浮点API,不限制±1。而定点的话,有个输入定标和输出定标的问题。输入主要是Q31,Q15和Q7
2、你看错图了,这才是带通


snakeemail 发表于 2023-5-4 18:23:02

eric2013 发表于 2023-5-4 00:59
1、这个是浮点API,不限制±1。而定点的话,有个输入定标和输出定标的问题。输入主要是Q31,Q15和Q7
2、你 ...

谢谢。
关于问题2:如果Filter Order是"specify ordrer",右边的Apass就没了,选“Minimum order”就有Apass

eric2013 发表于 2023-5-4 18:28:52

直接采用的这个


页: [1]
查看完整版本: 请问下:matlab设计的IIR滤波器的输入x[n],是否一定要求-1≥ x[n] ≥ 1 ?