📄 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 + -