【问题标题】:Matlab signal implementationMatlab信号实现
【发布时间】:2017-08-01 09:51:19
【问题描述】:

我正在尝试在 MATLAB 中实现以下系统。 我正在读取音频信号,并希望执行以下操作。

到目前为止,我已经完成了以下工作:

%read the audio file
[y,Fs] = audioread('input_original.wav');

syms k x
yx = symsum(k, k, -inf, y);

%write the output
audiowrite('signal_divbb.wav',yx,Fs,'BitsPerSample',64)

有没有办法正确实现这个信号?我不熟悉MATLAB

【问题讨论】:

  • 既然已经回答了我只想在这里指出,理论和实现的区别在于你不能谈论有限时间信号的inf,它被记录并存储在磁盘作为有限大小的文件。
  • 所以 n 处的值将是从索引 1 到 n 的运行总和?
  • 假设第一个索引为-Inf,是的。

标签: matlab signals signal-processing


【解决方案1】:

audioread(您的y 变量)的输出具有m 行乘以n 列,其中m 是信号长度,n 是通道数(立体声为2)。您可以使用cumsum,如下所示:

yx = cumsum(y, 1);

这会计算沿第一个维度(即时间)的累积和。所以yx(k,c) 等于y(1,c)+y(2,c)+...+y(k,c),其中k 的范围从1m,而c 是从1n 的通道索引。

【讨论】:

    猜你喜欢
    • 2022-11-25
    • 1970-01-01
    • 2011-08-25
    • 2016-04-08
    • 1970-01-01
    • 2012-10-12
    • 2022-11-04
    • 2014-07-25
    相关资源
    最近更新 更多