【matlab算法仿真编程】基于MATLAB的码分多址复用技术的仿真

合集下载

OFDM原理及matlab代码仿真

OFDM原理及matlab代码仿真

OFDM原理及matlab代码仿真我也不明⽩OFDM是个咋回事OFDM⼀,OFDM的原理OFDM(Orthogonal Frequency Division Multiplexing)即正交频分复⽤技术,实际上OFDM是MCM(Multi Carrier Modulation),多载波调制的⼀种。

通过频分复⽤实现⾼速串⾏数据的并⾏传输, 它具有较好的抗多径衰弱的能⼒,能够⽀持多⽤户接⼊。

OFDM的主要思想是将信道分成N个⼦信道。

每个⼦信道包含⼀个⼦载波,不同的⼦载波之间相互正交。

实现时,将⼀路⾼速串⾏输⼊的数据信号流转换成N路并⾏的低速⼦数据流,调制到每个⼦载波上进⾏传输。

(类似于CDMA?)那么什么是正交呢?上图给出了详细的定义:两个波形在⼀段时间内内积为零,则他们在这段时间内正交。

那平时我们都知道sin(x)和cos(x)正交,他们在⼀个周期内的乘积为0。

如图sin和cos相乘,最后他们的乘积在⼀个周期内积分为0,则sin和cos在这段时间内是正交的。

那么同理,sin(x)和sin(2x)呢?从图上可以看到,sin(x)和sin(2x)的乘积在⼀个周期内的积分也为零,所以sin(x)和sin(2x)在这段时间内也是正交的。

那现在我们知道sin和cos是正交的,sin(x)和sin(2x)也是正交的。

“OFDM的主要思想是将信道分成N个⼦信道。

每个⼦信道包含⼀个⼦载波,不同的⼦载波之间相互正交。

”,那么在实现时将不同频率的相互正交的信号进⾏调制,最后再加和发送(所以觉得和CMDA类似,不得不说通信这⾥正交才是核⼼啊)。

(上⾯的图是从上截的)实现时,我们先对不同的信道不同频率的信号进⾏调制,再将其加和,很明显这种清楚易懂的⽅法实现起来对硬件的要求⽐较⾼,所以我们能不能找到⼀条更容易实现的⽅法。

博客园这个都不能写公式的吗.....从上⾯可以看出,将信号表⽰为指数形式,OFDM就可以采⽤FFT进⾏调制,⽽现实中DSP芯⽚技术已经成熟,可以采⽤相较于加法器⽽⾔速度更快的数字芯⽚。

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。

信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。

本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。

1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。

该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。

作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。

多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。

常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。

为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。

IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。

多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。

随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。

本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。

基于MATLAB的PCM时分复用系统的设计与仿真ppt课件

基于MATLAB的PCM时分复用系统的设计与仿真ppt课件

赞赏各位评委教师!
意义:自然界大多数信号为模拟信号,而信号的传输就需求转换成 数字信号,所以本论文基于将模拟信号转换成数字信号,采用脉冲编码调 制〔PCM〕的方式。设计1路PCM系统和时分复用系统的去讨论模数转换 和在信道中的传输。
模拟信号的数字传输
PCM系统设计与仿真
1 1路PCM系统的设计 PCM设计框图:
PCM系统设计与仿真
PCM系统编码数据保管到任务区框图:
PCM系统设计与仿真
PCM系统抽样、量化、编码数据: 抽样值
量化值 编码值
PCM系统设计仿真
PCM系统仿真波形图:
PCM系统设计仿真
2 时分复用系统设计与仿真 时分复用系统框图:
PCM系统设计仿真
时分复用系统仿真波形图:
结论
模拟信号的抽样、量化和二进制编码的值,表格中数据对 应,与实际计算值几乎没有差别,实验正确。
基于MATLAB的PCM时分复用 系统的设计与仿真
班 级:2021级 姓 名: 学 号: 指点教师:
LOGO
论文内容的安排
第一部分 选题的背景和意义 第二部分 模拟信号的数字传输 第三部分 PCM系统设计与仿真 第四部分 结论
选题的背景和意义
背景:当今社会,信息通讯与社会开展密不可分,随着科技的开展, 通讯系统出现了模拟通讯系统和数字通讯系统两种方式。其中数字通讯系 通具有噪声不积累、抗干扰才干强、传输过失可控以及便于对数字信息处 置、变换和存储等优点,取缔了传统通讯方式,成为当代通讯技术的主流。 未,几乎没有差别,实 验正确。
时分复用系统中4路信号输入输出波形几乎没有差别,可知 不同频率的信号所产生的误差用数字信号来传输时误差根 本一样。
综上可知:输入信号和输出信号波形几乎没有差别,因此 在正常信噪比的条件下,该通讯系统各个模块运用正确, 参数设置适当,可以到达预期的目的。

【matlab编程代做】基于MATLAB的码分多址复用技术的仿真

【matlab编程代做】基于MATLAB的码分多址复用技术的仿真

clc,clear,close all;%%%我们使用四个用户的CDMA系统coefficients=[1 0 1 0 0]; %5级左移m序列码发生器的反馈系数mseq=mseries(coefficients); %生成31×31的m序列码矩阵walsh=[1 1 1 1;1 -1 1 -1;1 1 -1 -1;1 -1 -1 1]; %4阶W ALSH矩阵pn=mseq(1:31); %PN码%四个用户发出的信号,可以随便设定user0=[ 1,-1,-1,-1,-1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1,-1, 1,-1,-1,-1,-1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1,-1];%用户1,可以是随机信号user1=[-1,-1,-1,-1,-1, 1, 1,-1, 1,-1,-1, 1, 1, 1, 1,-1, 1,-1,-1, 1, 1,-1, 1, 1, 1,-1, 1, 1, 1,-1, 1,-1];%用户2,可以是随机信号user2=[ 1,-1,-1,-1, 1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1, 1, 1,-1, 1,-1,-1,-1, 1, 1, 1, 1,-1, 1, 1, 1,-1,-1];%用户3,可以是随机信号user3=[-1,-1, 1,-1,-1, 1, 1,-1, 1,-1,-1, 1, 1, 1, 1,-1, 1,-1,-1, 1,-1, 1, 1,-1, 1,-1,-1, 1, 1,-1, 1, 1];%用户4,可以是随机信号%==========================================================================for t=1:length(user0)user=[user0(t),user1(t),user2(t),user3(t)];%四个用户分别发送1,-1,1,1for i=1:4%四用户信号和W ALSH矩阵相乘for j=1:4walsh_user(j,i)=user(i)*walsh(i,j);endendfor i=1:4%变成串行信号walsh_user2(4*i-3)=walsh_user(i,1);walsh_user2(4*i-2)=walsh_user(i,2);walsh_user2(4*i-1)=walsh_user(i,3);walsh_user2(4*i-0)=walsh_user(i,4);endfor i=1:31for j=1:16walsh_user3(i,j)=walsh_user2(j);endendfor i=1:31for j=1:16pn_walsh_user(i,j)=walsh_user3(i,j)*pn(i);endend%并----串for i=1:31for j=1:16pn_walsh_user_c(i*j)=pn_walsh_user(i,j);endend%以上是信号调制过程%========================================================================== %一下是信号解调过程%串----并for i=1:31for j=1:16pn_walsh_user_rec(i,j)=pn_walsh_user_c(i*j);endend%pn解扩for i=1:31for j=1:16walsh_user_rec(i,j)=pn_walsh_user_rec(i,j)*pn(i);endendfor i=1:31for j=1:16walsh_user_rec2(j)=walsh_user_rec(i,j);endend%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:4for j=1:4rec(i,j)= user_rec2(i,j)*walsh(i,j);endend%===============接收信号===================================rec_signal= user_rec2(1,1:4);%========画信号============================================================== if t==1figure;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)%调制W ALSHstairs(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;endendfigure;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*randint(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);%==================以上生成随即序列========================================%===================生成噪声==========================n1=Pn*normrnd(0,1,1,inflength*N);n=zeros(UserNumber,inflength);for j=1:inflengthntemp=n1(1,((j-1)*N+1):j*N);n(:,j)=(mseq*ntemp')/N;end%*******************************************A=diag(a);y=R*A*b+n; %传统单用户检测ydec=inv(R)*y; %线性解相关多用户检测ymmse=inv(R+sigma^2*inv(A))*y; %最小均方误差多用户检测for i=1:UserNumberylen(i)=length(find(sign(real(y(i,:)))-b(i,:)));ydeclen(i)=length(find(sign(real(ydec(i,:)))-b(i,:)));ymmselen(i)=length(find(sign(real(ymmse(i,:)))-b(i,:)));BER_y(i)=ylen(i)/inflength;BER_ydec(i)=ydeclen(i)/inflength;BER_ymmse(i)=ymmselen(i)/inflength;endsnr=20*log10(a(1)/Pn);disp('信噪比为');disp(snr);disp('误码个数为');disp(ylen(k));disp(ydeclen(k));disp(ymmselen(k));disp('误码率为');disp( BER_y(k));disp(BER_ydec(k));disp(BER_ymmse(k));。

基于MATLAB的(7-4)循环码的编译仿真

基于MATLAB的(7-4)循环码的编译仿真

基于MATLAB的(7-4)循环码的编译仿真Equation Chapter 1 Section 1 Harbin Institute of Technology信息论与编码实验报告基于MATLAB的(7,4)循环码的编译仿真院系:电子与信息工程学院姓名:周才发学号:13S005051班级:通信二班哈尔滨工业大学基于MATLAB的(7,4)循环码的编译仿真(电子与信息工程学院13S005051 周才发序号:15)1、循环码简介随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。

随着经济文化水平的显著提高,人们对生活质量及工作软件的要求也越来越高。

在计算机通信信息码中循环码是线性分组码的一个重要子集,是目前研究得最成熟的一类码。

它有许多特殊的代数性质,它使计算机通信以一种以数据通信形式出现,实现了在计算机与计算机之间或计算机与终端设备之间进行有效的与正确地信息传递,它使得现代通信的可靠性与有效性实现了质的飞跃。

它是现代计算机技术与通信技术飞速发展的产物,在日常生活通信领域、武器控制系统等领域都被广泛应用。

纠错码(error correcting code),在传输过程中发生错误后能在收端自行发现或纠正的码。

仅用来发现错误的码一般常称为检错码。

为使一种码具有检错或纠错能力,须对原码字增加多余的码元,以扩大码字之间的差别,即把原码字按某种规则变成有一定剩余度(见信源编码)的码字,并使每个码字的码之间有一定的关系。

关系的建立称为编码。

码字到达收端后,可以根据编码规则是否满足以判定有无错误。

当不能满足时,按一定规则确定错误所在位置并予以纠正。

纠错并恢复原码字的过程称为译码。

检错码与其他手段结合使用,可以纠错。

纠错编码又称信道编码,它与信源编码是信息传输的两个方面。

它们之间存在对偶的关系。

应用信道译码直接对一些自然信息进行处理,可以去掉剩余度,以达到压缩数据的目的。

基于MATLAB频分复用系统的研究与仿真设计

基于MATLAB频分复用系统的研究与仿真设计

目录1 设计任务及要求 (1)1.1 设计任务 (1)1.2 设计要求 (1)2 设计作用及其目的 (1)3 设计过程及原理 (2)3.1 频分复用通信系统模型建立 (2)3.2 语音信号采样 (5)3.3 语音信号的调制 (7)3.4 系统的滤波器设计 (9)3.5 信道噪声 (10)4 MATLAB仿真 (11)4.1 语音信号的时域和频域仿真 (11)4.2 复用信号的频谱仿真 (12)4.3传输信号的仿真 (14)4.4 解调信号的频谱仿真 (15)4.5恢复信号的时域与频域仿真 (15)5 心得体会 (18)6 附录 (19)7 参考文献 (24)基于MATLAB频分复用系统的研究与仿真设计1 设计任务及要求1.1 设计任务根据频分复用的通信原理,运用Matlab软件采集两路以上的语音信号,选择合适的高频载波进行调制,得到复用信号。

然后设计必要的带通滤波器、低通滤波器,从复用信号中恢复所采集的语音信号。

整个过程运用Matlab进行仿真,并对各个信号进行时域和频域分析。

1.2 设计要求(1)使用Matlab软件画出采样后语音信号的时域波形和频谱图。

(2)选择合适的高频载波,对采样信号进行调制。

(3)使用Matlab软件画出复用信号的频谱图。

(4)设计合适的带通滤波器,并画出带通滤波器的频率响应。

(5)对滤波后的信号进行解调,画出解调后各路信号的频谱图。

(6)设计低通滤波器,画出低通滤波器的频率响应。

恢复信号的时域波形和频谱图。

2 设计作用及其目的FDMA(Frequency Division Multiple Access)是数据通信中的一种技术,也是现在移动通信中使用最大的一种通信方式。

FDMA通信技术可以使不同的用户分配在时隙相同而频率不同的信道上传输。

按照这种技术,把在频分多路传输系统中集中控制的频段根据要求分配给用户。

同固定分配系统相比,FDMA 使通道容量可根据要求动态地进行交换。

简单码分复用技术及其Matlab仿真

成都理工大学工程技术学院本科毕业论文简单码分复用技术及其Matlab仿真作者姓名:肖杨专业名称:通信工程指导老师:梁维海讲师2012年5月20日摘要关键词:多址技术频分复用相干解调非相干解调AbstactWith the emergence of a variety of high - speed communication services and increase in the number of access users,With a lot of pressure on the existing communication network,Alleviate the problem of network bandwidth multiplexing the emergence of. Which code-division multiplexing is a kind of rely on different codes to distinguish the brightest of the original signal a multiplexing, And a variety of multiple access technologies combine to produce a variety of access technologies, Including wireless and wireline access. For example , multiple access cellular system based on the channel to distinguish between the communication object,One channel only to accommodate a user calls, Many users call at the same time, Each other to distinguish the channel, This is the multiple access. Multiple access technology is divided into frequency division multiple access (FDMA) , time division multiple access (TDMA) , Code Division Multiple Access (CDMA ), Space Division Multiple Access (SDMA).Keywords: Multiple Access Technology Frequency Division Multiplexing Coherent demodulation Non-coherentdemodulation目录摘要 (I)Abstact ................................................................................................ I I 目录 (III)引言 (1)1复用技术及多址技术 (2)1.1概述 (2)1.2复用技术(多址技术) (2)2码分复用原理 (6)2.1发送端(信号的合成) (8)2.2接收端(信号的分解) (8)2.2.1方案一 (9)2.2.2方案二 (11)3码分复用的Matlab仿真 (13)3.1Matlab仿真(不调用内嵌函数) (13)3.2Matlab仿真结果 (15)3.3Simulink仿真 (15)3.4Simulink仿真结果 (15)4码分复用技术的典型应用 (16)4.1CDMA在3G中的应用 (16)4.1.1框图 (16)4.1.2仿真 (18)4.2CDMA在扩频通信中的应用 (22)4.2.1框图 (23)4.2.2仿真 (25)5总结 (30)致谢 (31)参考文献 (32)引言信道复用,就是利用一条信道同时传输多路信号的一种技术,信道复用的目是保证了各路信号互不干扰(条件之一)。

基于MATLAB的频分复用系统的仿真_毕业设计论文

保密的毕业论文(设计)在解密后遵守此规定。
本人签名:
日期:
导师签名:
日期:
基于MATLAB频分复用系统的仿真
摘 要
随着通信技术的不断的发展,频分复用技术广泛的应用于移动通信中。频分复用是将传输信道的总带宽划分为若干个子信道,每一个信道传输一路信号。每个信道占用不同频率,子信道频率之和小于总带宽。同时每个子信道相互隔开,互不干扰来提高频带利用率。缺点就是滤波器特性不够理想和信道间有噪声干扰[2]。
Keywords:MATLABtechnology,frequency division multiplexingtechnology,channel,frequency band,simulation
1. 引言
依据频分复用的复用的原理运用MATLAB软件采集两路以上的语音信号通过合适的高频载波调制,然后设计必要的带通滤波器和低通滤波器把得到的复用信号恢复成所采样的语音信号。在整个设计过程中运用MATLAB进行仿真,对采样的语音信号进行频域和时域的分析。通过本次设计可以加深我们对FDMA系统的认识和掌握学会对信道噪声的干扰进行分析和消除,同时学会MATLAB软件的基本使用及对软件的设计和仿真掌握低通和带通滤波器的设计
本人签名:
日期:
某校本科毕业论文(设计)使用授权说明
间进行毕业论文(设计)工作的知识产权单位属某校。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文 (设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。
The design of frequency division multiplexing system using MATLABTechnology Design and Simulation. Through the acquisition of signals, by using band - pass filter and low - pass filter spectrum,Itdeepen the understanding ofFDMAcommunication technology and mastering.

基于MATLAB的码分多址(CDMA)动画仿真


Frequency Divide Multiple Access)、 时分多址 技 信 系 统 中发挥 着 重要 的作 用 ,应 用前 景广 泛 。下面
术 (TDMA Time Divide Multiple Access)和码 分 具体说明如何对 一个码分多址系统进行设计和仿
多 址 技 术 (CDMA Code Divide Multiple 真 。
的 随机码 序 列B,然 后 让 所 产 生 的这 一 列 随机 码 B 调 信 号 )含有 原来 调制 信 号 的全部 信息 ,但 载波 的
与原 来 的那 一列 随机 码A的每 一位 分别 取异 或 ,得 某 些参 数按 调制 信 号 的规律 变 化”。Hl从频域 上看 ,
到一 列 新 的序列 C,C=A 0B即为扩 频 后 的新 的序 调制是一种频谱变换的过程 。调制 的目的在于使要
第 12卷 第 1期 2010年 2月
漳州职业技 术学院学报
Journal of Zhangzhon Institute of Technology
V oI.12 N0.1 Feb. 2010
基 于 MATLAB 的码 分 多址 (CDMA)动 画 仿 真
张 伟
(漳州职业 技术学院 电子工程系 ,福建 漳 州 363000)
0 引 言
于码字 的不相 关特 性 ,多个 用户 可 以采用 相 同的载
“通 信 系统 中存在 一 种 应 用 非常 广 泛 的通 信 模 波 同时向信道发送数据包。基站接收时用不同的码
型:点对多点的通信模型。在这种模型中,多个终 字 进行 解扩 即 可将 其 区分 开 。码 分 多址 的接 入技 术 端可以同时使用同一信道资源 向基站发送信息。这 优点很多。例如 ,小区容量大于另两种多址方式;

基于Matlab的CDMA多用户通信系统的仿真分析

CDMA通信系统的仿真分析〔燕山大学信息科学与工程学院〕摘要:码分多址〔CDMA〕以扩频信号为根底,利用不同的码型实现同一载波上的不同用户的信息传输,是第三代数字蜂窝移动通信系统采用的多址技术。

本次工程设计使用Simulink仿真工具对4用户的CDMA无线通信系统进展建模、仿真和分析,观察用户和扩频码波形,利用8psk实现调制,分析了信噪比、m序列抽样时间、多址干扰对系统误码率的影响。

关键词:码分多址、Simulink仿真、扩频、误码率分析1前言CDMA通信,是利用相互正交〔或准正交〕的编码分配给不同的用户调制信号,实现多用户同时使用一个频率接入网络进展通信。

如果从频域和时域来观察,多个CDMA信号是相互重叠的,或者说它们均占有一样的频段和时间,接收机用相关器在多个CDMA信号中选出其中使用预定码型的信号。

由于利用相互正交〔或准正交〕的编码去调制信号,会将原信号的频谱扩展,因此又称为扩频通信。

CDMA具有伪随机编码调制和信号相关处理两大特点,因此CDMA具有许多优点:抗干扰、抗噪声、抗多径衰落、能在低功率下工作、性强,可多址复用和任意选址等。

CDMA技术在第三代移动通信中得到广泛应用。

本次工程设计使用Simulink仿真工具对4用户的CDMA无线通信系统进展建模、仿真和分析,观察用户和扩频码波形,利用8psk实现调制,分析了信噪比、m序列抽样时间、多址干扰对系统误码率的影响。

2仿真系统整体设计2.1扩频调制原理扩频通信的一般原理如图1所示。

在发送端的信息经信息调制形成数字信号,然后由扩频码发生器产生扩频码序列去调制数字信号以展宽信号的频谱。

展宽以后的信号在对载频进展调制,经过射频功率放大器发射到天线上发射出去。

在收端,从承受天线上收到的宽带射频信号,经过输入电路、高频放大器后送入变频器,下变频至中频,然后由本地产生的与发端完全一样的扩频码序列去解扩,最后经信息解调,恢复成原始信息输出。

图1扩频系统原理框图按照扩展频谱的方式的不同,目前的扩频通信可以分为:直接序列〔DS〕扩频,跳频〔FH〕,调时〔TH〕,以及上述几种方式的组合。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章 CDMA基本原理CDMA技术的基础是扩频通信。

扩频:用来传输信息的信号带宽远远大于信息本身带宽的一种传输方式,频带的扩展由独立于信息的扩频码来实现,与所传信息数据无关,在接收端用同步接收实现解扩和数据恢复。

如图2-1,我们可以知道CDMA 系统的基本原理和TDMA、FDMA的区别。

图2-1 CDMA、TDMA、FDMA比较扩频通信的理论基础就是著名的香农定理: (1)这个公式表明,在高斯信道中当传输系统的信号噪声功率比S/N下降时,可用增加系统传输带宽W的办法来保持信道容量C不变。

对于任意给定的信号噪声功率比,可以用增大传输带宽来获得较低的信息差错率。

正因为这个原因,扩频通信具有比较强的抗噪声干扰的能力。

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

2.1 CDMA系统的关键技术扩频技术是CDMA系统的基础,在扩频系统中,常使用伪随机码来扩展频谱,伪随机码的特性,如编码类型、长度、速度等在很大程度上决定了扩频系统的性能,如抗干扰能力、多址能力、码捕获时间。

因此要实现扩频部分,关键就是如何选择一个比较好的方法来实现PN码产生器。

而实现PN码产生器的难点就是实现其同步,即在接收端进行解扩所用的PN码和接收到的信号在发送时所用的PN码是同步的,这是扩频技术中的难点。

CDMA系统要求接收机的本地伪随机码与接收到的PN码在结构、频率和相位上完全一致,否则就不能正常接收所发送的信息,接收到的只是一片噪声。

若实现了收发同步但不能保持同步,也无法准确可靠地获取所发送的信息数据。

因此,PN码序列的同步是CDMA通信扩频模块的关键技术。

但是要真正成为一种商业应用的通信系统,还有很多技术问题需要解决,本文暂不做考虑。

所有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) = +1C1 . -C1 = (-1,-1,-1,-1) . (+1,+1,+1,+1) = -1C1 . C2 = (-1,-1,-1,-1) . (+1,-1,+1,-1) = 0C1 . -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.2 CDMA系统的基本结构CDMA技术是以扩频通信为基础的载波调制和多址接入技术,所以如何实现扩频部分对于整个CDMA系统的实现有着重要的影响。

下图是CDMA系统的基本原理图:图2-2 CDMA系统的基本原理信号经信源编码后成为数字信号,经过纠错编码、卷积编码和交织等相关处理后送入调制器中,利用PN码发生器产生的高速PN码将数字信号变成码片,使得信号的传输带宽远大于信号本身的带宽以实现扩频通信,同时,为了使信号的传输与信道特性相匹配,必须用载波发生器产生的载波去调制扩频信号。

使其频率变为适合信道传愉的射频频段,将数字信号调制成模拟信号后通过放大器发射出去。

在接收端,利用下变频器将射频信号还原成中频信号,采用与发射端相同的信号处理技术再将信号还原成原始信号,从而达到数据通信传输的目的。

针对本课题所要求的CDMA发送端的设计,主要从以下几个方面去研究,数据处理模块、差分编码模块、PN码序列产生模块、扩频模块。

其中数据处理模块主要是用来完成数据的串/并变换;差分编码模块主要用于对数据先进行差分编码;PN码序列产生模块是扩频通信模块中比较重要的模块,其具体的作用和功能我们将在具体实践中做具体研究和讨论;扩频模块是发射端的核心模块,主要用于完成数据的扩频。

图2-3就是CDMA系统模块化以后的基本结构,其中虚线框内的部分就是CDMA数字基带发送部分,本课题我们主要就是完成下图中上半部分,此外,在此基础上将对接收部分做简单的介绍。

图中发送端和接收端的Walsh码发生器和PN码发生器其实是同一个模块,它们的区别仅仅是延迟不同。

图2-3 CDMA系统模块化结构图由上图可知,这个系统一共有两个模块组成——调制模块和解调模块。

其中调制模块是信号发生器产生4路输入信号,经WALSH调制、PN扩频、基带求和与并/串变换成为1路信号,完成调制。

而解调模块主要是将收到的1路信号首先进行串并转换,在取得同步的基础上进行PN解扩和WALSH解调从而恢复出4路信息。

该系统框图就是我们所要实现的系统的基本结构,具体实现方法、步骤、以及原理分析及优化我将针对每个模块,在后面给予具体研究。

附录一、SIMULINK仿真模型二、MATLAB模型clc,clear%%%我们使用四个用户的CDMA系统coefficients=[1 0 1 0 0]; %5级左移m序列码发生器的反馈系数mseq=mseries(coefficients); %生成31×31的m序列码矩阵walsh=[1 1 1 1;1 -1 1 -1;1 1 -1 -1;1 -1 -1 1]; %4阶WALSH矩阵pn=mseq(1:31); %PN码%四个用户发出的信号,可以随便设定user0=[ 1,-1,-1,-1,-1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1,-1, 1,-1,-1,-1,-1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1,-1];%用户1,可以是随机信号user1=[-1,-1,-1,-1,-1, 1, 1,-1, 1,-1,-1, 1, 1, 1, 1,-1, 1,-1,-1, 1, 1,-1, 1, 1, 1,-1, 1, 1, 1,-1, 1,-1];%用户2,可以是随机信号user2=[ 1,-1,-1,-1, 1,-1, 1, 1, 1,-1,-1, 1, 1,-1, 1, 1, 1,-1, 1,-1,-1,-1, 1, 1, 1, 1,-1, 1, 1, 1,-1,-1];%用户3,可以是随机信号user3=[-1,-1, 1,-1,-1, 1, 1,-1, 1,-1,-1, 1, 1, 1, 1,-1, 1,-1,-1, 1,-1, 1, 1,-1, 1,-1,-1, 1, 1,-1, 1, 1];%用户4,可以是随机信号%=======================================================for t=1:length(user0)user=[user0(t),user1(t),user2(t),user3(t)];%四个用户分别发送1,-1,1,1for i=1:4%四用户信号和WALSH矩阵相乘for j=1:4walsh_user(j,i)=user(i)*walsh(i,j);endendfor i=1:4%变成串行信号walsh_user2(4*i-3)=walsh_user(i,1);walsh_user2(4*i-2)=walsh_user(i,2);walsh_user2(4*i-1)=walsh_user(i,3);walsh_user2(4*i-0)=walsh_user(i,4);endfor i=1:31for j=1:16walsh_user3(i,j)=walsh_user2(j);endendfor i=1:31for j=1:16pn_walsh_user(i,j)=walsh_user3(i,j)*pn(i);endend%并----串for i=1:31for j=1:16pn_walsh_user_c(i*j)=pn_walsh_user(i,j);endend%以上是信号调制过程%============================================================== ============%一下是信号解调过程%串----并for i=1:31for j=1:16pn_walsh_user_rec(i,j)=pn_walsh_user_c(i*j);endend%pn解扩for i=1:31for j=1:16walsh_user_rec(i,j)=pn_walsh_user_rec(i,j)*pn(i);endendfor i=1:31for j=1:16walsh_user_rec2(j)=walsh_user_rec(i,j);endend%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:4for j=1:4rec(i,j)= user_rec2(i,j)*walsh(i,j);endend%===============接收信号============================= rec_signal= user_rec2(1,1:4);%========画信号=========================== if t==1figure;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)%调制WALSHstairs(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;endendfigure;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*randint(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);%=============以上生成随即序列========================%===================生成噪声==========================n1=Pn*normrnd(0,1,1,inflength*N);n=zeros(UserNumber,inflength);for j=1:inflengthntemp=n1(1,((j-1)*N+1):j*N);n(:,j)=(mseq*ntemp')/N;end%*******************************************A=diag(a);y=R*A*b+n; %传统单用户检测ydec=inv(R)*y; %线性解相关多用户检测ymmse=inv(R+sigma^2*inv(A))*y; %最小均方误差多用户检测for i=1:UserNumberylen(i)=length(find(sign(real(y(i,:)))-b(i,:)));ydeclen(i)=length(find(sign(real(ydec(i,:)))-b(i,:)));ymmselen(i)=length(find(sign(real(ymmse(i,:)))-b(i,:)));BER_y(i)=ylen(i)/inflength;BER_ydec(i)=ydeclen(i)/inflength;BER_ymmse(i)=ymmselen(i)/inflength;endsnr=20*log10(a(1)/Pn);disp('信噪比为');disp(snr);disp('误码个数为');disp(ylen(k));disp(ydeclen(k));disp(ymmselen(k));disp('误码率为');disp( BER_y(k));disp(BER_ydec(k));disp(BER_ymmse(k));参考文献[1] 黄永安,马路,刘慧敏. MATLAB7.0/Simulink6.0建模仿真开发与高级工程应用[M].北京:清华大学出版社,2005[2] 樊昌兴,曹丽娜.通信原理[M].北京:国防工业出版社,2007[3] 王建平,张宝剑,王军涛.通信原理[M].北京:人民邮电出版社,2007[4] 王立宁,乐光新,詹菲.MATLAB与通信仿真[M] .北京:人民邮电出版社,2000[5] 王正林.精通MATLAB GUI设计[M].北京:电子工业出版社,2008[6] 邓华.MATLAB通信仿真及应用实例详解[M].北京:人民邮电出版社,2003[7] 张葛祥,李娜.MATLAB仿真技术与应用[M].北京:清华大学出版社.2003[8] 徐明远.MATLAB仿真在通信与电子工程中的应用.西安:西安电子科技大学出版社,2004[9] 达新宇.通信原理实验与课程设计.北京:北京邮电大学出版社,2004[10] 施阳.MATLAB语言精要及动态仿真工具-SIMULINK[M].西安:西北工业大学出版社,1997.[11] 樊昌信,曹丽娜.通信原理[M].北京:国防工业出版社,2008[12] 张志涌.精通MATLAB6.5版[M].北京:北京航空航天大学出版社,2003[13] 刘敏,魏玲.MATLAB通信仿真与应用.北京:国防工业出版社,2005[14] 薛定宇,陈阳泉,基于MATLAB/Simulink的系统仿真技术与应用,北京:清华大学出版社,2004.[15] 杨大成等. CDMA2000技术. 北京邮电大学出版社. 2000[16] 康桂霞等. CDMA2000 1x无线网络技术. 人民邮电出版社.2007[17] 高伟东等. CDMA2000 1X无线网络规划优化及无线资源管理. 人民邮电出版社.2007[18] 曹卫华等. 最优化技术方法及MATLAB的实现. 化学工业出版社.2005[19] 刘树棠.数字信号处理(MATLAB版). 西安交通大学出版社.2008致谢在课题开发设计和论文撰写期间,得到了导师的悉心指导,渊博的学识、敏锐的思维、一丝不苟的作风使我受益匪浅。

相关文档
最新文档