|
今年春節(jié)假期,DeepSeek火爆全網(wǎng),再次掀起全球?qū)I的熱潮,幾乎全網(wǎng)都在討論和使用DeepSeek,在人們?yōu)锳I技術(shù)帶來(lái)的“AI自由”歡呼雀躍之際,也有人開(kāi)始擔(dān)憂AI是否將會(huì)取代人類的工作崗位?今天我們分別利用DeepSeek和ChatGPT寫(xiě)代碼,對(duì)儀器編程做自動(dòng)化的測(cè)試,看看DeepSeek和ChatGPT是否可以完全取代軟件工程師編寫(xiě)代碼的崗位? 我們來(lái)看看DeepSeek能否幫軟件工程師寫(xiě)源代碼,實(shí)現(xiàn)儀器編程做自動(dòng)化測(cè)試,可以讓工程師偷偷懶,今天我讓DeepSeek利用Python編程控制羅德的矢量信號(hào)源SMW200A,編寫(xiě)一個(gè)QPSK數(shù)字調(diào)制信號(hào),并把QPSK數(shù)字調(diào)制信號(hào)的基帶IQ數(shù)據(jù)發(fā)到SMW200A內(nèi)存中,并設(shè)置載波頻率和輸出功率等。 下面是DeepSeek寫(xiě)代碼的視頻過(guò)程。 在DeepSeek對(duì)話框輸入如下:
DeepSeek進(jìn)行了深度思考并對(duì)需求進(jìn)行分析,整個(gè)過(guò)程耗時(shí)40秒。然后回答如下: 嗯,用戶想要用Python控制羅德與施瓦茨的SMW200A矢量信號(hào)源,生成QPSK數(shù)字調(diào)制信號(hào),并將數(shù)據(jù)發(fā)送到儀器內(nèi)存然后輸出。首先,我需要考慮如何通過(guò)Python與SMW200A通信。通常這類儀器支持SCPI指令,所以可能需要使用PyVISA庫(kù)來(lái)連接和控制設(shè)備。 首先,用戶需要確保SMW200A已經(jīng)正確連接,比如通過(guò)LAN或者GPIB接口。然后,安裝PyVISA和適當(dāng)?shù)暮蠖耍热鏝I-VISA或者PyVISA-py??赡苄枰葯z查儀器的IP地址,確保網(wǎng)絡(luò)連接正常。 接下來(lái),生成QPSK調(diào)制信號(hào)的數(shù)據(jù)。QPSK每個(gè)符號(hào)代表2個(gè)比特,所以需要生成對(duì)應(yīng)的符號(hào)序列。比如,用戶可能需要生成隨機(jī)的二進(jìn)制數(shù)據(jù),然后將其轉(zhuǎn)換為符號(hào),比如0,1,2,3,對(duì)應(yīng)不同的相位。不過(guò),實(shí)際生成基帶I/Q數(shù)據(jù)可能需要將符號(hào)映射到復(fù)數(shù),比如QPSK的四個(gè)相位點(diǎn)對(duì)應(yīng)的復(fù)數(shù),例如(1+1j), (-1+1j)等,但可能需要?dú)w一化處理?;蛘?,可能需要生成符號(hào)的I和Q分量,比如對(duì)于QPSK,每個(gè)符號(hào)的I和Q都是±1的值,然后組合成復(fù)數(shù)波形。 然后,將生成的I和Q數(shù)據(jù)轉(zhuǎn)換為儀器可以接受的格式。SMW200A可能需要將數(shù)據(jù)以二進(jìn)制塊的形式傳輸,比如使用SCPI命令“SOURce1:BB:ARBitrary:WAVeform:DATA <block_data>”。這時(shí)候需要注意數(shù)據(jù)的格式,比如是32位浮點(diǎn)數(shù)還是其他類型。可能需要將數(shù)據(jù)轉(zhuǎn)換為字節(jié)流,并添加相應(yīng)的頭信息,比如長(zhǎng)度信息。 然后,需要配置信號(hào)源的調(diào)制參數(shù)。比如設(shè)置調(diào)制方式為QPSK,符號(hào)率,濾波器的類型(如升余弦滾降濾波器),設(shè)置載波頻率、功率等參數(shù)??赡苄枰褂靡幌盗蠸CPI命令來(lái)配置這些參數(shù),比如“SOURce1:BB:QSK:STATe ON”之類的命令,但具體命令需要參考SMW200A的用戶手冊(cè),因?yàn)椴煌瑑x器的SCPI命令可能不同。 在發(fā)送數(shù)據(jù)到儀器內(nèi)存時(shí),可能需要先清除現(xiàn)有的波形,再上傳新的波形數(shù)據(jù)。然后選擇該波形作為信號(hào)源,并激活基帶信號(hào)輸出。同時(shí),可能需要設(shè)置正確的采樣率,以確保符號(hào)率和采樣點(diǎn)數(shù)的匹配。例如,符號(hào)率乘以每個(gè)符號(hào)的采樣點(diǎn)數(shù)得到基帶信號(hào)的采樣率。 用戶可能還需要考慮信號(hào)的濾波和脈沖成形,比如使用根升余弦濾波器。這時(shí)候可能在儀器內(nèi)部配置濾波器參數(shù),或者在生成基帶數(shù)據(jù)時(shí)預(yù)先進(jìn)行成形濾波。如果用戶希望儀器處理成形濾波,可能需要配置相應(yīng)的濾波器設(shè)置;否則,用戶需要在生成I/Q數(shù)據(jù)時(shí)自己完成脈沖成形,比如通過(guò)卷積實(shí)現(xiàn)。 可能的錯(cuò)誤點(diǎn)包括:SCPI命令的正確性,數(shù)據(jù)格式是否正確,比如字節(jié)順序、浮點(diǎn)數(shù)的格式,塊數(shù)據(jù)傳輸?shù)母袷绞欠裾_,符號(hào)率和采樣率的匹配是否正確,以及儀器的狀態(tài)是否正確切換(比如先停止輸出,再上傳數(shù)據(jù),再啟動(dòng)輸出)。 另外,用戶可能需要考慮基帶信號(hào)的時(shí)長(zhǎng),確保內(nèi)存足夠存儲(chǔ)生成的數(shù)據(jù)。如果數(shù)據(jù)量很大,可能需要分塊傳輸,但一般SMW200A可能支持較大的波形長(zhǎng)度。 總結(jié)步驟大概是:連接儀器,生成QPSK的I/Q數(shù)據(jù),配置信號(hào)源參數(shù),上傳波形數(shù)據(jù)到儀器,啟動(dòng)輸出。需要參考儀器的編程手冊(cè)確認(rèn)具體的SCPI命令,比如設(shè)置調(diào)制方式、濾波器參數(shù)、載波頻率、功率等。同時(shí),確保生成的數(shù)據(jù)符合儀器的要求,比如數(shù)據(jù)類型、歸一化范圍等。 DeepSeek用 Python 控制羅德與施瓦茨 SMW200A 矢量信號(hào)源生成 QPSK 調(diào)制信號(hào)并發(fā)送到SMW200A內(nèi)存中的示例代碼截屏如下:
DeepSeek給出的關(guān)鍵步驟說(shuō)明如下:
DeepSeek給出注意事項(xiàng):
建議參考 SMW200A 編程手冊(cè)確認(rèn)具體SCPI命令格式,特別是關(guān)于:
如果需要更復(fù)雜的調(diào)制特征(如脈沖成形、編碼等),需要在數(shù)據(jù)生成階段或通過(guò)儀器內(nèi)置功能實(shí)現(xiàn)。 DeepSeek可以完成儀器基本控制,比如:設(shè)置頻率,功率等參數(shù)。如果需要做更深入的儀器編程控制,比如說(shuō)要獲取儀器的采集數(shù)據(jù)以及對(duì)信號(hào)做處理和對(duì)把自定義的數(shù)據(jù)自動(dòng)下載到矢量源或AWG的內(nèi)存中等復(fù)雜操作,目前DeepSeek可能需要一些提高,不能完全取代軟件工程師的崗位。我們工程師以去積極的利用AI技術(shù),在AI的輔助下提高工作效率,寫(xiě)出更高質(zhì)量的代碼。 AI并非可以解決所有的技術(shù)問(wèn)題,并非完全取代工程師。所以我個(gè)人認(rèn)為AI技術(shù)的到來(lái),并非是工程師的天就塌了。我們工程師應(yīng)該積極的去擁抱AI技術(shù),將其AI作為提升自身能力的一個(gè)強(qiáng)大工具,為我們工程師打開(kāi)一扇全新的大門(mén)。 AI與人類并非簡(jiǎn)單的取代關(guān)系,而是協(xié)同共進(jìn)的伙伴,我們可以在AI的輔助下,更加專注創(chuàng)新和探索未知的世界,勇攀科學(xué)技術(shù)的高峰。 AI的到來(lái)不是工程師的末日,而是可以使我們工程師飛翔的翅膀更加堅(jiān)定有力,開(kāi)創(chuàng)美好的未來(lái)。 END |
|
|
來(lái)自: fredli1964 > 《技術(shù)》