首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB中的下采样-为什么缩放滤波器系数?

MATLAB中的下采样-为什么缩放滤波器系数?
EN

Stack Overflow用户
提问于 2018-03-19 12:44:14
回答 1查看 429关注 0票数 0

试图理解和理解MATLAB是如何重采样的,看看toolbox/signal/resample.m

这是计算低通FIR滤波器系数的部分:

代码语言:javascript
复制
  fc = 1/2/pqmax;
  L = 2*N*pqmax + 1;
  h = firls( L-1, [0 2*fc 2*fc 1], [1 1 0 0]).*kaiser(L,bta)' ;
  h = p*h/sum(h);

(在这种情况下,pqmaxp都表示下采样率。)

不确定最后一行的目的是什么,在最后一行中,所有的滤波器系数都是通过降采样比与coeffs和p/sum(h)进行缩放的?有人知道背后的理论吗?

MATLAB 冷杉

MATLAB 凯泽

firls理论:FIR滤波器的最小二乘误差设计

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-19 15:02:36

在大多数过滤器中,您希望在过滤后输出大小保持不变,而不是放大或缩小。

从数学上讲,这在滤波方程中通常是正确的,但在离散数中,这通常不适用。

如果您除以它的和,您确保对于任何输入数据p,过滤器将始终有一个1的一般比例因子,作为它的规范化。对于p=ones(1:1000,1),如果sum(h)不是1,过滤后的结果将被缩放,即p_filtered的值将不是1

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49363306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档