📄 askdet.m
字号:
function [xn,x]=askdet(y,fs,fb,fc);
%
% Usage:[xn,x]=askdet(y,fs,fb,fc);BBI
% 2000;y为ASK调制信号,xn为解调输出的二进制码流向量,x为解调输出的脉冲信号的波形.
if nargin<4; fc=2.0; end;
if nargin<3; fb=1; end;
if nargin<2; fs=32; end;
if nargin<1; y=ask(str2cod('CH')); end;
dt=1/fs;n=length(y);t=(0:n-1)*dt;
[b,a]=butter(4,2*fb/fs);
x=y.*sin(2*pi*fc*t);x=filtfilt(b,a,x);
x1=max(x);x2=min(x);x=x-(x1+x2)*.5;
m=fs/fb;N=n/m;n=(.75:1:N)*m;
xn=(sign(x(n))+1)/2;
%-----------------------------------------------------------------
if nargout<1;
c='bbbbbbbbrrrrrrrr';
subplot(211);plot(t,y); title('Input');axis([4,25,-1,1]);
subplot(212);plot(t,x,t,sign(x)*.3);axis([4,25,-0.4,0.4]);
set(gca,'ygrid','on'); v=axis;
for i=1:N;
ci=rem(i,16);ci=ci+(ci==0)*16;ci=c(ci);
text((2*i-1)*m*dt/2,v(4)*.8,int2str(xn(i)),'color',ci,'hor','center');
end; title('Output');
set(gcf,'num','off','name',['Coherent Detection of ASK(OOK)','blanks(10)','BBI 2000']);
end; zoom xon;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -