m基于MATLAB的码分多址复用技术的仿真

1.算法概述

m基于MATLAB的码分多址复用技术的仿真+word说明文档 +包含程序操作视频


CDMA技术的基础是扩频通信。扩频:用来传输信息的信号带宽远远大于信息本身带宽的一种传输方式,频带的扩展由独立于信息的扩频码来实现,与所传信息数据无关,在接收端用同步接收实现解扩和数据恢复。如图2-1,我们可以知道CDMA系统的基本原理和TDMA、FDMA的区别。


图1-1  CDMA、TDMA、FDMA比较




这个公式表明,在高斯信道中当传输系统的信号噪声功率比S/N下降时,可用增加系统传输带宽W的办法来保持信道容量C不变。对于任意给定的信号噪声功率比,可以用增大传输带宽来获得较低的信息差错率。正因为这个原因,扩频通信具有比较强的抗噪声干扰的能力。CDMA技术是以扩频通信为基础的载波调制和多址接入技术,所以如何实现扩频部分对于整个CDMA系统的实现有着重要的影响。


CDMA技术是以扩频通信为基础的载波调制和多址接入技术,所以如何实现扩频部分对于整个CDMA系统的实现有着重要的影响。下图是CDMA系统的基本原理图:


图2  CDMA系统的基本原理


信号经信源编码后成为数字信号,经过纠错编码、卷积编码和交织等相关处理后送入调制器中,利用PN码发生器产生的高速PN码将数字信号变成码片,使得信号的传输带宽远大于信号本身的带宽以实现扩频通信,同时,为了使信号的传输与信道特性相匹配,必须用载波发生器产生的载波去调制扩频信号。使其频率变为适合信道传愉的射频频段,将数字信号调制成模拟信号后通过放大器发射出去。在接收端,利用下变频器将射频信号还原成中频信号,采用与发射端相同的信号处理技术再将信号还原成原始信号,从而达到数据通信传输的目的。


针对本课题所要求的CDMA发送端的设计,主要从以下几个方面去研究,数据处理模块、差分编码模块、PN码序列产生模块、扩频模块。其中数据处理模块主要是用来完成数据的串/并变换;差分编码模块主要用于对数据先进行差分编码;PN码序列产生模块是扩频通信模块中比较重要的模块,其具体的作用和功能我们将在具体实践中做具体研究和讨论;扩频模块是发射端的核心模块,主要用于完成数据的扩频。图2-3就是CDMA系统模块化以后的基本结构,其中虚线框内的部分就是CDMA数字基带发送部分,本课题我们主要就是完成下图中上半部分,此外,在此基础上将对接收部分做简单的介绍。图中发送端和接收端的Walsh码发生器和PN码发生器其实是同一个模块,它们的区别仅仅是延迟不同。


图3 CDMA系统模块化结构图


由上图可知,这个系统一共有两个模块组成——调制模块和解调模块。其中调制模块是信号发生器产生4路输入信号,经WALSH调制、PN扩频、基带求和与并/串变换成为1路信号,完成调制。而解调模块主要是将收到的1路信号首先进行串并转换,在取得同步的基础上进行PN解扩和WALSH解调从而恢复出4路信息。该系统框图就是我们所要实现的系统的基本结构,具体实现方法、步骤、以及原理分析及优化我将针对每个模块,在后面给予具体研究。


所有CDMA类型都使用扩频过程增益来允许接受者部分衰减非期望信号。具有期望扩频码的信号和定时被接受,如果信号有不同的扩频码(或者相同扩频码但是不同的时间偏移)将被过程增益认为随机噪声衰减掉。这项操作的方法是给每一个站点分配一个扩频码或者芯片序列.这些芯片序列被表示成由+1和-1组成的序列。每个芯片序列和本身点乘得到+1,(和补码点乘得到-1),反之点乘不同的芯片序列得到0。

例如如果C1 = (-1,-1,-1,-1), C2 = (+1,-1,+1,-1) 那么

C1 . C1 = (-1,-1,-1,-1) . (-1,-1,-1,-1) = +1

C1 . -C1 = (-1,-1,-1,-1) . (+1,+1,+1,+1) = -1

C1 . C2 = (-1,-1,-1,-1) . (+1,-1,+1,-1) = 0

C1 . -C2 = (-1,-1,-1,-1) . (-1,+1,-1,+1) = 0

这种特性叫做正交性. 这些序列叫做 Walsh码可以从一个二进制 Walsh矩阵导出。当多个终端发送多个片码时,信号就会在空中叠加。例如芯片序列是(-1,-1,-1,-1)和(+1,-1,+1,-1),叠加后变成(0,-2,0,-2)。接受方只要计算发送信号到空中的终端目点值。例如(-1,-1,-1,-1) . (0,-2,0,-2) = +1。

TDMA和FDMA终端理论上可以过滤其他时隙或者频率通道的任意强信号。这在CDMA无法实现,它只能部分过滤干扰信号。如果任一或者全部噪声信号强于有用信号,则有用信号就被淹没了。这样在CDMA系统中就要求每个终端有一个近似合适的信号功率。在CDMA蜂窝网络中,基站使用一个快速闭环功率控制方案来紧密控制每一个移动终端的传输功率。

向前纠错(FEC)编码在任何一种CDMA方案中都是必须的,它用于减小信噪比的需求,从而使得信道最大限度的可靠。 CDMA较TDMA和FDMA的优势在于CDMA可用码字数量理论上是无限的。这就使得CDMA承载大容量负载是对每一个随机会话中产生一个相对小的流量,从而避免为个别通讯频繁的建立和拆除有限的时隙或者频率通道。CDMA发射端只是在有数据发出时占用信道,完成后就释放掉。


2.仿真效果预览


3.MATLAB程序

.............................................................


%串----并

for i=1:31

for j=1:16

pn_walsh_user_rec(i,j)=pn_walsh_user_c(i*j);

end

end

%pn解扩

for i=1:31

for j=1:16

walsh_user_rec(i,j)=pn_walsh_user_rec(i,j)*pn(i);

end

end


for i=1:31

for j=1:16

walsh_user_rec2(j)=walsh_user_rec(i,j);

end

end


%walsh解扩

user_rec2(1,1)=walsh_user_rec2(1);

user_rec2(1,2)=walsh_user_rec2(2);

user_rec2(1,3)=walsh_user_rec2(3);

user_rec2(1,4)=walsh_user_rec2(4);


user_rec2(2,1)=walsh_user_rec2(5);

user_rec2(2,2)=walsh_user_rec2(6);

user_rec2(2,3)=walsh_user_rec2(7);

user_rec2(2,4)=walsh_user_rec2(8);


user_rec2(3,1)=walsh_user_rec2(9);

user_rec2(3,2)=walsh_user_rec2(10);

user_rec2(3,3)=walsh_user_rec2(11);

user_rec2(3,4)=walsh_user_rec2(12);


user_rec2(4,1)=walsh_user_rec2(13);

user_rec2(4,2)=walsh_user_rec2(14);

user_rec2(4,3)=walsh_user_rec2(15);

user_rec2(4,4)=walsh_user_rec2(16);


for i=1:4

for j=1:4

rec(i,j)= user_rec2(i,j)*walsh(i,j);

end

end





%===============接收信号===================================


rec_signal= user_rec2(1,1:4);


%========画信号==============================================================

if t==1

figure;

subplot(511)

stairs(1:4,user,'r');%用户信号

axis([1,4,-2,2]);

title('用户发送的信号')


subplot(512)%随机码

stairs(1:31,pn);

axis([1,31,-2,2]);

title('随机码')


subplot(513)%调制WALSH

stairs(1:16,walsh_user2,'r');

axis([1,16,-2,2]);

title('调制WALSH')


subplot(514) %发送

stairs(1:496,pn_walsh_user_c);

axis([1,496,-2,2]);

title('发送信号')


subplot(515)  %数据接收

stairs(1:4,rec_signal,'r');

axis([1,4,-2,2]);

title('数据接收信号')

hold on;

end

end



figure;

subplot(411);

stairs(1:32,user0);

axis([1,32,-2,2]);title('user0数据接收信号')


subplot(412);

stairs(1:32,user1);

axis([1,32,-2,2]);title('user1数据接收信号')


subplot(413);

stairs(1:32,user2);

axis([1,32,-2,2]);title('user2数据接收信号')


subplot(414);

stairs(1:32,user3);

axis([1,32,-2,2]);title('user3数据接收信号')


%%

%=====================以上是加上噪声的 误码率测试=================================================

prompt={'请输入用户个数:','请输入用户发送信息个数:','请输入用户码功率','请输入噪声功率','请输入要测试的用户ID号'};

name=['码分多址复用技术测试'];

line=1;


defaultanswer={'4','100','1 2 3 4', '10','1'};


glabel=inputdlg(prompt,name,line,defaultanswer);%对话框

num1=str2num(char(glabel(1,1)));                %对话框

num2=str2num(char(glabel(2,1)));                %对话框

num3=str2num(char(glabel(3,1)));                %对话框

num4=str2num(char(glabel(4,1)));                %对话框

k=str2num(char(glabel(5,1)));                   %对话框


UserNumber=num1;%用户数

inflength=num2;%用户信息序列长度

a=num3;  %用户信息功率

Pn=num4; %噪声功率

sigma=1;%噪声标准差


%==========================================================================

N=31;%伪随即序列的阶数

R=(ones(UserNumber)+(N-1)*eye(UserNumber))/N; %相关系数矩阵

b=2*round(rand(UserNumber,inflength))-1;   %用户信息矩阵(随机+1,-1矩阵)

coefficients=[1 0 1 0 0]; %5级左移m序列码发生器的反馈系数

mseq=mseries(coefficients); %生成31×31的m序列码矩阵

mseq=mseq(1:UserNumber,1:N);

%==================以上生成随即序列========================================

.............................................

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容