DATAWRAP

11次浏览(过去30天)
凯撒
凯撒 2011年3月28日
回答: Zeeshan萨拉姆2019年11月5日
我注意到,当用户要求频率的数字NFFT小于WINDOW-LENGTH/2+1(如果WINDOW-LENGTH为偶数)规则时,MATLAB使用数据封装来计算频谱(或频谱相关的量)。本质上,数据包装将数据分成更小的段,然后将这些段平均在一起。我说的对吗?既然我认为这真的会对我的数据不利:为什么要这样实现呢?为什么在帮助中没有记录?提前谢谢你,塞萨雷
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,它实际上会在时域中引入混叠,并使信号(即使它的长度是n> NFFT)与NFFT具有周期性。当你对这个序列进行FFT时,你是在处理这个别名序列。这就是数据包装的作用。
例如,如果你有一个数列1,2,3,4,5,假设你的周期也是5,你有
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
--------------------------------
...1 2 3 4 5…
也就是你的原创系列。现在假设周期是3,那么它看起来像
1 2 3 4 5
1 2 3 4 5
1 2 3 4 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 = sin(x_ref*2*pi);
Y = 0.5+0.5*sin(x*2*pi);
两条曲线的百分比
图(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 Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!