⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pulse.asv

📁 用matlab实现ASCII和二进制码的互换
💻 ASV
字号:
function [y,m]=pulse(x,m,Kmod);
%用法是输入pulse(str2cod('字符串'),16,2)
%x代表二进制码流的向量,m=fs/fb,其中fs是采样率,fb是比特率,即信息传输速率;
%Kmod代表数字基带信号的类型:1为单极性不归零码;2为双极性不归零码;3为单极性归零码;4为双极性归零码;5为曼彻斯特双极性码;
%y是输出的数字基带信号,输入默认值是x=randint(1,32);m=16;Kmod=1;
if nargin<3; Kmod=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; %rem函数用来求Kmod/5的余数
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(1); 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(:)'; %fix是截尾取整函数
%.....................................................................
if nargin<1;
    subplot(2,1,1); plot(1+(1:length(y))/m,y);hold on;
    v=axis; axis([v(1:2)-1.2 1.5]); zoom xon; %zoom函数是将图形放大
    if Kmod==2|Kmod==0;
        plot([0 v(2)],[0 0],':');
    end; hold off;
    set(gcf,'num','off','name', ...
        ['Binary Pulse Generator,' tsrt ',' blanks(10) ...
        'BBI 200']);
    for i=1:length(x);
        text(i+di,1.3,int2str(x(i)),'color','b');
    end;
    title('Pulse Signal');
    n=length(y); y=ffy

⌨️ 快捷键说明

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