不同信噪比下sin函数zcr.m

来自「语音信号shortenergy」· M 代码 · 共 25 行

M
25
字号
 n=0:0.002:4;
y=sin(100*pi*n);
subplot(4,1,1);%做出图像 
axis([0 length(y) -1 1]);
plot(y);
x=awgn(y,0.05);
subplot(4,1,2);%做出图像 
plot(x);
axis([0 length(x) -1 1]);
%-------------------------------------------------------------------------- 
Framelen = 200;%帧长 
Framemove = 80;%帧移 
%--------------------------------------------------------------------------
A1 = enframe(x(1:end-1), Framelen, Framemove);%采样信号中第一值到第N-1个信号值 
A2 = enframe(x(2:end) , Framelen, Framemove);%采样信号中第二值到第N个信号值 
signs = (A1.*A2)<0;%signs为符号数组,用于存储相邻两个采样点的符号是否相同,即是否 
%穿过零电平 
W = abs(A1 -A2)>0.02;%W用来度量相邻两个采样点之间的距离,如果距离大于门限0.02(经验值), 
%则为1,否则为0. 
ZC = sum(signs.*W, 2);%单帧过零次数 
ZCR=ZC/(20*0.02);%短时过零率
subplot(4,1,3);%做出图像 
plot(ZCR);%单体坐标 
axis([0 length(ZCR) 0 max(ZCR)+100])%坐标横纵轴设置 
xlabel('ZCR');%坐标名 

⌨️ 快捷键说明

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