【问题标题】:Computed signal time vector is slightly incorrect计算的信号时间向量略有错误
【发布时间】:2014-10-31 20:26:34
【问题描述】:

我将一组样本加载到 Matlab 中,最终得到一个长度为 69,632 个样本的向量。

但是,当我尝试创建时间向量以用于绘图时,我无法得到准确的结果。这是我的方法:

Fs = 44100;                %44.1kHz sampling rate
Ts = 1/Fs;                 %Time spacing between samples
maxTime = Ts * len;        %Time of last data point  (len=69,632)
timeVector = 0:Ts:maxTime  %Create the time axis vector

所以我计算的 timeVector 最终长度为 69,633 个元素,因为 1/Fs 计算略微向上取整,然后当我将该结果乘以 len 时,我想它只是得到一个更大的数字。

我可以让 Matlab 不舍入吗?还是有更好/正确的方法来获得我缺少的这个时间轴?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    既然你从0开始t

      len = length(signal); % len = 69632;
      Ts = 1/44100;
      timeVector = (0 : len -1) * Ts;
    

    【讨论】:

    • 你的意思是maxTime-Ts,因为在这种情况下它会减去一整秒?
    • @krb686,是的,其实我改了一点代码,试试看。
    • 谢谢,比我预期的要容易得多。
    猜你喜欢
    • 2012-03-15
    • 2018-07-14
    • 2023-02-17
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多