?? simulate1.m
字號:
%%%%%直接序列擴頻(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);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -