?? dsss.m
字號:
%DSSS 系統的仿真;
clc;
clear;
Fs=614400; %碼片速率
Nsam=8; %每碼片采樣點數;
N=128; %擴頻因子;
FrameLength=100; %幀長;
Data_I=randsrc(1,FrameLength,[-1,1]);
Data_Q=randsrc(1,FrameLength,[-1,1]);
PN=[0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1];
%每符號128×8個樣點
Data_sam=[1];
for i=1:length(Data_I)
temp=[];
for j=1:N*Nsam
temp(j)=Data_I(i);
end;
Data_sam=[Data_sam temp];
end;
I_sam=Data_sam(2:length(Data_sam));
Data_sam=[1];
for i=1:length(Data_Q)
temp=[];
for j=1:N*Nsam
temp(j)=Data_Q(i);
end;
Data_sam=[Data_sam temp];
end;
Q_sam=Data_sam(2:length(Data_sam));
%每碼片8個樣點
stuff = zeros(1,Nsam-1);
for i=1:N
M_sam8((i-1)*Nsam+1) = 2*PN(i)-1;
M_sam8 = [M_sam8 stuff];
end;
%設計碼片匹配濾波器;
R=1.0; %滾降系數為1
n_T=[-4 4]; %截短符號數為8;
rate=Nsam; %每符號采樣點數為4;
T=1;
b=rcosfir(R,n_T,rate,T,'sqrt'); %平方根升余弦濾波器;
%對數據進行擴展。
M_temp=M_sam8;
for i=1:FrameLength-1
M_temp=[M_temp M_sam8];
end;
I_spread=I_sam.*M_temp;
Q_spread=Q_sam.*M_temp;
%碼片成型濾波
IS_filter=filter2(b,I_spread,'same');
QS_filter=filter2(b,Q_spread,'same');
figure;
subplot(3,1,1);
plot(IS_filter(1:300));
title('I路擴頻信號');
subplot(3,1,2);
plot(QS_filter(1:300));
title('Q路擴頻信號');
subplot(3,1,3);
plot(M_sam8(1:300));
title('擴頻序列');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -