??在前幾天分析了 STC32 單片機中 利用 DMA 采集 256 個 ADC數據所需要的時間分析。這個時間與 ADC的四個階段對應的 ADC時鐘有關系。同時再加上 16個系統時鐘的 DMA數據傳輸時間。但是后來,經過仿真測試,發現DMA 傳輸數據所消耗的系統時鐘應該是 18個。這樣經過軟件仿真所得到的采集信號的波形,與實際采集數據的波形才一致。所以最終,STC32的 ADC加上 DMA數據傳輸對應的系統時鐘公式應該是現在這個表達式。利用它可以得到正確的 ADC 采樣頻率。


▲ 圖1.1.1 利用上面公式,在系統頻率為25MHz,ADC分頻系數為2(對應六分頻)采集150kHz信號256個數據波形??計算 150kHz的導航信號使用的計算公式實際上是單點的 傅里葉變換。也就是計算在信號歸一化采樣頻率點處的 傅里葉幅度。其中 D 是采集到的 256個數據。ts 是采樣時間間隔。下面繪制出 不同的信號頻率對應的計算幅值。這樣可以檢查一下這個諧波幅度計算公式對應的頻率特性。

??繪制信號頻率從10kHz變化到400kHz,利用上述采集頻率所獲得的數據計算出的信號頻率幅值。可以看到對于不同的頻率,計算得到的幅值各不相同。最低的頻率是 4.54kHz,可以得到一個檢測峰值。接下來兩個峰值就變化到 150kHz附近。當頻率接近于 150kHz的時候獲得了一個峰值。增加了大約 9kHz之后,對應第二個峰值。每個峰值都包括一個主瓣和許多副瓣。?根據主瓣兩個零點頻率,可以知道主瓣的頻率寬度大約為 1200Hz。



center>▲ 圖1.2.1 不同頻率的信號計算出的信號幅值
??接下來,在對電機PWM波形對于導航信號干擾進行討論。實驗中,PWM 波形使用的是方波信號。這是一個奇諧對稱波形。也就是只具有奇次諧波,沒有偶次諧波。從實際測量的數據來看。這些干擾峰值頻率的奇次諧波都落在 150kHz內。同樣也存在著偶次諧波落在 150kHz內的干擾峰值。這是因為PWM實際波形并不是完美的方波信號。此外,很有意思的是,可以看到除了奇次諧波和偶次諧波之外,還有一些額外的干擾峰。這些額外的干擾峰實際上與前面分析過程中,在150kHz處呈現間隔為 9kHz的雙峰有關系。由于實際電路中,在前端接收回路存在 LC 選頻回路,所以對于 159kHz的峰值有抑制,所以在實際干擾圖中,這個雙峰就只剩下一個峰值了。在后面干擾頻率中,雙峰的一個與偶次諧波逐漸重合,最后都變成一個干擾峰值了。只要合理選擇 PWM 頻率,可以避免對于 電磁導航模塊的干擾。

??最后再討論一下干擾峰值帶寬.這是 17倍頻對應的150kHz的 PWM 干擾頻率, 對應大約 8830Hz 左右.底部頻帶寬度大約為 120Hz。這個帶寬與前面對解調頻率的主瓣寬度相對應。主瓣寬度大約為 1200Hz,它的十分之一對應的前面的干擾帶寬。考慮到這是對應的 17倍頻的干擾,理應除以 17。所以實際上,對應的干擾帶寬也包含有主瓣相鄰的兩個旁瓣帶寬。這樣就對得上實際測量所得到的 120Hz的干擾頻帶寬度了。

本文討論了 電機PWM波形對導航模塊造成的干擾問題。這些干擾頻率實際上都是對應的 150kHz除以 奇數頻率。如果需要完整的解釋這些干擾峰值,需要對實際諧波信號幅值計算方法結合在一起才行。這些分析對選擇電機PWM頻率提供理論支持。
