Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我该如何处理R中freqz返回的NaN?_R_Algorithm_Matlab_Frequency Analysis_Digital Filter - Fatal编程技术网

我该如何处理R中freqz返回的NaN?

我该如何处理R中freqz返回的NaN?,r,algorithm,matlab,frequency-analysis,digital-filter,R,Algorithm,Matlab,Frequency Analysis,Digital Filter,我正在研究一种优化方法来设计数字滤波器,并使用信号包中的freqz来评估候选滤波器。然而,对于freqz给出的响应,我得到了NaN的。这对我来说是个大问题,因为我需要计算这个响应的均方误差 下面的过滤器波纹管就是一个例子。响应的第一点是NaN R代码: b <- c(-100.00000, 62.92546, -73.64395, -82.57045, 35.11388, -100.00000) a <- c(100, 100, 100, -100, -100, -100) r &l

我正在研究一种优化方法来设计数字滤波器,并使用
信号
包中的
freqz
来评估候选滤波器。然而,对于
freqz
给出的响应,我得到了
NaN的
。这对我来说是个大问题,因为我需要计算这个响应的均方误差

下面的过滤器波纹管就是一个例子。响应的第一点是
NaN

R代码:

b <- c(-100.00000, 62.92546, -73.64395, -82.57045, 35.11388, -100.00000)
a <- c(100, 100, 100, -100, -100, -100)
r <- freqz(b,a)
r$h[1]
b = [-100.00000, 62.92546, -73.64395, -82.57045, 35.11388, -100.00000]
a = [100, 100, 100, -100, -100, -100]
[h, ~] = freqz(b,a)
h(1)
我的理解是,由于
freqz
是根据下面的公式进行计算的,因此必须发生的是分母上的值接近于零(请注意,
a
中的系数相加等于零),而不是
+/-Inf
(如Matlab所做)它错误地返回了
NaN

底线是,我认为它应该给出与Matlab相同的响应


解决问题(与buts一起) 到目前为止,这是我所做的工作:

r <- freqz(b,a)
if(anyNA(hw$h)){
  r$h[is.nan(r$h)] <- Inf
}

我不明白,
freqz(b,a)
正如我所解释的。你没有提到
freqz
来自哪里的软件包。所以你得猜一猜。我明白了,对不起,这是信号包。我已经更新了描述。
platform       x86_64-apple-darwin13.4.0   
arch           x86_64                      
os             darwin13.4.0                
system         x86_64, darwin13.4.0        
status                                     
major          3                           
minor          2.3                         
year           2015                        
month          12                          
day            10                          
svn rev        69752                       
language       R                           
version.string R version 3.2.3 (2015-12-10)