## 前言
此次電賽歷經波折,最終能在11月如期舉辦,通過與隊友們4天3夜的共同努力,我們成功完成了A題的所有指標。完成的作品主要由信號前級處理部分、單片機部分以及輸入輸出部分組成。信號前級處理通過AGC將信號放大到一固定的幅度,然后通過加法器對其加上偏置,單片機通過ADC采樣進行FFT并計算THD。此系統可以顯示信號波形及頻率幅值等信息。此系統還帶有移動端顯示、語音播報、屏幕拓展等功能。經過最終的調試,本系統已實現題目的基本要求和發揮部分的所有功能,部分指標高于題目要求,并具有多種實用的附加功能。
- - -
## 團隊介紹
成員全部來自大連理工大學電子信息與電氣工程學部電子信息工程專業2018級學生。其中隊長子梁大佬 是技術主力,主要負責設計、攻關,編程能力無人能及。澳哥 是實踐主力,主要負責電路設計搭建等硬件電路相關的設計。瑞瑞? ?是預備役,主要負責協助兩人完成任務。
- - -
## 項目分析
根據[比賽題目](https://res.nuedc-training.com.cn/topic/2021/topic_31.html),本題為核心為制作《信號失真度測量裝置》.基本要求為在輸入信號的峰峰值300mV~600mV,基頻1kHz,信號失真度范圍5% ~ 50%。要求測量并顯示THDx值,且且THD測量誤差絕對值≤5%,測量與顯示用時不超過10秒。
發揮部分要求輸入信號范圍擴大至30mV~600mV,基頻1kHz-100kHz,需要測量并顯示諧波的歸一化幅值,輸入信號的一個周期波形,以及THDx值,且THDx誤差不超過3%,另外還需要在手機上顯示測量裝置測得的輸入信號THDx 值、一個周期波形、基波與諧波的歸一化幅值。
通過分析題目可以看出,輸入信號需要經過放大限幅和偏置才可以由單片機采集,單片機處理后將計算得到的數據發送和顯示。另外還需要考慮到單片機的片上ADC性能,以及單片機的
浮點運算能力,所以綜合考慮,我們最終選用MSP432作為主控單元,主頻高達120MHz,擁有最大2Msps、12bit的ADC,滿足了題目對單片機性能的要求,下圖為系統的整體框圖。
![Snipaste_2021-12-09_14-08-22.png]

主體功能有:
1. 快速失真度測量,測量時間小于100ms(1KHz輸入)或8s(2Hz輸入)
2. 測量數值顯示,包括信號頻率、幅度、單周期波形、頻譜
3. 測量范圍寬,電壓范圍30mV~6V,頻率范圍2Hz~190kHz
4. 手機遠程顯示與便攜式副屏
- - -
## 原理圖電路分析
###
自動增益控制電路原理圖
![image.png]

通過調節電位器RP1,即可調節AGC最終的輸出,該模塊需要與后級偏置電路聯調,以輸出帶有偏置的較大幅度的待測信號,可以供ADC直接采集測量。
### 加法器與跟隨器電路圖
![image.png]

加法器用于給信號加偏置,便于ADC進行采集,跟隨器用于對AGC反饋電壓進行采集時的隔離,防止測量AGC反饋電壓時對AGC模塊的影響。
### MSP432E401Y拓展底板原理圖
![image.png]

該底板用于拓展TI官方的MSP432E401Y的開發板,引出按鍵、串口、ADC以及部分GPIO以供使用。
- - -
## PCB設計分析
基于原理圖繪制的信號前端處理的AGC模塊,左側為輸入信號SMA座,信號線布線時盡量不要彎折。
![image.png]

加法器跟隨器PCB,用于給信號加偏置,便于ADC進行采集,跟隨器用于對AGC反饋電壓進行采集時的隔離,防止測量AGC反饋電壓時對AGC模塊的影響。
![image.png]
該底板用于拓展TI官方的MSP432E401Y的開發板,引出按鍵、串口、ADC以及部分GPIO以供使用。如果自己腐蝕制版可以屏蔽不必要的過孔,提高制板成功率.
![image.png]
- - -
## 實物展示
![image.png]

- - -
## 作品裝配
連接電源與輸入信號的SMA信號線至
信號發生器接口即可開始測量,當需要手機顯示以及拓展屏幕顯示時,打開設備或應用會自動連接并顯示測量的數據與波形.
- - -
## 程序設計
### 程序功能描述
可以實現輸入信號在1khz-100khz,幅值30mv-600mv條件下的信號失真度測量,測量結果誤差不超過3%。并可以在測量裝置的液晶屏上顯示輸入波形的THD值、諧波的歸一化幅值、頻譜圖以及波形圖。液晶屏上顯示的結果也可以通過測量裝置的藍牙傳輸至手機上的APP進行同步顯示。
### 程序設計思路
以測量按鍵按下作為開始測量的起始信號,首先ADC1以最高采樣率2MSps測量信號,通過計數過零次數估計輸入信號的頻率,并根據信號頻率下調采樣率,逐次或跳躍下降到500kSps、125kSps、31.25kSps、12.5kSps、5kSps、625Sps、200Sps中最適宜的采樣頻率。獲得長度為1024的樣本后,進行加窗操作以改善頻譜泄露,再運行FFT算法計算輸入信號的頻譜,并讀取出各諧波的幅值,用以計算THD與各諧波的歸一化幅值。之后通過ADC1獲得AGC的反饋電壓,通過指數函數擬合推算增益值,并計算出輸入信號的真實幅值。最后順序執行THD顯示、輸入信號波形圖和頻譜圖的LCD顯示、語音播報、藍牙傳輸的程序。
### 程序流程圖
![image.png]

- - -
## 總結
通過此次電賽,每名隊友都得到了鍛煉與成長,從最開始暑假前開始備賽畫板子,正負
電源模塊和轉接板,stm32H743拓展板,AGC,
無源濾波器,陷波器,各種模塊能想到的都準備了遍,之后的每人練習一道往年的電賽題練手,在這個過程中我們也進步了很多,學到了許多經驗.每名隊友的技術也得到了精進.