📄 suiji.m
字号:
function [changdu1,changdu2,y1,y2]=suiji(N,fs)
%以固定的信息速率产生随即点
%固定信息速率设定为bp
%N=521 速率为512Hz
%==========================================================================
%产生随即信号
%==========================================================================
Ts=1/fs; %抽样时间
%在0到0.001里面抽样T/Ts=N*255*100/2个点
%在IQ通道里面一个码元的点数就是T/Ts=255*100个点
T=0.001/N; %码元时间(宽度) 就是在0到0.001里面
%共有N个码元,折合成0到1之间就是N*1000
%个码元,从而码元速率就变成了N千波特
td=0:Ts:(N*T)-Ts; %时间变量 这个是对于主干道上的时间变量
tdi=0:2*Ts:(N*T)-Ts; %IQ 通道的时间变量
x=randint(1,N,[0,1]); %产生随机信号(在0到0.001里面有N个点
%由此来控制波特率)
%==========================================================================
%串并转换
%==========================================================================
y=reshape(x,2,N/2);
y1=y(1,:); %I通道随即信号(计数的点进I通道)
y2=y(2,:); %Q通道随即信号(偶数的点进Q通道)
changdu1=length(y1);
changdu2=length(y2);
%变换成双极性电瓶
nn=T/Ts; %nn=T/Ts=255*100
%只是为了将随即的点编程双极性波形
for i=1:length(y1), %
if(y1(i)==1), %如果信息为1,则输出255*100个点的1
for j=1:nn,
y3((i-1)*nn+j)=1;
end
else
for j=1:nn, %反之,信息元为0,输出255*50个点的-1
y3((i-1)*nn+j)=-1;
end;
end;
end
%画信号y1变换成双极性电瓶的信号y3
%对y2变换变换成双极性电瓶的信号y4
for i=1:length(y2),
if(y2(i)==1),
for j=1:nn,
y4((i-1)*nn+j)=1;
end
else
for j=1:nn,
y4((i-1)*nn+j)=-1;
end;
end;
end
%画信号y1变换成双极性电瓶的信号y3
%==========================================================================
%画图
%==========================================================================
figure(1);
subplot(3,1,1);
stem(x(1:N),'fill','--'); %随机信号图形
title('随机二进制数');
xlabel('Bit Index');
ylabel('amplitude')
subplot(3,1,2);
stem(y1(1:N/2),'fill','--'); %I通道图形
title('I通道y1');
xlabel('Bit Index');
ylabel('amplitude')
subplot(3,1,3);
stem(y2(1:N/2),'fill','--'); %Q通道图形
title('Q通道y2');
xlabel('Bit Index');
ylabel('amplitude')
figure(2)
subplot(2,1,1);
plot(tdi,y3);
axis([0 N*T -1.5 1.5]);
title('I通道双极性');
xlabel('时间轴')
ylabel('amplitude');
figure(3)
subplot(2,1,1);
plot(tdi,y4);
axis([0 N*T -1.5 1.5]);
title('Q通道双极性');
xlabel('时间轴')
ylabel('amplitude');
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -