自适应编码调制

大作业

西安电子科技大学 宽带无线接入与无线IP 技术

课程作业

题目:自适应编码调制技术 学院:通信工程学院 姓名:

2015年4月28日

摘 要

摘 要

本文主要介绍了自适应编码调制技术的基本原理,讨论了所用到的信道编码和调制技术,最后对自适应编码调制技术进行了简单的仿真。

关键字:自适应编码 仿真

ABSTRACT

ABSTRACT

This paper begins with an introduction to the basic principle of Adaptive Modulation and Coding(AMC), followed by a presentation of Channel coding and Modulation technology and concludes with a simple simulation for the adaptive modulation and coding technology.

Keywords :Adaptive Modulation and Coding simulation

目 录 i

目 录

第一章 引言 . .................................................................................................................... 1 第二章 基本原理 . ............................................................................................................ 3

2.1 AMC基本原理 . ................................................................................................... 3 2.2信道编码 . ............................................................................................................. 4 2.3调制 . ..................................................................................................................... 4

2.3.1 BPSK 和QPSK 调制 ................................................................................. 4 2.3.2 16QAM调制 ............................................................................................. 5

第三章 仿真分析 . ............................................................................................................ 7

3.1误码率分析 . ......................................................................................................... 7 3.2误块率分析 . ......................................................................................................... 7 3.3 信息传输速率分析 . ............................................................................................ 8 3.4结论 . ..................................................................................................................... 9 参考文献 . ........................................................................................................................ 11 附录 . ................................................................................................................................ 12

ii

目 录

第一章 引言 1

第一章 引言

随着现代无线通信技术的飞速发展以及人们对无线数据业务需求的快速增长, 高速无线数据传输迫切需要开发出能够有效抗信道衰落的高频谱利用率、高可靠性和智能化的通信技术。其中如何提高系统在衰落信道中的频谱利用率, 逐渐成为无线通信技术的研究热点。而自适应编码调制技术正是以其智能化的传输机制、高效的频谱利用率得到了业界的广泛关注与研究, 从而成为目前和未来无线通信系统的关键技术之一。

对于现在的无线通信系统, 假如以最优信道状态来设计系统, 传输将是不稳定的, 因而无法实现要求连续传输的业务, 另一方面, 如果以最差信道状态为基准, 对于较为理想的信道则会造成浪费。针对这种情况, 人们设计了自适应编码调制技术, 在自适应无线通信系统中, 接收端估计信道状态, 并通过反馈信道传回发射端, 针对当前的信道状态, 设计合适的发射功率、调制模式、编码形式等从而使系统的整体传输性能达到最优, 满足高效可靠传输的目的。

2

自适应编码调制技术

第二章 基本原理 3

第二章 基本原理

2.1 AMC基本原理

AMC 的基本原理是通过信道估计,获得信道的瞬时状态信息,根据无线信道变化选择合适的调制和编码方式。网络侧根据用户瞬时信道质量状况和目前无线资源,选择最合适的下行链路调制和编码方式,从而提高频带利用效率,使用户达到尽量高的数据吞吐率。当用户处于有利的通信地点时(如靠近基站或存在视距链路) ,用户数据发送可以采用高阶调制和高速率的信道编码方式,例如:16QAM 和3/4编码速率,从而得到高的峰值速率;而当用户处于不利的通信地点时(如位于小区边缘或者信道深衰落) ,网络侧则选取低阶调制方式和低速率的信道编码方

如图2.1,在OFDM 系统中发射端,输入的信号经过编码、调制、OFDM 信号的产生,然后发射出去,经过时变信道后,在接收端,经过OFDM 信号的接收、解调、译码,最后得到所需要的数据。其中的编码采用的是卷积码,调制方式采用的是QPSK 或16QAM 。

当前的信道状态信息可以通过信道估计得到,然后通过一定的自适应算法来控制输入端的编码和调制以及接收端相应的解调和译码。其中编码和译码的自适应调节参数是信道编码的码率,码率根据信道状态来自适应地调整。同样调制和解调的方式也是根据信道状态来确定选择QPSK 和16QAM 两种中的一种。

4

自适应编码调制技术

2.2信道编码

2.3调制

2.3.1 BPSK 和QPSK 调制

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生BPSK (Binary Phase Shift Keying )信号。通常用以调信号载波的0度和180度分别表示数字基带信号的1和0。一个BPSK 符号表示一个比特。

QPSK 则是用载波的四个相位分别表示00、01、10和11。一个QPSK 符号可以表示二个比特。

第二章 基本原理 5

下图2.3是QPSK 的星座图,

图2.3 QPSK的星座图

2.3.2 16QAM调制

16QAM 一个符号可以表示4个比特,如下是16QAM 的星座图。QAM 调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。

16QAM 星座图

3

2

1

Q u a d r a t u r e

In-Phase

图2.4 16QAM星座图

6

自适应编码调制技术

第三章 仿真分析 7

第三章 仿真分析

3.1误率分

10

AMC 分析-误码率

10

10B E R

10

10

10SNR/db

图3.1 误码率分析

本文针对不同编码速率不同调制格式在五种情况下做了仿真,结果如上图3.1。 其中R=1/3 Bpsk 调制的误码率最低,R=1/2 16QAM 调制的误码率最高。比较可以看出,同样的信噪比条件下,高的编码速率和高阶调制抗干扰能力越弱,误码率越高。

3.2误块率分析

由于实际通信中编码以比特块进行的(比如统一以100个比特为一块进行编码传送),所以误块率更具有参考价值。

8

自适应编码调制技术

误块率

SNR/db

图3.2 误块率

同样,高阶调制,高的编码速率误块率越高,抗干扰能力差。

3.3 信息传输速率分析

在码元速率一样的前提下,R=1/3 Bpsk 的最大传输速率最低,以其为基准,R=1/2 Bpsk的最大传输速率是R=1/3 Bpsk的1.5倍。未编码Bpsk 和R=1/2 Qpsk的最大传输速率是R=1/3 Bpsk 的2倍。R=1/2 QAM 是的最大传输速率是R=1/3 Bpsk 的6倍。在不同的误码率情况下,仿真计算每种方式的吞吐量(传输速率)。

传输速率

SNR/db

第三章 仿真分析

图3.3 吞吐量(传输速率)分析

9

由上图3.3可以看出,虽然R=1/2 16QAM 调制的最大传输速率是R = 1/3 BPSK 调制的6倍,但是在信道条件不好(信噪比较低)的情况下,R = 1/3 BPSK调制的吞吐量还是比R=1/2 16QAM调制的高的。

3.4结论

为提高信息传输速率,可以检测信道的条件,利用AMC 技术,当用户处于有利的通信地点时(小区中心),可以采用高的编码速率和高阶调制,从而得到高的峰值速率;而当用户处于不利的通信地点时(如位于小区边缘) 采用低的编码速率和低阶调制方式来保证通信质量。

10

自适应编码调制技术

参考文献 11

参考文献

[1]张辉 曹丽娜 主编 现代通信原理与技术 [2]刘爱莲 主编 纠错编码原理及MATLAB 实现 [3]刘学勇 编著ATLAB/Simulink通信系统建模与仿真

12

自适应编码调制技术

附录

源程序 文件1 wukuai.m

•function out = Wukuai(x,y) % 统计误块率

% 统计出错的的块的个数(块的大小是100) % x是输入信息msg ,y 是接码后的信息dsg n=length(x);

number = ceil(n/100);

wrongblock = zeros(1,number);%标记出错的块,1 代表错误,0 代表正确 for k=1:number if k == number

a = x(100*(k-1)+1 : end); b = y(100*(k-1)+1 : end); else

a = x(100*(k-1)+1 : 100*k); b = y(100*(k-1)+1 : 100*k); end err = (a ~= b); c=sum(err); if c>0

wrongblock(k) = 1; end end

out = sum(wrongblock)/number; end 文件2

clc clear all

SNR = 0: 1.5 : 22; % 信噪比 msg = randint(1,100000); % 输入信息 BER0 = zeros(1,length(SNR)); BER1 = zeros(1,length(SNR)); BER2 = zeros(1,length(SNR)); BER3 = zeros(1,length(SNR)); BER4 = zeros(1,length(SNR)); %误块率

Wrongblock0 = zeros(1,length(SNR)); Wrongblock1 = zeros(1,length(SNR)); Wrongblock2 = zeros(1,length(SNR)); Wrongblock3 = zeros(1,length(SNR)); Wrongblock4 = zeros(1,length(SNR)); %传输速率(吞吐率)

cap0 = zeros(1,length(SNR)); cap1 = zeros(1,length(SNR)); cap2 = zeros(1,length(SNR)); cap3 = zeros(1,length(SNR)); cap4 = zeros(1,length(SNR));

附录 13

%-------------------------------------------------------- %网络结构

%trelllist1 1/2 编码速率

trellis1 = poly2trellis(3,[5,7]); %trellist2 1/3 编码速率

trellis2 = poly2trellis(3,[1 6 5]);

%----------------------------------------------------------------- %未编码的误码率 2psk modbit0 = pskmod(msg,2); for k = 1 : length(SNR)

y0 = awgn(modbit0,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg0 = pskdemod(y0,2); %解调 recode0 = reshape(demmsg0',1,[]); [num0,rat0] = biterr(recode0,msg); BER0(k) = rat0; %误码计算

Wrongblock0(k) = Wukuai(msg,recode0); %计算吞吐率 以 r=1/3 2psk 为基准 %(2psk)是其2倍

cap0(k) = (1 - Wrongblock0(k)) * 2; end

%----------------------------------------------------------------------- %编码的误码率 1/2 编码速率 2psk

code1 = convenc(msg,trellis1); %编码 modbit1 = pskmod(code1,2); %调制 for k = 1 : length(SNR)

y1 = awgn(modbit1,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg1 = pskdemod(y1,2); %解调 recode1 = reshape(demmsg1',1,[]);

14

自适应编码调制技术

tblen = 5; %回潮长度

decoded1 = vitdec(recode1,trellis1,tblen,'cont','hard'); %译码

[num1 ,rat1] = biterr(double(decoded1(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER1(k) = rat1;

Wrongblock1(k) = Wukuai(double(decoded1(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准 %(r = 1/2 2psk)是其1.5倍

cap1(k) = (1 - Wrongblock1(k)) * 1.5; end

%编码的误码率 1/3 编码速率 2psk code2 = convenc(msg,trellis2); modbit2 = pskmod(code2,2); for k = 1 : length(SNR)

y2 = awgn(modbit2,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg2 = pskdemod(y2,2); %解调 recode2 = reshape(demmsg2',1,[]);

tblen = 5; %回潮长度

decoded2 = vitdec(recode2,trellis2,tblen,'cont','hard'); %译码

[num2 ,rat2] = biterr(double(decoded2(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER2(k) = rat2;

Wrongblock2(k) = Wukuai(double(decoded2(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准 cap2(k) = (1 - Wrongblock2(k)) * 1; end

%编码的误码率 r = 1/2 qpsk 2

code3 = convenc(msg,trellis1); %编码

deccode1 = zeros(1,length(code3)/2); %二进制码变为4进制消息数据 demmsg1 = zeros(1,length(code3)); for i = 1 : length(code3)/2 str1 = int2str(code3(2*i-1)) ; str2 = int2str(code3(2*i)) ;

deccode1(i) = bin2dec(strcat(str1,str2)); end M = 4;

graycode=[0 1 3 2]; %gray编码规则 graymsg = graycode(deccode1+1); %gray映射 for k = 1 : length(SNR)

modbit3 = pskmod(graymsg,M); %基带qpsk 调制

y3 = awgn(modbit3,SNR(k),'measured'); %在传输序列中加入AWGN 噪声

附录

yjie = pskdemod(y3,4); %解调

decmsg = graycode(yjie+1);

for i = 1 : length(decmsg)

temp = dec2bin(decmsg(i),2);

demmsg1(2*i-1) = str2num(temp(1));

demmsg1(2*i) = str2num(temp(2));

end

recode3 = reshape(demmsg1',1,[]);

tblen = 5; %回潮长度

mdecoded3 = vitdec(recode3,trellis1,tblen,'cont','hard'); %译码 15

[num3 ,rat3] = biterr(double(mdecoded3(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER3(k) = rat3;

Wrongblock3(k) = Wukuai(double(mdecoded3(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准

%(r = 1/2 qpsk)是其2倍

cap3(k) = (1 - Wrongblock3(k)) * 2;

end

%编码的误码率 r = 1/2 16qam 4

code4= convenc(msg,trellis1); %编码

demmsg4 = zeros(1,length(code4));

M=16;

x4=reshape(code4,4,length(code4)/4); %将原始的二进制比特序列每四个一组分组,并排列成4行length(code4)/4列的矩阵

xsym=bi2de(x4.','left-msb');

deccode4 = xsym'; %二进制码变为16进制消息数据

%----------------------------------------------------------------------

graycode=[0 1 3 2 6 7 5 4 12 13 15 14 10 11 9 8]; %gray编码规则

ungraycode4=[1 2 4 3 8 7 5 6 16 15 13 14 9 10 12 11] %gray反解码

graymsg = graycode(deccode4+1); %gray映射

for k = 1 : length(SNR)

modbit4 = qammod(graymsg,M); %基带16qam 调制

y4 = awgn(modbit4,SNR(k),'measured'); %在传输序列中加入AWGN 噪声

yjie4 = qamdemod(y4,M); %16qam解调

decmsg4 = ungraycode4(yjie4+1)-1;

for i = 1 : length(decmsg4)

temp = dec2bin(decmsg4(i),4);

demmsg4(4*i-3) = str2num(temp(1));

demmsg4(4*i-2) = str2num(temp(2));

demmsg4(4*i-1) = str2num(temp(3));

16

end 自适应编码调制技术 demmsg4(4*i) = str2num(temp(4));

recode4 = reshape(demmsg4',1,[]);

tblen = 5; %回潮长度

mdecoded4 = vitdec(recode4,trellis1,tblen,'cont','hard'); %译码

[num4 ,rat4] = biterr(double(mdecoded4(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER4(k) = rat4;

Wrongblock4(k) = Wukuai(double(mdecoded4(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准

%(r = 1/2 16qam)是其6倍

cap4(k) = (1 - Wrongblock4(k)) * 6;

end

%计算吞吐量 假设各种调制方式的码元传输速率是一样的,

%以R=1/3 bpsk 调制为基准

%----------------------------------------------------------------------

%画图

length(SNR)

figure(1)

%semilogy(SNR,BER0,'k-',SNR,BER1,'k-s',SNR,BER2,'g-diamond',SNR,BER3,'r--s');

semilogy(SNR,BER0,'k-',SNR,BER1,'k-s',SNR,BER2,'g-diamond',SNR,BER3,'r--s',SNR,BER4,'b--s');

xlabel('SNR/db');

ylabel('BER');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('未编码2psk',' 卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)');

title('AMC分析-误码率')

grid on

figure(2)

plot(SNR,Wrongblock0,'k-',SNR,Wrongblock1,'k-s',SNR,Wrongblock2,'g-diamond',SNR,Wrongblock3,'r--s',SNR,Wrongblock4,'b--s');

axis([0 22 0 1]);

xlabel('SNR/db');

ylabel('误块率');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)'R=1/2 16QAM'); title('AMC分析-误块率')

grid on

figure(3) 附录 17

plot(SNR,cap0,SNR,cap1,'k-s',SNR,cap2,'g-diamond',SNR,cap3,'r--s',SNR,cap4,'b--s'); axis([0 22 0 6]);

xlabel('SNR/db');

ylabel('传输速率');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)'R=1/2 16QAM'); title('AMC分析-传输速率(码元速率一样)')

grid on

大作业

西安电子科技大学 宽带无线接入与无线IP 技术

课程作业

题目:自适应编码调制技术 学院:通信工程学院 姓名:

2015年4月28日

摘 要

摘 要

本文主要介绍了自适应编码调制技术的基本原理,讨论了所用到的信道编码和调制技术,最后对自适应编码调制技术进行了简单的仿真。

关键字:自适应编码 仿真

ABSTRACT

ABSTRACT

This paper begins with an introduction to the basic principle of Adaptive Modulation and Coding(AMC), followed by a presentation of Channel coding and Modulation technology and concludes with a simple simulation for the adaptive modulation and coding technology.

Keywords :Adaptive Modulation and Coding simulation

目 录 i

目 录

第一章 引言 . .................................................................................................................... 1 第二章 基本原理 . ............................................................................................................ 3

2.1 AMC基本原理 . ................................................................................................... 3 2.2信道编码 . ............................................................................................................. 4 2.3调制 . ..................................................................................................................... 4

2.3.1 BPSK 和QPSK 调制 ................................................................................. 4 2.3.2 16QAM调制 ............................................................................................. 5

第三章 仿真分析 . ............................................................................................................ 7

3.1误码率分析 . ......................................................................................................... 7 3.2误块率分析 . ......................................................................................................... 7 3.3 信息传输速率分析 . ............................................................................................ 8 3.4结论 . ..................................................................................................................... 9 参考文献 . ........................................................................................................................ 11 附录 . ................................................................................................................................ 12

ii

目 录

第一章 引言 1

第一章 引言

随着现代无线通信技术的飞速发展以及人们对无线数据业务需求的快速增长, 高速无线数据传输迫切需要开发出能够有效抗信道衰落的高频谱利用率、高可靠性和智能化的通信技术。其中如何提高系统在衰落信道中的频谱利用率, 逐渐成为无线通信技术的研究热点。而自适应编码调制技术正是以其智能化的传输机制、高效的频谱利用率得到了业界的广泛关注与研究, 从而成为目前和未来无线通信系统的关键技术之一。

对于现在的无线通信系统, 假如以最优信道状态来设计系统, 传输将是不稳定的, 因而无法实现要求连续传输的业务, 另一方面, 如果以最差信道状态为基准, 对于较为理想的信道则会造成浪费。针对这种情况, 人们设计了自适应编码调制技术, 在自适应无线通信系统中, 接收端估计信道状态, 并通过反馈信道传回发射端, 针对当前的信道状态, 设计合适的发射功率、调制模式、编码形式等从而使系统的整体传输性能达到最优, 满足高效可靠传输的目的。

2

自适应编码调制技术

第二章 基本原理 3

第二章 基本原理

2.1 AMC基本原理

AMC 的基本原理是通过信道估计,获得信道的瞬时状态信息,根据无线信道变化选择合适的调制和编码方式。网络侧根据用户瞬时信道质量状况和目前无线资源,选择最合适的下行链路调制和编码方式,从而提高频带利用效率,使用户达到尽量高的数据吞吐率。当用户处于有利的通信地点时(如靠近基站或存在视距链路) ,用户数据发送可以采用高阶调制和高速率的信道编码方式,例如:16QAM 和3/4编码速率,从而得到高的峰值速率;而当用户处于不利的通信地点时(如位于小区边缘或者信道深衰落) ,网络侧则选取低阶调制方式和低速率的信道编码方

如图2.1,在OFDM 系统中发射端,输入的信号经过编码、调制、OFDM 信号的产生,然后发射出去,经过时变信道后,在接收端,经过OFDM 信号的接收、解调、译码,最后得到所需要的数据。其中的编码采用的是卷积码,调制方式采用的是QPSK 或16QAM 。

当前的信道状态信息可以通过信道估计得到,然后通过一定的自适应算法来控制输入端的编码和调制以及接收端相应的解调和译码。其中编码和译码的自适应调节参数是信道编码的码率,码率根据信道状态来自适应地调整。同样调制和解调的方式也是根据信道状态来确定选择QPSK 和16QAM 两种中的一种。

4

自适应编码调制技术

2.2信道编码

2.3调制

2.3.1 BPSK 和QPSK 调制

在二进制数字调制中,当正弦载波的相位随二进制数字基带信号离散变化时,则产生BPSK (Binary Phase Shift Keying )信号。通常用以调信号载波的0度和180度分别表示数字基带信号的1和0。一个BPSK 符号表示一个比特。

QPSK 则是用载波的四个相位分别表示00、01、10和11。一个QPSK 符号可以表示二个比特。

第二章 基本原理 5

下图2.3是QPSK 的星座图,

图2.3 QPSK的星座图

2.3.2 16QAM调制

16QAM 一个符号可以表示4个比特,如下是16QAM 的星座图。QAM 调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。

16QAM 星座图

3

2

1

Q u a d r a t u r e

In-Phase

图2.4 16QAM星座图

6

自适应编码调制技术

第三章 仿真分析 7

第三章 仿真分析

3.1误率分

10

AMC 分析-误码率

10

10B E R

10

10

10SNR/db

图3.1 误码率分析

本文针对不同编码速率不同调制格式在五种情况下做了仿真,结果如上图3.1。 其中R=1/3 Bpsk 调制的误码率最低,R=1/2 16QAM 调制的误码率最高。比较可以看出,同样的信噪比条件下,高的编码速率和高阶调制抗干扰能力越弱,误码率越高。

3.2误块率分析

由于实际通信中编码以比特块进行的(比如统一以100个比特为一块进行编码传送),所以误块率更具有参考价值。

8

自适应编码调制技术

误块率

SNR/db

图3.2 误块率

同样,高阶调制,高的编码速率误块率越高,抗干扰能力差。

3.3 信息传输速率分析

在码元速率一样的前提下,R=1/3 Bpsk 的最大传输速率最低,以其为基准,R=1/2 Bpsk的最大传输速率是R=1/3 Bpsk的1.5倍。未编码Bpsk 和R=1/2 Qpsk的最大传输速率是R=1/3 Bpsk 的2倍。R=1/2 QAM 是的最大传输速率是R=1/3 Bpsk 的6倍。在不同的误码率情况下,仿真计算每种方式的吞吐量(传输速率)。

传输速率

SNR/db

第三章 仿真分析

图3.3 吞吐量(传输速率)分析

9

由上图3.3可以看出,虽然R=1/2 16QAM 调制的最大传输速率是R = 1/3 BPSK 调制的6倍,但是在信道条件不好(信噪比较低)的情况下,R = 1/3 BPSK调制的吞吐量还是比R=1/2 16QAM调制的高的。

3.4结论

为提高信息传输速率,可以检测信道的条件,利用AMC 技术,当用户处于有利的通信地点时(小区中心),可以采用高的编码速率和高阶调制,从而得到高的峰值速率;而当用户处于不利的通信地点时(如位于小区边缘) 采用低的编码速率和低阶调制方式来保证通信质量。

10

自适应编码调制技术

参考文献 11

参考文献

[1]张辉 曹丽娜 主编 现代通信原理与技术 [2]刘爱莲 主编 纠错编码原理及MATLAB 实现 [3]刘学勇 编著ATLAB/Simulink通信系统建模与仿真

12

自适应编码调制技术

附录

源程序 文件1 wukuai.m

•function out = Wukuai(x,y) % 统计误块率

% 统计出错的的块的个数(块的大小是100) % x是输入信息msg ,y 是接码后的信息dsg n=length(x);

number = ceil(n/100);

wrongblock = zeros(1,number);%标记出错的块,1 代表错误,0 代表正确 for k=1:number if k == number

a = x(100*(k-1)+1 : end); b = y(100*(k-1)+1 : end); else

a = x(100*(k-1)+1 : 100*k); b = y(100*(k-1)+1 : 100*k); end err = (a ~= b); c=sum(err); if c>0

wrongblock(k) = 1; end end

out = sum(wrongblock)/number; end 文件2

clc clear all

SNR = 0: 1.5 : 22; % 信噪比 msg = randint(1,100000); % 输入信息 BER0 = zeros(1,length(SNR)); BER1 = zeros(1,length(SNR)); BER2 = zeros(1,length(SNR)); BER3 = zeros(1,length(SNR)); BER4 = zeros(1,length(SNR)); %误块率

Wrongblock0 = zeros(1,length(SNR)); Wrongblock1 = zeros(1,length(SNR)); Wrongblock2 = zeros(1,length(SNR)); Wrongblock3 = zeros(1,length(SNR)); Wrongblock4 = zeros(1,length(SNR)); %传输速率(吞吐率)

cap0 = zeros(1,length(SNR)); cap1 = zeros(1,length(SNR)); cap2 = zeros(1,length(SNR)); cap3 = zeros(1,length(SNR)); cap4 = zeros(1,length(SNR));

附录 13

%-------------------------------------------------------- %网络结构

%trelllist1 1/2 编码速率

trellis1 = poly2trellis(3,[5,7]); %trellist2 1/3 编码速率

trellis2 = poly2trellis(3,[1 6 5]);

%----------------------------------------------------------------- %未编码的误码率 2psk modbit0 = pskmod(msg,2); for k = 1 : length(SNR)

y0 = awgn(modbit0,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg0 = pskdemod(y0,2); %解调 recode0 = reshape(demmsg0',1,[]); [num0,rat0] = biterr(recode0,msg); BER0(k) = rat0; %误码计算

Wrongblock0(k) = Wukuai(msg,recode0); %计算吞吐率 以 r=1/3 2psk 为基准 %(2psk)是其2倍

cap0(k) = (1 - Wrongblock0(k)) * 2; end

%----------------------------------------------------------------------- %编码的误码率 1/2 编码速率 2psk

code1 = convenc(msg,trellis1); %编码 modbit1 = pskmod(code1,2); %调制 for k = 1 : length(SNR)

y1 = awgn(modbit1,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg1 = pskdemod(y1,2); %解调 recode1 = reshape(demmsg1',1,[]);

14

自适应编码调制技术

tblen = 5; %回潮长度

decoded1 = vitdec(recode1,trellis1,tblen,'cont','hard'); %译码

[num1 ,rat1] = biterr(double(decoded1(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER1(k) = rat1;

Wrongblock1(k) = Wukuai(double(decoded1(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准 %(r = 1/2 2psk)是其1.5倍

cap1(k) = (1 - Wrongblock1(k)) * 1.5; end

%编码的误码率 1/3 编码速率 2psk code2 = convenc(msg,trellis2); modbit2 = pskmod(code2,2); for k = 1 : length(SNR)

y2 = awgn(modbit2,SNR(k),'measured'); %在传输序列中加入AWGN 噪声 demmsg2 = pskdemod(y2,2); %解调 recode2 = reshape(demmsg2',1,[]);

tblen = 5; %回潮长度

decoded2 = vitdec(recode2,trellis2,tblen,'cont','hard'); %译码

[num2 ,rat2] = biterr(double(decoded2(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER2(k) = rat2;

Wrongblock2(k) = Wukuai(double(decoded2(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准 cap2(k) = (1 - Wrongblock2(k)) * 1; end

%编码的误码率 r = 1/2 qpsk 2

code3 = convenc(msg,trellis1); %编码

deccode1 = zeros(1,length(code3)/2); %二进制码变为4进制消息数据 demmsg1 = zeros(1,length(code3)); for i = 1 : length(code3)/2 str1 = int2str(code3(2*i-1)) ; str2 = int2str(code3(2*i)) ;

deccode1(i) = bin2dec(strcat(str1,str2)); end M = 4;

graycode=[0 1 3 2]; %gray编码规则 graymsg = graycode(deccode1+1); %gray映射 for k = 1 : length(SNR)

modbit3 = pskmod(graymsg,M); %基带qpsk 调制

y3 = awgn(modbit3,SNR(k),'measured'); %在传输序列中加入AWGN 噪声

附录

yjie = pskdemod(y3,4); %解调

decmsg = graycode(yjie+1);

for i = 1 : length(decmsg)

temp = dec2bin(decmsg(i),2);

demmsg1(2*i-1) = str2num(temp(1));

demmsg1(2*i) = str2num(temp(2));

end

recode3 = reshape(demmsg1',1,[]);

tblen = 5; %回潮长度

mdecoded3 = vitdec(recode3,trellis1,tblen,'cont','hard'); %译码 15

[num3 ,rat3] = biterr(double(mdecoded3(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER3(k) = rat3;

Wrongblock3(k) = Wukuai(double(mdecoded3(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准

%(r = 1/2 qpsk)是其2倍

cap3(k) = (1 - Wrongblock3(k)) * 2;

end

%编码的误码率 r = 1/2 16qam 4

code4= convenc(msg,trellis1); %编码

demmsg4 = zeros(1,length(code4));

M=16;

x4=reshape(code4,4,length(code4)/4); %将原始的二进制比特序列每四个一组分组,并排列成4行length(code4)/4列的矩阵

xsym=bi2de(x4.','left-msb');

deccode4 = xsym'; %二进制码变为16进制消息数据

%----------------------------------------------------------------------

graycode=[0 1 3 2 6 7 5 4 12 13 15 14 10 11 9 8]; %gray编码规则

ungraycode4=[1 2 4 3 8 7 5 6 16 15 13 14 9 10 12 11] %gray反解码

graymsg = graycode(deccode4+1); %gray映射

for k = 1 : length(SNR)

modbit4 = qammod(graymsg,M); %基带16qam 调制

y4 = awgn(modbit4,SNR(k),'measured'); %在传输序列中加入AWGN 噪声

yjie4 = qamdemod(y4,M); %16qam解调

decmsg4 = ungraycode4(yjie4+1)-1;

for i = 1 : length(decmsg4)

temp = dec2bin(decmsg4(i),4);

demmsg4(4*i-3) = str2num(temp(1));

demmsg4(4*i-2) = str2num(temp(2));

demmsg4(4*i-1) = str2num(temp(3));

16

end 自适应编码调制技术 demmsg4(4*i) = str2num(temp(4));

recode4 = reshape(demmsg4',1,[]);

tblen = 5; %回潮长度

mdecoded4 = vitdec(recode4,trellis1,tblen,'cont','hard'); %译码

[num4 ,rat4] = biterr(double(mdecoded4(tblen+1 : end)),msg(1: end - tblen)); %误码计算 BER4(k) = rat4;

Wrongblock4(k) = Wukuai(double(mdecoded4(tblen+1 : end)),msg(1: end - tblen)); %计算吞吐率 以 r=1/3 2psk 为基准

%(r = 1/2 16qam)是其6倍

cap4(k) = (1 - Wrongblock4(k)) * 6;

end

%计算吞吐量 假设各种调制方式的码元传输速率是一样的,

%以R=1/3 bpsk 调制为基准

%----------------------------------------------------------------------

%画图

length(SNR)

figure(1)

%semilogy(SNR,BER0,'k-',SNR,BER1,'k-s',SNR,BER2,'g-diamond',SNR,BER3,'r--s');

semilogy(SNR,BER0,'k-',SNR,BER1,'k-s',SNR,BER2,'g-diamond',SNR,BER3,'r--s',SNR,BER4,'b--s');

xlabel('SNR/db');

ylabel('BER');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('未编码2psk',' 卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)');

title('AMC分析-误码率')

grid on

figure(2)

plot(SNR,Wrongblock0,'k-',SNR,Wrongblock1,'k-s',SNR,Wrongblock2,'g-diamond',SNR,Wrongblock3,'r--s',SNR,Wrongblock4,'b--s');

axis([0 22 0 1]);

xlabel('SNR/db');

ylabel('误块率');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)'R=1/2 16QAM'); title('AMC分析-误块率')

grid on

figure(3) 附录 17

plot(SNR,cap0,SNR,cap1,'k-s',SNR,cap2,'g-diamond',SNR,cap3,'r--s',SNR,cap4,'b--s'); axis([0 22 0 6]);

xlabel('SNR/db');

ylabel('传输速率');

legend('未编码 Bpsk','R=1/2 Bpsk','R=1/3 Bpsk','R=1/2 Qpsk','R=1/2 16QAM');

%legend('卷积编码2psk (R=1/2)',' 卷积编码2psk (R=1/3)',' 卷积编码qpsk (R=1/2)'R=1/2 16QAM'); title('AMC分析-传输速率(码元速率一样)')

grid on


相关文章

  • 通信网基础技术
  • 2.1 概述 2.1.1 通信系统研究的主要问题 1. 模拟通信系统研究的主要问题 1.) 收发两端的变换过程以及基带信号的特性 2.) 调制与解调原理 3.) 信道与噪声的特性及其对信号传输的影响 4.) 噪声存在条件下的系统性能 现代通 ...查看


  • 通信原理期末复习题
  • 一.填空题 2. 为使基带脉冲传输获得足够小的误码率,必须最大限度地减小 码间干扰 和 随机噪声干扰 的影响. 3. 对于点对点之间的通信,按信息传送的方向和时间关系,通信方式可以分为__单工通信__,__半双工通信__和__全双工通信__ ...查看


  • IMT-2000无线传输技术方案的
  • 主要技术概要 王树甲[1] 摘  要  围绕第三代移动通信(IMT-2000)无线传输技术(RTT)的目标要求,概要分析诸方案可能采用的关键技术. 关键词  3G  WCDMA  cdma2000  codec  卷积编码  RS编码  多 ...查看


  • 室内LED可见光通信技术分析
  • 摘 要:本文主要分析了LED可见光通信的基本原理及关键技术,然后就LED可见光通信的未来应用进行展望,以期促进LED可见光通信技术的发展与完善. 关键词:室内LED:可见光通信:应用展望 中图分类号:TN929 文献标识码:A LED可见光 ...查看


  • 通信原理思考题答案
  • 第一章 绪论 1.1消息与信息有何区别?信息和信号有何区别? 答:消息必须转换成为电信号,才能在通信系统中传输.人们接受消息,关心的消息中包含的有效内容就是信息.信息是消息中包含的有意义的内容,或者说是有效内容.信号是消息的载体. 1.6信 ...查看


  • 怎样解决光电鼠标灵敏度变差维修方法
  • 怎样解决光电鼠标灵敏度变差维修方法 光电鼠标灵敏度变差是计算机常见故障,具体表现为移动鼠标时,光标反应迟钝,不听指挥. 1一.发光管或光敏元件老化 光电鼠标的核心IC内部集成有一个恒流电路,将发光管的电流恒定在约50mA,高档鼠标一般采用间 ...查看


  • 洒水车的保养与维修
  • 洒水车的保养与维修 说到湖北成龙威洒水车为什么要保养,我们得先从洒水车保养和修理的区别和关系说起.一.洒水车保养与修理的关系洒水车保养和专用车修理是密切相关的.修理中有保养,保养中有修理.在车辆保养过程中可能发现某一部位或机件将要发生故障或 ...查看


  • 广播电视系统组成及特点
  • 广播电视系统组成及特点 主要讲解:广播电视系统基本组成.广播电视系统的分类.模拟广播电视系统.数字广播电视系统 一.广播电视系统基本组成 广播电视技术系统由节目制作.节目播出.节目传送.节目信号发射和节目信号监测与接收五个环节构成. 二.广 ...查看


  • 峰值平均功率比
  • 峰值平均功率比(PAPR -Peak to Average Power Ratio ),简称峰均比(PAPR).MIMO-OFDM 系统能够提供更大的覆盖范围.更好的传输质量.更高的数据速率和频谱效率.然而,由于OFDM 符号是由多个独立经 ...查看


热门内容