DATAWRAP

25次浏览(最近30天)
凯撒
凯撒 2011年3月28日
回答: Zeeshan萨拉姆2019年11月5日
我注意到MATLAB使用数据awrap来计算频谱(或频谱相关的数量),当用户要求频率的NFFT数小于WINDOW-LENGTH/2+1(如果WINDOW-LENGTH是偶数)规则时。实质上,数据打包将数据分成更小的段,然后将这些段平均在一起。我说的对吗?既然我认为这对我的数据真的不好:为什么要这样实现呢?为什么在帮助中没有记录?先谢谢你,凯撒
1评论
宏磊陈
宏磊陈 2011年3月28日
你能具体说说你在哪里看到的吗?我不明白为什么WINDOW-LENGTH/2是如此特殊。也许我错过了什么。

登录评论。

答案(4)

凯撒
凯撒 2011年3月30日
我会试着更精确一些。对于长度为N的实时时间序列,如果N是偶数,谱函数通常返回N/2+1个频箱,如果N是奇数,则返回(N+1)/2个频箱。然而,像SPECTROGRAM这样的函数可以通过输入变量指定输出箱子的数量,这个变量通常被称为NFFT。我深入研究了代码,发现当NFFT小于默认箱子数量时,这些函数所做的是包装数据。这意味着数据数组被切割成更小的块,然后这些块被一起平均。函数帮助中没有记录这一点,我想知道这是否是一个好的实践。凯撒

宏磊陈
宏磊陈 2011年3月30日
嗨,凯撒,
如果我没理解错的话,你的问题更接近于为什么MATLAB包装数据,特定的长度只是一个特定的情况。我将尝试解释包装数据的原因。
信号频谱的计算,如周期图,内部使用FFT,其中FFT的长度记为NFFT。理论上,当使用FFT时,信号在时域和频域都是离散的和周期性的,其中周期由NFFT给出。因此,如果您指定一个小于信号长度的NFFT,它实际上会在时域中引入混叠,并使信号(即使它的长度是NFFT)具有NFFT周期。当你对这个序列进行FFT时,你正在处理这个混叠序列。这就是datawrap为您所做的。
例如,如果序列是1 2 3 4 5,假设周期也是5,你有
1 2 3 4 5 5
1 2 3 4 5 5
1 2 3 4 5 5
--------------------------------
...1 2 3 4 5…
也就是说,你的原始系列。现在假设周期是3,那么它是这样的
1 2 3 4 5 5
1 2 3 4 5 5
1 2 3 4 5 5
------------------------
...5 7 3…
一个长度为3的环绕序列。请注意,
> > datawrap (1:5, 3)
ans =
5 7 3
HTH。

凯撒
凯撒 2012年2月28日
信号不需要是周期性的,例如自回归模型。它们有一个定义很好的周期图,但不一定是周期性的。我相信内部包装可能会在用户不知情的情况下终止危险的阶段取消。凯撒
1评论
宏磊陈
宏磊陈 2012年2月28日
你的信号可能一开始就不是周期性的。但是如果你使用FFT,它在时间和频率上都采样信号,这反过来使得信号在频率和时间上都是周期性的,这就是循环卷积的作用。

登录评论。


Zeeshan萨拉姆
Zeeshan萨拉姆 2019年11月5日
我怎么绕这两条曲线?
为两条曲线定义x
x_ref = 0:0.01:1;
x = 0:0.01:1;
定义参考曲线和其他曲线
c_ref =罪(x_ref * 2 *π);
y = 0.5 + 0.5 * sin (x * 2 *π);
%同时绘制曲线
图(1)
情节(x_ref c_ref, ' r ');
抓住
情节(x, y, b);
轴([min (x_ref) 1, max (x_ref) + 1分钟(c_ref) 1,马克斯((c_ref)) + 1]);
传奇(“c_ {ref}’,‘y’)

社区寻宝

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

开始狩猎!