matlab framenum,小白求帮

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

clear all

close all

snr_in_dB=-4:2:8;

SNR_in_DB=-4:0.1:8;

for i=1:length(SNR_in_DB)

SNR=10^(SNR_in_DB(i)/10);

t_e_r(i)=Qfunct(sqrt(2*SNR));

end;

for i=1:length(snr_in_dB),

[class1_BER,class2_BER]=tchfsPe_AWGN(snr_in_dB(i));

end;

semilogy(snr_in_dB,class1_BER,'b-',snr_in_dB,class2_BER,'r*-');

title('高斯噪声下TCH/FS信道误码特性');

grid on;

xlabel('信噪比 Eb/No(dB)');

ylabel('误码率 Pe');

legend('class1','class2');

function[class1_BER,class2_BER]=tchfsPe_AWGN(snr_in_dB)

%snr_in_dB=2;

%噪声功率

E=1;

snr=10^(snr_in_dB/10);

sgma=sqrt((E/snr)/2);

%帧个数

frameNum=100;

s=[];

%突发间隔

N_Interval=80;

%突发长度

N_Length=5;

for i=1:frameNum

signal=randint(1,260);

%外编码

exEncode=T_FS_EX_EN(signal(1:182));

%内编码

inEncode=GSMconv_EN(exEncode);

%交织前合成

C((i-1)*456+1:i*456) = [inEncode signal(183:260)];

s=[s signal];

end

%交织

u=INTER_WEAVE_8(C);

%BPSK调制

u=2*u-1;

%经信道加高斯燥声

r=u+sgma*randn(size(u));

%BPSK解调

ru=sign(r+eps);

ru=(ru+1)/2;

%加突发噪声

Noise=BurstNoise(N_Interval,N_Length,length(ru));

ru=mod(ru+Noise,2);

%%%%%%%%%%%%%%%%%%%%%

%反交织

D=COUNTER_WEAVE_8(ru);

class1_err_num=0;

class2_err_num=0;

class1_block_err=0;

%解码

for i=1:frameNum

%分离帧

inDesig=D((i-1)*456+1:i*456);

class2bit=inDesig(379:456);

inDecode=inDesig(1:378);

%内编码解码

exDecode=GSMconv_DE(inDecode);

%外编码解码

[class1bit,flag]=T_FS_EX_DE(exDecode);

%错误统计

class1_err_num = class1_err_num

length(find(class1bit-s((i-1)*260+1:(i-1)*260+182)));

class2_err_num = class2_err_num

length(find(class2bit-s((i-1)*260+183:(i-1)*260+260)));

class1_block_err=class1_block_err+flag;

end;

class1_BER=class1_err_num/(frameNum*182);

class1_BLER=class1_Block_err/frameNum;

class2_BER=class2_err_num/(frameNum*78);

function code=GSMconv_EN(msg)

TCH_FS_constraintlength=5;%约束矩阵

TCH_FS_Generator=[23 33];

trellis=poly2trellis(TCH_FS_constraintlength, TCH_FS_Generator);%生成网格

REG_Num=log2(trellis.numStates);

[code1,fstate1]=convenc(msg,trellis);

[code2,fstate2]=convenc(zeros(REG_Num,1),trellis,fstate1);%结尾比特

code=[code1 ;code2];

Error using vertcat

Dimensions of matrices being concatenated are not consistent.

Error in GSMconv_EN (line 8)

code=[code1 ;code2];

Error in tchfsPe_AWGN (line 19)

inEncode=GSMconv_EN(exEncode);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值