💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能解答你胸中升起的一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
CDMA-DS-SS+QPSK 系统分析
本文研究了 CDMA-DS-SS+QPSK 系统,该系统用于在上行链路中在不同条件下进行传输,其中 N = 8 个用户在同一覆盖范围内接入共同的接收器(例如基站)。研究了以下情况:理想/非理想功率控制、用户速度相同/不同、不同的处理增益以及存在/不存在额外外部干扰。
为了实现发射机,我们通过形成一个二维矩阵来实现,其中一维表示第 i 个用户,另一维表示第 j 个比特,即后续的码片。对于每个用户,最初生成一个信号,通过选择该信号可以得到填充二维矩阵的值。矩阵中每个用户的每个比特都乘以一个唯一的序列(正交序列)的值(码片),从而实现信号的扩频。相邻帧的比特/码片在矩阵中依次排列。对于每个用户,这在两个分支(同相分支和正交分支)中完成,从而模拟了 QPSK 调制。调制是在基本频带(低频等效)中完成的,其中两个分支在将信息发送到信道之前相加,同相分支的值为实数,正交分支的值为复数,即在相加之前乘以复常数 j。
上述低频等效的二维矩阵被简化为一维序列。所有用户的所有值都被合并为一个值(信号),该信号实际上通过信道发送。这样的信号到达接收器的输入端,根据传输信号的强度及其在信道中的衰减,每个用户的信号被缩放。除了缩放后的信号值外,一维序列中还添加了复随机噪声。序列首先被分成两个分支,同相分支和正交分支(信号的实部和虚部)。通过将每个分支乘以相应的正交序列,可以从信号中分离出每个用户的信号。通过乘以正交序列,我们在发射机中扩展的信号频谱被聚集。正交序列相乘后,每个用户的信号进入积分器,根据积分器的输出确定每个用户最初生成的信号。
我们分析了一个具有恒定噪声功率(10dBW)的信道,并研究了理想/非理想功率控制、不同处理增益以及存在/不存在额外外部干扰的情况。以下是每个用户在特定情况下测试的每比特错误概率表。
扩频因子/功率控制 | 理想 | 非理想 3dB | 非理想 6dB |
---|---|---|---|
64 | 0 | 0.001 | 0.0058 |
32 | 0.01 | 0.0055 | 0.036 |
16 | 0.005 | 0.035 | 0.1 |
通过比较结果,我们得出结论:随着非理想功率控制的增加,每比特错误概率增加。在相同的信道条件下和相同的功率控制下,随着处理增益的降低,每比特错误概率增加。我们也可以通过理论分析得出相同的结论。
当添加额外的外部干扰时,每比特错误概率会根据外部干扰的强度而增加。以下是表格,其中列出了在非理想功率控制和不同扩频因子下,每个用户在同相分支和正交分支中的每比特错误概率值。信道中的噪声功率为 10dBW。
% 用户输入端的功率分配
[0.25 0.125 0.0625 0.25 0.0625 0.0375 0.125 0.875]
% 每个用户的扩频因子分配
[16 32 64 16 64 32 16 32]
分支/用户 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
同相 | 0.10 | 0.18 | 0.22 | 0.5 | 0.1 | 0.43 | 0.036 | 0.25 |
正交 | 0.20 | 0.23 | 0.21 | 0.5 | 0.1 | 0.44 | 0.034 | 0.26 |
📚2 运行结果
部分代码:
%rand(10013,1);
Nuser = 8; % Broj korisnika
ChByUser = 2; % Broj Data/Signaling kanala po korisniku
ChByI = 1; % Broj Data/Signaling kanala u I-grani
ChByQ = 1; % Broj Data/Signaling kanala u Q-grani
MAIPowerVector(1:Nuser,1) = [0.25 0.125 0.0625 0.25 0.0625 0.0375 0.125 0.875]; % Raspodela snage po korisnicima na ulazu BS - Default vrednost je za slucaj idealne kontrole snage
NoDemodUser = 3; % Redni broj korisnika ciji se signal demodulise
ChipByFrame = 16000; % Broj chip-ova po frejmu
FramePeriod = 1; % Trajanje frejma - 1s
FrameRate = 1/FramePeriod; % Protok frejmova - 100 frames/s
Vchip = FrameRate*ChipByFrame; % Protok chip-ova 3.84Mchip/s
Tchip = 1/Vchip; % Trajanje chip-a
TimeSlotsByFrame = 5; % Broj vremenskih slotova u frejmu
DataBitsByTimeSlotVector(1:3,1) = [50 100 200]; % Broj bita u kanalu po vremenskom slotu za svih 7 brzina signaliziranja
DataBitsByFrameVector(1:3,1) = TimeSlotsByFrame*DataBitsByTimeSlotVector; % Broj bita u kanalu po frejmu za svih 7 brzina signaliziranja
DataRateVector(1:3,1) = DataBitsByFrameVector*FrameRate; % Bitski protok po kanalu za svih 7 brzina signaliziranja
SpreadingFactorVector(1:3,1) = [64 32 16]; % Spreading Factor (SF) za korisnika - za svih 7 brzina signaliziranja
BitRatesByUserFlag(1:Nuser,1) = [3 2 1 3 1 2 1 2]; % Zadavanje Protoka/SF po korisniku - redni broj u vektorima iznad
BitsByFrame(1:Nuser,1) = DataBitsByFrameVector(BitRatesByUserFlag(1:Nuser,1)); % Broj bita u svakom kanalu po frejmu za svakog korisnika
ChipByBit(1:Nuser,1) = ChipByFrame./BitsByFrame(1:Nuser,1); % Broj chip-ova po bitu za svakog korisnika
Nframe = 100; % Ukupan broj frejmova koji se prenosi
% Generisanje Channelizing (OVSF) sekvenci za pojedine kanale za korisnike
ChannelizingCodesMatrix(1:Nuser,1:ChipByFrame*Nframe,1:ChByUser) = zeros(Nuser,ChipByFrame*Nframe,ChByUser);
index = 0;
for user = 1:Nuser
% Generisanje ortogonalnog skupa OVSF sekvenci - zavise od broja kanala za korisnika
for chan = 1:ChByUser
SF = SpreadingFactorVector(BitRatesByUserFlag(user,1),1);
hOVSF = comm.OVSFCode('SamplesPerFrame',ChipByFrame*Nframe,'SpreadingFactor',SF,'Index',index);
seq = 0;
index = index + 1;
seq(1:ChipByFrame*Nframe,1) = step(hOVSF);
ChannelizingCodesMatrix(user,1:ChipByFrame*Nframe,chan) = seq;
end;
end;
clear hgld user scs scsmatrix chan hOVSF seq
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。(文章内容仅供参考,具体效果以运行结果为准)
[1]管云峰,张朝阳,焦向峰,等.突发模式DS—CDMA—QPSK接收机的设计与实现[J].电路与系统学报, 2001, 6(4):6.
[2]管云峰,张朝阳,焦向峰,等.突发模式DS-CDMA-QPSK接收机的设计与实现[J].电路与系统学报, 2001.
[3]蒋文娟.基于多相正交序列的DS-CDMA系统及其性能分析[D].河北工业大学,2007.
[4]蒋文娟.基于多相正交序列的DS-CDMA系统及其性能分析[D].河北工业大学,2008.
🌈4 Matlab代码实现
资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取