📄 pulse.m
字号:
function[y,m]=pulse(x,m,Kmod);
%
%
if nargin<3;
Kmod=1;
end;
if nargin<2;
m=16;
end;
if nargin<1;
x=randint(1,80);
end;
di=0.5;
Kmod=rem(Kmod,5);
Kmod=(Kmod==0)*5+Kmod;
if Kmod==1;
xx=[x;x];
xx=xx(:)';
% tstr='Unipolor NRZ';
elseif Kmod==2;
xx=[x;x];
xx=2*xx(:)'-1;
% tstr='polor NRZ';
elseif Kmod==3;
xx=[x;zeros(size(x))];
xx=xx(:)';
di=.2;
% tstr='Unipolor RZ';
elseif Kmod==4;
I=find(x==1);
x1=x(I);
x1=rem(cumsum(x1),2)*2-1;
xx=x;
xx(I)=x1;
xx=[xx;zeros(size(x))];
xx=xx(:)';
di=.2;
% tstr='Bipolor RZ';
elseif Kmod==5;
xx=[x;rem(x+1,2)];
xx=2*xx(:)'-1;
% tstr='Manchester NRZ';
end;
y=xx;
for i=1:fix(m/2)-1;
y=[y;xx];
end;
y=y(:)';
%-----------------------------------------------------
if nargout<1;
subplot(211);
plot(1+(1:length(y))/m,y);
hold on;
v=axis;
axis([v(1:2) -1.2 1.5]);
zoom xon;
if Kmod==2||Kmod==0;
plot([0 v(2)],[0 0],':');
end;
hold off;
for i=1:length(x);
text(i+di,1.3,int2str(x(i)),'color','b');
end;
title('Pulse Single');
n=length(y);
y=fft(y)/n;
y=abs(y(1:fix(n/2)))*2;
I=find(y<1e-04);
y(I)=1e-04;
y=20*log10(y);
f1=m/n;
f=0:f1:(length(y)-1)*f1;
subplot(212);
plot(f,y,'r');
title('Power Secptrum');
xlabel('f/fb');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -