0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机通信与网络v2 实验课程(16)

通信工程师专辑 来源:未知 2022-11-30 00:40 次阅读

继续讲解!本人非常重视实践教学,在本科阶段就要把同学们的知识夯实。那么各种仿真就是最好的夯实工具。继续讲解扩频通信的知识。很多同学总结写的挺好,就是缺少实践。比如15级王美女的总结。

波形的仿真开发步骤:
要先完成该基带波形的性能仿真,然后通过比较来决定是否采用。
其次,在基带性能仿真程序的基础上结合专项仿真的结果进行相关模块的补充。
然后,在进行波形在实际系统实现过程中的细节仿真。要考虑实现过程中受到系统环境的影响。
最后,再不断的优化程序的不足。算法很重要,要通过阅读扩充知识,通过文档总结知识,才能不断提高自己。
总结的很到位,但自己实践了吗?关键是要实践!说到这,我就必须再讲讲BPSK程序了。这个程序掌握不了是肯定写不好扩频程序的。先看看BPSK的源代码吧!

%%% BPSK调制解调器误码性能仿真程序 %%

%%% BPSK_modem_sim2.m %%%%

%% date: 2016-12-26 author: 算法工匠 %%


%%%%% 程序说明

% 完成BPSK调制解调器的仿真,比较不同信噪比下的误码性能。

% 通信体制具体内容如下:

% 调制方式:BPSK 编码方式:无

% 滚降因子:0.5

% 解调方式:相干解调 译码方式:无

% 噪声:加性高斯白噪声

% 中频信号仿真


%%% 仿真环境

% 软件版本:matlab 2015b


%%% sim系列说明之处

% sim2:增加了不同信噪比下的误码性能仿真,

% 注释掉图形语句,节约仿真时间;


clear all;

close all;

format long;

%%******** 程序主体 *****%%


%%%%%% 系统参数 %%%%%%

bit_rate = 1000;

symbol_rate = 1000;

fre_sample = 16000;

symbol_sample_rate = 16;

% 一个符号内的采样倍数

fre_carrier = 4000;

% 生成低通滤波器

LPF_fir128 = fir1(128,0.2);

% 生成匹配滤波器

rolloff_factor = 0.5; % 滚降因子

rcos_fir = rcosdesign(rolloff_factor, 6, symbol_sample_rate);

% 生成匹配滤波器 a square-root raised cosine FIR filter with rolloff factor


%%%% 信源 %%%%%%%

%%% 随机信号

% msg_source = randint(1,1000);

msg_source = [ones(1,20) zeros(1,20) randint(1,19960)];

% 给出标志性的帧头,方便调试。

% 通常帧头会采用扩频序列,为了方便调试,可以采用全1和全0。

% 2022年,randint函数已经不用了,需要更换为randi函数了,如何更换呢?


%%%%%%%% 发射机 %%%%%%%

%%%%% 编码器

% bchcode % BCH编码


%%%%% 调制器

%%% 双极性变换

bipolar_msg_source = 2*msg_source - 1;


%%% 滤波器

% rcosflt 滚降成型滤波

rcos_msg_source = rcosflt(bipolar_msg_source,1000,16000);

% Roll-off factor 为 0.5。


% 频域观察

fft_rcos_msg_source = abs(fft(rcos_msg_source));


figure(1)

plot(rcos_msg_source,'-*')

title('时域波形')

figure(2)

plot(fft_rcos_msg_source)

title('频域波形')


aaa = 1; % 调试断点


%%% 载波发送

time =[1:length(rcos_msg_source)];

rcos_msg_source_carrier = rcos_msg_source'.*cos(2*pi*fre_carrier.*time/fre_sample);


% 频域观察

% fft_rcos_msg_source_carrier = abs(fft(rcos_msg_source_carrier));

% figure(3)

% plot(rcos_msg_source_carrier)

% title('时域波形')

% figure(4)

% plot(fft_rcos_msg_source_carrier)

% title('频域波形')


aaa = 1; % 调试断点


%%%%%% 信道 %%%%%%

% 设置信噪比

snr = -41 ;


for i = 1:length(snr)

%%% 高斯白噪声信道

rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr(i),'measured');

% rcos_msg_source_carrier_noise = awgn(rcos_msg_source_carrier,snr);


%%% 瑞利信道


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


%%%%%% 解调器

%%% 载波恢复

% 生成本地载波

rcos_msg_source_noise = rcos_msg_source_carrier_noise.*cos(2*pi*fre_carrier.*time/fre_sample);


% 滤波高频,保留基带信号

rcos_msg_source_LP = filter( LPF_fir128, 1, rcos_msg_source_noise );

% 延时64个采样点输出。


%%% 仿真误码率需要多次循环,此时需要注释掉图形语句!

% figure(5)

% plot(rcos_msg_source_LP)

% title('时域波形')

% figure(6)

% plot(abs(fft(rcos_msg_source_LP)))

% title('频域波形')


% 滤波 filter

rcos_msg_source_MF = filter( rcos_fir, 1, rcos_msg_source_LP );


%%% 仿真误码率需要多次循环,此时需要注释掉图形语句!

% figure(7)

% plot(rcos_msg_source_MF,'-*')

% title('时域波形')

% figure(8)

% plot(abs(fft(rcos_msg_source_MF)))

% title('频域波形')


%%% 最佳采样点

% 选取最佳采样点,一个符号取一个点进行判决

decision_site = 160; % (96+128+96)/2 = 160 三个滤波器延迟值

rcos_msg_source_MF_option = rcos_msg_source_MF(decision_site: symbol_sample_rate : end);

% 涉及三个滤波器,固含有三个滤波器延迟累加。


%%% 判决

msg_source_MF_option_sign = sign(rcos_msg_source_MF_option);


%%% 仿真误码率需要多次循环,此时需要注释掉图形语句!

% figure(9)

% plot(rcos_msg_source_MF_option,'-*')

% title('时域波形')


%%%%%% 解码器

% bchdecode % BCH译码


%%%%%%% 信宿 %%%%%

%%% 误码性能比对

% [err_number,bit_err_ratio] = biterr(x,y)

[err_number,bit_err_ratio] = biterr(msg_source(1:length(rcos_msg_source_MF_option)), (msg_source_MF_option_sign + 1)/2)


end

%%% 仿真结果 %%%

% snr ber

% -4 0.0114

% -3.5 0.0071

% -3 0.0046

% -2.5 0.0040

% -2.0 0.0019

% -1.5 0.0012

% -1.0 8.50e-04

% -0.5 6.00e-04

% 0 2.00e-04

% 0.5 1.00e-04

% 1 5.00e-04

% 注意:snr和信号的比特信噪比EbNo存在等效关系!

% EbNo = SNR + 10*lg(0.5*16)-10*lg(2)

% 比如 EbNo = 6dB

% berawgn(6,'psk',2,'nondiff') = 0.0024

% berawgn(5,'psk',2,'nondiff') = 0.0059

% 该误码率和snr为-3.8dB时的误码结果基本一致。

% 5 = -3.8 + 10*log10(0.5*16)

% 仿真表明该关系正确!

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

% 完成了BPSK调制解调器在不同误码率下的仿真。

% 仿真结果正确。

% 使用awgn函数需要了解函数中参数snr和比特信噪比之间的换算关系。

% 没有包含编译码内容。

% 2017-1-5

这种代码可是真正的干货!请认真消化!那滚降成型滤波器到底如何使用呢?什么是EbNo呢?这些问题可以先找度娘哦!

2022年,本专题系列的阅读量已经破万!

加油!我会一直努力!

由浅入深!

建议学通信相关专业的人士赶紧去看!


未完,待续!

20181105记录:

前段时间女儿写了一篇作文《歪脖子的爸爸》。这三个月我被强迫症折磨的要死要活的。从最开始的抖动到头往一边偏,真的很痛苦。膏药持续的贴以缓解肌肉酸痛,直到皮肤都破了。就这样,我还坚持拯救红包单车。但看到那些单车管理员都那么粗暴的对待单车,这个社会要能承受共享事物还需太长的素质之路要走。最近还建群抢红包推广文章,居然被一个以前的前台服务员说了一句:谁让你拉我进群的啊。我当时说了对不起,但是我拉你你可以拒绝啊,再说你是拿了所有的运气红包才说这句话的。这位曹姓女士的素质可见一斑,之前是由于她帮我定富建酒店的客房才加她为好友的(就是为了方便订客房),没想到她居然是这样的人。哎,早点分辨出来能避免更多的麻烦!社会上什么人都有,想做营销的同学们做好心里准备了吗?

修订记录

20181106 完成初稿;

20221129 修订内容v2;


原文标题:计算机通信与网络v2 实验课程(16)

文章出处:【微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 通信网络
    +关注

    关注

    21

    文章

    2028

    浏览量

    51972

原文标题:计算机通信与网络v2 实验课程(16)

文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    量子计算机与普通计算机工作原理的区别

      本文介绍了量子计算机与普通计算机工作原理的区别。 量子计算是一个新兴的研究领域,科学家们利用量子力学,制造出具有革命性能力的计算机。虽然现在的量子
    的头像 发表于 11-24 11:00 131次阅读
    量子<b class='flag-5'>计算机</b>与普通<b class='flag-5'>计算机</b>工作原理的区别

    计算机局域网技术是什么

    无线电磁波)互相连接起来,组成资源和信息共享的计算机互联网络技术。局域网技术涵盖了多个方面,包括网络拓扑结构、传输介质、媒体访问控制方法、网络协议、
    的头像 发表于 10-08 10:23 235次阅读

    简述计算机总线的分类

    计算机总线作为计算机系统中连接各个功能部件的公共通信干线,其结构和分类对于理解计算机硬件系统的工作原理至关重要。以下是对计算机总线结构和分类
    的头像 发表于 08-26 16:23 1022次阅读

    计算机网络中的三种通信方式

    计算机网络中的三种通信方式,即单工通信、半双工通信和全双工通信,是理解和设计高效网络架构的基础。
    的头像 发表于 08-07 15:00 2165次阅读

    工业计算机与普通计算机的区别

    在信息化和自动化日益发展的今天,计算机已经成为了我们日常生活和工作中不可或缺的工具。然而,在计算机领域中,工业计算机和普通计算机虽然都具备基本的计算
    的头像 发表于 06-06 16:45 1231次阅读

    硬件平台介绍及使用(SC171开发套件V2

    硬件平台介绍及使用(SC171开发套件V2课程类别 课程名称 视频课程时长 视频课程链接 课件链接 硬件 SC171开发套件
    发表于 04-09 15:34

    【量子计算机重构未来 | 阅读体验】 跟我一起漫步量子计算

    技术的发展,我们的通信和数据安全将得到更强大的保障。然而,需要指出的是,量子计算技术的发展仍面临诸多挑战。例如,量子计算机的构建和维护成本极高,目前仍停留在实验室阶段;同时,量子
    发表于 03-13 19:28

    【量子计算机重构未来 | 阅读体验】+ 了解量子叠加原理

    如何生产制造。。。。。。 近来通过阅读《量子计算机—重构未来》一书,结合网络资料,了解了一点点量子叠加知识,分享给大家。 先提一下电子计算机,电子计算机使用二进制表示信息数据,二进制的
    发表于 03-13 17:19

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    大语言模型训练会是一个怎样的情景。。。。。。 希望量子计算机尽快走出实验室,能够早日进入寻常百姓家,更希望我国的量子计算机取得突破,蓬勃发展,也能遥遥领先! 今天先研读至此,后续所读所感将继续分享。 附
    发表于 03-05 17:37

    《RVfpga:理解计算机体系结构》3.0 版本更新上线

    计算机体系结构课程,该课程针对本科教学设计,包含一整套丰富的教学资料和实践练习,可帮助学生了解处理器架构中的关键要素,包括多个IP内核,修改RISC-V内核的方法,
    的头像 发表于 01-18 08:27 731次阅读
    《RVfpga:理解<b class='flag-5'>计算机</b>体系结构》3.0 版本更新上线

    东莞计算机网络工程包括哪些?

    计算机网络工程是指设计、建立和管理计算机与设备之间的连接和通信系统的过程。网络工程包括哪些内容呢?广东东莞网络工程公司表示它涵盖了
    的头像 发表于 12-27 17:47 663次阅读

    什么是后量子密码学?量子计算机vs经典计算机

    后量子密码学(Post-Quantum Cryptography,PQC)是在经典计算机上定义和执行算法,研究量子计算机和经典计算机都无法破解的新密码系统。后量子密码学的提出是为了抵抗量子计算
    的头像 发表于 12-19 11:42 1634次阅读

    计算机网络中的通信子网主要有哪些功能?

    计算机网络中的通信子网主要负责数据的传输、处理、转换和交换,以及提供相关的网络控制协议、通信控制软件和通信设备等功能,同时还对
    的头像 发表于 12-15 17:27 1487次阅读

    通信子网在计算机网络中的地位和作用

    通信子网在计算机网络中扮演着至关重要的角色。它是实现网络内和网络间数据通信的关键基础设施,为上层应用提供了通用的
    的头像 发表于 12-15 17:15 744次阅读

    单板计算机是什么?它与其他计算机有何不同?

    、存储器、通信接口等。它们通常以一个小而紧凑的电路板形式出现,并提供了完整的计算和控制功能。 与传统的台式机和笔记本电脑相比,单板计算机的尺寸更小、功耗更低、价格更便宜。它可以方便地集成到各种嵌入式系统中,如机器人、无人机、传感
    的头像 发表于 12-15 09:58 1405次阅读