📄 system_upsend.m
字号:
%※ 数 据 发 送 端 ※%
%**************************************************************************
clc;
clear all;
close all;
%*** 产生随机数字比特流x***%
amplitude=1;
longth=16*8;
sourcedata=amplitude*randsrc(1,longth,[0,1]);%长为100的随机数
%*** 将sourcedata进行串并变换,分成sourcedataI、sourcedataQ两路 ***%
sourcedataI=zeros(1,(ceil(longth/6))*3);%ceil(x)为取整,即大于或等于x的整数
sourcedataQ=zeros(1,(ceil(longth/6))*3);
for var1=1:length(sourcedata)/2;
sourcedataI(1,var1)=sourcedata(1,2*var1-1); %奇数点
sourcedataQ(1,var1)=sourcedata(1,2*var1); %偶数点
end;
%***进行3-8walsh码正交变换***%
walshdataI=walshcode(sourcedataI);
walshdataQ=walshcode(sourcedataQ);
%将walsh码输出数据进行spreadtimes倍扩展以备扩频
spreadtimes=4;
for var2=1:length(walshdataI)
var3=1:spreadtimes;
walshdata96I(1,(var2-1)*spreadtimes+var3)=walshdataI(1,var2);
walshdata96Q(1,(var2-1)*spreadtimes+var3)=walshdataQ(1,var2);
end
%产生42位扩频长码
longPNcode=longcode(length(walshdata96I));
DSSoutdataI=mod(walshdata96I+longPNcode,2);
DSSoutdataQ=mod(walshdata96Q+longPNcode,2);
%产生15位扩频短码
shortPNcode=shortcode(length(walshdata96I));
shortPNoutI=mod(DSSoutdataI+shortPNcode(1,:),2);
shortPNoutQ=mod(DSSoutdataQ+shortPNcode(2,:),2);
%变为双极性码,0->1,1->-1
shortPNout1I=-2*(shortPNoutI-0.5);
shortPNout1Q=-2*(shortPNoutQ-0.5);
%基带滤波和OQPSK调制
upsenddata=filer_QPSK2q(shortPNout1I,shortPNout1Q);
save send_data1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -