matlab 程序:s=[s -1*sin(2*pi*f0*t)]; 这样的语句表示什么意思,程序如下%%%%%直接序列扩频(DS)原理仿真 clc clear all %%-------信码—————— N_signal=10;%%%信号的长度 source=round(rand(1,N_signal)); disp(['原

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 12:02:19
matlab 程序:s=[s -1*sin(2*pi*f0*t)]; 这样的语句表示什么意思,程序如下%%%%%直接序列扩频(DS)原理仿真 clc clear all %%-------信码—————— N_signal=10;%%%信号的长度 source=round(rand(1,N_signal)); disp(['原

matlab 程序:s=[s -1*sin(2*pi*f0*t)]; 这样的语句表示什么意思,程序如下%%%%%直接序列扩频(DS)原理仿真 clc clear all %%-------信码—————— N_signal=10;%%%信号的长度 source=round(rand(1,N_signal)); disp(['原
matlab 程序:s=[s -1*sin(2*pi*f0*t)]; 这样的语句表示什么意思,程序如下
%%%%%直接序列扩频(DS)原理仿真
clc
clear all
%%-------信码——————
N_signal=10;%%%信号的长度
source=round(rand(1,N_signal));
disp(['原信码:']);disp(source);
%%-------伪码——————
N_false=8;%%%伪码的长度
p=zeros(2,N_false);
p(1,:)=round(rand(1,8));%%%%信息1的伪码
p(2,:)=round(rand(1,8));%%%%信息0的伪码
while(p(1,:)==p(2,:))%%%如果信息1和信息0的伪码一样的话就重新产生,直到两者不一样为止
p(1,:)=round(rand(1,8))%%%%信息1的伪码
p(2,:)=round(rand(1,8))%%%%信息0的伪码
end
disp('信息1的伪码:');disp(p(1,:));
disp('信息0的伪码:');disp(p(2,:));
%%----伪码展扩后的信号———
signal=[];
wei_signal=[];
for i=1:N_signal
if(source(i)==1)
wei_signal=[wei_signal p(1,:)];
signal1=not(p(1,:));
signal=[signal signal1];
else
wei_signal=[wei_signal p(2,:)];
signal=[signal p(2,:)];
end
end
disp('伪码展扩后的信号:');
disp(signal);
%%-------PSK已调波——————
f0=1000;
fs=20*f0;
Tp=1/f0;
t=0:1/fs:Tp-1/fs;
s=[];s1=[];
for i=1:N_signal*N_false
if(signal(i)==1)
s=[s -1*sin(2*pi*f0*t)];
s1=[s1 pi];
else
s=[s sin(2*pi*f0*t)];
s1=[s1 0];
end
end
plot(s);grid on;title('载频调制后的信号');
%%--接收端的调相器信号(仅取决于伪码)——
s2=[];
for i=1:N_signal*N_false
if(wei_signal(i)==1)
s2=[s2 pi];
else
s2=[s2 0];
end
end
%%-------中频相位——————
final_s=xor(s1,s2)
%%-------解调输出——————
for i=1:N_false:length(final_s)
out((i-1)/N_false+1)=sum(final_s(i:i+N_false-1))/N_false;
if(out((i-1)/N_false+1)>0.5)
out((i-1)/N_false+1)=1;
else
out((i-1)/N_false+1)=0;
end
end
disp('解调输出:');
disp(out);

matlab 程序:s=[s -1*sin(2*pi*f0*t)]; 这样的语句表示什么意思,程序如下%%%%%直接序列扩频(DS)原理仿真 clc clear all %%-------信码—————— N_signal=10;%%%信号的长度 source=round(rand(1,N_signal)); disp(['原
保留上次循环中s的值,
如第一个s=[1]
那么后面的就是:
s=[1,2]
s=[1,2,3]
s=[1,2,3,4]
……