数字通信系统matlab仿真(2)

2019-09-01 08:47

%row 和 col为交积器的行和列,通过改变col就可以改变交积器的长度 retbits=zeros(1,length(bitstream)); bitarr=vec2mat(bitstream,col); for i=1:length(bitstream)/(row*col) temp=bitarr((i-1)*row+1:i*row,:);

retbits(1,(i-1)*row*col+1:i*row*col)=reshape(temp,1,[]); end

信道衰落子程序:

function code=addfade(modcode,Tf,isperiod,isfade) %功能:向传输序列modcode叠加衰落性信道的衰落参数k(t) %code为加入衰减参数之后返回的序列。 % modcode为调制之后的序列

% Tf 为衰落时间,以ms为单位,小于10ms, % Tf=1,表示衰落1ms

% isperiod 周期衰落和一次性衰落的标志, % isperiod=1表示周期性衰落,0表示一次性衰落

% isfade表示是否存在衰落,1存在,0不存在衰落直接返回modcode if(isfade==1)

if(isperiod==1) %周期性衰落 for k=1:length(modcode)/(100*Tf) a=(k-1)*100*Tf+31; b=(k-1)*100*Tf+30+10*Tf;

modcode(1,a:b)=0.1*modcode(1,a:b); end

else %一次衰落 a=31; b=30+10*Tf;

modcode(1,a:b)=0.1*modcode(1,a:b); end

code=modcode; else

code=modcode; end

1、 file1:信道编码对通信系统性能的影响,有无信道编码的影响

执行时间:Elapsed time is 355.023518 seconds.

tic clc

%功能:有无信道编码性能比较 M=2; %进制

b=log2(M) ; %每符号比特数 n=128*10000 ; %符号数

G=[1 1 1 1 0 0 0;1 0 1 0 1 0 0;0 1 1 0 0 1 0;1 1 0 0 0 0 1] ; %生成矩阵 H=[1 0 0 1 1 0 1;0 1 0 1 0 1 1;0 0 1 1 1 1 0] ; %监督矩阵 Etab= [0 0 0 0 0 0 0;0 0 0 0 0 0 1; %错误图样 0 0 0 0 0 1 0;0 0 0 0 1 0 0; 0 0 0 1 0 0 0;0 0 1 0 0 0 0; 0 1 0 0 0 0 0;1 0 0 0 0 0 0];

Smatrix=Etab*H'; %对应的伴随式 sym=randint(n,1,M);

sym=de2bi(sym,'left-msb'); %模拟信源编码 bitcoded=channelcoding(sym,G,4); %信道编码,(7,4)码 modbit=pskmod(bitcoded,M); %在传输序列modbit加入AWGN噪声 snr=0:0.2:15; %噪声为0到15d L=length(snr) ser=zeros(1,L); ser2=zeros(1,L); for k=1:L

y=awgn(modbit,10*log10(b)+snr(k),'measured'); zsym=pskdemod(y,M); %复数解调 zbit=de2bi(zsym,'left-msb'); recode=reshape(zbit',1,[]); Rstream=recode;

err=(Rstream~=bitcoded); errnum=sum(err);

ser(k)=log10(errnum/length(bitcoded)); %纠错

bitdecoded=channeldecoding(Rstream,Etab,Smatrix,H,7,4); err=(bitdecoded~=bitcoded);

errbits=sum(err);

ser2(k)=log10(errbits/(length(bitcoded))); end

plot(snr,ser,'b-*') hold on

plot(snr,ser2,'r-o') grid on

legend('没有信道编码','信道编码'); xlabel('Eb/No(dB)'); ylabel('SER');

title('2PSK有无信道编码性能比较'); toc %

Elapsed time is 278.288819 seconds.程序运行时间

结论:由上图在较高信噪比的时候编码增益很明显大大提高了误码性能,但是在低信噪被的时候编码增益较小甚至可能是负值,则是因为编码后信息比特能量扩散到多个编码比特上,每个编码比特能量有所降低,如果信噪比低的话,编码冗余带来的性能增益可能弥补不了编码比特的能量的降低,因此信道中信噪比的波动会显著降低编码性能

2、 file2:在周期性深衰落的信道条件下,交织对通信系统性能的影响

tic clc

%功能:有无信道编码性能比较 M=2; %进制

b=log2(M) ; %每符号比特数 n=128*10000 ; %符号数

interrow=8;intercol=10;%交积矩阵的行和列

G=[1 1 1 1 0 0 0;1 0 1 0 1 0 0;0 1 1 0 0 1 0;1 1 0 0 0 0 1] ; %生成矩阵 H=[1 0 0 1 1 0 1;0 1 0 1 0 1 1;0 0 1 1 1 1 0] ; %监督矩阵 Etab= [0 0 0 0 0 0 0;0 0 0 0 0 0 1; %错误图样 0 0 0 0 0 1 0;0 0 0 0 1 0 0; 0 0 0 1 0 0 0;0 0 1 0 0 0 0; 0 1 0 0 0 0 0;1 0 0 0 0 0 0];

Smatrix=Etab*H'; %对应的伴随式 sym=randint(n,1,M);

sym=de2bi(sym,'left-msb'); %模拟信源编码 bitcoded=channelcoding(sym,G,4); %信道编码,(7,4)码 interv=interweaving(bitcoded,interrow,intercol); %交积向量 modbit=pskmod(bitcoded,M); modbit2=pskmod(interv,M);

%向传输序列modcode叠加衰落性信道的衰落参数k(t) modbitfade=addfade(modbit,1,1,1);

modbitfade2=addfade(modbit2,1,1,1);%1ms周期性衰落 modbitfade3=addfade(modbit2,2,1,1);%衰落时长2ms %在传输序列modbit加入AWGN噪声 snr=0:0.2:25; %噪声为0到25d L=length(snr) ser=zeros(1,L); ser2=zeros(1,L); for k=1:L

y=awgn(modbitfade,10*log10(b)+snr(k),'measured'); y2=awgn(modbitfade2,10*log10(b)+snr(k),'measured'); y3=awgn(modbitfade3,10*log10(b)+snr(k),'measured'); zsym=pskdemod(y,M); %复数解调 zsym2=pskdemod(y2,M); zsym3=pskdemod(y3,M);

zbit=de2bi(zsym,'left-msb'); zbit2=de2bi(zsym2,'left-msb'); zbit3=de2bi(zsym3,'left-msb'); recode=reshape(zbit',1,[]); recode2=reshape(zbit2',1,[]); recode3=reshape(zbit3',1,[]);

deinterv=deinterweaving(recode2,interrow,intercol);%解交积向量 deinterv3=deinterweaving(recode3,interrow,intercol); Rstream=recode; Rstream2=deinterv; Rstream3=deinterv3; %纠错

bitdecoded=channeldecoding(Rstream,Etab,Smatrix,H,7,4); bitdecoded2=channeldecoding(Rstream2,Etab,Smatrix,H,7,4); bitdecoded3=channeldecoding(Rstream3,Etab,Smatrix,H,7,4); err=(bitdecoded~=bitcoded); errbits=sum(err);

ser(k)=log10(errbits/(length(bitcoded))); err2=(bitdecoded2~=bitcoded); errbits2=sum(err2);

ser2(k)=log10(errbits2/(length(bitcoded))); err3=(bitdecoded3~=bitcoded); errbits3=sum(err3);

ser3(k)=log10(errbits3/(length(bitcoded))); end

plot(snr,ser,'b-*') hold on

plot(snr,ser2,'r-o') hold on

plot(snr,ser3,'k-+') grid on

legend('有信道编码没有交织1ms衰落','有信道编码有交织1ms衰落','有信道编码有交织2ms衰落'); xlabel('Eb/No(dB)'); ylabel('SER');

title('2PSK衰落信道有无交织性能比较');

toc %Elapsed time is 1504.524053 seconds.%该程序运行时间


数字通信系统matlab仿真(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:论目前我国道德社会化存在的问题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: