首页/文章/ 详情

找到通信系统仿真好资料!让跨时空的作者带你飞!

2年前浏览2400

2022年8月,回看自己的讲课视频和文章合集,感慨万千!在网上认识了多位志同道合的朋友,一起在物理层的路上前进着,互相搀扶!看看身后奔跑的小伙伴们,自然有很多话想说!很多人在这条路上走的很困惑。比如理论仿真能干什么?我的回答是:能让我们更加深刻的理解通信的概念,但理论仿真一定要慢慢的走向实用,这样就可以最终要走向产品。通信理论的发展必然要产生出对应的产品,因为它是工科!很多课程的讲解缺少这方面的内容!从理论到实践的过程很长,如果没有有经验的人带着你走,这条路走的会很慢很慢。哪怕是理解最简单的调制解调过程!

我曾经就这么慢慢的摸索着,摸索了几十年,有了一定的经验后,有缘回到校园。现在回到课堂讲课,想把这个经验传授出去,无奈我面对的人群大多对未来充满迷茫,不愿意用知识去开拓世界。所以我选择互联网讲课,我会讲理论,而且会讲的很透很透。不断打磨,于是就有了调制解调器的系列文章和视频课程。

理论与实际的结合是学习知识的重要过程!!!在工科的讲堂上,很多老师愿意讲理论,但很多老师在讲的时候没有将理论伸展出去,更没有告知同学们这些理论在后来的实践中会起到什么作用?那么,大学课堂是不是应该从理论慢慢的引申到世界?从我个人的角度出发,以及基于我在公司工作多年的经验,答案是肯定的!我可以肯定的告诉大家这个过程太重要也太需要了。缺少这个过程的学习,很多同学走上工作岗位后会非常茫然!

算法工匠带领你走这个过程!以程序为例。纯理论的仿真程序是什么样子?

bpskModulator = comm.BPSKModulator;

bpskDemodulator = comm.BPSKDemodulator;

errorRate = comm.ErrorRate;

EsNo = 5;

for counter = 1:100

    txData = randi([0 1],500,1);            % Generate data

    modSig = bpskModulator(txData);        % Modulate

    rxSig = awgn(modSig,EsNo);             % Pass through AWGN

    rxData = bpskDemodulator(rxSig);       % Demodulate

    errorStats = errorRate(txData,rxData); % Collect error stats

end

fprintf('Error rate = %f\nNumber of errors = %d\n', ...

    errorStats(1), errorStats(2))

% Create binary data symbols

data = randi([0 1],1000,1);

% Create a BPSK modulator System object

bpskModulator = comm.BPSKModulator;

bpskDemodulator = comm.BPSKDemodulator;

% Change the phase offset to pi/16

bpskModulator.PhaseOffset = pi/16;

% Modulate and plot the data

modData = bpskModulator(data);

scatterplot(modData)

% add noise

Sig_awgn = awgn(modData, EsNo 1);

% Demodulate the data

demodData = bpskDemodulator(Sig_awgn);

% compare data

figure

plot(demodData-data)

err_num = sum(abs(demodData-data))

aaa = 1;

在仿真软件中,实现这个BPSK调制解调器的过程可以很简单!涉及的理论也简单!但细细看来,发现涉及的内容非常的多!星座图、高斯白噪声、采样率、信噪比、误码率、dB、蒙特卡罗方法、同步等知识都涉及了。这些理论知识涉及《通信原理》和《数字信号处理》,大家需要反复的看书,直到弄懂为止。仿真程序可以加深大家对概念的理解,但深入学习理论肯定是第一步!我的个人体会:《通信原理》和《数字信号处理》这两本书看个三遍,才开始慢慢入门!也许是我比较笨的原因,我当年学习得到感悟就是这个体会!那么在此理论基础上如何演进呢?如果慢慢的变成产品代码呢?那就开始程序的复杂过程!捕获、位同步、相干解调、均衡、编译码的世界在等着你!然后呢?还要各种产品的知识需要学习,比如上变频如何实现?什么是带通采样?如何实现抽取和内插?如何使用AGC呢?

原理 代码 案例的讲解风格必然会让大家觉得通信理论不再枯燥,不再虚无飘渺!找到好资料!让跨时空的作者带你飞!

image.png

很多案例可以参考也值得参考!在算法工匠写的文章中,很多内容都是实际产品中涉及的仿真代码。看看GPS接收机的相关文章吧,这就是一个典型案例。讲解的顺序呢?依旧是原理仿真慢慢的过渡到产品级的代码仿真!用实际的采样数据作为仿真的对象,那么写出的代码自然具有实用性。这些概念在视频课程《MATLAB通信工程师的必修课 第四章 信号捕获和同步 第三部分》中也有涉及。

image.png

image.png

这样的课程值得大家循序渐进的学习。有生之年,希望能够将经验传播出去。但随着年龄的增长,课程更新的速度确实变慢了。也希望之前的课程能够给大家带来实践的体验。我也会不断的完善,和大家一起在通信领域发挥作用。

通信系统仿真MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-08-22
最近编辑:2年前
算法工匠
博士后 | 高级工程师 诚信做事 认真讲课 传播知识
获赞 395粉丝 2576文章 320课程 40
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈