信道和接收机的程序来了。赶快收藏吧!!!

%*******************             信道           ***************************

spow = sum(rot90(ich3.^2)) / num_symbol;

attenuation = sqrt(0.5 * spow * symbol_rate / bit_rate * 10^(-ebn0/10));

[ich5,qch5] = func_comb2(rcos_msg_source_carrier,qch4,attenuation);

% Add White Gaussian Noise (AWGN)

%********************          接收机         *****************************

%%%%%%%%%%%%%%%%  载波去除

for ii= 1:num_users

rcos_msg_ich5(ii,:) = ich5(ii,:) .*cos(2*pi*fre_carrier.*time/fre_sample);

%%%%%%%%%%%%%%%%  信号解扩

ich6 = conv2(rcos_msg_ich5,xh2);          % filter

sampl = irfn * IPOINT + 1;

ich7  = ich6(:,sampl:IPOINT:IPOINT*num_symbol*clen+sampl-1);

% despreading

[hn,vn] = size(ich7);

[hc,vc] = size(code);

vn      = fix(vn/vc);

iout    = zeros(hc,vn);

for ii=1:hc

iout(ii,:) = rot90(flipud(rot90(reshape(ich7(ii,:),vc,vn)))*rot90(code(ii,:),3))>=0;

%************************        BER          ***************************

noe2 = sum(sum(abs((ich+1)/2-iout)));

nod2 = num_users * num_symbol ;

noe  = noe + noe2;

nod  = nod + nod2;

%     fprintf('%d\t%e\n',ii,noe2/nod2);

%**********************      误码率文件     *************************

ber = noe / nod;

fprintf('%s\t%s\t\t%s\t\t%s\n','ebn0','noe','nod','ber');

fprintf('%d\t%d\t%d\t%e\n',ebn0,noe,nod,ber);

fid = fopen('DSCDMA_BER.dat','a');

fprintf(fid,'%d\t%e\t%f\t%f\t\n',ebn0,noe/nod,noe,nod);

fclose(fid);

end  % ebn0

x_EbNo =[0:9];

semilogy(x_EbNo,y_ds_bpsk_ber,'-*');

title('误比特率的综合比较')

xlabel('Eb/No(单位:dB)')

ylabel('误比特率')

%%%%%%%%%%%%%%%%%%%%%           仿真结果          %%%%%%%%%%%%%%%%%%%%%%%%%

% 单用户下的误码性能

% ebn0 noe nod ber

% 多用户下的误码性能  3  M序列

% ebn0 noe nod ber

%%%%%%%%%%%%%%%%%%%%%%%      结论      %%%%%%%%%%%%%%%%%%%%%%%%%%%%

% DS_CDMA系统中频信号理论仿真结果正确。

% 由于M序列增加到9阶,多用户下仿真结果正确。

% 误码率性能一般,说明序列的互相关性较差。

% 单用户下误码性能正确!

% 2018-12-13

为什么会不断升级呢?

下堂课接着聊!!!

未完,待续!

修订记录

介绍使用matlab仿真工具和其各种类型的算法,讲解高校涉及matlab的相关课程,免费提供通信类、导航类的产品级物理层算法、数据统计分析算法、图像处理算法、AI算法。义务为各高校的MATLAB学习社团和生物医学领域的科研人员做技术支持。

值得您关注!

希望同学们转发并且宣传,本人只会实实在在的教书育人。

算法工匠

讲解高校电子及通信相关专业的课程,交流人文历史及教育心得,介绍和推广信号处理算法、通信算法和大数据算法。帮助学生了解信号处理和通信涉及的仿真知识并介绍算法在实际工作中的运用。提供matlab仿真程序供交流使用。大数据算法侧重生物医学领域,义务帮助医务人员进行数据统计分析。

如果你觉得我是努力教学的老师,愿意看我的文章,愿意和我分享您的经验和建议,请扫描公众号的二维码,关注我。

介绍和推广matlab仿真的文章及源代码,介绍和共享相关资料。为各高校和研究机构的MATLAB学习爱好者提供技术支持,义务为生物医学领域的科研人员做数据分析。