我怎么能出口一个等效滤波器的系数时我设计了两个FDATool多重速率的过滤器?

27日视图(30天)
我有设计和级联两个多速率滤波器FDATool我想出口一个等价的单程冷杉滤波器的系数。
第一阶段是一个18的冷杉滤波器系数和大批杀害了2。第二阶段是一个60的冷杉过滤器系数和另一大批杀害2。当我FDATool将它们组合在一起,得到的滤波器有137个系数没有意义。
当我试图导出系数MATLAB工作区作为系数,我只得到coefficiencts单独的两个阶段。我怎么能把两个?

接受的答案

MathWorks支万博1manbetx持团队
的原因,有137个系数等效滤波器由两个多速率滤波器在第一阶段的例子是18系数由2后面跟着大批杀害。因此第二个筛选阶段只作用于其他样本。这两个过滤器合并成一个你必须upsample第二阶段的系数然后卷积结果与第一阶段的系数。的例子:阶段有18个水龙头和阶段两个拥有60个龙头,因此结果将有60 * 2 + 18 = 137。
虽然没有直接出口方式相当于冷杉滤波器由两个级联的过滤器,这里有两个解决方法:
1)。您可以导出每个阶段的系数工作区为筛选对象,然后使用upsampling 0和组合它们
卷积。
出口系数作为对象去出口文件- >然后选择工作区作为对象。一旦对象是在工作区中
您可以使用UPSAMPLE和CONV函数获得整个系统的系数。看到下面的示例代码:
myFilt = conv (Hd.Stage (1)。分子,upsample (Hd.Stage (2) .Numerator, 2));
Hfir = dfilt。dffir (myFilt);
%去除后补零
Hfir.Numerator(结束)= [];
更多信息UPSAMPLE和CONV类型“doc UPSAMPLE”和“doc CONV”在MATLAB命令提示符。
2)。第二个方法提取整个系统系数使用TF命令。一旦你有出口过滤器对象
MATLAB工作区,使用以下示例代码:
[b] =特遣部队(Hd);
变量b现在包含137年的最后加上一个额外的零项系数。
虽然这些给相当于冷杉代表2级联多速率滤波器过滤器,这可能不是最有效的
实现。例如,成本函数的滤波器设计工具箱可以把这个更好的角度来看:
从第一个例子:
成本(高清)%原级联滤波器的成本
ans =
数量乘数:79
数量的蛇:77
数量的状态:76
MultPerInputSample: 24.25
AddPerInputSample: 23.5
成本(hfir)%的成本相当于单程过滤器
ans =
数量乘数:138
数量的蛇:137
数量的状态:137
MultPerInputSample: 138
AddPerInputSample: 137
在成本函数的更多信息,在MATLAB命令提示符下输入“doc成本”。

更多的答案(0)

标签

没有标签了。

s manbetx 845


释放

R2006a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!