火爆的DeepSeek
今年春节假期,DeepSeek火爆全网,再次掀起全球对AI的热潮,几乎全网都在讨论和使用DeepSeek,在人们为AI技术带来的“AI自由”欢呼雀跃之际,也有人开始担忧AI是否将会取代人类的工作岗位?今天我们分别利用DeepSeek和ChatGPT写代码,对仪器编程做自动化的测试,看看DeepSeek和ChatGPT是否可以完全取代软件工程师编写代码的岗位?
DeepSeek写仪器编程代码
我们来看看DeepSeek能否帮软件工程师写源代码,实现仪器编程做自动化测试,可以让工程师偷偷懒,今天我让DeepSeek利用Python编程控制罗德的矢量信号源SMW200A,编写一个QPSK数字调制信号,并把QPSK数字调制信号的基带IQ数据发到SMW200A内存中,并设置载波频率和输出功率等。
下面是DeepSeek写代码的视频过程。
在DeepSeek对话框输入如下:
DeepSeek进行了深度思考并对需求进行分析,整个过程耗时40秒。然后回答如下:
嗯,用户想要用Python控制罗德与施瓦茨的SMW200A矢量信号源,生成QPSK数字调制信号,并将数据发送到仪器内存然后输出。首先,我需要考虑如何通过Python与SMW200A通信。通常这类仪器支持SCPI指令,所以可能需要使用PyVISA库来连接和控制设备。
首先,用户需要确保SMW200A已经正确连接,比如通过LAN或者GPIB接口。然后,安装PyVISA和适当的后端,比如NI-VISA或者PyVISA-py。可能需要先检查仪器的IP地址,确保网络连接正常。
接下来,生成QPSK调制信号的数据。QPSK每个符号代表2个比特,所以需要生成对应的符号序列。比如,用户可能需要生成随机的二进制数据,然后将其转换为符号,比如0,1,2,3,对应不同的相位。不过,实际生成基带I/Q数据可能需要将符号映射到复数,比如QPSK的四个相位点对应的复数,例如(1 1j), (-1 1j)等,但可能需要归一化处理。或者,可能需要生成符号的I和Q分量,比如对于QPSK,每个符号的I和Q都是±1的值,然后组合成复数波形。
然后,将生成的I和Q数据转换为仪器可以接受的格式。SMW200A可能需要将数据以二进制块的形式传输,比如使用SCPI命令“SOURce1ARBitraryDATA ”。这时候需要注意数据的格式,比如是32位浮点数还是其他类型。可能需要将数据转换为字节流,并添加相应的头信息,比如长度信息。
然后,需要配置信号源的调制参数。比如设置调制方式为QPSK,符号率,滤波器的类型(如升余弦滚降滤波器),设置载波频率、功率等参数。可能需要使用一系列SCPI命令来配置这些参数,比如“SOURce1QSK:STATe ON”之类的命令,但具体命令需要参考SMW200A的用户手册,因为不同仪器的SCPI命令可能不同。
在发送数据到仪器内存时,可能需要先清除现有的波形,再上传新的波形数据。然后选择该波形作为信号源,并激活基带信号输出。同时,可能需要设置正确的采样率,以确保符号率和采样点数的匹配。例如,符号率乘以每个符号的采样点数得到基带信号的采样率。
用户可能还需要考虑信号的滤波和脉冲成形,比如使用根升余弦滤波器。这时候可能在仪器内部配置滤波器参数,或者在生成基带数据时预先进行成形滤波。如果用户希望仪器处理成形滤波,可能需要配置相应的滤波器设置;否则,用户需要在生成I/Q数据时自己完成脉冲成形,比如通过卷积实现。
可能的错误点包括:SCPI命令的正确性,数据格式是否正确,比如字节顺序、浮点数的格式,块数据传输的格式是否正确,符号率和采样率的匹配是否正确,以及仪器的状态是否正确切换(比如先停止输出,再上传数据,再启动输出)。
另外,用户可能需要考虑基带信号的时长,确保内存足够存储生成的数据。如果数据量很大,可能需要分块传输,但一般SMW200A可能支持较大的波形长度。
总结步骤大概是:连接仪器,生成QPSK的I/Q数据,配置信号源参数,上传波形数据到仪器,启动输出。需要参考仪器的编程手册确认具体的SCPI命令,比如设置调制方式、滤波器参数、载波频率、功率等。同时,确保生成的数据符合仪器的要求,比如数据类型、归一化范围等。
DeepSeek用 Python 控制罗德与施瓦茨 SMW200A 矢量信号源生成 QPSK 调制信号并发送到SMW200A内存中的示例代码截屏如下:
仪器连接:使用PyVISA通过TCP/IP连接仪器,需确保IP地址正确且网络连通
QPSK数据生成:
生成随机QPSK符号
映射到I/Q平面(归一化到单位圆)
每个符号重复samples_per_symbol次以形成波形
数据格式化:
将I/Q数据交替排列
转换为32位浮点二进制格式
仪器配置:
设置载波频率和输出功率
配置符号率和采样率
上传波形数据到仪器内存
信号输出:
启用任意波形发生器
激活RF输出
需要安装依赖库:
pip install pyvisa numpy
确保:
仪器IP地址正确
VISA后端正确安装(NI-VISA或pyvisa-py)
仪器固件版本支持相关SCPI命令
可能需要根据实际需求调整:
符号率和采样率的关系(需满足Nyquist定理)
脉冲成形滤波器(代码中未包含,需通过仪器或软件实现)
信号带宽和功率参数
建议参考 SMW200A 编程手册确认具体SCPI命令格式,特别是关于:
二进制数据传输格式
任意波形生成的具体参数
数字调制的高级配置选项
如果需要更复杂的调制特征(如脉冲成形、编码等),需要在数据生成阶段或通过仪器内置功能实现。
DeepSeek仪器编程小结
DeepSeek可以完成仪器基本控制,比如:设置频率,功率等参数。如果需要做更深入的仪器编程控制,比如说要获取仪器的采集数据以及对信号做处理和对把自定义的数据自动下载到矢量源或AWG的内存中等复杂操作,目前DeepSeek可能需要一些提高,不能完全取代软件工程师的岗位。我们工程师以去积极的利用AI技术,在AI的辅助下提高工作效率,写出更高质量的代码。
个人观点
AI并非可以解决所有的技术问题,并非完全取代工程师。所以我个人认为AI技术的到来,并非是工程师的天就塌了。我们工程师应该积极的去拥抱AI技术,将其AI作为提升自身能力的一个强大工具,为我们工程师打开一扇全新的大门。
AI与人类并非简单的取代关系,而是协同共进的伙伴,我们可以在AI的辅助下,更加专注创新和探索未知的世界,勇攀科学技术的高峰。
AI的到来不是工程师的末日,而是可以使我们工程师飞翔的翅膀更加坚定有力,开创美好的未来。
关注
252文章
777浏览量
95729免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:bangqikeconnect@gmail.com