ace2050 发表于 2014-4-11 13:39:28

Help~~~~~ MATLAB滤波器设计系数导出问题

描述:   
    目的:利用MATLAB对电流波形进行工频信号的提取。
   
    方法:利用MATLAB信号处理工具箱中的滤波设计工具来实现,基本设计参数如下
             % 滤波器类型: Butterworth(IIR)
             % Direct-Form II,Second-Order Sections
             % order:24
             % Sections:12
             % fs:10KHz
             % Fstop1:45Hz
             % Fpass1:48Hz
             % Fpass2:52Hz
             % Fstop2:55Hz

         
实验过程:
          直接用MATLAB工具箱进行处理,将信号AC导入工具箱,然后用设计好的带通滤波器对AC滤波。

实验结果:
         实验过程截图如图2、图3、图4所示,得到输出信号ACF,滤波结果可以接受。


问题出现:
            将滤波器系数导出至workspace,调用库函数y = filter(b,a,X)对AC滤波,结果与直接使用工具箱完全不一样,数据呈无穷大状态:NaN。
            
            上述问题的引出是基于如下考虑:在工具箱中直接进行滤波结果是可行的,但效率太低,所以,考虑将滤波器系数导出至workspace中,然后编写M文件调用。
      
补充:      
          函数filter(b,a,X)解释如下
                     filters the data in vector X with the filter described by numerator coefficient vector b and denominator coefficient vector a. If a(1) is not equal to 1, filter normalizes the filter coefficients by a(1). If a(1)
          equals 0, filter returns an error.   
            
          带通滤波器系数存于结构体中,filter.tf.num对应系数b, filter.tf.den对应系数a.



   

                           

ace2050 发表于 2014-4-12 13:26:09

问题已解决。

xuanfong1 发表于 2014-4-22 20:39:08

准备去玩Matlab了。学习学习
页: [1]
查看完整版本: Help~~~~~ MATLAB滤波器设计系数导出问题