如何指定要使用哪个版本的函数?

8次浏览(最近30天)
麦克米
麦克米 2020年5月14日
评论道: 史蒂文的主 2020年5月14日
我在尝试运行grpdelay。M函数,它计算给定输入条件下滤波器样本中的群延迟。
该函数有两种类似的输入方法。它为我打错了电话,但我不知道如何告诉它打对了电话。
以下是两种类似的输入法:
##[g, f] = grpdelay(b,a,n, f)
##评估在0和Fs/2之间的n个频率的群延迟。
##
##[g, f] = grpdelay(b,a,f, f)
##评估在频率f(以Hz为单位)处的群延迟。
我想要第二种选择。Ie。我想指定一个频率f并计算在这个频率上的群延迟。然而,它继续运行第一个选项,给我“n”频率的组延迟。
我如何迫使它取第三个输入变量为f而不是n ?
下面是我的示例代码:
g = 0.903228;
a1 = -1.88142;
a2 = 0.903228;
B1 = -2.08299;
B2 = 1.10714;
b = g * [1, B1, B2];
一个= (1 a1、a2);
f = 82.2;
Fs = 44100;
[g, f] = grpdelay(b,a,f,Fs);
(g、f)
它不是在82.2 Hz只输出一个组延迟,而是在频谱上输出82个不同的组延迟。
我哪里做错了?谢谢。

接受的答案

斯蒂芬。
斯蒂芬。 2020年5月14日
编辑:斯蒂芬。 2020年5月14日
grpdelay 文档状态 频率,指定为矢量。Fin必须至少有两个元素,否则函数会将其解释为n”。
因此,简单的解决方案是提供两个频率,并从输出中删除相应的元素。您甚至可能发现使用NaN作为额外的输入频率是可行的。
1评论
史蒂文的主
史蒂文的主 2020年5月14日
您提供的“两个”频率可以是[f f]。

登录评论。

更多的答案(0)

标签

s manbetx 845


释放

R2020a

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!