1. 程式人生 > 其它 >電機噪聲之諧波分析(內附simulink中FFT分析的相關引數配置與解析)

電機噪聲之諧波分析(內附simulink中FFT分析的相關引數配置與解析)

電機噪聲之諧波分析(內附simulink中FFT分析的相關引數配置與解析)

目錄

寫在前面

宿舍持續隔離中,快遞停運,沒法搞實踐,那就搞點模擬(我才不會說是導師讓我乾的呢[手動doge])

正文

電機噪聲

一開始我覺得,電機噪聲不就是因為電機運轉起來之後,轉子不停的旋轉引起的震動,因而產生的噪聲。

後來證明我還是太嫩了,這只是從結果的角度去分析,而且只分析了人們肉眼可以看到的東西。

而且現在針對電機噪聲的研究,大致可以分類兩類:

  • 針對電機自身的結構改來改去,比如極對數,溝槽數等
  • 針對電機的控制策略角度去分析

電機的控制策略,無外乎是控制演算法和驅動硬體支援兩個。這裡只從控制演算法角度去說,硬體角度留到以後有機會再說。

諧波的產生

下面是PMSM電機FOC控制的框圖:

而我們諧波就是在:PWM變頻器中功率器件的開關動作所產生的高頻諧波電壓會在電機繞組中產生高頻諧波電流高頻諧波電流會影響電機的諧波磁場,從而導致電機產生高頻振動噪聲

也就是圖片中,PMSM與三相逆變橋之間那塊。

這下就好說了,我們想辦法抑制諧波電壓的產生不就行了,可以減少諧波電壓的幅值,或者讓諧波不集中出現。

什麼是諧波?

對了,好像還沒說,什麼是諧波?

百度百科上說:頻率等於基本頻率的整倍數的正弦波分量稱為諧波

還有人說:諧波是指對週期性非正弦交流量進行傅立葉級數分解所得到的大於基波頻率整數倍的各次分量,通常稱為高次諧波。

用人話就是說,按咱們以前的理解正弦波形是這樣子的:

但實際的我們產生用於驅動電機的電壓正弦波是這樣子的:

雖然從整體看仍然是正弦波的樣子,但實際上它是由很多正弦波合成的一個不那麼規則的正弦波。

而我們搞控制的當然想要理想的波形啊,可不能要這種東西,所以第一步我們就要先把這些諧波給找出來。

這就是這篇博文的首要目的。

傅立葉分析

提到傅立葉,大家都不陌生。

維基百科裡定義:傅立葉變換

是一種線性積分變換,用於訊號在時域(或空域)和頻域之間的變換

在時域上看不清楚的訊號,可以在頻域上看的清清楚楚。

傅立葉變換本質其實就是諧波分析,這說明諧波也是正弦波,只是每個諧波都具有不同的頻率,幅度與相角。

諧波可以區分為偶次諧波與奇次諧波,如第3、5、7次編號的為奇次諧波,而2、4、6、8等為偶次諧波。

所以說,傅立葉變化就是為諧波分析而生的。

既然目標明確,現在就是選擇使用何種工具對咱們產生的波形進行諧波分析了。

matlab中的FFT分析工具

simulink中FFT的實現方式主要有兩種:

  • 1.將模擬資料儲存至workspace後,自行編寫程式進行FFT分析。此類方法適合有客製化需求的FFT分析,需要較好的程式設計功底。
  • 2.採用simulink中內建的模擬分析工具FFT Analysis,此類方法簡單快捷,且內建工具功能全面,較一般自行編寫的FFT程式而言具有更好的操作性,故更推薦大部分人使用此種方法進行FFT分析。

第一步:開啟你要進行分析的模型

開啟你的模型之後,拖入一個powergui模組,該模組所在地址直接搜尋這個名字就行。

這裡使用的是我正在做的一個有源濾波器的模擬模型,在這裡充當一個例子,powergui模組就是畫線那個。

第二步:開啟這個模組,設定相關引數

首先設定Simulation type為Discrete,也就是分析的物件是離散的資料。

下面是取樣的時間,可以理解成取樣頻率,這裡無特殊要求不用管它,預設就行。

第三步:進入FFT分析工具

這就是FFT快速傅立葉分析的工具介面

我們把其分為四個部分分別進行講解。

第1、2部分

第1部分,就是你要分析的波形名字Name(改名字與你模型中使用的示波器儲存的名字一致)。

第2部分,number就是你要分析的波形輸入是幾個

對了,在分析之前別忘了把示波器採集到的資料儲存在工作區,步驟如下:

開啟示波器,按這個步驟進行設定,把取樣到的資料,儲存在工作區。這裡的變數名稱可以自己隨便設定,和上面保持一致就行。

第3、4部分

引數設定:

  • Start time就是分析的開始時間

  • Number of cycles指的是採集的波形中,你要進行FFT分析的波形是幾個,這裡設定的是1個,也就是紅色的那段波形。

  • Fundamental frequency (Hz)基礎頻率,就是你想要的用來充當基準的頻率,也就是理想波形的頻率

  • Max frequency (Hz)最大頻率,就是左邊圖中橫座標最大值,也是你要分析的諧波包括多少頻率在內

  • Max frequency for THD computation這裡有兩個選項

    用來計算THD時,要算多少頻寬內的諧波,什麼是THD後面再說,這裡設定成Same as Max frequency就行,而另一個選項是指取樣頻率的一半(奈奎斯特頻率),也就是一開始進入powergui的設定的那個引數

  • Display style指的是左邊顯示的是什麼型別的

    有柱形圖,還有列表。

  • Frequency axis指的是橫座標是直接顯示頻率,還是基礎頻率的倍數

設定完這些引數,點選Display就可以了。

THD

百度百科定義:總諧波失真(THD)指音訊訊號源通過功率放大器時,由於非線性元件所引起的輸出訊號比輸入訊號多出的額外諧波成分。諧波失真是由於系統不是完全線性造成的,我們用新增加總諧波成份的均方根與原來訊號有效值的百分比來表示。

在我看來:THD引數代表意義,THD越低越接近正弦波,就說明諧波含量越少,輸出的波形質量就越高

計算公式如下:

以上便是針對諧波,使用matlab的FFT工具進行分析的大致步驟。

諧波分析之後

分析完諧波之後,就可以有針對的對相關諧波進行抑制,具體抑制方法也有很多,現在我在嘗試的有:

  • 無源濾波器
  • 有源濾波器
  • 諧波提取與抑制
  • 載波調製

以後有機會再接著聊。

最後祝大家早安,午安和晚安!希望疫情早點過去,希望世界和平!