電機雜訊之諧波分析(內附simulink中FFT分析的相關參數配置與解析)

来源:https://www.cnblogs.com/iron2222/archive/2022/05/14/16269383.html
-Advertisement-
Play Games

電機雜訊之諧波分析(內附simulink中FFT分析的相關參數配置與解析) 寫在前面 宿舍持續隔離中,快遞停運,沒法搞實踐,那就搞點模擬(我才不會說是導師讓我乾的呢[手動doge]) 正文 電機雜訊 一開始我覺得,電機雜訊不就是因為電機運轉起來之後,轉子不停的旋轉引起的震動,因而產生的雜訊。 後來證 ...


電機雜訊之諧波分析(內附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工具進行分析的大致步驟。

諧波分析之後

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

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

以後有機會再接著聊。

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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 嗨害嗨,作業來嘍 背包問題 01背包和完全背包問題都是一個背景下的:我有一個容量為M的背包,現在地上有N個物品,我跟個小偷似的眼裡只有i個物品的價值vi和重量wi,現在我要做的就是為了偷的東西更值錢拿走一些東西,使它們的價值是所有方案里最大的 01背包 背景如上,01背包就是我眼前的這些東西都是孤品 ...
  • 超鏈接(Hyperlink)可以看做是一個“熱點”,它可以從當前Web頁定義的位置跳轉到其他位置,包括當前頁的某個位置、Internet、本地硬碟或區域網上的其他文件,甚至跳轉到聲音、圖片等多媒體文件。瀏覽Web頁是超鏈接最普遍的一種應用,通過超鏈接還可以獲得不同形態的服務,如文件傳輸、資料查詢、電 ...
  • 1. 效果展示 先來直接欣賞效果: 2. 準備 創建一個WPF工程,比如站長使用 .NET 7 創建名為 Dashboard3 的WPF項目,添加一些圖片資源,項目目錄如下: 2.1 圖片資源 可在網站 iconfont 下載 關閉、最小化 圖標,用於視窗右上角顯示: 有看到美女圖片沒?在百度圖片或 ...
  • 一:什麼是時間旅行 簡而言之就是把程式的執行流拍成vlog,這樣就可以對 vlog 快進或者倒退,還可以分享給別人做進一步的分析,是不是想都不敢想。 很開心的是 windbg preview 版本中已經實現了,叫做 時間旅行調試 TTD,相比傳統的 靜態分析 不知道好多少倍。 為了能提起大家興趣,我 ...
  • 分享一個登錄界面,先看效果圖: 準備 文中使用到了一些圖標: 我們可以從 iconfont免費下載: 代碼簡單說明 請隨手創建一個WPF項目(.NET Framework、.NET 5\6\7皆可),使用tree /f命令看看最終的文件結構,和上面的截圖一致: C:. │ ModernLoginPa ...
  • Environment Modules: provides dynamic modification of a user's environment 一個可以動態修改用戶環境的工具 ...
  • ll命令 ll命令顯示的參數 如下是對每一列的參數的解釋 第一列為文件類型 參數符號 類型 "-" 普通文件 "d" 是個目錄文件 "l" 鏈接文件 "p" 管道文件 "b" 設備文件 "c" 字元設備文件 "s" 套接字文件 普通文件類型 最常使用的一類文件,其特點是不包含有文件系統信息的結構信息 ...
  • NE555 的電氣特性 555系列有幾種不同的規格 NE555是民用版本, 推薦的工作溫度是 0 - 70 NA555, SA555, SE555 是工業版本, 推薦工作溫度為 -40 - 100 電壓: 最高18V, 推薦工作電壓15V以內 電流: Pin3 輸出電流支持 ±225 mA, 推薦的 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...