?? system_upsend24.m
字號:
% 數 據 發 送 端 %發送24路擴頻信號
clc;
clear all;
close all;
%*** 產生隨機數字比特流x***%
amplitude=1;
longth=16*8;
channel=2;
spreadtimes=24;
k2=8;
k3=k2*spreadtimes;
sourcedata=amplitude*randsrc(channel,longth,[0,1]);%長為100的隨機數
%*** 將sourcedata進行串并變換,分成sourcedataI、sourcedataQ兩路 ***%
sourcedataI=zeros(channel,(ceil(longth/6))*3);%ceil(x)為取整,即大于或等于x的整數
sourcedataQ=zeros(channel,(ceil(longth/6))*3);
for var4=1:channel
for var1=1:length(sourcedata)/2
sourcedataI(var4,var1)=sourcedata(var4,2*var1-1); %奇數點
sourcedataQ(var4,var1)=sourcedata(var4,2*var1); %偶數點
end;
%***進行3-8walsh碼正交變換***%
walshdataI(var4,:)=walshcode(sourcedataI(var4,:));
walshdataQ(var4,:)=walshcode(sourcedataQ(var4,:));
%將walsh碼輸出數據進行spreadtimes倍擴展以備擴頻
for var2=1:length(walshdataI(1,:))
var3=1:spreadtimes;
walshdata96I(var4,(var2-1)*spreadtimes+var3)=walshdataI(var4,var2);
walshdata96Q(var4,(var2-1)*spreadtimes+var3)=walshdataQ(var4,var2);
end
end
%產生15位擴頻短碼
shortPNcode=shortcode(length(walshdata96I(1,:)));
%產生42位擴頻長碼
for var4=1:channel
longPNcode(var4,:)=longcode1(length(walshdata96I(1,:)),var4);
DSSoutdataI(var4,:)=mod(walshdata96I(var4,:)+longPNcode(var4,:),2);
DSSoutdataQ(var4,:)=mod(walshdata96Q(var4,:)+longPNcode(var4,:),2);
shortPNoutI(var4,:)=mod(DSSoutdataI(var4,:)+shortPNcode(1,:),2);
shortPNoutQ(var4,:)=mod(DSSoutdataQ(var4,:)+shortPNcode(2,:),2);
end
%變為雙極性碼,0->1,1->-1
shortPNout1I=-2*(shortPNoutI-0.5);
shortPNout1Q=-2*(shortPNoutQ-0.5);
%%
%基帶濾波和OQPSK調制
for var4=1:channel
[oqpskdataI(var4,:),oqpskdataQ(var4,:)]=filer_QPSK4q(shortPNout1I(var4,:),shortPNout1Q(var4,:));
oqpskdata(var4,:)=oqpskdataI(var4,:)+oqpskdataQ(var4,:);
end
upsenddataI=sum(oqpskdataI);
upsenddataQ=oqpskdataQ(1,:);% upsenddataQ=sum(oqpskdataQ);
upsenddata=sum(oqpskdata);
save send_data2
%%
figure(1)
subplot(3,1,1)
plot(oqpskdataI(1,:))
%axis([0 k3*8 -1.5 1.5])
axis([k3/2 k3*2-k3/2 -2 2])
title('OQPSK1')
grid on
subplot(3,1,2)
plot(oqpskdataI(2,:))
axis([k3/2 k3*2-k3/2 -2 2])
title('OQPSK2')
grid on
subplot(3,1,3)
plot(upsenddataI)
axis([k3/2 k3*2-k3/2 -3.5 3.5])
title('OQPSK輸出信號')
grid on
% subplot(4,1,4)
% plot(upsenddata)
% axis([k3/2 k3*2-k3/2 -2 2])
% title('濾波輸出信號')
% grid on
%
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -