通信人家园

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索

军衔等级:

  中士

注册:2020-2-1059
跳转到指定楼层
1#
发表于 2021-10-27 21:06:24 来自手机 |只看该作者 |倒序浏览
发现一件奇怪的事情。matlab里mathworks公司写的通信的库函数,比如5g的库函数全是用基于面向对象的m代码写的。(就是c++风格的带面向对象的m代码)

但是华为中兴等所有专门的通信公司用matlab写通信算法模块都没有用带面向对象的。

难道面向对象不实用?还是通信公司玩不转,要mathworks公司自已写才可以?

举报本楼

军衔等级:

  中士

注册:2020-2-1059
2#
发表于 2021-10-27 21:10:25 来自手机 |只看该作者
用面向对象写我们的通信算法模块,应该比非面向对象有优势吧?面向对象的m代码比非面向对象的m代码更适合写5G NR链路?C++比C更适合写5G NR链路?

为什么现在matlab的通信库函数比如5G NR都用面向对象来写的?为什么华为中兴的链路都不用面向对象的m或者C++呢?不是说面向对象极利于链路维护么?

点评

枫叶荻花秋瑟瑟  您怎么看到了H28、Z26的代码? 感觉无线资源控制、用户接入管理这块,用OOP编程应该有优势,因为只要构造一个 终端类、无线资源类,那么,每个接入的用户、每个分配出去的资源,都用其class 实例化一个对象,交给OS或  详情 回复 发表于 2021-10-27 22:49

举报本楼

军衔等级:

  中将

注册:2019-10-141284
3#
发表于 2021-10-27 22:49:17 |只看该作者
phoenixlee 发表于 2021-10-27 21:10
用面向对象写我们的通信算法模块,应该比非面向对象有优势吧?面向对象的m代码比非面向对象的m代码更适合写 ...

您怎么看到了H28、Z26的代码? 感觉无线资源控制、用户接入管理这块,用OOP编程应该有优势,因为只要构造一个 终端类、无线资源类,那么,每个接入的用户、每个分配出去的资源,都用其class 实例化一个对象,交给OS或运行环境来管理即可,不必开发者在应用程序中 进行调度

举报本楼

军衔等级:

  中士

注册:2020-2-1059
4#
发表于 2021-10-27 23:18:32 来自手机 |只看该作者
枫叶荻花秋瑟瑟 发表于 2021-10-27 22:49
您怎么看到了H28、Z26的代码? 感觉无线资源控制、用户接入管理这块,用OOP编程应该有优势,因为只要构造 ...

我是说物理层接收算法,RRM和协议栈这块我不了解。

上这个论坛的都是同行,自然看到代码的吧。像信道估计均衡干扰消除和译码器这些,用类实现应该有很方便的地方的。为啥这些公司都不用面向对象的m或者c++来写呢?

举报本楼

军衔等级:

  中士

注册:2020-2-1059
5#
发表于 2021-10-28 08:22:57 来自手机 |只看该作者
枫叶荻花秋瑟瑟 发表于 2021-10-27 22:49
您怎么看到了H28、Z26的代码? 感觉无线资源控制、用户接入管理这块,用OOP编程应该有优势,因为只要构造 ...

你确定上层RRM资源调度这块大量采用实例化对象的方式进行OOP编程么?那物理层呢?用OOP如何?

举报本楼

军衔等级:

  中将

注册:2019-10-141284
6#
发表于 2021-10-28 08:36:11 |只看该作者
phoenixlee 发表于 2021-10-28 08:22
你确定上层RRM资源调度这块大量采用实例化对象的方式进行OOP编程么?那物理层呢?用OOP如何?

窃以为,物理层更是适合OOP,比如,MIMO的每个传播路径,都是类似的 对象,完全可以从同一个类派生,然后,运行阶段,由OS和运行环境自动管理,避免在应用程序中 人工管理。。C++就是AT&T 在开发交换机控制软件的过程中提出的吧

举报本楼

军衔等级:

  中士

注册:2020-2-1059
7#
发表于 2021-10-28 09:04:35 来自手机 |只看该作者
枫叶荻花秋瑟瑟 发表于 2021-10-28 08:36
窃以为,物理层更是适合OOP,比如,MIMO的每个传播路径,都是类似的 对象,完全可以从同一个类派生,然后 ...

那你看到过MIMO检测球形译码是用OOP写的么?

MIMO的CDL信道matlab库函数还真是OOP写的。

举报本楼

军衔等级:

  中校

注册:2017-2-4454
8#
发表于 2021-10-28 09:51:03 |只看该作者
面向对象用在软件工程上的啊,并不是说这种编程就高大上,都有使用场景的,面向对象代码还更难维护

举报本楼

军衔等级:

  中士

注册:2020-2-1059
9#
发表于 2021-10-28 11:23:06 来自手机 |只看该作者
founderate 发表于 2021-10-28 09:51
面向对象用在软件工程上的啊,并不是说这种编程就高大上,都有使用场景的,面向对象代码还更难维护

你认为基站和手机的基带算法链路是不适合用面向对象的软件工程吗?

举报本楼

军衔等级:

  下士

注册:2020-7-1243
10#
发表于 2021-10-28 12:09:17 来自手机 |只看该作者
建议楼主在网上搜一篇文章:为什么大公司的技术弱爆了。看完应该就明白了

举报本楼

军衔等级:

  中校

注册:2008-7-22557
11#
发表于 2021-10-28 12:32:34 |只看该作者
预研部门的simulink用c实现;比对实现产品与算法数据用m脚本文件。
算法重点在于对公式的理解,各个模块代码量不大,无需考虑扩容。

举报本楼

军衔等级:

  中士

注册:2020-2-1059
12#
发表于 2021-10-28 13:08:50 来自手机 |只看该作者
master123 发表于 2021-10-28 12:32
预研部门的simulink用c实现;比对实现产品与算法数据用m脚本文件。
算法重点在于对公式的理解,各个模块代 ...

那为什么mathworks自己写5g nr之类的matlab库函数基本上都用面向对象的m代码呢?里面到处是class. Methods之类的,看的很不习惯

mathworks自己也是大公司吧?



举报本楼

军衔等级:

  中校

注册:2008-7-22557
13#
发表于 2021-10-28 17:30:20 |只看该作者
phoenixlee 发表于 2021-10-28 13:08
那为什么mathworks自己写5g nr之类的matlab库函数基本上都用面向对象的m代码呢?里面到处是class. Method ...

面向对象对他们升级自己的系统软件应该方便些。
离开通讯行业多年,没做过5GNR。matlab新版本支持面向对象的功能从你这里才知道。

举报本楼

军衔等级:

  一级军士长

注册:2012-12-2948
14#
发表于 2021-10-29 07:58:24 |只看该作者
有一个原因,通信专业或者电子信息专业的学生,在有的院校就没有学过C++,只学了matlab、C和汇编,所以一般还是面向对象的编程习惯。

举报本楼

军衔等级:

  中士

注册:2020-2-1059
15#
发表于 2021-10-29 09:00:22 来自手机 |只看该作者
jethrowang13 发表于 2021-10-29 07:58
有一个原因,通信专业或者电子信息专业的学生,在有的院校就没有学过C++,只学了matlab、C和汇编,所以一般 ...

当年大三上了C++必修课,当年上课就没学好,电子信息工程专业,大一下期上的C语言必修课,汇编语言没学过,是在大二《软件技术基础》这门课里的,里面有数据结构、编译原理、操作系统什么的,汇编语言在最后几章,当时老师上了前面若干章包括数据结构和编译原理我记得是讲了的,没上到汇编语言课程就结束了(不像计算机专业,数据结构和编译原理还有操作系统分别是一门课),后来单片机课程讲了一学期汇编(我还记得是microchip单片机的汇编,不是计算机系讲的8086的汇编)

至于matlab,反而没开这门课,除非参加数学建模,会培训两个软件matlab和maple,有上机实验(参加数模竞赛暑期培训才有),mathematic让自学。

所以各大学的电子通信专业情形不一样。我们当年必修课有C有C++,反而没有Matlab,也没有汇编(8086)。

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

Archiver|手机版|C114 ( 沪ICP备12002291号-1 )|联系我们 |网站地图  

GMT+8, 2024-4-25 13:09 , Processed in 0.121722 second(s), 16 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部