【问题标题】:zero padding before and after audio signal in matlabmatlab中音频信号前后的零填充
【发布时间】:2019-06-27 16:31:18
【问题描述】:

在对 0.25 秒的块应用自定义功能后,我有一个长度为 82778 和 Fs 44100 的音频信号。我想在循环输出之前和之后添加 0.25*.5*Fs 的零填充,这样我就可以获得与原始信号相同的长度。

[x, Fs] = audioread('RobynSpeakingFrom.wav');
time=length (x)/Fs; %time in second
N=Fs*0.250; %number of samples per chunk
M=length(x)-N; % the mumber of the required signals 
Fundamental=zeros(1,M); %signal frame
for i=1:M
    s = i;%start
    e = i+N-1;%end
    chunk = x(s:e);
    fundamental = F0(chunk,Fs);
    Fundamental(i)=fundamental;
end

【问题讨论】:

  • 您发布的代码示例无法执行。 F0 是什么? wav 文件也丢失了。可以用 Matlab wav 示例文件替换 'RobynSpeakingFrom.wav' 吗?

标签: matlab signal-processing matlab-guide


【解决方案1】:

您可以使用padarray 方法添加零填充:

pad_size = round(0.25*0.5*Fs); %Number of zeros to pad
Fundamental = padarray(Fundamental, [0, pad_size], 0); %Pad with zeros before and after Fundamental.

希望在不知道F0RobynSpeakingFrom.wav的情况下得到正确答案...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    相关资源
    最近更新 更多