ampzcr.m

来自「matlab扩展编程——matlab扩展编程完整版」· M 代码 · 共 35 行

M
35
字号
x7 = wavread('..\ch6\7a.wav');
y  = enframe(x7, 240, 80);
amp1 = sum(abs(y),2);
amp2 = sum(y.*y,2);
amp3 = sum(log(y.*y+eps),2);

figure(1)
subplot(311)
plot(amp1)
legend('amp = \Sigma|x|')

subplot(312)
plot(amp2)
legend('amp = \Sigma|x^2|')

subplot(313)
plot(amp3)
legend('amp = \Sigma|log(x^2)|')

zcr = zeros(size(y,1),1);
delta = 0.02;
for i=1:size(y,1)
    x = y(i,:);
    for j=1:length(x)-1
        if x(j) * x(j+1) < 0 & abs(x(j)-x(j+1))>delta
            zcr(i) = zcr(i)+1;
        end
    end
end

figure(2)
subplot(211)
plot(x7)
subplot(212)
plot(zcr)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?