📄 pulse.m
字号:
function [y,m]=pulse(x,m,Kmod);
if nargin<3; Komd=1; end ;
if nargin<2; m=16; end;
if nargin<1; x=randint (1,32); end;
di=.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 ;
set ( gcf, 'num','off','name', ...
['Binary Pulse Generator,''tstr','blanks (10)' ...
'BBI 2000']);
for i=1: length(x);
text(i+di, 1.3,int2str(x(i)), 'color', 'b');
end;
title ('Pluse Signal');
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 Spectrum'); xlabel('f/fb');
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -