我有一个调频信号。
在matlab中,我使用以下简单代码进行过零检测。 这里“x”是输入位信号。 “m”是调制信号。
zerorate = [];
start = 1;
for j=length(m)/length(x):length(m)/length(x):length(m)
delta = round((length(m)/length(x))/5); %Gaurd Interval
data = m(start + delta:j);
% data = m(start:j);
y = sum(abs(diff(data>0)))/length(data);
zerorate = [zerorate y];
start = j;
end
mn = zerorate>mean(zerorate);
现在我想在Simulink中实现相同的功能。我可以进行过零检测并检测Simulink中的位吗?有人可以指导我。
感谢。
答案 0 :(得分:0)
一种可能性是将过零块分成两个功能部分,一个用于判断斜率是正还是负,另一个用于判断信号是否接近零。
对于第一部分,将信号路由到差分块,然后是比较块,检查当前值是大于还是小于零。
对于第二部分,将信号路由到构建绝对信号值的块,然后是比较块,检查信号值是否等于零(或小于某个微小值)。
获取两个结果信号并将它们输入一个AND块,告诉您,当两个条件都满足且您检测到零交叉时