通信原理课程设计——DS-CDMA基带传输系统
一、 课程设计要求:
用计算机软件(推荐Matlab)构造一个DS/CDMA基带传输系统,各用户的二进制数据b与扩频码c进行扩频,用户数K为4个,扩频增益取31,扩频码采用Gold码,接收端假设理想同步,对各用户通过解扩恢复各自的信息数据。发端基带成型采用滚降因子为0.22的平方根升余弦滚降脉冲(用48阶的FIR滤波器来实现,每个码片采样16个样点),接收机用码片第8个或第9个样点作为判决点,信噪比大小(SNR)自设,如SNR可取为20dB或30dB。
b1?c?1b2c2?基带成型?n?t?bK?cKr?t?匹配滤波抽样判决?解扩抽样判决?bi
二、 DS-CDMA简介:
DS-CDMA(Direct Sequence —Code Division Multiple Access)即直接序列码分多址。从原理上来说,DS-CDMA是通过将携带信息的窄带信号与高速地址码信号相乘而获得的宽带扩频信号。收端需要用与发端同步的相同地址码信号去控制输入变频器的载频相位即可实现解扩。DS-CDMA系统具有抗窄带干扰、抗多径衰落和保密性好的优点。DS-CDMA其余优点:许多用户可以共享频率资源,无须复杂的频率分配和管理;具有\软容量\特性,即在一定限度内的用户数增加,只会使得信噪比下降,而不会终止通信,也就是说DS-CDMA没有绝对的容量限制。 DS-CDMA系统原理框图如下: 信源 扩频 调制 高放 混频 解扩 解调 伪码 发生器 载波 发生器 本振 伪码 发生器 同步 三、 DS-CDMA系统设计:
根升余弦滤波器设计:
irfn = 48; % 滤波器阶数
IPOINT = 4; % 码片速率过采样倍数(4倍 alfs = 0.22; % 滚降因子
[xh] = hrollfcoef(irfn,IPOINT,sr,alfs,1); %发送端根升余弦滤波器系数 [xh2] = hrollfcoef(irfn,IPOINT,sr,alfs,0); %接收端根升余弦滤波器系数
%根升余弦滤波器
figure('Name','根升余弦滤波器','NumberTitle','on'); % Tx
subplot(211);stem(xh);grid; xlabel('Bits index');
title('发送端根升余弦滤波器'); % Rx
subplot(212);stem(xh2);grid; xlabel('Bits index');
title('接收端根升余弦滤波器');
误码率-信噪比关系图
figure; % plot the BER vs. SNR semilogy(SNR,r,'r-x'),grid; xlabel('SNR');ylabel('BER'); title('BER vs. SNR');
原始数据,发送和接收的比较
figure('Name','Original Data','NumberTitle','on');
% plot data for a randomly selected user such as user no. 1 before the BPSK mapping Tx and Rx
% Tx
subplot(211);stem(data(cuser,1:20),'filled');grid; xlabel('Bits index');
title('Transmitted Bits (showing only 20 bits)'); % Rx
subplot(212);stem(data_rm(cuser,1:20),'filled');grid; xlabel('Bits index');
title('Received Bits (showing only 20 bits)');
BPSK编码后,发送和接收的比较
figure('Name','BPSK Symbols','NumberTitle','on');
% plot data for a randomly selected user such as user no. 1 after the BPSK mapping Tx and Rx
% Tx
subplot(211);stem(data_m(cuser,1:20),'filled');grid; xlabel('Symbol index');
title('Transmitted BPSK Symbols (showing only 20 Symbol)'); % Rx
subplot(212);stem(data_rs(cuser,1:20),'filled');grid; xlabel('Symbol index');
title('Received BPSK Symbols (showing only 20 Symbol)');
要发送的数据,各个用户对应位求和的结果
figure('Name','Combined signals','NumberTitle','on');%plot combined signals %Tx
subplot(211);stem(data_f(1:50),'filled'); title('Combined signals (only 20 symbols)'); xlabel('Index of Combined symbols'); ylabel('Magnitude'); grid;
%Rx
subplot(212);stem(data_ros(1:50),'filled'); title('Combined noisy signals (only 20 symbols)'); xlabel('Index of Combined symbols'); ylabel('Magnitude');
四、 心得体会:
通过这一次通信原理课程设计,加深了对数字基带传输系统的认识,对于DS-CDMA传输系统又有了进一步的了解,原来学书本知识的时候感觉懵懵懂懂的,只记得几个公式而已,但是通过这一次实际操作才真正理解到了数字基带传输系统的深刻内涵。通过仿真结果中的波形、频谱图等直观的方式,有助于实现对DS-CDMA系统规律的把握研究。通信系统的性能分析和仿真,随着通信技术、信息技术和计算机技术的发展以及网络系统的大量应用,显得越来越重要。利用通信仿真定量地进行通信的分析与评价,为设计和规划通信提供了重要的依据。另外,通过这次对MATLAB软件的应用,也更加进一步的了解了这个软件,在使用上更加的熟练,为将来各种系统仿真的设计打下了坚实的基础。
五、 程序代码:
% main_DS_CDMA.m
% DS-CDMA通信系统仿真
%扩频码:Gold码
%+++++++++++++++++++++++准备部分+++++++++++++++++++++++++++ clear all; close all; clc;
disp('--------------Calculate Start ...-------------------'); sr = 256000.0; % 符号速率 ml = 2; % 调制阶数 br = sr * ml; % 比特速率
nd = 1000; % 符号数
SNR=-5:1:10; % Eb/No:Eb是指平和比特能量,no是指白噪声的功率谱密度
cuser = 1; % 画图时要显示的用户
%+++++++++++++++++++++滤波器初值设定+++++++++++++++++++++++
irfn = 48; % 滤波器阶数