R2019b的唧唧声接口已经改变了

4视图(30天)
当我调用线性调频函数在R2019a我可以指定- F0和F1;现在调用函数在2019年我得到一个错误:“预计F1将非负”。
这个测试代码运行2019年,但2019 b中的错误:
fs = 1 e3;
t = 0:1 / fs: 1;
y =唧唧声(repmat (t, 1, 4), -400年,t(结束),-100);
光谱图(y, 256, 250, 256, 1 /差异(t (1:2)));
drawnow ();
谢谢!
戴夫。

接受的答案

沃尔特·罗伯森
沃尔特·罗伯森 2019年10月2日
f0初始瞬时频率在时刻0,指定为一个 积极的 标量用赫兹表示。
换句话说,负面是无效的,但没有发生创建一个错误消息。
1评论
大卫·德·洛伦佐
大卫·德·洛伦佐 2019年10月2日
谢谢,我显然没有注意到,在API描述。
戴夫。

登录置评。

更多的答案(7)

大卫·德·洛伦佐
大卫·德·洛伦佐 2019年10月2日
看来,一个解决方案就是别名的采样频率:
fs = 1 e3;
t = 0:1 / fs: 1;
f0 = -300 + fs;
f1 = -100 + fs;
φ= 0;
y =复杂线性调频(repmat (t, 1, 4), f0, t(结束),f1,“线性”rad2deg(φ)),
唧唧声(repmat (t, 1, 4), f0, t(结束),f1,“线性”rad2deg (phi-pi / 2)));
光谱图(y, 256, 250, 256, 1 /差异(t (1:2))“中心”,“桠溪”);
drawnow ();

罗伯特Kossler
罗伯特Kossler 2019年11月8日
这不是一个好的解决方案。应该允许负频率,因为这是一个很常见的工程实践工作消极以及积极的频率——特别是当形成一个复杂的唧唧声,如:
x =复杂(线性调频(t, f0, t1, f1,“线性”,90),唧唧喳喳(t, f0, t1, f1,“线性”,0));
在这种情况下,完全是正常的期待,“f0”和“f1”可以正面或负面的。要求用户故意别名frequecies解决这个缺陷是不可接受的。
在我看来,这不是旧的功能是在错误,而是错误的评论,表示只允许正频率。Mathworks应该有改变了看法,而不是限制功能。旧的功能表现如何应该即使评论是不准确的。

罗伯特Kossler
罗伯特Kossler 2019年11月8日
最后一个评论。这是一个大问题行为的变化并不包含在发布说明。也许因为Mathworks只是“修复”功能匹配的评论,没有觉得有必要把这个版本说明。然而,新功能以来的行为无疑是改变旧代码。应该注意的发布说明。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年11月8日
释放笔记很少注意的bug修复。
修复代码与文档不是会被提及在发行说明。

登录置评。


罗伯特Kossler
罗伯特Kossler 2019年11月8日
这答案我抱怨释放注意(尽管我不同意的答案)。
然而,它并没有解决我的论点Mathworks注意啁啾文档和啁啾代码之间的差异和错误地假定文档是正确的,代码是不正确的。因此,Mathworks“固定”代码。实际上,文档的代码是正确的和不正确的,这样Mathworks应该更新了文档,而不是完整的代码。是没有意义的,不允许负频率相同的方式将毫无意义不允许负相任何函数要求阶段作为输入。
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2019年11月8日
改变文档似乎是R2018b, //www.tianjin-qmedu.com/help/releases/R2018b/signal/ref/chirp.html 这是第一个版本的输入参数的数据类型和范围被记录。
你可以打开一个错误对R2018b发行说明没有记录的变化。

登录置评。


弗朗茨Bouchereau
弗朗茨Bouchereau 2019年12月16日
编辑:弗朗茨Bouchereau 2019年12月16日
嗨,大卫。
唧唧不生成复杂的输出,所以频率啁啾都才正确的结果是积极的(或当频率都是负)在这种情况下,你会得到一个正确的对称谱。
正面和负面频率的组合不产生一个线性或二次唧唧喳喳,相反,它生成两个唧唧声段(不是线性调频功能的承诺)。
请参阅下面的图创建示例代码。注意,正面和负面的组合频率不产生啁啾。它生成一个对称的信号组成的唧唧声,从-250年到0,然后另一个从0到-100 Hz的唧唧声。还要注意,指定2负频率相当于指定2正频率。这就是为什么我们有限的F1是正的。说到这里,我注意到,我们其实是不检查F0积极所以我们需要解决这个问题。
最好的解决方案是允许频率都是积极的,或两个频率是负的(虽然允许负频率并不是必需的,它会阻止你写的代码分解)。我们绝不允许混合信号,以防止不正确的答案是我们的目的,当我们更新代码。
现在,请注意,在您的代码:
y =唧唧声(repmat (t, 1, 4), -400年,t(结束),-100);
相当于
y =唧唧声(repmat (t, 1, 4), 400年,t(结束),100);
谢谢
- - - - - - - - - - - - - - - - - - - - - - - - -
t = 0:1/1000:10;
次要情节(1,1)
%两负频率
y =唧唧声(t, -250, -100);
光谱图(y, 128年,[][],1000年,“中心”,“桠溪”)
标题(“两负频率- >唧唧声(t, -250, -100))
次要情节(1、2)
%两个积极的频率(相当于两个负频率)
y =唧唧声(t、250、10100);
光谱图(y, 128年,[][],1000年,“中心”,“桠溪”)
标题(“两正频率- >唧唧声(t、250、10100))
次要情节(3、1,3)
%一个积极的频率和一个负面的频率
y =唧唧声(t、-250、10100);
光谱图(y, 128年,[][],1000年,“中心”,“桠溪”)
标题(的一个积极的频率和一个负频率- - >唧唧声(t、-250、10100))

罗伯特Kossler
罗伯特Kossler 2019年12月16日
你好弗朗茨,
使用从大卫的代码或代码从我早些时候在这个线程创建一个复杂唧唧喳喳使用旧Matlab接受负面频率。如果你只有更新的Matlab,然后简单地改变两个频率是正的。无论如何你会得到一个复杂的和非对称的频率啁啾。
罗伯

罗伯特Kossler
罗伯特Kossler 2019年12月16日
弗朗茨,
这里是一些代码可以运行使用频率从f0 f1使用2018 b。
的问题“为什么你要这么做?”——当你在基带智商是有用的考虑正负频率对最终的射频载波频率。
你上面提到的积极或消极的频率啁啾产生相同的结果,这是你摆脱负面频率的原因。但是,你可以同样的争论关于“因为”功能。它产生正面和负面的观点的相同的结果。但是你会有很多不满意的客户,如果你删除的能力有负面参数“因为”功能。
,考虑一个表达式如“x (t) = cos (t) + 1我* sin (t)“我认为你会同意这是一个有用的表达式。现在,扩展“x (t) =唧唧声(t, 90度)+ 1我*唧唧声(t, 0度)这是我们正在做的唧唧声。
罗伯
> > t = (0:999) / 1000;
> > t1 = t(结束);
> > f0 = -150;
f1 > > = 250;
> > x =复杂(线性调频(t, f0, t1, f1,“线性”,90),唧唧喳喳(t, f0, t1, f1,“线性”,0));
> >光谱图(x, 100年,[],[],1000年,“中心”,“桠溪”)
> >
1评论
弗朗茨Bouchereau
弗朗茨Bouchereau 2019年12月17日
罗伯特,谢谢你的用例。你做一个很好的观点。我们将恢复积极的检查频率。期待更新所有适用的版本。
与此同时,最明显的解决方法是删除“非负”chirp.m的第193行
validateattributes(输入、{‘数字’}{“标量”、“真实”的“非负”,“有限”},“唧唧”,“F1”);- - >
validateattributes(输入、{‘数字’}{“标量”、“真实”的“有限”},“唧唧”,“F1”);
谢谢

登录置评。

标签

s manbetx 845


释放

R2019b

社区寻宝

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

开始狩猎!